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>
38 lines
1.3 KiB
JSON
38 lines
1.3 KiB
JSON
{
|
|
"name": "@osm-asset/road-compiler",
|
|
"version": "0.3.0",
|
|
"private": false,
|
|
"type": "commonjs",
|
|
"main": "src/index.js",
|
|
"bin": {
|
|
"road-compiler": "bin/road-compiler.js"
|
|
},
|
|
"scripts": {
|
|
"test": "node test/index.js && node test/native-road-edits.js && node test/road-revisions.js && node test/direct-edit-solver.js && node test/fixtures.js",
|
|
"test:fixtures:update-baseline": "node test/update-fixture-baselines.js",
|
|
"road:workbench": "node bin/road-workbench.js",
|
|
"road:export": "node bin/road-compiler.js",
|
|
"build": "vite build --config workbench/client/vite.config.ts",
|
|
"dev": "vite --config workbench/client/vite.config.ts",
|
|
"test:client": "tsc --noEmit -p workbench/client/tsconfig.json",
|
|
"test:client:unit": "vitest run --passWithNoTests",
|
|
"format": "prettier --write \"{src,bin,test,workbench}/**/*.{js,ts,tsx,css,html}\" \"*.{json,js,ts}\"",
|
|
"format:check": "prettier --check \"{src,bin,test,workbench}/**/*.{js,ts,tsx,css,html}\" \"*.{json,js,ts}\""
|
|
},
|
|
"dependencies": {
|
|
"fflate": "0.8.3",
|
|
"lucide-react": "^0.468.0",
|
|
"ol": "10.10.0",
|
|
"react": "^19.1.0",
|
|
"react-dom": "^19.1.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/react": "^19.0.8",
|
|
"@types/react-dom": "^19.0.3",
|
|
"prettier": "^3.9.6",
|
|
"typescript": "^5.7.3",
|
|
"vite": "^6.1.0",
|
|
"vitest": "4.1.11"
|
|
}
|
|
}
|