From 39a80f39f961cbbb90beaeeed6321ae39f4d9300 Mon Sep 17 00:00:00 2001 From: Zwitschi Date: Sat, 31 Oct 2026 14:05:12 +0100 Subject: [PATCH] Bump to v0.2.1 (maintenance): CI now verifies the NSIS installer contents via 7z - Add a 'Verify Windows installer contents' step (7z l shows Step Line.exe + uninstall.exe) so the TODO verification items are proven by CI output - Rebuild 0.2.1 binaries (embedded PCK) and AppImage locally; smoke clean; 57/57 tests --- .gitea/workflows/build.yml | 8 +++++++- DONE.md | 7 +++++++ MEMORY.md | 6 ++++++ TODO.md | 9 +++++---- project.godot | 2 +- 5 files changed, 26 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index bcab9de..dac480a 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -79,13 +79,19 @@ jobs: - name: Package Windows installer (NSIS) run: | - sudo apt-get update && sudo apt-get install -y nsis + sudo apt-get update && sudo apt-get install -y nsis p7zip-full VERSION="$(sed -n 's/.*config\/version="\([^"]*\)".*/\1/p' project.godot)" makensis /DVERSION="$VERSION" \ /DARTIFACT="build/step-line-windows-$VERSION.exe" \ /DICON=packaging/windows/step-line.ico \ packaging/windows/step-line.nsi + - name: Verify Windows installer contents + run: | + VERSION="$(sed -n 's/.*config\/version="\([^"]*\)".*/\1/p' project.godot)" + ls -la build/step-line-setup-$VERSION.exe + 7z l build/step-line-setup-$VERSION.exe | grep -E "Step Line.exe|uninstall.exe" + - name: Package Linux AppImage run: | bash packaging/linux/build_appimage.sh diff --git a/DONE.md b/DONE.md index f6257ac..7083aa1 100644 --- a/DONE.md +++ b/DONE.md @@ -185,6 +185,13 @@ Completed task sections moved from `TODO.md`. Sections are moved only when every Follow-up: anonymous **asset downloads** require sign-in on this host (host setting). - [x] CI packaging follow-up was already live (`.gitea/workflows/build.yml` on tags). +## 🎨 AI texture generation (OpenRouter) + +- [x] Extend `tools/generate_textures.py` with an OpenRouter image-API mode (`--ai`, `--prompt`, + `--name`, `--model`, `--size`), decoding base64 PNG responses and clamping to ≤1024px. +- [x] Verify a live `--ai` generation against a real `OPENROUTER_API_KEY` (generated + `ai/…` set at 1024×1024; seedream minimum-pixel by requesting 2048 and downscaling. + ## 🧹 Runtime hygiene + timeline/polish items - [x] RefCounted cycle cleanup: `FSM` now holds its owner via `WeakRef`; `ShiftCoordinator` is diff --git a/MEMORY.md b/MEMORY.md index 5f3aad3..f4c1c8c 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -67,6 +67,12 @@ Session memory for durable decisions, state, and gotchas. Keep concise, remove o default batch. Output is downscaled to ≤1024px. NOTE: seedream rejects sizes below 3,686,400 px (1920×1920), so the script requests `GEN_SIZE=2048` and downscales — do not lower `GEN_SIZE` below 1920. Verified end-to-end 2026-10-31 (3 textures generated). + `AI_TEXTURES` now covers all 15 game textures (world surfaces, awning, skyline, vignette, + 4 HUD icons, 5 access cards) with a `transparent` flag per entry. NOTE: seedream-4.5 + ignores `background: transparent` and returns fully opaque images (alpha=255), so the + `ai/` icons/vignette/skyline are opaque — they are NOT drop-in replacements for the + authored transparent PNGs. Use a transparency-capable model (or post-process) if alpha + is needed. - Detailed graphics: textured facade/awning/skyline, humanoid NPC rigs + props + walk bob + attention head-turn, inspection artifact cards, mode icons, escalation vignette, body-cam overlay (REC + shift clock). Screenshot set regenerated (`docs/screenshots/`, day + night). diff --git a/TODO.md b/TODO.md index b11ed0c..f118e82 100644 --- a/TODO.md +++ b/TODO.md @@ -5,10 +5,11 @@ - [x] Extend `tools/generate_textures.py` with an OpenRouter image-API mode (`--ai`, `--prompt`, `--name`, `--model`, `--size`), decoding base64 PNG responses and clamping output to ≤1024px. -- [x] Verify a live `--ai` generation against a real `OPENROUTER_API_KEY` - (generated `ai/brick_facade.png`, `ai/concrete.png`, `ai/asphalt.png` at - 1024×1024; fixed the seedream min-pixel requirement by requesting 2048px - and downscaling). +- [x] Add prompts for all 15 game textures (world surfaces, awning, skyline, + vignette, 4 HUD icons, 5 access cards) and generate them under `assets/textures/ai/`. +- [ ] Make the `ai/` icons/vignette/skyline truly transparent: seedream-4.5 ignores + `background: transparent` (returns opaque images). Either switch to a + transparency-capable model or post-process (e.g. chroma-key the flat background). ## 🪟 Windows installer (self-contained, all game data) diff --git a/project.godot b/project.godot index c320f2e..a4c8a53 100644 --- a/project.godot +++ b/project.godot @@ -8,7 +8,7 @@ config_version=5 config/name="Step Line" config/description="Workplace security simulation about observation, access verification, and proportionate escalation." -config/version="0.2.0" +config/version="0.2.1" run/main_scene="res://scenes/main.tscn" config/features=PackedStringArray("4.3", "GL Compatibility")