refactor(focus): 몰입모드 토글 제거 및 Focus-First 기본 구조로 전환

맥락:
- 몰입모드 토글은 상태 인지 비용을 높여 집중 흐름을 끊고, Quick Controls 헤더를 대시보드형으로 보이게 만들고 있었습니다.

변경사항:
- Quick Controls에서 기본/몰입 모드 토글 UI를 완전히 제거했습니다.
- Focus 화면의 HUD 톤은 외부 모드 상태 없이 항상 몰입 톤으로 렌더링되도록 고정했습니다.
- workspace/tools-dock/focus-hud 간 모드 토글 상태 전달 경로를 정리해, 컨트롤은 패널을 열었을 때만 보이는 Focus-First 흐름으로 단순화했습니다.

검증:
- npx tsc --noEmit

세션-상태: 모드 토글 없이 패널 열림 상태만으로 컨트롤 노출이 정의됩니다.
세션-다음: (선택) 컨트롤 자동 숨김 표시 정책 옵션을 패널 내부에 추가합니다.
세션-리스크: 자동 숨김 정책이 아직 없어 패널을 열어둔 채 방치되는 경우 수동 닫기가 필요합니다.
This commit is contained in:
2026-03-05 15:12:00 +09:00
parent 31d91c1bc8
commit 3fbeee059a
4 changed files with 1 additions and 52 deletions

View File

@@ -20,7 +20,6 @@ import { QuickSoundPopover } from './popovers/QuickSoundPopover';
import { InboxToolPanel } from './panels/InboxToolPanel';
interface SpaceToolsDockWidgetProps {
isFocusMode: boolean;
isImmersionMode: boolean;
rooms: RoomTheme[];
selectedRoomId: string;
selectedTimerLabel: string;
@@ -43,14 +42,12 @@ interface SpaceToolsDockWidgetProps {
onRestoreThought: (thought: RecentThought) => void;
onClearInbox: () => RecentThought[];
onResetToSceneRecommended: () => void;
onImmersionModeChange: (next: boolean) => void;
onStatusMessage: (payload: HudStatusLinePayload) => void;
onExitRequested: () => void;
}
export const SpaceToolsDockWidget = ({
isFocusMode,
isImmersionMode,
rooms,
selectedRoomId,
selectedTimerLabel,
@@ -73,7 +70,6 @@ export const SpaceToolsDockWidget = ({
onRestoreThought,
onClearInbox,
onResetToSceneRecommended,
onImmersionModeChange,
onStatusMessage,
onExitRequested,
}: SpaceToolsDockWidgetProps) => {
@@ -415,11 +411,9 @@ export const SpaceToolsDockWidget = ({
rooms={rooms}
selectedRoomId={selectedRoomId}
selectedTimerLabel={selectedTimerLabel}
isImmersionMode={isImmersionMode}
sceneRecommendedSoundLabel={sceneRecommendedSoundLabel}
sceneRecommendedTimerLabel={sceneRecommendedTimerLabel}
timerPresets={timerPresets}
onImmersionModeChange={onImmersionModeChange}
onSelectRoom={(roomId) => {
onRoomSelect(roomId);
}}