Skip to main content

AEROSIM-TS-106

Project task

Initialize the session with the confirmed camera

The first rendered flight frame uses the camera confirmed during pre-flight.

AEROSIM-TS-106Canonical ID TASK-0106
Verified flow state
Done
Owner
AeroSim Architecture and Delivery
Component
Web Application — Flight shell to R3F flight scene camera boundary
Repository
corp-v1-aerosim/corp-v1-aerosim

Delivery scope

Add CameraSnapshot to FlightLaunchConfiguration; resolve cameraId against the same registry version before session allocation; construct and activate that camera before the first flight frame; and publish InitialCameraState with cameraId, registryVersion, and firstFrameSequence.

Implementation contract

Implementation artifacts

  • applications/web/src/session/launch/camera-launch-adapter.ts
  • applications/web/src/flight/camera/initialize-first-frame-camera.ts
  • applications/web/test/session/camera-launch-adapter.spec.ts

Inputs

  • A confirmed CameraSnapshot and the current camera registry.
  • A flight-scene initialization command before frame sequence zero.

Outputs

  • An immutable launch camera snapshot.
  • InitialCameraState proving the confirmed camera was active for the first rendered flight frame.

Failure boundaries

  • Missing confirmation, unknown cameraId, or registry-version mismatch aborts launch with invalid_initial_camera before session activation.
  • Camera construction failure aborts frame scheduling and does not substitute a default camera.

Excluded scope

  • The task does not alter camera behavior after the first rendered flight frame.
  • Automatic launch retry and fallback-camera selection are excluded.

Verification steps

  • Run applications/web/test/session/camera-launch-adapter.spec.ts and assert cameraId equality through confirmation, launch, and InitialCameraState.
  • Assert the selected camera is active before frame sequence zero is emitted.
  • Inject stale, unknown, and construction-failure cases; assert no active session, no flight frame, and no fallback camera.

Traceability

Requirements

Dependencies

Acceptance evidence

Verified delivery: application PR #168 reviewed head 67dbc6e42d51780b99e9992aee5a0c32e0a58c58 merged as c7977dca4f654036fa4f217e955e2339ffafde78. The immutable confirmed CameraSnapshot is retained by exact identity in FlightLaunchConfiguration; cameraId is resolved against the same registry before session allocation; the exact camera is constructed and activated before first frame sequence 0; and missing, cloned, unknown, stale, construction-failure, activation-failure, and render-failure paths abort without an active session, rendered frame, or fallback camera. Focused camera and launch tests pass 312/312; the full web suite passes 1312/1312 plus all browser flight suites; lint, typecheck, formatting, security, container contract, production build, production dependency audit, candidate CI run 4744 attempt 2, integration validation run 4748 attempt 1, and immutable image publication run 4747 attempt 2 passed. Harbor readback resolved Nebula digest sha256:61cc5740b1d17ea8bbe18b0b1f1433775be491be4ac6ff7b21ae850587d8ad0e and Singularity digest sha256:5d0358e88cebb8e305a0ed33f66c014c94b1048b40f3181695df2947d7d9eda8 for the exact integration revision. Release completion verified on product 1.0.0.0 at GitOps revision 5d3712d89dfbf7dacd993348e55f497d126c7bf9 with Argo Synced/Healthy, exact image digests, authenticated API/database access, and three-world configured-flight acceptance.

Current evidence boundary

No current implementation, acceptance, release, or deployment evidence is claimed for this planned Task. Any prior implementation may be used only as prototype and discovery evidence.