48 lines
1.8 KiB
Markdown
48 lines
1.8 KiB
Markdown
# 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 continuous `0.12m` Polygon separator
|
|
between each adjacent lane pair, identified by `road_id`, `left_lane_index`
|
|
and `right_lane_index`.
|
|
- Lane separators currently have fixed light marking material and are displayed
|
|
together with turn arrows in Workbench.
|
|
- `native-road-overrides.json` already 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.
|