import { useState } from 'react' import { StudioPermissionModeModal } from './controls/StudioPermissionModeModal' import { StudioAssetsPanel } from './components/StudioAssetsPanel' import { StudioCommandPanel } from './components/StudioCommandPanel' import { StudioPipelinePanel } from './components/StudioPipelinePanel' import { useStudioReview } from './hooks/use-studio-review' import { useStudioSession } from './hooks/use-studio-session' import type { StudioKind } from './protocol/studio-agent-types' interface StudioShellProps { onExit: () => void isExiting?: boolean studioKind?: StudioKind } export function StudioShell({ onExit, isExiting, studioKind = 'manim' }: StudioShellProps) { const studio = useStudioSession({ studioKind, title: studioKind === 'plot' ? 'Plot Studio' : 'Manim Studio' }) const [selectedWorkId, setSelectedWorkId] = useState(null) const effectiveSelectedWorkId = selectedWorkId && studio.works.some((work) => work.id === selectedWorkId) ? selectedWorkId : studio.works[0]?.id ?? null const selected = studio.selectWork(effectiveSelectedWorkId) const review = useStudioReview(selected.result) return ( <>
) }