Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
53 lines
2.3 KiB
TypeScript
53 lines
2.3 KiB
TypeScript
/* =============================================================================
|
|
* design_structure_ford_pavement.ts
|
|
* 횡단배수 › 물넘이 포장 명세 — 사용자 구조물 표 03(`docs/raw/구조물정의_표/03_횡단배수_물넘이포장.md`) 그대로.
|
|
*
|
|
* 컨테이너 둘: 경사각도(필수 · 각도 손 입력 · 도 + 월류 폭 · 높이 · 65-5) · 도수로/돌붙임(선택 · 구조 = 도수로 · 돌붙임).
|
|
* 저장 = pipe_points.json `options` — 새 키 `ford_slope_deg` · 선택 컨테이너 `ford_chute_{n}_structure` ·
|
|
* 월류 폭 · 높이 = 세월교와 같은 키(`ford_width_m` · `ford_height_m`) · 같은 계산(`design_structure_ford_calc`).
|
|
* 경사각도는 옛 「바닥 경사(%)」(`ford_slope_pct` · B06 파임 기울기)와 뜻이 같은지 또렷하지 않아 잇지 않음.
|
|
* import 없음 — 시험이 이 파일만 옮겨 돌림.
|
|
* ========================================================================== */
|
|
|
|
import type { StructureSpec } from "./design_structure_spec";
|
|
|
|
export const FORD_PAVEMENT_SPEC: StructureSpec = {
|
|
typeId: "ford_pavement",
|
|
containers: [
|
|
{
|
|
id: "slope",
|
|
title: "경사각도",
|
|
required: true,
|
|
link: "gfordpaveslope",
|
|
items: [
|
|
{ id: "angle", label: "경사각도 (°)", kind: "number", key: "ford_slope_deg", step: 0.1 },
|
|
{ id: "width", label: "월류 폭 (m)", kind: "number", key: "ford_width_m", step: 0.1 },
|
|
{ id: "height", label: "월류 높이 (m)", kind: "number", key: "ford_height_m", step: 0.01 },
|
|
],
|
|
},
|
|
{
|
|
id: "chute",
|
|
title: "도수로/돌붙임",
|
|
required: false,
|
|
prefix: "ford_chute",
|
|
link: "gfordpavechute",
|
|
max: 1,
|
|
// 구조 · 두께(cm · 새 상자 30) — 배관 · 박스 · 세월교 `CHUTE_ITEMS` 와 같은 칸(90-2)
|
|
items: [
|
|
{
|
|
id: "structure",
|
|
label: "구조",
|
|
kind: "select",
|
|
choices: [
|
|
{ value: "도수로", label: "도수로" },
|
|
{ value: "돌붙임", label: "돌붙임" },
|
|
],
|
|
},
|
|
{ id: "thickness", label: "두께 (cm)", kind: "number", step: 1, default: "30" },
|
|
],
|
|
},
|
|
],
|
|
// 표 03 에 없는 옛 칸 — 화면에서 빼고 값은 남김(지난 정의 값)
|
|
retired: ["ford_slope_pct", "thickness_cm", "length_m"],
|
|
};
|