# 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.