1.8 KiB
1.8 KiB
Native lane separator style overrides
Goal
Make native same-direction lane separators selectable and persistently editable in Road Workbench, using the style override pattern proven for centre lines.
Confirmed Facts
compileLaneMarkings()writes one continuous0.12mPolygon separator between each adjacent lane pair, identified byroad_id,left_lane_indexandright_lane_index.- Lane separators currently have fixed light marking material and are displayed together with turn arrows in Workbench.
native-road-overrides.jsonalready supports validated, persistent centre line styles by logical native segment. The new type must not alter road-edge, curb or sidewalk geometry.
Initial Requirements
- Selecting a lane separator must show its lane-pair source and a Chinese style editor.
- The first style catalog should mirror centre lines: white/yellow and dashed/solid.
- The effective style must be generated into GeoJSON, visible in Workbench, and consumed by native Blender/Cesium.
- Default output must remain the current white dashed-style separator.
Out Of Scope
- Road-edge lines, curbs, sidewalks, double lines, partial ranges, lane-specific legal restrictions and osm2streets layers.
Key Decision
Each override applies only to the selected adjacent lane pair. This preserves separate marking semantics on roads with three or more lanes.
Acceptance Criteria
- Selecting a separator exposes a Chinese style editor for its adjacent lane pair; choosing a style stages it automatically.
- Save and regeneration preserve the per-pair style across reloads while unedited separators retain the default.
- GeoJSON, Workbench, Blender and Cesium show the same effective style.
- Tests cover validation, defaults, per-pair isolation, automatic staging and native scene consumption.