chore(요구): 요구 270 분석 — 노선 바뀜 구조물 따라감 · 새 자리 종횡단 다시 얹기 · 나눔 457~459
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C6BNBFXFndbqYxu6sZuknK
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
# 요구 270 — 노선 바뀜 때 구조물 절대 위치 · 새 자리 종횡단 다시 생성
|
||||
|
||||
분석 = 클로드 에이전트(Opus 5.5 · 읽기만 · 진짜 TS 모듈 node 재현 · scratchpad `req270\` load · repro · repro2.cjs) · 바탕 bfc9e944a · 브레인 판단.
|
||||
|
||||
## 0. 결론
|
||||
|
||||
- 자리(누가거리) 따라감 셈(`followStructures` · `projectPipePoints`)은 정상 · 좌표 = 정본.
|
||||
- 깨지는 곳 = 따라간 뒤 그림 · 횡단 입력을 새 자리 현황으로 다시 얹지 않고 옛 측점 열쇠로 옮기기만(초안 카드) · 되돌리기 뒤 가게 초안이 묶음과 갈림 · 세션에서 옮긴 시설을 차례로 짝지음.
|
||||
- 연동 측점 = 구조물 주인 측점 옆에서 같은 형상을 이어 그리는 이웃(물넘이포장 폭 절반 · `B06_Section_UI_Cross_Ford_Linked.ts` · 흙막이 · 옹벽 구간 · `UI_Cross_Culvert_Wire.ts:201-292`).
|
||||
- 서버 [저장]은 새 자리 종횡단을 이미 다시 만듦(`B05_Profile_Route_Save.py:242-284, 420-427` · `B06_Section_Router.py:411-484` · 그림 `Engine_Attach.py:81-105`) — 단 구조물 · 추가 측점 PUT 이 브라우저 누가거리로 서버 따라감을 덮음(`Structures_Router.py:380-405` · `Router_Stations.py:424-453`).
|
||||
|
||||
## 1. 재현(node · 노선 (0,0)→(100,0)→(200,60) · 배관 47 m · 물넘이포장 125 m · 옹벽 60~80 m · 시점 당겨 +7 / +13 m)
|
||||
|
||||
| 재현 | 결과 | 증상 |
|
||||
|---|---|---|
|
||||
| A 가게 값이 저장분인 채 얹기 | 배관 그림이 No.2(40 m)에 · 관 카드(60 m) 빔 · 세월교 그림 140 m · 카드(163 m) 빔 | 연동에 붙음 + 구조물 없음 |
|
||||
| E/F 초안 카드 대 캐시 | No.6(120 m)에 물넘이포장이 제 것처럼(연결 표시 사라짐) · 시설은 132~138 m 로 떠남 · 옹벽 새 구간 80 m 카드엔 없고 캐시엔 있음 | 연동 · 카드 ≠ 패널 |
|
||||
| G 세션에서 놓은 BOX → 노선 이동 | 카드 그림 없음 · 캐시엔 있음 | 구조물 없음 |
|
||||
| H 관 둘 엇갈려 옮김 → 노선 이동 | 배관 카드에 BOX · BOX 카드에 배관 · 입력도 엇갈림 | 엉뚱한 구조물 |
|
||||
| D 관이 새 시점 밖 | 열쇠 `end:BP` · 관 카드 사라짐 · BP 카드에 관 그림 · BP 설계 안 셈 | 시종점 |
|
||||
| 되돌리기 뒤 같은 조작 | `writeFacilities` 가 마지막 쓴 값(`written`)과만 견줌(`design_pipeline_page.ts:513-523`) → 가게에 안 씀 → 목록 · 캐시 · [저장] 옛 누가거리 | 절대 위치 잃음 |
|
||||
|
||||
## 2. 원인(순위)
|
||||
|
||||
1. 초안 카드 그림 = 옛 열쇠로 옮기기만 — `atChainage`(`logic/B05_Profile_Pipeline_Detail.ts:132-142, 232`) · `specs`(`design_pipeline_cross.ts:167-173`) · 포장 · 기울임 · 하강 맥락도 옛 그림(`:91-94`).
|
||||
2. 가게 초안이 묶음과 갈림 — `written` 비교 + 되돌리기.
|
||||
3. 차례 짝 — `design_pipeline_cross.ts:183-192`.
|
||||
4. 두 상세 갈림 — 카드 = 묶음 상세 · 패널 · 목록 = 캐시 + 가게.
|
||||
5. 주인 측점 거리 무제한(`common_util_culvert_sets.ts:602-613` · `B06_Section_Engine_Culvert.py:650-667`).
|
||||
6. [저장] 구조물 PUT 에 맞춤 없음(관은 `rebasePipeDraft`).
|
||||
7. 갈아끼움이 옛 `grid` 표시 · 이름 들고 감(`logic/B06_Section_Station_Swap.ts:217-247`) · 캐시 그림 = 새 상세 + 가게 초안 없음이면 안 얹음(`B06_Section_Section_Drafts.ts:115`).
|
||||
8. 추가 측점은 초안 동안 안 따라감 · 초안 있으면 PUT 이 서버 따라감을 되돌림.
|
||||
9. 427 꼭짓점 세움이 초안 · 노선 [저장] 모두 안 탐(`logic/B05_Profile_Pipeline_Grade.ts:161`).
|
||||
10. 낮음: 좌표 없는 옛 관(`common_util_drainage_pipes.py:228-236`) · 따라감 실패 = 옛 누가거리 조용히(`Route_Save.py:395-403`) · 서버 관 따라감 선 = B04 `_prepare`(route_range 안 자름) 대 구조물 `points`(추정) · 누가거리 글 열쇠 칸(`B06_Section_Station_Keys.ts:496-525`).
|
||||
|
||||
## 3. 규칙(브레인 정함)
|
||||
|
||||
- 구조물 · 관 = 좌표(x · y) 주인 · 누가거리 = 지금 노선에 투영(정수 m) · 측점 열쇠 = 주인 id.
|
||||
- 새 자리 = 그림 · 횡단 맥락 · 지반 · 설계 결과 · 종단 지반 · 관 꼭짓점 세움(427)을 지금 현황 + 새 지형으로 다시 셈 · 사용자가 넣은 칸만 열쇠로 들고 감.
|
||||
|
||||
| 들고 감 | 다시 셈 |
|
||||
|---|---|
|
||||
| 시설 옵션 · 메모 · 상세 표 · CAD · 조정창 칸(revetx · basinadjust · inletstruct · extrawall · extraspan · fordadjust · boxadjust · revetlink · culvertopt · kindreset) · 계획고 손 편집(기하 이월) · `ROW_CARRY_KEYS` 사용자 칸 | 누가거리 · 이름 · 방위 · 확폭 · 지반 표본 · 중심고 · 상단측 · 단면 기본 · 측구 방향 · 그림 얹기 · 연동 이웃 범위 · 포장 · 기울임 · 하강 맥락 · 설계 결과 · 종단 지반 · 관 꼭짓점 세움 |
|
||||
|
||||
- 주인 측점 거리 상한 0.51 m(`PIPE_MATCH_M` · TS · 파이썬 짝) · 넘으면 안 얹고 경고.
|
||||
- 시종점 밖으로 밀린 시설 = 시종점 측점에 안 얹음 · 「노선 밖」 경고.
|
||||
- 사용자 물음: 암 경계 · 2단 경사처럼 지형 따라 뜻이 바뀌는 칸도 새 자리에 들고 갈지(답 전까지 지금처럼 들고 감).
|
||||
|
||||
## 4. 나눔
|
||||
|
||||
| 절 | 창 | 파일 |
|
||||
|---|---|---|
|
||||
| 457 초안 카드 다시 얹기 · 가게 갈림 · 차례 짝 | sub7 | `design_pipeline_page.ts` · `design_pipeline_cross.ts` · `logic/B05_Profile_Pipeline_Detail.ts` |
|
||||
| 458 캐시 갈아끼움 · 주인 거리 상한 | sub5 | `logic/B06_Section_Station_Swap.ts` · `B06_Section_Section_Drafts.ts` · `B06_Section_Section_Store.ts` · `common_util_culvert_sets.ts` · `B06_Section_Engine_Culvert.py` |
|
||||
| 459 저장 짝 · 추가 측점 · 관 꼭짓점 세움 | sub4 | `design_save.ts` · `common_util_route_follow.ts`(+.py) · `logic/B05_Profile_Pipeline_Grade.ts` · `B05_Profile_Api_PlusStations.ts` · `B05_Profile_Plus_Stations.py` · `B05_Profile_Route_Save.py` · `common_util_drainage_pipes.py` |
|
||||
|
||||
- 457 · 458 같이 시작 · 458 상한이 457 시험 기대값을 바꿈 → 끝 시험은 458 합친 뒤 한 번 더.
|
||||
|
||||
## 5. 화면 확인 목록(전수)
|
||||
|
||||
판정 = 평면 마커 · 종단 알약 · 측점 줄 · B06 카드(그림 · 이름 · 연결 표시) · 목록 줄 · 고름 · 횡단 지반선 · 설계 다시 셈 · 사용자 칸 · 초안 · [저장] 뒤 · 새 탭 셋 다 같음.
|
||||
|
||||
1. 교점 끌기로 누가거리 10 m 넘게 — 배관 · 세월교 · BOX · 물넘이포장 · 집수정 · 옹벽 · 돌쌓기 · 사토장.
|
||||
2. 일반측점 정수 m 에 얹힘 → 다시 떠남.
|
||||
3. 일반측점 넘어감.
|
||||
4. 두 시설 가까움(같은 m · 1 m 차) · 관 + 구조물 짝.
|
||||
5. 시점 · 종점 근처 · 밖으로 밀림.
|
||||
6. 곡선 MC 위 · R 바꿔 MC 이동 · 곡선 안 시설.
|
||||
7. 물넘이 연동 이웃 · 옹벽 구간 안 일반측점 · 흙막이 연동 해제 카드.
|
||||
8. 세션에서 놓기 · 옮기기 · 엇갈려 옮기기 뒤 노선 끌기.
|
||||
9. 교점 방향키 여러 번 · 마커 방향키.
|
||||
10. 되돌리기 → 같은 조작 · 다시하기 · 초안 버림.
|
||||
11. 초안 둔 채 새로고침 · B06 바로 열기.
|
||||
12. [저장] → 새 탭 · 두 번째 [저장] · [확정] 뒤 B08 연장 한 번만.
|
||||
13. 추가 측점 있는 노선에서 끌기.
|
||||
14. 밝음 · 어두움 · 값 · 행 · 파일 되돌림.
|
||||
Reference in New Issue
Block a user