Streets: sidewalks, road curves, junctions and roundabouts
Deploy web Studio / deploy (push) Successful in 4m31s
Deploy web Studio / deploy (push) Successful in 4m31s
Roads take sidewalks (none, both, left, right): 12 cm high paving with kerb faces drawn where they face the viewer. Road curve (radius, angle, left/right) carries a street round a bend; centre lines are true arcs when cut and offset, so curve joints are seamless. A road ending on another road's centre line opens that road's kerb and sidewalk (T junction); two roads ending at one corner close it. Roundabout: ring radius and width, one or two lanes, up to four arms with flared kerbs, splitter islands, give-way lines on the entry side (traffic on the left or right) and a central island with apron. Studio: a road run drawn corner by corner gets a curve in each corner (prefab meta `corner`). Tooltips list the streets each one meets. Engine: open `polyline` primitive (Prim::Poly open) so dashes run on round curves. examples/streets and a Streets demo in the web Studio; MCP guidance, docs. ROADMAP: backlog 5-7 done; multi-select and the hosted copy marked done. Tests: Rust 72, Studio 113, web 95.
This commit is contained in:
1 parent
2442966743
commit
c91d63663b
24 files changed
+989
-29
No files matched your search
@@ -272,6 +272,10 @@ mach3 = "#5b6370"
|
||||
mach4 = "#b8692b"
|
||||
robot = "#e07a1f"
|
||||
robotb = "#3a3f48"
|
||||
# streets: sidewalk paving, kerb stone faces, roundabout apron
|
||||
walk = "#555c6b"
|
||||
kerbf = "#7d8494"
|
||||
apron = "#4a4840"
|
||||
|
||||
[palette.light]
|
||||
sky1 = "#a9d4fb"
|
||||
@@ -538,6 +542,9 @@ mach3 = "#8a93a1"
|
||||
mach4 = "#e08a43"
|
||||
robot = "#f08c2b"
|
||||
robotb = "#5a616d"
|
||||
walk = "#d9d6cf"
|
||||
kerbf = "#a5a9b1"
|
||||
apron = "#b9ad98"
|
||||
|
||||
[materials]
|
||||
warn = "#e0412f"
|
||||
@@ -548,6 +555,8 @@ g-asph = "asph"
|
||||
g-conc = "conc"
|
||||
g-pad = "pad"
|
||||
g-path = "path"
|
||||
g-walk = "walk"
|
||||
g-apron = "apron"
|
||||
plinth = "plinth"
|
||||
wall = "wall"
|
||||
wall2 = "wall2"
|
||||
@@ -809,6 +818,9 @@ f-conc = "conc"
|
||||
".iso-svg .iso-win" = "fill: var(--iso-win); stroke: none"
|
||||
".iso-svg .iso-school" = "pointer-events: none"
|
||||
".iso-svg .iso-swimbox" = "fill: none; stroke: none"
|
||||
".iso-svg .iso-kerbf" = "fill: var(--iso-kerbf); stroke: none"
|
||||
".iso-svg .iso-lane" = "fill: none; stroke: var(--iso-dash); stroke-width: .6; stroke-dasharray: 4 6"
|
||||
".iso-svg .iso-giveway" = "fill: none; stroke: var(--iso-dash); stroke-width: .9; stroke-dasharray: 2 2"
|
||||
".iso-svg .iso-ledr" = "fill: var(--iso-led-r); stroke: none"
|
||||
".iso-svg .iso-ledg" = "fill: var(--iso-led-g); stroke: none"
|
||||
".iso-svg .iso-ledo" = "fill: var(--iso-led-o); stroke: none"
|
||||
|
||||
Reference in new issue
Block a user