Add model viewer with automated screenshot script

This commit is contained in:
2026-08-21 11:25:50 +02:00
parent d1ba3fc9c3
commit b05835df74
5 changed files with 384 additions and 0 deletions
+16
View File
@@ -19,6 +19,22 @@ npm run dev # Dev-Server mit HMR
- `Makefile`: `make web`/`make dev`/`make build` (Container-Build via Podman).
- UI-Sprache: Deutsch (Skill-Namen, Level-up-Karten); Code-Kommentare bisher gemischt, Git-Messages englisch.
## Modell-Viewer (visuelle Modell-Checks)
- `web/viewer.html` = eigener Vite-Entry (auch im Build): rendert ein Gegner-/Boss-Modell
isoliert auf Grid-Bühne mit hellem Licht, Turntable-Kamera (Auto-Fit per Box3) und
Mini-UI zum Umschalten. Modelle laufen gegen ein Stub-`Game` (Stub-Spieler als grüner
Blob 8 m entfernt als Blick-/Angriffsziel).
- URL-Params: `?m=<id>` (ids wie `dragon`, `krake`, `spider`, … siehe Registry in
`viewer.ts`), `&still=1` = statische Pose (nur `updateAnimation`, kein `update`).
- Automatisierte Screenshots: `scripts/model_shot.sh <id> [shots=4] [intervall=1.5] [still]`
startet eigenen Dev-Server auf Port 3100, öffnet Viewer-Fenster (Titel
„Wackelpeter Modell-Viewer"), minimiert die Konsole per KWin, macht `shots`
Turntable-Screenshots nach `/tmp/modelshot_*_crop.png`, blendet die Konsole wieder
ein, schließt das Viewer-Fenster und stoppt den 3100er-Server. Pfade kommen auf stdout.
- Workflow für Modell-Überarbeitung: Code editieren → `scripts/model_shot.sh <id>`
Crops lesen → iterieren. Keine Cheats, Klicks oder Bosskämpfe nötig.
## Architektur (web/src)
| Datei | Inhalt |