Repository navigation
feat(tracks): narrow Monarch toward Monaco's road at the hairpin and Rascasse - #361
Merged
Merged
Conversation
…Rascasse A layout gains per-segment half widths joined by linear tapers, read through Layout.half_width_at; the asphalt, sand, walls, kerbs, checkpoints and hoardings follow it, and the export refuses a tunnel, bridge, ramp, pit lane or hazard zone where the width changes. Monarch runs 9 m from Mirabeau to the hairpin's exit and at Rascasse, 8 m round the Grand Hotel hairpin and 10 m at Mirabeau Bas, which the bot gate widened from 9 m. ADR 0106 supersedes ADR 0064's uniform 12 m. Closes #360
… wall's back Also documents half_widths and Taper in the tracks README. Closes #360
khiet
marked this pull request as ready for review
November 10, 2026 12:54
khiet
enabled auto-merge (squash)
November 10, 2026 12:55
khiet
disabled auto-merge
November 10, 2026 12:55
khiet
enabled auto-merge (squash)
November 10, 2026 12:55
khiet
disabled auto-merge
November 10, 2026 12:55
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Monarch's road narrows toward Monaco's own at the hairpin and Rascasse. The sim reads only the sidecar and the glTF, so only the track generator changed.
Every taper is linear, so the edge never steps:
These all follow the local width: the asphalt, sand, walls (including the pit lane side's), painted kerbs, checkpoints, hoardings, gantry, start line and wheel crossing. A tunnel, bridge, ramp, pit lane or hazard zone needs one width along its whole length, so the export refuses a layout whose width changes under one (
refuse_width_changes).ADR 0106 supersedes ADR 0064's uniform 12 m. The style guide's wall entry and the tracks README are updated.
Evidence
in_200_races_of_eight_bots_on_monarch_every_one_finishes_at_every_levelfailed:After: with Mirabeau Bas at 10 m (one 0.5 m half-width step), the gate passes all 600 races.
test_road_width.py(18 tests) checks:test_track_limits.pyandtest_pit_lane.pynow read the local width.pnpm test:tracks: 287 passingcargo nextest run --workspace: 600 passingmonarch-lap-with-botspnpm export:trackschanged only Monarch's glb and sidecar.Merge Danger
Door: two-way
Reverting restores the 12 m road. The replay fixture would need re-recording again.
Blast Radius: Monarch
This changes how Monarch races: tighter corners, and the walls come closer at Mirabeau and Rascasse. Bot finishing times on Monarch will shift. Other courses export unchanged.