Architecture Overview
GridPlacement 6.0 is a C# architecture with a deliberate split between engine-agnostic code and Godot integration code.
This page replaces older public descriptions that framed 6.0 as GDScript ECS or GECS.
Top-level layers
Core Library
GridPlacement.Core owns engine-agnostic concepts and public-facing service contracts.
Examples:
- placement service contracts
- grid and targeting abstractions
- validation result types
- shared math and supporting domain logic
Runtime Layer
The C# 6.0 runtime owns the placement workflow data model and orchestration. This is where the internal development placement workflow becomes data-oriented and driven by typed runtime structures.
Godot Adapter Layer
GridPlacement.Godot translates the Godot scene tree, addon paths, input, and runtime resources into the C# 6.0 runtime.
The Godot layer should not become the place where business rules are reimplemented.
Mental model
Why this is materially different from 5.0
The 5.0 line is node-first and injector-driven.
The 6.0 line now aims for:
- typed boundaries
- more explicit workflow ordering
- less hidden state coupling
- clearer separation between domain logic and engine glue
What should be treated as public first
Consumers should start with:
- setup guidance
- service-oriented APIs
- validated workflow commands
Consumers should treat lower-level runtime types as advanced details unless they are extending the runtime intentionally.
Current caveat
This architecture is internal development, not fully GA-hardened.
The C# 6.0 build lane is green, but the focused workflow coverage suite is currently failing on the audited branch and older legacy test wiring still exists. Do not mistake that for a clean all-up production gate.