fix: [fire-shutter] 슬랫 경로 실제 감김 형상 반영
- 레일홀에서 수직 상승 → 샤프트 롤 좌측에서 시계방향 감김 - 베지어 곡선으로 상승 후 롤 상단까지 자연스러운 커브
This commit is contained in:
@@ -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>
|
||||
`;
|
||||
})()}
|
||||
|
||||
Reference in New Issue
Block a user