AEROSIM-TS-101
Expose the required mapping for the selected input method
Selecting a supported input method shows its complete required control mapping before launch.
- Verified flow state
- Done
- Owner
- AeroSim Architecture and Delivery
- Feature
- AEROSIM-FT-16
- Component
- Web Application — Input controller
- Repository
- corp-v1-aerosim/corp-v1-aerosim
Delivery scope
Define InputMethodId, ControlActionId, and ControlMapping records; derive the pre-flight mapping view from the same versioned profile consumed by the flight input controller; require one binding for each essential action; and invalidate confirmation whenever method, device identity, mapping version, or binding changes.
Implementation contract
Implementation artifacts
- applications/web/src/input/control-profile.ts
- applications/web/src/preflight/controls/ControlMappingPanel.tsx
- applications/web/test/preflight/control-mapping-panel.spec.tsx
Inputs
- The declared input compatibility matrix and versioned control profiles.
- A selected supported input method and optional connected-device identifier.
Outputs
- A complete ordered mapping of essential ControlActionId values to physical bindings.
- A ControlProfileDraft carrying methodId, deviceId, mappingVersion, and confirmation state.
Failure boundaries
- Unsupported method, duplicate essential binding, missing essential action, or profile-version mismatch produces an explicit profile validation code and cannot be confirmed.
- Disconnecting or changing the selected device invalidates the current confirmation.
Excluded scope
- Player-defined remapping and profile persistence between browser sessions are not included.
- This task displays mapping data but does not accept live diagnostic samples.
Verification steps
- Run applications/web/test/preflight/control-mapping-panel.spec.tsx for every method in the declared matrix.
- Assert the displayed essential-action bindings equal the controller profile records exactly.
- Remove an action, duplicate a binding, change mappingVersion, and change device identity; assert confirmation is unavailable or invalidated.
Traceability
Requirements
Dependencies
- AEROSIM-TS-96Canonical ID: TASK-0096
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 #142 reviewed head 4d45d4b merged as 8b4a33ce. Deterministic near/mid/far geometry and material profiles use governed thresholds and hysteresis, support direct distance jumps, retain the last valid profile on invalid distance, reject unsafe configuration, and do not mutate committed aircraft or camera state. Focused tests pass 5/5; web tests pass 1,119/1,119 plus browser suites; lint, typecheck, build, audit, candidate runs 4412-4413, and integration/publication runs 4414-4415 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.