Commit Graph

2 Commits

Author SHA1 Message Date
jing
3a6dbc30a3 [lane A] Complete the biome texture set (oral + colon) + a provenance gate
Generated on MODELBEAST flux_local, on-device, $0.00. Lane D's pipeline used
unchanged; **D owns these — ratify, retune or bin them.**

Why A did D's job: the six-biome tint contact sheet could only judge 3 of 6
biomes for real (oral/large_intestine/appendix had no pack and fell back to
procedural), and you cannot ratify a tint against a stand-in. All six are now
textured — the set ART_BIBLE §Biome palettes promises.

- wall_oral_a/b, wall_colon_a/b + normals. Seams 6.35/9.30/14.06/6.37 -> 1.01/
  1.08/0.74/1.36 (D's "indistinguishable" band; the shipped pack's weakest is
  2.39). Means normalised to ~0.50 by D's derive_maps, untouched.
- appendix wears the colon pack at its own gold tint (TEXTURE_SHARE in
  world/index.js) — anatomically it IS colon tissue, and it's ART_BIBLE's
  "one texture, two biomes" law for zero bytes. Distinct from the temporary
  slug map; keep it when that dies.
- oral_a took three subjects. v1 named an ORGAN ("tongue") and FLUX drew the
  organ's silhouette — D's "one urchin of villi" in a field's clothing. v2 named
  the tissue but papillae are 3D projections, so perspective gave it a vanishing
  point that tiles into starbursts. v3 asks for squamous cell pavement: flat by
  construction. Rule for the kit: prompt the SURFACE, not the FEATURE.
  Evidence: docs/shots/laneA/round2_oral_prompt_evolution.png

PROVENANCE DEFECT FOUND AND FIXED (-> Lane D):
batch_textures.json recorded, for 4 of 6 walls, the prompt from the framing
experiment D tried and rejected — not the prompt that made the shipped pack.
record() only runs on generation, so reverting a prompt while keeping its image
(exactly what D correctly did: "four winners kept untouched rather than churned")
drifts the record silently. Proved by regenerating esophagus_a at seed 1101 under
both prompts: the code's prompt reproduces the shipped wall, the recorded one
gives the bland wood-grain D described rejecting. Evidence:
docs/shots/laneA/round2_provenance_probe.png. Records re-pointed at the code's
prompt (images untouched — they were never wrong).
New: gen_textures.py --verify-provenance + qa.sh gate 5b, so it cannot rot again.

qa GREEN incl. the new gate; 11/11 provenance verified; all six biomes eyeballed
in engine (docs/shots/laneA/round2_tint_*.png).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 17:44:58 +10:00
jing
ecf43940ec [lane A] Round 2 close-out: colorspace re-eyeball, stomach shape read, ruling #5
Finishes the lane A round-2 list that f0982e7 (the rescued first half) left open:

- Biome-tint re-eyeball under the colorspace law (#4 second half). Verdict: all
  six ART_BIBLE tints stand, biomes.js untouched — the wash was wall_material's
  round-1 constants, tuned on the raw framebuffer. Retuned: rim pow 2.2->3.0,
  rim gain 0.9->0.35, textured curve (0.35+d*.95)*.9 -> 0.12+d*0.60, procedural
  d*.8 -> d^2*.65, sheen .10->.04, matcap .22->.14. Rationale documented
  in-shader. Verified on a new six-biome contact sheet (?lvl=biomes, SIX_BIOMES
  fixture — kept as permanent kit), the real L2 hiatus, and an arena interior.
  Evidence: round2_tint_*.png x6 + two *_retuned frames. qa GREEN.

- Stomach-arena shape read for C (#7): recommend the spline-swept room (arena =
  "open" mode over an s-span; fundus dome stays a welded icosphere; chained
  spheres rejected — crease rings + union collision for a worse look). Full
  argument NOTES §-> Lane C + round2_stomach_arena_sketch.svg. Triplanar
  deliberately deferred: the swept room obsoletes it where it mattered.

- Ruling #5: harness -> web/dev/laneA_world.html (+DBG.post to the house shot
  sink); _fixture.js stays — the spline selfcheck asserts against it, now
  documented in-file. launch.json: guts-a on 8145.

- NOTES + progress written for both halves; ROUND2 mid-round box updated: lane
  A's round-2 list is closed, only round-3 items remain.

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