Namespace MoonBark.GridPlacement.Core.Services
Classes
- CalculatorCacheStatistics
Calculator cache statistics.
- CalculatorValidationResult
Calculator validation result.
- PlacedEntityData
Data transfer object for serialized placed entity state. Pure C# data structure with no Godot dependencies.
Only finalized placed entities are serialized. Active placement states (ghost previews, mid-move operations, flip/rotate in progress) are intentionally excluded — games resume with a clean placement state.
- SaveLoadService
Implementation of domain save/load service. Requires IOccupancyService to enumerate placed entities. This is a pure-domain implementation - the ECS-specific one belongs in MoonBark.GridPlacement.ECS.
Interfaces
- IAsyncCalculator<TInput, TOutput>
Async calculator interface for long-running calculations.
- ICachedCalculator<TInput, TOutput>
Cached calculator interface for performance-optimized calculations.
- ICalculator
Base interface for all calculator implementations Provides standardized calculation patterns across the codebase
- ICalculatorConfiguration
Calculator configuration interface.
- ICalculator<TInput, TOutput>
Generic calculator interface for type-specific calculations
- IConfigurableCalculator<TInput, TOutput, TConfig>
Configurable calculator interface for parameterized calculations.
- IEcsSaveLoadService
Interface for ECS-based save/load service. Provides clean serialization/deserialization of placed entities without Godot dependencies.
- IPlacementModeService
Service interface for placement operations. Pure C# contract with no Godot dependencies.
- ISaveLoadService
Pure domain implementation of save/load service interface. This service requires an occupancy source to serialize/deserialize placed entities. The actual ECS-based implementation belongs in MoonBark.GridPlacement.ECS.