fix(game): correct every claw release velocity

Interpret the claw's 3800-unit release scalar per 10 ms physics substep rather
than per 30 ms animation frame. This removes a factor-of-three slowdown from all
four random terminals and restores terminal 18 to raw `(0,1000)`.

Add exact assertions for positions and raw velocities of terminals 1, 6, 7,
and 18, backed by repeated live original captures through release and the first
three gravity substeps.

Test Plan:
- `cargo test --all-targets` -- 48 passed
- `cargo clippy --all-targets -- -D warnings` -- passed
- `cargo build --profile production` -- passed
- all four live original terminal trajectories matched
- `git diff --cached --check` -- passed
This commit is contained in:
2026-08-22 21:46:07 +02:00
parent 4b56a23fb4
commit 27749cb5f8
3 changed files with 37 additions and 11 deletions
+7
View File
@@ -117,6 +117,13 @@ then cleared suspension during the same timer callback. The three default
physics substeps each added 15 millipixels of vertical velocity, confirming the
observed total gravity increment of 45 per timer tick.
Repeated clean trigger probes subsequently covered terminals 1, 6, and 7 as
well. After the three default substeps their live states were respectively
`(251160,78090),(-2280,45)`, `(265440,100930),(-1520,2325)`, and
`(271466,105070),(-1178,2705)`. Terminal 18 produced
`(325000,95090),(0,1045)`. These match the recovered release table followed by
three `+15` gravity increments; Rust tests now assert every raw release velocity.
A one-substep probe against the vertical shooter walls recovered the type-2
response arithmetic. For unit tangent `t` from the registered start to end and
left normal `n`, an incoming contact with `vn = dot(v,n)` and `vt = dot(v,t)`