import * as THREE from 'three/webgpu'; /** * Wireframe box geometry with explicit edge pairs for line rendering. * Renders only the 12 edges of a box without any faces. * * **Architecture** * - 24 vertices (2 per edge) for clean LINE_SEGMENTS rendering * - No indices - direct vertex pairs * - Pre-computed bounds for efficient culling * * **Use Cases** * - Bounding box visualization * - Debug wireframe overlays * - Minimalist architectural elements * - Selection indicators * * ```js * import { BoxNoFaceGeometry } from '../helpers/exampleGeometries.js'; * import { LineSegments, LineBasicMaterial } from 'three/webgpu'; * * // Visualize a bounding box * const boxGeo = new BoxNoFaceGeometry(10, 5, 8); * const boxMat = new LineBasicMaterial({ color: 0x00ff00 }); * const wireframe = new LineSegments(boxGeo, boxMat); * scene.add(wireframe); * * // Animate with transform * wireframe.position.set(0, 2.5, 0); * wireframe.rotation.y = Math.PI / 4; * ``` * * @class BoxNoFaceGeometry * @extends THREE.BufferGeometry * @tags WebGPU, WebGL * @short Line-segment box geometry with 12 edges only (no faces), useful for bounds/wireframes. * @category Geometries */ declare class BoxNoFaceGeometry extends THREE.BufferGeometry { /** * Create a wireframe box with explicit edge vertices. * * @param {number} [width=1] Box extent along the X axis. * @param {number} [height=1] Box extent along the Y axis. * @param {number} [depth=1] Box extent along the Z axis. */ constructor(width?: number, height?: number, depth?: number); } export { BoxNoFaceGeometry };