fix: [fire-shutter] 슬랫 경로 실제 감김 형상 반영

- 레일홀에서 수직 상승 → 샤프트 롤 좌측에서 시계방향 감김
- 베지어 곡선으로 상승 후 롤 상단까지 자연스러운 커브
This commit is contained in:
김보곤
2026-03-15 11:25:31 +09:00
parent d63c6acb28
commit 2e417b1467

View File

@@ -1387,17 +1387,15 @@ function renderSbSide() {
` : '';
})()}
<!-- ━━━━━ 슬랫 경로 (레일홀 → 상부 샤프트, 시계방향 감김) ━━━━━ -->
<!-- ━━━━━ 슬랫 경로 (레일홀 → 상부 샤프트 시계방향 감김) ━━━━━ -->
${(() => {
const railCx = ox + vt + 30*sc + Math.min(railHoleW, sbFrontW-vt-30*sc)/2;
const slatEntryY = shaftCy + rollR; // 슬랫 롤 하단 진입점
const rollTopY = shaftCy - rollR;
return `
<!-- 케이스 외부: 슬랫 하강 -->
<line x1="${railCx}" y1="${oy+sH}" x2="${railCx}" y2="${oy+sH+20}" stroke="#f59e0b" stroke-width="2" stroke-dasharray="5 3" opacity="0.5"/>
<!-- 케이스 내부: 레일홀에서 상부로 올라감 -->
<line x1="${railCx}" y1="${oy+sH-vt}" x2="${railCx}" y2="${slatEntryY+15*sc}" stroke="#f59e0b" stroke-width="2" stroke-dasharray="5 3" opacity="0.5"/>
<!-- 샤프트 하단으로 접근 (곡선, 시계방향 진입) -->
<path d="M${railCx},${slatEntryY+15*sc} Q${railCx},${slatEntryY} ${shaftCx-rollR*0.3},${slatEntryY}" stroke="#f59e0b" stroke-width="2" stroke-dasharray="5 3" fill="none" opacity="0.5"/>
<!-- 케이스 내부: 레일홀에서 수직 상승 좌측에서 시계방향 감김 -->
<path d="M${railCx},${oy+sH-vt} L${railCx},${shaftCy} C${railCx},${shaftCy-rollR} ${shaftCx-rollR},${rollTopY} ${shaftCx},${rollTopY}" stroke="#f59e0b" stroke-width="2.5" stroke-dasharray="5 3" fill="none" opacity="0.5"/>
<text x="${railCx+12}" y="${oy+sH+18}" fill="#94a3b8" font-size="8" font-weight="700" font-family="Pretendard"> 슬랫</text>
`;
})()}