3.3 KiB
3.3 KiB
Projektregeln
Diese Regeln gelten für das gesamte Godot-4-Projekt.
Struktur und Bestand
- Neue Scan-Assets unter
assets/scan/, PBR-Texturen unterassets/textures/, Animationen unterassets/animations/ablegen. Szenen gehören nachscenes/, GDScript nachscripts/. - Bestehende Assetpfade nicht allein zur Vereinheitlichung verschieben: importierte Ressourcen, Szenen und Laufzeitreferenzen müssen erhalten bleiben.
- Neue Assetpakete in eigenen Unterordnern mit Herkunft und Lizenz dokumentieren.
Import und Materialien
- Bei jedem Import von FBX/OBJ-Scans oder PBR-Textursätzen automatisch passende externe
StandardMaterial3D-Ressourcen als.tresim Assetpaket erstellen und den zugehörigen Mesh-Oberflächen zuweisen. - Vorhandene Materialzuordnungen erhalten; bei mehreren Oberflächen separat zuordnen. Keine globale Überschreibung unterschiedlicher Materialien.
- Albedo, Normal, Roughness, Metallic und AO nach tatsächlich gelieferten Maps zuweisen. Normal-Maps aktivieren, OpenGL/DirectX-Konvention prüfen und bei DirectX den grünen Kanal korrekt invertieren. Keine Farbraumkorrektur auf Daten-Maps anwenden.
- Bei gepackten Maps die belegten Kanäle explizit zuordnen; fehlende Maps durch plausible skalare Werte ersetzen. Height-Maps nicht als Normal-Maps behandeln. Transparenz nur bei tatsächlich transparenten Oberflächen aktivieren.
- Import und Materialzuordnung mit Godot prüfen; Normalen, UV-Maßstab und Oberflächen im echten Render kontrollieren.
- Bestehende spezialisierte Shader und funktionierende Materialmodule nicht grundlos ersetzen.
Module
- Kleine, spezialisierte Module mit klarer Verantwortung schreiben (z. B. PlayerMovement, WeaponManager, CameraController).
- Keine Monolith-Skripte. Funktionierende Systeme nicht ohne sachlichen Grund neu schreiben.
- Den vom Benutzer freigegebenen Umfang beachten; Grafikarbeiten ändern kein Gameplay.
Validierung
- Nach jeder Projektänderung die relevanten Godot-Console-Logs prüfen, bevor der nächste Änderungsschritt beginnt.
- Warnungen und Fehler untersuchen und im autorisierten Umfang beheben; ein fehlgeschlagener Lauf ist kein bestandener Test.
- Headless für Import-, Parser- und Strukturprüfungen verwenden. Für Screenshots echten Renderer verwenden; ein Headless-Lauf ersetzt keine visuelle Kontrolle.
- Abschließend relevante Tests ausführen und verbleibende Einschränkungen ehrlich dokumentieren.
Godot-4-Refactoring-Guardrail
- Zielversion ist die mitgelieferte Godot 4.5. Keine Godot-3-APIs einführen; CharacterBody3D, Node3D und StandardMaterial3D verwenden. CharacterBody3D.move_and_slide() ohne Argumente aufrufen.
- Neue Variablen mit konkretem expliziten Typ oder konkret inferierbarem := deklarieren. var name = value vermeiden.
- Variant nur an tatsächlich dynamischen Grenzen verwenden (JSON, Konfiguration, unvalidierte RPC-Daten, nullable Engine-API-Ergebnisse). Vor konkreter Verwendung validieren. Eine Variant-Annotation bedeutet nicht statische Spezialisierung oder garantierte Mehrleistung.
- Klassen direkt referenzieren, statt ihre statischen Methoden über dynamische Variablen aufzurufen.
- Nach Refactoring tests/audit_gdscript.py ausführen. Dieser prüft jede eigene .gd-Datei mit dem Godot-Parser und meldet untypisierte var-Deklarationen. Anschließend passende Laufzeittests ausführen.