Road Network V2 Blueprint
Goal
Move from spline-only track editing to a graph-based road system that can scale from city streets to highway interchanges, including elevated roads with automatic structural supports.
Baseline Requirements
- Network graph, not single ribbon:
- Nodes: intersections, merges/diverges, roundabouts, ramp terminals, grade-separated crossings.
- Edges: directed road segments with lane metadata and design class.
- Road hierarchy (SimCity-style, but engineering-backed):
local(access priority)collectorarterialfreeway
- Junction strategy:
- Use an Intersection Control Evaluation-style approach to pick control type by demand/speeds/space.
- Supported controls: stop/signal, roundabout, RCUT/MUT/DLT, DDI/ramp terminal variants.
- Geometry rules:
- Horizontal continuity via clothoid transitions.
- Vertical alignment with grade + vertical curves (crest/sag behavior).
- Class-based limits for min radius, max grade, lane count and lane width targets.
- Grade separation:
- Overpasses/bridges with explicit deck clearance targets.
- Automatic substructure generation (piers/caps) when deck-to-ground gap exceeds threshold.
- Lane connectivity:
- Explicit incoming-lane -> outgoing-lane mapping at each node.
- Turn restrictions and lane use control (through-only, left-only, right-only, ramp-only).
Data Model (Target)
RoadNetwork
nodes: Node[]
edges: Edge[]
junctions: Junction[]
Node
id, pos3
type: normal|merge|diverge|roundabout|interchange
Edge
id, fromNode, toNode
class: local|collector|arterial|freeway|ramp
centerline: parametric alignment
profile: vertical profile
lanesForward, lanesReverse
speedTarget
Junction
id, nodeIds
controlType: stop|signal|roundabout|rcut|mut|dlt|ddi
laneConnections: [fromLane -> toLane]
conflictZones
Generation Pipeline
- Topology pass:
- Build/validate graph, detect disconnected components, ensure lane continuity.
- Geometric pass:
- Solve centerlines with clothoids and vertical curves.
- Resolve junction throat geometry and lane tapers.
- Surface pass:
- Build road/shoulder/curb meshes per edge and per junction patch.
- Structure pass:
- Build supports for elevated sections against terrain and underpasses.
- Traffic metadata pass:
- Create turn restrictions, priorities, and lane-level routing graph.
Implementation Stages
- Stage A (current focus):
- Keep existing UI/tools.
- Treat main spline + branch sections as a network.
- Generate all theme meshes per branch + main.
- Add automatic support mesh generation from terrain gap.
- Stage B:
- Introduce road classes and per-class defaults.
- Add lane count + directionality per edge.
- Add lane connection model at Y-splits/roundabouts.
- Stage C:
- Add interchange node templates (diamond, partial cloverleaf, trumpet, stack-lite).
- Add ICE-style junction chooser helper.
- Stage D:
- Add routing/traffic simulation hooks.
Standards Anchors Used
- FHWA roundabouts: speed reduction + yield-controlled circular flow + safety/conflict reduction.
- FHWA intersection control evaluation and innovative intersection families (RCUT, MUT, DLT, DDI).
- TxDOT roadway design criteria for hierarchy concepts and vertical clearance targets.
- SUMO network model concepts (nodes/edges/lanes/connections/roundabout declarations) for lane-connectivity structure.

