2.9 KiB
2.9 KiB
Native road control markings
Goal
Give Nantaizi's native-road provider inspectable, source-traceable crosswalk and vehicle stop-line geometry, so intersection control markings do not depend on the osm2streets render output.
Confirmed Facts
- Native road output already owns road surfaces, sidewalks, lane separators, repeated direction arrows, and explicit junction-turn arrows.
- Nantaizi's OSM input contains explicit marked crossings, including zebra and traffic-signal crossings. The existing osm2streets output currently has 48 crosswalk-stripe polygons and 8 stop-line polygons.
build-osm2streets-qgis.js:1067derives these markings from crossing nodes plus osm2streets driving lanes. Native must not read that rendered geometry; it can reuse only the tested geometry rules after adapting them to native directed lanes and junction plans.- Existing Blender materials already provide
crosswalksandvehicle_stop_lines; native may map into them without changing the legacy osm2streets layer registry.
Requirements
- R1: Native compilation uses explicit marked OSM crossing nodes only, and emits crosswalk-stripe polygons plus approach stop lines only where safe native directed-road placement exists.
- R2: Each generated feature preserves crossing node, OSM road, native road or lane, direction, placement method, and relevant junction provenance.
- R3: The Road Workbench independently toggles, selects, and describes native crosswalks and stop lines in Chinese.
- R4: Native Blender and Cesium builds consume both layers with the existing
control-marking materials; no
package/publication is part of validation. - R5: Missing compatible road context, ambiguous geometry, and unsupported crossing inputs are diagnostics; the compiler must not invent a crossing.
Acceptance Criteria
- Nantaizi native output contains valid
crosswalks.geojsonandvehicle_stop_lines.geojsonfeatures with source-traceable properties, without reading osm2streets rendered layers. - A Workbench user can toggle and select either marking type and see the crossing node, associated road/direction, and placement evidence.
- Native Blender/Cesium output contains both marking types using existing
materials, after
blender,cesium,preview --road-provider nativeand without publishingpackage/. - Tests cover a marked crossing, an unmarked crossing skip, a missing or ambiguous native-road placement skip, and output-layer contract checks.
Out Of Scope
- Hand-placed control-marking overrides, traffic-signal state-machine changes, freehand polygon editing, processing another region, and importing osm2streets-rendered crosswalk geometry.
Key Decision
The first version is explicit-OSM-only. This is feasible for Nantaizi and keeps control markings evidence-backed; missing data remains a diagnostic for OSM improvement rather than a silent geometric guess.