Commit Graph
111 Commits
Author SHA1 Message Date
MrBruh 4adc3a87a5 Remove matching tooling and HALO_LINUX ifdefs 2026-09-30 21:49:46 +13:00
MrBruh a17d89c6f1 Merge bnunu/halo-1 main 2026-09-30 18:13:05 +13:00
Jonas Volman 6bfd956737 Reconcile approved Halo fidelity packets and bounded data credit
Recover transparent geometry submit (+1,285 meaningful code, zero exact losses); reconcile COMMON ownership and Q10 85+EXT1 credit, actions/main data, and separately disclosed denominator corrections. Preserve canonical-only repairs and all held research. C09 is ordinary disclosed cleanup, not a claim of proven scaffolding intent. Clean rebuild, 1,663 tests, parks, audits, provider links and independent EXT1 check pass. Local reconciliation only.
2026-09-29 13:52:37 -07:00
Jonas Volman f3aadeab98 Reconcile five Halo functions and approved declaration batches
Integrate coherent B3, P2/K17 prerequisites, completed K1-K16 + S, and the independent profile/effects rulings. Five gains and two explicitly approved B3 debits: net +3 strict functions, +2770 meaningful/+2800 padded bytes (+2774 progress credit). No additional losses; Halo objects 394 to 396 and data unchanged.

Clean rebuild, identical 8252-row stable sweep, 68 valid parks, admission/provider checks, 467-unit warning comparison, unchanged fake scan, and 1318 tests passed. Preserve canonical helper recoveries and unrelated work. Full evidence and disclosures in docs/object_matching_logs/astra_five_function_reconciliation_20260928.md.
2026-09-28 23:17:10 -07:00
MrBruh 1bcd57afe4 Merge branch 'bnunu:main' into main 2026-09-28 14:46:17 +13:00
Jonas Volman 709bfc3a3c Reconcile approved frontier ownership and admission packets
Import only independently reviewed production changes. Preserve canonical physics and virtual-keyboard repairs; keep B3 and all unresolved holds out.

Record exactly four approved canary debits (6987 meaningful bytes), six Halo admissions and two revocations. Keep vendor ioinit/storage work separate. Full build, 8252-row sweep, 1318 tests, park/admission/fake audits and 621-object binding pass within approved debit bounds.

Do not publish donor research dumps or private assets. README and unrelated user research remain untouched. See frontier_publication_reconciliation_20260927.md for complete evidence limits and accounting.
2026-09-27 17:12:48 -07:00
Jonas Volman 25da8a5e32 Restore January water-depth predicate selection in physics 2026-09-27 13:04:02 -07:00
Jonas Volman 30f71413c1 Restore evidenced physics predicates and observer time powers 2026-09-27 12:42:44 -07:00
Jonas Volman 9e851ed4e5 Recover January lift absolute-value operations in physics 2026-09-27 12:25:27 -07:00
Jonas Volman 59757f4263 Reconcile approved type ownership, static locals and source disclosures
Independently gate storage + K, OQ-4 P-a/P-b1, four static-local packets and comment-only disclosures. Preserve all 7641 exact owner rows, 71 valid parks and 1161 passing tests; code/data credit unchanged. G and game_engine admission remain held because current canonical loses populate_statistic_buffer. Existing collision static-local repair is not duplicated. No donor tree, held candidate, scorer or private asset imported.
2026-09-27 05:17:27 -07:00
Jonas Volman a567739bfc Restore attested collision_fix_pill static local without exact losses 2026-09-27 04:28:12 -07:00
MrBruh 78e3679be5 Merge branch 'bnunu:main' into main 2026-09-28 00:02:52 +13:00
Jonas Volman ef79aedaba Restore shared plane validator and match collision_move_point 2026-09-27 03:57:22 -07:00
MrBruh fef8a582dd Fix release build crash on level load 2026-09-27 19:56:32 +13:00
Jonas Volman 7c0af5f029 Reconcile approved compiler-application code, data and owner repairs 2026-09-26 12:02:50 -07:00
Jonas Volman d890c2db28 physics: reconcile exact vehicle collision helper reconstruction 2026-09-26 01:20:10 -07:00
Jonas VolmanandClaude Opus 5.5 cdc8ebd3fe Batch 5b: reviewed zero-credit storage and provider hygiene
- geometry: drop the NODUP hand copy of plane2d_distance_to_point, so the
  header inline is used (selection byte only; removes a latent
  collision_bsp<->geometry LNK2005).
