'use client' import { type AnyNode, useScene } from '@pascal-app/core' import { BuildingRenderer } from './building/building-renderer' import { CeilingRenderer } from './ceiling/ceiling-renderer' import { ColumnRenderer } from './column/column-renderer' import { DoorRenderer } from './door/door-renderer' import { FenceRenderer } from './fence/fence-renderer' import { GuideRenderer } from './guide/guide-renderer' import { ItemRenderer } from './item/item-renderer' import { LevelRenderer } from './level/level-renderer' import { RoofRenderer } from './roof/roof-renderer' import { RoofSegmentRenderer } from './roof-segment/roof-segment-renderer' import { ScanRenderer } from './scan/scan-renderer' import { SiteRenderer } from './site/site-renderer' import { SlabRenderer } from './slab/slab-renderer' import { SpawnRenderer } from './spawn/spawn-renderer' import { StairRenderer } from './stair/stair-renderer' import { StairSegmentRenderer } from './stair-segment/stair-segment-renderer' import { WallRenderer } from './wall/wall-renderer' import { WindowRenderer } from './window/window-renderer' import { ZoneRenderer } from './zone/zone-renderer' export const NodeRenderer = ({ nodeId }: { nodeId: AnyNode['id'] }) => { const node = useScene((state) => state.nodes[nodeId]) if (!node) return null return ( <> {node.type === 'site' && } {node.type === 'building' && } {node.type === 'ceiling' && } {node.type === 'column' && } {node.type === 'level' && } {node.type === 'item' && } {node.type === 'slab' && } {node.type === 'spawn' && } {node.type === 'wall' && } {node.type === 'fence' && } {node.type === 'door' && } {node.type === 'window' && } {node.type === 'zone' && } {node.type === 'roof' && } {node.type === 'roof-segment' && } {node.type === 'stair' && } {node.type === 'stair-segment' && } {node.type === 'scan' && } {node.type === 'guide' && } ) }