gap: every level crossing is drawn with its barriers permanently lowered across the road #273
No reviewers
Labels
No labels
agent
agent:ci
agent:done
agent:failed
agent:needs-input
agent:refined
agent:refining
agent:running
agent:shipped
agent:skip
autonomous
autopilot
driven
local
plan
proposal
qa
qa-gap
research
retro
ship
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jeroen/cartopolis!273
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/231-level-crossing-raised-booms"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #231
Merged by the autopilot (docs/direction.md) after every Actions job passed on the branch head.
Each barrier crossing shipped with its boom lying flat across the carriageway at 1.05 m, which is where a *closed* boom sits. The bands were stacked along the road-crossing axis running inward from the mast, so a half barrier's inner band ended 0.67 m from the middle of the road. Every one of the ~1,680 barrier crossings CROSSING_TABLE names therefore read as permanently shut to traffic with nothing coming — and since nothing on a crossing is solid, the traffic and the avatar drove through the closed bar. The module note, BOOM_Y's own comment and docs/notes/prorail-level-crossings.md all said the opposite ("the booms stand raised"), and all three are true as written now, so none of them is edited. The bands are stacked in y from the pivot at BOOM_Y instead, at the mast's along-road position and one mast-half plus one bar-half inboard of it, so the bar stands flush beside the mast and nothing hangs over the road. push_box takes a yaw and no tilt, so the 90° turn is expressed by swapping the first two half-extents — the 0.26 m painted face still lies across the road and the 0.16 m thickness still along it. BOOM_HALF_H is renamed BOOM_HALF_FACE: a constant named "half height" governing an across-road extent is how the next reader gets it wrong again. Box count per crossing is unchanged, so MAX_BOXES_PER_CROSSING, CROSSING_MAX_BYTES and every byte assertion stand. The mast, lamp head, clearance, diagonal pairing, reaches and mast heights are untouched; there is still no animation and still no collider. Nothing in the suite could tell the two attitudes apart — every_form_meshes counts triangles, the_byte_cap_splits_between_crossings counts bytes and the_boom_count_comes_from_the_form_not_the_register counts vertices, and all three pass either way. Two new tests pin it: no vertex over the carriageway and the mesh reaching BOOM_Y + reach in y for all three barrier forms, with a Lights crossing pinned as an absolute bounding box to prove the height statement is about the boom and not the mast. The first fails on the old geometry at x = 2.67 m. Refs #231mainwas already red, and every merge commit was red #282