Commit Graph
1039 Commits
Author SHA1 Message Date
Jonas Volman ecb25ee0cd game: reconstruct slayer display formatter 2026-09-01 17:52:15 -07:00
Jonas Volman 484e637153 main: isolate player control runtime prototype 2026-09-01 17:26:48 -07:00
Jonas Volman c968a9d9dc Match safe weapons reconstruction trio 2026-09-01 17:20:24 -07:00
Jonas Volman 0c08a88cd7 game: recover Slayer target and player update packet 2026-09-01 17:20:19 -07:00
Jonas Volman 99eb6c8722 Recover connected geometry plane helper 2026-09-01 17:20:09 -07:00
Jonas Volman c59115611b Reconcile rasterizer geometry closeout 2026-09-01 16:34:34 -07:00
Jonas VolmanandClaude Fable 5 7996701fcb Record the uncompress reconstruction and the parked trio in the ledger
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-01 13:16:59 -07:00
Jonas VolmanandClaude Fable 5 c4e2e783f5 Reconstruct the rasterizer_geometry vector3d compress pair
compress_real_vector3d_to_int32 (544) and _clamp (512) are now written and
measure size exact, relocations exact 38/38 address-for-address, 181/181 and
164/164 instructions, differing only by one transposition. NOT exact, no
credit claimed.

Recovered from January's bytes: 11/11/10-bit fields with 1023.5f/511.5f
scales and 0x7ff/0x3ff masks; pack ((k << 11) | j) << 11 | i; a
SELF-REFERENCING round-trip copy through one local (&v2 in, *result back
into v2); the assert message goes through the global temporary with a format
that is exactly 36 bytes including NUL, which is what pins 0x%x%x%x rather
than a spaced form. The clamp twin folds PIN into the same multiply.

Two spellings bracket the target: one local gives the correct sub esp,0x10
frame but an interleaved copy (10 insns off), while a separate decompressed
local gives the correct grouped aliasing-safe copy but a 12-byte-too-large
frame (2 bytes off). January needs both. The one-local form is landed
because a frame-size mismatch is structural under the campaign's
frame-layout law, so the byte-closer variant is the wrong reconstruction.

Copy-schedule variants measured inert: named pointer, inner-scoped pointer,
declaration order, and combinations. Naming the packed value regresses to
528 bytes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-01 13:16:00 -07:00
Jonas VolmanandClaude Fable 5 992a24d674 Match the rasterizer_geometry compress_real_to_intN family
Four previously unwritten functions strict exact on first compile:
compress_real_to_int8 (96B), _int8_clamp (80B), _int16 (112B), _int16_clamp
(96B). Object 9/19 -> 13/19; board 4,822 -> 4,826 functions and 667,591 ->
667,975 strict code bytes, with no previously exact function changed.

These are the oracles the fast_ftol attribution predicted - each ends in
fld <param>; fistp <local>, which no ordinary C conversion emits under this
compiler - so they were unreachable until the helper was admitted today.
January pins two details: the scaled value is reassigned into the PARAMETER
rather than a fresh local, and the clamp variants fold PIN into the same
multiply-and-store statement. The int16 pair round through
(real)floor(z * 32767.5f).

get_vertex_size is blocked by a header disagreement, recorded rather than
forced: January asserts type < 12 and indexes a 12-entry table, while the
repository enum has 18 members after importing six later types. The
recovered table is in the ledger for whoever corrects the enum under a full
board rebuild.

