Aligns the generation skeleton code to the D-222 spatial-hierarchy rename:
the 512m generation cell is now the Quarter (was District; District is
promoted to a new 2048m tier above it). Pure naming — no behavior change.
Unblocks #957 (Layer 4 — Quarter skeleton), which is written against the new
vocabulary.
Renamed (spatial-cell identifiers)
DistrictSkeleton → QuarterSkeleton
DistrictWorldState → QuarterWorldState
DistrictId → QuarterId
DistrictContext / DistrictBoundaries → Quarter*
field district_id → quarter_id, district_type → quarter_type
BodyWorldState.districts map → .quarters
generate_skeleton → generate_quarter_skeleton
Deliberately left as-is
These name functional zoning, orthogonal to the spatial tier (D-222), so
renaming them would be misleading:
DistrictType, DistrictLayoutMode enums
the district_mix module (DistrictMix / compute_district_mix)
Historical D-066/D-094/D-201/D-220 decision bodies kept their existing
D-222 amendment notes rather than being rewritten in place; triangle.rs / test_world (a different subsystem) left for a possible follow-up.
Test plan
cargo fmt --check clean
cargo clippy --all-targets -- -D warnings clean
1296 lib tests + all integration tests pass, unchanged (behavior-neutral)
No old identifiers remain anywhere (tests/, client/ verified clean)
## Summary
Aligns the generation skeleton code to the **D-222** spatial-hierarchy rename:
the 512m generation cell is now the **Quarter** (was District; District is
promoted to a new 2048m tier above it). **Pure naming — no behavior change.**
Unblocks #957 (Layer 4 — Quarter skeleton), which is written against the new
vocabulary.
## Renamed (spatial-cell identifiers)
- `DistrictSkeleton` → `QuarterSkeleton`
- `DistrictWorldState` → `QuarterWorldState`
- `DistrictId` → `QuarterId`
- `DistrictContext` / `DistrictBoundaries` → `Quarter*`
- field `district_id` → `quarter_id`, `district_type` → `quarter_type`
- `BodyWorldState.districts` map → `.quarters`
- `generate_skeleton` → `generate_quarter_skeleton`
## Deliberately left as-is
These name **functional zoning**, orthogonal to the spatial tier (D-222), so
renaming them would be misleading:
- `DistrictType`, `DistrictLayoutMode` enums
- the `district_mix` module (`DistrictMix` / `compute_district_mix`)
- `GenWorkItem::GenerateSkeleton` / `GenCompletion::SkeletonGenerated` variants
- the public `max_offset_sim_tiles` fn name
## sim tile → subtile (conservative sweep, D-222: Subtile = 0.5m)
- `decisions/perception.md` operational refs (152/215/257)
- generation-cascade code comments (`generator.rs`, `block_irregularity.rs`,
`skeleton_gen.rs`)
- Historical D-066/D-094/D-201/D-220 decision bodies **kept their existing
D-222 amendment notes** rather than being rewritten in place; `triangle.rs` /
`test_world` (a different subsystem) left for a possible follow-up.
## Test plan
- `cargo fmt --check` clean
- `cargo clippy --all-targets -- -D warnings` clean
- **1296 lib tests + all integration tests pass, unchanged** (behavior-neutral)
- No old identifiers remain anywhere (`tests/`, `client/` verified clean)
Closes #950.
D-222 renamed the 512m generation cell from District to Quarter (District
is now a new 2048m tier above it). Align the generation skeleton code to
the canonical vocabulary. Pure naming — no behavior change; all 1296 lib
tests + integration tests pass unchanged.
Renamed (spatial-cell identifiers):
- DistrictSkeleton → QuarterSkeleton, DistrictWorldState → QuarterWorldState
- DistrictId → QuarterId, DistrictContext/DistrictBoundaries → Quarter*
- field district_id → quarter_id, district_type → quarter_type
- BodyWorldState.districts map → .quarters
- generate_skeleton → generate_quarter_skeleton
Deliberately left as-is (these name functional ZONING, not the spatial
tier — orthogonal to D-222): DistrictType, DistrictLayoutMode, the
district_mix module (DistrictMix/compute_district_mix), and the
GenWorkItem::GenerateSkeleton / GenCompletion::SkeletonGenerated variants.
Also aligned the perception "sim tile" → "subtile" vocabulary (D-222:
Subtile = 0.5m) in decisions/perception.md and the generation-cascade code
comments. Historical D-066/D-094/D-201/D-220 decision bodies keep their
existing D-222 amendment notes (not rewritten in place); the public
max_offset_sim_tiles fn name is unchanged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
PR #151 review (Hoshe/Tyre): four doc comments in gen_queue.rs still said
"district" next to the renamed quarter_id field / generate_quarter_skeleton.
Pure comment update, no code change.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rename is complete, correctly scoped, and behavior-neutral. All cell identifiers
(DistrictSkeleton/DistrictWorldState/DistrictId/DistrictContext/ DistrictBoundaries, fields district_id/district_type, BodyWorldState.districts)
are gone; the zoning vocabulary (DistrictType, DistrictLayoutMode, district_mix, GenerateSkeleton/SkeletonGenerated variants) is untouched. QuarterSkeleton/QuarterWorldState derive serde but appear in no bridge
protocol type and BodyWorldState isn't Serialize — nothing crosses the wire,
so the rename is genuinely behavior-neutral.
Tyre (architecture / D-222): APPROVE
Correctly implements D-222. The District-as-zoning vs District-as-spatial-tier
split is sound — D-222 establishes the lore/zoning register as orthogonal to the
code spatial-tier ladder. quarter_type: DistrictType is coherent (field names
the tier, type names the concept) and will read more accurately once the 2048m
District tier exists. Keeping GenerateSkeleton/SkeletonGenerated generic is
the right abstraction (they name the operation, not the tier). Leaving historical
D-066/D-094/D-201/D-220 bodies intact with their D-222 amendment notes is correct
decisions-as-record practice.
Non-blocking items
gen_queue.rs doc residue (both reviewers) — four comments still said
"district" next to the renamed field. Fixed in 8b1005221.
architecture.md stale refs (Hoshe) — D-230/D-110/D-201/D-218 still name DistrictSkeleton/BodyWorldState.districts. Covered by D-222's existing
amendment note; left for a follow-up doc-consistency sweep (touching historical
D-record bodies is contentious per Tyre's decisions-as-record point).
Verdict: APPROVED
## Review: quarter-rename → main (type: code)
Reviewers: Hoshe (QA) + Tyre (architecture). Gate: clippy `--all-targets -D
warnings` clean; 1296 lib + integration tests pass (behavior-neutral).
### Hoshe (QA / rename correctness): APPROVE
Rename is complete, correctly scoped, and behavior-neutral. All cell identifiers
(`DistrictSkeleton`/`DistrictWorldState`/`DistrictId`/`DistrictContext`/
`DistrictBoundaries`, fields `district_id`/`district_type`, `BodyWorldState.districts`)
are gone; the zoning vocabulary (`DistrictType`, `DistrictLayoutMode`,
`district_mix`, `GenerateSkeleton`/`SkeletonGenerated` variants) is untouched.
`QuarterSkeleton`/`QuarterWorldState` derive serde but appear in no bridge
protocol type and `BodyWorldState` isn't `Serialize` — nothing crosses the wire,
so the rename is genuinely behavior-neutral.
### Tyre (architecture / D-222): APPROVE
Correctly implements D-222. The District-as-zoning vs District-as-spatial-tier
split is sound — D-222 establishes the lore/zoning register as orthogonal to the
code spatial-tier ladder. `quarter_type: DistrictType` is coherent (field names
the tier, type names the concept) and will read *more* accurately once the 2048m
District tier exists. Keeping `GenerateSkeleton`/`SkeletonGenerated` generic is
the right abstraction (they name the operation, not the tier). Leaving historical
D-066/D-094/D-201/D-220 bodies intact with their D-222 amendment notes is correct
decisions-as-record practice.
### Non-blocking items
- **gen_queue.rs doc residue** (both reviewers) — four comments still said
"district" next to the renamed field. **Fixed** in `8b1005221`.
- **architecture.md stale refs** (Hoshe) — D-230/D-110/D-201/D-218 still name
`DistrictSkeleton`/`BodyWorldState.districts`. Covered by D-222's existing
amendment note; left for a follow-up doc-consistency sweep (touching historical
D-record bodies is contentious per Tyre's decisions-as-record point).
### Verdict: APPROVED
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Aligns the generation skeleton code to the D-222 spatial-hierarchy rename:
the 512m generation cell is now the Quarter (was District; District is
promoted to a new 2048m tier above it). Pure naming — no behavior change.
Unblocks #957 (Layer 4 — Quarter skeleton), which is written against the new
vocabulary.
Renamed (spatial-cell identifiers)
DistrictSkeleton→QuarterSkeletonDistrictWorldState→QuarterWorldStateDistrictId→QuarterIdDistrictContext/DistrictBoundaries→Quarter*district_id→quarter_id,district_type→quarter_typeBodyWorldState.districtsmap →.quartersgenerate_skeleton→generate_quarter_skeletonDeliberately left as-is
These name functional zoning, orthogonal to the spatial tier (D-222), so
renaming them would be misleading:
DistrictType,DistrictLayoutModeenumsdistrict_mixmodule (DistrictMix/compute_district_mix)GenWorkItem::GenerateSkeleton/GenCompletion::SkeletonGeneratedvariantsmax_offset_sim_tilesfn namesim tile → subtile (conservative sweep, D-222: Subtile = 0.5m)
decisions/perception.mdoperational refs (152/215/257)generator.rs,block_irregularity.rs,skeleton_gen.rs)D-222 amendment notes rather than being rewritten in place;
triangle.rs/test_world(a different subsystem) left for a possible follow-up.Test plan
cargo fmt --checkcleancargo clippy --all-targets -- -D warningscleantests/,client/verified clean)Closes #950.
Review: quarter-rename → main (type: code)
Reviewers: Hoshe (QA) + Tyre (architecture). Gate: clippy
--all-targets -D warningsclean; 1296 lib + integration tests pass (behavior-neutral).Hoshe (QA / rename correctness): APPROVE
Rename is complete, correctly scoped, and behavior-neutral. All cell identifiers
(
DistrictSkeleton/DistrictWorldState/DistrictId/DistrictContext/DistrictBoundaries, fieldsdistrict_id/district_type,BodyWorldState.districts)are gone; the zoning vocabulary (
DistrictType,DistrictLayoutMode,district_mix,GenerateSkeleton/SkeletonGeneratedvariants) is untouched.QuarterSkeleton/QuarterWorldStatederive serde but appear in no bridgeprotocol type and
BodyWorldStateisn'tSerialize— nothing crosses the wire,so the rename is genuinely behavior-neutral.
Tyre (architecture / D-222): APPROVE
Correctly implements D-222. The District-as-zoning vs District-as-spatial-tier
split is sound — D-222 establishes the lore/zoning register as orthogonal to the
code spatial-tier ladder.
quarter_type: DistrictTypeis coherent (field namesthe tier, type names the concept) and will read more accurately once the 2048m
District tier exists. Keeping
GenerateSkeleton/SkeletonGeneratedgeneric isthe right abstraction (they name the operation, not the tier). Leaving historical
D-066/D-094/D-201/D-220 bodies intact with their D-222 amendment notes is correct
decisions-as-record practice.
Non-blocking items
"district" next to the renamed field. Fixed in
8b1005221.DistrictSkeleton/BodyWorldState.districts. Covered by D-222's existingamendment note; left for a follow-up doc-consistency sweep (touching historical
D-record bodies is contentious per Tyre's decisions-as-record point).
Verdict: APPROVED
Pull request closed