galata. GitHub ↗

Proposed end-product features

Planning status: PROPOSED. This document defines a candidate end product; it does not change the implemented capability or validation status of galata v0.3.0. The current contract remains the README, operating guide, roadmap and verification report. Completing a feature would not, by itself, establish aircraft validity, handling-quality compliance or tool qualification.

The proposed target is an offline desktop workbench for fixed-wing flight dynamics and control engineering, with a Simulink-style executable block-model editor and the same computations available through the CLI and C++ library. This does not propose universal Simulink compatibility or full feature parity; the Simulink-style feature plan sets out the selected semantics and staged scope. An engineer would be able to import a model, establish its applicable conditions, trim and linearise it, design continuous or sampled control, simulate nominal and adverse cases, compare evidence and deliver a reproducible review package. SITL and HIL would be later integrations. Onboard software and approval of flight hardware would remain separate products and activities.

This is a scope proposal, not a delivery estimate. Must v1 denotes a release requirement for that target, Next denotes an optional subsequent increment, and Research denotes work without a product implementation commitment. Milestones indicate the earliest planned acceptance point, not calendar dates:

Milestone Proposed outcome
M0 Close the audit findings that can produce misleading or unsafe conclusions.
M1 Establish numerical benchmarks, data contracts and explicit evidence requirements.
M2 Deliver a desktop vertical slice, including basic executable block models, using the existing local aircraft workflow.
M3 Add the selected aircraft-model, control and simulation depth.
M4 Complete campaigns, comparisons and engineering review.
M5 Accept, package and support the product on its declared platforms.

Dependencies below refer to feature IDs. An epic can begin before its dependencies finish, but cannot pass acceptance while a required dependency is unresolved. Every numerical acceptance comparison would name an independent reference and a justified error budget before results are accepted. Proposed acceptance requirements below are targets, not measurements of current code.

Numerical trust and engineering contracts

F01 — Trustworthy result states and numerical failure handling

Must v1 · M0 · Dependencies: none

F02 — Independent numerical benchmark and regression programme

Must v1 · M1 · Dependencies: F01

F03 — Typed states, units, frames and interconnection identity

Must v1 · M1 · Dependencies: F01

Aircraft and source data

F04 — Model ingestion, source data and import diagnostics

Must v1 · M1 · Dependencies: F03

F05 — Scheduled aerodynamic tables and explicit validity domains

Must v1 · M3 · Dependencies: F02, F04

F06 — Mass properties, propulsion and configuration models

Must v1 · M3 · Dependencies: F03, F04, F05

F07 — Aircraft evidence packs and model adequacy review

Must v1 · M3 · Dependencies: F02, F04, F05, F06

Trim, linearisation and analysis

F08 — Constrained equilibrium and manoeuvre trim

Must v1 · M3 · Dependencies: F02, F03, F06

F09 — Trim continuation and envelope maps

Must v1 · M3 · Dependencies: F05, F07, F08

F10 — Linearisation and local model reduction

Must v1 · M3 · Dependencies: F02, F03, F05, F08

F11 — Modes, root locus and classification confidence

Must v1 · M3 · Dependencies: F01, F02, F10

F12 — Frequency analysis and defensible robustness assessment

Must v1 · M3 · Dependencies: F01, F02, F03, F10

Controller design and execution semantics

F13 — Continuous control-design workspaces

Must v1 · M2 · Dependencies: F02, F03

F14 — Discrete models and sampled LQR

Must v1 · M3 · Dependencies: F02, F03, F10, F13

F15 — Practical PID design, tracking and anti-windup

Must v1 · M3 · Dependencies: F03, F13, F14, F20

F16 — Measurement models and linear state estimation

Must v1 · M3 · Dependencies: F02, F03, F14, F20

F17 — Sampling, delay and executable controller timing

Must v1 · M3 · Dependencies: F03, F14, F16, F19

F18 — Scheduled controllers and transition assessment

Must v1 · M3 · Dependencies: F09, F13, F14, F17

Time-domain studies and hardware effects

F19 — Scenario commands, events and reference trajectories

Must v1 · M3 · Dependencies: F03, F08

F20 — Actuator, sensor and failure-effect components

Must v1 · M3 · Dependencies: F02, F03, F19

F21 — Wind, gust and atmospheric disturbance scenarios

Must v1 · M3 · Dependencies: F02, F03, F05, F19

F22 — Numerical convergence and simulation evidence

Must v1 · M3 · Dependencies: F02, F10, F17, F19, F20, F21

Campaigns and engineering assessment

F23 — Parameter uncertainty and experiment design

Must v1 · M4 · Dependencies: F04, F07, F09, F22

F24 — Campaign execution, resume and resource control

Must v1 · M4 · Dependencies: F23, F27, F32, F35

F25 — Handling-quality and performance criteria

Must v1 · M4 · Dependencies: F07, F11, F12, F18, F22, F24

F26 — Measured-data alignment and model assessment

Must v1 · M4 · Dependencies: F04, F07, F22, F31

Desktop workflow, projects and review

F27 — Portable project workspaces and schema migration

Must v1 · M2 · Dependencies: F03, F04, F35

F28 — Desktop study editor and end-to-end vertical slice

Must v1 · M2 · Dependencies: F01, F13, F27, F32, F39, F42, F46

F29 — Interactive engineering plots and linked inspection

Must v1 · M2 · Dependencies: F01, F28, F35

F30 — Model, controller and result comparison

Must v1 · M4 · Dependencies: F03, F18, F27, F29, F35

F31 — Engineering review packages and acceptance records

Must v1 · M4 · Dependencies: F24, F25, F29, F30, F35

Automation, delivery and sustainment

