name: foundation-gdscript-system-design description: Tier 1 foundation for game-agnostic GDScript system design: ownership boundaries, signal contracts, composition, and resource-backed configuration. tier: core godot_version: 4.6+ doc_anchors: - godot-docs/tutorials/best_practices/what_are_godot_classes.rst - godot-docs/tutorials/best_practices/scene_organization.rst - godot-docs/tutorials/best_practices/godot_interfaces.rst - godot-docs/tutorials/scripting/resources.rst tags: - gdscript - architecture - systems depends_on: - godot-skills/godot-foundations/foundation-architecture/SKILL.md
Foundation GDScript System Design
Use When
- Designing/refactoring non-trivial GDScript systems.
- Establishing architecture before implementation slices.
Outcomes
- GDScript systems have clear ownership, composition, and messaging boundaries.
- Configuration and tunables are resource-backed instead of hardcoded.
- Interfaces remain stable under iterative refactors.
Required Rules
- One authoritative owner per mutable state domain.
- Prefer composition over deep inheritance chains.
- Use explicit signal contracts for inter-system communication.
- Keep runtime logic and resource/config data separated.
- Externalize tunables in resources/config instead of hardcoded literals.
Workflow
- Define mutable-state domains and authoritative owners.
- Split systems by composition responsibilities rather than inheritance depth.
- Declare signal contracts and message payload schemas.
- Move tunable parameters into resources/config assets.
- Validate refactor resilience by moving components without breaking contracts.
Validation
- Ownership map shows no shared mutable state without arbitration.
- Signal contract tests/assertions catch payload drift.
- Config changes via resources alter behavior without code edits.
Failure Modes
- Inheritance-heavy scripts accumulate mixed responsibilities.
- Signal payloads are undocumented and break consumers silently.
- Gameplay constants are hardcoded across scripts and diverge over time.
Local Doc Anchors
godot-docs/tutorials/best_practices/what_are_godot_classes.rstgodot-docs/tutorials/best_practices/scene_organization.rstgodot-docs/tutorials/best_practices/godot_interfaces.rstgodot-docs/tutorials/scripting/resources.rst