- 새 파일 셋: _Tin(지형 이음 · 색) · _Tin_Design(설계 점 · 브레이크라인 · 겹침 청소 · 윗면 구멍) · _Tin_Pslg(PSLG · 교차 나눔 · 제약 들로네 · 격자 색인) - 새 방식 변형 장(측점 단면 · 메시 비탈 끝)을 읽기만 · 지형은 설계 구역에 닿는 삼각형만 버리고 원래 바깥 정점 · 변을 제약으로 다시 세움 - 의존성 둘(delaunator 5.1 · @kninnug/constrainautor 4.1 · ISC) · vite 별칭 · tsconfig 경로 - 시험 test_115_6_corridor_tin.py 7(틈 0 · 브레이크라인 = 변 · 측점 단면 · 공사 밖 정점 · 구멍 · 급곡선 겹침 · 소단) - 3D 방식 등록은 sub4 등록부 받은 뒤 한 줄 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
66 lines
2.6 KiB
TypeScript
66 lines
2.6 KiB
TypeScript
import { resolve } from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
|
|
const __dirname = fileURLToPath(new URL(".", import.meta.url));
|
|
// ⚠ `localhost` 로 두지 말 것 — Node 18+ 는 그것을 **IPv6(::1) 먼저** 물고, 백엔드는
|
|
// `SERVER_HOST=0.0.0.0`(IPv4 전용)로 뜬다. 그러면 프록시가 `[::1]:<포트>` 로 붙으려다
|
|
// 실패해 화면의 **모든 `/api` 요청이 「Failed to fetch」** 가 된다 — 서버는 멀쩡한데
|
|
// 저장이 실패하고, 부팅 때 죽으면 화면이 통째로 백지가 된다(2026-09-07 실측:
|
|
// `127.0.0.1:8001` 200 · `[::1]:8001` 연결 실패). 숫자로 박아 그 갈림을 없앤다.
|
|
const apiTarget = `http://127.0.0.1:${process.env.AISLO_API_PORT ?? "8000"}`;
|
|
|
|
/**
|
|
* Vite 설정 — 임도 설계 웹앱 (Vanilla TS + Three.js)
|
|
*
|
|
* - root: A00_Common (index.html 위치)
|
|
* - 페이지 폴더(A01_Home 등)는 ../를 통해 접근
|
|
* - 0_old(구형 코드), venv(파이썬)는 빌드에서 제외
|
|
*/
|
|
export default {
|
|
root: "A00_Common",
|
|
publicDir: false,
|
|
cacheDir: "config/node_modules/.vite",
|
|
resolve: {
|
|
alias: {
|
|
"@ui": resolve(__dirname, "./ui_template"),
|
|
"@config": resolve(__dirname, "./config"),
|
|
"@util": resolve(__dirname, "./common_util"),
|
|
three: resolve(__dirname, "./config/node_modules/three"),
|
|
"maplibre-gl": resolve(__dirname, "./config/node_modules/maplibre-gl"),
|
|
delaunator: resolve(__dirname, "./config/node_modules/delaunator"),
|
|
"@kninnug/constrainautor": resolve(
|
|
__dirname,
|
|
"./config/node_modules/@kninnug/constrainautor",
|
|
),
|
|
},
|
|
},
|
|
server: {
|
|
// main.py가 CLI --port로 덮지만, `npm run dev` 맨손 실행에서 보조 워크트리가
|
|
// 메인의 5173을 뺏지 않도록 env를 먼저 본다(dev_up.py가 주입한다).
|
|
port: Number(process.env.FRONTEND_DEV_PORT ?? 5173),
|
|
open: false,
|
|
// 백엔드(FastAPI) 프록시 — config_frontend.ts의 API_BASE_URL과 정합.
|
|
// 포트는 AISLO_API_PORT로 바꿀 수 있다(기본 8000) — 워크트리를 나눠 쓰는 병행
|
|
// 작업에서 각자 자기 백엔드를 보게 하려는 것이다(2026-08-30, CLAUDE.md 7장).
|
|
proxy: {
|
|
"/api": {
|
|
target: apiTarget,
|
|
changeOrigin: true,
|
|
},
|
|
// B07 독립형 CAD 앱 — FastAPI 정적 마운트로 위임
|
|
"/b07-cad": {
|
|
target: apiTarget,
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
build: {
|
|
outDir: "../config/node_modules/.build",
|
|
emptyOutDir: true,
|
|
target: "es2022",
|
|
},
|
|
optimizeDeps: {
|
|
exclude: ["0_old"],
|
|
},
|
|
};
|