mirror of
https://github.com/Cesarus85/ringfall-mjolnir-vr.git
synced 2026-10-23 13:00:35 +02:00
Both admitted by explicit owner rulings on 2026-09-16; each lands as the minimum hunk after a whole-TU gate, and neither involves undefined behaviour or steering. render_debug _render_debug_player (+266, park reopened and removed). LAW D, from the research campaign's frame study, proves January's `sub esp,0x404` cannot come from a dead local or any other declaration - a dead whole object costs 0 frame - and only a declared text extent of 1025-1028 yields it. Written in the house idiom as a named capacity plus its terminator, added to the file's existing constants enum rather than a new block: `MAXIMUM_RENDER_DEBUG_PLAYER_TEXT_LENGTH = 1024` and `char text[MAXIMUM_RENDER_DEBUG_PLAYER_TEXT_LENGTH + 1]`. The tree already uses `[X_LENGTH+1]` string buffers 70+ times. This ruling supersedes the pre-LAW-D park rejection of enlarging the buffer. Whole-TU gate 34 -> 35 with only this row changing; the sibling park _render_debug_add_cache_entry is unchanged; the added enumerator shifted no declaration-count-keyed row; fake scan 0 leads. hud_draw _real_rgb_color_to_pixel32 (+181, previously unwritten). A genuine bitmaps_inlines.h color-conversion helper, admitted under house rule 10. The owner ruling rests on affirmative hand-written-assembly evidence in January's bytes - dword fistp and fmul on non-top x87 stack slots (fmul st(3),st(0)) - not merely on asm being able to force a match. The permission covers this one body only; it does not authorize _real_argb_color_to_pixel32, _fast_ftol_C or assembly elsewhere. Whole-TU gate 20 -> 21 exact, including _hud_draw_meter, which calls it three times. fake_match_scan: 3 leads, 2 of them pre-existing at HEAD (the naked get_return_eip); the only new lead is this admitted block. Full ninja, parks 271 active / 0 stale / 0 invalid, stable diff vs scratch/opus5-next150-before.json: gained 12 / 8,992 padded, regressions 0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>