guts/docs/shots/laneA/round2_stomach_arena_sketch.svg
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

73 lines
6.1 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 720" font-family="ui-monospace, Menlo, monospace">
<!-- Lane A round 2, task #7: stomach-arena shape read for C (L3 acid sea, round 3).
Companion paragraph: LANE_A_NOTES.md §-> Lane C. Palette = ART_BIBLE stomach. -->
<rect width="1200" height="720" fill="#0b0d10"/>
<text x="600" y="40" fill="#e8f4f0" font-size="22" text-anchor="middle">L3 stomach body — what shape is the acid sea? (Lane A → Lane C, round 2)</text>
<!-- ============ PANEL A: spline-swept room (recommended) ============ -->
<text x="330" y="74" fill="#5affd2" font-size="17" text-anchor="middle">A. SPLINE-SWEPT ROOM — recommended</text>
<g transform="translate(60,90)">
<!-- centreline: cardia top -> body sweeps down-left -> curls right -> antrum climbs to pylorus -->
<path d="M 240 40 C 200 130, 180 220, 210 300 C 240 380, 330 420, 400 400 C 450 385, 480 350, 500 320"
fill="none" stroke="#5affd2" stroke-width="2" stroke-dasharray="7 6" opacity="0.9"/>
<!-- swept rings along the same centreline: the tube pipeline at room radii -->
<ellipse cx="240" cy="40" rx="34" ry="26" fill="none" stroke="#b0571e" stroke-width="2" opacity="0.75"/>
<ellipse cx="205" cy="130" rx="62" ry="47" fill="none" stroke="#b0571e" stroke-width="2" opacity="0.75"/>
<ellipse cx="186" cy="215" rx="80" ry="60" fill="none" stroke="#b0571e" stroke-width="2" opacity="0.75"/>
<ellipse cx="210" cy="300" rx="84" ry="62" fill="none" stroke="#b0571e" stroke-width="2" opacity="0.75"/>
<ellipse cx="268" cy="365" rx="76" ry="55" fill="none" stroke="#b0571e" stroke-width="2" opacity="0.75"/>
<ellipse cx="340" cy="405" rx="60" ry="44" fill="none" stroke="#b0571e" stroke-width="2" opacity="0.75"/>
<ellipse cx="410" cy="398" rx="44" ry="33" fill="none" stroke="#b0571e" stroke-width="2" opacity="0.75"/>
<ellipse cx="465" cy="360" rx="30" ry="23" fill="none" stroke="#b0571e" stroke-width="2" opacity="0.75"/>
<ellipse cx="500" cy="320" rx="17" ry="13" fill="none" stroke="#ffb13a" stroke-width="2.5"/>
<!-- fundus dome: the one welded icosphere that stays -->
<circle cx="150" cy="55" r="58" fill="none" stroke="#ffb13a" stroke-width="2" stroke-dasharray="4 5"/>
<text x="-46" y="14" fill="#ffb13a" font-size="13">fundus dome — stays a</text>
<text x="-46" y="30" fill="#ffb13a" font-size="13">welded icosphere</text>
<text x="-46" y="46" fill="#ffb13a" font-size="13">(existing primitive)</text>
<!-- acid plane -->
<line x1="96" y1="330" x2="410" y2="330" stroke="#c8ff3a" stroke-width="3"/>
<path d="M 100 338 l 300 0 M 112 348 l 276 0 M 128 358 l 244 0" stroke="#c8ff3a" stroke-width="1" opacity="0.35"/>
<text x="420" y="334" fill="#c8ff3a" font-size="13">acid plane: horizontal chord,</text>
<text x="420" y="350" fill="#c8ff3a" font-size="13">height ← C's level events</text>
<!-- mucus shallows band along greater curvature -->
<path d="M 112 250 C 108 300, 130 350, 172 388 C 210 420, 260 442, 310 450"
fill="none" stroke="#5affd2" stroke-width="12" opacity="0.28" stroke-linecap="round"/>
<text x="30" y="470" fill="#5affd2" font-size="13">mucus shallows hug the greater curvature —</text>
<text x="30" y="486" fill="#5affd2" font-size="13">authored as a (s, theta) band, drain pauses there</text>
<!-- labels -->
<text x="292" y="40" fill="#e8f4f0" font-size="13">cardia (r≈14, teal — the reveal)</text>
<text x="292" y="215" fill="#e8f4f0" font-size="13">body: C's segments AS AUTHORED</text>
<text x="292" y="231" fill="#e8f4f0" font-size="13">(r 4045 base + wobble = lobes,</text>
<text x="292" y="247" fill="#e8f4f0" font-size="13">curviness = the J-bend)</text>
<text x="520" y="300" fill="#e8f4f0" font-size="13">pylorus gate</text>
</g>
<!-- ============ PANEL B: chained spheres (not recommended) ============ -->
<text x="900" y="74" fill="#ff6a6a" font-size="17" text-anchor="middle">B. CHAINED SPHERES — not recommended</text>
<g transform="translate(660,90)">
<path d="M 240 40 C 200 130, 180 220, 210 300 C 240 380, 330 420, 400 400 C 450 385, 480 350, 500 320"
fill="none" stroke="#5affd2" stroke-width="1.5" stroke-dasharray="7 6" opacity="0.5"/>
<circle cx="215" cy="120" r="78" fill="none" stroke="#b0571e" stroke-width="2.5"/>
<circle cx="200" cy="255" r="95" fill="none" stroke="#b0571e" stroke-width="2.5"/>
<circle cx="290" cy="370" r="85" fill="none" stroke="#b0571e" stroke-width="2.5"/>
<circle cx="430" cy="380" r="55" fill="none" stroke="#b0571e" stroke-width="2.5"/>
<!-- crease seams at the lens intersections -->
<path d="M 148 205 C 190 190, 240 190, 272 208" fill="none" stroke="#ff6a6a" stroke-width="3"/>
<path d="M 205 340 C 235 320, 262 312, 292 318" fill="none" stroke="#ff6a6a" stroke-width="3"/>
<path d="M 352 340 C 372 352, 384 368, 390 388" fill="none" stroke="#ff6a6a" stroke-width="3"/>
<text x="40" y="420" fill="#ff6a6a" font-size="13">✕ visible crease ring where displaced shells intersect (×3)</text>
<text x="40" y="438" fill="#ff6a6a" font-size="13">✕ union collide() + union project() = new code, new selfchecks</text>
<text x="40" y="456" fill="#ff6a6a" font-size="13">✕ spherical UVs: pole pinch ×4, tile scale jumps per sphere</text>
<text x="40" y="474" fill="#e8f4f0" font-size="13">✓ zero schema change (arenas[] already spheres)</text>
</g>
<!-- ============ caption ============ -->
<g transform="translate(60,628)">
<text x="0" y="0" fill="#e8f4f0" font-size="14">A = the tube pipeline itself at room radii over an s-span, gameplay flagged 6DOF ("open"): collision is the existing</text>
<text x="0" y="20" fill="#e8f4f0" font-size="14">project()/wallRho path (varying radius already supported), UVs stay (theta, s) so D's gastric pits tile with no pole</text>
<text x="0" y="40" fill="#e8f4f0" font-size="14">pinch, and C's L3 segments already author it (radius 4045 + wobble). Cost: radius-scaled radial resolution + cap</text>
<text x="0" y="60" fill="#e8f4f0" font-size="14">geometry + one schema flag. Full argument + schema sketch: LANE_A_NOTES.md §→ Lane C.</text>
</g>
</svg>