guts/docs/progress/f-progress.md
jing 4ccf5edcc0 [lane F] Round 1 integration + ROUND2 instructions: the game is a game
Wired B's player/combat + event pump, D's assets, C's level pick into boot.
Fixed qa ESM gate (node --check no-op, found by B) + added spline selfcheck.
TECH: world contract FROZEN v1.1, bus events ratified, colorspace + crest-speed
laws (CREST_FACTOR 1.6 — B proved surfing lost to throttle at 1.0). Stub complies.
Verified integrated build via 60s stepped sim: 9 draws, 0 errors, 0 asset misses;
one known gap (fiction-id spawn resolve) confirmed and assigned as B's top item.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 14:39:02 +10:00

2.8 KiB
Raw Blame History

Lane F (Fable) — progress

2026-07-16 — Round 1 review + integration (round 2 opened)

Reviewed all four lanes; every checked claim held (A's hash cefc4f83 + 8-draw sweep, B's node --check ESM no-op — reproduced, C's 3/3 selfcheck + sim, D's manifest + seam numbers).

Integrated (this commit): B's player/combat wiring + level-event pump into boot.js · D's assets into boot + world · C's ?stub=1&lvl= composition · qa.sh ESM-gate fix (was a no-op on every module in the repo) + spline selfcheck gate · TECH world contract FROZEN v1.1 (project hint, flowPulse, crestSpeed, hash, dispose, level) + bus ratifications (player:state, combat:state, player:surf, hazard:warn, hazard:proximity, level:neutralize)

  • assets.texture/audioUrl/audio promotion + Shader-law (colorspace) + crest-speed law (CREST_FACTOR 1.6, from B's surf finding) · stub: crestSpeed + CREST wave + colorspace.

Verified integrated build (guts-f server, :8141): default boot = A world + C L2 + D pack + B ship. 60 sim-seconds stepped (rAF is paused in the hidden pane — deterministic dt loop via the boot module exports instead): s→777, checkpoints+pickups fired, 9 draws / 61k tris, 0 console errors, 0 asset misses. ONE gap: all 11 spawns no-op on fiction ids ("unknown enemy type bolus_chunk") — exactly C's predicted → B item; top of B's round 2. Evidence: docs/shots/laneF/round1_integrated_s777.png. fps/feel still needs John (checklist in ROUND2 §John).

shot_sink usage that works from the pane: python3 pipeline/shot_sink.py --dir docs/shots/laneF --port 8143 then POST canvas blob (DBG.shot download no-ops, as A warned).

2026-07-16 — Round 0: scaffold

Repo initialized from empty. Landed:

  • Full doc set: README, PROCESS (lane/round law, inherited from PROCITY), GDD v1 (movement = flow-locked hybrid; 5 levels + secret; enemy roster; bosses), TECH (world contract, level schema v0, bus events, manifest contract, flags, budgets), ART_BIBLE (synthetic scanner look, palettes, emissive code, FLUX prompt kit), PIPELINE (MODELBEAST operator map — verified live on m3ultra@100.89.131.57 2026-07-16: flux_local, mflux_image_edit, sf3d, trellis_mac, seedvr2_upscale; fal.ai gated fallback), V2_IDEAS.
  • Lane charters AF + ROUND1_INSTRUCTIONS.
  • Seed code: index.html shell + boot.js (world pick w/ stub fallback, drift/fly debug cam, window.DBG, resize/loop), core/{rng,bus,flags}.js, stub/world_stub.js (executable world contract: analytic centreline, parallel-transport-style frames, inward tube mesh with peristalsis vertex shader + fresnel rim + fog, project/collide/wallRho/hash).
  • three r175 vendored from PROCITY (module + core + addons).
  • tools/qa.sh: node --check, Math.random grep, level JSON checks, selfcheck/manifest hooks, vendor gate.

Verification: qa.sh GREEN; booted ?stub=1&dbg=1 in browser — see docs/shots/laneF/.