refactor(simulation): rename DistrictSkeleton→QuarterSkeleton per D-222 (#950) #151

Closed
jpmschweitzer wants to merge 0 commits from quarter-rename into main
Owner

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)

  • DistrictSkeletonQuarterSkeleton
  • DistrictWorldStateQuarterWorldState
  • DistrictIdQuarterId
  • DistrictContext / DistrictBoundariesQuarter*
  • field district_idquarter_id, district_typequarter_type
  • BodyWorldState.districts map → .quarters
  • generate_skeletongenerate_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.

## 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.
jpmschweitzer added 1 commit 2026-06-05 13:08:47 +02:00
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>
jpmschweitzer added 1 commit 2026-06-05 13:15:48 +02:00
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>
Author
Owner

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

## 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
jpmschweitzer closed this pull request 2026-06-05 13:26:38 +02:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jpmschweitzer/settled-reach#151