- Regenerate icon.ico with classic BMP entries (16/32/48) — PNG-compressed ICO entries can fail NSIS' icon loader on some builds - CI copies assets/textures/icon.ico onto the packaging path right before makensis, removing any stale/missing-copy failures - Recreate v0.2.1 tag after this fix
75 lines
3.9 KiB
Markdown
75 lines
3.9 KiB
Markdown
# TODO
|
|
|
|
## 🎨 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 output to ≤1024px.
|
|
- [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)
|
|
|
|
Goal: a real Windows installer that includes the entire game (executable + data),
|
|
Start-Menu/desktop shortcuts, and an uninstaller — instead of a bare .exe + .pck.
|
|
|
|
- [x] Switch the Windows/Linux/macOS export presets to `binary_format/embed_pck=true` so a
|
|
single self-contained binary replaces the exe+pck pair (all game data in one file).
|
|
- [x] Add a game icon: `assets/icon.png` (AppImage/desktop) + `assets/icon.ico` and
|
|
`packaging/windows/step-line.ico` generated by `tools/generate_textures.py`.
|
|
- [x] Author `packaging/windows/step-line.nsi` (NSIS): installer that installs the exe, writes
|
|
the uninstaller, shortcuts, and registry uninstall entry.
|
|
- [x] Add CI packaging steps to `.gitea/workflows/build.yml` (NSIS via apt; AppImage via
|
|
appimagetool) so tags/dispatch produce `step-line-setup-<ver>.exe` and
|
|
`step-line-<ver>-x86_64.AppImage` next to the portable binaries.
|
|
- [x] Extend `tools/publish_release.sh` artifact glob to upload the installer/AppImage too.
|
|
- [ ] Verify on CI: NSIS installer builds (cannot be run locally — no `makensis` on this box).
|
|
- [ ] Verify the Windows installer contents in CI (e.g. `7z l` shows the embedded data file).
|
|
|
|
## 🐧 Linux AppImage (self-contained, all game data)
|
|
|
|
Goal: a single executable `.AppImage` that runs the full game on any recent distro.
|
|
|
|
- [x] Author AppDir files: `packaging/linux/step-line.desktop`, `packaging/linux/AppRun`,
|
|
icon wiring.
|
|
- [x] Add `packaging/linux/build_appimage.sh` (appimagetool; `APPIMAGE_EXTRACT_AND_RUN=1` to
|
|
avoid FUSE dependency) producing `step-line-<ver>-x86_64.AppImage`.
|
|
- [x] Local verification: built the AppImage on this machine and ran it headless
|
|
(`--appimage-extract-and-run --headless --quit-after 90` → 0 script errors,
|
|
`[Step Line] game started`).
|
|
- [x] AppStream metainfo added (`packaging/linux/step-line.appdata.xml`); tool validates clean.
|
|
- [ ] CI verification: AppImage step runs on tags/dispatch and the artifact uploads.
|
|
- [x] README Downloads table documents installer + AppImage rows and naming.
|
|
|
|
## Distribution follow-up (host config, no code work)
|
|
|
|
- [ ] Asset downloads currently require sign-in on the host (`/releases/download/…` redirects to
|
|
login). Decide with the host admin: open repo visibility / `REQUIRE_SIGNIN_VIEW=false` or
|
|
accept sign-in-required downloads. Pages and the tag page are already public (HTTP 200).
|
|
|
|
## Future Systems (design-level backlog)
|
|
|
|
- [ ] Body-camera replay timeline in the shift review.
|
|
- [ ] Venue selection startup menu (keyboard cycling with `V` is implemented).
|
|
- [ ] IDE/editor-based GUT integration when a Godot editor workflow is introduced.
|
|
|
|
## Open Polish
|
|
|
|
- [ ] Keep `%` placeholders stable in `Strings.fmt` when adding keys (positional formatting).
|
|
|
|
## Detailed Graphics — remaining performance items
|
|
|
|
The visual pass is done (textures, rigs, HUD feedback — see `DONE.md`). Remaining work is
|
|
performance hardening only.
|
|
|
|
- [ ] Profile the crowd: ensure textured materials and props hold target frame rate around a
|
|
busy entrance.
|
|
- [ ] Add LOD or culling for distant NPCs/props if the crowd grows.
|
|
|
|
## Screenshot Refresh
|
|
|
|
- [ ] Regenerate and verify the six README screenshots from the current build.
|