Skip to content

Extend track schema with four directed circuit gates #107

Closed

Description

@PurpleSentinel

Parent: #105

Objective

Introduce a versioned track definition that stores directed start, finish, pit-entry, and pit-exit lines for every circuit layout.

Scope

  • Define one reusable bounded directed-gate structure with left/right GPS endpoints, expected crossing heading/tolerance, minimum crossing speed, and rearm-corridor distance.
  • Store all four required gates plus a track-level minimum plausible lap time.
  • Permit start and finish to use identical geometry.
  • Project every endpoint into the existing local metre coordinate system.
  • Reject missing, degenerate, out-of-range, oversized, or unknown geometry fields.
  • Update JSON Schema, checked-in fixtures, parser diagnostics, hashing, documentation, and host validators.
  • Retain one JSON file per circuit layout and the 4096-byte bounded parser contract where feasible.

Acceptance criteria

  • A valid four-gate file loads allocation-free and exposes geographic and local endpoints for every gate.
  • Any missing or invalid gate fails without modifying the active track.
  • Start/finish identity is accepted; degenerate individual lines are rejected.
  • Existing schema behavior has an explicit migration or unsupported-version policy.
  • Targeted parser/validator tests and full build gates pass.

Related: #34.

Activity

  1. added
    enhancementNew feature or request
    priority:highRequired for the current milestone or a correctness/reliability risk
    area:timingLap geometry, timing, and event state
    area:tracksTrack definitions, loading, selection, and tooling
    on Aug 14, 2026
  2. added a commit that references this issue on Aug 14, 2026
    c07e65d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:timingLap geometry, timing, and event statearea:tracksTrack definitions, loading, selection, and toolingenhancementNew feature or requestpriority:highRequired for the current milestone or a correctness/reliability risk

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions