mirror of
https://github.com/Cesarus85/ringfall-mjolnir-vr.git
synced 2026-10-29 04:01:10 +01:00
Wave 2 of the limited object-closure lane. New code: 1 function, 1,232 padded / 1,225 meaningful bytes; action_vehicle closes at 17/17. find_destination now uses the genuine real_math.h helpers the /Od build (halo_cache_symbols.exe 0x4422a0) calls: distance3d, MAX, a pointer- selected target copy, vector_from_points2d x4, dot_product2d, point_from_line2d x2, magnitude_squared2d/3d, perpendicular2d, negate_vector2d, normalize2d, vector_from_points3d, square_root, point_from_line3d x3, scale_vector3d, and a single success flag. Local names come from the /Od RTC descriptor. The statement list is Lane B's diag_inline.c donor. - Drop the REAL_MATH_EXTERNAL_POINT_FROM_LINE3D guard for this TU. January's action_vehicle holds an UNDEF reference to _point_from_line3d, so this is within owner ruling 1. The emitted COMDAT is section-identical to January's action_charge copy. - _scale_vector3d is a new all-inlined COMDAT (ruling 5). Its caller is strict exact and the section is identical to January's copy. - Drop the hand-written NODUP point_from_line2d and its rename. The header inline now supplies the exact, January-owned _point_from_line2d, and no object on the board defines it NODUP. - 18 view casts, admitted under ruling 6. Each is attested at its own /Od call site (quoted in the ledger). The strip test is byte-inert: with all 18 removed the function is still EXACT and section-identical. Verification: full ninja; stable diff gained 1 / 1,232 bytes, regressions 0; parks 103/0/0; admission audit 39 candidates, 0 contradicted, 0 revoked; object audit PASS; selected-provider link PASS (both orders, 21 surplus symbols); pytest 1154 passed; halobetacache linked files 335 -> 336. Ledger: docs/object_matching_logs/claude_object_closure_20260924.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>