Skip to main content

AEROSIM-TS-4

Project task

Project authoritative aircraft state into flight instruments

Attitude, speed, altitude, heading, and control position remain visible and update from the authoritative flight state.

AEROSIM-TS-4Canonical ID TASK-0004
Verified flow state
Done
Owner
AeroSim Architecture and Delivery
Component
Web Application — flight-state projection and instrument presentation
Repository
corp-v1-aerosim/corp-v1-aerosim

Delivery scope

Implement applications/web/src/flight/instruments/aircraft-state-projection.ts, applications/web/src/flight/instruments/flight-instruments.tsx, applications/web/test/flight/flight-instruments.browser.spec.ts. Consume only the inputs listed in this contract, publish only its listed outputs, enforce every failure boundary before commit, and prove the listed exclusions remain unchanged through the verification steps.

Implementation contract

Implementation artifacts

  • applications/web/src/flight/instruments/aircraft-state-projection.ts
  • applications/web/src/flight/instruments/flight-instruments.tsx
  • applications/web/test/flight/flight-instruments.browser.spec.ts

Inputs

  • Committed AircraftState { attemptId, stepIndex, orientation, speedMps, altitudeM, headingDeg, appliedControls } from flight-core.
  • InstrumentFormatConfig defining units, precision, valid ranges, staleAfterMs, and the declared update/latency limit.

Outputs

  • FlightInstrumentModel { attemptId, sourceStep, attitude, speed, altitude, heading, controlPositions, validity, updatedAt } calculated without storing independent physics state.
  • One rendered instrument frame for each accepted model, labelled with its sourceStep for test correlation.

Failure boundaries

  • Reject stale, regressing-step, mismatched-attempt, or non-finite AircraftState and render an explicit invalid-data state instead of carrying values forward as current.
  • Clamp only display-domain formatting such as heading wrap; do not repair or overwrite authoritative aircraft values.
  • Fail the contract when a valid model omits any required field, renders from a different sourceStep, or exceeds the configured update/latency limit.

Excluded scope

  • Warning severity classification and warning prioritization.
  • Flight-control acquisition/application, camera composition, and session lifecycle changes.

Verification steps

  • Run applications/web/test/flight/flight-instruments.browser.spec.ts with a fixed state trace and assert attitude, speed, altitude, heading, and control positions match each authoritative sourceStep and configured formatting.
  • Assert the projection performs no writes to flight-core and contains no integrator or independently advanced aircraft values.
  • Inject stale/regressing/mismatched and NaN/Infinity states; assert explicit invalid-data presentation, no stale value presented as current, and configured update/latency limits across every declared browser fixture.

Traceability

Dependencies

UI/UX applicability

non_visual

This Task owns technical or behavioral acceptance and does not claim direct visual conformance to the approved UI/UX package.

Acceptance evidence

Verified delivery: application PR #138 reviewed head 542158aecd425c38861b9c9f7ea59db41178da99 merged as ebc6ab83f372c18925699f8d97bd362a3839695e. The immutable projection and rendered instrument frame preserve attempt/source-step correlation; present attitude, speed, altitude, heading, and all applied controls; reject stale, regressing, mismatched-attempt, non-finite, out-of-range, incomplete, and over-budget inputs without presenting retained values as current; and wrap rounded headings correctly. Focused tests pass 5/5; web tests pass 1,104/1,104 plus invalid-action 11/11 and environment-presentation 27/27; integration tests pass 137/137; formatting, lint, typecheck, production build, dependency audit, exact-head CI run 4365, and integration/publication runs 4366-4367 passed. 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.