Mitigate CI cache timeouts and wire venue door-staff dialogue
- Drop actions/cache@v4 from the checks job: the Gitea runner cannot reach GitHub's cache service (/twirp/...CacheService timeouts, ~2min retries); Godot import is fast enough without it. Add GODOT_SILENCE_ROOT_WARNING=1. - Document the cache situation and re-enable path in docs/RELEASING.md - VenueScenario.door_staff_line(context, rng): seeded-random venue lines - GameManager logs id/ticket/wand-check, refusal, and prohibited-item lines from the venue scenario (Joke Shop flavor) during inspection/screening - Test coverage: all Joke Shop contexts, unknown contexts, empty venues, deterministic seeded picks (54 tests pass)
This commit is contained in:
1 parent
a3768c2ce4
commit
0b5cd772a5
8 files changed
+142
-7
No files matched your search
@@ -1,5 +1,19 @@
|
||||
# TODO
|
||||
|
||||
## 🔧 CI — cache timeout mitigation (from .gitea/logs/ review)
|
||||
|
||||
`actions/cache@v4` times out against GitHub's cache service on this runner
|
||||
(`/twirp/github.actions.results.api.v1.CacheService/…` — the Gitea host has no
|
||||
local actions-cache configured). Restore/save retry for ~2 min per run. The
|
||||
checks job still passes; this is noise + risk of flaky timeouts.
|
||||
|
||||
- [x] Remove the `actions/cache@v4` step from `checks` in `.gitea/workflows/build.yml`
|
||||
(Godot import takes ~4s; caching .godot is not worth the timeout risk).
|
||||
- [x] Add `GODOT_SILENCE_ROOT_WARNING=1` to godot steps to quiet container-as-root noise.
|
||||
- [ ] Push and confirm the next `.gitea/logs/` run has no `CacheService` timeouts.
|
||||
- [x] Optional (host admin): document in `docs/RELEASING.md` that `actions/cache` needs a
|
||||
Gitea `[cache.actions]` + cache server before it can be reintroduced.
|
||||
|
||||
## 🔴 PRIORITY — Ship downloadable builds (so the README Downloads links work)
|
||||
|
||||
Goal: users hitting the README **Downloads** section can actually download a playable version from
|
||||
@@ -26,6 +40,37 @@ Goal: users hitting the README **Downloads** section can actually download a pla
|
||||
|
||||
## Open Polish
|
||||
|
||||
- [ ] Add venue-specific door-staff dialogue usage (scenario `door_staff_lines` is authored but not yet shown in the prototype UI).
|
||||
- [ ] Add a body/wand cooldown feel: wand screening currently has no reuse penalty; consider a short per-guest scan animation.
|
||||
- [ ] Add an escape-to-circuit handling note: `signals` in `Strings.fmt` are positional; keep `%` placeholders stable when adding keys.
|
||||
|
||||
## Detailed Graphics
|
||||
|
||||
The prototype is entirely procedural `BoxMesh` with flat `StandardMaterial3D` colors (see `src/game/world_builder.gd` and `src/game/npc_avatar.gd`). The items below upgrade it toward a finished look. **When a task needs a texture, sprite, decal, or reference image, use the integrated image-generation function to produce it** (e.g. seamless building facade, sidewalk concrete, asphalt, awning sign, wristband/ID inspection cards, HUD icons). Generated images go under `assets/` and are imported as Godot textures; keep them small (≤1024px) and power-of-two where possible.
|
||||
|
||||
### Environment
|
||||
|
||||
- [ ] Replace flat facade boxes with textured materials: brick/concrete facade, glass door, awning with a readable sign (generate facade + sign textures).
|
||||
- [ ] Add a sidewalk concrete texture and street asphalt texture with a center-line decal (generate seamless textures).
|
||||
- [ ] Add a sky: `ProceduralSkyMaterial` or a generated skybox, plus a sun with soft shadows (currently a bare `DirectionalLight3D` + flat ambient).
|
||||
- [ ] Add simple props for depth: bollards, a trash can, a street lamp, a planter near the entrance (generate or model low-poly props).
|
||||
- [ ] Add a night/evening lighting pass: dim ambient, warm street-lamp point lights, and a visible flashlight cone (ties into the existing `G` flashlight toggle).
|
||||
|
||||
### NPCs
|
||||
|
||||
- [ ] Replace capsule bodies with a simple humanoid rig (head/torso/limbs) or a low-poly character mesh, keeping the archetype color coding as a fallback.
|
||||
- [ ] Add per-archetype visual identity: distinct silhouettes or accessories (e.g. camera for influencers, delivery box, performer prop) instead of color-only.
|
||||
- [ ] Add a simple walk/idle animation (procedural bob or imported animation) so NPCs don't glide.
|
||||
- [ ] Add a facing/attention cue: NPC head turns toward the guard when `perceive_guard` reports `aware`/`near`.
|
||||
|
||||
### UI and feedback
|
||||
|
||||
- [ ] Replace text-only inspection with visual artifact cards: wristband/ID/ticket images showing color, pattern, date, and event marking (generate card art).
|
||||
- [ ] Add HUD icons for the tone picker, wand, flashlight, and door-lock states (generate small icons).
|
||||
- [ ] Add a subtle screen-space vignette or color grade per escalation level to reinforce the existing color-coded escalation label.
|
||||
- [ ] Add a body-camera frame overlay (corner timestamp + REC indicator) to sell the evidence/recording fantasy.
|
||||
|
||||
### Performance and pipeline
|
||||
|
||||
- [ ] Set up an `assets/` import convention (textures, materials, meshes) and document it in `README.md`.
|
||||
- [ ] Profile the crowd: ensure textured materials and props don't hurt the target frame rate around a busy entrance.
|
||||
- [ ] Add LOD or culling for distant NPCs/props if the crowd grows.
|
||||
Reference in new issue
Block a user