Race feed (LAN): names drop after finish, bogus best lap, inconsistent race_result #28
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
mintopia/blur#28
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Found while verifying #27 on a 5-instance LAN race (Barcelona Oval, 3 laps,
BLUR_LANSIM, recomp). Captures are local (ws_tap.py record, not in git).name/car/modsdrop out ofstandings(all 5 racers, ~70 s on the winner's instance), andrace_resultstandings never carry them. The live-timing classification then showsCPU 0x/Player.best_ms100 (page showed fastest lap0:00.100 L1).race_resultinconsistent across instances: only 2 of 5 instances sent"final":true; on one instance a finished racer in P2 had a lowerrace_ms(154723) than the P1 winner (188122).unknownpowerup: one remote racer's slot read as an out-of-range kind for ~1 s on one instance (once per 5-instance race).Acceptance criteria
standingsandrace_resultafter finishingbest_msnever below a plausible lap timerace_resultfinal and consistent on every instanceFixed in race_feed: (1) set_players merges by racer, so names/cars/mods survive the game dropping remote records after finish (cleared at teardown/reset); (2) laps/best under 5 s ignored (kMinLapS) so bogus best_ms 100 is rejected; (3) teardown now publishes final:true if a finish was seen but final was not, and finished racers race_ms is clamped monotonic by finish order. Unit test extended. Not addressed: transient unknown powerup (not in acceptance criteria). Not verified on a live LAN capture.
Follow-up: finished racers race_ms now = race clock at first observed finish (not cum of lap hops, which miss laps); local race_ms_ frozen from same; reset() publishes final:true if finished but not final. Unit tests cover it. Live 5-instance LAN capture not run (no game/LAN in this environment).
Completed and merged by Harmonic (task 28).