2220 Commits

Author SHA1 Message Date
1ccbfb521f Merge branch 'dev' of https://git.hanasys.jp/qcast3/qcast-front into feature/redo-undo 2026-06-16 16:24:07 +09:00
1e0124d9f2 [2294_5] 케라바 사각형 결정론적 솔버 + 처마전면 지붕면 할당 수정
- solveRectangleKerab: 4변 타입만으로 힙/마루 재생성(forward·revert 단일 공식)
- nGable=0 우진각·1 Y apex·1 CASE B 케라바·2 맞배 지원, 그 외 기존 maze 폴백
- hip attributes.extended=true 부여 → integrateExtensionLines merge 스킵 → split 4면 정상 할당
- outerLine bbox 기준 sideOf 수정(出幅 offset 좌표 불일치 해소)
- apex depth clamp min(L/2, oppDist) → R3-outside 방지
- detectKerabHipMarks·extendKerabHipsTo45 함수 추출(reclick·revert 45° 통합)
- KERAB-EXTHIP-COORD-CLEAN: orphan ext-hip 좌표 기반 재제거
- useRefFiles: 변환 API FileData 누락 시 에러 메시지 swalFire 안내
- kerab-offset-surgical: skipKerabHips 옵션(케라바 hip t-ratio 재계산 방지)

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-06-15 16:01:11 +09:00
234b720b78 Merge branch 'dev' of https://git.hanasys.jp/qcast3/qcast-front into feature/redo-undo 2026-06-15 10:17:17 +09:00
96585240ef 오프셋 설정에 시 길이 반영 제대로 안되는 현상 수정 2026-06-12 18:29:17 +09:00
bf98f69145 [2294_4] 타입 박공→처마 우진각 지붕할당 4면 미생성 수정 — SK 격자 반-엣지 purge + startPoint 방어 동기화 2026-06-12 17:11:40 +09:00
aa45a891bc [1189_4] 드래그 박스 모듈 Del 삭제 불가 수정 — roof 복수선택 시 discardActiveObject 차단 + module 우선 currentObject 설정 2026-06-12 16:40:00 +09:00
48fa507046 Merge branch 'dev' of https://git.hanasys.jp/qcast3/qcast-front into feature/redo-undo
# Conflicts:
#	src/hooks/module/useModule.js
#	src/hooks/roofcover/useEavesGableEdit.js
#	src/hooks/useCanvasEvent.js
2026-06-12 14:20:29 +09:00
158e90e169 [2294_3] TYPE 박공(切妻)→처마 완전 우진각(寄棟) 재구성 + inward 안쪽법선 보정
- applyTypeGableToEavesPattern inward 방향을 변의 폴리곤 안쪽 법선으로 도출
  (2회차 리버트 apex 폴리곤 밖 폭주 = roofLine 절삭 불변식 위반 수정)
- reconstructHipRoofRidgeIfComplete 신규: 양쪽 박공이 모두 처마가 되면
  X자 세로 마루 스텁을 버리고 힙 4개 절삭(R2/R3) + 가로 마루 1개(R1)로 재구성
