Lane D refresh packet 7: +80 padded bytes strict exact;
structure_detail_objects.obj is now a whole-object match (15/15 functions,
.text/.rdata/.bss all 100%). Zero stable-verdict regressions.
The production `struct detail_object_globals debug_detail_objects`
aggregate and its `#define detail_object_global_runtime_data` alias were
invented. HCEA (DIA2Dump on the structure_detail_objects compiland) lists
the file statics detail_object_global_runtime_data (struct pointer),
fudge_vector (uchar), fudge_offset and final_offset (float), with
debug_detail_objects as a separate global; January's own assert string
uses the bare name detail_object_global_runtime_data. The source now
declares those statics in January's .bss order (initialised, so VC7 keeps
declaration order) and _structure_detail_objects_initialize stores through
the global directly, as the debug build does.
- symbols.json: four "static": true entries after _debug_detail_objects
(line insertion only).
- parked.json: unpark _structure_detail_objects_initialize.
Gate: ninja PASS, parks 124 active / 0 stale / 0 invalid, admission 0
contradicted / 0 revoked, fake scan 0 leads.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Wave n1 of the next-150K lane (fresh structural portfolio at ae10935da).
- structures _structure_render_detail_objects (+1136): reopened with the natural
array initializer, which the w2 verifier asked for when it rejected the
hand-written a[0]=0/memset expansion (R6).
- draw_string _bitmap_draw_character (+944).
- hud_sounds _hud_play_sound (+352): closed by removing the one-use index alias
and reading sound_indices directly (A5), NOT by the volatile/goto body that the
park record shows was deliberately replaced.
- bink_playback _bink_free_texture_cache (+96): the park premise was the repo's
own match_dassert wrapper; the user-supplied Bungie random_math.c spells the
same two sites vassert, and the tree is 874 match_vassert to 14 match_dassert.
- structures _structure_get_planar_fog: zero-credit remeasure. Adding the
discarded fog-plane lookup January provably executes (its 15th
_tag_block_get_element_with_size relocation at +0x16d) closes both structural
tags; 448/448 and 15/15, residual now one register-naming window.
Rejected by the verifiers and not landed: _bink_alloc@4 (exact only with an __asm
block in a pool allocator - house rule 10 allows asm only for evidenced
helper/math routines), the progress_bar _code_000d16d0 rename (standing hold),
and the _portal_hull_from_points remeasure. wind _wind_variance_get is HELD for an
owner ruling (see its ledger).
Full ninja, parks 274 active / 0 stale / 0 invalid, stable diff vs
scratch/opus5-next150-before.json: gained 4 / 2,528 padded, regressions 0; fake
scan 0 leads.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _render_debug_detail_objects. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>