Unveränderter Ausgangsstand inklusive Masterprompt und Konzeptbildern unter assets/. .godot/ und docs/screenshots/ bleiben laut .gitignore unversioniert; letztere sind unter ../backups gesichert. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
56 lines
4.5 KiB
Markdown
56 lines
4.5 KiB
Markdown
# Phase 19 · Glasballiste g06 · QA
|
|
|
|
Stand: 27. September 2026. Sechste Figur mit gewichtetem Skelett — kopfloser Ballisten-Läufer mit Kristallbogen, Aufwertung der Funkenlanze.
|
|
|
|
## Ergebnis
|
|
|
|
| Prüfung | Ergebnis | Beweis |
|
|
| --- | ---: | --- |
|
|
| GLB-Geometrie, Gewichte, Clips | 30 bestanden | [phase19-skin-audit.json](phase19-skin-audit.json) |
|
|
| Godot-Skelett, Fußkontakt, Schussablauf, Kampfanbindung | 44 bestanden | [phase19-rig-verification.json](phase19-rig-verification.json) |
|
|
| Wirtschaft, Kampf, Lebenszyklus | 209 bestanden | [test-runner.log](phase19-logs/test-runner.log) |
|
|
| Fähigkeitsauslöser | 33 bestanden | [ability-events.log](phase19-logs/ability-events.log) |
|
|
| Fähigkeiten, Bedienung, vier KI-Partien | 1.665 bestanden | [faction-test.log](phase19-logs/faction-test.log) |
|
|
| Smoke / Assets | 450 bestanden | [smoke-test.log](phase19-logs/smoke-test.log) |
|
|
| Release-Eingaben (Version, Manifeste, GLB-Hashes) | bestanden | [release-check.log](phase19-logs/release-check.log) |
|
|
| Betrachter-Aufnahmen (Titel/ID geprüft) | Glasballiste G06 · 15.784 Dreiecke · 20 Knochen | [screenshots/phase19](screenshots/phase19) |
|
|
| Spielkamera (Bau, Nah, Kampf) | zwei aufgewertete Glasballisten | `field-*.png` |
|
|
|
|
Die vier KI-Partien enden mit denselben Kernwerten wie in Phase 18; das Modell ändert keine Spielwerte.
|
|
|
|
## Überarbeitung gegenüber dem ersten Phase-19-Stand
|
|
|
|
Der erste Entwurf vom 24. September bestand die Funktionsprüfungen, wich aber sichtbar vom Konzept ab: ein weißer, humanoider Glasrumpf mit Ladearmen, blasse Bögen und ein schlichter schwarzer Kasten als Rückansicht. Nach der [Qualitätsvorgabe](../../docs/engine-pruefung-2026-09-19.md) zählen Form, Material und Lesbarkeit, nicht bestandene Funktionstests. Die Figur ist deshalb neu aufgebaut: Basaltchassis, Messingrahmen, große facettierte Orangekristall-Bögen, glühende Kristallschiene, Kurbelräder, Fachwerk-Heckgehäuse und digitigrade Beine mit Krallenfüßen, wie im Konzeptbild. Der erste Stand liegt unter `assets-source/phase19/v1-humanoid/`.
|
|
|
|
## Gezielte Anbindung
|
|
|
|
- `attack_cycle` `["attack_a","attack_b","attack_a","ability"]`. Jeder 4. Treffer spielt den Panzerbrecherschuss.
|
|
- Ruhelage ist gespannt und geladen. Auslösung genau bei `0,90 s`: Sehne schnellt vor, Bögen federn nach vorn, Bolzen verlässt die Schiene (ausgeblendet bis `1,02 s`), dann Nachladen über die Kurbel bis `1,24 s`. Bei `1,30 s` stimmt die Pose wieder mit dem Clipbeginn überein.
|
|
- Füße sind per analytischer Zwei-Knochen-IK gepflanzt und als FK bei 30 Hz eingebettet. Ein Laufzyklus legt **0,52 m** zurück, wie `SkeletalFigure` rechnet; gepflanzte Füße rutschen messbar nicht (Fehler < 10⁻⁷ m pro Bild). Maximaler Beinkontaktfehler 4,6 · 10⁻⁷ m.
|
|
- Tiefster Punkt des verformten Meshs in allen neun Clips: +1 mm über dem Boden.
|
|
- Panzerteile sind starr gewichtet. Gelenkmanschetten, Hydraulikschläuche, die sich über ihre Länge biegenden Kristallbögen und die Sehne tragen die Mischgewichte (11,18 %).
|
|
- Der Turmknochen heißt `Spine`, damit die vorhandene Trefferüberlagerung greift. Der kopflose Läufer hat keine `Head`-/Arm-Knochen; die Fähigkeitsüberlagerung bleibt dadurch wirkungslos, die Fähigkeit selbst spielt im Angriffszyklus.
|
|
- Materialien `GB_*`. `GB_Crystal` und `GB_Ember` werden als `StandardMaterial3D.duplicate()` (Emission) übernommen, die übrigen nutzen den gemeinsamen Oberflächenshader.
|
|
|
|
## Befehle
|
|
|
|
```bash
|
|
ALSOFT_DRIVERS=null blender -b --python-exit-code 1 --python assets-source/phase19/build_glasballiste.py
|
|
godot --headless --editor --import
|
|
python3 tools/verify_glasballiste.py
|
|
godot --headless --path . res://tools/verify_glass.tscn
|
|
godot --path . res://tools/glass_review.tscn
|
|
godot --path . res://tools/glass_field_review.tscn
|
|
godot --headless --path . res://tests/test_runner.tscn
|
|
godot --headless --path . -- --faction-test
|
|
godot --headless --path . -- --smoke-test
|
|
python3 tools/build_demo.py --check-only
|
|
```
|
|
|
|
`glass_field_review` gibt nur für die Aufnahme zusätzliches Gold aus, um zwei Funkenlanzen aufzuwerten; Balancewerte bleiben unverändert.
|
|
|
|
## Offen
|
|
|
|
- Nativer Windows-Lauf und menschliche Balance-/Bedienungstests (unverändert aus Phase 17).
|
|
- Demo-Rebuild mit Funkenlanze und Glasballiste im Paket (`python3 tools/build_demo.py`), sobald eine neue Demo-Version fällig ist. Die Release-Eingaben sind geprüft.
|
|
- Die Glasballiste nutzt Einheitsmaterialien mit Flächen- und Facettenfarben, keine eigenen Texturen. Für Nahansichten wären gebackene Kanten- und Rauheitsdetails der nächste Schritt.
|