- collision_bsp: collision_bsp_usage_times is file-static (cachebeta publics).
- rasterizer_lights P1: HCEX file statics with January's .bss layout (the
  load-bearing `= {0}` follows the VC7 initialised-statics law and precedent);
  lands atomically with its 6 symbols.json rows.
- motion_sensor: .bss symbol layout fix (object_audit 44/2 -> 44/0).
- rasterizer_xbox_models: five D3D wrapper rows static.

All byte- and credit-neutral (gated with batch 5a); objects stay incomplete
on residual functions and held owner items.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 04:58:59 -07:00
Jonas VolmanandClaude Opus 5.5 b9a8d587a0 Batch 3: admit twelve objects; four exact functions; verified storage and data fixes
Objects admitted (Halo 363 -> 375), each with an independent adversarial review:
units (first-party names incl. the reviewer-corrected unit_vectors_are_valid, 49
static flags, '$'-defect data entry), collision_debug (/Od helper calls),
render_objects (b807f9f6 provider packet), editor_flying_camera
(_editor_camera_set_position_and_roll 432, storage + grouped entry re-pin),
rasterizer_xbox_shadows (shadow_model_draw 688), cache_files_windows
(open_cache_files 752), light_volumes (light_volume_render 912, reviewer-amended
/Od declaration order), actor_firing_position, path, biped_limp_noodle (HCEX file
statics), leaf_map and model_animations (/Od helper calls replace hand expansions).

Zero-credit/data: path_structure_bsp HCEX tables (+200 data), hud_nav_points
storage, first_person_weapons patch A (park re-baselined).

Gate (full ninja, objdiff 3.3.1): stable diff +4 strict / 2,784 padded, 0
regressions; parks 89/0/0; admission 11/0/5/0; fake scan 26 (new lead is the
/Od-attested empty then-arm in the still-parked fpw update); pytest 1157 passed;
diff --check clean. Ledger: docs/object_matching_logs/claude_fifty_objects_20260925.md
(adds the Layer 2 owner-ruling disclosure, tallies and held items).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 23:53:28 -07:00
Jonas VolmanandClaude Opus 5.5 5671843f57 Match collision_debug_render (4,182 meaningful bytes)
_collision_debug_render is now strict exact: 4,192 padded / 4,182
meaningful bytes, 278 relocations, normalized sha256
5a365dfa90e8300c345e596646f4d2a0be40c6a2527b4b15e747a3de364990d3.
The source is the structural lane's /Od-guided reconstruction,
re-gated on 188d6c1b.

- Locals take the first-party RTC names (point, vector, vector_result,
  collision_point, rotation_matrix, rotated_points, cube_vector,
  textstring, position/velocity/new_*, o, p, i, j, k, bounds, v,
  test_center). The RTC-recorded 2048-byte textstring replaces the
  earlier 1000-byte buffer and its "bug" comment.
- The invented collision_debug_spray_globals aggregate becomes three
  file-static arrays: collision_debug_spray_normals, _points and
  _hit_flags. symbols.json carries the matching three-way static split.
  Evidence for three separate variables:
  - January's module-140 .bss contribution is exactly normals + points
    + hit_flags + the four scalars;
  - the relocation addends are +0, +0x3840 and +0x7080;
  - the /Od build addresses the three arrays separately and
    non-contiguously;
  - one aggregate loses 2 of the 278 relocations.
  csplit output changes only collision_debug.obj.
- New helper COMDATs: _point_from_line3d, _scale_vector3d,
  _add_vectors3d and _set_real_vector3d. Each is byte-identical to
  January's selected copy (action_charge, actor_combat, actions), no
  object defines any of them NODUP any more, and all pair-link in both
  input orders. This follows the owner's 5e81dabf precedent for
  all-inlined TUs (biped_limp_noodle, actor_type_infection).
