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:
Binary file not shown.
Reference in New Issue
Block a user