From 4556b64bbd4924612e12d051d4bfb2db5ae5dd28 Mon Sep 17 00:00:00 2001 From: corpi Date: Thu, 5 Mar 2026 12:17:29 +0900 Subject: [PATCH] =?UTF-8?q?feat(sound):=20Sound=20Quick=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20=EC=8B=9C=20override=20=EC=A0=81=EC=9A=A9=20?= =?UTF-8?q?=EA=B2=BD=EB=A1=9C=EB=A5=BC=20=EB=AA=85=EC=8B=9C=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 맥락: - 사운드 override는 우하단 Quick 변경에서 시작되는 규칙이 핵심이라, 코드 경로를 분명히 분리할 필요가 있었습니다. 변경사항: - SpaceToolsDockWidget의 사운드 선택 콜백을 onQuickSoundSelect로 분리해 Quick 전환 경로를 명시했습니다. - workspace에서 우하단 Quick 선택 콜백을 override.sound 활성화 핸들러에 직접 연결했습니다. 검증: - npx tsc --noEmit 세션-상태: 우하단 Sound Quick 선택이 override.sound 규칙과 1:1로 연결됩니다. 세션-다음: (선택) Scene/Timer/Sound 및 override 상태를 로컬에 저장/복원합니다. 세션-리스크: Setup에서의 수동 사운드 선택도 override를 켜므로 UX 기대치 점검이 필요할 수 있습니다. --- src/widgets/space-tools-dock/ui/SpaceToolsDockWidget.tsx | 6 +++--- src/widgets/space-workspace/ui/SpaceWorkspaceWidget.tsx | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/widgets/space-tools-dock/ui/SpaceToolsDockWidget.tsx b/src/widgets/space-tools-dock/ui/SpaceToolsDockWidget.tsx index 724bcd5..f69e191 100644 --- a/src/widgets/space-tools-dock/ui/SpaceToolsDockWidget.tsx +++ b/src/widgets/space-tools-dock/ui/SpaceToolsDockWidget.tsx @@ -35,7 +35,7 @@ interface SpaceToolsDockWidgetProps { sceneRecommendedTimerLabel: string; onRoomSelect: (roomId: string) => void; onTimerSelect: (timerLabel: string) => void; - onSelectPreset: (presetId: string) => void; + onQuickSoundSelect: (presetId: string) => void; onCaptureThought: (note: string) => RecentThought | null; onDeleteThought: (thoughtId: string) => RecentThought | null; onSetThoughtCompleted: (thoughtId: string, isCompleted: boolean) => RecentThought | null; @@ -63,7 +63,7 @@ export const SpaceToolsDockWidget = ({ sceneRecommendedTimerLabel, onRoomSelect, onTimerSelect, - onSelectPreset, + onQuickSoundSelect, onCaptureThought, onDeleteThought, onSetThoughtCompleted, @@ -382,7 +382,7 @@ export const SpaceToolsDockWidget = ({ onVolumeChange={handleVolumeChange} onVolumeKeyDown={handleVolumeKeyDown} onSelectPreset={(presetId) => { - onSelectPreset(presetId); + onQuickSoundSelect(presetId); setOpenPopover(null); }} /> diff --git a/src/widgets/space-workspace/ui/SpaceWorkspaceWidget.tsx b/src/widgets/space-workspace/ui/SpaceWorkspaceWidget.tsx index e6f1b73..90c8375 100644 --- a/src/widgets/space-workspace/ui/SpaceWorkspaceWidget.tsx +++ b/src/widgets/space-workspace/ui/SpaceWorkspaceWidget.tsx @@ -314,7 +314,7 @@ export const SpaceWorkspaceWidget = () => { selectedPresetId={selectedPresetId} onRoomSelect={handleSelectRoom} onTimerSelect={(timerLabel) => handleSelectTimer(timerLabel, true)} - onSelectPreset={(presetId) => handleSelectSound(presetId, true)} + onQuickSoundSelect={(presetId) => handleSelectSound(presetId, true)} sceneRecommendedSoundLabel={selectedRoom.recommendedSound} sceneRecommendedTimerLabel={resolveTimerLabelFromPresetId(selectedRoom.recommendedTimerPresetId) ?? selectedTimerLabel} onResetToSceneRecommended={handleResetToSceneRecommended}