dev #931

Merged
ysCha merged 95 commits from dev into prd-deploy 2026-06-23 17:47:25 +09:00
Collaborator
No description provided.
ysCha added 95 commits 2026-06-23 17:47:16 +09:00
# Conflicts:
#	src/hooks/surface/useSurfaceShapeBatch.js
# Conflicts:
#	src/hooks/roofcover/useWallLineOffsetSetting.js
# Conflicts:
#	src/hooks/surface/usePlacementShapeDrawing.js
# Conflicts:
#	src/hooks/roofcover/useRoofAllocationSetting.js
# Conflicts:
#	src/components/floor-plan/modal/auxiliary/AuxiliaryEdit.jsx
# Conflicts:
#	src/hooks/module/useModuleBasicSetting.js
# Conflicts:
#	src/components/fabric/QPolygon.js
#	src/hooks/module/useModule.js
#	src/hooks/roofcover/useEavesGableEdit.js
#	src/hooks/roofcover/useRoofAllocationSetting.js
#	src/hooks/usePlan.js
# Conflicts:
#	package.json
#	src/hooks/roofcover/useEavesGableEdit.js
#	src/hooks/useCanvasEvent.js
#	src/styles/_contents.scss
- Introduces a new `start:ur` script in `package.json` to launch the Next.js application on port 5050 for the UR environment.
# Conflicts:
#	src/hooks/roofcover/useEavesGableEdit.js
#	src/hooks/roofcover/useRoofAllocationSetting.js
# Conflicts:
#	src/hooks/roofcover/useEavesGableEdit.js
수동설정 완료 시 스냅샷
보조선 작성 완료 시 스냅샷
개구 배치시 undo 2회 필요 수정
보조선 잡고 삭제시 지붕의 보조선은 삭제 안되고있음.
도머 설치 시 복사 후 undo 세번해야 다사라짐
도머 오프셋이동 시 안됨 수정
# Conflicts:
#	src/components/fabric/QPolygon.js
#	src/hooks/roofcover/useEavesGableEdit.js
#	src/hooks/roofcover/useRoofAllocationSetting.js
# Conflicts:
#	src/hooks/surface/usePlacementShapeDrawing.js
#	src/hooks/surface/useSurfaceShapeBatch.js
[작업내용] :
- 지붕형상 저장 후 색칠된 외벽선 선택·드래그 차단, 변별로 설정 재진입 시 선택 복원
- 수동설정 저장 시에도 자동설정과 동일하게 외벽선을 타입별 색상으로 표시
- 두 모달을 진입 시 스냅샷 → 저장 시 커밋 / 저장 없이 닫으면 롤백 구조로 변경
  (팝업을 열었다 닫기만 해도 외벽선이 숨겨지고 지붕면이 삭제되던 문제 수정)
- 롤백 시 WALL 폴리곤은 원본 객체를 원래 z-순서에 재삽입
  (재생성 시 최상단에 올라가 보조선 클릭을 가로채던 문제 방지)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
[작업내용] :
- canvas.remove()에 배열을 통째로 넘겨 Fabric이 무시(silent no-op)하던 것을 spread로 개별 전달하도록 수정
- addPitchText의 중복 방지가 무력화되어 같은 자리에 경사/출폭 텍스트가 겹겹이 쌓이던 문제 해결

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
[작업내용] :
- 지붕형상 저장 시 외벽선을 bringToFront(맨 앞) 대신 WALL/ROOF 폴리곤 바로 위 인덱스에 삽입
- offset 0이면 보조선이 외벽선과 같은 좌표에 그려지는데, 외벽선이 맨 위에 있으면
  클릭을 가로채(selectable:false라도 evented는 유지됨) 보조선 선택이 불가능했음
- z-order를 폴리곤 < 외벽선 < 보조선·텍스트로 유지해 색 표시와 보조선 클릭을 양립

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
[작업내용] :
- drawRoofByAttribute 의 인라인 split 블록을 splitRoofLinesToInnerLines 공용 함수로 추출 (변별/용마루 경로 공용)
- 분할점 거리순 정렬 버그 수정 (a[1] → a.distance — 분할점 2개 이상에서 정렬이 no-op 이던 문제)
- 분할점 끝점 판정을 almostEqual(1e-10) → 끝점과의 유클리드 거리 1px 이내 제외로 변경
  (SK 추녀 연장의 부동소수 오차 흡수, 0 길이 조각 생성 방지)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
