diff --git a/DONE.md b/DONE.md index 89641d1..ee00999 100644 --- a/DONE.md +++ b/DONE.md @@ -1957,3 +1957,79 @@ screen-design judge is 21/21 match. The optional realism judge ran with local; the committed comparison sheet is `docs/blender_previews/sheet_texture_refinement_0.9.5.jpg`. Tagged `v0.9.5`; Gitea run 922 passed checks and the full build and published seven assets. + +## Patch 0.9.6 — Integration, performance and judge gate + +Goal: integrate the UI/model/texture patches, prove the combined build on the +target paths and leave a clean release-candidate handoff. + +### Integration and asset rebuild + +- [x] Rebuild all changed Blender/GLB/AO assets, re-import, and verify manifest/fit/ + audit coverage. (The v0.9.5 commit already rebuilt the base, eight characters, + gear and AO maps; this checkpoint re-imported them and re-ran + `blender_assets.py audit`/`fit` and `npc_pipeline.py audit`, all exit 0.) +- [x] Run the complete headless suite, Python tooling and smoke matrix; fix any + regression from the three polish patches. (Godot 263/263, Python 101/101; + 14 smokes green: audio, campaign, crowd, emergency, focus/radial, movement, + NPC budget, PLAN verbs, props, scenario content, session shell, timeline, + tutorial and UI flows. Campaign/tutorial used isolated `XDG_DATA_HOME`.) +- [x] Re-run the 24-NPC budget smoke and record frame time, mesh count and any + texture-memory change; check Web and Desktop HQ if available. (24 avatars, + 168 meshes, 131,616 triangles, 6.90 ms of 50 ms headless; NPC maps remain + 0.48 MB. A clean detached worktree at `f5b8ef2` built Linux/Windows/macOS/ + Web/HQ (`161.5/197.1/148.0/97.8/241.5 MB`); the Web zip has index.html, + wasm and pck, the HQ zip has `override.cfg`, and the HQ binary launches + headless with the Forward+ override.) +- [x] Verify save/campaign/tutorial behavior is unchanged by the visual/UI patches. + (Persistence/session tests remain in the 263-test suite; campaign and tutorial + smokes passed with isolated `XDG_DATA_HOME`.) + +### Visual gallery and judge gate + +- [x] Recapture the full gallery, portraits, venue/realsim stages and Desktop HQ A/B + as needed; no stale screenshots in the release set. (Gallery 21/21, + NPC baseline 48 frames, final-context review 96 frames and a fresh 10-shot + realism run were recaptured. No Forward+ code changed since 0.7.1, so the + HQ A/B was not re-staged; the HQ artifact is checked with the release build.) +- [x] Run `tools/check_screenshots.sh`, `screen_designs.py compare` and + `screen_designs.py judge` on the final captures. (21 good / 0 bad; compare + 21 good / 0 bad; judge 21/21 match, 0 review, 0 diff.) +- [x] Run the realism judge for the affected concepts with a pinned model; record + model, attempt count, spend and verdicts. (`z-ai/glm-5.3-flash`, 1 pass per + shot, 10 shots, no fallback/retry: mean overall 2.1, lighting 2.4, materials + 2.1, texture 1.7, backdrop 2.3, characters 1.8, Pillow gap 0.291. The local + tool does not expose token spend; the report is gitignored under + `docs/screens/realism/2026-11-02-096/`.) +- [x] Review all `review` verdicts manually; convert unexplained layout/composition + mismatches into fixes or explicit known limitations. (Screen judge has 0 + `review` verdicts; the remaining realism comments are the known stylized + gaps already documented, not layout regressions.) +- [x] Ensure generated realism folders remain gitignored/local-only and only the + durable report decisions/docs are committed. (`docs/screens/realism/` stays + ignored; `git status` shows no generated capture files.) + +### Release-candidate handoff + +- [x] Update README, architecture, development status, changelog and TODO with the + final patch-level results and any remaining gaps. (README/PLAN/architecture + now point at 0.9.6; the changelog and development status record the + integration build, performance numbers, judge results and the clean-worktree + export rule; `docs/RELEASING.md` documents the ignored-folder trap.) +- [x] Tag/version or otherwise freeze `0.9.6` as the integration checkpoint before + the `0.10.0` release candidate. (Tag `v0.9.6` on `4bb2896`; Gitea run 1296 + passed checks and the full build and published seven assets.) +- [x] Exit: combined build is functionally green, visually reviewed, performance + measured and ready for the 0.10.0 content-lock/playtest phase. + + +Completed 2026-11-03: the 0.9.6 integration checkpoint is closed. The current +asset set re-imported and passed `blender_assets.py audit`/`fit` and +`npc_pipeline.py audit`; the full suite is 263/263 with 101/101 Python tests and +14 smokes green; the 24-NPC budget is 6.90 ms with 168 meshes and 131,616 +triangles; the gallery and screen-design gate are 21 good / 0 bad and 21/21 +match; the pinned realism judge (`z-ai/glm-5.3-flash`) scored mean overall 2.1 +with a 0.291 Pillow gap. A clean worktree built Linux/Windows/macOS/Web/HQ at +161.5/197.1/148.0/97.8/241.5 MB; the Web zip and HQ override were checked and +the HQ binary launched headless. Tagged `v0.9.6`; Gitea run 1296 passed checks +and the full build and published seven assets. diff --git a/MEMORY.md b/MEMORY.md index e567b20..6b189bd 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -175,14 +175,14 @@ Session memory for durable decisions, state, and gotchas. Keep concise, remove o Previous/Next disable at the ends; F1 tutorial skip is keyboard-only by design. - **Version and roadmap renumber (2026-11-02):** source was **0.9.3** at the UI polish milestone, **0.9.4** after the NPC pass, now **0.9.5** after the texture - and material pass. Next work is **0.9.6 integration**, then the **0.10.0** - minor release candidate. `TODO.md` plans only 0.x patch/minor increments; no - major-version scope is defined yet. The `v0.9.5` tag is the release trigger; no + and material pass, and **0.9.6** as the integration checkpoint. Next work is + the **0.10.0** minor release candidate. `TODO.md` plans only 0.x patch/minor increments; no + major-version scope is defined yet. The `v0.9.6` tag is the release trigger; no tag was created for 0.9.3. - **Priority change (2026-11-02):** the map optimization, pre-build NPC revisit, - 0.9.3 UI polish, 0.9.4 NPC visual optimization and 0.9.5 texture/material pass - are complete and in `DONE.md`. 0.9.6 integration and 0.10.0 release work are - next. The current source version is 0.9.6. + 0.9.3 UI polish, 0.9.4 NPC visual optimization, 0.9.5 texture/material pass and + 0.9.6 integration are complete and in `DONE.md`. 0.10.0 release-candidate work + is next. The source version is 0.9.6. - **0.9.6 integration (2026-11-03):** no gameplay/content changes. A clean detached worktree at `f5b8ef2` rebuilt Linux/Windows/macOS/Web/HQ without the dirty tree's ignored `tmp/`/`build/` payload; the in-repo build was 1.6–3.1 GB @@ -190,6 +190,11 @@ Session memory for durable decisions, state, and gotchas. Keep concise, remove o artifacts from a clean checkout/worktree. Verification: 263/263 tests, 101/101 Python, 14 smokes, 24-NPC 6.90 ms / 168 meshes / 131,616 triangles, gallery 21/0, screen judge 21/21, realism judge overall 2.1 / gap 0.291. +- **Release v0.9.6 (2026-11-03):** commit `4bb2896` tagged `v0.9.6`; Gitea + Actions run 1296 passed checks and the full build and published seven assets + (Linux, Windows, macOS, NSIS setup, AppImage, Web, Desktop HQ). Release page: + `https://git.allucanget.biz/zwitschi/security-game/releases/tag/v0.9.6`. This is + the integration checkpoint before 0.10.0; do not reuse the tag. - **Release v0.9.5 (2026-11-02):** commit `4bc6390` tagged `v0.9.5`; Gitea Actions run 922 passed checks and the full build and published seven assets (Linux, Windows, macOS, NSIS setup, AppImage, Web, Desktop HQ). Release page: @@ -859,8 +864,9 @@ Session memory for durable decisions, state, and gotchas. Keep concise, remove o ## Plan vs code `PLAN.md` describes intended design; `README.md` and `DONE.md` describe what shipped. As of -2026-11-02 the playable build covers the three venues, tutorials/campaign/checkpoints, the 0.9.3 -UI/accessibility pass, the 0.9.4 NPC visual optimization, the 0.9.5 texture/material pass, and the Blender + realism asset pipeline. `TODO.md` holds the remaining +2026-11-03 the playable build covers the three venues, tutorials/campaign/checkpoints, the 0.9.3 +UI/accessibility pass, the 0.9.4 NPC visual optimization, the 0.9.5 texture/material pass, the +0.9.6 integration checkpoint, and the Blender + realism asset pipeline. `TODO.md` holds the remaining 0.9.6–0.10.0 work. The project uses a custom headless runner, not GUT, and Gitea Actions, not GitHub Actions. @@ -868,7 +874,7 @@ GitHub Actions. ## Uncommitted Workstreams -- **None (2026-11-02).** The 0.9.5 texture pass is committed, tagged `v0.9.5` and - published with seven assets; the workspace is clean apart from local/gitignored - realism and capture output. Keep the rule from `AGENTS.md`: check `git status` +- **None (2026-11-03).** The 0.9.6 integration checkpoint is committed, tagged + `v0.9.6` and published with seven assets; the workspace is clean apart from + local/gitignored realism and capture output. Keep the rule from `AGENTS.md`: check `git status` before committing, and never revert another contributor's in-flight files. diff --git a/README.md b/README.md index 6b7d5f6..46f4d96 100644 --- a/README.md +++ b/README.md @@ -38,11 +38,12 @@ precision walk, the Joke Shop's Sunset Strip frontage, the TV Studio arrival, an > Downloads are public (no sign-in required) since the host's instance-wide > `REQUIRE_SIGNIN_VIEW` was disabled on 2026-10-31. > -> **Latest published: v0.9.5** — the texture and material refinement pass: -> 256² NPC maps, a four-times fabric weave without baked AO blotches, repair of -> the Walk of Fame terrazzo band and awning stripe, and per-phase skyline haze, -> on top of the v0.9.4 NPC visual optimization, the Hollywood/Joke Shop maps and -> the v0.9.3 UI/accessibility polish. +> **Latest published: v0.9.6** — the integration checkpoint: the 0.9.5 texture +> and material refinement (256² NPC maps, a four-times fabric weave without baked +> AO blotches, repaired Walk of Fame/awning surfaces and per-phase skyline haze) +> is packaged with the v0.9.4 NPC visual optimization, the Hollywood/Joke Shop +> maps and the v0.9.3 UI/accessibility polish, with the full gallery, smoke matrix +> and Web/Desktop HQ build re-verified. > > **Current source: v0.9.6** — tagged and built from the same commit. > Releases are built automatically when a `vX.Y.Z` tag is pushed diff --git a/TODO.md b/TODO.md index 69f24e5..5dd9810 100644 --- a/TODO.md +++ b/TODO.md @@ -5,7 +5,7 @@ see `AGENTS.md` for the workflow and `MEMORY.md` for the decisions behind these ## Gap Analysis and 0.x Roadmap -Baseline: **v0.9.5** (2026-11-02). Three playable venues, tutorial/campaign/checkpoint resume, +Baseline: **v0.9.6** (2026-11-03). Three playable venues, tutorial/campaign/checkpoint resume, difficulty/help, audio/accessibility settings, a 24-NPC budget baseline, a complete escalation/access/radio loop, shift review, the Blender asset library, 263 headless + 101 Python tests, a 21/21 clean screen-design judge and an optional Forward+ Desktop HQ build. This is a strong @@ -45,73 +45,11 @@ release-candidate foundation, not yet a 0.10.0 release candidate. | Future 0.x | Stable 0.x feature set | Live replay, more venues, VO/music, image-to-mesh props and seasonal content | Scope creep before release | 0.11.0+ | **Current priority:** map optimization, the **pre-build NPC revisit**, the -**0.9.3 UI polish**, **0.9.4 NPC visual optimization** and **0.9.5 texture -refinement** passes are complete (all moved to `DONE.md` on 2026-11-02). -0.9.6 integration and the 0.10.0 release candidate are next. The source version -is now 0.9.5; the v0.9.5 release is published. - -## Patch 0.9.6 — Integration, performance and judge gate - -Goal: integrate the UI/model/texture patches, prove the combined build on the -target paths and leave a clean release-candidate handoff. - -### Integration and asset rebuild - -- [x] Rebuild all changed Blender/GLB/AO assets, re-import, and verify manifest/fit/ - audit coverage. (The v0.9.5 commit already rebuilt the base, eight characters, - gear and AO maps; this checkpoint re-imported them and re-ran - `blender_assets.py audit`/`fit` and `npc_pipeline.py audit`, all exit 0.) -- [x] Run the complete headless suite, Python tooling and smoke matrix; fix any - regression from the three polish patches. (Godot 263/263, Python 101/101; - 14 smokes green: audio, campaign, crowd, emergency, focus/radial, movement, - NPC budget, PLAN verbs, props, scenario content, session shell, timeline, - tutorial and UI flows. Campaign/tutorial used isolated `XDG_DATA_HOME`.) -- [x] Re-run the 24-NPC budget smoke and record frame time, mesh count and any - texture-memory change; check Web and Desktop HQ if available. (24 avatars, - 168 meshes, 131,616 triangles, 6.90 ms of 50 ms headless; NPC maps remain - 0.48 MB. A clean detached worktree at `f5b8ef2` built Linux/Windows/macOS/ - Web/HQ (`161.5/197.1/148.0/97.8/241.5 MB`); the Web zip has index.html, - wasm and pck, the HQ zip has `override.cfg`, and the HQ binary launches - headless with the Forward+ override.) -- [x] Verify save/campaign/tutorial behavior is unchanged by the visual/UI patches. - (Persistence/session tests remain in the 263-test suite; campaign and tutorial - smokes passed with isolated `XDG_DATA_HOME`.) - -### Visual gallery and judge gate - -- [x] Recapture the full gallery, portraits, venue/realsim stages and Desktop HQ A/B - as needed; no stale screenshots in the release set. (Gallery 21/21, - NPC baseline 48 frames, final-context review 96 frames and a fresh 10-shot - realism run were recaptured. No Forward+ code changed since 0.7.1, so the - HQ A/B was not re-staged; the HQ artifact is checked with the release build.) -- [x] Run `tools/check_screenshots.sh`, `screen_designs.py compare` and - `screen_designs.py judge` on the final captures. (21 good / 0 bad; compare - 21 good / 0 bad; judge 21/21 match, 0 review, 0 diff.) -- [x] Run the realism judge for the affected concepts with a pinned model; record - model, attempt count, spend and verdicts. (`z-ai/glm-5.3-flash`, 1 pass per - shot, 10 shots, no fallback/retry: mean overall 2.1, lighting 2.4, materials - 2.1, texture 1.7, backdrop 2.3, characters 1.8, Pillow gap 0.291. The local - tool does not expose token spend; the report is gitignored under - `docs/screens/realism/2026-11-02-096/`.) -- [x] Review all `review` verdicts manually; convert unexplained layout/composition - mismatches into fixes or explicit known limitations. (Screen judge has 0 - `review` verdicts; the remaining realism comments are the known stylized - gaps already documented, not layout regressions.) -- [x] Ensure generated realism folders remain gitignored/local-only and only the - durable report decisions/docs are committed. (`docs/screens/realism/` stays - ignored; `git status` shows no generated capture files.) - -### Release-candidate handoff - -- [x] Update README, architecture, development status, changelog and TODO with the - final patch-level results and any remaining gaps. (README/PLAN/architecture - now point at 0.9.6; the changelog and development status record the - integration build, performance numbers, judge results and the clean-worktree - export rule; `docs/RELEASING.md` documents the ignored-folder trap.) -- [-] Tag/version or otherwise freeze `0.9.6` as the integration checkpoint before - the `0.10.0` release candidate. (claimed; committing and tagging) -- [ ] Exit: combined build is functionally green, visually reviewed, performance - measured and ready for the 0.10.0 content-lock/playtest phase. +**0.9.3 UI polish**, **0.9.4 NPC visual optimization**, **0.9.5 texture +refinement** and **0.9.6 integration** passes are complete (all moved to +`DONE.md`). The **0.10.0 release candidate** is next: content lock, external +playtest, balance, save migration and release/legal sign-off. The source version +is 0.9.6; the v0.9.6 release is published. ## Postponed — Milestone 0.10.0 — Release candidate diff --git a/docs/development-status.md b/docs/development-status.md index 6c54fd7..a2a6b7e 100644 --- a/docs/development-status.md +++ b/docs/development-status.md @@ -42,6 +42,7 @@ Implemented so far: - NPC neck/shoulder transition (0.9.4 work): the body graph now uses a fuller neck base, a slightly tapered neck top and a lower shoulder root, giving the head/neck/shoulder line a trapezius slope instead of a thin post. The full character library was rebuilt with a final degenerate-face cleanup; the baseline comparison is `sheet_npc_baseline_compare-body.jpg`. - NPC face-depth pass (0.9.4 work): sclera are recessed and capped by a thin upper lid, and the separate jaw/cheek spheres are replaced by a chin plate and cheekbones sculpted into the head mesh. The full library was rebuilt; the comparison is `sheet_npc_baseline_compare-face.jpg`. - NPC torso/hip transition (0.9.4 work): the pelvis and chest are slightly wider than the waist, giving shirts and jackets a readable taper into the hips without changing the build multipliers or the skeleton. The comparison is `sheet_npc_baseline_compare-torso.jpg`. +- Release v0.9.6 (2026-11-03): the tagged commit `4bb2896` passed Gitea Actions run 1296 (checks + full build) and published seven artifacts (Linux, Windows, macOS, NSIS setup, AppImage, Web and Desktop HQ). Release page: . - Integration checkpoint (0.9.6 work): the clean worktree at `f5b8ef2` rebuilt all five release packages and the Desktop HQ zip without ignored `tmp/`/`build/` content (Linux 161.5 MB, Windows 197.1 MB, macOS 148.0 MB, Web 97.8 MB, HQ 241.5 MB). The Web zip contains `index.html`, `index.wasm` and `index.pck`; the HQ zip contains `override.cfg` and launches headless with the Forward+ override. Current verification: Godot 263/263, Python 101/101, 14 smokes green, 24-NPC budget 6.90 ms / 168 meshes / 131,616 triangles, gallery 21 good / 0 bad, screen judge 21/21 match with 0 review/diff, and a pinned realism judge (`z-ai/glm-5.3-flash`, one pass per shot) at mean overall 2.1 and Pillow gap 0.291. No new gameplay or content changes. - Release v0.9.5 (2026-11-02): the tagged commit `4bc6390` passed Gitea Actions run 922 (checks + full build) and published seven artifacts (Linux, Windows, macOS, NSIS setup, AppImage, Web and Desktop HQ). Release page: . - Release v0.9.4 (2026-11-02): the tagged commit `a57b86c` passed the Gitea checks and full build and published seven artifacts (Linux, Windows, macOS, NSIS setup, AppImage, Web and Desktop HQ). Release page: .