knowledge(요구): 요구서 546 8장 노선 세트(연도-번호) · 조사 547 — 받기 단위 = 세트 · 끊김 경고 · 잇기 · PLAN 638 · 635-2 세트 연결 · 착수(요구 549)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-01 11:17:39 +09:00
co-authored by Claude Opus 5.5
parent bea1cd92b9
commit bbe3a05201
2 changed files with 141 additions and 6 deletions
@@ -0,0 +1,108 @@
# 547 조사 — 예정노선 노선 그룹 · 연도 · 세트
원문 = `docs/raw/요구_1101/사용자요구_1101.md` 요구 547 · 548. 읽기 · 실측만(코드 · git · storage · DB 쓰기 없음 · 화면 안 띄움).
실측 = 검증_랩탑메인_D `e50c92f5`(선 없음) · 가이드_예정노선 `87d47800` · 가이드_예정노선_용화 `6067750f` 파일 · 업체 줄 DB 읽기.
## 0. 결론
- 지금 연도 꼴 = **마커로 나눈 구간(조각) 꼴** — 조각 `{id, line, from_m, to_m, year}` 이 선마다 0~끝을 빈틈없이 덮음 · 연도는 조각 칸 · 선마다 칸 아님(`logic/D03_PlanAnalysis_Plan.ts:58-70 · 123-153` · `D03_PlanAnalysis_Store.py:4-6`).
- 조각이 두 몫을 같이 짐 — 연도 구분 + 업체 몫(D04 지정 열쇠 = 조각 id). 같은 해 두 조각 = 업체 따로(가이드 2027 조각 셋에 업체 셋 · 속 빈 마름모).
- 규칙 1 · 3(지워 갈라져도 같은 연도) = 이미 맞음. 2(골라 지정 · 다시 구분) = 반쯤. 4(저장 때 끊김 경고) · 6(병합 명령) = 없음. 5(같은 해 다른 세트) = 조각으로 되지만 「같은 노선」 묶음이 없음.
- 권함 = 조각에 **세트 번호 칸 하나**(`set`) · 묶음 열쇠 = 「연도-번호」(2027-1) · D04 지정 · B 받기 단위 = 세트 · 이어짐은 저장 때 셈만.
## 1. 규칙 대 지금
| # | 규칙 | 지금 동작 · 근거 | 차이 |
|---|---|---|---|
| 1 | 연속 긋기 · 일부 지우고 다시 긋기 · 갈라진 두 선 같은 연도 | 가운데 토막 지움 = 선 둘(앞 = 원래 id · 뒤 = 새 `line-N` · 갈래 아님) · 조각을 앞뒤로 복사(연도 그대로) · 걸친 조각 = 뒤쪽 새 조각 id(`logic/Select.ts:157-210 · 179-195`) · 노드 지움 = 선 하나 그대로(`Plan.ts:430-462`) · 이어 긋기 = 끝 조각이 늘어남(`UI_Draw.ts:18`) | 연도 ✓. 업체 지정은 앞 조각 id 만 지님 → 뒤 반쪽은 업체 없음. 빈 땅 · 지점에서 새로 그은 선 = 사업연도 시작 해(`Plan.ts:136-139` · `UI_Page.ts:113 · 311`) — 지운 자리를 선 끝이 아닌 데서 다시 그으면 다른 해가 될 수 있음 |
| 2 | 골라 연도 지정 → 그 연도로 · 바뀐 연도로 다시 구분 · 중복 연도 없음 | 연도 칸 = 구역(그은 선) 고름 · 구간 · 해 줄 · 마커 고름에만(`UI_Props.ts:261-274 · 295-317` · `UI_Pieces.ts:156-160 · 208-226`) · 토막 고름(누름 · Shift · 끌어 고르기)은 연도 **보기만**(`UI_Props.ts:227-259 · 243-244`) · 지정 = 값만 바꿈(`Plan.ts:569-605`) · 마커 그대로 → 같은 해 이웃 구간이 남음(속 빈 마름모 `UI_DrawPaint.ts:300-311` · 가이드 main p1 · p4 둘 다 2027) | 토막 골라 지정 없음 · 고른 범위 끝에서 저절로 나눔 없음(마커 먼저) · 지정 뒤 같은 무리 이웃 합침 없음 · 세트 번호 없음. 「한 자리 한 연도」는 ✓(조각이 선을 빈틈없이 나눔 · 서버 겹침 막음 `D03_PlanAnalysis_Network.py:233-235`) |
| 3 | 지정 뒤 일부 지워도 같은 연도 · 사용자가 이음 | 1 과 같음 | 1 과 같음 |
| 4 | 저장 때 이어지지 않고 갈라져 있으면 경고 | 화면 [저장](`UI_Page.ts:531-549`) · 서버 셈(`Network.py:171-258`) 둘 다 이어짐 안 봄 — 서버가 보는 것 = 갈래 첫 점 = 부모 점(`:194-197`) · 마크 · 조각 경계뿐 | 없음 |
| 5 | 같은 연도라도 다른 회사 → 같은 연도 ≠ 같은 선 세트 | 업체 단위 = 조각(`D04_PlanConfirm_Router.py:129-145` · 열쇠 `:75-79`) · 조각마다 업체 여럿 · 이름 「본선 0+0~12+10」(`:373-375`) · 확정 = 연도 단위(`Store.py:129-147`) · 실측 가이드 2027: p1 예시건설 · p2 예시토건 · p4 예시산업 · 2028: p3 예시산업 | 조각 = 한 선 위 한 토막뿐 → 같은 노선이 갈라지면 조각 둘 · 업체 두 번 지정 · 「같은 노선」 표시 없음 · 같은 해 조각 나눔이 「연도 구역 마커」 이름으로 섞임 |
| 6 | 갈라진 선 병합 | 긋기 끝에서만 — 이어 긋던 꼬리가 다른 선 머리에 닿으면 한 선(`UI_Draw.ts:282-312` · `Plan.ts:500-567` · 이음 자리 같은 해 조각 하나로 `:519-526`) · 노드 끌기 붙음 = 지점만(`UI_Edit.ts:240-249`) · 메뉴 · 판에 잇기 없음(`UI_Menu.ts:55-86`) | 떨어진 두 선을 골라 잇는 명령 없음 · 노드를 다른 선 끝에 놓아도 안 이음 |
덧:
- 서버 [저장] = 조각 연도로 연도 줄(지문 · 확정) · 업체 지정된 조각이 사라지면 409(`Network.py:367-382`).
- 연결(B) = 업체 줄 하나 = 조각 하나 · B 하나에 줄 하나(옛 연결 끊음 `D04_PlanConfirm_Link.py:149-171`) · 노선 = 조각 `planned` 한 줄(`:104-126 · 174-185`).
- 실측 파일: 가이드_예정노선 = 선 셋(본선 · 갈래 둘 · 모두 맞닿음) · 조각 다섯(2027 넷 · 2028 하나) · 가이드_용화 = 선 하나 조각 하나(2027) · 검증 D = 선 없음. 연결된 B 없음.
## 2. 「중복 연도 없음」(요구 548 로 확정)
- 뜻 = 선 한 자리는 연도 하나만 · 같은 해 안에 선 세트 여럿(2027-1 · 2027-2) · 같은 번호끼리 = 갈라져 있어도 같은 노선(한 그룹).
- 「선」 = 사용자가 골라 지정하는 단위(토막 · 구간). 「그은 선 하나 = 연도 하나」 로 읽지 않음 — 연도 마커로 한 선을 여러 해로 나누는 것(요구 446 확정)과 부딪힘.
- 지금 코드 대조: 한 자리 한 연도 = ✓ · 세트 번호 = 없음(같은 해 조각들이 서로 같은 노선인지 모름).
- 규칙 1 · 3 과 맞음(갈라진 선이 같은 세트를 지님) · 5 와 맞음(같은 해 다른 세트 = 다른 회사).
## 3. 자료 꼴 제안 — 연도 + 세트 번호
세 층:
| 층 | 무엇 | 저장 |
|---|---|---|
| 세트(그룹) | 열쇠 「연도-번호」(2027-1) · 같은 번호 = 같은 노선 · 업체 몫 · B 받기 단위 | 조각 칸 `set`(번호)로만 · 따로 표 없음 |
| 구간(조각) | 선 위 [from_m, to_m] · 세트 하나에 듦 · 경계 = 세트가 바뀌는 자리 | 지금 `pieces` + `set` 한 칸 |
| 선(이어진 덩이) | 그은 꺾은선 · 세트마다 덩이 수 · 갈래 | 저장 안 함 · [저장] 때 서버가 셈 |
바꿀 것(최소):
- 파일 `pieces[].set`(1 부터) · 판 `version` 2(옛 서버가 덮어 세트를 잃지 않게 — `Store.py:58-59` 가 새 판을 409 로 막음).
- 서버 셈(`Network.derive`) — 같은 선 이웃 구간이 같은 세트면 마크 걷고 하나로(앞 조각 id) = 「다시 구분」 · 세트마다 `{key, year, no, parts(덩이 수), branch(갈래 있음), length_m, pieces}` 덧 · 연도 줄 · 지문 · 확정 = 지금 그대로(연도 단위).
- 화면 셈(새 `logic/D03_PlanAnalysis_Group.ts` — `Plan.ts` 661 줄이라 따로): 세트 지정(고른 토막 끝에서 나눔 → 세트 바꿈) · 세트 고를 수(있는 세트 + 해마다 「새 세트」) · 두 선 끝 잇기(닿으면 바로 · 떨어지면 곧은 토막) · `Plan.ts` 는 세 줄 — `PlanPiece.set` · 새 선 처음 세트(`:136-139`) · 이음 합침 비교 연도 → 세트(`:524`).
- 그대로 지님: 마크 놓기 · 토막 지움 · 다시 긋기 · 방향 바꿈은 조각을 `...piece` 로 복사 → 세트가 따라감(`Plan.ts:155-171` · `Select.ts:179-195` · `Span.ts:99-103`).
- 업체 줄: `plan_route_assignees.piece_id` 칸에 세트 열쇠 「2027-1」(스키마 그대로 · 글꼴 `^[A-Za-z0-9_-]` 맞음) · 지정된 세트가 사라지면 409(지금 조각 막음과 같은 자리).
- 연결 노선 = 세트 구간들을 이어 한 줄(서버 · 덩이 하나 · 갈래 없을 때만).
- 경고 = [저장] 응답 `parts > 1` · `branch` 를 화면이 알림(「2027-1 이 2 덩이 · 빈틈 35 m」) · 서버 셈 한 곳(③) · 짝 없음.
옛 자료 옮김:
- 옛 파일(`set` 없음) = 읽을 때 서버가 연도 안 차례(선 차례 · 거리)로 조각 하나 = 세트 하나 번호 매김 · 다음 [저장] 때 굳음.
- 옛 업체 줄(`p1` …) = 읽을 때 그 조각의 세트로 풀어 봄 · 다음 D04 [저장] 때 세트 열쇠로 다시 씀(DB 일괄 고침 없음).
- 가이드 예: 2027-1 = p1(예시건설) · 2027-2 = p4(예시산업) · 2027-3 = p2(예시토건) · 2027-4 = p5(업체 없음) · 2028-1 = p3(예시산업) — 뜻 그대로 · 사용자가 묶고 싶으면 세트 지정으로 합침.
## 4. B 영향 · 546 5장 물음 다시 쓰기
- B 받는 단위 = 세트 하나(업체 몫) · 연결 = 업체 줄 하나 = B 하나(지금 꼴 그대로 · 열쇠만 조각 → 세트).
- B05 계획선 한 줄 = 세트 구간을 이은 한 줄 · 세트가 갈라져 있거나 갈래가 있으면 한 줄이 안 됨 → D04 [확정]에서 막음(권함 · 5장 8) → B 는 늘 한 줄을 받음 · 붙이기 · 고르기 없음.
- 흐리게 볼 것 = 같은 D 의 다른 세트(다른 해 · 같은 해 다른 업체) · 업체 이름 뺌(546-B 결정 5 그대로).
- 546 5장 「가 같은 선 이어진 조각만 합침 / 나 다 받고 하나 고름」 = 세트가 대신 정함(합침은 D 에서 같은 번호로) → 그 물음은 없어짐.
- 남는 물음 하나: 한 업체가 받은 세트 여럿(예 2027-1 · 2028-1 끝끼리 이어짐)을 한 B 에 묶나 — 가) 세트 하나 = B 하나 · 다른 세트는 흐리게(권함 · 연차 설계서 따로 · 연결 꼴 그대로) / 나) 이어진 같은 업체 세트는 한 B 한 계획선.
- 546 6장 635-2 「여러 조각 연결 · B03 여러 고름」 = 「세트 연결」로 바뀜(여러 고름 없어짐 · 가 일 때).
## 5. 결정 거리
| # | 물음 | 브레인 권함 |
|---|---|---|
| 1 | 세트 열쇠 꼴 | 「연도-번호」 그대로 열쇠 · 번호는 지정 때 정해 굳음(지워도 다른 번호 안 당김) · 연도를 바꾸면 새 세트 → 업체 지정은 D04 에서 다시(안 빼면 409) |
| 2 | 새로 그은 선(빈 땅 · 지점) 처음 세트 | 사업연도 시작 해의 새 번호 · 갈래 · 이어 긋기 = 붙은 자리 세트 |
| 3 | 골라 지정 범위 | 토막 고름(누름 · Shift · 끌어 고르기)에도 「세트」 칸 · 고른 토막 끝에서 저절로 나눔 · 토막 속 나눔은 마커 |
| 4 | 연도 구역 마커 | 남김(이름 「구간 나눔」) · 같은 세트 사이 마커 = [저장] 때 걷음 |
| 5 | 끊김 경고 꼴 | 세트마다 덩이 2 이상 = [저장] 뒤 알림(저장은 됨) · 서버 셈 한 곳 |
| 6 | 세트 안 갈래 | 경고(B 는 한 줄만 받음 → 갈래는 다른 세트) |
| 7 | 병합 꼴 | 두 선 끝을 골라 [잇기](판 · 우클릭) — 닿으면 바로 · 떨어지면 곧은 토막 덧 · 이은 토막 = 앞 선 세트 |
| 8 | D04 확정 | 덩이 2 이상 · 갈래 세트는 확정 막음(까닭 글 · D03 에서 이어 오라) |
| 9 | 옛 자료 | 조각 하나 = 세트 하나 · 옛 업체 줄 그대로 읽힘 |
| 10 | 546 5장 남은 물음 | 세트 하나 = B 하나 · 다른 세트 흐리게 |
| 11 | 세트 이름 | 「2027-1」만(선 이름은 지금처럼 따로) · 화면 · D04 · 내보내기 폴더 「2027-1_<선 이름>」 |
## 6. 일감
| 차례 | 창 | 일 | 파일 |
|---|---|---|---|
| 547-1 | A 서버 | `set` 칸 · 같은 세트 합침 · 세트 셈(덩이 · 갈래) · 판 2 · 옛 번호 매김 · 업체 열쇠 세트 · 옛 열쇠 풀어 봄 · 409 · D04 단위 · 이름 · 내보내기 · 확정 막음 · 연결 노선 = 세트 한 줄 · 받은 목록 이름 | `D03_PlanAnalysis_Network.py`(473) · `_Store.py` · `D04_PlanConfirm_Router.py`(435) · `_Export.py` · `_Repository.py` · `_Link.py` · `D01_PlanRegister_Router.py`(받은 목록) · `B01_Dashboard_Router_Overview.py` · `_Home.py`(열쇠만) |
| 547-2 | B 셈 | 새 `logic/D03_PlanAnalysis_Group.ts`(지정 · 나눔 · 고를 수 · 잇기) · `Plan.ts` 세 줄 · `D03_PlanAnalysis_Api.ts` 꼴 | 새 파일 · `logic/D03_PlanAnalysis_Plan.ts`(661 · 늘리지 않음) · `D03_PlanAnalysis_Api.ts` |
| 547-3 | B 화면(547-2 뒤 · 635-1 뒤) | 속성 판 세트 칸(토막 고름 포함) · 왼쪽 해 줄 → 연도 밑 세트 줄 · 「같은 해」 → 「같은 세트」 · 이름표 「2027-1」 · 속 빈 마름모 = 같은 세트 · [잇기] · 저장 뒤 경고 · D04 표 세트 줄 | `UI_Props.ts`(341) · `UI_Pieces.ts` · `UI_Edit.ts`(569 · `setScope` · `selectYear`) · `UI_DrawPaint.ts` · `UI_Menu.ts` · `UI_Page.ts`(680 · 경고 몇 줄 · 키트로 옮긴 뒤) · `D04_PlanConfirm_UI_Page.ts` |
- 창 = 둘(A 서버 · B 셈 → 화면) · 이음 = 파일 `pieces[].set` + GET `derived.sets[]` 꼴을 547-1 첫 커밋에 적음.
- 차례 = 547-1 · 547-2 함께 → 547-3. 547-1 은 635-2 앞(연결 단위가 세트로 바뀜).
- 546 635 와 겹침: 635-1 = `UI_Page` · `UI_Menu` · `UI_Props` · `UI_Draw` → 547-3 은 635-1 뒤(또는 635-1 창이 이어 받음) · 635-2 = `D04_PlanConfirm_Link` · `B03_FileInput_UI_PlanImport.ts` → 547-1 뒤 · 635-2 범위에서 「여러 조각 · 여러 고름」 뺌.
- 700 줄: `UI_Page.ts` 680 · `Plan.ts` 661 · `UI_Edit.ts` 569 — 새 셈은 `Group.ts` 로.
- 고칠 시험: `test_530_2` · `530_3` · `563_2` · `590_1` · `531_3` · `531_d04` · `547_2_home` · `585_2` · `598_1` · `599_3` · `591_2` · `helper_plan_file.py` · 새 `test_547_*`(세트 지정 · 같은 세트 합침 · 덩이 셈 · 옛 번호 · 옛 업체 열쇠 · 잇기).
## 7. 위험
| 위험 | 대처 |
|---|---|
| 옛 자료 | 조각 하나 = 세트 하나라 뜻 안 바뀜 · 옛 업체 줄 읽을 때 풀어 봄 · 확정 지문 = 연도 단위 그대로(같은 세트 합침이 생기면 그 해 확정 풀림 · 옛 꼴은 합칠 것 없음) |
| 데스크탑 임시 배포 옛 서버 · 같은 DB · storage(시놀로지) | 판 1 로 두면 옛 서버 [저장]이 `set` 을 지움(Pydantic `Piece` 가 모르는 칸 버림) → 판 2 로 옛 서버가 409(그 프로젝트 D03 못 엶 · 지움 없음) · 새 업체 열쇠 「2027-1」 = 옛 서버 D04 · 대시보드에서 조각 못 찾음 → 반영은 전역 깃 싱크 때 · 그 전 시험은 검증 · 가이드 복제본만 |
| 업체 지정 묶음 바뀜 | 세트 합침 · 연도 바꿈으로 지정된 세트가 사라지면 409 — 까닭 글에 세트 이름 · D04 에서 먼저 뺌 |
| B 설계 값 | 연결된 B 없음(546-B 실측) · 세트 하나 = 조각 하나면 `planned` 같음 → `source_fingerprint` 같음(거짓 「업데이트 있음」 없음) · 여러 조각 세트만 새 노선 |
| 경고 무시 뒤 확정 | 확정 막음(5장 8) 안 고르면 연결 때 한 줄을 못 만듦 → 연결 거절(까닭 글)로 받아야 함 |
| 스키마 | 안 바꿈(파일 칸 · 업체 칸 값만) |
@@ -89,15 +89,14 @@ B05 라이다:
## 5. 사용자 결정 거리
1. 여러 연도 받기 단위 — B 계획선은 한 줄. 떨어진 조각 · 다른 선까지 받으면:
- 가(권함) 같은 선 위 이어진 조각만 한 노선으로 합침 · 떨어진 조각 · 다른 선 = 따로 B 프로젝트.
- 나 한 B 프로젝트에 다 받고 계획선은 그중 하나 고름 · 나머지 보기만.
- 「여러 연도 받기 단위(가 / 나)」 물음 = 요구 547 · 548 노선 세트 정의로 없어짐(8장) — 받기 단위 = 세트 하나.
- 남은 것 없음(요구 549 「조사 끝나면 고치고 착수」 · 8장 정함 그대로 진행).
## 6. 단계 · 창
- 1 물결(동시): 634 아이콘(sub1) · 635-1 예정노선 키트(sub2) · 635-2 서버 연결 · 문맥(sub3) · 636-1 가이드 셈(sub4) · 637-1 · 637-2 라이다 공용 · B 창구(sub5) — 모두 Opus.
- 2 물결: 635-3 B05 왼쪽 칸(634 · 635-1 · 635-2 뒤) · 636-2 가이드 화면(634 뒤) · 637-3 · 637-4 B05 LAS 화면 · 초기화 지형(634 뒤).
- 3 물결: 635-4 흐린 다른 연도 · 구역(635-3 뒤 · 검증용 연결 B 는 브레인이 마련).
- 1 물결(동시 · 모두 Opus): 634 아이콘(sub1) · 635-1 예정노선 키트(sub2) · 638-1 세트 서버 → 635-2 세트 연결 · 문맥(sub3) · 636-1 가이드 셈(sub4) · 637-1 · 637-2 라이다 공용 · B 창구(sub5) · 638-2 세트 셈(sub6).
- 2 물결: 638-3 세트 화면(635-1 · 638-1 · 638-2 뒤) · 635-3 B05 왼쪽 칸(634 · 635-1 · 635-2 뒤) · 636-2 가이드 화면(634 뒤) · 637-3 · 637-4 B05 LAS 화면 · 초기화 지형(634 뒤).
- 3 물결: 635-4 흐린 다른 세트(635-3 뒤 · 검증용 연결 B 는 브레인이 마련).
- 파일 경계: 634 = 부품 상자 · `A00_Common/map` 표 · 두 페이지 호버 · 자리 CSS(예정노선 `UI_Map` 은 도구 표 부르는 줄만) / 635-1 = 예정노선 `UI_Page` · `UI_Map` 입력 줄 · `UI_Draw` · `UI_Menu` · `UI_Props` · `UI_DrawPanel` · 새 `UI_Kit` · `UI_Features` / 635-2 = `D04_PlanConfirm_Link` · 새 문맥 파일 · B03 가져오기 · 새 B05 라우터 파일 / 636-1 = 새 `map_guide_route.ts` 만 / 637-1 · 637-2 = `D03_PlanAnalysis_Lidar.py` · 새 공용 모듈 · 새 B05 라우터 파일.
## 7. 지킴
@@ -109,3 +108,31 @@ B05 라이다:
- 데스크탑 임시 배포 = DB · storage 공유 · 스키마 안 바꿈 · 반영은 전역 깃 싱크 때.
- 사용자 설명서 다시 찍기 = 사용자 지시 때.
- 낡은 시험 고침(`test_626_3` · `625_draw` · `553_4` · `624_2` · `624_3` · `626_1` · `568_1` · `b05_routeedit_initial` · `551_2` 등) · 까닭은 커밋 글.
## 8. 요구 547 · 548 — 예정노선 노선 세트(연도-번호)
원문 = `사용자요구_1101.md` 요구 547 · 548 · 근거 = `_분석_547_노선그룹_연도.md`.
사용자 정의:
- 노선은 이어 그음 · 일부 지워 갈라져도 같은 연도 · 사용자가 다시 이음.
- 골라서 연도 지정 → 그 연도로 바뀌고 다시 구분 · 선 한 자리 = 연도 하나.
- 같은 연도 안 선 세트 여럿(2027-1 · 2027-2) · 같은 번호끼리 = 갈라져 있어도 같은 노선 · 같은 연도라도 회사가 다를 수 있음.
- 저장 때 끊겨 있으면 경고 · 갈라진 선 병합 기능.
지금 코드: 연도 = 마커로 나눈 조각 칸 · 조각 = 업체 몫 단위 · 규칙 1 · 3 맞음 · 2 반쯤(토막 골라 지정 없음 · 지정 뒤 다시 구분 없음) · 4 · 6 없음 · 5 = 「같은 노선」 묶음 없음.
정함(브레인 · 사용자가 바꿀 수 있음):
- 자료 = 조각에 세트 번호 칸 하나(`set`) · 열쇠 「연도-번호」(2027-1) · 번호는 지정 때 정해 굳음(지워도 다른 번호 안 당김) · 연도를 바꾸면 새 세트.
- 세트 = 업체 몫 · B 받기 단위 · 「같은 노선」 · 선(이어진 덩이)은 저장 안 하고 [저장] 때 서버가 셈.
- 새로 그은 선 = 사업연도 시작 해의 새 번호 · 갈래 · 이어 긋기 = 붙은 자리 세트.
- 골라 지정 = 토막 고름(누름 · Shift · 끌어 고르기)에도 「세트」 칸 · 고른 토막 끝에서 저절로 나눔 · 같은 선 이웃 같은 세트 = 하나로(마커 걷음).
- 연도 구역 마커 = 남김(이름 「구간 나눔」).
- 끊김 경고 = 세트마다 덩이 2 이상 · 세트 안 갈래 = [저장] 뒤 알림(저장은 됨) · 서버 셈 한 곳.
- 병합 = 두 선 끝을 골라 [잇기](판 · 우클릭) — 닿으면 바로 · 떨어지면 곧은 토막 덧 · 이은 토막 = 앞 선 세트.
- D04 확정 = 덩이 2 이상 · 갈래 세트는 확정 막음(까닭 글 · 예정노선에서 이어 오라) → B 는 늘 한 줄을 받음.
- B 받기 = 세트 하나 = B 하나 · 같은 D 의 다른 세트(다른 해 · 같은 해 다른 업체) = 흐리게 · 업체 이름 안 보임.
- 이름 = 「2027-1」 · D04 · 내보내기 폴더 「2027-1_<선 이름>」.
- 옛 자료 = 조각 하나 = 세트 하나로 읽음 · 옛 업체 줄 그대로 읽힘(다음 저장 때 세트 열쇠로) · DB 스키마 안 바꿈.
- 파일 판 2 — 데스크탑 임시 배포 옛 서버가 세트를 지우지 않게 막음(그 서버에선 그 프로젝트 예정노선 못 엶) · 반영은 전역 깃 싱크 때 · 그 전 시험은 검증 · 가이드 복제본만.
일감: 638-1 서버(세트 칸 · 합침 · 덩이 셈 · 판 2 · 옛 번호 · 업체 열쇠 · 확정 막음 · 연결 = 세트 한 줄) · 638-2 화면 셈(새 `logic/D03_PlanAnalysis_Group.ts` · 합침 규칙은 서버와 짝) · 638-3 화면(세트 칸 · 세트 줄 · 이름표 · [잇기] · 저장 뒤 경고 · D04 세트 줄) · 635-2 = 「여러 조각 · 여러 고름」 대신 「세트 연결」(638-1 뒤).