From 60e50b11869f9e7eedd8f286c2e58cd63d8f7830 Mon Sep 17 00:00:00 2001 From: ypshim Date: Tue, 27 Oct 2026 15:33:53 +0900 Subject: [PATCH] =?UTF-8?q?feat(view):=203D=20=EB=B7=B0=EC=97=90=20?= =?UTF-8?q?=EC=A0=84=EC=B2=B4=20=EB=B3=B4=EA=B8=B0=20=EB=B2=84=ED=8A=BC=20?= =?UTF-8?q?=EB=8B=A4=EC=8B=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 부재 표시·시점 버튼과 같은 우측 패널에 배치 - ① 형상 생성에서는 기본이 전체 보기이며, 버튼으로 단일 보기와 전환 - 다른 단계에서는 버튼 비활성 Co-Authored-By: Claude Haiku 5.5 --- index.html | 1 + src/main.ts | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/index.html b/index.html index 66826c3..46989d3 100644 --- a/index.html +++ b/index.html @@ -88,6 +88,7 @@ 부재 표시
+
diff --git a/src/main.ts b/src/main.ts index 08eff59..fb45f3b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -612,6 +612,9 @@ let lastScrolledPier: string | null = null; function renderAll(): void { updatePartsCount(); + const allToggle = $('all-toggle'); + allToggle.setAttribute('aria-pressed', String(state.allView)); + allToggle.disabled = state.stage !== 'shape' || !state.piers.some((p) => p.model); if (state.active !== lastScrolledPier) { lastScrolledPier = state.active; document.querySelector('.pier-items [aria-pressed="true"]')?.scrollIntoView({ block: 'nearest' }); @@ -3243,6 +3246,12 @@ function restorePanel(id: string): void { restorePanel('parts-info'); restorePanel('color-info'); +$('all-toggle').addEventListener('click', () => { + state.allView = !state.allView; + setupScene(); + renderAll(); +}); + $('views-toggle').addEventListener('click', () => setMenuOpen('views', $('views').hidden === true)); $('origin-toggle').addEventListener('click', () => setMenuOpen('origin', $('origin').hidden === true)); document.addEventListener('click', (ev) => {