diff --git a/src/util/qpolygon-utils.js b/src/util/qpolygon-utils.js index fb23d06c..03d72c6a 100644 --- a/src/util/qpolygon-utils.js +++ b/src/util/qpolygon-utils.js @@ -5443,7 +5443,8 @@ export const drawRoofByAttribute = (roofId, canvas, textMode) => { } /** - * roof.lines(처마 외곽선)를 innerLine 끝점 기준으로 split 해 편집 가능한 innerLine(hip/roofLine)으로 만든다. + * roof.lines(처마 외곽선)를 innerLine 끝점 기준으로 split 해 편집 가능한 innerLine(hip/roofLine)으로 만들고, + * 처마선 innerLine 이 외곽선을 전담하므로 roof 원본 외곽선(stroke)은 숨긴다(transparent). * 변별/용마루 경로 공용. innerLines 에 결과를 in-place push 하고 반환한다. * (용마루 경로는 추녀 연장 후 호출해야 종점이 처마변 위에 있어 분할점이 잡힌다 — docs §9) * @param {fabric.Object} roof - 대상 지붕 (roof.lines 사용) @@ -5521,6 +5522,10 @@ export const splitRoofLinesToInnerLines = (roof, innerLines, canvas, textMode) = } }) + // 처마선 innerLine 이 외곽선을 전담하므로 roof 원본 외곽(stroke)은 숨긴다. + // (안 숨기면 처마선 삭제 시 roof 의 기본 stroke:'black'(usePolygon.js) 이 노출됨) + roof.set({ stroke: 'transparent' }) + return innerLines } diff --git a/src/util/skeleton-utils.js b/src/util/skeleton-utils.js index 66ea9afb..06ad38ff 100644 --- a/src/util/skeleton-utils.js +++ b/src/util/skeleton-utils.js @@ -1286,9 +1286,6 @@ export const skeletonBuilder = (roofId, canvas, textMode) => { // [docs §9-3] 추녀 연장 후 처마변(roof.lines)을 split → 편집 가능한 innerLine(hip/roofLine)으로 등록. // 단순 우진각: 추녀가 처마 코너(변 끝점)에 닿아 분할점 없음 → 처마 4변 통짜. 복합 형상: 중간 접점에서 분할. splitRoofLinesToInnerLines(roof, roof.innerLines, canvas, textMode) - // 처마선 innerLine 이 외곽선을 전담하므로 roof 원본 외곽(stroke)은 숨긴다. - // (안 숨기면 처마선 삭제 시 roof 의 black stroke 가 노출됨 — usePolygon.js 의 roof 기본 stroke:'black') - roof.set({ stroke: 'transparent' }) // 캔버스에 스켈레톤 상태 저장 if (!canvas.skeletonStates) {