Manipulation chain

This page is the canonical reference for the Manipulation chain in GridPlacement 6.0.

The manipulation chain handles interactions with already-placed objects: selecting a target, entering a mode (move/demolish/info), validating actions against rules/occupancy, and committing or canceling.

Boundary

  • Godot layer
    • Owns mode toggles and input routing.
    • Owns presentation (ghost previews, highlighting, UI).
  • Core layer
    • Owns results, validation rules, and state changes.

6.0 manipulation chain

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
Godot InputEvent / mode toggle
GBInputService (routes intent)
GBManipulationInputAdapter
Manipulation workflow adapter / orchestrator (port)
Core manipulation commands/services
  - validate against grid bounds/occupancy
  - produce result (success/failure + diagnostics)
Godot effects / UI
  - move preview
  - commit move
  - demolish
  - show info

Key modes

  • Move
    • Two-stage confirm pattern (start move → confirm commit).
  • Demolish
    • Single confirm execution.
  • Info
    • Read-only inspection (no state mutation).

Output contract

What the manipulation chain guarantees:

  • Mode transitions are explicit and stateful.
  • Actions either commit (mutate state) or fail with diagnostics.

What it does NOT guarantee:

  • It does not own targeting; it consumes the targeting chain output.

Existing deep dives