Functional requirements
This registry is rendered from the canonical YAML requirement records. Open an individual requirement for its statement, allocation, verification details, and task traceability.
FR-0001Proposedcompute flight forces
The system shall calculate lift, drag, thrust, and gravity for each supported simulation step.
FR-0002Proposedadvance aircraft motion
The system shall advance aircraft position, velocity, and attitude from net force and moments.
FR-0003Proposeddetect world contact
The system shall detect supported ground and obstacle contact.
FR-0004Proposedrespond to world boundaries
The system shall present a bounded, recoverable response to collision and world limits.
FR-0005Proposedaccept continuous controls
The system shall accept continuous pitch, roll, yaw, and thrust values during flight.
FR-0006Proposedapply control response
The system shall apply valid control changes to subsequent aircraft motion.
FR-0007Proposedpresent essential aircraft state
The system shall present attitude, speed, altitude, heading, and control position.
FR-0008Proposedpresent response and warnings
The system shall present timely control-response cues and warnings.
FR-0009Proposedcomplete and restart free flight
The system shall produce a clear free-flight outcome or abort and restart from the initial state.
FR-0010Proposedlist supported scenes
The system shall list each supported flying scene with an identifiable name and description.
FR-0011Proposedapply chosen scene
The system shall load the chosen scene for the next session.
FR-0012Proposedlist supported aircraft
The system shall list each supported aircraft with identifiable characteristics.
FR-0013Proposedapply chosen aircraft
The system shall apply the chosen aircraft model and flight parameters.
FR-0014Proposedguide training progress
The system shall present the current training objective and observable progress.
FR-0015Proposedpresent training result and retry
The system shall present training feedback and allow retry from the initial state.
FR-0016ProposedExperience Different Aircraft Handling Characteristics
The system shall represent meaningful differences in stability, responsiveness, speed, and control authority.
FR-0017ProposedExperience Environmental Conditions Affecting Flight
The system shall apply selected wind, visibility, and environmental conditions to aircraft and world.
FR-0018ProposedRecover From or Conclude Invalid Flight States
The system shall handle crashes, out-of-bounds states, and unrecoverable conditions clearly.
FR-0019ProposedFly Using the Primary Chase Camera
The system shall provide the primary full-screen chase-view flight experience.
FR-0020ProposedPause and Resume a Flight
The system shall suspend active simulation and resume without losing context.
FR-0021ProposedChange to Secondary Camera Views
The system shall change supported camera views without losing control continuity.
FR-0022ProposedChoose Flight and Environmental Conditions
The system shall select supported flight presets and environmental conditions.
FR-0023ProposedConfigure and Verify Flight Controls
The system shall choose an input method and verify essential controls before launch.
FR-0024ProposedSelect the Initial Camera
The system shall choose the supported camera active when flight begins.
FR-0025ProposedReview the Pre-Flight Summary and Launch
The system shall review the complete setup and deliberately launch one session.
FR-0026ProposedSelect and Begin a Training Lesson
The system shall inspect a lesson objective and begin its training scenario.
FR-0027ProposedReceive Objectives and Guidance During Flight
The system shall receive timely objectives, cues, and feedback for the active lesson.
FR-0028ProposedEvaluate Lesson Performance
The system shall evaluate a completed lesson against its stated outcomes.
FR-0029ProposedRetry Incomplete Exercises
The system shall restart an incomplete exercise from a known training state.
FR-0030ProposedTrack Training Progress and Receive the Next Recommendation
The system shall persist lesson progress and identify the next relevant practice.
FR-0031ProposedReview a Flight Debrief
The system shall review a coherent summary after a flight concludes.
FR-0032ProposedReview Meaningful Flight Metrics
The system shall interpret governed duration, altitude, smoothness, and outcome measures.
FR-0033ProposedInspect the Flight Timeline and Important Events
The system shall inspect ordered material events from the completed flight.
FR-0034ProposedMaintain a Personal Flight Logbook
The system shall store and retrieve the authenticated pilot’s flight summaries.
FR-0035ProposedTrack Progress Across Completed Flights
The system shall see explainable progress from governed flight and training results.
FR-0036ProposedRetry the Flight or Follow a Recommended Next Action
The system shall continue from the reviewed result through a relevant action.
FR-0037ProposedAccess AeroSim Through Keycloak SSO
The system shall authenticate through Keycloak without registration or local credentials.
FR-0038ProposedCreate a Pilot Profile From the Authenticated Identity
The system shall resolve one AeroSim pilot profile for the Keycloak subject.
FR-0039ProposedPreserve Pilot Preferences and Settings
The system shall store and restore supported personal preferences.
FR-0040ProposedSave Flight and Training Progress
The system shall persist governed flight, lesson, and progression state.
FR-0041ProposedResume the Player’s Most Recent Activity
The system shall continue from the most recent valid resumable state.
FR-0042ProposedBrowse the Available Aircraft Collection
The system shall discover governed aircraft in the Hangar.
FR-0043ProposedInspect Aircraft Specifications and Handling Characteristics
The system shall understand meaningful attributes and handling differences.
FR-0044ProposedCompare Aircraft
The system shall compare available aircraft through consistent attributes.
FR-0045ProposedSelect an Active Aircraft
The system shall save a supported chosen aircraft as the pilot’s active default.
FR-0046ProposedSave Aircraft-Specific Preferences
The system shall store supported settings for one pilot and aircraft.
FR-0047ProposedPersonalize Supported Aircraft Attributes
The system shall apply approved visual or configuration personalization.
FR-0048ProposedIntroduce the Nebula Frontend Foundation
The system shall establish React, Vite, TypeScript, and Stardust.
FR-0049ProposedIntroduce the Singularity Backend Foundation
The system shall establish Fastify and TypeScript for APIs and business logic.
FR-0050ProposedIntroduce Persistent Data Management
The system shall establish PostgreSQL and Prisma for governed persistent records.
FR-0051ProposedIntroduce Real-Time Communication
The system shall establish Socket.IO with shared typed contracts.
FR-0052ProposedIntroduce the 3D Rendering Runtime
The system shall establish Three.js and React Three Fiber for browser flight rendering.
FR-0053ProposedIntroduce the Flight Physics Runtime
The system shall establish Rapier and @react-three/rapier for deterministic physics.
FR-0054ProposedIntroduce the Terrain Pipeline
The system shall establish heightmap terrain and aligned Rapier collision.
FR-0055ProposedIntroduce the 3D Asset Pipeline
The system shall establish governed glTF/GLB sourcing, licensing, provenance, and optimization.
FR-0056ProposedIntroduce XR Capabilities
The system shall establish WebXR and @react-three/xr as progressive enhancements.
FR-0057ProposedIntroduce Keycloak Identity Integration
The system shall establish Keycloak SSO without registration or local credentials.
FR-0058ProposedIntroduce Automated Engineering Validation
The system shall establish tests, linting, type checking, and production builds.
FR-0059ProposedIntroduce the Delivery Runtime
The system shall establish Docker, Helm, Harbor, Gitea Actions, and Argo CD GitOps.
FR-0060ProposedSeparate fast CI from reusable release qualification
The delivery system shall provide a fast exact-head merge-quality gate and one reusable exact-candidate release qualification whose evidence is verified by credentialed publication without duplicate validation.
FR-0061ProposedProvide AeroSim-owned lightweight runtime geometry
The system shall provide deterministic, independently authored, lightweight aircraft and world GLBs that preserve governed production identities, anchors, landmarks, and interaction contracts within explicit runtime budgets.