Files
dxf-to-3d-gasiseol/docs/next-session-pier.md
T
Claude Haiku 363c2a2a25 step3-4: 프로젝트 기본 구조 & 상세 계획 수립
- CLAUDE.md: 프로젝트 전체 가이드 및 워크플로우 정의
- CONSIDERATIONS.md: 8개 영역 고려사항 분석 (기술, 품질, 배포, UX)
- PROGRESS.md: 진행 상황 추적 및 체크리스트
- PLAN.md: 단계 5~9 상세 계획 및 에이전트 역할 정의
- 메모리: 프로젝트 정보 저장

다음: 단계 5 (에이전트/커맨드/스킬/훅 아이디어 제안)
2026-10-16 15:06:18 +09:00

144 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 다음 세션 프롬프트 — 교각(Pier) 하나로 방법론 실증
> 그대로 복사해 붙이면 된다. 아래 `---` 부터가 프롬프트다.
---
# 교각(Pier) 한 부재로 방법론 실증
## 왜 부재를 쪼개나
지난 세션에 교량 도면 7장으로 한꺼번에 갔다가 **뷰 상자를 두 번 잘못 잡았다.**
한 시트에 날짜가 다른 작업본이 겹쳐 있는 걸 못 보고 두 벌을 섞어 뽑았고,
교대라고 부른 것이 실은 옆 도형의 날개벽이었다. **폐곡선도 치수도 그럴듯해서
숫자로는 안 걸렸다.**
이번엔 **교각 하나만** 한다. 부재 하나를 끝까지 밀어 방법론의 어느 절이
그 부재에 대해 참인지 거짓인지를 확정하는 것이 목적이다. 모델 완성이 아니다.
## 먼저 읽어라 (순서대로)
1. `CLAUDE.md` — 경계 · 작업 순서 · 함정표(마지막 7행이 지난 세션 것)
2. `docs/2d-3d-conversion.md` — **교훈 #29~#33 을 반드시 읽어라.** 지난 세션에
내가 밟은 것들이다
3. `docs/methodology.html` — **11.0.4 · 11.0.5** 가 교량 실증 결과다
4. `src/drawings/bridge-end.mjs` — 지난 세션 산출물. 교각을 이미 세워봤다
(두부 2,244×1,334 · 기둥 1,586×3,904 · 확대기초 5,081×1,334)
## 대상
`drawings-src/` 의 **교각 도면**.
- 새 DWG 가 들어와 있으면 그것을 쓴다
- 없으면 기존 7장 중 교각이 그려진 것 (`교량시종점` 의 2지간 도형,
`C-BRDG-PIER` 레이어를 가진 `교량폭원` · `횡단경사`)
**어느 것을 쓰는지 먼저 보고해라.**
## 절대 규칙 (지난 세션에 어긴 것 포함)
- `src/core/*` · `src/ir.mjs` 에 도면 고유값 금지. 레이어명 · 제목 · 좌표 · **단위** ·
**축척**은 전부 `src/drawings/<이름>.mjs`
- **코어 수정이 필요해 보이면 먼저 보고해라.** 그게 방법론의 구멍이다
- 못 찾거나 여러 개면 예외를 던져라. 자동 선택 금지
- 손으로 읽은 수를 코드에 적지 마라. 도면에서 집고 **다른 값과 대조**해라
- **그림을 먼저 봐라.** 뷰 상자를 잡기 전에 반드시:
① 시트 전체 캡처 → 도형이 몇 벌인지, 겹치는지
② 도형 하나만 캡처 → 무엇이 들어 있는지 눈으로 확인
③ 그 다음에 상자
**이 순서를 건너뛰면 지난 세션과 같은 실수가 난다**
- 캡처는 `src/capture.mjs` 를 써라 (`--crop`, `--scale`, `--png`).
프로젝트 격자와 사이드카가 같이 나온다. 즉석 렌더를 던지지 마라
## 1단계 — 도면 파악 (여기서 멈추고 보고)
1. **시트 전수 캡처.** 도형이 몇 벌인가. 날짜 도장이 몇 개이고 **작업본이
겹쳐 있는가** (교훈 #29)
2. **교각이 그려진 도형을 전부 나열**하고 각각 무엇을 주는지:
- 종단면(측면) / 횡단면 / 평면 중 무엇인가
- 두부 · 기둥 · 확대기초 · 말뚝 중 무엇이 부재로 그려졌나
- 확대 상세가 섞여 있나 (축척이 다르다 — 교훈 #31)
3. **단위와 축척.** `DIMENSION.actualMeasurement` ↔ 치수 글자로 `unitMm` 확정.
치수 글자가 없으면 **크기를 아는 표준 부재**로 축척을 되찾아라 (교훈 #30).
두 값 이상으로 교차검증할 것
4. **표기 치수가 숫자인가 기호인가** 세라. 기호뿐이면 그 도면 안에는 대조
상대가 없다는 뜻일 뿐 — 다른 도면·표준 치수는 여전히 상대가 된다
## 2단계 — 교각 하나 세우기 (보고 후 진행)
**부재를 하나씩** 올려라. 한 번에 다 넣지 말 것.
```
1. 기둥 가장 단순한 것부터. 폐곡선 → 압출 → 부피 대조
2. 두부 기둥과 맞닿는 자리 확인
3. 확대기초
4. 말뚝 원기둥. 위치·지름을 도면에서 어떻게 얻는가 (교훈 #33)
5. 받침 두부 위. 확대 상세와 섞이지 않는지
```
각 부재마다 **게이트를 다 통과한 뒤** 다음으로 간다.
`--loops` → `gaps` → `build` → `measure --ir` 이 0.0000 인지.
## 3단계 — 이 부재에서 방법론이 어디까지 참인가
교각에 대해 **명시적으로 판정**해라. 「해봤다」가 아니라 「참/거짓/해당없음」으로.
| 방법론 주장 | 교각에서 |
|---|---|
| 2.2 표고 기준은 전 뷰 공통 | ? |
| 3.4 제목으로 뷰를 가른다 | ? |
| 5.2 연산 결정 트리 | 교각에 필요한 연산이 트리에 있나 |
| 11.1 기준 체인 (받침 → 교각 로컬) | **여기서 처음 검증 가능하다.** 하부공 도면이 받침 좌표·표고로 교각을 잡나 |
| 11.2 revolve 필요 | 원형 교각·두부가 있나 |
| 11.2 임의축 cylinder | 경사 말뚝이 있나 |
## 알려진 구멍 (지난 세션에 찾았고 아직 안 메웠다)
- **`pick` 이 선을 못 집는다.** 말뚝 위치는 `CS-CNTL` 중심선인데 집을 수단이
없어 스크립트로 재서 설정에 적었다. `circles()` 처럼 `centerlines()` 가 필요하다.
교각에서 또 필요해지면 **그때 코어에 넣자고 보고**해라
- 말뚝 **폭방향 배치**와 길이를 주는 도면이 없었다. 교각 도면에 평면이 있으면
거기서 나올 것이다 — **있는지 먼저 확인**해라
- 개별 거더 치수 없음 (거더배치는 위상만 준다)
## 지난 세션에 코어를 이만큼 고쳤다 (되돌리지 마라)
```
C1 cfg.unitMm DWG 모델단위가 도면군마다 다르다
C2 groupByBox 제목 없는/중복인 도면의 뷰 영역
C3 datum.mode:'none' 공통 기준선이 없는 도면
C4 toSegments entityFilter 레이어 아닌 필터 (색·선종)
C5 viewBoxes[뷰].unitMm 도형별 축척
C6 buildLoops 분할 뒤 중복 제거 겹치는 동일선상 선분
C7 rules[].needs 규칙 적용 범위
C8 findLevelDatum 라벨 무리 검사 예외 없이 틀린 답을 막는다
C9 pick.loops(w,h,tol) 같은 부재 여러 벌
C10 volume.mjs 해석 부피 격자 거짓 경보 제거
C11 buildLoops bbox collinear 제거 뒤로 (매달린 변)
capture.mjs 단위·격자·사이드카
probe.mjs → projectViews 경유
render.mjs --part 정규식 · --clip 걸침 허용
```
## 보고 형식 (매 단계)
```
쓴 도면·도형: 무엇을, 왜 그것을
통과한 게이트:
막힌 곳: 게이트 번호 + 증상 + 원인
설정으로 해결: 무엇을
코드가 필요: 무엇이 왜 (← 방법론의 구멍)
방법론에서 틀린 것: 어느 절의 어느 주장이
새 함정: 증상 → 원인 → 대응
```
## 마지막
1. `docs/2d-3d-conversion.md` 에 교훈 추가 (번호는 #34 부터)
2. `docs/methodology.html`
- 11장에 **교각 절** 신설 — 부재 단위 실증이 무엇을 밝혔는지
- 3단계 판정표를 그대로 싣는다
- 배지를 `가설` → `검증`/`부분` 으로 올리되 **틀린 주장은 지우지 말고 왜
틀렸는지 적어라**
3. `node src/ui.mjs <도면> --port 7333` 으로 파라메트릭 UI 까지 확인
(`dims()` 를 만들어야 치수 상자가 나온다)