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;