- New point/vector cast at add_vectors3d(&point, &vector, &point): the
  /Od build passes the 12-byte `point` local as argument 1 and 3 at
  0x7b0c5c. It is byte-inert (stripped: still EXACT, same sha). The
  cube-vertex cast was already present.

Function credit only. The object is not marked Matching.
_collision_debug_cube_vertices is static in source and in January
(absent from cachebeta.pdb publics) but still external in symbols.json.
That is a separate, pre-existing ownership follow-up.

Verification: full ninja (objdiff 3.3.1, as canonical); stable diff vs
frozen 8,245-function baseline +1 / 4,192 padded bytes, 0
regressions; parks 103/0/0; admission audit 13/0/7/0 (no new
contradiction); fake-match scan 0 -> 0; python -m pytest -q tools
1154 passed; git diff --check clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 15:58:34 -07:00
Jonas Volman f2f880f9c0 physics: match breakable surface effect with authentic inline helpers 2026-09-23 15:40:32 -07:00
Jonas Volman 575e5a6c77 Admit five more exact Halo objects with owner cleanup 2026-09-23 01:16:04 -07:00
Jonas Volman 4f4c85021d Reconcile Lane C with canonical house-rule audit
Integrate verified source and data progress; exclude unproven COMMON ownership, held UB/asm forms, and address-named data credit. Stable sweep: 23 exact functions gained, zero lost.
2026-09-22 23:12:40 -07:00
Jonas VolmanandClaude Fable 5.1 74c9cb2a02 Lane B wave 2: zero-credit fuzzy source corrections (path, collisions, action_charge)
ZERO exact credit. Better-evidenced bodies retained per house rule 11. No new
representation-punning casts (screened), no ownership change, no new
fake_match_scan lead, line endings preserved.

- physics/collisions.c _collision_move_point (4,752 B, not parked): reviewer byte
  compare with relocation sites zeroed - differing bytes 3,847 -> 6. Size
  4752 == 4752 and relocations 226 == 226. The remaining six bytes (0x595-0x597,
  0x59b-0x59d) are ONE transposition of two independent instructions, so the body
  is semantically January on every path. Each hunk was strip-tested alone and is
  byte-bearing (position block scope, post-increment placement, ...). The owner's
  collisions[-1] ban is respected; line 1572 is untouched.
