- Add D-230 skeleton: DistrictSkeleton field to DistrictWorldState; cascade Default to DistrictSkeleton + contained enums/structs. Box the GenCompletion::SkeletonGenerated state to avoid large_enum_variant. - Derive PartialEq on FloorExtent/FloorHeightProfile/DistrictWorldState/ CityGenerationContext (+ minimal cascade) for downstream assert_eq tests. - Add 4 unit tests for floor_at_voxel_z / voxel_range_for_floor (uniform, basement, variable heights, boundary) — the Q-104 deliverable. - Drop unused smallvec direct dep (stays transitive via bevy_ecs). - Key districts insert by skeleton.district_id, sharpen TODO(#957). clippy --all-targets -D warnings clean; 1263 lib tests pass; fmt clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -103,8 +103,9 @@ pub enum GenCompletion {
|
||||
/// The body this skeleton belongs to — used to route state into
|
||||
/// `BodyWorldState.districts` (D-230).
|
||||
body_id: String,
|
||||
/// District-level world state (block tags) produced by the plan phase (D-230).
|
||||
state: DistrictWorldState,
|
||||
/// District-level world state (skeleton + block tags) produced by the plan phase (D-230).
|
||||
/// Boxed to keep `GenCompletion` variant sizes balanced (D-230 skeleton is ~2.7 KB).
|
||||
state: Box<DistrictWorldState>,
|
||||
},
|
||||
ChunkFilled {
|
||||
district_id: u64,
|
||||
@@ -344,7 +345,7 @@ fn run_work_item(item: &GenWorkItem) -> GenCompletion {
|
||||
GenCompletion::SkeletonGenerated {
|
||||
city_id: *city_id,
|
||||
body_id: String::new(),
|
||||
state: DistrictWorldState::default(),
|
||||
state: Box::new(DistrictWorldState::default()),
|
||||
}
|
||||
}
|
||||
GenWorkItem::FillChunk {
|
||||
|
||||
Reference in New Issue
Block a user