a7c2779f73267b42bcecc1a2c8354e9e2123eb6d
The original timer advances DAT600 target rotation only from active_ball_tick. A normal ball end does not clear its phase, so a pending rotation pauses while the next ball waits in the launcher and resumes after launch. Rust advanced the phase during launcher idle and then discarded it on drain. Gate rotation updates with the active-ball state and stop clearing rotation, panel, or claw mechanism state in the normal drain path where the binary leaves them untouched. Seed the deterministic target scenario with an active ball so it continues to exercise all six recovered phases. Test Plan: - `cargo test --workspace --all-targets --all-features` -- 118 passed - `cargo clippy --workspace --all-targets --all-features -- -D warnings` -- passed - `rumdl check --flavor commonmark RECONSTRUCTION.md CHANGELOG.md` -- passed - `git diff --cached --check` -- passed
Description
No description provided
22 MiB
Languages
C
73.8%
Rust
13.9%
C++
5.1%
Python
4.1%
Shell
1.4%
Other
1.6%