Files
Cesarus85--mjolnir-vr/source
Jonas VolmanandClaude Opus 5 5dddede52e _ai_test_line_of_sight: take HCEX-attested local names - byte-identical, ZERO bytes
Renames the function's parameters and locals to the names HCEX.pdb records:
point0 -> p0, cluster0 -> p0_cluster_index, point1 -> p1, cluster1 ->
p1_cluster_index, collision_fraction -> collision_t, and the expand-source /
expand-target corners to p0a/p0b and p1a/p1b/p1c. Per the house rule on real
names. All 128 non-debug sections of ai.obj are byte-identical before and
after, so the parked entry stays valid and nothing is scoreboard movement.

WHAT WAVE H ESTABLISHED ABOUT THIS FUNCTION - recorded because it overturns a
committed "proof". R11, R25 and res7 said no shape closes its 12-byte frame gap.
Every probe behind that kept four separate objects and only changed scopes.

The ledger now closes to the byte: 34 real bytes = the 7-byte collision_t
initialiser (the correct behaviour we keep, since January's bytes prove it reads
an uninitialised slot on the heavy-fog path) + 27 bytes from ONE surplus 12-byte
frame cell - 24 bytes of disp8 -> disp32 lea widening because our frame crosses
0x80, and 3 bytes for a cross-jump January can take and we cannot.

The mechanism: ai.c's TU-private REAL_MATH_EXTERNAL_NORMALIZE3D and
REAL_MATH_EXTERNAL_POINT_FROM_LINE3D defines make perpendicular address-exposed,
which blocks liveness packing and forces the interleaved struct copy. With the
helper bodies visible, the separate-locals source HCEX attests reproduces
January's frame, slot census and copy order exactly; size, 50 relocations and
331 instructions all match, and 37 ModRM bytes plus one esi/edi decision remain.

That route is dead under the 2026-09-20 ownership ruling: visible bodies make
ai.obj emit a _point_from_line3d COMDAT that January's split does not attribute
to it. So the function stays residual, now for a stated reason rather than a
false impossibility proof.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-20 23:34:45 -07:00
..
2025-11-28 00:16:20 +00:00
2026-09-19 15:56:43 -07:00
2026-09-19 15:56:43 -07:00
2026-06-08 02:47:21 +01:00