Commit Graph
133 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5.5 0909db020f feat(E): 단계 차례 보고서 맨 뒤 · DB 단계 행 여섯 · 체인 단계 상태 함수 (PLAN 565-1)
- 차례 = 지반 · 2D · 3D · 암반 · 광역 · 보고서 — STAB_STEP_ROUTES · 단계 막대 이름 · 아이콘 · 대시보드 요약 이름 같은 차례
- 단계 행 STABILITY 여섯(STAB_AREA 더함) · 022_stab_stages_six.sql = 옛 행 열쇠로 번호만 바꿈 · 없는 광역 행 NOT_STARTED · 다시 돌려도 같음
- mark_stab_step(project_id, step, state, message) — 체인 낱말(ground · 2d · 3d · rock · area · report × run · done · skip · error · cancel) → 단계 행 상태 · 열쇠로 찾음 · 실패 까닭만 남김
- E05 빈 상태 글 = E02 [해석 시작] · 보고서 안내에 암반 · 확률
- 시험 528 단계 여섯 · 상태 함수 · 280_2 가짜 차례 여섯 + 진짜 차례 끝 = E05

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:23:16 +09:00
eomsangdonandClaude Opus 5.5 dba0078f8c fix(B01): 머리 [?] 가 지금 세부 페이지의 가이드 절로 열림 · 사용자 메뉴 「터치 모드」 글자 꺾임 바로잡음 (PLAN 550-1)
- VIEW_HELP(세부 페이지 열쇠 → B01 가이드 절) · 셸 페이지 자리에 data-help-topic
- 터치 모드 이름 · 자동 · 켬 · 끔 단추 nowrap — 메뉴가 넓어져 한 줄
- 지킴 시험 test_550_1 — [?] 절 · B01 링크 · 장면 그림이 파일과 맞음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 00:59:05 +09:00
eomsangdonandClaude Opus 5.5 47b396b53d feat(ui-kit): 묶음 부품 다섯 — 표 · ⋯ 메뉴 · 모달 · 확인창 · 설정 줄 · 파일 놓기 칸 (PLAN 552-3)
- 새 부품 파일: ui_template_table · setting_row · drop · createRowMenu(context_menu) · 모달 폭 단 · askConfirm · askText(window.prompt 대신) · confirmPanel
- 단추 = 552-2 단추 부품(⋯ 아이콘 단추 28 · 띠 알림 닫기 20 · 놓기 칸 [파일 고르기] 28)
- 대시보드 PageKit 의 dataTable · tableShell · tableRow · rowMenu · settingRow · settingCard · valueText = 부품을 다시 내보냄(한 벌 · 부름 꼴 그대로) · B01 옛 CSS 걷음
- showConfirmDialog 는 모달 부품으로 옮기고 본체가 다시 내보냄 · 모달 가림막 옛 보라 → --color-scrim
- 시험: test_552_3_* 다섯 더함 · 옮긴 함수 자리를 읽던 test_290_1 · test_505_2 고침 · 부품 CSS import 를 못 읽던 시험 도우미 넷(130 · 153 · 280_5 · 311)이 .css 를 건너뜀
- 전후 촬영: B01 여덟 화면 자리 같음 · ⋯ 아이콘만 1 px 왼쪽(단추 부품 가운데 맞춤)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 21:55:11 +09:00
eomsangdonandClaude Opus 5.5 ed6554a977 merge(dev): 552-2 단추 · 552-4 틀 받음 — 부품 모음 목록 = 양쪽 살림(묶음 열다섯 · 틀 아홉) · emptyState = 빈 상태 부품 · 아이콘 = ui_template_icons
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 21:29:58 +09:00
eomsangdonandClaude Opus 5.5 7e584c1e7b feat(ui-kit): 묶음 부품 열 — 카드 · 접이 카드 · 빈 상태 · 알림 · 띠 알림 · 숫자 카드 · 값 목록 · 진행 막대 · 작은 그래프 · 범례 (PLAN 552-3)
- 새 부품 파일: ui_template_card · empty · banner · stat · kv · toast · flow_legend(.ts) · 진행 막대 · 막대 · 원 그래프 덧붙임
- createCard · showToast · 로딩 가림막은 부품 파일로 옮기고 본체(ui_template_elements)가 다시 내보냄 — 부름 꼴 그대로
- 대시보드 emptyState = 빈 상태 부품을 씀(한 벌) · 선 카드 그림자 0 · 가림막 옛 보라 → --color-scrim
- 부품 모음 화면 견본(밝음 · 어두움 · 상태) · 지킴 시험 test_552_3_* 열
- 전후 촬영: B01 여덟 화면 자리 · 화소 같음(실시간 CPU 값만 다름) · A01 · B08 카드 그림자만 다름

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 21:28:29 +09:00
eomsangdonandClaude Opus 5.5 3ccb96fbdb feat(ui-kit): 부품 단추 · 아이콘 단추 · 아이콘 · 크기 여덟 단 (PLAN 552-2)
- ui_template_button.ts · .css 새로 — createButton 을 옮김(ui_template_elements 가 다시 내보냄 · 부르는 길 그대로) · createIconButton 새로(고스트 · 선 · 채움 · aria-pressed · 글자 기호 · title + aria-label)
- 크기 = data-size 18 · 20 · 22 · 24 · 28 · 32 · 36 · 42 · 단마다 높이 · 글자 · 여백 · 아이콘 · 둥글기 값(--ui-size-*) · 입력 · 고르기 · 분할 · 탭이 같은 값을 읽음
- 단추 높이 = 글 한 줄 + 여백 + 테두리(높이를 박지 않음) — 크기를 안 준 옛 단추 · 페이지 여백 덮어쓰기 그대로 · 옛 size "sm" = 18 단(같은 꼴) · 글 링크 꼴 더함
- 상태 = 마우스 · 눌림을 data-state 로도 받음(부품 모음이 굳혀 보임) · 마우스 색 = --color-primary-hover · --color-accent-soft(옛 보라 별칭 대신) · 눌림 = 한 칸 내려앉음
- 아이콘 = Tabler 32 더함(지도 · 길 · 자 · 합 · 크레인 · 핀 · 나침반 · 설정 · 닫기 · 메뉴 · 되돌리기 …) + PageKit 여섯을 옮김 · .ui-icon 규칙 전역(ui_template_icons.css)
- 부품 모음 = 단추 · 아이콘 단추 · 아이콘 견본 · 부품마다 여덟 단 한 줄
- 시험 test_552_2_button 새로(단 값 · 높이 식 · 옛 이름 · 상태 · 날 색 없음 · 아이콘)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 21:26:01 +09:00
eomsangdon e673714748 Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-26 21:08:44 +09:00
eomsangdonandClaude Opus 5.5 aeb6bc498f feat(테마): 공통 값 한 벌 · Noto Sans KR 글꼴 파일 실음 (551-1)
- ui_template_theme.css = 대시보드 값(초록 강조 #1f7a4d · 바탕 #f6f7f9 · 선 #e6e8ec · 글 #1f2328 · 둥글기 10) 밝음 · 어두움 두 블록 · 시스템 어두움 = 같은 값
- 옛 보라 이름(deep-iris · plum-velvet · royal-amethyst · mist-violet · lavender-wash) = 새 값의 별칭 · 안 쓰는 그라디언트 3 · twilight-beam · shadow-feature 지움
- 새 토큰 accent-soft · hover · surface-sunken · border-strong · primary-hover · danger-fill(#e5484d 채운 바탕) · scrim · 위험 글자 = #c0392b 그대로
- 글꼴 = --font-ui 한 토큰(--font-body · --font-display 별칭) · Inter · Britti 등 앞 이름 뺌 · ui_template/fonts/ 에 Noto Sans KR 가변 굵기 woff2 39 묶음(unicode-range) + OFL.txt · 첫 화면 = 196 KB 한 파일
- 대시보드 --b01-* = 공통 값의 별칭 · 셸 덮어쓰기 10 줄 · 셸 어두움 블록 지움(판 바탕 흰색 한 줄만 남김)
- test_546: 셸 hex 단정 → theme.css 값 · 셸 별칭 단정으로(값 자리가 theme.css 로 옮겨 감) · test_551_1 새 지킴 시험

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 21:08:01 +09:00
eomsangdonandClaude Opus 5.5 aaac17db4c feat(ui-kit): 부품 모음 화면 틀 — 시스템 관리자만 · 밝음 / 어두움 나란히 · 상태 다섯 칸 · 크기 여덟 단 (PLAN 552-1)
- 대시보드 세부 페이지 `#/b01-account?view=ui-kit` 등록부 한 줄(시스템 관리 묶음 · SYSTEM_ADMIN 만)
- ui_template_ui_kit.ts — 테마 칸마다 iframe(data-theme)에 지금 CSS 를 옮겨 실제 값으로 그림
- ui_template_ui_kit_parts.ts — 표준 부품 30 줄(552-2 기본 · 552-3 묶음 · 552-4 틀) · 머리 = 부품 규칙(자리 · 이름 · data-size · data-state · 색 · 아이콘)
- 지금 PageKit · 공용 부품 견본(단추 · 입력 · 고르기 · 탭 · 배지 · 표 · ⋯ · 빈 상태 · 설정 줄 · 아이콘) · 나머지 빈 자리
- test_546 시스템 메뉴 기대값에 ui-kit 더함 · 새 지킴 시험 test_552_1_ui_kit

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 20:49:09 +09:00
eomsangdonandClaude Opus 5.5 43d0ccb63f merge(B01): main_laptop_1(549-2 시스템 관리 · 내 정보) 합침 — 옛 구역 정리 · 시험 옮김
- B01_Dashboard_UI_Legacy.ts: 세부 페이지가 다 갈아 끼워 옛 구역 · mountLegacy 지움 · 고른 회사 자리 · 상태 타입만 남김
- B01_Dashboard_UI_Views.ts: 쓰는 곳 없는 legacy 도우미 지움
- B01_Dashboard_UI_Style_Pages.css: 배지 색(549-1) · 시스템 관리 꼴(549-2) 둘 다 살림
- test_b01_settings_cards · test_309_2: 지운 옛 카드 부품 대신 settingLinks · 설계 기본값 페이지 · 사람 페이지를 읽음(낡은 시험)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:33:32 +09:00
eomsangdon bbedceeae1 Merge remote-tracking branch 'origin/sub_laptop_5' into main_laptop_1
# Conflicts:
#	B01_Dashboard/B01_Dashboard_UI_Views.ts
#	resources/tester/test_546_b01_shell.py
2026-10-26 18:28:47 +09:00
eomsangdonandClaude Sonnet 5.5 adc64ddcf3 fix(B01): 시스템 관리 페이지 다듬기 — 로그 동작 · 대상 한글 추가 · 회사 상세 되돌아가기 링크 · 단추 눌림 색을 셸 강조 색으로 (PLAN 549-2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 18:27:35 +09:00
eomsangdon a924f466bf Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_4
# Conflicts:
#	B01_Dashboard/B01_Dashboard_UI_Views.ts
#	resources/tester/test_546_b01_shell.py
2026-10-26 18:27:08 +09:00
eomsangdonandClaude Sonnet 5.5 7e34152de8 feat(B01): 받은 예정노선 · 임시 보관함 · 사람 · 회사 정보 · 회사 설계 기본값 세부 페이지 (549-1)
- 새 페이지 다섯(View_Assigned · Temp · People · Company · CompanyDefaults) · 등록부 다섯 줄 교체
- 표 줄 40 · 세로선 없음 · 줄 끝 ⋯ · 한글 배지 · 빈 상태 · 사람 탭 가입 요청 수 배지 · 보관함 남은 날 막대(7 일 안 빨강)
- 옛 구역 정리(Legacy · Company · AssignedPlans · TempUpload 다시 씀) · 시험 test_549 · test_546 stub 일반화

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 18:26:27 +09:00
eomsangdon bed7957a65 Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1
# Conflicts:
#	B01_Dashboard/B01_Dashboard_UI_Views.ts
#	resources/tester/test_546_b01_shell.py
2026-10-26 18:25:26 +09:00
eomsangdonandClaude Opus 5.5 c5518a8783 fix(B01): 홈 머리 글 — 꼴 고정 때 「진행 중 N 개 · 작게/크게 고정」 (PLAN 547-2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:22:58 +09:00
eomsangdonandClaude Opus 5.5 729f4c75b8 feat(B01): 대시보드 홈 — 진행 중 수에 따라 꼴이 저절로(1 큰 카드 · 2~3 중간 · 4~8 한 줄 · 9 넘음 요약) (PLAN 547-2)
- 등록부 home 줄 = mountHome · 썸네일 선 · 단계 점 · 「다음: 지금 단계」 · [이어서 하기] = 그 단계 화면 · [자세히] = 상세
- 4~8 = 팀원별 · 단계 분포 · 14 일 넘게 그대로 표시 · 9 넘음 = 요약 숫자 · 회사별 막대 · 종류 원(인라인 SVG)
- 오른쪽 = 처리할 일 · 임시 보관함 · 회사(회사 관리자) · 예정노선(산림청) · 처음 = 세 걸음 · 꼴 고정(자동 · 작게 · 크게) 기억
- 홈 역할 차례 = 셸 roleOf 와 같게(회사 관리자가 산림청 앞)
- test_546 등록부 시험 — import 한 mount 이름을 빈 함수로 저절로(페이지 줄 갈아 끼워도 그대로)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:20:21 +09:00
eomsangdonandClaude Sonnet 5.5 70786cef9e feat(B01): 시스템 관리 · 내 정보 세부 페이지 여섯 — 개요 · 회사 · 사용자 · 설계 기본값 · 로그 · 내 정보 (PLAN 549-2)
- 개요 = 숫자 카드 넷 + CPU · 메모리 · 디스크 게이지(70 % 주황 · 90 % 빨강) + 7 일 SVG 그래프
- 회사 = 목록(찾기 · ⋯) → 상세(정보 · 사람 · 프로젝트 탭) · 사용자 = 회사 · 역할 · 찾기 거르기 · ⋯
- 설계 기본값 = 설정 카드를 묶음 제목 + 줄로 · 시스템 로그 = 동작 · 기간 · 찾기 거르기 + 이전 기록 더 보기
- 내 정보 = Linear 꼴 설정 줄(기본정보 · 비밀번호 · 테마 · 내 설계 기본값)
- 옛 구역(리소스 패널 · 옛 내 정보 폼) 지움 · 지킴 시험 test_549 추가 · test_546 stub 맞춤

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 18:19:47 +09:00
eomsangdon 9826538c74 Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1 2026-10-26 18:19:35 +09:00
eomsangdonandClaude Opus 5.5 95a2bed75b feat(B01): 등록부 projects · project 줄 = 새 목록 · 상세 (PLAN 548)
- 셸 등록부 projects · project 줄을 mountProjectList · mountProjectDetail 로 갈아 끼움
- ⋯ 메뉴 오른쪽 끝 = 단추 오른쪽(표 · 상세 같은 함수)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:15:34 +09:00
eomsangdon bd1a080afc Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-26 18:13:22 +09:00
eomsangdonandClaude Opus 5.5 0ab85ec3b3 feat(B01): 대시보드 셸 마무리 — 메뉴 배지 · 알림 수 · 사용자 메뉴 테마 줄 (546-2)
- 메뉴 배지 = 가입 요청(빨강) · 받은 예정노선 미연결 · 업데이트(빨강) · 임시 보관함 묶음 수 — 페이지 바뀔 때마다 다시 셈
- 알림 종 = 처리할 일 수(가입 요청 + 새 예정노선 + 보관함 만료 7 일 안) · 누르면 홈
- 사용자 메뉴 테마 줄 = 바꾼 뒤 반대 화면 이름으로 다시 씀
- 셸 안 글 색 변수(--color-text 등)도 셸 색으로 — 어두운 화면 제목 보라 빠짐
- 시험 test_546_b01_shell 배지 · 레일 · ☰ 걷음 단정 더함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:12:33 +09:00
eomsangdon 2002affddf Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-26 18:12:15 +09:00
eomsangdonandClaude Sonnet 5.5 6b0d509077 feat(B01): 세부 페이지 공용 조각 — 머리 · 표(줄 40) · ⋯ · 배지 · 탭 · 빈 상태 (549-1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 18:11:48 +09:00
eomsangdon 5aaf7f4e65 Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_3 2026-10-26 18:09:03 +09:00
eomsangdon 93e99872e4 Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1 2026-10-26 18:08:47 +09:00
eomsangdonandClaude Opus 5.5 070791854c feat(B01): 프로젝트 상세 화면 · 카드 요약 연결 · 지킴 시험 (PLAN 548-2)
- 상세 화면(view=project) — 머리 · [⋯] · [작업 열기 — 지금 단계 ›] · 단계 진행(누름 = 그 단계) ·
  노선 지도(배경 타일 + 선 · 시점 · 종점) · 핵심 숫자 · 기본 정보 · 연결된 것 · 산출물 · 최근 변경(있는 칸만)
- 목록 · 상세 숫자 · 썸네일 = 547-1 카드 요약(project_summaries) 한 벌
- 색 = 셸 변수(--b01-*) 이름에 맞춤
- 시험 test_548_project_overview — 칸반 나눔 · 산출물 · 내 것 · 단계 수 짝

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:08:18 +09:00
eomsangdon 3274d4b107 Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_2 2026-10-26 18:07:55 +09:00
eomsangdonandClaude Opus 5.5 bc1c8b44e8 feat(B01): 홈 API — 역할별 진행 중 카드 · 처리할 일 · 회사 · 산림청 · 시스템 요약 (PLAN 547-2)
- GET /api/dashboard/home — role(USER · ADMIN · FOREST · SYSTEM_ADMIN) · 진행 중 카드(최근 수정 순 · 썸네일 앞 8 개)
- 처리할 일 = 새로 받은 · 업데이트 있는 예정노선 · 가입 요청 수 · 7 일 안 만료 보관 파일 · 보관 묶음 수
- 회사 관리자 = 회사 이름 · 팀원 수 · 산림청 = 예정노선 연도 상태별 수 · 업체 지정 대기 · 시스템 = 회사 · 사용자 수 · 서버 지금 값

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:07:54 +09:00
eomsangdon 7190bf2cfe Merge remote-tracking branches 'origin/main_laptop_1' and 'origin/sub_laptop_3' into sub_laptop_4 2026-10-26 18:06:53 +09:00
eomsangdon 3c69fb96ca Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-26 18:06:18 +09:00
eomsangdonandClaude Opus 5.5 e505f4014d feat(B01): 대시보드 새 틀 — 셸 · 왼쪽 메뉴 · 세부 페이지 등록부 (546-1)
- 셸 = 위 머리 48(AISLO · 회사 이름 — 시스템 관리자 회사 전환 · 찾기 자리 · [?] · 알림 자리 · 사용자 메뉴) + 왼쪽 메뉴 210 + 챗봇 단추
- 등록부 B01_Dashboard_UI_Views.ts — { key, title, group, roles, icon, mount(host, ctx) } · 주소 ?view= · 같은 주소 안 이동 = 페이지만 갈아 끼움(MountedPage)
- 역할 넷(일반 · 회사 관리자 · 산림청 · 시스템 관리자) · 권한 없는 묶음 · 항목 숨김 · 권한 없는 열쇠 = 홈
- 열쇠마다 옛 구역 부품 그대로 얹음(B01_Dashboard_UI_Legacy.ts) — 기능 빠짐 0
- 옛 ☰ 서랍 · 구역 접기 · 회사 알약 걷음 — 테마 · 언어 · 터치 · 설정 · 로그아웃은 사용자 메뉴로
- 아이콘 = Tabler(MIT) 선 아이콘 몇 개(ui_template_icons.ts · 라이센스 글 함께)
- 시험 — test_b01_settings_cards 옛 한 페이지 단정(buildPage · 접힘 · 알약) 지움 · 셸 회사 고르기 단정으로 바꿈 · test_546_b01_shell 새로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:05:56 +09:00
eomsangdon ffa5d250e8 Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_3
# Conflicts:
#	main.py
2026-10-26 18:04:31 +09:00
eomsangdonandClaude Opus 5.5 c6d93ee880 feat(B01): 프로젝트 목록 · 상세 API 와 목록 화면 초안 (PLAN 548)
- 새 API /api/dashboard/overview/projects(내 것 · 회사 전체 · 칸반 칸 board · 오래 멈춤)
  · /projects/{id}(노선 위경도 · 핵심 숫자 · 연결 · 산출물 · 최근 변경 — 있는 것만)
- 칸반 칸 = 단계 상태로 저절로(시작 전 · 설계 중 · 검토(STALE · FAILED) · 확정 대기 · 완료)
- 목록 화면(카드 · 표 줄 끝 ⋯ · 칸반 10 개부터) · 공용 조각 · 화면 CSS — 등록부 연결은 셸 뒤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:04:11 +09:00
eomsangdonandClaude Opus 5.5 8b1b286e04 feat(B01): 프로젝트 카드 요약 함수 · API — 단계 · 썸네일 선 · 담당 · 멈춘 날 · 연장 · 측점 · 구조물 (PLAN 547-1)
- B01_Dashboard_Summary.project_summaries(ids) — 쿼리 다섯 번(개수 무관) · 넣은 차례 · 없는 값은 칸 뺌
- 썸네일 = 최신 노선 GeoJSON 중심선 100 점 안쪽 · 0~1 칸(가로세로 비 유지 · y 아래로)
- GET /api/dashboard/projects/summary?ids= — 보이는 프로젝트만(시스템 관리자 전부 · 회사 · 내 것)
- 실측 21 개 0.14 s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:01:25 +09:00
eomsangdonandClaude Opus 5.5 02f15c3d6a feat(가이드): 538-2 [?] = 넓은 모달 한 가이드 · 차례 묶음 → 페이지 → 기능 · 그림 · 주의/참고 · B01 [?]
- [?] = openModal wide · 왼쪽 차례(임도 설계 B → 안정성평가 E → 예정노선 D · 지금 페이지 펼침) ·
  오른쪽 = 모든 페이지 이어 그림 · 처음 = 보이는 data-help-topic 절 → 지금 페이지 절 → 맨 앞 · B05↔B06 짝 걷음
- 그리기: 덩어리마다 원문 줄(data-src) · `![설명](이름.webp)` → figure(loading=lazy · ?v=판) ·
  없는 그림 = 관리자 「그림 없음 — 더블클릭해 지정」 / 일반 「그림 준비 중」 · `> 주의:` · `> 참고:` 상자 ·
  `[글](B06/00_설명서)` → 모달 안 이동 · 페이지를 안 넘기면(B01 지식 채팅) 옛 출력 그대로
- GET /api/help 에 페이지마다 그림 판 · GET /api/help/{page}/img/{name}(이름 규칙 · no-cache) ·
  옛 GET /api/help/{page} 걷음(모달이 한 가이드로 바뀜)
- B01 대시보드 머리 역할 배지 왼쪽에 [?]
- 시험 test_538_help_guide.py(변환 글 · 그림 404 · admin 칸) + helper_538_help_render.cjs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 08:47:38 +09:00
eomsangdonandClaude Opus 5.5 22e3797ab8 feat(531-4): 대시보드 받은 예정노선 [연결] 모달 · 새 임도 설계속도 → 단계 2 params · 확정 시각 KST
- B01 받은 예정노선 [연결] = 모달(새 임도 프로젝트로 · 기존 프로젝트에 연결) → link API · 409 확인 → 다시 · 끝나면 B03 이동 · 확정(KST) 열
- 연결 new 때 예정노선 설계속도(20/30/40)를 단계 2 params options.design_speed_kph 에 · existing 은 안 건드림
- B03 자동설계 체인이 단계 2 params 의 설계속도를 이어 넘김(없으면 None = 그대로 · 브레인 허락)
- 받은 예정노선 목록에 confirmed_at · D04 표 확정 시각 KST 표시(서버 UTC 그대로)
- 시험: new 연결 설계속도 기록 · existing · 범위 밖 값 안 넣음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:55:45 +09:00
eomsangdonandClaude Opus 5.5 244a2bf8eb feat(528-2): 대시보드 표 종류 열 · 종류별 단계 막대 · 「받은 예정노선」 구역
- 프로젝트 표 「종류」 열(임도설계 · 예정노선 · 안정성평가 · 사방설계 · 칸 없음 = 임도)
- 단계 막대 = 종류별(ROAD B03~B09 그대로 · PLAN D02~D04 · STABILITY E02~E05) · 누름 = 그 단계 화면
- 받은 예정노선(회사관리자 · 사용자 · 받은 것 있을 때만) = 예정노선 · 연도 · 연결 상태 · 업데이트 배지 · [보기] = D02 · [연결] 자리만(531-3)
- E01 [등록] 고르기 칸 setError 없음 오류 걷음(목록 비면 단추 꺼짐)
- tsconfig D0* · E0* → 폴더 안까지(D0*/**/*) — 앞 판은 폴더 안 파일을 안 잡아 타입 검사가 빠졌음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 19:57:13 +09:00
eomsangdon c3083ba50b Merge remote-tracking branch 'origin/dev' into sub_laptop_2 2026-10-25 19:34:48 +09:00
eomsangdonandClaude Opus 5.5 dc124d3108 feat(528-2): 대시보드 [+] 고르기 모달 — 카드 넷(예정노선 · 임도설계 · 사방설계 · 안정성평가)
- [+] 세 자리(시스템관리자 · 회사관리자 · 사용자) = 고르기 모달
- 그림 = SVG 직접(선 = 글자 색 · 밝음/어두움) · 산림청 아니면 예정노선 흐림 + 까닭 툴팁 · 누름 = 같은 알림
- 사방 = 준비 중 · 임도 = B02 · 예정노선 = D01 · 안정성평가 = E01
- 세션 is_forest_service 칸(SessionUser)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 19:34:39 +09:00
eomsangdonandClaude Opus 5.5 ff8a8bad08 feat(528): 신규 프로젝트 그룹 공통 백엔드 — 종류 칸 · 산림청 판정 · D01 · E01 생성 API · 공유 GET 만 · 가입 go.kr = 산림청
- DB 020(추가만): projects 종류 · 사업연도 끝 · 설계속도 · 원본 칸 · plan_route_years · plan_route_assignees · 회사 「산림청」 행
- is_forest_email · is_forest_service · /api/auth/session 에 is_forest_service
- require_project_access 한 곳 — 지정 회사 = GET · HEAD 만 · 그 밖 403
- POST /api/d01/project(산림청만 · PLAN · 설계속도 기본 = resolve_design_speed) · GET /api/dashboard/plan-routes/assigned
- GET /api/e01/source-candidates · POST /api/e01/project(B06 완료만 · STABILITY · 원본 칸 · 자료 복사는 528-4)
- 종류별 단계 시드(PLAN 3 · STABILITY 4) · storage 허용 D0x · E0x · B01 목록에 project_kind
- 가입 인증 — 메일 *.go.kr = 회사 산림청 · ACTIVE · 화면 회사 칸 「산림청」 잠금 표시
- 지킴 시험 test_528_project_groups.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 19:32:25 +09:00
eomsangdonandClaude Sonnet 5.5 cbfc006834 refactor(512-4 700 줄 나눔 CSS): App.css · B01 · B06 횡단 · B03 스타일 각 둘로 나눔 — 규칙 차례 그대로 · 부르는 곳 이어 부름 · 시험은 두 파일 이어 읽음
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 19:49:43 +09:00
eomsangdonandClaude Opus 5.5 5cada4bbd5 feat(511-C 유토 배분 E2 · 판 haul 줄 · 서버만 넷 까닭): /haul-plan 창구 = 늘 떠 있는 Node haul.view(computeHaulPlan 화면 꼴 · design_calc_node.ts 입구만 · 시험 길 표에 두면 브라우저 첫 묶음에 실림) · [저장] 정본 면적 · 유토곡선 · 배분 = 늘 떠 있는 Node 셋(structure.layouts · masshaul.cumulative · haul.plan · 못 부르면 새 프로세스) · 옛 server-calc 묶음 = 시험 대조만 · 판 haul 줄 엶(요구 321 · 기본 server = 지금 /haul-plan 그대로 · 판 파일 바뀜 0 · both = 배분 모듈 dynamic import 해 브라우저 셈 · 정적 import 0) · 서버만 G3 D1 D2 N1 = 줄마다 까닭 글(DB 씀 · 래스터 · D1 래스터 위 · 큰 지형 파일) · 거울 test_511_c_haul_node(프로젝트 일곱 × 문맥 넷 × 그림 · 수량 + 끝 경우 여섯 = 새 길 · 옛 묶음 · 브라우저 함수 0 차 · [저장] 정본 golden 문맥 셋 0 차) — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 15:42:35 +09:00
eomsangdonandClaude Opus 5.5 f9f606622f feat(511-B B-1 단계 Node 입구 · 판 다섯 줄): stage.route · follow · stations · profile · cross = 페이지 묶음 단계를 서버 Node 가 같은 단계 함수 · 같은 붙임으로 셈(design_calc_node_stages.ts · 등록부 밖 STAGE_IDS · 창구가 받음 · 한 요청 = 묶음 한 바퀴 · DTM 격자 경로 기억 · 관 세션 장부 사본) · follow 자리 맞춤 · cross 맥락 = logic/design_pipeline_stage_inputs.ts(페이지 693 → 659 · 빼기만) · 판 = 단계 다섯 줄 잠금(짝 모으는 중 · B-n) · F9 = 폼 기본값 · 기본값 바뀜 0 · 화면 검증_sub2 = 초안 다섯 단계 · 저장 노선 넷 0 차 — 요구 320-4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 13:49:58 +09:00
eomsangdonandClaude Sonnet 5.5 3866025475 feat(504-3 계산 자리 45줄): 창 = 묶음 머리 8 + 계산 45 줄 · 이름 = 등록부 label · 켤 수 있는 줄 G1 · D3 만 · 머리 체크 = 묶음 전부 · 판 꼴 그대로
- B01_Dashboard_UI_CalcSites: 머리 줄 + 계산 줄(번호 · 이름) · 잠긴 줄 까닭 글 · 머리 · 줄 체크 서로 따라감
- 시험: test_309_2 두 파일 줄 수 · 켤 수 있는 줄 · 머리 따라 줄 꺼짐

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 16:06:17 +09:00
eomsangdonandClaude Opus 5.5 f5fb507a33 fix(504-2 계산 자리 창): 묶음 · 까닭 글 줄바꿈 · 위 두 줄 틈 줄임 · 화면 시험(5177) 새
- 화면 시험 test_309_2_calc_sites_browser — 시스템 관리자만 카드 · ADMIN · USER 403 · G1 끔 뒤 B05 지반 서버 요청 0 → 4 · 판 기본값으로 되돌림 · 밝음 · 어두움 창 사진

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 12:30:59 +09:00
eomsangdonandClaude Opus 5.5 282b481f81 feat(504-2 계산 자리 스위치): 시스템 관리자 「계산 자리」 카드 · 창 · 판 · G1 · D3 연결
- 판 = resources/master_template/calc_sites.json(기본값 = 등록부 자리 그대로 · 전부 both)
- common_util_calc_sites — 묶음 8 줄(등록부 45 #) · 읽기 · 검사(잠금 · 모르는 줄 · 값 = 400) · 통째 쓰기
- GET /api/dashboard/calc-sites(로그인) · PUT /api/dashboard/admin/calc-sites(시스템 관리자) · 바뀐 줄마다 CALC_SITE_CHANGE 시스템 로그
- 대시보드 시스템 설정 「계산 자리」 카드(시스템 관리자만 · ☰ 엔 없음) · 체크 창(칸 둘 · 잠긴 줄 까닭 · 지금 서버 N 줄 · 다음 열기부터)
- design_calc_sites — B05 · B06 열 때 한 번 받음 · G1 server = ground 단계 안에서만 서버 표본(cross 격자 그대로) · D3 server = 워커 안 띄움
- 시험 test_309_2_calc_sites 새 · test_b01_settings_cards · test_225_drawer_shortcuts 덧

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 12:23:11 +09:00
eomsangdon 6fa2ee1202 Merge remote-tracking branch 'origin/sub_laptop_1' into sub_laptop_6 2026-10-16 20:50:06 +09:00
eomsangdonandClaude Sonnet 5.5 2a378eb5c8 fix(버튼): 357-3 서술형 버튼 이름 → 명사형 · 「단추」 → 「버튼」 (A06 · A07 · B01 · B03 · B09 · B11 · M01 · 열린 물음 · 스프레드시트 · 도움말)
- 저장 후 넘어감 → 저장 · 버리고 넘어감 → 폐기 · 다시 불러오기 → 새로고침 · 지우기 → 삭제 등
- test_303 · test_ui_loading 글 맞춤

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-16 20:38:55 +09:00
eomsangdonandClaude Opus 5.5 39d3007c28 fix(노선추천): 351-1 저장 빈틈 넷 — 재확정 체인 끝 미리 셈 · 기본값 · 저장된 제약 결과는 「최근 2벌」 정리에서 따로 셈 · 저장된 제약으로도 미리 셈 · B01 사용 범위 바꾸면 예상노선 다시 씀 + 미리 셈
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
2026-10-16 20:33:27 +09:00