# Implementation Plan 1. Add reusable template-placement helper to the existing turn-arrow module, preserving its supported-asset gate and output ring shape. 2. Extend the native compiler with lane-separator, repeated road-direction arrow, and explicit-turn-arrow polygon generation plus source diagnostics and layer persistence. 3. Extend native output records/counts and Blender adapter mappings. Reuse existing `lane_separators` and `lane_arrows_webscale` materials only. 4. Add Workbench layers, toggles, selection/provenance inspector entries, and preserve the existing Workbench-only direction triangle behavior. 5. Add focused fixtures for supported turn placement, unsupported maneuver, short approach skip, and separator geometry; run native/workbench/build stage tests. 6. Build Nantaizi with `blender,cesium,preview --road-provider native`, inspect the final preview, and confirm no `package/` publication occurred. ## Validation ```bash npm run test:native-road npm run test:road-workbench npm run test:turn-lane-arrows npm run test:build-stages npm run road:compile -- --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 existing output path is replaced.