draft wall builder

This commit is contained in:
wass08
2026-01-16 13:58:01 +09:00
parent 1b954d3416
commit 536c2e94cc
11 changed files with 225 additions and 16 deletions
@@ -1,18 +1,16 @@
import { BuildingNode, LevelNode, useRegistry } from "@pascal-app/core";
import { BuildingNode, useRegistry } from "@pascal-app/core";
import { useRef } from "react";
import { Group } from "three";
import { NodeRenderer } from "../node-renderer";
import { useNodeEvents } from "../../../hooks/use-node-events";
export const BuildingRenderer = ({ node }: { node: BuildingNode }) => {
const ref = useRef<Group>(null!);
useRegistry(node.id, node.type, ref);
const handlers = useNodeEvents(node, "building");
return (
<group ref={ref}>
{/* <mesh receiveShadow>
<boxGeometry args={[10, 0.1, 10]} />
<meshStandardMaterial color="orange" />
</mesh> */}
<group ref={ref} {...handlers}>
{node.children.map((childId) => (
<NodeRenderer key={childId} nodeId={childId} />
))}
@@ -7,6 +7,8 @@ export const LevelRenderer = ({ node }: { node: LevelNode }) => {
const ref = useRef<Group>(null!);
useRegistry(node.id, node.type, ref);
console.log('rendering level:', node.id, node.children);
return (
<group ref={ref}>
{/* <mesh receiveShadow>
@@ -1,6 +1,5 @@
import { emitter, useRegistry, WallNode } from "@pascal-app/core";
import { ThreeEvent } from "@react-three/fiber";
import { useCallback, useRef } from "react";
import { useRegistry, WallNode } from "@pascal-app/core";
import { useRef } from "react";
import { Mesh } from "three";
import { NodeRenderer } from "../node-renderer";
import { useNodeEvents } from "../../../hooks/use-node-events";