[2173] valleyExt — trim·cascade·ridge-stop 다 비활성 (확장만, 별도 룰 후속)

This commit is contained in:
ysCha 2026-05-28 13:51:07 +09:00
parent 036c283e0c
commit 23dafe3b18

View File

@ -646,10 +646,12 @@ export function useEavesGableEdit(id) {
} }
let ridgeStop = null let ridgeStop = null
let ridgeT = Infinity let ridgeT = Infinity
for (const il of roof.innerLines || []) { // [KERAB-VALLEY-EXT 2026-05-28] 사용자 지시: 일단 다 뻗기 — ridge-stop 비활성. 골짜기 케라바 룰은 별도 후속.
// eslint-disable-next-line no-constant-condition
if (false) for (const il of roof.innerLines || []) {
if (!il || il.visible === false) continue if (!il || il.visible === false) continue
if (il.name !== LINE_TYPE.SUBLINE.RIDGE) continue if (il.name !== LINE_TYPE.SUBLINE.RIDGE) continue
if (il.lineName === 'kerabPatternValleyExt') continue if (il.lineName && il.lineName.startsWith('kerabPattern')) continue
const ip = lineLineIntersection(start, rayEnd, { x: il.x1, y: il.y1 }, { x: il.x2, y: il.y2 }) const ip = lineLineIntersection(start, rayEnd, { x: il.x1, y: il.y1 }, { x: il.x2, y: il.y2 })
if (!ip) continue if (!ip) continue
if (!isPointOnSegment(ip, il.x1, il.y1, il.x2, il.y2)) continue if (!isPointOnSegment(ip, il.x1, il.y1, il.x2, il.y2)) continue
@ -1523,10 +1525,12 @@ export function useEavesGableEdit(id) {
} }
let ridgeStop = null let ridgeStop = null
let ridgeT = Infinity let ridgeT = Infinity
for (const il of roof.innerLines || []) { // [KERAB-VALLEY-EXT 2026-05-28] 사용자 지시: 일단 다 뻗기 — ridge-stop 비활성. 골짜기 케라바 룰은 별도 후속.
// eslint-disable-next-line no-constant-condition
if (false) for (const il of roof.innerLines || []) {
if (!il || il.visible === false) continue if (!il || il.visible === false) continue
if (il.name !== LINE_TYPE.SUBLINE.RIDGE) continue if (il.name !== LINE_TYPE.SUBLINE.RIDGE) continue
if (il.lineName === 'kerabPatternValleyExt') continue if (il.lineName && il.lineName.startsWith('kerabPattern')) continue
const ip = lineLineIntersection(start, rayEnd, { x: il.x1, y: il.y1 }, { x: il.x2, y: il.y2 }) const ip = lineLineIntersection(start, rayEnd, { x: il.x1, y: il.y1 }, { x: il.x2, y: il.y2 })
if (!ip) continue if (!ip) continue
if (!isOnSegV(ip, il.x1, il.y1, il.x2, il.y2)) continue if (!isOnSegV(ip, il.x1, il.y1, il.x2, il.y2)) continue
@ -1649,10 +1653,12 @@ export function useEavesGableEdit(id) {
// ridge stop (roof 측과 동일 룰) // ridge stop (roof 측과 동일 룰)
let wRidgeT = Infinity let wRidgeT = Infinity
let wRidgeStop = null let wRidgeStop = null
for (const il of roof.innerLines || []) { // [KERAB-VALLEY-EXT 2026-05-28] 사용자 지시: 일단 다 뻗기 — ridge-stop 비활성. 골짜기 케라바 룰은 별도 후속.
// eslint-disable-next-line no-constant-condition
if (false) for (const il of roof.innerLines || []) {
if (!il || il.visible === false) continue if (!il || il.visible === false) continue
if (il.name !== LINE_TYPE.SUBLINE.RIDGE) continue if (il.name !== LINE_TYPE.SUBLINE.RIDGE) continue
if (il.lineName === 'kerabPatternValleyExt') continue if (il.lineName && il.lineName.startsWith('kerabPattern')) continue
const ip = lineLineIntersection(wStart, wRayEnd, { x: il.x1, y: il.y1 }, { x: il.x2, y: il.y2 }) const ip = lineLineIntersection(wStart, wRayEnd, { x: il.x1, y: il.y1 }, { x: il.x2, y: il.y2 })
if (!ip) continue if (!ip) continue
if (!isOnSegV(ip, il.x1, il.y1, il.x2, il.y2)) continue if (!isOnSegV(ip, il.x1, il.y1, il.x2, il.y2)) continue
@ -1844,8 +1850,11 @@ export function useEavesGableEdit(id) {
if (valleyExtensions.length) { if (valleyExtensions.length) {
logger.log('[KERAB-VALLEY-EXT] drawn ' + valleyExtensions.length) logger.log('[KERAB-VALLEY-EXT] drawn ' + valleyExtensions.length)
} }
const trimRecords = trimByValleyExtensions(valleyExtensions) // [KERAB-VALLEY-EXT 2026-05-28] 사용자 지시: 골짜기 라인이동(trim)·라인절삭(cascade) 다 비활성, 확장만.
cascadeHideByValleyExtensions(trimRecords) // 골짜기 케라바 라인 별도 룰 후속에서 재활성 예정.
// const trimRecords = trimByValleyExtensions(valleyExtensions)
// cascadeHideByValleyExtensions(trimRecords)
const trimRecords = []
if (trimRecords.length) target.__valleyExtTrims = trimRecords if (trimRecords.length) target.__valleyExtTrims = trimRecords
} }
dumpInnerLineSnapshot('AFTER') dumpInnerLineSnapshot('AFTER')