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

1
2
3
4
5
Godot scene or UI input
  -> Godot adapter code
  -> placement or manipulation service entry points
  -> C# 6.0 runtime processes workflow state
  -> adapter code reflects results back into visuals and Godot nodes

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.