- type-eaves 분기 최종 형상에 runKerabRuleCheck 추가

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-06-12 14:16:31 +09:00
6937934fc1 [1189_3] 모듈 기본설정 마우스 드래그 이동 비활성화 — 복수선택·Del 삭제는 유지 2026-06-12 10:48:51 +09:00
1cb039a741 [2294_2] 케라바→처마 전환(타입 라인변경) 힙 단일 직선 45° 연장으로 통일
Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-06-12 09:27:55 +09:00
126789ef46 [골짜기라인] 골짜기→케라바 내부확장라인(rLine) 정지점 절반 규칙으로 통일
등구배 지붕에서 마루는 양쪽 처마에서 등거리(절반) — 이 불변식을 적용.
기존 ridge-stop 우선/없으면 wall 끝까지 휴리스틱은 방향(가로/세로)에 따라
결과가 들쭉날쭉했다. (start + wallHit) / 2 중점으로 고정, 방향 무관 통일.
wLine(wallBase) 도 vEnd(절반) 파생으로 '-extend' 라인 제거.

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-06-11 15:39:28 +09:00
e3c092a6b4 저장 후 보조선으로 나뉘어지지 않는 현상 수정 2026-06-11 13:03:18 +09:00
1db206fe34 [2294_1] 케라바 出幅(출폭) 토글 라인 재계산 핸들러 분리 + 규칙 검증 추가
골짜기(케라바 패턴)·일반 라인을 독립 핸들러로 분리해 상호 간섭(whack-a-mole) 차단.
일반 라인은 절대 재계산(apex 불변, roofLine-hit 끝점만 재교차) + apex junction degree≥1 임계.
KERAB-RULE-CHECK(R1~R4) forward/revert 검증, RIDGE-DIAG 자연 마루 길이 불변 감시 추가.
REVERT/VALLEY-EXT 끝점 공유 가드로 게이블 hip 확장·길이 0 붕괴 방지.

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-06-10 18:05:36 +09:00
83107a801d 지붕면 할당 로직 수정 2026-06-10 16:50:46 +09:00
f2a444ffb7 [1189_1] 모듈 복수선택(드래그 박스/Shift) + 단일 마우스 드래그 이동 — 手動配置 활성 시 드래그 모드 중지
- canvas.selection: 모듈 기본설정 + 手動配置 비활성 조건에서만 true
- refineModuleSelection: 비모듈 혼합 선택 시 모듈만 재구성, 단일/복수 이동잠금 해제
- commitModuleDragMove: 드래그 완료 후 지붕면 이탈/겹침 검증, 위반 시 시작 위치 복원
- modulesRemove: 복수선택 일괄 삭제 지원, 회로 연결 시 전체 차단
- QContextMenu: 2개 이상 선택 시 컨텍스트 메뉴 차단

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-06-10 11:25:05 +09:00
c0539f49ec 지붕선 선택 후 이동 시 깨지는 현상 수정 2026-06-09 16:11:51 +09:00
26dbe35ea4 [2283-2] 자동배치(自動配置) 비선택면 모듈 보존 — 選択面のみ再配置、未選択面はそのまま維持 2026-06-09 16:01:48 +09:00
567fa49d61 [2283-1] 자동배치(自動配置) 다지붕 선택 시 북면 열 감소 수정 — 대칭 보정 비대칭 지붕 제외 가드 추가
Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-06-09 14:53:07 +09:00
dda00e75b3 배치면 이동 시 길이 계산 수정 2026-06-09 14:17:31 +09:00
6969e6620e [2234] 수동 1매(手動 1枚) 단부(端部) 배치 시 지붕 밖(屋根外) 오판 수정 — checkModuleDisjointSurface 허용오차(spare) 0→0.5
Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-06-09 10:56:21 +09:00
f6b0cf714e Merge branch 'dev' of https://git.hanasys.jp/qcast3/qcast-front into feature/redo-undo
# Conflicts:
#	src/hooks/surface/usePlacementShapeDrawing.js
#	src/hooks/surface/useSurfaceShapeBatch.js
2026-06-09 09:58:24 +09:00
cc9aa238f2 [2250] 배치면 サイズ変更 후 치수 라벨 stale 수정 — planeSize 재계산 + 라벨 재생성 2026-06-08 16:01:34 +09:00
dc7a2ea956 [2243] 配置面 입력치수 라벨 변질 수정 — planeSize 2순위/2단계 ±20mm 흡착 제거, 끝점 공유변만 상속
Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-06-08 15:27:22 +09:00
8c2edf05e7 [2272] 한쪽흐름 처마 offset 반전 수정 — margin/padding 판정을 면적비교로 교체
골짜기(凹凸) 형상에서 offset=0 변(케라바·shed) 코너가 원본 경계에 남고
inPolygon 의 경계점 nudge 비대칭으로 inside 오판 → padding 오선택 → 처마 반전.
winding·골짜기 수에 무관한 shoelace 면적 절대값 비교로 판정 교체.

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-06-05 17:53:22 +09:00
dccdfdd175 모듈 undo redo시 계산 추가 2026-06-05 16:02:21 +09:00
02062ee4d1 [1529] 시공법 버튼 constTp 매핑 — WORK_LV_ID_-2(標準施工Ⅱ) 신규 항목 대응 + 인덱스 밀림 방지
Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-06-05 15:51:46 +09:00
632221ac01 도머 오프셋 undo 안되는 현상 수정 2026-06-05 15:14:20 +09:00
6e144d7d04 Merge branch 'dev' of https://git.hanasys.jp/qcast3/qcast-front into feature/redo-undo
# Conflicts:
#	src/components/fabric/QPolygon.js
#	src/hooks/roofcover/useEavesGableEdit.js
#	src/hooks/roofcover/useRoofAllocationSetting.js
2026-06-05 14:39:23 +09:00
4d8fc60cf1 동이동 형올림내림 undo 했을때 선 색깔 이상
보조선 잡고 삭제시 지붕의 보조선은 삭제 안되고있음.
도머 설치 시 복사 후 undo 세번해야 다사라짐
도머 오프셋이동 시 안됨 수정
2026-06-05 13:57:51 +09:00
b9fb769e74 [출폭] 처마 출폭변경 시 hip 내부라인 끝점 불변 룰 적용 — CORNER-SHORTCUT/SHRINK-TRIM skipInnerLines + 45° ray-cast 확장
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-05 13:43:02 +09:00
8192b0b07f [0000] 케라바 라인이동 후 반대쪽 실행 버그 수정 — baseLine 기하학적 매칭 + KERAB-SKIP 가드
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 17:48:44 +09:00
9565764912 [0000] 케라바 kLine — wLine 이동 후 baseLine 끝점(t1/t2) 기준으로 foot 계산
wLine 이동 후 케라바 변경 시 선택된 target 은 이동 전 wallLine 좌표를 가짐.
wall.baseLines 에서 wallId 매칭으로 이동된 실제 끝점(t1/t2)을 찾아
kLine foot 계산 기준으로 사용 → 이상한 대각선 수정.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 17:19:53 +09:00
df1a2d6fe6 [2294] 케라바 골짜기 할당 — 밴드 dedup + fold 대각선 제거 (변 연장 흡수)
작업내용 :
- 밴드 이중 생성 제거: buildOverlapLine(케라바 토글) + RECALC 중복 → RECALC 전 기존 kerabValleyOverlapLine 제거로 단일 소스 통일
- ladder → 단일 quad 밴드: V1+3변(connector/wall)만 생성, 내부 분할 제거
- 밴드 식별 ov≥2: split 후 V1 edge가 lineName 유실 → overlap-typed 변 2개 이상인 sub-roof를 밴드로 식별
- fold 방식 교체: detour 우회 → V1 전체를 가진 면(F-3)에 OV 외곽경로로 변 연장 흡수. 대각선 제거, 면적 보존 검증 추가
- vExt split(Option A): ridge 교차점에서 vExt를 분할해 RG-2를 할당 그래프에 연결
- QPolygon: ROOF-FACE-DIAG 디버그 라벨 + debugCapture 덤프 추가 (local 가드)

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-06-04 15:37:36 +09:00
c2d8aeb572 [2089] useSwal alert html 지원 + 저구배 경고 줄바꿈 수정
- useSwal alert 분기에 html 옵션 지원 추가 (html 있으면 html, 없으면 text)
- roof-pitch-warning: text → html + \n을 <br>로 치환하여 줄바꿈 렌더링
- ja.json: 構造物 → 架台 용어 수정 + \n 추가
- ko.json: 문구 다듬기 + \n 추가
2026-06-04 09:46:47 +09:00
8ef0810058 [2294] 케라바 출폭 surgical — vExt cascade + corner snap + ExtRidge 연결 2026-06-02 16:58:54 +09:00
4378712b39 수동설정 전부 안되면 설정완료 불가
수동설정 완료 시 스냅샷
보조선 작성 완료 시 스냅샷
개구 배치시 undo 2회 필요 수정
2026-06-02 13:40:52 +09:00
a452ea8f94 Merge branch 'dev' of https://git.hanasys.jp/qcast3/qcast-front into feature/redo-undo
# Conflicts:
#	src/hooks/roofcover/useEavesGableEdit.js
2026-06-01 17:19:53 +09:00
15eaa4950a 처마 케라바 변경 에러 수정 2026-06-01 16:18:19 +09:00
141afa7a36 [2294] 케라바 출폭 surgical — skLine 절삭/복원 + 패턴 segment 매핑 2026-06-01 13:53:05 +09:00
c121937525 Merge branch 'dev' of https://git.hanasys.jp/qcast3/qcast-front into feature/redo-undo
# Conflicts:
#	src/hooks/roofcover/useEavesGableEdit.js
#	src/hooks/roofcover/useRoofAllocationSetting.js
2026-05-29 17:49:02 +09:00
b8ea9aba78 Merge branch 'dev' of https://git.hanasys.jp/qcast3/qcast-front into hotfix/dev_yscha 2026-05-29 16:07:22 +09:00
e32d2dc3a5 [2173] 케라바 vExt — stop·V apex trim·overlap 머지·offset bbox 2026-05-29 16:02:51 +09:00
7fe1cca02a Merge branch 'dev' of https://git.hanasys.jp/qcast3/qcast-front into feature/redo-undo
# Conflicts:
#	package.json
#	src/hooks/roofcover/useEavesGableEdit.js
#	src/hooks/useCanvasEvent.js
#	src/styles/_contents.scss
2026-05-28 17:04:16 +09:00
577ca47b5e 키보드 이벤트 제거 2026-05-28 16:48:36 +09:00
23dafe3b18 [2173] valleyExt — trim·cascade·ridge-stop 다 비활성 (확장만, 별도 룰 후속) 2026-05-28 13:51:07 +09:00
036c283e0c [2173] valleyExt Phase 1/2 helper 추출 + wallBase 독립 ray + ridge-stop 룰 2026-05-28 11:10:59 +09:00
sangwook yoo
6a99b6de4a Merge remote-tracking branch 'origin/dev' into feature/pv-btob 2026-05-27 16:56:33 +09:00
a4b7f519bb [2173] valleyExt TRIM — hip-presence 원래hip-only + cascade hide 2026-05-27 16:18:33 +09:00
e9f5ceab69 [2173] 골짜기확장라인 TRIM 재활성 + Y junction 보존 + 끝점일치 보존 2026-05-27 15:20:55 +09:00
sangwook yoo
79aafbd613 Merge remote-tracking branch 'origin/dev' into claude/lucid-shaw-91e51f 2026-05-27 14:41:26 +09:00