import React, { useEffect } from 'react'; import { SceneComponentEditingWrapper } from '../editor/SceneComponentEditWrapper'; import { SceneComponentProps, SceneObject } from './types'; export function SceneComponentWrapper({ model, isEditing }: SceneComponentProps) { const Component = (model as any).constructor['Component'] ?? EmptyRenderer; const inner = ; // Handle component activation state state useEffect(() => { if (!model.isActive) { model.activate(); } return () => { if (model.isActive) { model.deactivate(); } }; }, [model]); if (!isEditing) { return inner; } return {inner}; } function EmptyRenderer(_: SceneComponentProps): React.ReactElement | null { return null; }