| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| r186 source code.tar.gz | 2026-09-08 | 362.2 MB | |
| r186 source code.zip | 2026-09-08 | 366.2 MB | |
| README.md | 2026-09-08 | 28.1 kB | |
| Totals: 3 Items | 728.4 MB | 65 | |
https://github.com/mrdoob/three.js/wiki/Migration-Guide#185--186 https://github.com/mrdoob/three.js/milestone/99?closed=1
- Global
- Add linting for tsl/. [#34488] (@ycw)
- Clean up. [#34499] (@Mugen87)
- AnimationObjectGroup
- Fix stale index bookkeeping in uncache() and unsubscribe_(). [#34035] (@sean-kim05, @Mugen87)
- Backend
Renderer: AddresetState()function. [#33877] (@pepperoni505, @Mugen87)- Backends
- Don't scale render target viewports by the pixel ratio. [#34333] (@mrdoob, @claude)
- BatchedMesh
- Mark visibility dirty in setGeometryIdAt(). [#34096] (@wrangelvid)
- BezierInterpolant
- Make
interpolate_()more robust. [#33934] (@Mugen87) - Bindings
- Remove cached bind groups in
_destroyBindings(). [#33954] (@Mugen87) - Fix
_destroyBindings(). [#34014] (@Mugen87) - Fix stale storage buffer attributes. [#34388] (@Mugen87)
- BufferGeometry
- Clean up serialization/deserilization. [#34044] (@Mugen87)
- Core
- Fix some
copy()andtoJSON()implementations. [#34083] (@Mugen87) - Don't check against default values in
toJSON(). [#34178] (@Mugen87) - Initialize render targets with valid dimensions. [#34380] (@204a, @Mugen87)
- Frustum
- Improve docs. [#34093] (@Mugen87)
- Geometries
- Delete the disposed geometry's own attributes. [#33939] (@sashankaryal, @Mugen87)
- ImageBitmapLoader
- Fix regression in
load(). [#34151] (@Mugen87) - Avoid mutating loader options. [#34500] (@cuishuang, @Mugen87)
- KeyframeTrack
- Serialize/deserialize tangent data. [#34400] (@Mugen87)
- Material
- Add serialization/deserialization support for clipping planes. [#34084] (@Mugen87)
- MathUtils
- Fix large isPowerOfTwo values. [#34459] (@lprnmns, @Mugen87)
- MeshPhysicalMaterial
- Add support for retroreflectivity. [#33949] (@bhouston)
- Fix diffuse Fresnel blend for
retroreflective. [#34057] (@Mugen87) - Object3D
- Add
intersectsFrustum(). [#34065] (@Mugen87) - Add
dispose(). [#34141] (@Mugen87) - PMREMGenerator
- Replace separable blur with spiral blur on both renderers. [#32367] (@mrdoob, @claude)
- QuadMesh
- Optimize rendering by bypassing MVP transforms. [#33917] (@sunag)
- Ray
- New watertight intersectTriangle(). [#33661] (@Mugen87)
- Handle empty spheres in intersectSphere(). [#34016] (@sean-kim05)
- Renderer
- Don't use MSAA for fullscreen-passes. [#33936] (@Mugen87)
- Fix operator-precedence bug. [#33943] (@Mugen87)
- Fix computation of
_projScreenMatrix. [#33947] (@Mugen87) - Clear inactive render lists. [#33941] (@Mugen87)
- Warn when using removed PCFSoftShadowMap. [1b7d5f] (@mrdoob, @claude)
- Remove remaining PCFSoftShadowMap code. [#33987] (@mrdoob, @claude)
- Clarify PCFSoftShadowMap warning. [4d0de9] (@mrdoob, @claude)
- Use
WeakMapinInfo. [#34045] (@Mugen87) - Simplify
_getFrameBufferTarget(). [#34157] (@Mugen87) - Introduce
dispose()async. [#34364] (@sunag) - Renderers
- honor renderOrder with reversed depth buffer. [#33945] (@LLiJJing, @claude)
- Refactor sort key negate. [#33948] (@Mugen87)
- Optimize multi-scattering energy compensation. [#34046] (@Mugen87)
- Optimize DFG LUT sampling. [#34055] (@Mugen87)
- RenderTarget
- Introduce storage flags for MSAA. [#33974] (@Mugen87)
- RenderTarget3D
- Fix texture setup. [#34117] (@Mugen87)
- Shaders
- Fix multi-scattering energy compensation, remove BRDF_GGX_Multiscatter. [#33983] (@mrdoob, @claude)
- Fix iridescence IBL multiscattering and transposed XYZ_TO_REC709. [#33984] (@mrdoob, @claude)
- Improve energy conservation for diffuse and sheen lighting. [#33985] (@mrdoob, @claude)
- Make comments more explicit. [#34038] (@WestLangley)
- Add environment lighting support for retroreflective materials. [#33995] (@mrdoob, @bhouston, @claude)
- Source
- Reanme to
TextureSource. [#34202] (@Mugen87) - src
- Remove deprecated code. [#33886] (@linbingquan)
- Src
- Improve retroreflection nomenclature. [#34079] (@WestLangley)
- Clean up. [#34161] (@WestLangley)
- Clean up. [#34272] (@WestLangley)
- SunLight
- Clean up. [#34258] (@mrdoob, @claude)
- Reduce cascade count to 2. [52184a] (@mrdoob, @claude)
- TimestampQueryPool
- Clear timestamps Map on query resolution and dispose. [#34243] (@sunag)
- TorusGeometry
- Forward thetaStart and thetaLength in fromJSON(). [#34034] (@sean-kim05, @Mugen87)
- Tour
- Add Playground Projects and Templates. [#34437] (@sunag)
- Vector3
- Clean up comments. [#34037] (@WestLangley)
- WebGLAnimation
- Schedule next frame before the loop callback. [#34448] (@aktanazat, @Mugen87)
- WebGLBackend
- Fix usage of
storeMultisampledDepthBuffer. [#34142] (@Mugen87) - Add support for MinEquation and MaxEquation. [#34146] (@tonybart1337)
- Make clear of default framebuffer more consistent. [#34502] (@WilliamLiu-1997, @Mugen87)
- WebGLOutput
- Match depth texture format to stencil setting. [#34008] (@sawa-zen, @Mugen87)
- Optimize MSAA support. [#34030] (@Mugen87)
- WebGLRenderer
- Fix
clearLayerUpdates()call. [#33989] (@Mugen87) - Tighten multi-scattering check. [#34047] (@Mugen87)
- Fix color texture check for
BatchedMesh. [#34056] (@Mugen87) - Optimize readRenderTargetPixels capability checks. [#34183] (@dli7319, @Mugen87)
- Support Node Materials in
compile(). [#34232] (@Mugen87) - Add SunLight with cascaded shadow maps. [#34221] (@mrdoob, @claude)
- Make GL init more robust. [#34299] (@Mugen87)
- Unbind PIXEL_PACK_BUFFER after async readback. [#34321] (@TheBlek, @cursoragent)
- fix compileAsync() crashing when a tracked material is disposed mid-flight. [#34378] (@kvvasuu, @Mugen87)
- Honor clipping in
compile(). [#34507] (@Mugen87) - WebGLTextures
- Improve max textures warning. [7cab42] (@Mugen87)
- WebGLTextureUtils
- Delete
PIXEL_PACK_BUFFERafter copy. [#34323] (@Mugen87) - WebGPU
- Allow read_write storage buffers and atomic ops in non-compute stages. [#33626] (@SebastianBaltes, @claude)
- WebGPUAttributeUtils
- Fix interleaved buffer handling for integer attributes. [#34098] (@Ryan-G7, @Mugen87)
- WebGPUBackend
- WebGPUBackend - Fix type of _getDefaultRenderPassDescriptor. [#33969] (@cmhhelgeson)
- Check for render bundle/occlusion query combination. [#34286] (@Mugen87)
- compare GPU bind groups by handle in _draw(). [#34276] (@jjmhalew, @Mugen87, @claude)
- WebGPURenderer
- Use
UnfilterableFloatfor NORM16 textures. [#33910] (@Mugen87) - Do not render shadow maps when precompile. [#33924] (@Mugen87)
- Honor resolve flags in WebGPU backend. [#33946] (@Mugen87)
- Fix stale occlusion queries. [#33959] (@Mugen87)
- Make occlusion queries more robust. [#33972] (@Mugen87)
- Add support for
TRANSIENT_ATTACHMENT. [#33977] (@Mugen87) - Add missing
layerUpdatessupport toCompressedArrayTexture. [#33996] (@Mugen87) - Support shared depth texture between multiple passes. [#34042] (@sunag)
- Support dynamic swapping of the lighting system. [#34050] (@sunag)
- Fix XR shadows. [#34088] (@cabanier, @Mugen87)
- Introduce compileComputeAsync(). [#32551] (@RenaudRohlinger)
- Fix native WebGPU XR camera selection. [#34112] (@cabanier)
- Fix
copyTextureToBuffer()3D and array textures when using WebGL. [#34129] (@Mugen87) - Fix transmission during WebXR rendering. [#34114] (@cabanier)
- Enable MSAA for native XR layers. [#34143] (@cabanier)
- Add MSAA support to WebXR WebGPU. [#34120] (@cabanier)
- Support material blend color and alpha. [#34154] (@Mugen87)
- Introduce refresh types for render objects. [#34162] (@Mugen87)
- Add DirectRenderPipeline. [#34166] (@cabanier, @Mugen87, @sunag)
- Fix draw offsets of
BatchedMesh. [#34212] (@Mugen87) - Fix timestamp query limits. [#34236] (@sunag)
- Refresh shared uniform buffers. [#34283] (@cabanier, @Mugen87)
- Make cache key for bind groups more robust. [#34288] (@Mugen87)
- Add clipping + stencil demo. [#34325] (@Mugen87)
- Dispose render objects when the renderer is disposed. [#34327] (@wcandillon, @Mugen87)
- Add missing material properties to state checks. [#34406] (@Mugen87)
- Fix viewport regression with array cameras. [#34424] (@Mugen87)
- Fix integer array texture bindings. [#34422] (@WilliamLiu-1997, @Mugen87)
- Add
packed_4x8_integer_dot_productsupport. [#34451] (@Mugen87) - WebGPUUtils
- Refactor
getTextureSampleData(). [#34121] (@Mugen87) - WebXR
- Restore camera properties at session end. [#34152] (@Mugen87)
Nodes
- Nodes
- Make node buffer binding labels deterministic. [#34069] (@RenaudRohlinger)
- Add
renderer.debug.onNodeBuilderCreatedcallback. [#34068] (@RenaudRohlinger) - Remove top-level side effects for better tree-shaking. [#34332] (@mrdoob, @claude)
- Add
updateBeforeandupdateAftersupport for compute stage. [#34401] (@sunag) - Batch
- Support
positionPrevious. [#34100] (@Mugen87) - BitcountNode
- Fix GLSL Bitcount + add test coverage for BRDF/BSDF, depth, color space, type constructors, and bit operations. [#34350] (@bhouston, @Mugen87)
- ContextNode
- Avoid redundant calls. [#34251] (@sunag)
- DFGLUT
- Mention direct lighting use in headers, fix generator output path. [d60e5b] (@mrdoob, @claude)
- GLSLNodeBuilder
- TSL Bug: Fix bitcast(uint, 'int')'s GLSL polyfill return type. [#34429] (@bhouston)
- TSL Bug: bitcast() fails unnecessary between int and uint vector types. [#34430] (@bhouston, @Mugen87)
- LightsNode
- Introduce
getBuiltinLights. [#33909] (@sunag) - Detect dynamic shadow map size changes. [#34360] (@Mugen87)
- Line2NodeMaterial
- Implement
setupPosition(). [#34005] (@Mugen87, @sunag) - MathNode
- Fix integer
min()/max()on the WebGL backend. [#34018] (@mrcljx, @Mugen87) - TSL Unit Tests - Fix determinant() type inference reporting the matrix's own type instead of float. [#34341] (@bhouston, @Mugen87)
- MathUtils
- TSL Unit Tests - Fix sinc() removable singularity computing a literal 0/0. [#34337] (@bhouston, @Mugen87)
- TSL Unit Tests - Fix gain() JS-ternary-on-a-Node bug and wrong base formula; fix pcurve() NaN exponent. [#34340] (@bhouston, @Mugen87)
- MeshPhysicalNodeMaterial
- Fix specular nodes. [#34164] (@Mugen87)
- ModelNode
- Support
ArrayCamerain highp matrix nodes. [#34384] (@Mugen87) - MRTNode
- Fix blend modes bug in
merge(). [#34248] (@Mugen87) - Allow clear colors per attachment. [#34250] (@Mugen87)
- NodeBuilder
- Check for reserved keywords. [#33871] (@Mugen87)
- NodeFunction
- Filter initial spaces and comments. [#34363] (@sunag)
- NodeManager
- Correctly dispose of background mesh. [#34108] (@Mugen87)
- NodeMaterial
- Improve scene lighting enabled check. [#34052] (@sunag)
- NodeMaterialObserver
- Honor
retroreflectiveand fix updates with nested render calls. [#33992] (@mrdoob, @claude) - Add geometry version check. [#34064] (@Mugen87)
- Fix stale render object cache. [#34076] (@Mugen87)
- Monitor dispose for geometries and textures. [#34287] (@Mugen87)
- Track shadow map sizes. [#34361] (@Mugen87)
- PMREMNode
- Handle unresolved PMREM during setup. [#33881] (@jure)
- ReferenceElementNode
- Move into own file. [#34245] (@Mugen87)
- RotateNode
- TSL Unit Tests - Fix rotate() 3D Euler-angle path rotating in the wrong direction. [#34338] (@bhouston, @Mugen87)
- Add support for Euler Order. [#34348] (@WestLangley)
- RTTNode
- Add
autoUpdate,resolutionScaleand preserve defaulttype. [#34307] (@sunag) - Fix reset and restore renderer state. [#34385] (@sunag)
- Keep the renderer state per instance. [#34508] (@mrdoob, @claude)
- ScreenNode
- Refactor DPR handling. [#34186] (@Mugen87)
- ShadowNode
- Fix
WeakMapusage. [#33964] (@Mugen87) - Move shadow material and render object helpers to base class. [#34312] (@sunag)
- Skinning
- Support bone counts exceeding UBO limit. [#34200] (@Mugen87)
- StorageTextureNode
- Preserve integer store values. [#34423] (@WilliamLiu-1997)
- SubgroupFunctionNode
- TSL Unit Tests: Workgroups, StorageBuffer Atomics, Compute builtins, Barriers and Subgroups. [#34431] (@bhouston)
- TSL Bug: Fix
subgroupAll()/subgroupAny()parameter length. [#34432] (@bhouston) - TSL Bug: Fix subgroup broadcast first param length. [#34433] (@bhouston, @Mugen87)
- TextureNode
- Add
isPlainGather(). [#34119] (@Mugen87) - Refactor
isPlainGather(). [#34201] (@Mugen87) - ToonLightingModel
- Use the view space normal for the gradient irradiance. [#34247] (@lazerg)
- TSL
- Respect texture format when sampling textures. [#33875] (@sunag)
- Make
textureSize()more robust. [#33925] (@Mugen87) - Inline transform of normal and tangent. [#33938] (@WestLangley)
- Do not export
PMREMUtils. [#33986] (@sunag) - Fixing rbmax / rbmin calculation of
getParallaxCorrectNormal(). [#34007] (@Mugen87) - Fix update range clear bug in
Instance. [#34022] (@explodi, @Mugen87) - Support individual
lightingperpass(). [#34051] (@sunag) - Add
OnAfterObjectUpdate(). [#34101] (@Mugen87) - Fix update of previous instance matrix data. [#34107] (@Mugen87)
- Add
batchIndirectIndex. [#34111] (@Mugen87) - Support primitive values in custom
structconstructors. [#34113] (@sunag) - Build CodeNode includes as references. [#34132] (@Ryan-G7, @Mugen87, @sunag)
- Remove export of 'append'. [#34156] (@Methuselah96)
- Add
horizontalRotationoption tobillboarding(). [#34197] (@sunag) - Add
4x8pack/unpack functions. [#34263] (@Mugen87) - Update exports in Three.TSL. [#34310] (@sunag)
- Honor type in
toAttribute(). [#34347] (@Mugen87) - Add TSL GPU unit test coverage for LTC area lights, point light, SH irradiance, equirect/spritesheet UV, and post-processing utils. [#34358] (@bhouston)
- Add warnings to GPGPU Nodes. [#34291] (@cmhhelgeson)
- Add atomic workgroup array support. [#34428] (@WilliamLiu-1997, @bhouston)
- Add missing clamp to
V_Neubelt(). [#34449] (@Mugen87) - UniformArrayNode
- Fix
update()overwrite. [#33962] (@Mugen87) - WGSLNodeBuilder
- TSL Unit Tests - Fix faceForward() WGSL capitalization bug. [#34342] (@bhouston, @Mugen87)
- WGSLNodeFunction
- Add missing WGSL-TSL type entry. [#34099] (@Mugen87)
Addons
- Addons
- Disable depth buffer when possible. [#34043] (@Mugen87)
- Fix typos. [#34105] (@pailhead)
- Gaussian Splat renderer / loader using TSL for WebGPU/WebGL + glTF import. [#33950] (@bhouston, @Mugen87)
- 3DMLoader
- add views, namedViews, and strings to userData. [#34498] (@YCoCg)
- 3MFLoader
- Basic support of Beam Lattice. [#34267] (@Mugen87)
- AST
- TSL & Transpiler: Support parameterless loops (do ... while). [#34209] (@sunag)
- BufferGeometryUtils
- Let
toTrianglesDrawMode()modify geometries in-place. [#33878] (@Mugen87) - avoid vertex hash overflow at zero tolerance. [#34390] (@hamedrabah, @Mugen87)
- CityGenerator
- Improved city example. [#33906] (@mrdoob, @claude)
- CSS2DRenderer
- Support Rotation. [#33474] (@WestLangley)
- FBXLoader
- Support multiple clips in single timeline. [#34167] (@Mugen87)
- Fix missing
userDatacopy. [#34302] (@Mugen87) - Use global
URLinstead ofwindow.URL. [#34328] (@hybridherbst) - FirstPersonControls
- Make keyboard movement world axis aligned. [f88964] (@mrdoob, @claude)
- Restore R/F shortcuts and unify example look speed. [#34485] (@mrdoob)
- GaussianSplatMesh
- Fix sort invalidation for transforms. [#34233] (@gqfx, @Mugen87)
- Add support for per-mesh bounding box, frustum culling. [#34254] (@gkjohnson)
- Inline splat data reads to improve bounding box generation performance. [#34262] (@gkjohnson)
- Pack RGBA8 colors in storage buffers. [#34255] (@gqfx)
- Add support for raycasting. [#34284] (@gkjohnson, @bhouston)
- GaussianSplatPLYLoader
- PLYGaussianSplatLoader -> GaussianSplatPLYLoader. [#34292] (@WestLangley)
- GaussianSplatUtils
- Simplify GaussianSplatUtils via ThreeJS math classes. [#34223] (@bhouston)
- Global
- Remove deprecated code. [#33880] (@Mugen87)
- GLTFExporter
- Cache normal maps. [#33940] (@Mugen87)
- Implement ability to export with a copyright notice. [#34138] (@Mirei3D, @Mugen87)
- GLTFGaussianSplatLoaderExtension
- Optimize Gaussian Splat loading. [#34205] (@bhouston)
- View-dependent Gaussian Splatting via Spherical Harmonics. [#34215] (@bhouston)
- GLTFLoader
- Fix EXT_mesh_gpu_instancing custom instance attributes shared across nodes. [#33927] (@sebgoubier, @Mugen87)
- Skip skinning without skin attributes. [#33988] (@0b5vr, @Mugen87)
- Fix KHR_texture_transform support when rotation is specified. [#34033] (@zeux)
- HTMLMesh
- Improve form controls support. [#34172] (@Mugen87)
- Inspector
- Stop keyboard events from leaking into the app. [069680] (@mrdoob, @claude)
- Add
debounce(). [#33932] (@Mugen87) - resolve bare three imports in TSL graph loader. [#33965] (@bhushan6)
- Fix
TSLGraphEditorraycasting and refactor primary pass retrieval. [#34133] (@sunag) - Use absolute positioning and add alignment configuration. [#34137] (@sunag)
- Add split screen, list grid mode and revisions. [#34140] (@sunag)
- Fix split screen overlay alignment on sub-window canvases. [#34203] (@sunag)
- Add Color Grading extension and improve lifecycle API. [#34216] (@sunag)
- Optimize Timeline tab rendering with virtual scrolling. [#34230] (@sunag)
- Polish split screen divider and select dark theme. [#34318] (@sunag)
- Implement disposal support and improve split screen handling. [#34383] (@sunag)
- Support nonce and CSP compliance. [#34396] (@sunag)
- LightProbeGrid
- Rename to LightProbeGridWebGL. [#33911] (@mrdoob, @claude)
- Add WebGPURenderer version. [#33913] (@mrdoob, @claude)
- Support incremental baking. [#34486] (@mrdoob)
- LightProbeGridWebGL
- Fix SunLight integration. [#34370] (@Mugen87)
- MaterialXLoader
- Materialx upgrade. [#33485] (@bhouston, @cursoragent, @sunag)
- OrbitControls
- Improve
disconnect(). [#34504] (@Mugen87) - PCDLoader
- Fix regex to remove comments. [#34199] (@Virtycle, @Mugen87)
- PLYGaussianSplatLoader
- a dedicated loader for Gaussian splat PLYs. [#34278] (@bhouston)
- Rename
- GaussianSplatMesh -> GaussianSplat. [#34306] (@WestLangley)
- Rhino3dmLoader
- performance, PBR materials, editor import. [#34180] (@fraguada)
- SimplifyModifier
- Refactor implementation. [#34021] (@Mugen87)
- Sky
- Sky, SkyMesh: More realistic clouds. [#33942] (@mrdoob, @claude)
- Fix FP16 overflow. [#34058] (@Mugen87)
- Sky, SkyMesh: Slow down default cloud speed. [046797] (@mrdoob, @claude)
- Sky/SkyMesh
- Remove
upuniform. [#34354] (@Mugen87) - SkyscraperGenerator
- Cheaper weathering noise. [#33900] (@mrdoob, @claude)
- SPZLoader
- add support for SPZ version 4 in SPZLoader and add new SPZ v4 example. [#34222] (@bhouston)
- SunLight
- Move to addons. [#34326] (@mrdoob, @claude)
- TrackballControls
- Avoid updating
_movePrevtoo often. [#34173] (@Mugen87) - Implemented multi-touch rotate. [#34249] (@surdu, @Mugen87)
- Transpiler
- Add GLSL preprocessor directives and macro support. [#34206] (@sunag)
- Add
arraysupport. [#34208] (@sunag) - TubePainter
- Properly transform normals. [#34061] (@WestLangley)
- UnrealBloomPass
- Don't request depth buffer. [#34036] (@Mugen87)
- Merge adjacent taps into bilinear fetches. [#34479] (@mrdoob, @claude)
- USDLoader
- Resolve connected attribute values. [#34309] (@cabanier)
- VolumeSlice
- Move property declarations. [#34130] (@Mugen87)
- WebGLXRFallback
- Detect WebGPU XR support upfront. [#34080] (@cabanier)
- WebGPURenderer
- Add SunLight support. [#34259] (@mrdoob, @claude)
- XRControllerModelFactory
- Fix profile hot-swap. [#34266] (@Mugen87)
Addons / Nodes
- TSL
- Add
softParticles(). [#33887] (@Mugen87) - Support primitive values in
array(). [#33929] (@sunag) - Introduce
OnBeforeRenderPipelineandOnAfterRenderPipelineand update context directly on material. [#34025] (@sunag) - Fix angle bug in
hashBlur(). [#34077] (@Mugen87) - Pass
stepSizetoRaymarchingBoxcallback. [#34257] (@sunag) - Addons
- Add
TAAUtilsfor shared functions. [#34458] (@Mugen87) - BloomNode
- Add faster blur strategy. [#33923] (@Mugen87)
- ClusteredLightsNode
- Add
dispose(), optimizecreate(). [#34375] (@204a, @Mugen87) - CSMShadowNode
- Fix frame-late bug. [#34213] (@Mugen87)
- DenoiseNode
- Dispose internal noise texture. [#34418] (@204a)
- DepthOfFieldNode
- Fix render target leak on repeated setup. [#34188] (@cl0nazepamm, @Mugen87)
- DotScreenNode/RGBShiftNode
- Make ctor more flexible. [#34417] (@Mugen87)
- DualKawaseBloomNode
- Added DualKawaseBloomNode. [#33920] (@mrdoob, @claude)
- Remove DualKawaseBloomNode. [#33979] (@mrdoob, @claude)
- GTAONode
- Add Quadratic ray stepping, smooth sphere falloff. [#33895] (@Mugen87)
- Improve code example. [#33902] (@Mugen87)
- Clip-space ray marching and loop micro-optimizations. [#33903] (@mrdoob, @Mugen87, @claude)
- Fix banding issue. [#33919] (@marcofugaro, @Mugen87)
- Optimize code. [#33930] (@Mugen87)
- Bake sample count into the shader. [#33931] (@Mugen87)
- Dispose internal noise texture. [#34369] (@204a, @Mugen87)
- Nodes
- More consistent
dispose()usage. [#34419] (@Mugen87) - OITPassNode
- Add node for Order Independent Transparency. [#34253] (@Mugen87)
- Improve MSAA support. [#34274] (@Mugen87)
- PassNode
- Fix pixel ratio in derived passes. [#34453] (@Mugen87)
- SMAANode
- Fix and simplification. [#34031] (@sunag)
- SSAAPassNode
- Use single-sample render targets. [#34367] (@204a, @Mugen87)
- SSAONode
- Add
SSAONodeanddepthAwareBlur. [#33921] (@mrdoob, @claude) - SSRNode
- Clean up. [#34377] (@Mugen87)
- VXGINode
- Voxel Cone Tracing for Diffuse GI. [#34402] (@Mugen87)
- WebGLNodesHandler
- Reuse collected lights and preparation data. [#34219] (@hybridherbst)
- Fix error with
getCanvasTargetin WebGLRenderer. [#34303] (@hybridherbst) - WoodNodeMaterial
- Specialize single-octave noise. [#33970] (@mrdoob, @claude)
Docs
- Fix heading typo in CONTRIBUTING.md. [6cac81] (@mrdoob)
- Improve descriptions. [#34027] (@Mugen87)
- Resolve reamining TODOs. [#34029] (@Mugen87)
- Matrix4: Improve inline documentation. [#34067] (@WestLangley)
- Fix typos and a wrong parameter name in JSDoc comments. [#34169] (@xdroberto)
- fix broken TSL anchor links for roughnessNode and metalnessNode. [#34170] (@latent-9)
- Drop JSDoc params the functions no longer take. [#34226] (@darkdi)
- Drop three more JSDoc params in WGSLNodeBuilder. [#34237] (@darkdi)
- Fix usage of
@classtag. [#34244] (@Mugen87) - Fix broken cross-links to texture utils pages. [#34271] (@FirmaSpring)
- Improve
BundleGroup. [#34305] (@Mugen87) - Tour of TSL. [#34085] (@sunag)
- IndexNode - Update JSDoc. [#34413] (@cmhhelgeson, @Mugen87)
- LoopNode - Update JSDoc. [#34415] (@cmhhelgeson, @Mugen87)
Manual
- Remove
i18n. [#33997] (@Mugen87) - Add Addons section anchor. [#34017] (@zackabrah)
- Add anchors to headings. [#34020] (@zackabrah)
- Slowed down colourshift effect in scenegraph tutorial. [#34048] (@chesterblack)
Examples
- Improve performance of clustered lights demo. [#33901] (@Mugen87)
- webgl_postprocessing_pixel: Snap Objects to Pixel Grid. [#33908] (@zalo, @claude)
- Add SSAO blur toggle in webgpu_postprocessing_ao. [70820b] (@mrdoob, @claude)
- Optimise PNGs across the repo. [#33882] (@Chubercik)
- Skip TRAA for SSAO in webgpu_postprocessing_ao. [84569e] (@mrdoob, @claude)
- Use FXAA in clustered light demo. [#33935] (@Mugen87)
- Removed (wip) from webgpu. [d51eb0] (@mrdoob)
- Clean up. [#33981] (@WestLangley)
- Clean up. [#33994] (@Mugen87)
- Refresh external links in /examples. [#34001] (@bhouston)
- Clean up. [#34010] (@Mugen87)
- Properly transform normal vectors. [#34015] (@WestLangley)
- Clean up. [#34026] (@Mugen87)
- More clean up. [#34028] (@Mugen87)
- Properly transform normal. [#34039] (@WestLangley)
- Add
webgpu_deferredexample. [#34049] (@sunag) - Optimize backdrop water demo. [#34086] (@Mugen87)
- Refined the
webgl_volume_perlinwith bisection based refinement. [#34090] (@mmmovania, @Mugen87) - Refined the
webgpu_volume_perlinwith bisection based refinement. [#34094] (@mmmovania, @Mugen87) - Update webgl_volume_perlin.html. [be6469] (@Mugen87)
- Eliminate branch divergence in volume refinement loops. [#34097] (@WestLangley)
- Clean up. [#34148] (@Mugen87)
- Clean up. [#34185] (@Mugen87)
- Change preset in backdrop area. [#34195] (@Mugen87)
- Make example links clickable in title & info. [#34207] (@bhouston, @Mugen87)
- Make material arrays demo more interesting. [#34220] (@Mugen87)
- Optimize rain demo. [#34229] (@Mugen87)
- Replace sun-like DirectionalLights with SunLight. [#34228] (@mrdoob, @claude)
- Clean up. [#34273] (@WestLangley)
- Update tags.json. [04008d] (@Mugen87)
- Rename Gaussian Splat Example. [#34293] (@WestLangley, @Mugen87)
- Update webgl_lightprobes_sponza screenshot for two sun cascades. [5c8118] (@mrdoob, @claude)
- Add post-processing volumetric fog example. [#34319] (@sunag)
- Remove
ecsy. [#34359] (@Mugen87) - Clean up. [#34408] (@Mugen87)
- Update tags. [#34411] (@Mugen87)
- Optimize glTF asset. [#34435] (@Mugen87)
- Optimize glTF asset. [#34436] (@Mugen87)
- Improve tags. [#34472] (@Mugen87)
- Clean up tags. [#34473] (@Mugen87)
- Add Sculptor addon. [#33164] (@mrdoob, @claude)
- Improve fog scattering trees and performance. [#34491] (@mrdoob)
- Refine custom fog terrain and resource handling. [511de1] (@mrdoob)
- Update custom fog screenshot. [e0119d] (@mrdoob)
- Use SunLight in WebGPU examples. [#34476] (@mrdoob, @claude)
- Improve webgpu_materials_retroreflective. [#33990] (@mrdoob, @claude)
Devtools
- Clean up, light count and 1.17. [#34387] (@mrdoob, @claude)
- Object details, box highlight and 1.18. [#34399] (@mrdoob, @claude)
Editor
- Don't use picker object with skeletons. [#34062] (@Mugen87)
- Fix animation selection. [#34322] (@Mugen87)
- Add group selection. [#34144] (@Mugen87)
Tests
- Try to fix the webgpu async timeouts. [#34225] (@pailhead, @claude)
- GPU-native unit tests for TSL. [#34331] (@bhouston)
- fix lint error. [#34345] (@linbingquan)
- Update screenshots. [#34346] (@Mugen87)
- Add TSL GPU unit test coverage for math, packing, conversion, vector/matrix, logic/bitwise, color, tone mapping, and procedural helpers. [#34349] (@bhouston, @Mugen87)
- Unit tests: import unbuilt source instead of build/ output. [#34362] (@bhouston)
- Remove empty QUnit.module scaffolding. [#34409] (@samuel7james)
- TSL Tests: Give each GPU unit test kernel its own random canary value. [#34427] (@bhouston)
- Stabilize input and video screenshots. [#34474] (@mrdoob)
Utils
- Dev: Improve
preview.js. [#34407] (@Mugen87) - Support branches in changelog.js. [f64ed0] (@mrdoob, @claude)
- Improve changelog.js. [16e1f0] (@mrdoob, @claude)
- Rename Tour of TSL to TSL Guide. [#34457] (@mrdoob, @claude)
- Update TSL links in llms build. [c4ffe0] (@mrdoob, @claude)
Build
- Deprecate CommonJS build. [#33891] (@mrdoob, @claude)
- Remove minified builds. [#33893] (@mrdoob, @claude)
CI
- Comment on PRs with E2E screenshot failures. [#33971] (@mrdoob, @claude)
- Add Core to bundle size report. [#34330] (@mrdoob, @claude)
- fix grammar. [#34482] (@linbingquan, @Mugen87)