- Escalation cue now includes a shape meter and numeric level
("Escalation: Blocking [###--] L3/5") in addition to the colour and name, so it
reads in grayscale. Hud.escalation_meter(level) is pure and tested.
- HUD font scale from settings actually works: set_font_scale() resizes fonts via
theme overrides instead of Control.scale, which pushed the right-anchored clock
label off-screen. It now covers the top, log, target, hint, time, mode,
escalation, cooldown, and debug labels.
- Settings load before the HUD exists, so _ready() re-applies player settings after
_build_ui(); previously a saved font scale was ignored until the next apply.
Tests/docs
- Headless suite 134 -> 139 (test_accessibility.gd).
- Verified visually at 1.4x scale: no overflow, meter readable.
- README, TODO section moved to DONE, MEMORY. Version 0.2.9.
2.3 KiB
2.3 KiB
TODO
Godot 4.3 prototype. Release v0.2.9 is tagged. Headless suite 139/139, plus the session, PLAN-verb, crowd, emergency, timeline, audio, and windowed focus/radial smokes.
Host REQUIRE_SIGNIN_VIEW stays deferred.
Scenario content still missing vs PLAN lists
- Joke Shop: guest on the reservation list without ID; borrowed/mismatched ID; guest refuses wand screening; late arrival during a performance.
- Studio: filming-boundary repeat (influencer ignores a posted line); celebrity-arrival
crowd spike (more rubberneckers, not only one
arrivespawn). - Building: "activate body camera" and "request reason" once those verbs exist, used in at least one authored event.
Distribution follow-up (host config, deferred)
Verified via API+host credentials (2026-10-31):
- Repo is public (
private:false) and account has admin rights. - Release
v0.2.1now carries all five artifacts (portable binaries + NSIS installer + AppImage). - Remaining host setting: instance-wide
[service] REQUIRE_SIGNIN_VIEW=truemakes anonymous browsing/downloads redirect to login. Host admin:REQUIRE_SIGNIN_VIEW = falseunder[service]inapp.ini, restart Gitea. Alternative: mirror downloads.
Open Polish
- Keep
%placeholders stable inStrings.fmtwhen adding keys (positional formatting).
Screen design references (QA tooling)
tools/screen_designs.py generatewrites one reference design per screen (from thedocs/descriptions) todocs/screens/designs/, with an offline--draftwireframe mode and an OpenRouter--aimockup mode.tools/screen_designs.py comparechecksdocs/screenshots/*.pngagainst the designs (aspect ratio, size, blank-frame, and layout/palette/detail drift).- Vision-model judge for semantic screenshot comparison. Pixel and perceptual metrics cannot decide whether a frame's composition is correct; a follow-up should send the capture + reference design to a vision model and ask whether they depict the same screen.
Tooling (when an editor workflow exists)
- IDE/editor-based GUT integration. Until then the custom headless runner stays.
- Optional later: author venues as
.tresresources instead ofScenarioFactoryfunctions.