Table of Contents

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).