https://github.com/mrdoob/three.js/wiki/Migration-Guide#184--185
https://github.com/mrdoob/three.js/milestone/98?closed=1
- Global
- AnimationAction
- BezierInterpolant
- Bindings
- TSL Compute: Fix needsUpdate. #33530 (@thelazylamaGit)
- Box3
- BufferGeometry
- Fix attribute count mismatch in
computeVertexNormals()andcomputeTangents(). #33520 (@Mugen87) - Support Transformed Geometry when Serializing. #33641 (@WestLangley, @Mugen87)
- Fix attribute count mismatch in
- CI
- ClippingContext
- ColorAdjustment
- common.glsl
- WebGLRenderer Shaders: introduce
transformNormalByInverseViewMatrix(). #33351 (@WestLangley, @Mugen87) - Update inverseTransformDirection definition for clarity. #33431 (@WestLangley)
- WebGLRenderer Shaders: introduce
- FrustumArray
- HTMLTexture
- IESSpotLight
- Inspector
- InstanceNode
- Sync update ranges in updateBefore. #33615 (@thejustinwalsh, @Mugen87)
- Line2NodeMaterial
- LoadingManager
- Material
- MaterialLoader
- Matrix3
- deprecate
.scale(),.rotate(), and.translate(). #33757 (@WestLangley)
- deprecate
- Matrix4
- Morph
- NodeBuilder
- NodeMaterial
- NodeMaterialObserver
- Nodes
- NodeUniformBuffer
- Fix
byteLengthto follow overriddenbuffergetter. #33469 (@RenaudRohlinger)
- Fix
- NodeUtils
- npm
- Object3D
- ObjectLoader
- Allow ObjectLoader to use custom loading managers in sync'd image loads. #33669 (@SeanCurtis-TRI)
- PassNode
- Fix implicit depth texture creation when
depthBuffer: false. #33410 (@thelazylamaGit, @Mugen87)
- Fix implicit depth texture creation when
- PMREMGenerator
- Avoid unnecessary depth buffers in render targets. #33585 (@shotamatsuda)
- Apply
await renderer.init()policy. #33587 (@Mugen87)
- PMREMNode
- PointShadowNode
- Raycaster
- Renderer
- Export missing classes. #33623 (@pepperoni505)
- Ensure valid camera state in compileAsync(). #33668 (@Mugen87)
- Fix light invalidation by nested render calls. #33737 (@Mugen87)
- Fix
compileAsync(). #33784 (@Mugen87) - Improve render list processing of render bundles. #33811 (@Mugen87)
- Merge update ranges if possible. #33813 (@Mugen87)
- Fully support
InstancedMeshwith render bundles. #33839 (@Mugen87) - Improve texture check in
_getShadowNodes(). #33845 (@sunag)
- Renderers
- RenderList
- RenderObject
- RTTNode
- ShaderLib
- Shaders
- Update nomenclature. #33727 (@WestLangley)
- Add deprecation note. #33729 (@WestLangley)
- ShadowFilterNode
- Use textureGatherCompare in PCFSoftShadowFilter. #33534 (@RenaudRohlinger, @claude, @shotamatsuda)
- ShadowNode
- SphereGeometry
- Src
- Clean up. #33590 (@WestLangley)
- StackNode
- StereoCamera
- StorageTextureNode
- Bypass UV matrix transforms. #33545 (@thelazylamaGit)
- Set referenceNode & add .store() function. #33544 (@thelazylamaGit)
- TSL
- Remove
string,arrayBufferdefinitions. #33430 (@sunag) - Fix
setName()for attributes. #33432 (@sunag) - Introduce
storageTexture3D. #33443 (@shotamatsuda) - Make not() on vector produce component-wise logical not. #33442 (@shotamatsuda)
- Fix redundant min/max calls being generated. #33441 (@shotamatsuda)
- Fix stack node sequence. #33402 (@sunag)
- Cache function nodes per renderer's backend. #33517 (@sunag)
- Add support for textureGather and textureGatherCompare. #33475 (@shotamatsuda, @sunag)
- Make sure structs are built when compiling functions. #33524 (@Mugen87, @sunag)
- Introduce
nodeProxyConstructor. #33542 (@sunag) - Remove modInt export from Three.TSL.js. #33628 (@Methuselah96)
- Add missing StorageTexture3DNode exports. #33630 (@Methuselah96)
- Migrate vertex accessor classes to TSL Fn. #33674 (@sunag)
- Fix varying code sequence in vertex stage. #33709 (@sunag)
- Align packing nomenclature with
packing.glsl.js. #33715 (@WestLangley, @sunag) - Introduce
ambientOcclusionproperty. #33728 (@sunag) - Fix direction and normal transform methods. #33725 (@Mugen87)
- Rename
directionToFaceDirection->negateOnBackSide. #33753 (@sunag) - Introduce override context. #33807 (@sunag)
- Use RGBA for batching color. #33866 (@Mugen87)
- Remove
- UniformsGroup
- Pool per-uniform update-range objects. #33427 (@RenaudRohlinger, @claude)
- WebGLOutput
- WebGLRenderer
- Fix stale scratch framebuffers after context restore. #33533 (@vizerb, @Mugen87)
- reset statistics (info.reset) before shadowMap.render. #33688 (@ldaoust01)
- Improve lookups of shader stages. #33829 (@Mugen87)
- Always bind
positionto location0. #33841 (@Mugen87) - Fix normal maps with
DoubleSide+ flat shading. #33859 (@Mugen87) - Fix normal maps with
BackSideand vertex tangents. #33861 (@Mugen87)
- WebGLTextureUtils
- fix
copyTextureToTexture()usage insideupdateBefore(). #33736 (@marcofugaro, @Mugen87)
- fix
- WebGLUniformsGroups
- WebGPUBackend
- toggle comment causing import to appear in build. #33449 (@daigofuji)
- WebGPUBindingUtils
- Guard updateBinding() against destroyed GPU buffer. #33461 (@RenaudRohlinger, @Mugen87)
- WebGPUPipelineUtils
- WebGPURenderer
- Honor layerUpdates for compressed array textures. #33417 (@RenaudRohlinger, @sunag)
- Ensure valid render pipelines when using
depthBias. #33471 (@Mugen87) - Support all BPTC formats. #33482 (@Mugen87)
- Surface uncaptured GPU errors and WGSL diagnostics. #33418 (@RenaudRohlinger, @claude, @sunag)
- Restore framebuffer after clear. #33512 (@Mugen87)
- Make structs work in vertex shader with WebGL. #33509 (@Mugen87)
- Fix texture disposal for render targets. #33511 (@Mugen87)
- Honor the Compositor Contract. #33457 (@WestLangley, @Mugen87)
- Optimize
submit()calls. #33513 (@Mugen87) - Support rendering to texture arrays. #33507 (@cabanier, @Mugen87, @elalish, @renovate[bot], @ycw)
- Introduce descriptor classes and caching. #33525 (@Mugen87)
- Fix mipmap filter mode. #33527 (@XorTdsc)
- More descriptor usage. #33529 (@Mugen87)
- Improve support for output types. #33299 (@sunag)
- Add support for WebXR with WebGPU. #33583 (@cabanier)
- Manage
hardwareClippingon builder level. #33681 (@Mugen87) - Fix dispose of override material render objects. #33682 (@Mugen87)
- Fix stale texture references in bindings. #33680 (@Mugen87)
- Refactor material lighting setup. #33702 (@sunag)
- Fix unsupported texture sample counts. #33722 (@sunag)
- add
lighting.enabled. #33721 (@sunag) - Fix
getShaderAsync()render context retrieval. #33733 (@sunag) - Add WGSL polyfill for
inverse(). #33745 (@Mugen87) - Fix displacement-map shadows. #33774 (@sunag)
- Track frontFaceCW in needsRenderUpdate. #33780 (@LLiJJing)
- Correctly honor 4-byte stride alignment. #33787 (@Mugen87)
- Minor performance fixes. #33802 (@Mugen87)
- Fully support
ExternalTexture. #33816 (@Mugen87) - Scope sampler caching to bindings to prevent sampler collision on shared. #33847 (@sunag)
- Improve Sampler disposal. #33850 (@Mugen87)
- WebGPUUtils
- XRManager
Docs
- Improve
displacementMapJSDoc. #33453 (@Mugen87) - Document minimum texture sizes of
PMREMGenerator. #33465 (@Mugen87) - Fix JSDoc. #33569 (@Mugen87)
- Fix code example generation. #33586 (@Mugen87)
- Fix typo in ARButton docstring. #33608 (@Carifio24)
- Add color space notes. #33636 (@Mugen87)
- Correct lightMap description. #33642 (@WestLangley)
- Fix typos in JSDoc. #33713 (@hanityx)
- Update TSL.md. 522bc18 (@Mugen87)
- Fix Safari scrolling to anchors. #33719 (@shotamatsuda)
- Update nomenclature. #33742 (@WestLangley)
NodeMaterial.setupOutputand TSLpositionLocal. #33791 (@cmhhelgeson)- Update TSL.md. 67e7b21 (@sunag)
- Update TSL.md. 5402547 (@sunag)
- Fix JSDoc type expressions for docs build. 1b4637d (@mrdoob, @claude)
Manual
- Fix links in material table. #33487 (@Mugen87)
- Improve Installation guide. #33599 (@Mugen87)
- Update nomenclature. #33723 (@WestLangley)
- Fix link navigation. #33858 (@Mugen87)
Examples
- Update webgl_loader_svg.html. 2786758 (@Mugen87)
- Explicitly set clear color in WebGPU demos. #33452 (@gkjohnson)
- Clean up. #33470 (@Mugen87)
- Make wave speed frame rate independent in
webgl_shaders_ocean. #33492 (@unrealsid, @Mugen87) - Fix final alpha issues. #33496 (@gkjohnson)
- Update webgl_loader_ifc to use web-ifc directly. #33491 (@agviegas, @claude)
- Clean up. #33505 (@Mugen87)
- Add
webgpu_furnace_test.html. #33516 (@WestLangley) - Added GUI to Furnace Tests. #33523 (@WestLangley)
- Improve GUI in webgpu_lines_fat.html. #33498 (@WestLangley)
- Improve GUI in webgl_lines_fat.html. #33538 (@WestLangley)
- Add Open Graph Protocol fields. #33543 (@Mugen87)
- Update tags.json. 82181ef (@Mugen87)
- Improve webgpu anamorphic,
rttandbloom. #33600 (@sunag) - Remove "setDecoderPath" in non-gltf path examples. #33604 (@gkjohnson)
- Add TSL function for grounded skyboxes. #33611 (@Mugen87)
- Add nanite-style rasterizer. #33605 (@sunag)
- Update webgpu_compute_nanite-style.html. 76d1eba (@Mugen87)
- Improve WebGPU AO example. #33631 (@marcofugaro)
- Improve AO scale. #33637 (@Mugen87)
- Cleanup webgpu_postprocessing_ssaa. #33653 (@Methuselah96)
- Optimize and shade smooth Tennyson Bust model. #33655 (@marcofugaro)
webgpu_lights_clusteredfirefly-style HDR sprites. #33660 (@mrdoob)- Update CDN dependencies. #33677 (@mrdoob, @claude)
- Improved face alignment in webgl_morphtargets_webcam. #33690 (@mrdoob, @claude)
- Add
webgpu_skinning_instancing_individual. #33644 (@RenaudRohlinger, @sunag) - Migrate examples to new DRACOLoader url config. #33724 (@gkjohnson)
- Fix
Animation Speedlabel ofwebgpu_compute_nanite-style. 607fc7d (@sunag) - Subset MPLUSRounded1c font in webgl_geometry_text_stroke. #33743 (@mrdoob, @claude)
- Add TileCreasedNormalsPlugin. #33767 (@mrdoob, @claude)
- Add inspector to the ball pool example. 195e328 (@mrdoob, @claude)
- Add LoftGeometry addon and example. #33776 (@mrdoob, @claude)
- Rename webgpu_compute_nanite-style to webgpu_compute_rasterizer. 4c83d5e (@mrdoob, @claude)
- Clean up webgpu_compute_rasterizer. 60e798e (@mrdoob, @claude)
- Remove ammo.js examples. #33786 (@mrdoob, @claude)
- Use CDN version of Ammo.js. #33799 (@Mugen87)
- Rework webgpu_lights_clustered. #33803 (@mrdoob, @claude)
- Example: Fix and optimize snow compute demo. #33833 (@Mugen87, @sunag)
- Add volumetric fire, enhances the
VolumetricLightingModel. #33848 (@sunag) - Update misc_exporter_gltf_normals.html. 70ea716 (@Mugen87)
- Add procedural city generator. #33817 (@mrdoob, @claude)
- Improve webgpu_custom_fog with terrain and forest generators. #33873 (@mrdoob, @claude)
- Improve
webgpu_custom_fog_scattering. #33825 (@mrdoob, @claude) - Add webgpu_compute_rasterizer_ibl. #33783 (@mrdoob, @claude, @sunag)
- Use FirstPersonControls in webgpu_compute_rasterizer. aace2e8 (@mrdoob, @claude)
Addons
-
Addons
-
ArcballControls
-
AsciiEffect
-
BufferGeometryUtils
-
CSMShadowNode
- Add support for reversed depth buffer. #33506 (@shotamatsuda)
- Fix inconsistency in frustum split. #33510 (@shotamatsuda)
-
ClusteredLightsNode
-
DRACOExporter
-
DRACOLoader
- Use relative file urls by default. #33564 (@gkjohnson)
- Deprecate "setDecoderConfig" function. #33602 (@gkjohnson)
- Add exported urls for GLTF decoder. #33691 (@gkjohnson)
-
DataTextureLoader
-
EXRLoader
-
FXAANode
-
FirstPersonControls
-
GLTFExporter
-
GTAONode
- Cosine-weighted integration with per-slice normal projection. #33654 (@marcofugaro)
-
ImportanceSampledEnvironment
-
Inspector
- Added scope for styles. #33456 (@sunag)
- Added storage settings and info feature. #33571 (@sunag)
- Add unread warning and error notification badges. #33732 (@sunag)
- Migrate Graph to Canvas & add FPS graph to toggle button. #33756 (@sunag)
- Improved Viewer, Timeline. #33750 (@sunag)
- Fix slider using
step()after define the value. #33806 (@sunag) - Improve state preservation, layout sizing and add CPU/GPU graph metrics. #33808 (@sunag)
- Inline extensions configuration and remove
extensions.json. #33812 (@sunag) - Improve mobile compatibility. #33819 (@sunag)
- Improve folder renaming, color/select value updates, and visibility controls. #33853 (@sunag)
- Add overdraw render mode. #33870 (@mrdoob, @claude)
- Group duplicate console messages and allow detached tab panels to remain visible. #33864 (@sunag)
- Fix Timeline resize. c1889da (@sunag)
-
KTX2Loader
- Use relative file urls by default. #33603 (@gkjohnson)
- Fix regression in rgba16 unorm support. #33662 (@donmccurdy)
- Disable etc1 on Chrome Mesa (Linux). #33697 (@arpu, @Mugen87, @donmccurdy, @mrdoob)
-
LWOLoader
-
LightProbeGrid
-
LineMaterial
-
LineSegment2
-
LoftGeometry
-
MaterialXLoader
-
Matrix3
-
MikkTSpace
-
PLYExporter
-
PLYLoader
-
PixelationPassNode
- Fix examples to avoid fading alpha. #33450 (@gkjohnson)
-
RapierPhysics
-
Reflector
-
SSAAPassNode
-
SSGINode
-
SVGLoader
-
ShapePath
-
TransformControls
-
USDAParser
- Infer the elementSize of missing skeletal joint attributes. #33596 (@bigbigbiglazycat, @Mugen87)
- Fix inline-brace prim definitions being silently dropped. #33773 (@wheresoli)
-
USDLoader
-
USDZExporter
-
USDZLoader
-
VRMLLoader
-
VolumeShader
-
Water2Mesh
-
WebGPURenderer
-
lottie_canvas.module
Devtools
- Make hierarchy collapsible. #33645 (@Mugen87)
- Resolve linter issues. #33646 (@Mugen87)
- Remove empty scenes. #33647 (@Mugen87)
- Bump version to 1.16. 4e38227 (@mrdoob)
- clean up. #33879 (@linbingquan)
Editor
- Remove legacy JSON format Worker code. #33423 (@sebastiondev)
- Improve SVG setup. #33447 (@Mugen87)
- Make light targets editable. #33541 (@Mugen87)
- Fix
ListboxItemtext content. #33648 (@Mugen87) - Add texture parameters dialog. #33651 (@Mugen87)
- Fix name conflict during glTF export. #33699 (@Mugen87)
- Rework auto-completion in script editor. #33711 (@Mugen87)
- Fix collision detection in arkanoid demo. #33718 (@Mugen87)
- Update arkanoid.app.json. 716b644 (@Mugen87)
- Add support for orthographic cameras. #33701 (@Mugen87)
- Fix outliner regression. #33735 (@Mugen87)
- Make size of vertex normals helper configurable. #33790 (@Mugen87)
Tests
- Add unit test for custom interpolant. #33480 (@Mugen87)
- Run unittests in browser with Puppeteer. #33550 (@catalin-enache, @Mugen87)
- Update CatmullRomCurve3.tests.js. 6b71970 (@Mugen87)
- E2E: Update screenshot. #33635 (@Mugen87)
- E2E: Fix WebGPU Device Lost errors. #33650 (@shotamatsuda)
- test/e2e: fix Buffer handling for Node.js 23+. #33672 (@WestLangley)
- E2E: Print elapsed seconds. #33726 (@shotamatsuda)
Utils