Skip to content

[Ball Flight] Deliver cross-interface parity, scientific validation, documentation, and release evidence #4201

Description

@d-sorgcodexagent

Tracked by #4191. This is the release gate for the epic and must remain open until every child acceptance criterion is evidenced.

Objective

Harden the complete spatial-target, convention, inverse-solver, impact-mapping, capability optimizer, wind strategy, uncertainty, and real-time 3D workflow for a production release.

Required Quality Gates

  • TDD evidence for every public contract and regression; DbC validation at API/file/UI boundaries; DRY canonical physics and schemas; LoD separation between physics, solving, persistence, and presentation.
  • Python/TypeScript/Rust or WASM golden parity fixtures for frames/signs, launch metrics, seven-model baseline cases, target geometry, solver problems, steady/gust/turbulent wind, player variation, uncertainty cohorts, and playback timestamps.
  • Independent literature/source register for flight and wind equations, coefficient ranges, environment model, launch-monitor-comparable definitions, and validation data. State applicability and missing validation.
  • Property/metamorphic tests for determinism, frame round trips, zero-wind identity, common-random-number pairing, bounded optimization, and unavailable metric behavior.
  • Integration tests from UI input through API/kernel to plots and exports. A visible control must change the intended canonical state.
  • PyQt GUI tests plus browser component tests and Playwright end-to-end/visual checks for hints, convention switching, target editing, solver cancellation, wind overlays, playback, exports, keyboard use, focus, contrast, resize, and reduced motion.
  • Performance budgets for single flight, paired wind comparison, inverse solving, large ensembles, and 3D playback; browser work must remain responsive and desktop work must be cancellable.
  • Versioned JSON schemas with migration fixtures, full manifests, stable metric IDs, raw vectors, units, frames, signs, seeds, model versions, solver diagnostics, and unavailable reasons.
  • User docs with worked driver/iron/wedge shots, headwind/crosswind cases, wind-estimate error, non-unique solution families, player optimization tradeoffs, and troubleshooting.
  • Legal-safe copy: no vendor branding, endorsement, certification, proprietary interface cloning, or exact-device-equivalence claim.

Release Evidence

  • Record exact local test, lint, format, type, build, benchmark, parity, accessibility, and visual-test results.
  • Inspect protected GitHub checks, required reviews, merge state, and exact merged commit without bypassing rulesets.
  • Confirm Tools ownership and UpstreamDrift dependency pin/integration rather than maintaining shadow copies.
  • Keep any unmet validation, performance, platform, or model-applicability item in an explicit open gap register; do not close this issue on architecture or partial UI delivery.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions