fix(divergence): latch multiball claw capture state
A multiball Greifarm capture could lose its two-ball restriction while the ball was still being pulled: capture age remains zero during nonstationary pulling, so a later callback with one remaining ball rewrote the decision. Represent the capture decision as an explicit optional latch and clear it only when that entry exits or the claw state resets. When a held secondary ball is promoted after the primary drains or is captured, migrate record 89 ownership to ball one as well, so the released ball can clear its contact normally. Test Plan: - `just --justfile tdkpin-rs/justfile test` -- passed (149 game/service tests) - `just --justfile tdkpin-rs/justfile clippy` -- passed - `just --justfile tdkpin-rs/justfile build-production` -- passed - `just --justfile tdkpin-rs/justfile web-build` -- passed - `cargo +nightly fmt --manifest-path tdkpin-rs/Cargo.toml --all -- --check` -- passed - `rumdl check --flavor commonmark tdkpin-rs/CHANGELOG.md tdkpin-rs/AGENTS.md` -- passed - `git diff --cached --check` -- passed
This commit is contained in:
@@ -14,6 +14,8 @@ and this project adheres to
|
||||
latch the two-ball capture rule at each entry, exclude the launcher release
|
||||
while that capture is active, and let later single-ball re-entries use all
|
||||
four original release choices.
|
||||
- Preserve that entry decision through the complete pull phase and migrate the
|
||||
Greifarm contact owner when a held secondary ball becomes the primary ball.
|
||||
|
||||
## [1.2.0] - 2026-08-31
|
||||
|
||||
|
||||
Reference in New Issue
Block a user