37 lines
1.7 KiB
Markdown
37 lines
1.7 KiB
Markdown
# Native road marking semantics
|
|
|
|
## Goal
|
|
|
|
Finish the native road marking model so the Nantaizi Road Workbench can
|
|
persist meaningful centre-line and road-edge-line styles, regenerate native
|
|
geometry deterministically, and deliver the same result to Blender/Cesium.
|
|
|
|
## Requirements
|
|
|
|
- Add an explicit double-yellow-solid centre-line semantic. It must not be a
|
|
generic double-line switch that permits invalid colour/pattern combinations.
|
|
- Keep all marking edits area-local in `native-road-overrides.json`; generated
|
|
GeoJSON remains derived output.
|
|
- Make road edge lines selectable and style-editable in the Chinese Road
|
|
Workbench, alongside existing centre lines and lane separators.
|
|
- Preserve the default Nantaizi output unless a user supplies an override.
|
|
- Native geometry must remain independent of osm2streets render geometry.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- [ ] A `center-line-style` override with `double: true`, `yellow`, and
|
|
`solid` emits two offset centre-line polygons with an explicit effective
|
|
style, while invalid double combinations are rejected.
|
|
- [ ] An `edge-line-style` override targets one directional road side and
|
|
supports white/yellow plus solid/dashed styles.
|
|
- [ ] The Workbench exposes Chinese selection feedback, stages the correct
|
|
override payload, and only shows the double-yellow choice for centre lines.
|
|
- [ ] Nantaizi native compile/check, Workbench/native tests, Blender pure
|
|
tests, and native Blender/Cesium/preview build pass.
|
|
|
|
## 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`.
|