23 lines
1.2 KiB
Markdown
23 lines
1.2 KiB
Markdown
# Design
|
|
|
|
The compiler owns marking semantics. `center-line-style` remains segment
|
|
scoped because a bidirectional road segment shares one centre-line decision.
|
|
`edge-line-style` is scoped to `{ roadId, side }`, since a directional
|
|
carriageway has independently editable left and right outside edges.
|
|
|
|
`double: true` is valid only with yellow solid centre lines. Generation emits
|
|
two 0.32m-separated parallel polygons for each normal solid mark, preserving
|
|
junction cutback and crosswalk/stop-line clearance. This keeps the existing
|
|
solid line implementation and avoids a separate geometry pipeline.
|
|
|
|
Road edge lines use the existing road-edge offset geometry. A solid style is
|
|
one continuous buffered offset line; a dashed style uses deterministic 2m
|
|
marks at 4m spacing. Both carry `effective_style`, source IDs, side, and
|
|
native provenance.
|
|
|
|
The Workbench uses one marking form with an explicit selected target type.
|
|
Only a centre-line target exposes the double-yellow option; lane separators
|
|
and edge lines retain the ordinary colour/pattern choices. Staged changes pass
|
|
through the existing save and regenerate flow, so browser, compiler and
|
|
Blender read the same persisted override.
|