fix(physics): restore swapped-component tangent driver
Use the binary tangent velocity -(vx*normal_y + vy*normal_x)/length, then combine it with retained spin and the Real48 response coefficient. This single formula matches live outer/inner shooter walls, object 155, bumper 51, and the horizontal special-drain response; update C evidence and keep autoplay coverage on a target-reaching seed. Test Plan: - bash original/tools/test_reconstructed_c.sh - python3 original/tools/audit_reconstruction.py --require-complete - cargo test --all-targets - cargo clippy --all-targets --all-features -- -D warnings - original Wine traces: /tmp/original-outer-wall.csv /tmp/original-inner-wall.csv /tmp/original-circle155-after.csv /tmp/original-special-respawn.csv - git diff --check
This commit is contained in:
@@ -83,8 +83,10 @@ DAT994 progress strip is drawn at `(202,328)` with height 13 and width
|
||||
`(stage-1)*7`, rather than the impossible historical 328x202 read from a
|
||||
237x13 bitmap. The focused loading-stage harness seals stages 1, 35, and 0.
|
||||
Live one-substep rail/circle probes further correct the response projection:
|
||||
the tangential delta is `normal_velocity * response_tangent`, added to retained
|
||||
`spin * 0.4`; subtracting the bare coefficient incorrectly rounded it to zero.
|
||||
the binary tangent driver is the swapped-component value
|
||||
`-(vx*normal_y + vy*normal_x)/length`, multiplied by `response_tangent` and
|
||||
added to retained `spin * 0.4`; subtracting the bare coefficient incorrectly
|
||||
rounded it to zero.
|
||||
The documented horizontal drain transition `(0,3015)->(-302,-1809)` and the
|
||||
ordinary circle/bumper tangent transitions seal this correction.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user