F32 — One automation contract across desktop, CLI and C++

Must v1 · M2 · Dependencies: F01, F03, F04

F33 — Offline operation, data boundaries and import containment

Must v1 · M5 · Dependencies: F04, F27, F28, F32

F34 — Installers, upgrades and release acceptance

Must v1 · M5 · Dependencies: F02, F28, F31, F33, F36

F35 — Provenance, replay and immutable result lifecycle

Must v1 · M1 · Dependencies: F01, F04

F36 — Operating guidance, diagnostics and maintenance ownership

Must v1 · M5 · Dependencies: F02, F31, F32, F35

Subsequent integrations

F37 — SITL and recorded external-controller execution

Next · M5 or later · Dependencies: F17, F19, F20, F22, F32, F33

F38 — HIL interface feasibility and measured hardware comparison

Research · M5 or later · Dependencies: F20, F26, F33, F37

Executable visual block modelling

The following epics extend the proposed v1 scope in response to the request for Simulink-style features. They describe specific engineering workflows, not a claim to implement another product's complete block catalog, solver semantics, file formats or generated-code toolchain. A visual model would compile to a reviewable execution representation shared by desktop and headless runs.

F39 — Typed signal-flow canvas and model compilation

Must v1 · M2 · Dependencies: F03, F32

F40 — Hierarchical subsystems and reusable model libraries

Must v1 · M3 · Dependencies: F39, F41, F42

F41 — Data dictionaries, configurations and model variants

Must v1 · M2 · Dependencies: F27, F39

F42 — Bounded standard block palette and block contracts

Must v1 · M2 · Dependencies: F02, F39

F43 — Continuous, discrete and multirate block execution

Must v1 · M3 · Dependencies: F14, F17, F39, F42, F46

F44 — Execution inspection, checkpoints and replayable tuning

Must v1 · M4 · Dependencies: F19, F22, F29, F39, F41, F43

F45 — Model test harnesses, assertions and scenario coverage

Must v1 · M4 · Dependencies: F24, F25, F39, F43, F44

F46 — Algebraic-loop detection and fail-closed execution

Must v1 · M2 · Dependencies: F01, F39, F42

Next · M5 or later · Dependencies: F04, F39, F41, F43, F45

F48 — Explicit state machines and supervisory logic

Next · M5 or later · Dependencies: F17, F39, F43, F45

F49 — Restricted C/C++ generation and SIL equivalence

Next · M5 or later · Dependencies: F02, F32, F37, F43, F45

Deliberate deferrals and promotion criteria

These capabilities could extend the end product. They are excluded from the Must v1 acceptance above; listing them does not imply an implementation plan.

Candidate Proposed disposition and reason Evidence needed before promotion
H-infinity synthesis, structured MIMO robustness and mu analysis Research after F12. Existing norm analysis does not provide a robust synthesis solver or structured-uncertainty certificate. A selected formulation, independent benchmark collection, conditioning/failure policy and engineer-reviewed application case.
General implicit algebraic-loop and descriptor/DAE solvers Research after F46. Detecting an unsupported loop is a bounded v1 feature; solving arbitrary implicit dynamics changes the numerical contract. A selected equation class, consistent-initialization strategy, independent difficult benchmarks and unresolved/failure semantics.
Model predictive control and nonlinear optimisation-based control Research after F14/F17/F20. Constraint feasibility, numerical failure recovery and execution budgets create a separate solver/runtime scope. An explicit offline or real-time use case, independent solver references, infeasibility policy and constrained closed-loop evidence.
Nonlinear estimators and automated system identification Next after F16/F26. Linear estimation and transparent measured-data comparison establish the necessary contracts first. Identifiable/observable cases, calibration and holdout partitions, uncertainty assessment, independent references and failure diagnostics.
Rotorcraft, VTOL transition, aeroelasticity and high-angle-of-attack flight Separate model programmes after F07. These require new states, physics, data and applicability evidence; the fixed-wing local model cannot inherit them by adding interface fields. Rights-cleared datasets, model adequacy criteria, independent response evidence and specialist review for the selected vehicle class.
C/plugin ABI and third-party model extensions Next after F03/F32/F33. Public contracts and failure containment should stabilize before freezing an extension boundary. A concrete integration need, version/ownership policy, conformance tests and untrusted-extension execution design.
Python bindings or MCP automation Next after F32. Additional clients should use a single stable contract rather than create another implementation. A prioritized user workflow, packaging/support ownership and parity tests for results, failures, provenance and cancellation.
AI-assisted study generation or interpretation Research after F31/F32/F33. Suggestions must not silently alter physics, evidence or review decisions. Offline data policy and evaluation obligations need definition. A bounded assistance task, evaluation set containing unsafe suggestions, explicit review semantics and proof that generated studies obey the same validators.
3-D aircraft and scene visualization Next after F29. Linked numerical plots and review are sufficient for the first complete engineering workflow; a scene cannot serve as numerical validation. A specific diagnostic task improved by 3-D, verified frame/time mapping and an accepted rendering/performance budget.
Cloud execution and multi-user hosted collaboration Separate deployment profile after F24/F31/F33. The baseline must remain usable on disconnected systems. Customer authorization, data/storage architecture, identity/access controls and operational ownership for the intended environment.
Onboard executable generation and flight deployment Separate product and assurance programme. An engineering design artifact is not a flight-qualified controller implementation. Explicit target hardware, execution and safety requirements, configuration-controlled implementation and the applicable assurance/approval programme.

The release decision would be based on completed Must v1 epics and their accepted evidence, not a count of implemented algorithms or attractive screens. Any reduced v1 scope would need a revised end-to-end workflow and explicit removal of the affected claims before milestone acceptance.