fix(physics): restore binary record scan order
Interleave static ranges, type-three captures, type-four triggers, magnetic records, and dynamic ball records in exact ID order while tracking predicted position separately from mutable motion. Preserve type-three/dynamic broadphase and the raw stack quirk where fixed candidate slot one wins even when a later candidate is nearer; seal that behavior in both C and Rust harnesses. 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 - rumdl check original/C_RECONSTRUCTION_FINAL_AUDIT.md original/MECHANICS_PROGRESS.md tdkpin-rs/CHANGELOG.md tdkpin-rs/RECONSTRUCTION.md tdkpin-rs/README.md - git diff --check
This commit is contained in:
@@ -1081,6 +1081,9 @@ static void integrate_one_ball(
|
||||
candidates,
|
||||
&candidate_count);
|
||||
if (collided) {
|
||||
/* Raw 1000:c79c stores each later, nearer candidate at the next
|
||||
* 0x34-byte stack slot but resolves the fixed first slot at
|
||||
* SS:...d8a2. Record order therefore wins over closest distance. */
|
||||
apply_collision_response(
|
||||
caller_bp,
|
||||
window,
|
||||
|
||||
Reference in New Issue
Block a user