Grid Placement

GridPlacement 6.0 (C#-first) — Docs Entry

This folder is the entrypoint for the GridPlacement 6.0 (C#-first) line.

6.0 Clean API Policy (Release Start)

  • Goal: 6.0 should start with a clean public API surface (no unused legacy carryover types).
  • Rule: If a type has no call sites and is not part of the intended 6.0 contract, it should be:
    • deleted, or
    • reduced to internal visibility (if it is purely legacy/compat notes).
  • Gate: Every cleanup batch must keep dotnet test green.

Recent Cleanups (6.0)

  • Visibility reduced (internal)

    • GridPlacement.Core.Types.Owner
    • GridPlacement.Core.Types.GBOwner
  • Removed obsolete types (unused)

    • GridPlacement.Core.Services.Targeting.GridTargetingConfiguration
    • GridPlacement.Core.Interfaces.ITargetingState
    • GridPlacement.Core.State.Building.BuildingState (legacy POCS)
    • GridBuilding.Core.Domain.State.OwnerContext (legacy 5.x bundle)
  • Removed obsolete members (unused)

    • GridPlacement.Core.Systems.Placement.PlacementWorkflowOrchestrator.ExecutePlacement(...) (legacy overload)

Scenario Gate (PlacementWorkflow)

  • Added PlacementWorkflowOrchestrator.TryPlaceValidatedForUser(...) as the Core “front door” for:
    • validate → conditional execute
    • event emission in both valid/invalid paths
  • Added scenario coverage in PlacementWorkflowOrchestratorIntegrationTests (valid/invalid + hang-guard).

What to read (in order)

  • ../README.md (this docs root and layout)
  • ../GRIDBUILDING_VERSION_LIFECYCLE.md
  • ../Core/ (C# core architecture, patterns, and tests)
  • ../Godot/ (Godot adapter boundary and engine-facing plans)
  • ./Godot/USER_SCOPE_ROOT_INTEGRATION.md (per-user scope roots + input provider ownership)
  • ./Godot/LOGGING.md (Godot-layer logging + override pattern)
  • ../Migration/ (migration priorities)
  • ../Roadmap/PRODUCTION_ROADMAP.md

Where the docs live (canonical folders)

We keep docs layer/topic-first. For 6.0, canonical folders are:

  • ../Core/
  • ../Godot/
  • ../Migration/
  • ../Roadmap/
  • ../design/

6.0 rules of thumb

  • Canonical runtime logic and tests are C#.
  • Godot code should be thin adapters around Core services.
  • If a doc is only about 6.0 behavior, keep it here or under the relevant layer folder.