Wave w3b landing, adversarially verified. _collision_log_get_current_user takes January's single-exit short-return form (law A3(c); C4244 at both callers) and is now code-identical to January; the only strict difference is a csplit negative-index relocation alias (_global_current_collision_users-2 == _collision_usage_current+2974), so its park is re-measured and reclassified csplit-relocation-alias (validated by tools.parked_functions). Zero strict credit. Full ninja build and stable sweep: 0 regressions.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w2 landing, adversarially verified. park reopens: _collision_log_render. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
plane2d_distance_to_point helper form; three parked recursions refreshed to closer target-size structures (evidence appended). 2 park(s) removed. Adversarially verified (wave D park re-investigation); full build of the combined wave D set: 0 regressions, parks 402/0/0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
January's decals copy of the bsp3d_get_plane_from_designator inline branches on the sign bit (jns), matching the punpckhdq upstream spelling. Full build: decals::_bsp3d_get_plane_from_designator exact (112 padded), 0 regressions across all bsp3d.h consumers, parks clean.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
actor_firing_blindly (actors.h), player_aim_projectile (aim_assist.h), projectile_kill_tracer (projectiles.h), unit_adjust_projectile_ray (units.h) and the remaining weapon datum flag bits. Removes the verbatim duplicate collision_surface_polygon prototype from collision_bsp.h; without that cleanup the two added declarations regress units::_unit_preprocess_node_orientations (declaration-count sensitivity, bisected). Full build with the weapons body: 0 regressions, parks clean.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Reconstruct _main_loop from the exact Claude packet using semantic helper names, authentic types, and owner-header prototypes. Keep collision timing declarations behind the collision debug/log boundary so units.obj remains exact.