que01 3297d0c97a feat: insert direct edit constraint solver stage
Adds resolveDirectEditConstraints between compileRoadModel and
compileGeometry, per the parent design's data flow. The stage is an
identity transform until the individual constraint kinds land: it
returns empty road profiles, junction plans and handle manifest, so
compileGeometry's geometry code is untouched and output stays
byte-identical.

Constraint planning is separated from solving up front. Only `exact`
and `recheck` constraints may reach the solver; `disabled`,
`pending`, `conflicted` and `stale` are reported as unapplied with a
reason. SOLVED_KINDS starts empty and grows one entry per kind, so a
partially delivered solver reports what it skipped instead of
publishing half-solved geometry.

diagnostic() moves to src/compile/diagnostics.js so the solver can
share the compiler's diagnostic shape without depending on fs, which
would break the pure-function boundary that lets preview, the full
compile and the CLI export share one implementation.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-27 10:29:45 +08:00
2026-08-26 15:01:07 +08:00
2026-08-26 09:13:44 +08:00

Road Compiler

Compiles a native-road-package/v1 RoadCompilerInput JSON file into native-road GeoJSON, diagnostics, traffic-signal runtime assets, and a deterministic completion marker.

npx road-compiler --input /absolute/path/road-compiler.input.json

The compiler does not read host area configuration. The caller owns configuration normalization and creates the input JSON. Successful compilation writes exactly one NATIVE_ROAD_COMPILE_DONE JSON marker to stdout.

Run npm test after npm ci to validate the package and its two self-contained area fixtures without the host repository. The migrated baselines remain upgrade corpus; the host repository owns the strict path-normalized parity gate.

Description
No description provided
Readme 1.2 MiB
Languages
JavaScript 98.9%
HTML 1.1%