- ai/path.c (both PARKED, entries refreshed in this commit):
  _path_state_traverse (2,096 B): rewritten statement-for-statement from the /Od
  build (fn 0x4c6a70) with each fact confirmed in January's bytes. Frame and
  return count are now January's; differing regions 132 -> 61; objdiff
  64.6% -> 98.6%. Padded size is now 2112 vs 2096. Residue is confined to
  0x10b-0x4cc, at the hand-expanded point_from_line3d sites forced by the
  emission guard (path.obj is in the owner's still-guarded all-inlined class).
  _path_state_estimated_distance (496 B): size now equal (was 528), 191 == 191
  instructions, objdiff 77.5% -> 95.5%; residue is a three-register cycle.
- ai/action_charge.c _action_charge_perform (3,248 B, not parked): three hunks
  accepted - melee arm first, the `!ranged || underwater` arm, and the two-store
  unreachable test - each a pure block move or an equivalent rewrite with the
  same evaluation order. NOT landed: the worker's `__inline` added to eleven
  baseline-exact local math helpers (flips their COMDAT selection for zero
  credit; two earlier lanes declined the same lever; needs a helper-linkage
  ruling). action_charge still emits the January-owned _point_from_line3d.

Config: config/parked.json - the two path entries re-measured in place by line
surgery (base size / sha / objdiff percent) with a dated evidence note each.
Parks 174 active / 0 stale / 0 invalid.

Verification: see the preceding strict commit (same build): 0 exact regressions,
0 report rows lost. Reviewer: independent adversarial agent per unit,
ACCEPT_FUZZY_ZERO_CREDIT; partial files built by the reviewers and re-gated by
the orchestrator.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 11:10:49 -07:00
Jonas VolmanandClaude Fable 5.1 479341043f Lane B wave 1: zero-credit fuzzy source corrections (infection, bipeds, physics)
ZERO exact credit. Better-evidenced source retained per house rule 11; none of
these functions is parked, so no park entry moves.

- ai/actor_type_infection.c _infection_swarm_control (3,616 B): partial rewrite
  from January's bytes. Baseline was 256 bytes short with a wrong frame and a
  wrong constant multiset (missing 1.0f, -1/15, (double)1e-4f, +/-pi/2; an extra
  _normalize3d call). Now residual [sha] ONLY: size 3616 == 3616 and relocations
  104 == 104. Side effect: the unit's .rdata section (228 B) now matches January
  (data +228, not counted as Lane B code credit). Adds the include of
  ai_scenario_definitions.h for the _ai_atom_move_facing_* enum the recovered
  obey-facing switch needs (no header edited).
- units/bipeds.c _biped_update_moving (4,080 B): four in-function corrections,
  each read from January: `0.01f` not the double `0.01` (January's constant is
  __real@3f847ae140000000 = (double)0.01f); `!(fabs(dyaw) < _real_epsilon)`;
  the two ground_tangential_* stores in January's order; no (short) cast on
  actor_index. The reviewer measured the worker's file-scope `realcmp` macro as
  byte-inert and it was DROPPED (strip test). Still residual [size, sha].
- physics/physics.c _physics_update_old (5,168 B): rotation_axis is assigned
  immediately before normalize3d, after object_translate - a store cannot cross
  a call, so its position relative to the call IS January's statement order.
  The reviewer REJECTED the rest of the physics candidate (21
  PHYSICS_POINT_FROM_LINE3D macro sites and body rewrites) pending an owner
  ruling; only this two-line change lands.

Verification: same full build and sweeps as the preceding strict commit -
0 exact regressions, 0 report rows lost, parks 180 / 0 / 0.
Reviewer: independent adversarial agent, ACCEPT_FUZZY_ZERO_CREDIT for each;
partial-landing files produced by the reviewers and re-verified by the
orchestrator (unitcheck NO LOSS, guard, ownership, fake scan, line endings).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 07:26:50 -07:00
Jonas VolmanandClaude Fable 5.1 7583df5d62 Lane B prerequisite: take the data lane's hunks in six Lane B files
Identical text to claude/data-section-credit-20260920 for these six files
(git diff against that branch is empty), so the two branches merge cleanly.
ZERO Lane B credit is claimed: the five data sections belong to the data lane.

Taken deliberately because three of the hunks change relocation IDENTITIES
that Lane B code residuals need before they can ever gate exact:
  action_vehicle.c        0.1225f -> 0.35f*0.35f  (__real@3dfae147, January's
                          folded product) - _action_vehicle_find_destination
  collision_debug.c       assert text count<=14   - _collision_debug_render
  path_structure_bsp.c    assert spacing          - _structure_test_line2d
and three are the .bss layout law (= 0 / = FALSE on debug globals):
  player_control.c, collisions.c, bipeds.c

Units/functions: none change verdict. Strict meaningful +0, padded +0.
Fuzzy: none. Data: +489 B (116+300+43+26+4), credited to the data lane.
Stable regression: scratch/lane_b_before.json -> lane_b_w0.json, 0 regressions,
0 gains. Lane inventory row-diff: 0 losses, 0 moves. Parks 0 stale / 0 invalid.
Full ninja all_source progress semantic_progress: pass
(Code 1443979 / 1770166, 7291 / 7574; Data 2360994 -> 2361483).
Config/header changes: none. Reviewer: data lane's own verification; re-verified
here by full build and row diff.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 02:27:48 -07:00
Jonas Volman 5361eeae52 Reconcile Astra exact-match campaign (+8314 bytes)
Integrate six accepted exact functions, two whole-object admissions, evidence-backed zero-credit source corrections, owner-header cleanup, and curated campaign records. Preserve zero regressions and exclude generated scratch archives from canonical history.
2026-09-20 02:31:53 -07:00
Jonas Volman 37d513310b Reconcile evidence-backed 10K exact batch 2026-09-19 23:12:42 -07:00
Jonas VolmanandClaude Opus 5 2f24377a5a Wave 19: six parks reopened as strict exact (collision_bsp, comms, caches)
- _collision_bsp_test_vector_recursive: reads the leaf flags through the
  typed tag-block macro inline (HCEA spelling)
- _collision_surface_find_closest_point2d: vector_from_points2d and
  cross_product2d replace hand-expanded math, as the exact sibling
  collision_surface_test_point2d does
- _ai_communication_update_speech_timers: includes the owner header
  cseries/errors.h for error() and names the timer label
- _cached_map_file_read_header: the exact wait helper snapshots the
  completion flag before returning, reproducing January's double volatile
  load at both inlined sites; the still-parked _cache_files_open_cache_files
  is re-measured (closer, non-exact)
- _update_client_local_ticks: countdown tick loop and a machine_index
  local passed to both server calls (January calls the build helper out of
  line, which a literal 0 argument does not reproduce; disclosed)
- _rasterizer_sort_external: plain indexed loops; the object's eight
  file-private globals are static, as only this object uses them

Stable diff: 0 regressions; admission 28 candidates / 0 contradicted;
active parks 201 -> 195.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 22:11:55 -07:00
Jonas VolmanandClaude Opus 5 8468de1baf collision_usage: retain verified credible source at zero credit
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>
2026-09-14 14:45:21 -07:00
Jonas VolmanandClaude Opus 5 3e223c3ab1 collision_usage: 1 function(s) strict exact
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>
2026-09-14 07:39:48 -07:00
Jonas VolmanandClaude Opus 5 f861776bfd collision_bsp: reopen bsp2d sphere and pill recursions exact; refresh three bsp3d parks
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>
2026-09-13 23:09:09 -07:00
Jonas VolmanandClaude Opus 5 7a3bbb9c87 Test the bsp3d plane designator sign bit with LONG_MIN
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>
2026-09-13 19:58:56 -07:00
Jonas VolmanandClaude Opus 5 4dd3575806 physics: write physics_update_new; update_new and rotate_vectors3d_by_angular_velocity exact
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 19:56:30 -07:00
Jonas VolmanandClaude Opus 5 a4a7fe8cfd collisions: write collision_test_vector and collision_move_point with clip helpers; test_vector and clip helpers exact
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 19:56:29 -07:00
Jonas VolmanandClaude Opus 5 a7d0d43883 Declare the weapon trigger graph's cross-object callees in their owner headers
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>
2026-09-13 19:47:36 -07:00
Jonas VolmanandClaude Opus 5 70ad17afb0 physics: write physics_compute_biped_collision exact
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 19:19:53 -07:00
Jonas VolmanandClaude Opus 5 516c6b58ab collisions: close fix_pill, nudge_collision and features_in_sphere
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 19:19:52 -07:00
Jonas Volman 5d3444f799 Reconcile eighth 10K exact source batch 2026-09-13 02:47:59 -07:00
Jonas Volman 1a6da50d5e Reconstruct AI visibility and spatial-effect routines 2026-09-09 12:56:21 -07:00
Jonas Volman 78cd2f4e67 Reconcile Glow graph and preserve physics research 2026-09-08 18:49:43 -07:00
Jonas Volman 292cc29b86 Reconcile final Fable and Opus source batch 2026-09-08 17:34:52 -07:00
Jonas Volman 7f7b72cc38 Reconcile collision damage and game state owners 2026-09-08 00:32:16 -07:00
Jonas Volman 119868d4b0 Admit audited collision sphere reconstruction 2026-09-04 13:55:31 -07:00
Jonas Volman e5757f9b86 Reconstruct collision BSP closest point 2026-09-04 07:54:25 -07:00
Jonas Volman 8b02b172d0 Correct collision movement interfaces 2026-09-02 22:04:26 -07:00
Jonas Volman 01a2daac6d Reconcile limp-noodle collision interfaces 2026-09-02 22:04:26 -07:00
Jonas Volman 92fd55d6eb Reconstruct nine biped functions 2026-09-02 01:57:40 -07:00
Jonas Volman 56279b28be Reconstruct collision usage renderer and formatter 2026-09-02 01:08:33 -07:00
Jonas Volman 95d674d009 Reconstruct and evidence-park breakable surface effect 2026-09-01 22:28:23 -07:00
Jonas Volman 7055eee35a Match and reconcile main loop
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.
2026-09-01 17:20:02 -07:00