Files
settled-reach/server/src/atlas/mod.rs
T
jpmschweitzerandClaude Opus 4.8 5f85dc55d5 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>
2026-06-27 23:34:46 +02:00

35 lines
860 B
Rust

//! Atlas data loaders — reads pre-computed build-time data from systems.db.
//!
//! These loaders are used by the runtime-background tier (D-200, D-206) when
//! populating BodyWorldState (D-203). They are never called on the main tick thread.
pub mod attractor_matching;
pub mod block_irregularity;
pub mod body_params_reader;
pub mod body_world_state;
pub mod cascade;
pub mod chunk_context;
pub mod city_context_reader;
pub mod detail_scatter;
pub mod district_mix;
pub mod district_profile;
pub mod domain_warp;
pub mod drainage;
pub mod features;
pub mod gen_queue;
pub mod heightmap;
pub mod layer1;
pub mod layer_proxy;
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;
pub mod tile_condition;
pub mod voxel;
pub use plugin::GenerationPlugin;