This section documents version-specific API changes — prioritize recent major/minor releases.
-
BREAKING: useLoader — returns reactive state { state, isLoading, error, progress } since v5, no longer returns a Promise source
-
BREAKING: Pointer Events — renamed to native DOM names (e.g., @pointerdown instead of @pointer-down) in v5 source
-
BREAKING: useTexture — removed from core in v5, moved to @tresjs/cientos package source
-
BREAKING: ESM-only — TresJS v5 is ESM-only; UMD build and CommonJS require() are no longer supported source
-
BREAKING: TresCanvas Props — WebGL context props like alpha, antialias, stencil, and depth are now readonly and non-reactive in v5 source
-
BREAKING: useTresContext().camera — returns a state object in v5; use useTres().camera for the active camera instance source
-
BREAKING: Renderer Context — renderer is now readonly in useTresContext(); performance state was removed from context in v5 source
-
BREAKING: Event Bubbling — only the first intersected element triggers pointer events since v5 to align with standard behavior source
-
NEW: Context Component — exported in v5.5.0 (as TresCanvasContext) for advanced scene and state management source
-
NEW: Kebab-case Support — support for components written in kebab-case (e.g., <tres-mesh>) added in v5.1.0 source
-
NEW: primitive Prefix — added prefix option for primitives in v5.3.0 to avoid name collisions source
-
NEW: TresCanvasProps / TresCanvasEmits — explicitly exported types added in v5.2.0 for better TypeScript integration source
-
REMOVED: Legacy Composables — useRenderLoop, useCamera, useTresReady, useSeek, useRaycaster, and useLogger removed in v5 source
-
NEW: useForwardPropsEmits — integrated into TresCanvas in v5.3.0 for streamlined event and prop handling source