guts/docs/LANES/LANE_D_ASSETS.md
jing 34f84ab162 [lane F] Round 0 scaffold: docs, contracts, lane charters, bootable stub world
GDD v1 (flow-locked hybrid movement, 5 biomes + secret, boss roster),
TECH contracts (world API, level schema v0, bus events, manifest law),
ART_BIBLE (synthetic scanner look), PIPELINE (MODELBEAST-first, fal gated),
PROCESS (PROCITY lane/round law), charters A-F + ROUND1 instructions.
Seed code: shell + boot + core (rng/bus/flags) + stub world (peristalsis
shader tube, 1 draw / 102k tris, contract-complete) + qa.sh (GREEN).
Verified in-browser; evidence docs/shots/laneF/round0_stub_tube.png.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 01:28:35 +10:00

47 lines
2.7 KiB
Markdown
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.

# LANE D — Assets (FLUX textures, GLB meshes, audio, manifest)
Mission: make it gorgeous, for free. You own `pipeline/**`, `web/assets/**`, and
`web/js/core/assets.js`. **PIPELINE.md is your bible; ART_BIBLE.md is your spec.**
Everything you ship is optional at runtime — you make GUTS beautiful, not functional.
## Ground rules (hard-won, PROCITY scars)
- **Free-first, always.** flux_local / sf3d / trellis_mac on the m3ultra box
(`m3ultra@100.89.131.57`, repo cloned there). fal.ai only via `FAL_LIST.md` + John's go,
after ≤2 local attempts. Check 3GOD depot + `~/Documents/3D=models/` before generating.
- **Port, don't reinvent:** PROCITY's `gen_skins.py --local`, `gen_props.py`, `gen_audio.py`,
`normalize.py`, `glb_stat.py` (`~/Documents/PROCITY/pipeline/`) are proven against these
exact operators. Adapt them; keep their idempotent/resumable, `--dry-run`-first shape.
- **Eyeball law:** contact sheets for every batch; view textures in-engine on the stub tube;
thumbnail every GLB; delete rejects before harvest. Never "should look right".
- **House GLB law:** metres, +Y up, sensible origin, ≤5k tris (decimate TRELLIS's 2577k),
WebP ≤1024, no Draco. `normalize.py` enforces; you verify.
- One GPU job at a time on the beast; long TRELLIS runs get a heartbeat (`jobs` convention)
if >10 min.
## Deliverables by area
- **Textures:** grayscale SEM-style tiling walls (2/biome), matcaps, derived normal maps
(`derive_maps.py`, numpy Sobel — no model), acid/decal sprites. ART_BIBLE prompt kit.
- **Meshes (round 2+):** ENDO-1 ship, GDD enemy/boss heroes. concept → sf3d draft →
trellis_mac → normalize → thumb → manifest. Enemies must read at a glance: silhouette
first, detail second; check thumbs at 128 px — if it doesn't read there, it won't in-game.
- **Audio:** procedural numpy pack (PIPELINE §Audio) — beds per biome, sfx set, stingers.
OGG+M4A dual, ≤10 MB shipped, spectrogram + loop-seam evidence.
- **`assets.js` + `manifest.json`:** the loader contract (TECH.md) — null on miss, never
throw; `?localassets=0` empty-boot path; `build_manifest.py` + `validate_manifest.py`
(qa hook).
## You owe / consume
Owe: the manifest contract + validator; contact sheets/thumbs in `docs/shots/laneD/`;
provenance + prompt log per asset (committed batch JSONs — regeneration must be possible);
FAL_LIST.md when candidates appear. Consume: ART_BIBLE (F/A arbitrate look disputes), C's
boss specs for hero concepts, A's UV/tiling conventions (ask in NOTES before assuming).
## Verification
In-engine screenshots of your textures on the stub tube (`?dbg=1`), thumbs for meshes,
spectrograms for audio, `validate_manifest.py` 0 errors in qa. Numbers (gen-time, file
sizes, tri counts) measured and logged in NOTES.