Architecture Overview
GridPlacement 6.0 is a C# architecture with a Friflo ECS workflow layer and 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
ECS Layer
GridPlacement.ECS owns the ECS components, systems, and orchestration built around Friflo.Engine.ECS.
This is where the internal development placement workflow becomes data-oriented and system-driven.
Godot Adapter Layer
GridPlacement.Godot translates the Godot scene tree, addon paths, input, and runtime resources into the Core and ECS world.
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 ECS types as advanced details unless they are extending the runtime intentionally.
Current caveat
This architecture is internal development, not fully GA-hardened.
The ECS 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.
Validated By
dotnet build cs/Core/ECS/GridPlacement.ECS.csproj --nologo -v minimal- the current release-readiness guidance for the 6.0 internal development line