fix(physics): restore type-three contact state
Replace the shared boolean sensor latch with the two distinct states used by the binary: per-player 16-bit contact words for type-three records and transient entry flags for type-four triggers. Only active/contact record state is mirrored across player turns, matching the original save/load loop. Port the type-three deep-inside threshold, velocity damping and 150-millipixel pull, stationary gate, first-contact sound and ball-number publication, shared capture age in five-unit steps, and the 99/2 completion sentinels. Lock holes and the reset pocket now complete after the recovered hold interval; the claw publishes its sound on contact and starts on the following completed state. Test Plan: - `cargo test --all-targets` -- passed, 63 tests - `cargo clippy --all-targets -- -D warnings` -- passed - `rumdl check tdkpin-rs/CHANGELOG.md tdkpin-rs/RECONSTRUCTION.md` -- passed - `git diff --cached --check` -- passed
This commit is contained in:
@@ -10,6 +10,10 @@ and this project adheres to
|
||||
|
||||
### Fixed
|
||||
|
||||
- Split collision contact state into per-player 16-bit type-3 contact words and
|
||||
transient type-4 entry flags. Type-3 records now use the original deep-inside
|
||||
gate, `v*0.9 +/-150` pull, stationary sound/contact publication, 5-step age
|
||||
progression to 300, and `99`/`2` completion sentinels.
|
||||
- Replace the live-fitted flipper transfer polynomials with the reconstructed
|
||||
`1000:7ed9` millipixel geometry gates, penetration, gain, response-record,
|
||||
velocity, and position calculations for both directions and both balls.
|
||||
|
||||
Reference in New Issue
Block a user