You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Integrate selectable lap-boundary and pit-gate crossing events #106
Apply the common crossing engine to the configured repeating lap boundary and both pit gates without weakening timing accuracy or duplicate suppression.
Scope
Consume start or finish as the selected repeating lap boundary.
Emit typed start, finish, pit-entry, and pit-exit crossing decisions with intersection fraction and receiver-time timestamp.
Maintain independent safe rearm state for relevant gates.
Apply direction, per-gate speed, GNSS quality, timestamp/sequence, and corridor-leave rules.
Ensure high vehicle speed and 20/25 Hz sampling cannot skip a crossing when consecutive accepted fixes span the finite gate.
Record accepted and rejected decisions for deterministic replay.
Test endpoint, on-line, parallel, reverse, jitter, large-step/high-speed, slow pit-lane, stale, and poor-fix cases.
Acceptance criteria
Exactly one event is emitted for each valid crossing and none for invalid/repeated samples.
Crossing timestamps use interpolation, not the later sample or UART arrival time.
Changing the selected lap boundary changes only the gate used for lap state.
Dependency update: the four-gate track schema in #107 is complete and merged via #111. This issue can now consume the validated start, finish, pit-entry, and pit-exit definitions.
Dependency correction and progress: #107 supplied the four-gate schema, but this integration issue also depends on timing-engine issues #20–#25. #20 is now complete via #112. Remaining prerequisites are #21, #22, #23, #24, and #25, so #106 is not yet implementation-ready; work continues sequentially with #21.
Available building blocks now include the circuit-local projection (#20) and hardened half-open segment intersection (#21). Remaining timing-engine dependencies are #22–#25; #22 is next.
Directed candidates now apply signed side transitions, interpolated speed, circular heading tolerance, configurable GNSS fix/accuracy thresholds, and stable replayable decision reasons. Timing prerequisites #20–#22 are closed; #23 is next.
#23 is complete via PR #115. Receiver-time rollover normalization, ordering checks, gap/staleness rejection, and latency-independent crossing-time interpolation are now merged. #24 is next.
#24 is complete via PR #116. The deterministic lap lifecycle, startup arming, corridor rearm, minimum-time guard, and lap/suspect bookkeeping are merged. #25 host/embedded parity is next.
#25 is complete via PR #117. Projection through lap-event state is now one host/ESP32 engine with deterministic replay coverage. #34 and #37 remain before this integration issue.
Activity
PurpleSentinel commentedon Aug 14, 2026
Dependency update: the four-gate track schema in #107 is complete and merged via #111. This issue can now consume the validated start, finish, pit-entry, and pit-exit definitions.
PurpleSentinel commentedon Aug 14, 2026
Dependency correction and progress: #107 supplied the four-gate schema, but this integration issue also depends on timing-engine issues #20–#25. #20 is now complete via #112. Remaining prerequisites are #21, #22, #23, #24, and #25, so #106 is not yet implementation-ready; work continues sequentially with #21.
PurpleSentinel commentedon Aug 14, 2026
Dependency update: #21 is closed via PR #113.
Available building blocks now include the circuit-local projection (#20) and hardened half-open segment intersection (#21). Remaining timing-engine dependencies are #22–#25; #22 is next.
PurpleSentinel commentedon Aug 14, 2026
Dependency progress: #22 is complete via PR #114.
Directed candidates now apply signed side transitions, interpolated speed, circular heading tolerance, configurable GNSS fix/accuracy thresholds, and stable replayable decision reasons. Timing prerequisites #20–#22 are closed; #23 is next.
PurpleSentinel commentedon Aug 14, 2026
#23 is complete via PR #115. Receiver-time rollover normalization, ordering checks, gap/staleness rejection, and latency-independent crossing-time interpolation are now merged. #24 is next.
PurpleSentinel commentedon Aug 14, 2026
#24 is complete via PR #116. The deterministic lap lifecycle, startup arming, corridor rearm, minimum-time guard, and lap/suspect bookkeeping are merged. #25 host/embedded parity is next.
PurpleSentinel commentedon Aug 14, 2026
#25 is complete via PR #117. Projection through lap-event state is now one host/ESP32 engine with deterministic replay coverage. #34 and #37 remain before this integration issue.