saumwacht-godot/docs/phase19-QA.md
Martin Stickelbroeck c2b447610c Baseline: Saumwacht 0.15.0 (Phase 20A) vor dem Umbau zu Champions of Luneraria
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>
2026-09-27 20:00:36 +02:00

4.5 KiB

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
Godot-Skelett, Fußkontakt, Schussablauf, Kampfanbindung 44 bestanden phase19-rig-verification.json
Wirtschaft, Kampf, Lebenszyklus 209 bestanden test-runner.log
Fähigkeitsauslöser 33 bestanden ability-events.log
Fähigkeiten, Bedienung, vier KI-Partien 1.665 bestanden faction-test.log
Smoke / Assets 450 bestanden smoke-test.log
Release-Eingaben (Version, Manifeste, GLB-Hashes) bestanden release-check.log
Betrachter-Aufnahmen (Titel/ID geprüft) Glasballiste G06 · 15.784 Dreiecke · 20 Knochen 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 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

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.