\contentsline {section}{\numberline {1}Project Context and Motivation}{3}{section.1}% \contentsline {subsection}{\numberline {1.1}Why Build This}{3}{subsection.1.1}% \contentsline {subsection}{\numberline {1.2}Scope of This Document}{3}{subsection.1.2}% \contentsline {subsection}{\numberline {1.3}Audience}{3}{subsection.1.3}% \contentsline {section}{\numberline {2}Core Invariants}{3}{section.2}% \contentsline {section}{\numberline {3}Geometric Foundations}{4}{section.3}% \contentsline {subsection}{\numberline {3.1}Coordinate System and Numerical Type}{4}{subsection.3.1}% \contentsline {subsection}{\numberline {3.2}Road Network as a Planar Graph}{4}{subsection.3.2}% \contentsline {subsection}{\numberline {3.3}Block Extraction}{5}{subsection.3.3}% \contentsline {subsection}{\numberline {3.4}Inward Offsetting}{5}{subsection.3.4}% \contentsline {section}{\numberline {4}Subdivision Algorithm}{5}{section.4}% \contentsline {subsection}{\numberline {4.1}Frontage-First Subdivision}{5}{subsection.4.1}% \contentsline {paragraph}{Inputs.}{5}{subsection.4.1}% \contentsline {paragraph}{Procedure.}{5}{subsection.4.1}% \contentsline {subsection}{\numberline {4.2}Edge Classification}{6}{subsection.4.2}% \contentsline {subsection}{\numberline {4.3}Regularization Pass}{6}{subsection.4.3}% \contentsline {section}{\numberline {5}Road Edit Handling}{6}{section.5}% \contentsline {subsection}{\numberline {5.1}Edit Types}{7}{subsection.5.1}% \contentsline {subsection}{\numberline {5.2}Deformation Pipeline}{7}{subsection.5.2}% \contentsline {subsection}{\numberline {5.3}Regeneration Thresholds}{7}{subsection.5.3}% \contentsline {subsection}{\numberline {5.4}Determinism and Idempotence}{8}{subsection.5.4}% \contentsline {subsection}{\numberline {5.5}Building Footprint Preservation}{8}{subsection.5.5}% \contentsline {section}{\numberline {6}Degenerate Cases}{8}{section.6}% \contentsline {section}{\numberline {7}Crate Architecture}{9}{section.7}% \contentsline {subsection}{\numberline {7.1}Module Layout}{9}{subsection.7.1}% \contentsline {subsection}{\numberline {7.2}Public API Surface}{10}{subsection.7.2}% \contentsline {subsection}{\numberline {7.3}Error Types}{10}{subsection.7.3}% \contentsline {subsection}{\numberline {7.4}Dependencies}{11}{subsection.7.4}% \contentsline {section}{\numberline {8}Idiomatic Rust Requirements}{11}{section.8}% \contentsline {section}{\numberline {9}Testing Strategy}{12}{section.9}% \contentsline {subsection}{\numberline {9.1}Three Layers}{12}{subsection.9.1}% \contentsline {paragraph}{Unit tests}{12}{subsection.9.1}% \contentsline {paragraph}{Integration tests}{12}{subsection.9.1}% \contentsline {paragraph}{Property tests}{12}{subsection.9.1}% \contentsline {subsection}{\numberline {9.2}Snapshot Testing}{12}{subsection.9.2}% \contentsline {subsection}{\numberline {9.3}Coverage Requirement}{12}{subsection.9.3}% \contentsline {section}{\numberline {10}Visualization and Figures}{12}{section.10}% \contentsline {subsection}{\numberline {10.1}Required Figures}{12}{subsection.10.1}% \contentsline {subsection}{\numberline {10.2}Color Conventions}{13}{subsection.10.2}% \contentsline {subsection}{\numberline {10.3}Inclusion in This Journal}{13}{subsection.10.3}% \contentsline {section}{\numberline {11}Performance Targets}{13}{section.11}% \contentsline {section}{\numberline {12}Out of Scope}{13}{section.12}% \contentsline {section}{\numberline {13}Claude Code Contract}{14}{section.13}% \contentsline {section}{\numberline {14}Open Questions}{15}{section.14}% \contentsline {section}{\numberline {15}Design Decisions}{15}{section.15}% \contentsline {section}{\numberline {16}Revisions and Deviations}{16}{section.16}% \contentsline {subsection}{\numberline {16.1}2026-04-25 --- Session 1: Milestone 0.1, rectangle end-to-end}{16}{subsection.16.1}% \contentsline {paragraph}{Goal of the session.}{16}{subsection.16.1}% \contentsline {paragraph}{What got built.}{17}{subsection.16.1}% \contentsline {paragraph}{Tooling gates.}{17}{figure.1}% \contentsline {paragraph}{Test status.}{17}{figure.1}% \contentsline {paragraph}{Design decisions locked in this session.}{18}{figure.1}% \contentsline {paragraph}{Spec deviations recorded this session.}{18}{figure.1}% \contentsline {paragraph}{Open questions touched.}{20}{figure.1}% \contentsline {paragraph}{Next session --- milestone 0.2 queue.}{20}{figure.1}% \contentsline {subsection}{\numberline {16.2}2026-04-25 --- Session 2: Milestone 0.2 (corner parcels, sticky back edges, preserve-on-deform)}{20}{subsection.16.2}% \contentsline {paragraph}{Goal of the session.}{20}{subsection.16.2}% \contentsline {paragraph}{Decisions locked in at session kickoff.}{20}{subsection.16.2}% \contentsline {paragraph}{Status during writing.}{21}{subsection.16.2}% \contentsline {paragraph}{Performance instrumentation.}{21}{subsection.16.2}% \contentsline {paragraph}{Corner parcel rework.}{22}{subsection.16.2}% \contentsline {paragraph}{Preserve-on-deform pipeline.}{22}{subsection.16.2}% \contentsline {paragraph}{New figures.}{22}{subsection.16.2}% \contentsline {paragraph}{Deviations from spec.}{22}{figure.5}% \contentsline {paragraph}{Performance.}{23}{figure.5}% \contentsline {paragraph}{Test status.}{24}{figure.5}% \contentsline {paragraph}{What's next --- milestone 0.3 queue.}{24}{figure.5}% \contentsline {section}{\numberline {A}Notation Reference}{25}{appendix.A}%