The 3D system is built on Three.js. This page lists every package it depends on, the Three.js addon modules it pulls from, and which dependencies are hard requirements versus reserved for future use.
| Package | Version | Purpose | Required? |
|---|---|---|---|
| three | ^0.183.1 | Core rendering engine. Provides WebGLRenderer, Scene, Camera, Geometry, Material and all scene-graph primitives. Every file in src/3d/ depends on it. | Hard requirement |
| @types/three | ^0.183.1 | TypeScript type definitions for Three.js. Development dependency only. | Hard requirement (TypeScript) |
| gsap | ^3.14.2 | GreenSock animation platform, used by the broader app animation engine. Not imported directly by any src/3d/ file, but the timeline can animate canvas-level properties of a 3D element such as position and opacity. | Not used directly by 3D |
| postprocessing | ^6.38.3 | Post-processing effects for Three.js. Referenced by the PostProcessingConfig type, but no passes are currently instantiated. The type infrastructure is in place for future bloom and SSAO support. | Soft (future use) |
These are imported from three/examples/jsm/ rather than the package root.
| Module | Imported By | Purpose |
|---|---|---|
| OrbitControls | ThreeDEngine.ts, GizmoController.ts | Camera orbit, pan and zoom interaction |
| TransformControls | GizmoController.ts | Translate / rotate / scale gizmo overlay |
| GLTFLoader | ModelLoader.ts | Loading .glb and .gltf files |
| DRACOLoader | ModelLoader.ts | Decompressing Draco-encoded GLTF meshes |
| OBJLoader | ModelLoader.ts | Loading .obj files |
| FBXLoader | ModelLoader.ts | Loading .fbx files |
| STLLoader | ModelLoader.ts | Loading .stl files |