Add OpenRouter AI texture generation mode to the asset pipeline
- tools/generate_textures.py: --ai mode (OPENROUTER_API_KEY, --prompt, --name, --model, --size; base64 PNG decode; clamp to <=1024px) with a default batch covering the authored texture set; seedream minimum-size handled by requesting 2048 and downscaling - Generated AI asset set committed under assets/textures/ai/ (15 files, 1024x1024 each), kept separate from the deterministic PIL set - README/MEMORY/TODO document the mode and live verification - (work authored in a parallel session; linted/verified here — 57/57 tests)
This commit is contained in:
1 parent
0abd67fbaa
commit
5b994982bd
19 files changed
+274
-23
No files matched your search
@@ -59,6 +59,14 @@ Session memory for durable decisions, state, and gotchas. Keep concise, remove o
|
||||
- Assets pipeline: `python3 tools/generate_textures.py` produces all authored PNGs under
|
||||
`assets/textures/` (≤1024px, pow2); regenerate after changing the script, then run
|
||||
`godot --headless --import` before tests. 57 headless tests guard the pipeline.
|
||||
- AI texture mode: `python3 tools/generate_textures.py --ai` generates textures via the
|
||||
OpenRouter image API (`POST https://openrouter.ai/api/v1/images`, model
|
||||
`bytedance-seed/seedream-4.5` by default, base64 PNG in `data[].b64_json`). Requires
|
||||
`OPENROUTER_API_KEY` (a gitignored `.env` in the repo root holds it locally; source it
|
||||
with `set -a && . ./.env && set +a`). `--prompt`/`--name`/`--model`/`--size` override the
|
||||
default batch. Output is downscaled to ≤1024px. NOTE: seedream rejects sizes below
|
||||
3,686,400 px (1920×1920), so the script requests `GEN_SIZE=2048` and downscales — do not
|
||||
lower `GEN_SIZE` below 1920. Verified end-to-end 2026-10-31 (3 textures generated).
|
||||
- Detailed graphics: textured facade/awning/skyline, humanoid NPC rigs + props + walk bob +
|
||||
attention head-turn, inspection artifact cards, mode icons, escalation vignette, body-cam
|
||||
overlay (REC + shift clock). Screenshot set regenerated (`docs/screenshots/`, day + night).
|
||||
|
||||
Reference in new issue
Block a user