Add session shell and close world presentation follow-ups
Session shell - Startup venue menu (src/game/ui/start_menu.gd): keyboard + mouse, replaces the live-shift boot and V as the player-facing venue path (V stays a debug bind). - Pause overlay on Esc (src/game/ui/pause_overlay.gd): resume, restart shift, settings, quit to menu. - Settings panel (src/game/ui/settings_panel.gd): mouse look sensitivity and HUD font scale, persisted via Save into user://settings.json and loaded on boot. - Shift review "Run another shift" now returns to the venue menu. - New smoke: src/test/smoke_session_shell.gd (menu -> shift -> pause -> settings -> menu), passes headless and windowed. World and presentation - Skyline backdrop restored with a transparent asset and an alpha-scissor unshaded material; fixes the opaque black slab from the earlier attempt and the unimported texture path. - Steps and landing are a StaticBody3D with per-tread colliders, so the guard and NPCs walk up instead of clipping through. - Marquee Label3D scaled up (72 -> 160) so STEP LINE reads from the sidewalk. - Focus torus and name tag enlarged for 2-3 m readability. - Routine traffic despawns after an idle lifetime (NpcAvatar.ephemeral), so the 16-NPC cap no longer fills with standers; authored events stay for the shift. Docs and tests - PLAN.md test/CI section corrected to the custom headless runner and Gitea Actions. - README controls table, smoke checklist, test count, and status lists refreshed. - TODO/DONE/MEMORY updated; completed sections moved to DONE.md. - Headless suite 77 -> 88 passing (settings round-trip, step colliders, skyline alpha, session-shell UI behavior, traffic lifetime).
This commit is contained in:
1 parent
f11b441c07
commit
be429cab29
20 files changed
+989
-90
No files matched your search
@@ -1,39 +1,12 @@
|
||||
# TODO
|
||||
|
||||
Godot 4.3 prototype. Release **v0.2.1** is live on the host. The working tree (uncommitted)
|
||||
has the access-loadout fix and the ADR-0007–0010 control pass; headless suite **77/77** and a
|
||||
windowed focus/radial smoke pass.
|
||||
has the access-loadout fix, the ADR-0007–0010 control pass, and the session-shell / world
|
||||
follow-up batch; headless suite **88/88**, plus `smoke_session_shell.gd` and the windowed
|
||||
focus/radial smoke.
|
||||
|
||||
Host `REQUIRE_SIGNIN_VIEW` stays deferred.
|
||||
|
||||
## World and presentation follow-ups (found during the control smoke)
|
||||
|
||||
- [ ] The skyline backdrop was removed: `assets/textures/ai/game_ready/skyline.png` has an
|
||||
opaque black background, so the planes rendered as black slabs with window dots. Re-add
|
||||
the backdrop only with a transparent asset or a keyed shader.
|
||||
- [ ] Guard settles ~0.5 m above the ground after spawning on the landing. Check the capsule
|
||||
offset and the spawn `y`, and verify eye height while walking the steps.
|
||||
- [ ] Steps and the landing are visual-only (no collider). The guard walks through them; add
|
||||
simple step colliders or restage the landing so it does not intersect the walk path.
|
||||
- [ ] Marquee text (`STEP LINE`) is tiny from the sidewalk. Scale the Label3D up.
|
||||
- [ ] Focus ring and name tag are small at 2–3 m. Consider a larger torus / font after a
|
||||
real playtest.
|
||||
- [ ] NPC crowd cap (`MAX_LIVE_NPCS`) silently drops routine traffic at 16. Add a short
|
||||
despawn/lifetime for ordinary guests so the entrance does not fill up with standers.
|
||||
|
||||
## Session shell
|
||||
|
||||
The game boots into a live 900 s shift. `Save` declares `settings.json` and never uses it.
|
||||
`V` cycles venues by restarting the shift.
|
||||
|
||||
- [ ] Startup menu: pick venue, start shift, quit. Keyboard + click. Replaces `V` as the
|
||||
player-facing path (`V` may stay as a debug bind).
|
||||
- [ ] Pause overlay when `Esc` releases the mouse (or a dedicated pause key): resume, restart
|
||||
shift, settings, quit to menu.
|
||||
- [ ] Settings: mouse look sensitivity, persist through `Save` / `settings.json`. Load on boot.
|
||||
- [ ] Shift review "Run another shift" returns to the venue menu, not a silent restart of the
|
||||
same scenario.
|
||||
|
||||
## Remaining PLAN verbs (radial exists)
|
||||
|
||||
- [ ] Eye contact as a Level 1 action (PLAN / glossary). Distinct from raise-hand. Add a
|
||||
@@ -101,14 +74,6 @@ is in the working tree. Bodies still idle-stand at those spots.
|
||||
- [ ] Building: "activate body camera" and "request reason" once those verbs exist, used in
|
||||
at least one authored event.
|
||||
|
||||
## Documentation drift
|
||||
|
||||
- [x] README controls table, smoke checklist, test count, and implemented/not-yet lists
|
||||
refreshed for the control pass (77 tests).
|
||||
- [ ] `PLAN.md` Tech Stack / Planned Commands still say GUT and GitHub Actions; the project
|
||||
uses `src/test/test_runner.gd` and `.gitea/workflows/build.yml`.
|
||||
- [x] MEMORY: door_staff_lines log through `GameManager`; 300 s default removed.
|
||||
|
||||
## Distribution follow-up (host config, deferred)
|
||||
|
||||
Verified via API+host credentials (2026-10-31):
|
||||
|
||||
Reference in new issue
Block a user