Files
osmWorkflow/.trellis/tasks/08-17-native-road-control-markings/implement.md

1.4 KiB

Implementation Plan

  1. Extend the native OSM parse/model with marked crossing-node evidence while preserving existing road IDs and parser behavior.
  2. Add native crossing clustering, tangent resolution from directed lane centerlines, stripe geometry, safe stop-line placement, and source diagnostics.
  3. Persist the two new layers in compile-native-roads.js, comparison counts, native build records, required native layer checks, and existing Blender material mappings.
  4. Add Workbench API/state fields, Chinese layer toggles, selection evidence, and summary counts while retaining scene-preview behavior.
  5. Add focused fixtures for marked and unmarked crossings, duplicate cluster handling, a missing native-lane diagnostic, and output layer contracts.
  6. Run native/unit/workbench/build-stage tests, compile/check Nantaizi, then build blender,cesium,preview --road-provider native without package/.

Validation

npm run test:native-road
npm run test:road-workbench
npm run test:build-stages
npm run road:compile -- --config config/areas/nantaizi-lake-innovation-valley.json
npm run road:check -- --config config/areas/nantaizi-lake-innovation-valley.json
npm run build:area -- --config config/areas/nantaizi-lake-innovation-valley.json \
  --stages blender,cesium,preview --road-provider native

Rollback is selecting --road-provider osm2streets; no legacy output path is changed.