322 Commits

Author SHA1 Message Date
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
bf98f69145 [2294_4] 타입 박공→처마 우진각 지붕할당 4면 미생성 수정 — SK 격자 반-엣지 purge + startPoint 방어 동기화 2026-06-12 17:11:40 +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
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
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
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
8ef0810058 [2294] 케라바 출폭 surgical — vExt cascade + corner snap + ExtRidge 연결 2026-06-02 16:58:54 +09:00
141afa7a36 [2294] 케라바 출폭 surgical — skLine 절삭/복원 + 패턴 segment 매핑 2026-06-01 13:53:05 +09:00
e32d2dc3a5 [2173] 케라바 vExt — stop·V apex trim·overlap 머지·offset bbox 2026-05-29 16:02:51 +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
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
5ba5623d46 [2173] 골짜기확장라인 self-extension 모델 + TRIM/FIXPOINT-cuts off — 확장만 2026-05-27 13:58:26 +09:00
8d7ffdc957 [2173] KERAB-OFFSET-SURGICAL flag ON — 케라바 토글 出幅 surgical 반영 활성화 2026-05-27 10:09:52 +09:00
f5f8eb9460 [2173] 처마/케라바 토글 KERAB-SIMPLE 알고리즘 + offset-surgical helper(flag off) 2026-05-27 10:03:56 +09:00
dc857b28fa [2173] junction-extended 패턴 outer hip 제거 + strokeWidth SK와 통일
[작업내용] :
- 대전제 반영: 케라바 ridge 가 생기는 분기에서 c1·c2 에 붙은 outer hip 2개 제거
  · inner hip(junction 너머) 보존
  · __removedHipsSnapshot 첨부 → revert 시 hip 2개 자동 복원
- revert 분기에서 hip 스냅샷 + ridge 스냅샷 둘 다 순회 복원하도록 대칭 보강
- 케라바 패턴 생성 라인 strokeWidth 2 → 4 (SK 라인과 동일, 6개소)
2026-05-20 08:46:43 +09:00
eb12b24138 [2173] 처마→케라바 junction-extended 패턴 + RG-1 자동 제거
[작업내용] :
- findHipPairViaJunction: H-7/H-1 의 junction 너머 inner hip(H-4/H-2) 무한확장 교점을 apex 채택
- applyKerabJunctionExtendedPattern (순수 추가):
  · ext hip 2개(junction→apex) + 중앙 ridge(mid→apex) 추가
  · ridgeEndpointsOnBothExtensions 로 RG-1 식별 → 스냅샷 첨부 후 제거 (RG-2 보존)
- applyKerabRevertPattern: __removedRidgesSnapshot(배열) 반복 복원으로 forward 와 대칭
- useRoofAllocationSetting: 분할 직전/후 패턴 라인 진단 로그(KERAB-PATTERN-DIAG)
2026-05-19 17:12:48 +09:00
eaae0f4a84 [1961] hip 라벨 정합성 — SK↔할당 일치 + 0.5 step 표시 통일 2026-05-18 12:41:55 +09:00
490ab6c49f [1961] split 길이 계산 Math.round(hypot)*10 → calcLinePlaneSize 통일 — 좌우대칭 hip 라벨 1mm 갈림 차단 2026-05-14 10:36:11 +09:00
77bca24e7c [SK-EXTENDED-PERSIST] hip __extended 플래그 save/load 보존 — attributes.extended 동기 + console→logger 2026-05-13 14:27:06 +09:00
76a53c64d9 [1961] strict y1===y2 drift 2곳 수정 — tolerance 0.5 통일 2026-05-12 17:25:17 +09:00
a5d2964e8e [2089] 저구배+특정기와 시공 매뉴얼 안내 confirm 추가 2026-05-06 16:44:26 +09:00
376ccab8e7 라벨변경 2026-04-30 18:26:34 +09:00
c2eba138a6 innerLine 2026-04-30 17:02:16 +09:00
645e8b344d 보조라인1 2026-04-30 11:16:19 +09:00
beeeeb32e5 마루이동 2026-04-29 18:31:14 +09:00
abee58fcae 확장자 1단계마무리 2026-04-29 17:47:46 +09:00
7d1e49a158 외벽선 확정 시 확인 다이얼로그 추가 (버튼/Enter 키) 2026-04-27 17:28:00 +09:00
26b583e2f5 라인오버하면 평행라인으로 변경 2026-04-24 20:02:39 +09:00
55dd3d9d3d 외벽선 편집 및 오프셋 길이 계산 수정 2026-04-13 18:10:01 +09:00
20235ac236 offset<->moveline 벽라인정상이동 2026-04-09 11:28:57 +09:00
94f18d1525 움직인라인그대로유지offset 2026-04-08 16:41:49 +09:00
f2b527b77c top,bottom = in, 할당제외 2026-03-27 16:23:06 +09:00
7de45b1ee0 [1447]실측값 입력의 대각선 입력 2026-02-03 14:34:54 +09:00
b9f3b60333 한글=>일본어 2026-01-27 16:48:42 +09:00
3e97eb379b type이 null인 경우 처리 2026-01-27 10:24:31 +09:00
68005562e3 wallLine texts제거 2026-01-26 14:04:35 +09:00
01b1c97248 #1418 보조선 삭제 용이하게 수정 2026-01-26 13:51:21 +09:00
f0ecc17dff wallLine 제거되는 현상 수정 2026-01-26 13:40:17 +09:00
af90e0fa36 오류 수정 2026-01-09 09:53:40 +09:00
fbb1f352e9 벽 라인 wallLine 속성 변경으로 수정 2026-01-08 17:03:14 +09:00
6872c6bb16 배치면 그리기, 외벽선 그리기 각도 문제 해결 2026-01-07 10:12:25 +09:00
Jaeyoung Lee
eec659257a Merge branch 'dev' into feature/design-remake
# Conflicts:
#	src/common/common.js
#	src/hooks/roofcover/useRoofAllocationSetting.js
2026-01-05 15:15:02 +09:00
Jaeyoung Lee
8f421d08da 변별로 처리 시 용마루 하단지붕 파생 라인 처리 및 불필요 코드 제거 2026-01-05 15:11:53 +09:00
fd8cbf726c 할당처리 2025-12-31 15:41:46 +09:00