Documentation is work in progress and not completeEditor
3D System

Technology Stack

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.

Packages

PackageVersionPurposeRequired?
three^0.183.1Core 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.1TypeScript type definitions for Three.js. Development dependency only.Hard requirement (TypeScript)
gsap^3.14.2GreenSock 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.3Post-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)
postprocessing is declared and typed but inert. Nothing in the engine constructs a pass today, so adding bloom or SSAO is a matter of wiring up the existing config type rather than introducing a new dependency.

Three.js Addon Modules

These are imported from three/examples/jsm/ rather than the package root.

ModuleImported ByPurpose
OrbitControlsThreeDEngine.ts, GizmoController.tsCamera orbit, pan and zoom interaction
TransformControlsGizmoController.tsTranslate / rotate / scale gizmo overlay
GLTFLoaderModelLoader.tsLoading .glb and .gltf files
DRACOLoaderModelLoader.tsDecompressing Draco-encoded GLTF meshes
OBJLoaderModelLoader.tsLoading .obj files
FBXLoaderModelLoader.tsLoading .fbx files
STLLoaderModelLoader.tsLoading .stl files