GridForge v6.0.0
GridForge v6 is a breaking release centered on the GridWorld refactor. The library now uses explicit world ownership instead of process-wide global runtime state, making it possible to run multiple isolated worlds in the same process without cross-world leakage.
Highlights
- Introduced
GridWorldas the primary runtime owner for voxel size, spatial hashing, active grids, lifecycle, events, and world-space lookup. - Moved tracing, blockers, occupant tracking, scan queries, and obstacle mutation to explicit world scope.
- Replaced global voxel identity with
WorldVoxelIndex, making voxel and grid references world-scoped and safer across teardown and slot reuse. - Rebuilt tests, benchmarks, README guidance, and examples around the new explicit-world model.
- Moved project documentation into
docs/, added wiki sync automation, and refreshed build/release workflows.
Breaking Changes
GlobalGridManagerhas been removed. Runtime operations now require an explicitGridWorld.GlobalVoxelIndexhas been replaced byWorldVoxelIndex.VoxelGrid.GlobalIndexhas been renamed toGridIndexand is only unique within its owning world.GridConfigurationis now pure input data; snapping and normalization now happen during world registration.GridTracer, blockers, scan APIs, and occupant/obstacle flows now operate against an explicit world context.
Upgrade Notes
- Create a
GridWorldfor each runtime world and route grid registration and lookup through it. - Replace
GlobalVoxelIndexusages withWorldVoxelIndex. - Audit any code that assumed process-wide world state or globally unique grid indices.