39 lines
1.5 KiB
Markdown
39 lines
1.5 KiB
Markdown
# Rounded native road junctions
|
|
|
|
## Goal
|
|
|
|
Replace the octagonal native junction outline with smooth, tangentially joined
|
|
road-edge corners for ordinary Nantaizi T and cross junctions.
|
|
|
|
## Requirements
|
|
|
|
- Junction surface boundaries must connect adjacent approach carriageway edges
|
|
with a smooth outward curve rather than a straight octagonal chord.
|
|
- Sidewalk corner surfaces must use the same rounded boundary concept so road
|
|
and pedestrian geometry do not disagree visually.
|
|
- Preserve a deterministic straight-edge fallback and an explicit diagnostic
|
|
when a corner cannot be safely constructed.
|
|
- Do not change lane connector semantics or derive geometry from osm2streets.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- [x] Ordinary cross/T fixtures generate rounded junction polygons with more
|
|
than the prior eight straight boundary vertices and `boundary_mode` records
|
|
the chosen style.
|
|
- [x] Connector containment remains valid and degenerate geometry falls back
|
|
without publishing self-intersecting polygons.
|
|
- [x] Nantaizi compile/check and native Blender/Cesium/preview succeed.
|
|
|
|
## Verification Record
|
|
|
|
- Native geometry and Workbench tests passed.
|
|
- Nantaizi native compile/check passed with `ok=true`.
|
|
- Native Blender/Cesium/preview verification was completed manually in a
|
|
working Blender environment.
|
|
|
|
## Notes
|
|
|
|
- Keep `prd.md` focused on requirements, constraints, and acceptance criteria.
|
|
- Lightweight tasks can remain PRD-only.
|
|
- For complex tasks, add `design.md` for technical design and `implement.md` for execution planning before `task.py start`.
|