/* 476-1 추천 [적용] 초안 — 화면 `flattenServerPlan`(logic/B05_Profile_UI_RouteEdit_Edits.ts) + * `routeDraftOf` 칸 꼴(곡선 켬 = !== false · R ?? null)을 Node 로 돌려 JSON 한 줄 * (`test_476_1_recommend_initial.py` 가 파이썬 `draft_nodes` 와 견줌). * node helper_476_1_flatten.cjs <후보 {nodes, curves} JSON 파일> */ const fs = require("fs"); const path = require("path"); const { makeLoader } = require("./helper_ts_stub_loader.cjs"); const ROOT = path.join(__dirname, "..", ".."); const { loadTs } = makeLoader({ root: ROOT, requireFor: (full) => (request) => request.startsWith(".") ? loadTs(path.join(path.dirname(full), `${request}.ts`)) : require(request), }); const edits = loadTs(path.join(ROOT, "B05_Profile", "logic", "B05_Profile_UI_RouteEdit_Edits.ts")); const body = JSON.parse(fs.readFileSync(process.argv[2], "utf8")); const flat = edits.flattenServerPlan(body.nodes, body.curves); process.stdout.write( JSON.stringify({ nodes: flat.planned.map(([x, y]) => [x, y]), curveOn: flat.planned.map((_, i) => flat.curveOn[i] !== false), curveRadius: flat.planned.map((_, i) => flat.curveRadius[i] ?? null), }), );