import { Suspense } from 'react'; import { Canvas } from '@react-three/fiber'; import { Stars, GizmoHelper, GizmoViewport } from '@react-three/drei'; import { LayerNodes } from './layers'; import { EdgeConnections } from './edges'; import { CameraControls, useKeyboardShortcuts } from './controls'; import { useVisualizerStore } from '@/core/store'; /** * Loading fallback component */ function LoadingFallback() { return ( ); } /** * Scene lighting setup */ function SceneLighting() { const config = useVisualizerStore(state => state.config); const isDark = config.theme !== 'light'; return ( <> ); } /** * Scene background */ function SceneBackground() { const config = useVisualizerStore(state => state.config); if (config.theme === 'light') { return ; } if (config.theme === 'blueprint') { return ( <> ); } // Dark theme (default) return ( <> ); } /** * Keyboard shortcuts handler component */ function KeyboardHandler() { useKeyboardShortcuts(); return null; } /** * Grid and helper elements */ function SceneHelpers() { const model = useVisualizerStore(state => state.model); if (!model) return null; return ( <> ); } /** * Main 3D network scene */ function NetworkScene() { return ( <> }> ); } /** * Main 3D Canvas component */ export function Scene() { return ( ); } export default Scene;