scene starting with site and not with building anymore

This commit is contained in:
wass08
2026-02-05 14:42:46 +09:00
parent 875cf277e0
commit 39f9f595d8
8 changed files with 84 additions and 15 deletions
@@ -8,6 +8,7 @@ import { ItemRenderer } from './item/item-renderer'
import { LevelRenderer } from './level/level-renderer'
import { RoofRenderer } from './roof/roof-renderer'
import { ScanRenderer } from './scan/scan-renderer'
import { SiteRenderer } from './site/site-renderer'
import { SlabRenderer } from './slab/slab-renderer'
import { WallRenderer } from './wall/wall-renderer'
import { ZoneRenderer } from './zone/zone-renderer'
@@ -19,6 +20,7 @@ export const NodeRenderer = ({ nodeId }: { nodeId: AnyNode['id'] }) => {
return (
<>
{node.type === 'site' && <SiteRenderer node={node} />}
{node.type === 'building' && <BuildingRenderer node={node} />}
{node.type === 'ceiling' && <CeilingRenderer node={node} />}
{node.type === 'level' && <LevelRenderer node={node} />}
@@ -0,0 +1,20 @@
import { type SiteNode, useRegistry } from '@pascal-app/core'
import { useRef } from 'react'
import type { Group } from 'three'
import { useNodeEvents } from '../../../hooks/use-node-events'
import { NodeRenderer } from '../node-renderer'
export const SiteRenderer = ({ node }: { node: SiteNode }) => {
const ref = useRef<Group>(null!)
useRegistry(node.id, node.type, ref)
const handlers = useNodeEvents(node, 'site')
return (
<group ref={ref} {...handlers}>
{node.children.map((child) => (
<NodeRenderer key={child.id} nodeId={child.id} />
))}
</group>
)
}