uncompress_int32_to_real_vector3d is fully decoded but left unwritten: two
spellings give 128 and 112 bytes against January's 144, which stages results
through float locals. Not landed non-exact.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-01 13:15:52 -07:00
Jonas Volman 660bf34212 Reconcile structure lens flares source 2026-09-01 13:01:08 -07:00
Jonas Volman 28c27d0beb Use cseries word type in debug memory 2026-08-31 23:51:09 -07:00
Jonas Volman 757dafb12b Close out debug memory residual 2026-08-31 23:49:58 -07:00
Jonas Volman 9916d7b81a Close out light volume residual 2026-08-31 23:49:53 -07:00
Jonas Volman e511e27660 Close out typed LRUV residuals 2026-08-31 23:49:49 -07:00
Jonas Volman 3f809b4b79 Harden player rumble closeout accounting 2026-08-31 23:49:49 -07:00
Jonas Volman f70e1987ec Audit stack memory pool retention scaffolding 2026-08-31 23:49:49 -07:00
Jonas Volman ec4ae894a1 Finalize reconciled object campaign checkpoint 2026-08-31 23:13:10 -07:00
Jonas Volman ec1000a567 Document wind fuzzy closeout 2026-08-31 23:11:01 -07:00
Jonas Volman 52d3d0ca2e Reconstruct particle rendering pipeline 2026-08-31 23:06:04 -07:00
Jonas Volman c0fcc65f33 Reconcile bitmap utilities donor progress 2026-08-31 23:04:47 -07:00
Jonas Volman 0428bdbb36 Reconstruct transparent geometry lifecycle 2026-08-31 22:56:36 -07:00
Jonas Volman 3f19a13c9a Restore Flood shamble behavior 2026-08-31 22:37:08 -07:00
Jonas Volman 40a912a2fa Reconstruct uncover and cinematic functions 2026-08-31 22:03:12 -07:00
Jonas Volman c9a6ae5cd9 Reconstruct and park wind variance initializer 2026-08-31 20:50:24 -07:00
Jonas Volman 0ff4d41b01 Reject weapon residual with surplus COMDAT owner 2026-08-31 20:42:14 -07:00
Jonas Volman c63cce99ae Reconcile safe wave with frozen residual rulings 2026-08-31 20:42:11 -07:00
Jonas Volman 4277f892c1 Admit audited Claude reconstruction gains
Retain 18 strict exact-function gains across Actions, Actor Combat, Decals, Game Engine, Object Lights, and Bipeds after removing donor bodies that regressed exact objects, emitted unowned code, or violated source-credibility rules. Name authenticated private symbols, move declarations to owner headers, record honest residual parks, and preserve units.obj at 189/189.
2026-08-31 20:42:01 -07:00
Jonas Volman aaff13666f Audit Claude wave and admit provenance-safe progress 2026-08-31 16:48:01 -07:00
Jonas Volman bb913dc007 Recover libcmt stream and wide output engines 2026-08-31 16:14:02 -07:00
Jonas Volman 9f63702601 Add provenance-safe symbol importer and correct CRC/LRA private names 2026-08-31 16:08:09 -07:00
Jonas Volman 40a88b9e8a Close matrix_math.obj with authenticated AP-930 kernel 2026-08-31 15:36:07 -07:00
Jonas Volman b4ac869aec Recover authenticated Actions helper names 2026-08-31 12:49:47 -07:00
Jonas Volman 11ca9bb2f5 Correct thread ownership and recover camera names 2026-08-31 12:46:57 -07:00
Jonas Volman 69ce74cc76 Recover biped export and speech priority leaves 2026-08-31 12:15:39 -07:00
Jonas Volman 179ea4a366 Recover small actor bitmap biped and weapon owners 2026-08-31 11:53:54 -07:00
Jonas Volman 8335af1092 Admit authenticated weapons zoom and score helper 2026-08-31 11:30:19 -07:00
Jonas Volman af15449fc1 Recover authenticated AI communication trio 2026-08-31 11:08:42 -07:00
Jonas Volman 1612ef9b6b Admit Path and Decals updates; correct Object Lights linkage 2026-08-31 10:50:21 -07:00
Jonas Volman 84f28b906a Admit Props gains and correct game statistics 2026-08-31 10:01:48 -07:00
Jonas Volman a6fb6ded3c Recover AI communication reply filters 2026-08-31 09:17:52 -07:00
Jonas Volman 6b797dc3de Recover biped limp and flight pair 2026-08-31 09:17:24 -07:00
Jonas Volman 67ccd49298 Recover Slayer score quartet 2026-08-31 08:58:39 -07:00
Jonas Volman 8e658a818f Recover actor movement exact sextet 2026-08-31 08:29:16 -07:00
Jonas Volman e259063caf Recover HUD messaging exact trio 2026-08-31 08:14:01 -07:00
Jonas Volman 1b49fbacb3 Recover physics debug rendering 2026-08-31 07:50:59 -07:00
Jonas Volman ee24686f1d Recover projectiles aiming quartet 2026-08-31 07:36:41 -07:00
Jonas Volman af9f192610 Restore official zlib private ownership 2026-08-31 07:21:44 -07:00
Jonas Volman ee62f36f1f Integrate audited Claude small-object recoveries 2026-08-31 06:55:10 -07:00
Jonas Volman 303282a543 Recover physics object prefix functions 2026-08-31 06:06:25 -07:00
Jonas VolmanandClaude Fable 5 5572f2744d Document campaign throughput lessons for other agents
Records the operational findings from the +44,928 byte run in the repo rather
than only in private notes, so other tools and sessions can act on them.

The load-bearing one: writing UNWRITTEN functions outyields closing residuals.
Wave 3 targeted the closest residuals on the board - padded size AND relocation
count already matching, only instruction selection differing - and returned
11%. Wave 4 reconstructed missing functions from the target disassembly and
returned 30,720 bytes. There are ~1,000,000 bytes of unwritten functions left
against ~100,000 of residual, so that is where the work is.

Also documented: the parallel fan-out architecture (gate.py is a single-TU
compile that never writes build/, so one worker per disjoint .c file is safe,
and nobody but the orchestrator runs ninja); that --disas is an index-aligned
zip which HIDES insert/delete holes, and alndiff.py is needed to see them; the
header blast-radius trap with its full bisect table; verification discipline
including the fact that board.py's per-object listing is truncated and cannot
be diffed to detect regressions; and the fake-matching guards with three
refusals from this run as worked examples.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-31 05:44:00 -07:00