[작업내용] :
- 추녀 연장(drawBaselineToRooflineHelpers) 후 splitRoofLinesToInnerLines 호출 → 처마변을 편집 가능한 innerLine(hip/roofLine)으로 등록
- 처마선 innerLine 이 외곽선을 전담하므로 roof 원본 외곽(stroke) 숨김 처리
- 설계 문서 정정: 대상 브랜치 roofline-edit, §4 리스크1 검증 완료, §9 측정 시점 정정
  (추녀 연장 후 종점이 처마변 위에 정합 → split 은 연장 다음에 호출)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts:
#	src/hooks/module/useModule.js
#	src/hooks/roofcover/useEavesGableEdit.js
#	src/hooks/useCanvasEvent.js
[작업내용] :
- splitRoofLinesToInnerLines 가 처마변 innerLine화 후 roof 원본 외곽(stroke)을 transparent 로 숨기도록 통합
- 변별/용마루 양 경로 공통 적용 — 처마선 삭제 시 roof 기본 stroke:'black' 이 노출되던 문제 해결
- 용마루 호출부(skeletonBuilder)의 개별 roof.set 제거 (split 함수가 담당)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
[작업내용] :
- drawGableRoof 가 처마선 innerLine 생성(roof.innerLines.push) 후 roof 원본 외곽(stroke)을 transparent 로 숨김
- 박공은 split 공용 함수를 거치지 않으므로 drawGableRoof 내에서 직접 처리
- 처마선 삭제 시 roof 기본 stroke:'black' 이 노출되던 문제 해결 (변별/용마루와 동일 동작)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
[작업내용] :
- getDerivedStateFromError 가 errorInfo 를 채우지 않아 첫 fallback 렌더에서 this.state.errorInfo 가 null
- componentStack 접근에 옵셔널 체이닝(?.) 추가 — componentDidCatch 의 setState 후 정상 표시
- ErrorBoundary 가 자기 자신을 크래시시켜 원본 에러를 가리던 이중 에러 해소

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
[작업내용] :
- splitRoofLinesToInnerLines: degreeOf 옵션 추가 — 한쪽흐름 경사변(gable) plane/cos 실제길이 보정
- drawShedRoof: 외곽 처마선을 innerLine 으로 split(degreeOf 주입)해 편집 가능화
- removeRoofLengthText 추가: 처마선 innerLine 이 치수 전담 → roof 원본 변 치수(lengthText) 제거 (박공/split 공용)
- drawGableRoof: removeRoofLengthText 호출로 박공 roof 원본 치수 중복 제거
- commonDeleteText: 보조선(QLine) 삭제 시 parentId 매칭으로 lengthText 동반 제거 (치수 잔존 방지)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts:
#	src/hooks/roofcover/useRoofShapePassivitySetting.js
# Conflicts:
#	src/hooks/useContextMenu.js
# Conflicts:
#	src/hooks/usePolygon.js
[작업내용] :
- e17af8f4 가 색칠된 외벽선을 selectable:false 로 잠가, 지붕형상 저장 후 일반 상태에서 외벽선 클릭 선택이 막히던 회귀 수정
- useRoofShapeSetting(자동) / useRoofShapePassivitySetting(수동) 저장 시 외벽선 selectable:true 로 복원
- 드래그는 lockMovement(useCanvas 전역), 보조선 클릭 가로채기는 z-order(18abbeb9)로 이미 별도 차단되어 부작용 없음

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
[작업내용] :
- splitRoofLinesToInnerLines 의 hasOverlapLine 가드를 축정렬 bbox 포함 → 공선+구간 덮음으로 교체
- 육각형 등 잘린 모서리의 짧은 수평/수직 처마변(bbox 한 축 두께 0)이 대각선 추녀 bbox 에
  삼켜져 skip → 원본 외곽선 transparent 로 소실되던 false positive 제거
- 양 끝점이 모두 상대 선분 위(isPointOnLineNew)일 때만 overlap 인정 → 공선 아닌 추녀는 통과
- 변별/박공/한쪽흐름 경로 회귀 없음(직교 형상은 bbox 포함=공선 겹침이라 동작 불변)
- 설계 문서 §10 진단 결과·수정·회귀 분석 기록

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
[작업내용] :
- 마루(RG-1) hide 대신 canvas.remove + innerLines splice 로 실제 삭제
  (LABEL-MAP·디버그 라벨이 visible 무시 → hide 는 검증에서 잔존)
- H-8 박스막음: 과길게 뻗은 끝점을 boxCorner 로 내려 H-7↔H-2 사이만
  닫는 짧은 세로 roofLine 으로 보정 (\|/ 수렴형상 금지)

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
ysCha merged commit 2b3e46d28f into prd-deploy 2026-06-23 17:47:25 +09:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: qcast3/qcast-front#931
No description provided.