src/views/three/Floor3D.tsximport { useMemo } from 'react';import * as THREE from 'three';import type { ThreeEvent } from '@react-three/fiber';import type { Room } from '../../scene/schema';import { describeRoom, SELECTED_COLOR, type Selected3D } from '../../scene/describe';import type { UnitSystem } from '../../scene/units';type Props = {room: Room;/** Vertical position of the floor surface (default 0). */y?: number;color?: string;units: UnitSystem;selectedId: string | null;onSelect: (sel: Selected3D | null) => void;};export function Floor3D({ room, y = 0, color, units, selectedId, onSelect }: Props) {const geom = useMemo(() => {const shape = new THREE.Shape();
Showing the first 20 lines.
Get full code