Commit Graph
367 Commits
Author SHA1 Message Date
eomsangdon 31cdd84737 Merge remote-tracking branch 'origin/sub_laptop_8' into main_laptop_1 2026-10-01 23:37:55 +09:00
eomsangdon 981e0f26f1 Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1 2026-10-01 23:35:48 +09:00
eomsangdonandClaude Opus 5.5 14547d4f20 fix(M02): 흐름도 패널 — 크게 보기를 닫으면 판을 처음 차례로 되돌려 끼움 · 만들 때 변수 차례 · 좁은 패널 맞춤 바닥 0.25(PLAN 36-3)
- ORCA(5183): 540px 칸 상자 11 모두 판 안(0.288) · 머리 끌기 → onChange 새 객체 1 번 · 크게 보기 0.9 · 닫으면 패널 0.288 · 고친 자리 그대로
  · 실행 취소 → onChange 되돌린 객체 · 접기 띠 「흐름도 ▸」 onResize 40 · 펴기 · 가장자리 끌기 +120 → onResize 764 · localStorage
  · 보기만: 더하기 0 · 끌기 onChange 0 · 고르기 됨 · 판 칸 막힘 · 여러 조건 이름표 · 밝음 · 어두움
- resources/master_data 안 바뀜(git status)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-10-01 23:35:09 +09:00
eomsangdonandClaude Opus 5.5 96326eaa35 chore(m02-df): 36-7 정리 — 흐름도 시작 화면 견본 목록 지움 · 시험 견본을 resources/tester/fixtures_df 로
- DataFlow/_sample 다섯 · CostFlow/_sample 셋 → fixtures_df(costflow) · 시험 길 고침(df_sample · df_model · cf_sample)
- M02_DF_Sample.ts 지움(시험 밖에서 시작 화면만 씀) · Entry 견본 칸 · 글 · 부름 지움 · 시작 화면 한 칸
- CostFlow 폴더 나머지 · 시험판 단추 · 메뉴는 그대로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
2026-10-01 23:35:01 +09:00
eomsangdon d787f3faa5 Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1 2026-10-01 23:34:21 +09:00
eomsangdonandClaude Sonnet 5.5 69e68a761b fix(m02-df): 다른 로직 흐름 못 읽을 때 쉬운 말
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ACSGaHdLgnkEkoA4LDtMU
2026-10-01 23:33:56 +09:00
eomsangdon 72df53ad54 Merge remote-tracking branch 'origin/sub_laptop_5' into main_laptop_1 2026-10-01 23:30:26 +09:00
eomsangdon cb7fc50c69 Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_8 2026-10-01 23:30:19 +09:00
eomsangdonandClaude Opus 5.5 3c78322350 feat(M02): 오른쪽 흐름도 패널 M02_DF_Panel.ts — mountFlowPanel(host, opts) → set · destroy · expand(PLAN 36-3)
- 세로: 머리(제목 · 크게 보기 · 접기) · 실행 취소 · 다이어그램 · 상세 내용 · 원가 · 검증(접기) · 저장 단추 없음
- 왼쪽 가장자리 끌기 · 화살표 키 → onResize(px) · 마지막 너비 localStorage · 접기 = 얇은 띠 「흐름도 ▸」
- 크게 보기 = 같은 판을 화면 전체로 옮겨 끼움 · 닫으면 패널로(고친 것 그대로) · Esc · Ctrl+Z
- 좁은 패널은 저절로 맞춤 바닥 0.5(한눈에) · 크게 보기는 0.9 — 다이어그램 opts.fitMin
- 시험 test_m02_df_panel.py 2 통과 · typecheck · DataFlow 전부 검사 초록

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-10-01 23:30:18 +09:00
eomsangdonandClaude Sonnet 5.5 fbb6902576 feat(m02-df): 다른 로직 입력 = 마스터 로직 고르기 — 원문 · 장 · 찾기 · 쪽 · 순환 막음 · 값은 서버 길
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ACSGaHdLgnkEkoA4LDtMU
2026-10-01 23:29:48 +09:00
eomsangdonandClaude Sonnet 5.5 5d7291b89a feat(m01): 흐름 로직 왼쪽 「지금 내용」 — 단가산출 상세 · 텍스트 수식(buildFlowView) · Detail 흐름 칸
- FlowRows(순수): 출력 상자를 비용 종류별 줄 · 소계 · 계(합계 끝수 1원 미만 버림) · 함수 상자 결과
- FlowView: 화면 · sub2 식 보기가 있으면 식 두 줄
- Detail: DetailContext.flowHost 가 있으면 호표 · 읽는 식 대신 이 칸
- 시험 test_m01_logic_flowview.py

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EauA2ATmqNRbeV48s9CcBr
2026-10-01 23:28:34 +09:00
eomsangdon a9a0219329 Merge remote-tracking branches 'origin/sub_laptop_7' and 'origin/sub_laptop_8' into sub_laptop_3 2026-10-01 23:27:15 +09:00
eomsangdonandClaude Sonnet 5.5 49fa7e5fbe wip(m02-df): 마스터 로직 고르기 순수 부분
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ACSGaHdLgnkEkoA4LDtMU
2026-10-01 23:27:12 +09:00
eomsangdonandClaude Opus 5.5 2e99091673 feat(m02-df): 36-0b 선 조건 여러 줄(그리고 · 또는) · 값 목록
- CfRule gate conds[{from · op · value}] · join 그리고/또는 · 옛 한 줄 꼴(from · op · value)도 읽음 — 옛 칸은 첫 조건과 같게 둠(makeGate)
- gateConds · makeGate · valueChoices(변수 고르기 · 재료 규격 · 표 칸 값 · 수 · 함수 결과는 null)
- 규칙 → 받는 칸 엑셀 식 IF(AND/OR(...),A1,NA()) · 선 이름표 「지반 = 토사 그리고 높이 ≥ 3 일 때만」 · 겹침 · 안 맞음은 조건 알약 묶음끼리
- 조건 값 열쇠 「상자|알약」 먼저(이름 겹침 막음) · M02_DF_Compute.py gate 같은 뜻(서버 = 화면 시험)
- 시험 test_m02_df_model 30개

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VBToTCGk5dqDKeXCEP3vhk
2026-10-01 23:27:04 +09:00
eomsangdonandClaude Opus 5.5 20720ea6f8 feat(M02): 흐름도 고치는 핵심 M02_DF_Paper.ts(패널 · 크게 보기 공용) · 다이어그램 보기만 · 다시 맞추기(PLAN 36-3)
- Entry 시험판 고치는 화면을 옮겨 적음(Entry 는 안 고침) — 다이어그램 · 상세 내용 · 원가 · 검증 · 실행 취소 · onChange 객체 그대로
- 다이어그램 opts.readOnly(끌기 · 잇기 · 더하기 · 지우기 막음 · 고르기 · 흐름 따라가기는 됨) · opts.fitKey(바뀌면 다시 맞춤)
- 알약 정보 글 · SVG 도우미를 Parts 로(Diagram 681줄)
- DataFlow 전부 검사 초록

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-10-01 23:26:58 +09:00
eomsangdonandClaude Opus 5.5 2c134b440f fix(M02): 흐름도 restParts — 쉼이 그 상자에 걸렸나는 link 와 무관 · 빈 값 판정은 내보내는 알약 값만(PLAN 35-9 브레인 재검증)
- 지반 견본(토사) 꼴 시험: 흐림 = 브레이커로 깨기 하나 · 1㎥ 경비 · 경비는 안 흐림
- 시험 test_m02_df_diagram_parts.py 7 통과 · DataFlow 전부 검사 초록

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-10-01 21:21:30 +09:00
eomsangdon 932ec987dd Merge remote-tracking branches 'origin/sub_laptop_1' and 'origin/sub_laptop_8' into main_laptop_1 2026-10-01 21:18:36 +09:00
eomsangdonandClaude Opus 5.5 7d209c56f6 fix(m02-df): 상세 내용 설정 줄은 상자를 고른 때만 — 선 · 알약이면 줄째 숨김
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-01 21:17:51 +09:00
eomsangdonandClaude Opus 5.5 321e63f9c1 fix(M02): 흐름도 쉼 흐림 — 상자는 들어오는 선이 모두 쉼(또는 쉼이 걸리고 내보내는 값이 모두 빈 값)일 때만 · 일부면 그 선과 받는 알약만(PLAN 35-9 브레인 재검증)
- restParts(Parts) · 받는 알약 쉼 모양(점선 · 흐린 글)
- 시험 test_m02_df_diagram_parts.py 6 통과 · DataFlow 전부 검사 초록 · Diagram 699줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-10-01 21:16:41 +09:00
eomsangdon 438c3660ca Merge remote-tracking branches 'origin/sub_laptop_2', 'origin/sub_laptop_7' and 'origin/sub_laptop_8' into main_laptop_1 2026-10-01 21:06:15 +09:00
eomsangdonandClaude Opus 5.5 9052cb7411 fix(M02): 흐름도 기댐 선 끝을 알약 · 이름표에 붙임 — 시작 = 조건 알약 오른쪽 · 끝 = 규칙 선 이름표 가장자리 또는 재료 알약 오른쪽(PLAN 35-9 브레인 재검증)
- 시작에 작은 점 · 끝에 화살 · 끝 계산 depEnd · depPath(Parts)
- 시험 test_m02_df_diagram_parts.py 5 통과 · DataFlow 전부 검사 초록 · Diagram 697줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-10-01 21:02:21 +09:00
eomsangdonandClaude Sonnet 5.5 c2f7694e1d fix(M02-흐름도): 선 규칙 표에서 찾기 - 범위 이름은 이름 (범위) 한 줄만 · 꺼낼 칸은 표 머리 칸만
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D2nUMUMTsqm93PbQtipo6c
2026-10-01 21:01:27 +09:00
eomsangdonandClaude Opus 5.5 1dfe6bfefb fix(m02-df): 만나는 상자는 살아 있는 선이 있으면 셈 — 서버 = 화면
- 받는 상자는 들어오는 선이 모두 쉬는 갈래일 때만 쉼 · 하나라도 살아 있으면 셈(쉬는 갈래 값은 빈 칸) · 쉬는 선은 쉼 줄만
- 조건 선 바로 뒤 상자는 그대로 막음 · M02_DF_Compute.py 도 같은 뜻(resting · arrive)
- 시험: 지반 견본 토사 → 1㎥ 경비 2,000 · 암 → 브레이커 갈래 값 · 쉼 줄 · 문제 0 · 서버 = 화면(26개)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VBToTCGk5dqDKeXCEP3vhk
2026-10-01 21:00:14 +09:00
eomsangdon 3eb18bf74b Merge remote-tracking branches 'origin/sub_laptop_2', 'origin/sub_laptop_5' and 'origin/sub_laptop_8' into main_laptop_1 2026-10-01 20:49:09 +09:00
eomsangdonandClaude Sonnet 5.5 aaa36625e8 feat(m02-df): 끊긴 곳은 문제만 · 쉬는 갈래는 따로 회색 줄(level)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EauA2ATmqNRbeV48s9CcBr
2026-10-01 20:39:31 +09:00
eomsangdonandClaude Opus 5.5 8a9f23c6e3 refactor(M02): 흐름도 다이어그램 쉼 가르기를 Eval level 그대로(가정 걷음 · PLAN 35-9)
- 시험 test_m02_df_diagram_parts.py 4 통과 · DataFlow 전부 검사 초록

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-10-01 20:39:25 +09:00
eomsangdon eb063c50bc Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1 2026-10-01 20:38:48 +09:00
eomsangdonandClaude Sonnet 5.5 e2b047ab1a fix(M02-흐름도): 선 규칙 표에서 찾기 - 이름·아래/이름·위 짝을 한 줄 「이름 (범위)」 로 묶어 고름
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D2nUMUMTsqm93PbQtipo6c
2026-10-01 20:38:36 +09:00
eomsangdonandClaude Opus 5.5 018177408b feat(m02-df): 끊긴 곳 무게 — 쉼(쉬는 갈래) · 문제
- CfBreak.level: 통과 안 됨 · 그 아래로 번진 빈 값 = 쉼 · 빈 받는 자리 · 표에 없는 조건 · 맞는 재료 없음 · 조건 겹침 · 안 맞음 · 오류 = 문제
- 쉬는 갈래에서 온 빈 값은 받는 상자도 쉼(셈 안 함 · 출력 빈 값 · 문제로 안 셈)
- M02_DF_Compute.py breaks 에 같은 뜻 level 한 칸
- 시험 25개

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VBToTCGk5dqDKeXCEP3vhk
2026-10-01 20:38:21 +09:00
eomsangdon 03e00fe15d Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-01 20:37:40 +09:00
eomsangdon 55c787d5af Merge remote-tracking branch 'origin/sub_laptop_8' into main_laptop_1 2026-10-01 20:36:42 +09:00
eomsangdonandClaude Opus 5.5 28469de625 fix(m02-df): 표준 표 모달 제목 한 번 — renderStandards title:false
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-01 20:36:24 +09:00
eomsangdon d76d40f614 Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_1 2026-10-01 20:35:40 +09:00
eomsangdonandClaude Opus 5.5 047f3a2798 fix(m02-df): 재료 자리 값 물음 · 상자 이름 칸 · 작은 칸 · 시작 단추
- 재료 선택 자리 · 조건 찾기를 서버 /values 에 slot(방식 · 기본 품목 · 범위 · 찾기 규칙) · value(이어진 알약 지금 값)로 물음 — 물음 서명에 들어가 값이 바뀌면 다시 받음(관경 600 → 400 = 116,600)
- 상세 내용 설정에 「상자 이름」(입력 · 함수 상자 · 빈 이름 · 같은 이름 안 받음 · 출력은 출력 판 이름 칸)
- 머리 로직 이름 · 결과 단위 칸 공용 작은 크기(compact)
- 시작 화면 「새로 만들기」 단추가 칸 폭으로 늘어나지 않게

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-01 20:35:39 +09:00
eomsangdonandClaude Opus 5.5 078e168f7d feat(M02): 흐름도 다이어그램 — 기댐 선(규칙의 조건 알약 → 규칙 자리) · 빈 판 안내 세 줄 · 쉼 갈래(회색 점선 · 받는 상자 흐리게 · 「!」 는 문제에만)(PLAN 35-9 브레인 검증)
- Model ruleSources · elementPort 로 기댐 선(표 조건 · 조건 · 재료 「규격에 포함」) · 흐름 길에도 칠함 · 누르면 그 규칙 자리(선 · 재료 상자) 고름
- breaks level(쉼 · 문제) · 없으면 「통과 안 됨」 = 쉼
- 끌기 손잡이를 Parts 로(Diagram 681줄 · Parts 320줄)
- 시험 test_m02_df_diagram_parts.py 4 통과 · DataFlow 전부 검사 초록

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-10-01 20:35:24 +09:00
eomsangdon 8473968f95 Merge remote-tracking branches 'origin/sub_laptop_2', 'origin/sub_laptop_5' and 'origin/sub_laptop_6' into main_laptop_1 2026-10-01 20:34:03 +09:00
eomsangdonandClaude Sonnet 5.5 5bae4c9587 fix(m02-df): 출력 상자별 값은 그 출력 끝수 자리대로 · 검증 칸 글 명사형
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EauA2ATmqNRbeV48s9CcBr
2026-10-01 20:33:35 +09:00
eomsangdonandClaude Opus 5.5 b5462afa94 fix(m02-df): 표준 표 판 제목을 고를 수 있게 — renderStandards opts.title(기본 true · 모달은 false)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
2026-10-01 20:33:28 +09:00
eomsangdonandClaude Sonnet 5.5 5ef189ca45 fix(M02-흐름도): 알약 판 숫자에 천 단위 쉼표 · 온 길 줄에 선 규칙 글(보낸 알약 → (규칙) → 받는 알약)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D2nUMUMTsqm93PbQtipo6c
2026-10-01 20:33:13 +09:00
eomsangdon 3abbe74f58 Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-01 20:16:35 +09:00
eomsangdonandClaude Opus 5.5 609dd98fe2 fix(m02-df): 자재 찾기 띄어쓰기 지우고 비교 · 선 규칙 화면(Rule.ts) = 서버 시험
- /materials — 품목 글(이름 · 규격 · 키 · 원문번호) · 찾는 낱말 모두 띄어쓰기를 지우고 포함(AND) — 「흄관 300」 3 → 8 · 「흄관」 45 → 117
- 시험 — 이름 속 띄어쓰기 · Rule.ts 를 Node 로 그대로 돌려 서버 apply_rule 과 25가지 맞댐(표 찾기 범위 · 숫자 하나 = 같음 · 여럿 · 없음 · 조건 · 바꾸기 · 끝수)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-10-01 20:15:34 +09:00
eomsangdon 12b063af26 Merge remote-tracking branches 'origin/sub_laptop_2', 'origin/sub_laptop_3' and 'origin/sub_laptop_4' into main_laptop_1 2026-10-01 20:13:47 +09:00
eomsangdon 226e6c305d Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_4 2026-10-01 20:13:47 +09:00
eomsangdon 96b0e4c8fb Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1 2026-10-01 20:03:32 +09:00
eomsangdonandClaude Sonnet 5.5 67e631ac8c refactor(m02-df): 입력 판 자재 찾기를 서버 길(cfMaterials)로 — 대신 길 지움
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ACSGaHdLgnkEkoA4LDtMU
2026-10-01 20:03:12 +09:00
eomsangdonandClaude Opus 5.5 6c645585f4 fix(m02-df): 표준 표 판을 서버 Api(cfStandards · Save · Reset)로 · 대신 길 지움 · 서버 답 = 처음 값 시험
- 견본 시험의 /calc 대조를 Store.calc 로(옛 LogicBuilder 폴더 지움 뒤)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
2026-10-01 20:02:55 +09:00
eomsangdon 108ecc3c83 Merge remote-tracking branches 'origin/sub_laptop_7' and 'origin/sub_laptop_5' into main_laptop_1 2026-10-01 20:01:59 +09:00
eomsangdonandClaude Sonnet 5.5 0158c940cb fix(M02-흐름도): UnitPick 표준 표를 서버 /standards 로 읽음 - 번들 대신 길 지움
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D2nUMUMTsqm93PbQtipo6c
2026-10-01 20:01:40 +09:00
eomsangdon b353daecfc Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-01 20:01:33 +09:00
eomsangdonandClaude Opus 5.5 39c0d163ff fix(m02-df): 표 범위 칸에 숫자 하나(아래 = 위)면 「같음」 — 브레인 정함
- 아래 ≠ 위는 지금대로(아래 < 값 ≤ 위 · 빈 끝 열림) · 견치돌 「높이 4」 같은 줄이 맞음
- 시험 — 저장 다시 셈 4 → 0.7 줄 · apply_rule 4 / 3.5 / 3

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-10-01 20:01:27 +09:00