Development ⚠️ GridPlacement 6.0 (GECS) is in active development. This is the GDScript ECS architecture.

World Bootstrap and System Order

How to bootstrap a 6.0 world and why system ordering matters for placement correctness.

System order is part of behavior in 6.0. A valid placement flow depends on validation happening before preview and execution.

Reference order

PlacementWorldSetup.add_placement_systems(world) registers:

  1. PlacementValidationSystem
  2. PlacementPreviewSystem
  3. PreviewPhysicsSystem
  4. PreviewGhostingSystem
  5. PlacementExecutionSystem

Why this order

  • Validation must run before execution.
  • Preview should reflect current validation state.
  • Physics/ghosting preview effects should operate on updated preview state.

Manipulation systems

Manipulation in the demo setup is added as node-driven systems:

  • PlacementManipulationSystem
  • RemovalManipulationSystem
  • MovementManipulationSystem
  • RotationManipulationSystem

These are signal/event-driven rather than per-frame entity polling.

Sanity checks

  • World is non-null.
  • Required systems exist.
  • Use PlacementWorldSetup.validate_placement_world(world) to collect startup issues.