Add the alley walls, warm lantern, shutters, dumpster, AC clutter and door step for the Joke Shop. Build the studio stone facade, bulb canopy, glossy black car, stanchions and barriers. Rebuild only the world container when the venue changes, so the guard and UI survive; add per-venue navigation checks. Capture gallery shots 12/13, update the concept mapping and docs. Headless 231/231, Python 87/87, screenshot gate 13 good/0 bad. The vision-judge retry is tracked separately because the API key is invalid.
47 lines
2.9 KiB
Markdown
47 lines
2.9 KiB
Markdown
# TODO
|
|
|
|
Work is grouped by theme. Each item should be small enough to complete and verify on its own;
|
|
see `AGENTS.md` for the workflow and `MEMORY.md` for the decisions behind these plans.
|
|
|
|
## Forward+ desktop preset and a volumetric flashlight (v0.7.1)
|
|
|
|
The Compatibility renderer has no volumetrics, so the flashlight is a tight pool of light with
|
|
no visible shaft. A second desktop build can render it properly without touching the CI/default
|
|
path.
|
|
|
|
- [ ] Write the preset as an `override.cfg` (Godot reads it beside the binary/project) that sets
|
|
`rendering/renderer/rendering_method="forward_plus"`, enables `volumetric_fog_*` and SDFGI,
|
|
and keeps the Compatibility build as the default (`project.godot` unchanged).
|
|
- [ ] Gate the effect in code: only give the flashlight a volumetric component when the renderer
|
|
is Forward+ (`RenderingServer.get_rendering_device() != null`), so Web/CI builds are
|
|
untouched and the existing headless tests keep passing.
|
|
- [ ] Tune `light_volumetric_fog_energy`/`fog_density` for the LATE phase and re-check the
|
|
entrance so the shaft does not wash the facade again (the reason the wide cone was cut).
|
|
- [ ] A/B the two renderers with `capture_realism.gd` (same stages, two `--out` dirs) and record
|
|
the diff + judge scores in `docs/screens/realism/<date>-forward-plus/`.
|
|
- [ ] Add the preset to `tools/build_releases.sh` and `docs/RELEASING.md` as an optional
|
|
"desktop HQ" artifact, and note the runtime requirement (Vulkan driver) in `README.md`.
|
|
- [ ] Test: a headless run must still boot when Forward+ is unavailable (the preset must degrade
|
|
to Compatibility instead of failing to start).
|
|
|
|
## Realism follow-ups (deferred)
|
|
|
|
- [ ] Re-run the screen-design judge for `12-joke-shop` / `13-studio-arrival` when
|
|
`OPENROUTER_API_KEY` is valid; the 2026-11-01 attempt failed with an invalid-key HTTP 400.
|
|
- [ ] Capture a hooded/winter NPC close-up once a scenario spawns types 5-7 (the explicit
|
|
`--portrait-type` override is already in `capture_realism.gd`).
|
|
- [ ] Human-authored tree/hedge silhouettes: the whole scene now reads well except the foliage,
|
|
which is still flat-shaded clumps (`_shrub()`/`_tree()` in `tools/blender_assets.py`).
|
|
Only worth doing if a higher-poly organic builder is added to the library.
|
|
- [ ] Camera height: the concept frames are shot at ~1.55 m with a slightly wider lens; the game
|
|
camera sits at 1.7 m. Decide whether the first-person height should match the art direction
|
|
or stay at the current gameplay value.
|
|
|
|
## Future ideas (optional, not scheduled)
|
|
|
|
- [ ] Live 3D body-camera replay (the timeline is text-only today).
|
|
- [ ] Additional venues or seasonal events authored from the new `.tres` files.
|
|
- [ ] Real voice/dialogue audio (the crowd bed and radio crackle are procedural).
|
|
- [ ] Swap the primitive prop builder for an image-to-mesh model API behind the same
|
|
`assets/models/generated/<prop>.glb` contract.
|