Skip to main content

AEROSIM-TS-98

Project task

Present and select supported flight and environment presets

The pre-flight configurator exposes validated condition options as one governed selection state.

AEROSIM-TS-98Canonical ID TASK-0098
Verified flow state
Done
Owner
AeroSim Architecture and Delivery
Component
Web Application — Pre-flight configurator
Repository
corp-v1-aerosim/corp-v1-aerosim

Delivery scope

Define ConditionSelection with presetId, windVectorMps, visibilityM, turbulenceLevel, timeOfDay, and weatherCode; project supported presets into the pre-flight condition form; validate finite ranges and preset-compatible combinations on every edit; and retain the last valid draft until the player confirms a new revision.

Implementation contract

Implementation artifacts

  • applications/web/src/preflight/conditions/condition-selection.ts
  • applications/web/src/preflight/conditions/ConditionSelector.tsx
  • applications/web/test/preflight/condition-selector.spec.tsx

Inputs

  • The condition catalogue version and its supported preset records.
  • A draft ConditionSelection and an edit command for one condition field.

Outputs

  • A validated condition draft with catalogueVersion and monotonically increasing revision.
  • A confirmed immutable ConditionSnapshot containing every displayed condition value.

Failure boundaries

  • An unknown preset, non-finite numeric field, out-of-range value, or incompatible field combination returns a field-specific validation result and does not replace the last valid draft.
  • A catalogue-version change invalidates confirmation made against the prior catalogue and requires reconfirmation.

Excluded scope

  • Weather simulation and aerodynamic force calculation are owned by AEROSIM-FT-10.
  • This task does not create a flight session or persist condition choices between browser sessions.

Verification steps

  • Run applications/web/test/preflight/condition-selector.spec.tsx and prove every catalogue option round-trips to the displayed form.
  • Inject an unknown preset, NaN wind component, boundary violation, incompatible combination, and catalogue-version change; assert rejection and preservation of the last valid draft.
  • Confirm a valid draft, edit it afterward, and assert the emitted ConditionSnapshot remains unchanged.

Traceability

Requirements

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: EP5-FT15-T01: application PR #116 merged the reviewed ConditionSelection state machine and ConditionSelector as 8685927ed3437eefb7a76e51fa41f27b191c48d7 after RootAtSkic approved FT-15 solution/implementation and the TASK-0098 UI package in Discord message 1547161616746024970; 12 focused tests prove every catalogue option round-trips, unknown presets, non-finite wind, range violations, incompatible combinations, catalogue drift, monotonic revisions, immutable snapshots, and pre-flight integration without session creation; full repository validation, exact-head CI, integration validation, image build, and immutable publication passed in Actions runs 4167, 4168, and 4169. 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.