Files
Cesarus85--mjolnir-vr/source
Jonas VolmanandClaude Opus 5 e99467da09 Lane A wave A4: actor_move_update structural corrections
Zero strict bytes, zero regressions, zero exact credit.

_actor_move_update goes from 3088 to 3120 bytes against January 3136 (size gap
48 -> 16) and from 869 to 882 instructions against 888 (gap 19 -> 6). Three
changes, each read off January: the initialized-declaration order that the
twelve-store prologue emits; the moving_into_fire_timer branch polarity with its
arms swapped; and normalize3d(...) != 0.f in place of > 0.f.

Two shapes from the worker candidate were rejected and the rejection improved the
result. (1) Hand-expanding actor_move_transform_avoidance_vector at two call
sites is manual inlining of an ordinary helper, forbidden by house rule 13 and
named explicitly on this unit's do-not-repeat list; its measurements are kept as
evidence (it does fix test_avoidance_vector's relocation count, 17 -> 16, and
shrinks that size gap 208 -> 16, but overshoots). (2) Rewriting
TEST_FLAG(flags, crouch ? A : B) as (crouch && TEST_FLAG(A)) || (!crouch &&
TEST_FLAG(B)) was measured and dropped: restoring the natural ternary gives 3120
bytes where the verbose form gives 3104, so the concise source is also the
closer one.

Verification: build unchanged at 1,444,193/1,770,166 (7,292/7,574);
stable_verdicts diff vs the frozen baseline gained 1 / 224 bytes / 0 regressions;
parks 184/0/0 (actor_moving has none); admission 19/0/8/0; fake scan 0 findings
in the changed file; point guard passes; git diff --check clean.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-20 12:38:11 -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