Namespace MoonBark.GridPlacement.Godot.Infrastructure
Classes
- GridSyncOptimizer
Optimizes synchronization between logical ECS grid state and visual TileMapLayer. Uses hash-based change detection to skip unnecessary syncs, marks 3x3 neighborhoods around changed cells as dirty for proper visual coverage, and groups dirty cells by chunk for batch processing.
This is a pure-logic optimizer that handles the "when" and "what" of TileMap sync. The actual tile source resolution (TileTypeId → Godot tile coords) is handled by TileMapSyncManager which owns the IGridOccupancy reference.
See: docs/core/guides/architecture-overview.md
- OperationStatistics
Statistics for repeated operations.
- TileSizeSource
Single source of truth for tile size in Godot rendering layer. Resolves tile size from TileSet when available; falls back to SSOT (32).
The TileSet is the root source of truth because:
- All visual tiles are defined by the TileSet
- TileMapLayer uses TileSet.TileSize for rendering
- Changing the TileSet changes ALL tiles uniformly
Caches value on first resolution; invalidates when TileSet changes.
- TileSizeSource.MethodName
Cached StringNames for the methods contained in this class, for fast lookup.
- TileSizeSource.PropertyName
Cached StringNames for the properties and fields contained in this class, for fast lookup.
- TileSizeSource.SignalName
Cached StringNames for the signals contained in this class, for fast lookup.
Delegates
- TileSizeSource.TileSizeChangedEventHandler
Signal emitted when the tile size changes (TileSet swap or explicit override).