Commit Graph
6496 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5.5 717c28a956 perf(B06): 54-22 S1 횡단 보기 ▲▼ 멈춤 되돌림 — 120ms 디바운스 · 종단도 한 번 · 바뀐 카드만
- 횡단 재계산 대기: 횡단 보기 120ms · 종단 보기 16ms 그대로(실시간)
- 계획고 편집 반영 알림을 받은 횡단 보기는 카드만 갈아 끼움 — 종단도는 보낸 쪽이 이미 그림
- 숨은 횡단 보기는 알림 건너뜀 — 다시 보일 때 정합이 카드를 맞춤
- 재계산이 실제 값이 바뀐 측점만 돌려줌 — ▲ 한 번에 66장 전부 갈아 끼우던 것 → 3장
- 실측(sub7_검증 · 66 측점 · 540m ▲): 한 번 최장 577~585 → 58~81ms · 2.5초 길게 누적 1,468 → 236~282ms
- B05 ▲: 50ms 넘는 멈춤 0 · 누른 뒤 55~67ms 반영 · 길게 누름 중 100ms 마다 따라옴

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
2026-10-06 12:38:41 +09:00
eomsangdonandClaude Opus 5.5 c8ca79063c fix(B05): 54-22 H1 · H2 경로 넘기 막음 — 구조물 id 안전 이름 · 지면 필터 · 표현 허용 목록
- H1: 구조물 저장 structure_id 를 안전 이름 규칙(FOLDER_PATTERN 과 한 벌)으로 검사 · 어기면 422
- H1: 복사본 맞춤에서 한 번 더 — 규칙 밖 · base 밖 폴더는 지우기 · 쓰기 건너뜀(못만듦)
- H2: filter_key · method 를 허용 목록(Literal)으로 · 파일 이름 만드는 곳(표고 sampler · 비용면 · 스켈레톤)에서 한 번 더
- 시험: test_54_22_security 26 통과 · 관 간격 시험 가짜 필터 이름을 허용 값으로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
2026-10-06 12:22:08 +09:00
eomsangdonandClaude Opus 5.5 976c9b2816 chore(plan): 10-6 답 — 자료 일원화 제안 · 속도 보안 1단계 반영
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FJqWQpoB1RE7hiaQ2wH8qV
2026-10-06 12:13:19 +09:00
eomsangdon 3bd7f84fd3 Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1 2026-10-06 12:05:58 +09:00
eomsangdonandClaude Opus 5.5 b2dd0b7cf3 chore(plan): 54-16 B05 · B06 자료 한 곳 조사 결과 보관
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FJqWQpoB1RE7hiaQ2wH8qV
2026-10-06 12:04:33 +09:00
eomsangdonandClaude Opus 5.5 8aea7b8cbf fix(structure): 빈 · 자동 고르기 칸에 그림이 쓰는 값 표시(54-13)
- 명세 폼 고르기 칸 — 비었거나 자동 규칙이면 빈 보기 자리에 「값 (기본)」 · 「값 (자동)」 · 고른 값과 구별 · 저장 값 그대로
- 배관: 관경 · 유출 구조 = 정의 기본값 · 유입 구조 · 집수정 모양 · 벽 형태 = 횡단 기하 결과(세션 유입 형식 반영)
- 옛 「자동(규칙)」(유입 기슭막이 + 형식 없음) = 「집수정 (자동)」 등 그림 결과 · 유입 구조를 고를 때까지 형식 revet 안 굳음
- 그림 값을 보이던 위 칸 아래를 고치면 그 위 값을 고른 것(집수정 높이 → 집수정)
- 세월교 관경 · 유입 · 유출 / BOX 규격 · 유입 · 유출 = 정의 기본값(날개벽 설치 규칙 = 엔진과 같음)
- 정의 그룹 꼴 칸 — 빈 칸에 정의 기본값이 있으면 「값 (기본)」
- 시험: ui_checks/54-13_그림값_표시.js

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-06 12:03:59 +09:00
eomsangdon 651651e5b4 Merge remote-tracking branch 'origin/main_desktop_1' into main_laptop_1 2026-10-06 12:03:22 +09:00
eomsangdonandClaude Opus 5.5 185e74646e feat(profile): 종단 알약 정보 라벨 — 맨 위 층 · ▲▼ 위로 비킴 · 이름 · 기준 측점 · 컨테이너마다 첫 값(54-14)
- 레인 쌓임 층 풂 · 라벨 z 6 — ▲▼ 단추층 · 고정 Y축 · 테이블 · 유토곡선 위
- 라벨을 그래프 바닥 ▼ 단추 높이만큼 위로 · 위가 잘리면 덜 잘리는 쪽(알약 아래)
- 줄 = 종류 이름 · 기준 측점 · 좌측 폼 컨테이너마다 첫 옵션 값 · 빈 값 (기본) · auto (자동) · 메모 뺌
- B05 · B06 공용 레인 한 곳 · 시험 test_54_14_balloon_lines · ORCA 시나리오 54-14_알약_라벨

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MPcuokNm1ZR2kqgGGDfaJA
2026-10-06 12:02:00 +09:00
eomsangdon 2aed8be008 Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_7 2026-10-06 12:01:31 +09:00
eomsangdon d14f14a5d6 Merge remote-tracking branch 'origin/dev' into sub_laptop_7 2026-10-06 12:01:30 +09:00
eomsangdon 3d9f10404f Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1 2026-10-06 12:00:39 +09:00
eomsangdonandClaude Opus 5.5 ae43a25b1a chore(plan): 10-6 좌측 패널 공통 단추 크기 점검 요청 원문
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FJqWQpoB1RE7hiaQ2wH8qV
2026-10-06 11:59:43 +09:00
eomsangdonandClaude Opus 5.5 d05a0de164 feat(B05): 3D 원근 · 직교 두 단추 · 기본 직교 · FRONT · SIDE 수평 보기
- 「원근으로/직교로」 토글을 「원근」 「직교」 두 단추로 · 켜진 쪽 강조
- 카메라 기본 = 직교
- FRONT = 남에서 북 수평 · SIDE = 동에서 서 수평 · 앞 가장자리 반폭만큼 물려 화면맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
2026-10-06 11:58:37 +09:00
eomsangdon 50ae9b60fb Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-06 11:58:26 +09:00
eomsangdonandClaude Opus 5.5 b2e5f5adf3 feat(structure): 구조물 조합 잇기 줄을 옵션 칸 꼴 2행으로(54-17)
- 위 제목 「구조물 조합」(옵션 칸 제목과 같은 꼴) · 아래 이름 칸(읽기 전용 입력 칸) + [선택] [해제]
- 공용 한 곳(Summary_Row) — 명세 컨테이너 · 정의 그룹 상자 · 종류 단위 줄 모두 · 동작 · 저장 값 그대로
- 옛 한 줄 CSS 걷어 냄 · 옵션 칸 공용 클래스 다시 씀
- 시험 · ui_check 의 이름 읽기를 value 로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-06 11:56:47 +09:00
eomsangdonandClaude Opus 5.5 b5ded105b8 chore(plan): 10-6 3D FRONT · SIDE 방향 요청 원문
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FJqWQpoB1RE7hiaQ2wH8qV
2026-10-06 11:53:45 +09:00
eomsangdonandClaude Opus 5.5 968e11c46d chore(plan): 10-6 3D 원근 · 직교 단추 요청 원문
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FJqWQpoB1RE7hiaQ2wH8qV
2026-10-06 11:52:25 +09:00
eomsangdonandClaude Opus 5.5 fa4e517b4c chore(plan): 10-6 구조물 조합 줄 2행 요청 원문
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FJqWQpoB1RE7hiaQ2wH8qV
2026-10-06 11:50:06 +09:00
eomsangdonandClaude Opus 5.5 2104cc3597 chore(plan): 10-6 B05 · B06 자료 한 곳 확인 요청 원문
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FJqWQpoB1RE7hiaQ2wH8qV
2026-10-06 11:46:45 +09:00
eomsangdonandClaude Opus 5.5 fb426fb17e chore(plan): 10-6 구조물 목록 잇기 램프 요청 원문
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FJqWQpoB1RE7hiaQ2wH8qV
2026-10-06 11:43:32 +09:00
eomsangdon 850f547ca4 Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-06 11:41:52 +09:00
eomsangdonandClaude Opus 5.5 dfe1382377 fix(structure): 필수 칸 빈 옛 구조물도 다른 칸 · 측점 바꿈 바로 반영 · 빈 칸 표시 + 안내 한 줄(54-12)
- 실시간 반영이 빈 필수 칸에서 멈추고 포커스만 보내던 것 풂 · [추가] · 서버 [저장] 막기 그대로
- 빈 필수 칸 붉은 테두리 + 그 칸 상자 안 「필수 칸 비어 있음 — [저장] 전 채움」(B05 = B06)
- 시험 test_54_12_live_required · 옛 「실시간 멈춤」 기대 한 줄 바꿈

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013rJwJMVL4EE31y77TB11AP
2026-10-06 11:40:39 +09:00
eomsangdonandClaude Opus 5.5 fe2aa55bdb chore(plan): 10-6 알약 정보 라벨 요청 원문
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FJqWQpoB1RE7hiaQ2wH8qV
2026-10-06 11:36:21 +09:00
eomsangdonandClaude Opus 5.5 14965f811b fix(M02): 집계표 흙막이 줄은 선 다단 수까지만(54-11)
- 배관 흙막이 컨테이너 줄 = 서버가 [저장] 때 세운 유출 다단 수(design.extra_walls)까지 · 넘친 상자 값은 파일에 그대로 · 단 수를 늘리면 되살아남
- 집계 항목 미지정 알림도 같은 수로 셈(같은 뿌리)
- 다단 목록 없는 옛 측점 = 저장된 것 전부(옛 동작)
- 시험 test_52_1b_pipe_links 둘 더 · 화면 점검 ui_checks/54-11_흙막이_집계

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVPp2o6Mh2FZJr72yW3ofZ
2026-10-06 11:26:43 +09:00
eomsangdon 8759fbf0ee Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_5 2026-10-06 11:13:03 +09:00
eomsangdon f3d4946447 Merge remote-tracking branch 'origin/dev' into sub_laptop_5 2026-10-06 11:13:02 +09:00
eomsangdon ae2e03d892 Merge remote-tracking branch 'origin/sub_laptop_5' into main_laptop_1 2026-10-06 11:11:54 +09:00
eomsangdonandClaude Opus 5.5 bfe4eeb549 feat(structure): B06 다단 흙막이 ↔ 배관 흙막이 컨테이너 잇기(54-10)
- 횡단도 다단 벽 누르기 = 옛 「추가 기슭막이 (n단)」 칸 대신 그 단의 흙막이 컨테이너를 켜고 보임
- 흙막이 n 컨테이너 형태 · 높이 → 다단 n 단 조정값 · 길이 · 전 · 후 → 단별 구간값(높이 한도 · 지형 맞춤 규칙 그대로 · 한도 넘은 요청은 폼에 되돌림)
- 그린 다단 형태 · 높이 → 컨테이너 빈 칸 채움(유입 · 유출 벽과 같은 규칙)
- 컨테이너 수 = 지형이 세운 단 수 · 넘친 컨테이너 · 단 수 0 의 흙막이 값은 가리기만 하고 파일에 남김
- 시험 test_54_10_soil_tiers · 화면 점검 ui_checks/54-10_다단_흙막이

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVPp2o6Mh2FZJr72yW3ofZ
2026-10-06 11:08:26 +09:00
eomsangdon 363b186564 Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_7 2026-10-06 10:51:17 +09:00
eomsangdon 0a8d36fdb2 Merge remote-tracking branch 'origin/dev' into sub_laptop_7 2026-10-06 10:51:16 +09:00
eomsangdon dfae66f9ed Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1 2026-10-06 10:50:57 +09:00
eomsangdonandClaude Opus 5.5 8379154730 feat(B05): 사토장 기준 측점 = 토취장과 같은 꼴(54-7) — 기준 측점 한 점 · B06 사토 배분 이어 씀
- 정의 사토장(spoil_bank) 배치 구간 → 부지 · 정의 판 14(이력 판_13) · 화면은 토취장 길 그대로(기준 측점 No + 거리)
- 옛 구간 저장분 = 읽을 때 기준 측점(옛 기준 → 시작) · 시작 · 종료 뺌 · 파일은 다음 [저장]까지 그대로
- B06 사토 배분 = 기준 측점에 가장 가까운 측점 하나(가운데면 앞 측점) × 대표 길이(앞뒤 절반)
- 바뀌는 값: 담은 양 같음 · 쌓는 측점 구간 여럿 → 하나 · 그 측점 폭 · 면적 커짐
- 시험 test_b06_spoil_fill_allocation(기준 측점 꼴 · 옛 꼴 읽기 · 가까운 측점) · test_52_9 · 화면 ui_checks/54-7

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
2026-10-06 10:49:15 +09:00
eomsangdon b35cc6999f Merge remote-tracking branch 'origin/main_laptop_1' into sub_desktop_1 2026-10-06 10:42:35 +09:00
eomsangdon f4469d48c6 Merge remote-tracking branch 'origin/dev' into sub_desktop_1 2026-10-06 10:42:31 +09:00
eomsangdon c913c811d6 Merge remote-tracking branch 'origin/sub_desktop_1' into main_laptop_1 2026-10-06 10:42:10 +09:00
eomsangdonandClaude Opus 5.5 cdca8a2cfd fix(structure): B06 목록에서 고른 줄을 다시 눌러 풀면 횡단 카드 선택도 함께 풂(54-8)
- 목록 재클릭 풂 전용 알림 onListRelease 추가 — 폼 리셋·종류 바꿈 등 다른 null 고름 길은 그대로
- B06 은 그 알림에 카드 선택 풂(focusStation(null)) 연결
- 53-2 list 단계에 풂 뒤 카드 선택 0 판정 추가

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015KYZ2HWWdUwZWYnn3tQz7X
2026-10-06 10:40:46 +09:00
eomsangdon 11155ba06e Merge remote-tracking branch 'origin/main_laptop_1' into main_desktop_1 2026-10-06 10:37:40 +09:00
eomsangdon 1ac76b3471 Merge remote-tracking branch 'origin/dev' into main_desktop_1 2026-10-06 10:37:36 +09:00
eomsangdon 5ab325db62 Merge remote-tracking branch 'origin/main_desktop_1' into main_laptop_1 2026-10-06 10:37:12 +09:00
eomsangdonandClaude Opus 5.5 d1452df03c chore(plan): 54-5 B05 · B06 속도 · 보안 조사 결과 보관
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FJqWQpoB1RE7hiaQ2wH8qV
2026-10-06 10:36:11 +09:00
eomsangdonandClaude Opus 5.5 23cf91e2df feat(profile): 종단 알약 글 — 기타 = 손 이름 머리 + 번호 · 빈 이름 = 기타 N(54-9)
- 기타 알약 = 손 이름 앞 3글자(빈칸 뺌 · 다른 손 이름과 머리가 같으면 갈릴 때까지 늘림) + 목록과 같은 번호
- 빈 이름 = 「기타 N」 · 다른 종류 알약 · 툴팁 · 목록 이름 그대로
- structurePillTexts 한 곳이 B05 · B06 알약을 함께 그림 · 시험 test_54_9_etc_pill

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MPcuokNm1ZR2kqgGGDfaJA
2026-10-06 10:36:05 +09:00
eomsangdon e718354952 Merge remote-tracking branches 'origin/main_laptop_1' and 'origin/sub_laptop_1' into sub_laptop_5 2026-10-06 10:34:37 +09:00
eomsangdon 128986f53d Merge remote-tracking branch 'origin/dev' into sub_laptop_5 2026-10-06 10:34:35 +09:00
eomsangdon 8437bbef6e Merge remote-tracking branch 'origin/sub_laptop_5' into main_laptop_1 2026-10-06 10:33:46 +09:00
eomsangdonandClaude Opus 5.5 00dfd7f814 feat(structure): 사면안정(C군) 종류마다 컨테이너 「상세 내용」 · 그 안 구조물 조합 잇기(54-6)
- 옹벽 · 돌쌓기(찰) · 돌쌓기(메) · 흙막이 · 큰돌쌓기 · 소단 = 정의 그룹 「상세 내용」 하나에 옵션 전부(기준 측점 · 측점 범위 밖) · 칸 차례 그대로
- 잇기 = group_items(그룹 id) · 종류 단위 잇기 줄은 가림(그룹 있는 종류 규칙)
- 옛 종류 단위 잇기(summary_item)는 첫 그룹 컨테이너 잇기로 읽음 · [수정]·[저장] 때 group_items 로 옮겨 저장
- 저장 값 · 옵션 키 · 횡단 · 사면 · 집계 계산 그대로 · 정의 판 13 · 이력 판_12
- 시험 test_54_6_slope_container · ui_checks/54-6_사면안정_컨테이너(C군 6종 · B05 = B06 · 저장 → 다시 열기 · 되돌림)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-06 10:33:38 +09:00
eomsangdonandClaude Opus 5.5 6f35889b4d feat(structure): B05 · B06 좌측 패널 배관 1차 요청 반영(54-1)
- 잇기 단추 글 「고르기」 → 「선택」(명세 · 정의 그룹 · 종류 단위 줄 공용)
- 「지난 정의 값」 상자 모든 종류에서 숨김 — 값은 파일에 그대로 · 코드 남김
- 관 길이 = 보여 주는 칸(손 입력 칸 아님 · 정수 · 횡단 전 「횡단 설계 뒤 셈」)
- 유입 집수정 = 길이 · 기준측점 전 · 후 칸 숨김 · 옛 값은 병합이 지킴
- 배관 유출 칸에 읽기 줄(관 길이 · 좌우 자동 자리 안내) 안 옮김
- [흙막이 추가] 없앰 — 흙막이 컨테이너 수 = 유출 「추가 기슭막이(단)」 N(늘 보임 · 줄면 끝에서 빠짐 · 잇기 함께 풂 · 이름 흙막이)
- 단 수 소스 = 횡단 세션 값 → 캐시 patch · 종단 보기도 같은 횡단 자료(B05 = B06)
- 지형이 단을 못 세워 되돌릴 때 캐시 patch 도 맞춤(옛 수로 돌아가던 흠)
- 집계표 선택 컨테이너 이름 짝(서버) 흙막이 · 시험 기대값 · 52-1 · 52-13 화면 시나리오 고침 · 54-1 화면 점검 추가

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVPp2o6Mh2FZJr72yW3ofZ
2026-10-06 10:32:09 +09:00
eomsangdon 3bd18875f0 Merge remote-tracking branch 'origin/dev' into main_desktop_1 2026-10-06 10:29:19 +09:00
eomsangdonandClaude Opus 5.5 3e4635f146 chore(sync): 새어 온 docs·main.py 담음 — origin/main_laptop_1 과 같은 내용
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MPcuokNm1ZR2kqgGGDfaJA
2026-10-06 10:29:08 +09:00
eomsangdon 7854a1020b Merge remote-tracking branch 'origin/sub_laptop_4' into sub_desktop_1 2026-10-06 10:28:17 +09:00
eomsangdonandClaude Opus 5.5 1e02ecc196 fix(structure): 관 지점 시설 종류 바꾸기 뒤 B06 횡단도 · 알약 · 목록 바로 새 종류(54-4)
- 좌측 패널 종류 바꿈 = 고른 관 지점 실시간 반영
- B06 관 고침이 시설 종류를 받음 · 옛 종류 칸 안 이음 · 알약 · 횡단 다시 그림
- 횡단 상세 읽기에 초안 종류 얹기(짝 산식 common_util_culvert_sets) · 카드 제목 라벨 포함
- 상세 조회가 측점 라벨을 지금 관 지점 종류로(저장 뒤 다시 열기)
- 구조물 다시 그림 최신 요청만 채택
- 시험: test_b05_pipe_station_relabel · ui_checks 54-4_종류바꾸기_횡단

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013rJwJMVL4EE31y77TB11AP
2026-10-06 10:26:34 +09:00