Commit Graph
10313 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5.5 7f17f84d4c Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1
- 충돌 D03_PlanAnalysis_UI_Page.ts: 구역 목록 줄(sub4 · 597-1) + 거리재기 노선 인자(sub7 · 600-2) 양쪽 살림 · typecheck 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:49:52 +09:00
eomsangdonandClaude Opus 5.5 fc43341e4a Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1
- 충돌 D03_PlanAnalysis_Api.ts: 지형 받기 꼴 이름(TerrainCenter · TerrainAim) 같은 뜻 둘 → sub2(595 몫) TerrainAim 쪽 살림 · 쓰는 곳 없음
- PlanForestRoads bounds · distance_m 두 벌 → sub2 한 벌 · typecheck 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:49:10 +09:00
eomsangdonandClaude Opus 5.5 0c463bcc64 feat(D 예정노선): 지형 받기 서버 — 지적 뺌 · 실패 조각만 · 위치 바꿈 멀다 · 띠 · reset · 칸 상한 · 끊김 · 단계 글 · 임도망 ±5 km (PLAN 595 · 요구 463)
- 지적도를 지형 일에서 뺌(겹 GET 이 받음) · 지적 실패 조각만 다시(열쇠 failed_tiles)
- 받기 몸 center · reset — 5 km 넘음 far · 다른 TM 띠 band 물음 · reset = 옛 범위 · 병합 도엽 · 위성 버림
- 받을 칸 500 만 넘음 413 · extent max_cells · lon/lat
- 진행 기록 파일 — 서버 다시 켜짐 = interrupted(percent < 100 · message 없음) · 받은 적 없음 percent 100
- 진행 단계 글 n/5 · 받은 범위에 epsg · center 기록
- 임도망 자르기 = 기준점 ±5 km ∪ 받은 지형 · 지형 전에도 올림 · bounds · distance_m · 밖뿐 = 거리 글
- 시험 530_1 · 530_2 · 569_1 · 584_3 덧

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:45:26 +09:00
eomsangdon b92aae3254 Merge remote-tracking branch 'origin/sub_laptop_6' into sub_laptop_3 2026-10-30 14:45:00 +09:00
eomsangdon 5fba814689 Merge remote-tracking branch 'origin/dev' into sub_laptop_3 2026-10-30 14:44:50 +09:00
eomsangdonandClaude Opus 5.5 acdd0aa469 feat(D 예정노선): 받기 진행 = 지도 귀퉁이 서클 · 끊김 = [다시 받기] · 겹 다시 받기 = 받은 범위 판정 · 보기 옮김 받지 않음 (PLAN 596-3 · 596-4 · 요구 463)
- 부품 progress 원에 corner 꼴(오른쪽 아래 · 글 왼쪽) · 부품 모음 견본
- 서버 다시 켜짐(끝 아닌데 멎음 · 진행 못 읽음) = 끊김 → [다시 받기]
- 겹: 받은 범위(have) 바뀌면 새로 받음 · 등고 · 세류 주소에 범위 지문 &v= · 등고 자르는 상자 = 받은 범위
- 임도망 [올리기] 지도 겹 아이콘 줄에서 왼쪽 칸 단추로(Layers 가 uploadRoads 내줌)
- Api: 받기 center · reset · 답 far · band 꼴 · 진행 interrupted · 임도망 bounds · distance_m(595 꼴)
- 시험 553_4: 막대 대신 귀퉁이 서클 단언

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:44:39 +09:00
eomsangdonandClaude Opus 5.5 3b34301b56 feat(D 예정노선): 다시 긋기 — 고른 구간 앞 노드부터 긋고 원래 뒤 노드에 붙으면 끝 · 다른 구역에 닿아 끝난 본선 = 저절로 갈래 (PLAN 599-3 · 요구 463-12 · 15)
- 새 logic/D03_PlanAnalysis_Span.ts — replaceSpan · respanBlocked(속 점 갈래 막음 · 뒤 갈래 차례 밈 · 마크 길이 비율 · 조각 id 그대로)
- draw.respan(lineId, from, to) — 598 판 [다시 긋기]가 부름 · 속 구간 흐리게(paintNetwork dim) · Enter = 취소 · Backspace = 점 빼기
- 긋기 끝 꼬리가 다른 구역 꺾임점 = 뒤집어 그 점의 갈래(No.0 = 닿은 점)
- 새 시험 599_3

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:44:25 +09:00
eomsangdon 08fc54da40 Merge remote-tracking branch 'origin/sub_laptop_8' into main_laptop_1 2026-10-30 14:43:15 +09:00
eomsangdon 74371fcd57 Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-30 14:43:13 +09:00
eomsangdonandClaude Opus 5.5 52a9fc4784 feat(공용 지도): 주소 · 장소 찾기 길 GET /api/map/search · 선 이름 내보내기 이음 시험 (PLAN 594-2 · 594-4 · 요구 463)
- /api/map/search?q= — VWorld 주소(도로명 → 지번) 먼저 · 장소(POI) 뒤 · 같은 이름 · 주소 줄 하나 · 키는 서버 · 실패 = 빈 목록
- B01_Dashboard_Map.search_place 더함(있는 search_address 그대로)
- 시험 594_4 새로(VWorld 가짜) · 563_2 붙인 선 이름 = 조각 이름표 · zip 폴더 · 좌표표 xlsx 「선」 칸

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:42:38 +09:00
eomsangdonandClaude Opus 5.5 3c098dd8c1 feat(D 예정노선 · B05 3D): 3D 뷰어 여러 벌 덧 · 예정노선 3D = 노선망 전체 표준 횡단 한 번에 (PLAN 601-2 · 601-3 · 요구 463-21)
- B05 뷰어 setCorridors(builds[]) — 벌마다 노면 그룹 · 지형 잘림 = 벌마다 loftDesign 을 한 PSLG 로 합쳐 TIN 한 번 · setCorridor(한 벌) = 옛 길 그대로
- Tin 설계 꼴 outers · roads 칸(있으면 둘레 · 노면 띠 합집합) · 마커 renderRoutes(여러 선)
- D03 3D 모달 = 선 고름 걷음 · 본선 · 갈래 모두 예상 코리도(리핑암 · 산쪽 절토 · 일반 측구 · 계획고 = 지반고) · 갈래 머리 2.0 m 잘라 냄
- test_553_4 3D 단언 새 화면으로(선 고름 없음 · setCorridors)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:42:36 +09:00
eomsangdon 8cc4ca57c7 Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-30 14:41:06 +09:00
eomsangdonandClaude Opus 5.5 bf77b70be9 feat(D 예정노선): 저장 꼴에 지점 이름 · 선 이름 · 노드 기록 칸 · [저장] 몸 기준점 (PLAN 594-1 · 594-3 · 요구 463)
- 파일 points [{x, y, name?}] · lines[].name? · lines[].nodes?(꼭짓점 수와 같음 · kind free/length/slope/both · length_m · slope_pct) — 칸 없는 옛 파일 그대로 읽힘
- PUT 몸 point_names · site{lon, lat, address?} — 기준점이 바뀌면 같은 트랜잭션에서 projects.site_* 고침(주소 = 서버 VWorld · 못 찾으면 몸 주소)
- 이름 20 자 · 파일 이름 못 쓰는 글자 막음 — 서버 400(name_error) ↔ TS nameError 짝 · 노드 기록 수 틀림 400
- 선 이름 = 붙인 이름 · 없으면 차례 이름(lineNames ↔ line_names 짝 · 내보내기 조각 이름에 이어짐)
- TS 꼴 NodeKind · NodeRecord · PlanLine.name/nodes · BasePoint.name · ServerNetwork.point_names/site · searchPlaces 틀
- 시험 530_3 이름 거울 · 591_2 왕복 · 400 · 기준점

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:40:34 +09:00
eomsangdonandClaude Sonnet 5.5 7ae441be67 feat(D 예정노선): 거리재기 첫 점이 노선 위면 노선 따라 길이 (PLAN 600-2 · 요구 463-23)
- 새 순수 셈 logic/D03_PlanAnalysis_Measure — 같은 선 누가 차 · 갈래 고리 따라 올라가 만남 · 이어지지 않으면 곧은 거리
- 재기 겹 — 첫 누름 선 8 px · 꺾임점 12 px 안이면 노선 따라 · 굵게 그림 · 글 「노선 따라 L m · 측점 · Δh」
- Page.ts 한 줄(노선 넘김) · 새 시험 test_600_2_plan_measure

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 14:40:29 +09:00
eomsangdon bb00d9c998 Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1 2026-10-30 14:40:09 +09:00
eomsangdonandClaude Opus 5.5 b2138e213d feat(D 예정노선): 그리기 칸 방식 칸 함수 · 마디 고름 2 × 2 · 길이 · 기울기 두 열 · 연도 구역 마커 그리기 칸으로 (PLAN 599-1 · 599-4 · 요구 463-10 · 22)
- 새 D03_PlanAnalysis_UI_DrawPanel.ts — createDrawKindFields(노드 판 598-4 가 다시 씀) · 그리기 칸 몸
- 「둘 다」 → 「길이·기울기 고정」 · 칸 설명 글 걷음(요구 463-6)
- 부품 마디 고름에 columns 덧(여러 줄 꼴) — 한 줄 꼴 그대로
- 지도 도구줄 연도 마커 단추 · 공용 표 줄 걷음 → 그리기 칸 끌기 단추
- 시험 553_4 · 568_1 고침(마커 자리 옮김 · 방식 칸 새 파일)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:39:41 +09:00
eomsangdon 69b3aa852f Merge remote-tracking branches 'origin/sub_laptop_3', 'origin/sub_laptop_7' and 'origin/sub_laptop_8' into sub_laptop_4 2026-10-30 14:38:13 +09:00
eomsangdonandClaude Sonnet 5.5 26c5c0343d feat(D 예정노선): 지도 전용 그림 색 · 선마다 차례 색 · 검은 테 (PLAN 600-1 · 요구 463-24)
- 새 값 --draw-map-sketch · measure · warn · route-0~4 (테마 안 따름) · routeColor(index) 차례 색 함수
- planColors 가 지도 전용 색 + casing · 미리보기 · 거리재기 · 마커 · 핀 · 지점 검은 테 (strokeCased)
- 시험 551_2 에 지도 전용 색 대비(어두운 바탕 · 검은 테 ≥ 3 : 1) 덧

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 14:37:54 +09:00
eomsangdonandClaude Opus 5.5 18fcb059ae feat(D 예정노선): 예상 횡단 되살림 · 노선망 3D 선마다 입력 · 갈래 머리 잘라 냄 (PLAN 601-1 · 요구 463-21)
- logic/D03_PlanAnalysis_Expect.ts 되살림(cdcdd5f59^) — 리핑암 · 산쪽 절토 · 일반 측구 · 계획고 = 지반고
- expectLine · branchTrimM 덧 — 갈래 머리 = 차도 반 + 노견(2.0 m) 잘라 냄 · 측점 = 원래 누가
- test_544_1 되살림 + 노선망 선 시험 하나

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:37:49 +09:00
eomsangdonandClaude Opus 5.5 2aaad7fe32 feat(D 예정노선): 단계 이름 「노선 분석」 → 「예정노선」 — 사전 · 대시보드 단계 · 단축키 표 (PLAN 596-1 · 요구 463)
- 폴더 · 주소 · 열쇠 그대로 · 시험 547_1 단언 새 이름

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:37:39 +09:00
eomsangdon ad8506b186 Merge remote-tracking branch 'origin/sub_laptop_4' into sub_laptop_5 2026-10-30 14:36:57 +09:00
eomsangdonandClaude Sonnet 5.5 c1350a5b1f refactor(예정노선): 구역 목록을 페이지가 직접 붙임 — 속성 판은 판만 (PLAN 597-1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 14:36:46 +09:00
eomsangdon bc2708487d Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1 2026-10-30 14:36:03 +09:00
eomsangdonandClaude Opus 5.5 37068d439d feat(D 예정노선): Page 지점 넘김 꼴 — 지점 이름 · commit(points, names, network) · 보기 가운데 center (PLAN 596 이음 · 597 받음)
- Snap 에 pointNames · 캐시 판 4
- Points 인자 꼴만 맞춤(이름 함께 넘김) · 칸 고침은 597-2 몫

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:35:12 +09:00
eomsangdonandClaude Sonnet 5.5 f56b5f35f5 refactor(예정노선): 구역 목록을 속성 판 파일에서 UI_Pieces 로 떼어냄 (PLAN 597-1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 14:35:10 +09:00
eomsangdonandClaude Opus 5.5 4cb77b2bcd knowledge(요구): 요구 469 원문 기록 — PLAN 594~603 진행
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:27:01 +09:00
eomsangdonandClaude Opus 5.5 0c8e04a48d knowledge(요구): 요구 468 원문 · 요구서 463 6장 — 급경사 기준 값 단위 %
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:23:36 +09:00
eomsangdonandClaude Opus 5.5 3699af2c87 knowledge(요구): 요구 467 원문 · 요구서 463 6장 — 급경사 기준 옵션 모달(띠 추가) · PLAN 603
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:23:09 +09:00
eomsangdonandClaude Opus 5.5 29f6137d65 knowledge(요구): 요구 466 원문 기록 — 격자 2 m 유지 · 급경사 기준 10 · 15 · 20 바꿀 수 있는지 물음
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:20:01 +09:00
eomsangdonandClaude Opus 5.5 1a54395ea9 knowledge(요구): 요구 465 원문 기록 — 격자 = DEM 계산 물음
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:16:39 +09:00
eomsangdonandClaude Opus 5.5 20ae4fc2a8 knowledge(요구): 요구서 463 4장 사용자 답 — 지형 격자 2 m 그대로 · 「지점으로」 = 노드 판 옵션 (요구 464)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:14:55 +09:00
eomsangdonandClaude Opus 5.5 320682a9c0 knowledge(요구): 요구 464 원문 기록 — 지형 격자 유지 · 등고선 간격 물음 · 463-11 「지점으로」 뜻 맞음
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:14:17 +09:00
eomsangdonandClaude Opus 5.5 3ccd5d82ee knowledge(요구): 요구서 463 · 분석 셋 — 예정노선 화면 개편(위치 칸 · 고르기 · 긋기 · 3D · 지도 받기) · PLAN 594~602 승인 대기
- 분석 A 왼쪽 판 · 위치 · 지점 / B 그리기 · 고르기 · 3D / C 자료 · 성능 · 임도망
- 사용자 결정 둘(지형 격자 · 「지점으로」 뜻) · 정함(브레인) 스물하나

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:10:49 +09:00
eomsangdonandClaude Opus 5.5 0f20f6472a knowledge(요구): 요구 463 원문 기록 — 예정노선 D03 페이지 개선 27 항목 · 조사 · 요구서 · 계획 요청
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 13:39:26 +09:00
eomsangdonandClaude Opus 5.5 b6df6bf69a knowledge(요구): 요구 462 원문 기록 — tmp 백업 지움 허락
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 13:35:44 +09:00
eomsangdonandClaude Opus 5.5 4c9d6952a8 chore(계획): PLAN 590 이관 — 예정노선 설계 = 폴더 파일 · 위성 조각 정리 · 옛 DB 칸 지움(요구 451~461)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 13:34:32 +09:00
eomsangdonandClaude Opus 5.5 8270ae502d fix(복제): 예정노선 표 원본 차례대로 복사 — SQL 025 가 연도 색인을 지운 뒤 업체 줄 차례가 바뀌어 시험 573_1 실패 · ORDER BY id · year (PLAN 590-4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 13:34:22 +09:00
eomsangdonandClaude Opus 5.5 ff818b21da knowledge(요구): 요구 460 · 461 원문 기록 — DB 칸 지움 허락 · 위성 용량 물음 · 전역 깃 싱크
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 13:24:47 +09:00
eomsangdonandClaude Opus 5.5 152516bb59 feat(D 예정노선): 옛 DB 설계 칸 읽기 걷음 · 지움 SQL 025(만들기만) — 설계 내용 = 폴더 파일만 (PLAN 590-3 · 요구 458 · 459)
- 옮김 끝 — 파일 없는 PLAN 10 개 = 옛 칸 → plan_network.json 한 번(일회 스크립트 · 11 개 모두 파일 대 DB 대조 같음)
- 저장 모듈 = 파일 · 없으면 빈 설계(옛 칸 · 표 안 읽음) · 옛 연도 노선 접기(legacy_network) · 응답 legacy 칸 걷음
- D04 조각 노선 열쇠 route_json → route(옛 칸 이름과 헷갈림 걷음 · 메모리 값)
- 복제 도구 = 옛 D 표 안 뜸 · 예정노선 설계는 폴더 파일로 따라감
- 024_plan_site_fill.py 지움 — 옛 칸을 읽는 일회 도구 · 기준점 11 개 모두 채움
- SQL 025 = 단계 번호(PLAN_BASE 걷음) · plan_networks · plan_route_pieces · projects.plan_base_json · 연도 줄 노선 칸 · 업체 줄 year 지움 — 공유 DB 적용 안 함(데스크탑 임시 배포가 새 코드를 받은 뒤 · 임시 DB 두 번 돌림 확인)
- 시험: 590_1 옮김 시험 셋 → 파일 없음 = 빈 설계 · 코드에 옛 칸 이름 0 · 530_2 옛 연도 노선 시험 지움(그 길 걷음) · 591_2 옛 지점 꼴 시험 지움 · 591_1 채움 도구 시험 지움(도구 지움) · 573_1 = 파일째 따라감 · 옛 표 목록 밖 허용(025 전) · 531_3 · 563_2 · 593 = 열쇠 이름

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 12:45:53 +09:00
eomsangdonandClaude Opus 5.5 912cfe8263 knowledge(요구): 요구 458 · 459 원문 기록 — 590-3 설명 · 복제 대 옮김 · 진행
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 12:29:38 +09:00
eomsangdon 4a25f7ae00 Merge remote-tracking branch 'origin/main_desktop_1' into sub_laptop_8 2026-10-30 11:08:52 +09:00
eomsangdonandClaude Opus 5.5 91426dd0d5 knowledge(경쟁사): EST Plus 2 Ghidra 실행 기록 둘 — *.log 무시 규칙에 걸려 빠진 분석 근거(요구 457)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 11:05:04 +09:00
eomsangdonandClaude Opus 5.5 85a452526a knowledge(경쟁사): EST Plus 2 · STmate REA 분석 자료 올림 — 데스크탑 메인에만 있던 미추적 자료(전역 깃 싱크 전 · 요구 457)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 11:04:21 +09:00
eomsangdonandClaude Opus 5.5 4038779ae9 chore(git): graphify-out/manifest.json 추적 뺌 — 폐기 도구 결과가 auto: 커밋(f33fa9d92)으로 쓸려 들어옴 · 데스크탑 폴더 받기를 막음(추적 안 된 같은 파일) · .gitignore 에 graphify-out/
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:57:41 +09:00
eomsangdonandClaude Opus 5.5 31da501728 knowledge(요구): 요구 457 원문 기록 — 사용설명서 한 번에 · 전역 깃 싱크 · 데스크탑 네 폴더 누락 없이
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:50:01 +09:00
eomsangdonandClaude Opus 5.5 c26f7ddc46 chore(계획): PLAN 591 이관 — 예정노선 등록 기준점 · D02 걷고 D03 지점 통합(요구 452 · 453)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:42:54 +09:00
eomsangdon 58cf4c1077 Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1
# Conflicts:
#	resources/tester/test_591_1_plan_site.py
2026-10-30 10:42:06 +09:00
eomsangdonandClaude Opus 5.5 eed1074416 chore(계획): PLAN 593 이관 — 시간 표시 = 보는 사람 PC 시간대 · 옛 로컬 기록 한국 시각(요구 456)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:36:26 +09:00
eomsangdonandClaude Opus 5.5 5bc29bc889 fix(D03): 지점 핀 메뉴 「지점 N에서 긋기 시작」 = 지점 자리에서 · 이어 받기는 지점 · 선이 받은 범위 밖일 때만(옛 프로젝트 여는 즉시 받기 없음) (PLAN 591-2)
- 핀 머리를 우클릭해도 긋기 첫 점 = 지점(전엔 누른 자리 = 지점과 18 px 떨어진 새 본선)
- 받은 범위 안 · 가장자리 여유(350 m) 안쪽 선이 있다고 다시 받지 않음 — 받을 때 서버가 여유를 더함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:36:15 +09:00
eomsangdonandClaude Sonnet 5.5 bbc61e5040 fix(시간 표시): 서버 시각 모두 끝 Z · Z 없는 옛 기록 = 한국 시각으로 읽음 (PLAN 593-2 · 요구 456)
- 서버: DB 시각 글(DATE_FORMAT) 끝 Z · B03 올린 때 · D04 확정 시각 · 건강 확인 시각 = UTC Z · 개요 최근 변경 T 치환 뺌
- 서버가 만드는 엑셀(E05 면적 계산 시각) = 한국 시각 글(kst_text · Z 없는 옛 글은 이미 한국 시각)
- 화면: Z 없는 글 = 옛 로컬 기록 → +09:00 로 읽음(옛 파일은 고쳐 쓰지 않음)
- 시험: test_593_time(UTC · 서울 · 뉴욕 시간대 · Z 없는 길 0 정적 검사 · D04 · kst_text)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 10:26:24 +09:00