What problem does it solve? Working with Three.js geometry involves subtle pitfalls: forgetting needsUpdate on BufferAttribute, leaking GPU memory by skipping dispose(), rendering black meshes due to missing normals, or creating thousands of individual meshes instead of using InstancedMesh. This Skill provides the correct API signatures, parameters, and anti-patterns to avoid these mistakes. ## Core Features & Use Cases - Complete Geometry Reference: Covers BufferGeometry, BufferAttribute, all 21 built-in geometries, ExtrudeGeometry options, Shape path drawing, morph targets, and InterleavedBuffer. - InstancedMesh Guidance: Explains setMatrixAt, setColorAt, per-instance attributes, and performance thresholds for when to switch from individual meshes to instancing. - Anti-Pattern Prevention: Documents 11 common mistakes such as in-place transforms in animation loops, missing computeVertexNormals, and incorrect usage hints. - Use Case: When building a particle system or custom mesh in Three.js r160+, consult this Skill to write correct BufferAttribute code with proper disposal and update flags. ## Quick Start Use the threejs-syntax-geometries skill to create a custom indexed BufferGeometry with positions, UVs, and computed normals for a lit material.