사용자 확정(2026-09-04) — 「다른 로직과 동일하게: 전처리 계산 마지막에 연산 후 영구저장, 진입 시 로딩, 조작은 캐시, 저장·확정 때 저장」. 예전에는 사용자가 B05에 처음 들어간 그 순간 브라우저가 17MB 규모를 만들어 첫 진입이 느렸음. 계산은 **재구현하지 않음** — 브라우저가 쓰는 TS 빌더(8,209줄)를 Node 로 그대로 돌림. - `B05_Profile_UI_Corridor_Envelope.ts` 신설 — 저장 형식·버전 해시·직렬화를 `_UI_Corridor.ts` 에서 그대로 떼어 브라우저·서버 공용으로 둠(내용 불변). - `B05_Profile_Corridor_Node.ts` 신설 — 입력 JSON 을 받아 저장본을 내놓는 진입점. `npm run build:corridor` 로 번들(335kB), `npm run build` 에 물림. - `B05_Profile_Corridor_Prebuild.py` 신설 — 상세·노선점을 모아 Node 실행 후 저장. 번들이 TS 원본보다 낡으면 스스로 다시 만듦(두 그림이 갈라지는 것을 막는 장치). - 체인 마지막(스냅샷 직전)에 호출. 실패는 비치명적 — 저장본이 없으면 브라우저 폴백. - 초기값 — 스냅샷이 코리도를 `initial_corridor.json` 으로 함께 뜨고, [초기화] 복원 때 **새 route id** 이름으로 되돌림(복원이 새 번호를 만들기 때문). - `window.__corridorSource` 디버그 훅 — 저장본을 썼는지 다시 만들었는지 화면 밖 확인용. 자체검증: 전체 시험 381 통과·17 건너뜀(옛 테스트 2건은 이름·경로 변경에 맞춰 갱신). 실경로 — 용화 프로젝트(route 139)로 사전 생성 성공, 브라우저가 그 저장본을 `source: "stored"`, 해시 `377c2a84` 로 **그대로 채택**(재빌드 0회, 전송 278ms). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
28 lines
1.3 KiB
JSON
28 lines
1.3 KiB
JSON
{
|
|
"name": "forest-road-webapp",
|
|
"version": "0.1.0",
|
|
"description": "임도 설계 및 견적 자동화 프로그램 (프론트엔드)",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "node ./config/node_modules/vite/bin/vite.js --configLoader runner",
|
|
"build": "node ./config/node_modules/typescript/bin/tsc --noEmit && node ./config/node_modules/vite/bin/vite.js build --configLoader runner && npm run build:corridor && npm run build:b07-cad",
|
|
"build:corridor": "node ./config/node_modules/vite/bin/vite.js build --configLoader runner --ssr ../B05_Profile/B05_Profile_Corridor_Node.ts --outDir ../config/corridor_node",
|
|
"install:b07-cad": "npm --prefix B07_DesignDetail/openwebcad install",
|
|
"build:b07-cad": "npm run install:b07-cad && npm --prefix B07_DesignDetail/openwebcad run build",
|
|
"preview": "node ./config/node_modules/vite/bin/vite.js preview --configLoader runner",
|
|
"typecheck": "node ./config/node_modules/typescript/bin/tsc --noEmit",
|
|
"format": "node ./config/node_modules/prettier/bin/prettier.cjs --write \"../**/*.{ts,css,html}\""
|
|
},
|
|
"dependencies": {
|
|
"maplibre-gl": "^5.24.0",
|
|
"three": "^0.185.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^26.1.0",
|
|
"@types/three": "^0.185.0",
|
|
"prettier": "^3.0.0",
|
|
"typescript": "^6.0.3",
|
|
"vite": "^8.1.0"
|
|
}
|
|
}
|