Files
Cesarus85--mjolnir-vr/source/physics
Jonas VolmanandClaude Opus 5.5 5671843f57 Match collision_debug_render (4,182 meaningful bytes)
_collision_debug_render is now strict exact: 4,192 padded / 4,182
meaningful bytes, 278 relocations, normalized sha256
5a365dfa90e8300c345e596646f4d2a0be40c6a2527b4b15e747a3de364990d3.
The source is the structural lane's /Od-guided reconstruction,
re-gated on 188d6c1b.

- Locals take the first-party RTC names (point, vector, vector_result,
  collision_point, rotation_matrix, rotated_points, cube_vector,
  textstring, position/velocity/new_*, o, p, i, j, k, bounds, v,
  test_center). The RTC-recorded 2048-byte textstring replaces the
  earlier 1000-byte buffer and its "bug" comment.
- The invented collision_debug_spray_globals aggregate becomes three
  file-static arrays: collision_debug_spray_normals, _points and
  _hit_flags. symbols.json carries the matching three-way static split.
  Evidence for three separate variables:
  - January's module-140 .bss contribution is exactly normals + points
    + hit_flags + the four scalars;
  - the relocation addends are +0, +0x3840 and +0x7080;
  - the /Od build addresses the three arrays separately and
    non-contiguously;
  - one aggregate loses 2 of the 278 relocations.
  csplit output changes only collision_debug.obj.
- New helper COMDATs: _point_from_line3d, _scale_vector3d,
  _add_vectors3d and _set_real_vector3d. Each is byte-identical to
  January's selected copy (action_charge, actor_combat, actions), no
  object defines any of them NODUP any more, and all pair-link in both
  input orders. This follows the owner's 5e81dabf precedent for
  all-inlined TUs (biped_limp_noodle, actor_type_infection).
- New point/vector cast at add_vectors3d(&point, &vector, &point): the
  /Od build passes the 12-byte `point` local as argument 1 and 3 at
  0x7b0c5c. It is byte-inert (stripped: still EXACT, same sha). The
  cube-vertex cast was already present.

Function credit only. The object is not marked Matching.
_collision_debug_cube_vertices is static in source and in January
(absent from cachebeta.pdb publics) but still external in symbols.json.
That is a separate, pre-existing ownership follow-up.

Verification: full ninja (objdiff 3.3.1, as canonical); stable diff vs
frozen 8,245-function baseline +1 / 4,192 padded bytes, 0
regressions; parks 103/0/0; admission audit 13/0/7/0 (no new
contradiction); fake-match scan 0 -> 0; python -m pytest -q tools
1154 passed; git diff --check clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 15:58:34 -07:00
..
2026-07-14 14:15:00 -07:00
2026-07-14 14:15:00 -07:00
2025-11-27 02:27:27 +00:00
2026-07-01 00:15:19 +01:00
2025-11-27 02:27:27 +00:00
2026-08-13 06:03:44 -07:00
2026-08-13 06:03:44 -07:00
2025-11-27 02:27:27 +00:00