feat(simulation): FillChunk shell derivation — Void/Wall/FloorSlab/Roof from cached tags (T-987)
Implement the D-230 on-demand derive phase (data-production half). New atlas/shell.rs derives a sparse building shell for one 64 m chunk from the plan-phase BuildingPropertyTags: rectangle-containment (footprint ∩ chunk) × z-range (per-floor voxel bands from FloorExtent), in a quarter-ground z frame (D-110). Walls on the footprint perimeter, FloorSlab on interior floor bases, Roof above the top floor; interior air is Void and never stored. - gen_queue.rs: GenWorkItem::FillChunk carries pre-resolved block_tags + block_pos + sub_chunk (run_work_item stays cache-free, mirroring GenerateSkeleton); GenCompletion::ChunkFilled carries Box<FilledChunk>; the arm calls shell::fill_chunk; pure build_fill_chunk_item(&QuarterWorldState,..) added. - plugin.rs: ChunkFilled handler accepts the shell (trace-only — the Phase-5 rendering consumer and the on-demand streaming dispatch trigger are deferred; do not build on legacy chunk_streaming.rs before Phase 5, gated by T-962). Tests: determinism, sparsity-vs-dense-volume, wall/floor/roof correctness, basement z-origin, sub-chunk clipping, full submit→drain→ChunkFilled round-trip. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,7 @@ pub mod plugin;
|
||||
pub mod region_profile;
|
||||
pub mod road_graph;
|
||||
pub mod scale;
|
||||
pub mod shell;
|
||||
pub mod skeleton_gen;
|
||||
pub mod source_resolver;
|
||||
pub mod subbiome;
|
||||
|
||||
Reference in New Issue
Block a user