Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
ef1a438
Nodes: Fix PMREM cache. (#32941)
Mugen87 Feb 3, 2026
c3ea0f9
HalftoneShader: Add diamond shape option. (#32942)
NateWr Feb 3, 2026
129c238
TSL: Remove ScriptableNodeResources export (#32945)
Methuselah96 Feb 3, 2026
b1430df
Anaglyph: Rename `screenDistance` to `planeDistance`. (#32943)
Mugen87 Feb 3, 2026
1f2fea7
Fix typo in FileLoader JSDoc: hhttps → https (#32946)
glowsenior Feb 3, 2026
04961be
WebGPURenderer: Improve checks for uniform buffer limits (#32949)
sunag Feb 4, 2026
65f616d
ObjectLoader.loadAsync: wrap JSON.parse in try/catch for consistent e…
glowsenior Feb 4, 2026
e226c91
BatchedMesh: Add support for wireframe materials (#32948)
gkjohnson Feb 4, 2026
4f28c50
WebGPURenderer: Fix wireframe rendering for `BatchedMesh`. (#32955)
Mugen87 Feb 4, 2026
08ee34e
TSL: Improve `retroPass` and example (#32954)
sunag Feb 4, 2026
4f40b0a
TextureNode: Use `compareNode` for Android if `compareStepNode` is no…
sunag Feb 4, 2026
de77d57
Examples: Add Volumetric Lighting using TRAA (#32953)
sunag Feb 4, 2026
59335f4
TSL: Cache `camera*` uniform nodes (#32938)
sunag Feb 4, 2026
65697e0
Editor: Cleanup (#32965)
linbingquan Feb 5, 2026
0ad0c00
LineMaterial: Set needsupdate when changing worldUnits property (#32952)
dsafa Feb 5, 2026
34c4e01
Updated builds.
mrdoob Feb 5, 2026
585b578
USDLoader: Apply UsdUVTexture scale to material colors
mrdoob Feb 6, 2026
8d547cd
Utils: Fix loading of sites without .html extension. (#32970)
Mugen87 Feb 8, 2026
55358d6
TSL: Fix `instancedArray()` `bufferCount` property (#32977)
sunag Feb 8, 2026
b5d54cf
WebGPURenderer: Improve `compatibilityMode` support for MRT (#32973)
sunag Feb 8, 2026
4d8b7f3
Update github/codeql-action digest to 45cbd0c (#32975)
renovate[bot] Feb 8, 2026
30839d2
Update actions/checkout digest to de0fac2 (#32974)
renovate[bot] Feb 8, 2026
3474fc0
Examples: Update `webgpu_parallax_uv`, and `webgpu_cubemap_adjustment…
sunag Feb 8, 2026
cccb4db
Examples: Scroll sidebar to selected example (#32980)
sunag Feb 8, 2026
8ff53ef
Update devDependencies (non-major) (#32978)
renovate[bot] Feb 9, 2026
3ebd629
Editor: Add Animation panel. (#32869)
mrdoob Feb 9, 2026
0ac5092
SSRNode: Add distance-aware blur for roughness. (#32834)
mrdoob Feb 9, 2026
cc218ef
GLTFExporter/GLTFLoader: Add Object3D.pivot support. (#32774)
mrdoob Feb 9, 2026
b6d40ae
Added llms.txt, llms-full.txt and llms/build.js script. (#32673)
mrdoob Feb 9, 2026
f45d6f9
build-llms: Clean up stale .md files before generating new ones.
mrdoob Feb 9, 2026
ed98cc4
build-docs: Clean up stale .html files before generating new ones.
mrdoob Feb 9, 2026
4afd908
Updated docs.
mrdoob Feb 9, 2026
950578f
Fix typo and link in Installation manual (#32972)
pavan-sh Feb 9, 2026
1547577
WebGPURenderer: Add basic reversed depth buffer support. (#32967)
Mugen87 Feb 9, 2026
53ae84b
Core: Add `ReversedDepthFuncs` dictionary. (#32983)
Mugen87 Feb 9, 2026
90cf9e8
OrbitControls: Add `cursorStyle` property. (#32981)
Mugen87 Feb 10, 2026
8777a4a
Updated docs.
mrdoob Feb 10, 2026
2cc37c2
Scripts: Improve changelog.js.
mrdoob Feb 10, 2026
461515f
RenderTarget: minor formatting (#32988)
epreston Feb 10, 2026
97244a7
WGSLNodeBuilder: Fix array texture layer support for filtered samplin…
RenaudRohlinger Feb 10, 2026
7936309
WebGPURenderer: Add shared `BindGroup` via hash (#32936)
sunag Feb 11, 2026
13624b0
NodeBuilder: Fix update nodes sequence (#32991)
sunag Feb 11, 2026
bf1f8a8
Updated builds.
sunag Feb 11, 2026
0e11ca8
SSRNode: Use squared roughness for blur LOD and simplify pointPlaneDi…
mrdoob Feb 11, 2026
e41978b
Examples: Clean up. (#32994)
Mugen87 Feb 11, 2026
6e6b02c
Cache: Don't cache Blobs. (#32989)
Mugen87 Feb 11, 2026
92d45c7
utils : update probeAsync jsdoc (#32995)
epreston Feb 11, 2026
f579efc
WebGPURenderer: Use all visibility for shared BindingGroup. (#32997)
sunag Feb 12, 2026
acf55ac
WebGPURenderer: Minor improvements for shared BindingGroup. (#32998)
sunag Feb 13, 2026
d55227b
docs(zh): translate "Getting Started" manual pages into Chinese (#32996)
DDDDD12138 Feb 13, 2026
0223753
WebGPURenderer: Reversed depth buffer fixes. (#33000)
Mugen87 Feb 13, 2026
8efd540
ViewportDepthNode: Support reversed depth in viewZ functions. (#33001)
Mugen87 Feb 13, 2026
e075535
WebGPURenderer: Fix stencilBack not matching stencilFront in pipeline…
jpt Feb 14, 2026
9f3d53c
Updated builds.
Mugen87 Feb 14, 2026
fda1a4b
Update devDependencies (non-major) (#33007)
renovate[bot] Feb 15, 2026
8669014
Update github/codeql-action digest to 9e907b5 (#33006)
renovate[bot] Feb 15, 2026
6054daa
GLSLNodeBuilder: Fix array texture layer support for filtered samplin…
RenaudRohlinger Feb 16, 2026
1115e2a
Manual: Add Physics page. (#33004)
Mugen87 Feb 16, 2026
b1e12f4
WebGLRenderer: Only clear when bit mask is set. (#33010)
Philipp-M Feb 16, 2026
132fc45
Replace the template literal with string concat in the manual for lig…
v-stamenova Feb 16, 2026
f629c33
WebGPURenderer: Remove outdated bind groups. (#33011)
Mugen87 Feb 17, 2026
5bb15cf
Nodes: Removing unnecessary `nodesObject` (#33014)
sunag Feb 17, 2026
a6cf7d5
Examples: Improve birds compute demo. (#33016)
Mugen87 Feb 17, 2026
8863cdb
Scripts: Improve changelog.js.
mrdoob Feb 18, 2026
49e659a
Updated builds.
mrdoob Feb 18, 2026
5bc7b98
Updated docs.
mrdoob Feb 18, 2026
e8fe819
r183
mrdoob Feb 18, 2026
023e967
Inspector: Fix compatibility with `WebGLBackend` if used as a fallbac…
sunag Feb 18, 2026
8e5dc00
Examples: Fix sidebar scrolling to selected example (#33023)
sunag Feb 19, 2026
b9d566a
NodeMaterialObserver: Fix typo. (#33024)
Mugen87 Feb 19, 2026
83d7b8c
docs(zh): fill missing manual pages (#33021)
DDDDD12138 Feb 19, 2026
5d313ef
AudioListener: Remove reference to `Clock`. (#33026)
Mugen87 Feb 19, 2026
f4f07b2
Editor: fallback viewport camera to default camera
mrdoob Feb 20, 2026
022c006
WebGPURenderer: Fix binding update after dispose a `StorageTexture` (…
sunag Feb 20, 2026
d76b5d0
WGSLNodeBuilder: Introduce `generateStorageTextureLoad` (#33029)
sunag Feb 20, 2026
608f757
USDLoader: Fix skin binding fallback when geomBindTransform is missing
mrdoob Feb 20, 2026
ee01f32
USDLoader: Align USDZ root-layer handling with core spec
mrdoob Feb 20, 2026
80587e8
USDLoader: simplify asset parsing and avoid redundant work
mrdoob Feb 20, 2026
1347d57
Updated docs.
mrdoob Feb 20, 2026
2072497
Updated builds.
mrdoob Feb 20, 2026
33b6ce0
r183 (bis)
mrdoob Feb 20, 2026
ac88a8c
AnimationAction: Preserve interpolant settings on action creation. (#…
gigajuad Feb 20, 2026
29c9a7a
GLTFLoader: Fix morph target parsing. (#33020)
Mugen87 Feb 20, 2026
430111e
Fixes typos in RenderPipeline related docs (#33034)
jwheare Feb 20, 2026
c4965f0
WebGPURenderer: Make `compileAsync()` truly non-blocking (#32984)
RenaudRohlinger Feb 21, 2026
9a141d0
USDCParser: handle empty array payload and validate offsets
mrdoob Feb 21, 2026
db5f5e5
USDComposer: recurse mesh children and skip GeomSubset nodes
mrdoob Feb 21, 2026
5213386
Editor: add deterministic dropped-file finder for URL resolution
mrdoob Feb 21, 2026
7f89d9b
USDComposer: avoid global displayOpacity on subset materials
mrdoob Feb 21, 2026
8d9c591
USDComposer: add Camera prim parsing
mrdoob Feb 21, 2026
5f6753b
AnimationAction: Fix `timeScale` reversal jump. (#33035)
Mugen87 Feb 21, 2026
8356932
WebGLRenderer: Use working color space for render targets. (#33036)
Mugen87 Feb 21, 2026
e26ff19
Examples: Add sky to scene. (#33037)
Mugen87 Feb 21, 2026
9dac30f
Update github/codeql-action digest to 89a39a4 (#33045)
renovate[bot] Feb 22, 2026
e9461b6
Update devDependencies (non-major) (#33046)
renovate[bot] Feb 22, 2026
1178b24
WebGPURenderer: Fix texture compare fallback for shadows. (#33050)
Mugen87 Feb 23, 2026
8ed138e
Update revision.
Mugen87 Feb 23, 2026
0390210
Updated builds.
Mugen87 Feb 23, 2026
e544877
Sky: Make sun disc optional. (#33031)
jwheare Feb 23, 2026
d14d3ec
InstancedMesh: add consistent return values to functions (#33059)
gkjohnson Feb 24, 2026
2b5ba4f
Examples: Fix colors in webgpu_custom_fog (#33057)
Methuselah96 Feb 24, 2026
2e3cf39
TSL: Fix billboarding examples in TSL.md (#33056)
jwheare Feb 24, 2026
e61ab90
Examples: Fix floor threshold in `games_fps`. (#33053)
Mugen87 Feb 24, 2026
aa06320
Add support for packed normal maps in WebGL backend. (#33055)
castano Feb 25, 2026
3ca54b0
WebGLRenderer: Fix feedback loop regression. (#33063)
Mugen87 Feb 25, 2026
31658a0
Bump basic-ftp from 5.1.0 to 5.2.0 (#33065)
dependabot[bot] Feb 26, 2026
20a6a89
Using the correct class type for JSDoc NodeManager (#33067)
PoseidonEnergy Feb 26, 2026
7f8a216
Simpler bool check in Triangle.isFrontFacing() (#33071)
PoseidonEnergy Feb 26, 2026
5c7d238
CubeRenderTarget: Restore `generateMipmaps` correctly. (#33069)
PoseidonEnergy Feb 26, 2026
7e290dd
WebGPURenderer: Honor layerUpdates for array textures (#33072)
ahaensler Feb 26, 2026
b86ec64
Fixed warning message in WebGLTimestampQueryPool (#33068)
PoseidonEnergy Feb 26, 2026
d8cf11e
MaterialLoader: Simplified bool check. (#33066)
PoseidonEnergy Feb 26, 2026
f274d6a
Inspector: Use fixed mini-panel (#33070)
sunag Feb 26, 2026
b632690
Inspector: Introduce `forceWebGL` (#33074)
sunag Feb 26, 2026
c99b4a4
Updated builds.
sunag Feb 26, 2026
8be7683
USDLoader: Fix flat shading on meshes without normals. (#33081)
mrdoob Feb 27, 2026
4cc5a1c
USDLoader: Add support for geometric primitives (Cube, Sphere, Cylind…
mrdoob Feb 27, 2026
3fb1d05
InstancedMesh, BatchedMesh: Fix getColorAt throwing an error when col…
gkjohnson Feb 27, 2026
bc733cd
WebGPUTextureUtils: Fix check `layerUpdates` property (#33075)
sunag Feb 27, 2026
cc6932e
WebGLTextures: Prevent flipping image bitmaps. (#33073)
Mugen87 Feb 27, 2026
f1bf335
USDLoader: Add support for MaterialX UsdPreviewSurface materials. (#3…
mrdoob Feb 27, 2026
30a9b5c
USDLoader: Add metersPerUnit support. (#33084)
mrdoob Feb 27, 2026
8a78546
WebGPURenderer: Improve compatibility test for reversed depth buffer.…
Mugen87 Feb 27, 2026
d3a9f72
Inspector: Introduce `Timeline` ( Commands Recorder ) (#33078)
sunag Feb 27, 2026
2eec459
USDLoader: Fix skeleton skinning distortion. (#33085)
mrdoob Feb 27, 2026
f443051
Renderer: Make `hasCompatibility()` more predictable. (#33087)
Mugen87 Feb 27, 2026
eea1e2d
Bump minimatch from 3.1.2 to 3.1.5 (#33090)
dependabot[bot] Feb 28, 2026
f22c30e
update webgl_watch demo (#33089)
lo-th Feb 28, 2026
ffb3ef5
TSL: Fix array texture with no `.depth()` defined breaks shader compi…
sunag Mar 1, 2026
7bbb584
WebGPURenderer: Make device capabilities handling more consistent. (#…
Mugen87 Mar 1, 2026
ea6e975
SkinnedMesh: Update "applyBoneTransform" to optionally take Vector4, …
gkjohnson Mar 1, 2026
f122d43
Inspector: Add Memory tab and improve `Renderer.info` (#33097)
sunag Mar 1, 2026
0f11828
Update actions/upload-artifact action to v7 (#33102)
renovate[bot] Mar 1, 2026
4c99678
Update devDependencies (non-major) (#33101)
renovate[bot] Mar 1, 2026
bd1baec
Update dependency eslint-plugin-compat to v7 (#33103)
renovate[bot] Mar 1, 2026
91117d0
WebGPURenderer: Fixes framebuffer caching with multiple references of…
arodic Mar 2, 2026
38331a2
WebGPURenderer: Add individual dispose for `CanvasTarget` caching (#3…
sunag Mar 2, 2026
b22ed15
WebGLRenderer: Fix envMap and background rotation (#33077)
WestLangley Mar 2, 2026
8886ab6
Update MeshToonMaterial.js
Mugen87 Mar 2, 2026
fd1bddf
WebGPURenderer: Remove inline functions in rendering methods. (#33108)
PoseidonEnergy Mar 3, 2026
b7fa531
Updated builds.
sunag Mar 3, 2026
0534c39
OutlineNode: Support sprites. (#33112)
Mugen87 Mar 3, 2026
051fbfd
NodeMaterialObserver: Avoid usage of `Object.keys()`. (#33113)
Mugen87 Mar 3, 2026
320e432
Editor: Improve animation panel. (#33110)
Mugen87 Mar 3, 2026
0faeeaf
TSL: Improves compilation performance by 3.0x (#33120)
sunag Mar 5, 2026
9dcea42
WebGPURenderer: Use node events to update the binding groups (#33047)
sunag Mar 5, 2026
2984131
Inspector: Add `Capture Stack Trace` for `Settings` (#33122)
sunag Mar 5, 2026
a158b85
USDComposer: Add light support.
mrdoob Mar 5, 2026
54001d8
Manual: Translate manual/zh/game.html to Chinese (#33123)
DDDDD12138 Mar 5, 2026
2655fa0
WebXRController: Add grip update event if enabled. (#33118)
danrossi Mar 5, 2026
192c265
GLTFExporter: Add `EXT_texture_webp` support. (#33117)
BorisKourt Mar 5, 2026
d05aedd
Updated builds.
Mugen87 Mar 5, 2026
0106771
Update GLTFExporter.js
Mugen87 Mar 5, 2026
23816cb
Update GLTFLoader.js
Mugen87 Mar 5, 2026
4c1fe47
SSGINode: Remove dead code
mrdoob Mar 2, 2026
9657ec4
TSL: Improve `dispose()` of some FX addons. (#33126)
Mugen87 Mar 6, 2026
2882df3
FirstPersonControls: Update interaction model. (#33124)
mrdoob Mar 6, 2026
f5d4b94
FirstPersonControls: Fix deprecated handleResize() message.
mrdoob Mar 6, 2026
456f169
Update @rollup/plugin-terser to 1.0.0.
mrdoob Mar 6, 2026
02c84b4
Texture: Remove default setter parameter. (#33129)
PoseidonEnergy Mar 7, 2026
d03d548
Fix typo in Texture.js (#33130)
PoseidonEnergy Mar 7, 2026
2014dd0
Source: Fix `getSize()` for `VideoFrame`. (#33131)
PoseidonEnergy Mar 7, 2026
c2adffe
WebGPURenderer: Fix WebXR sampling array-texture (#33132)
sunag Mar 7, 2026
8bc275b
Updated builds.
Mugen87 Mar 7, 2026
d81a44d
Shaders: Clean up (#33133)
WestLangley Mar 8, 2026
0764f40
Update actions/setup-node digest to 53b8394 (#33135)
renovate[bot] Mar 8, 2026
e33988b
Update github/codeql-action digest to 0d579ff (#33136)
renovate[bot] Mar 8, 2026
63ddf2b
Update devDependencies (non-major) (#33139)
renovate[bot] Mar 9, 2026
d6014c3
Dev: Fix vulnerabilities. (#33141)
Mugen87 Mar 9, 2026
24cbbb7
Controls reset touch-action to empty string instead of 'auto' (#33144)
Kodub Mar 9, 2026
ec9dc3f
ColladaLoader: Add suport for `polygons` primitive. (#33143)
Mugen87 Mar 10, 2026
6173b5a
GLTFLoader: Handle zero `ior` edge case. (#33119)
Mugen87 Mar 11, 2026
3ad2c78
Update ESLint to ECMA 2022. (#33128)
PoseidonEnergy Mar 11, 2026
91aff1f
DataTextureLoader: Fix log regression. (#33148)
Mugen87 Mar 11, 2026
bf65eaf
WebGPURenderer: Introduce Dynamic Lights (#33042)
RenaudRohlinger Mar 12, 2026
4fad923
Math: Make use of Static initialization blocks. (#33140)
PoseidonEnergy Mar 12, 2026
2e69815
WebGLRenderer: Fix active texture setting in `copyTextureToTexture()`…
geekuillaume Mar 12, 2026
417b784
WebGPURenderer: Simplification of the frame buffer cache for WebXR la…
sunag Mar 12, 2026
cb4a7eb
Inspector: Added string type support to parameters (#33156)
sunag Mar 12, 2026
79af681
Renderers: Make animation modules more robust. (#33159)
Mugen87 Mar 12, 2026
1e7e3cf
NodeManager: Make `delete()` more robust. (#33160)
Mugen87 Mar 12, 2026
9354e33
WebGPURenderer: Support unfilterable float32 StorageTextures (#33155)
sunag Mar 12, 2026
eafc335
GodraysNode: Simplify shadow coord computation. (#33162)
Mugen87 Mar 12, 2026
3a0e75b
Examples: Rename webxr_xr_sculpt to webxr_xr_marchingcubes.
mrdoob Mar 13, 2026
7b64502
Object3D: Correctly copy `pivot`. (#33163)
PoseidonEnergy Mar 13, 2026
75ec9d4
TransformControls: Allow visibility control of plane gizmos. (#33170)
Mugen87 Mar 13, 2026
b431608
WebGLRenderer: Add NodeMaterial compatibility layer (#32851)
gkjohnson Mar 14, 2026
adfb24b
TSL: Fix two issues in `StorageTextureNode` (#33167)
PoseidonEnergy Mar 14, 2026
d2dd6dc
Inspector: Introduce TSL Graph Addons (#33165)
sunag Mar 14, 2026
2d9a07b
Updated builds.
sunag Mar 14, 2026
a8ff0ae
Examples: Improve `MapControls` demo. (#33171)
Mugen87 Mar 14, 2026
374209b
Hdr loader header parse fix (#33174)
stack1ng Mar 14, 2026
740fba9
WebGLRenderer: Improve reverse depth buffer logging. (#33176)
Mugen87 Mar 14, 2026
39bdb9b
Update devDependencies (non-major) (#33183)
renovate[bot] Mar 15, 2026
2bc2bd8
RenderPipeline: Fix sync with `renderer.outputColorSpace` and `render…
sunag Mar 16, 2026
559deba
WebGPUBackend: Reuse clear color instance. (#33189)
Mugen87 Mar 16, 2026
9b054a2
WebGPU `reversedDepthBuffer`: Use `depth32float` instead of `depth24p…
PoseidonEnergy Mar 16, 2026
0f538a2
Inspector: Add export functionality to Inspector Timeline tab and enh…
Makio64 Mar 16, 2026
ceeebef
WebGPURenderer: Ensure render targets have consistent default depth v…
Mugen87 Mar 17, 2026
a7495fd
NodeMaterialObserver: Speed up material comparisons. (#33198)
Mugen87 Mar 17, 2026
8a86006
NodeMaterialObserver: Speed up geometry comparisons. (#33199)
Mugen87 Mar 17, 2026
1639cfb
Updated builds.
Mugen87 Mar 17, 2026
21ae313
CSMShadowNode: Fix error when disposed multiple times (#33202)
shotamatsuda Mar 18, 2026
bfe332d
PassNode: Fix scissor and viewport setup. (#33204)
Mugen87 Mar 18, 2026
7716cd9
MeshPhysicalMaterial: Fix Anisotropic regression. (#33205)
Mugen87 Mar 18, 2026
8679507
EXRLoader: Support YCbCr and B44/A. (#33212)
Mugen87 Mar 18, 2026
d9e4b81
AudioContext: Improve JSDoc. (#33213)
Mugen87 Mar 18, 2026
1e292ce
Updated builds.
Mugen87 Mar 19, 2026
ca7895c
EXRLoader: Fix channel rule matching. (#33216)
Mugen87 Mar 19, 2026
77e9817
Inspector: Added `Extension` support and revisions (#33200)
sunag Mar 19, 2026
acc8bd1
WebGLRenderer: Save/restore textureUnits on render state stack (#33217)
SSopin Mar 19, 2026
82fa236
WebGPURenderer: Add compute shader bounds check (#33186)
marcofugaro Mar 20, 2026
a25dc36
EXRLoader: Add multi-part and deep scanline support. (#33218)
Mugen87 Mar 20, 2026
f01bb08
Bump flatted from 3.3.3 to 3.4.2 (#33221)
dependabot[bot] Mar 20, 2026
aed29ca
SVGRenderer: Fix performance regression. (#33220)
Mugen87 Mar 21, 2026
4432627
Update devDependencies (non-major) (#33225)
renovate[bot] Mar 22, 2026
c6167f9
Update github/codeql-action digest to 3869755 (#33224)
renovate[bot] Mar 23, 2026
6591d25
Renderers: Cache pixel storage parameters. (#33227)
Mugen87 Mar 23, 2026
4830142
Update NodeManager.js
Mugen87 Mar 23, 2026
207740d
WGSLNodeBuilder: Fix varying indexes (#33229)
sunag Mar 23, 2026
d7798d2
WebGPURenderer: Refactor env map rotation. (#33232)
Mugen87 Mar 24, 2026
6abd1cf
BatchedMesh: Remove deprecated instancing render paths. (#33234)
Mugen87 Mar 24, 2026
1816e94
TSL: add `hyperbolic` math nodes (#33233)
thelazylamaGit Mar 25, 2026
ae1269c
WebGPURenderer: Introduce Quad cache per RendeTarget texture (#33228)
sunag Mar 25, 2026
a567d36
Inspector: Improvements (#33230)
sunag Mar 25, 2026
33feff9
Inspector: Fix `Tab.isActive`
sunag Mar 25, 2026
2f89c1e
Updated builds.
sunag Mar 25, 2026
d31df14
Line2NodeMaterial: Fix clone() losing worldUnits, dashed, and linewid…
cyphercodes Mar 25, 2026
aebac8a
WebGLRenderer: Set depth mask when clearing depth. (#33241)
mlavik1 Mar 25, 2026
fdd1b45
ObjectLoader: Fix log regression. (#33240)
Om-Mishra09 Mar 25, 2026
a14d874
Fix missing return in DataTextureLoader catch block (#33243)
Om-Mishra09 Mar 25, 2026
b9aa9ce
Bump picomatch from 4.0.3 to 4.0.4 (#33247)
dependabot[bot] Mar 26, 2026
3a3ea03
EXRLoader: Put know headers into "skipped" section. (#33248)
Mugen87 Mar 26, 2026
7bc1853
Reflector: Support orthographic cameras. (#33249)
Mugen87 Mar 26, 2026
9796ddd
WebGPURenderer: Implement `WEBGL_multi_draw` fallback. (#33238)
Mugen87 Mar 26, 2026
b4822a4
Reflector: Clean up.
Mugen87 Mar 27, 2026
6118484
Docs: Fix module links in search. (#33255)
Mugen87 Mar 27, 2026
02de89f
TSL: Make global context available within compute nodes (#33231)
shotamatsuda Mar 28, 2026
f0a65ef
GLSLDecoder: Replace deprecated `substr()` with `slice()`. (#33260)
Mridul012 Mar 28, 2026
2389967
SVGLoader: Fix round stroke joins and caps when `arcDivisions = 1` (#…
georgpukk Mar 28, 2026
75c49df
Editor: Add `TextGeometry`. (#33253)
Mugen87 Mar 28, 2026
e09e86d
NodeUtils: Replace `instanceof Array` with `Array.isArray()`. (#33262)
Mridul012 Mar 28, 2026
e584798
WebXR: Added model caching to XRHandModelFactory. (#33252)
NssGourav Mar 28, 2026
112ba9b
Line3: Handle degenerate line in `closestPointToPointParameter()`. (#…
Necro-Rohan Mar 28, 2026
153f630
Docs: Fix typos in TessellateModifier and LineMaterial (#33272)
Jadu07 Mar 28, 2026
806a6fe
refactor(List): replace deprecated substr with slice (#33267)
Mridul012 Mar 28, 2026
065e7ad
CatmullRomCurve3: Geometry corruption on 2-point curves. (#33270)
Necro-Rohan Mar 28, 2026
2baf31e
UniformsGroup: Fix incorrect index in Vector4 dirty check (#33276)
Mridul012 Mar 28, 2026
e348bf7
Bump serialize-javascript from 7.0.4 to 7.0.5 (#33277)
dependabot[bot] Mar 29, 2026
82b371f
Examples: Add SSGI Ball Pool demo. (#33258)
mrdoob Mar 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
76 changes: 76 additions & 0 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at hello@mrdoob.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
95 changes: 73 additions & 22 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,79 @@
# Contribution
## Introduction

# Help
#### The issues section is for bug reports and feature requests only. If you need help, please use the [forum](http://discourse.threejs.org/) or [stackoverflow](http://stackoverflow.com/questions/tagged/three.js).
---
# Bugs
#### Before reporting a bug
It is assumed that you know a little about Node.js and Git. If not, [here's some help to get started with Git](https://help.github.com/en/github/using-git) and [here’s some help to get started with Node.js.](https://nodejs.org/en/docs/guides/getting-started-guide/)

1. Search issue tracker for similar issues.
2. Try the latest dev branch version of three.js.
3. Refer to the [Migration Guide](https://github.com/mrdoob/three.js/wiki/Migration) when upgrading to the dev version.
* Install [Node.js](https://nodejs.org/)
* Install [Git](https://git-scm.com/)
* [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) three.js
* Open your OS’s terminal
* Change into the directory you’d like
* Clone your forked repo

#### How to report a bug
git clone https://github.com/[yourgithubname]/three.js.git

1. Specify the revision number of the three.js library where the bug occurred.
2. Specify your browser version, operating system, and graphics card. (for example, Chrome 23.0.1271.95, Windows 7, Nvidia Quadro 2000M)
3. Describe the problem in detail. Explain what happened, and what you expected would happen.
4. Provide a small test-case (http://jsfiddle.net). [Here is a fiddle](https://jsfiddle.net/3foLr7sn/) you can edit that runs the current version. [And here is a fiddle](https://jsfiddle.net/qgu17w5o/) that uses the dev branch. If a test-case is not possible, provide a link to a live version of your application.
5. If helpful, include a screenshot. Annotate the screenshot for clarity.
* Go into the three.js directory.

---
# Contribution
#### How to contribute to three.js
cd ./three.js

* Install the dependencies

npm ci

## Next Steps

As per the npm standard, ‘start’ is the place to begin the package.

npm start

This script will start a local server similar to [threejs.org](https://threejs.org/), but instead will be hosted on your local machine. Browse to https://localhost:8080/ to check it out. It also automatically creates the `build/three.module.js` script anytime there is a change `src` directory.

Next scripts run all the appropriate testing.

- `npm run test` - Lint testing and unit testing (individually being `npm run lint` and `npm run test-unit`)
- `npm run test-e2e` - E2E testing. This one can take quite a long time and installs ~200 MB Chromium browser - it is primarily intended to be run only by GitHub Actions

The linting is there to keep a consistent code style across all of the code and the testing is there to help catch bugs and check that the code behaves as expected. It is important that neither of these steps comes up with any errors due to your changes.

Most linting errors can be fixed automatically by running

npm run lint-fix

If you’d like to make a build of the source files (e.g. `build/three.module.js`) run:

npm run build

## Making changes

When you’ve decided to make changes, start with the following:

* Update your local repo

git pull https://github.com/mrdoob/three.js.git
git push

* Make a new branch from the dev branch

git checkout dev
git branch [mychangesbranch]
git checkout [mychangesbranch]

* Add your changes to your commit.
* Push the changes to your forked repo.
* Open a Pull Request (PR)

## Important notes:

* Don't include any build files in your commit.
* Not all new features will need a new example. Simpler features could be incorporated into an existing example. Bigger features may be asked to add an example demonstrating the feature.
* Making changes may require changes to the documentation. To update the docs in other languages, simply copy the English to begin with.
* It's good to also add an example and screenshot for it, for showing how it's used and for end-to-end testing.
* If you modify existing code, run relevant examples to check they didn't break and there wasn't performance regress.
* If you add some assets for the examples (models, textures, sounds, etc), make sure they have a proper license allowing for their use here, less restrictive the better. It is unlikely for large assets to be accepted.
* If some issue is relevant to the patch/feature, please mention it with a hash (e.g. #2774) in a commit message to get cross-reference in GitHub.
* If the end-to-end test failed and you are sure that all is correct, follow the instructions it outputs.
* Once done with a patch/feature do not add more commits to a feature branch.
* Create separate branches per patch or feature.
* If you make a PR but it is not actually ready to be pulled into the dev branch then please [convert it to a draft PR](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/changing-the-stage-of-a-pull-request#converting-a-pull-request-to-a-draft).

1. Make sure you have a GitHub account.
2. Fork the repository on GitHub.
3. Check the [Contribution Guidelines](https://github.com/mrdoob/three.js/wiki/How-to-contribute-to-three.js).
4. Make changes to your clone of the repository.
5. Submit a pull request. Don't include build files in the PR.
This project is currently contributed mostly via everyone's spare time. Please keep that in mind as it may take some time for the appropriate feedback to get to you. If you are unsure about adding a new feature, it might be better to ask first to see whether other people think it's a good idea.
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# These are supported funding model platforms

github: [mrdoob, HumanInteractive, donmccurdy, gkjohnson, WestLangley]
39 changes: 0 additions & 39 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

89 changes: 89 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: Bug Report
description: File a reproducible bug or regression.
body:
- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: repro
attributes:
label: Reproduction steps
description: How do you trigger this bug? Please walk us through it step by step.
value: |
1.
2.
3.
validations:
required: true
- type: textarea
id: code
attributes:
label: Code
value: |
```js
// code goes here
```
validations:
required: true
- type: textarea
id: example
attributes:
label: Live example
value: |
* [jsfiddle-latest-release WebGLRenderer](https://jsfiddle.net/3mrkqyea/)
* [jsfiddle-dev WebGLRenderer](https://jsfiddle.net/gcqx26jv/)
* [jsfiddle-latest-release WebGPURenderer](https://jsfiddle.net/mnqr9oj0/)
* [jsfiddle-dev WebGPURenderer](https://jsfiddle.net/xno7bmw0/)
validations:
required: true
- type: textarea
id: screenshots
attributes:
label: Screenshots
description: If applicable, add screenshots to help explain your problem (drag and drop the image).
validations:
required: false
- type: input
id: version
attributes:
label: Version
description: What version of the library are you using?
placeholder: r
validations:
required: true
- type: dropdown
id: device
attributes:
label: Device
multiple: true
options:
- Desktop
- Mobile
- Headset
- type: dropdown
id: browser
attributes:
label: Browser
multiple: true
options:
- Chrome
- Firefox
- Safari
- Edge
- Quest Browser
- type: dropdown
id: os
attributes:
label: OS
multiple: true
options:
- Windows
- MacOS
- Linux
- ChromeOS
- Android
- iOS
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Help and Support
url: https://discourse.threejs.org/
about: Please use the forum if you have questions or need help.
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Feature request
description: Suggest an idea for the project.
body:
- type: textarea
id: description
attributes:
label: Description
description: Is your feature request related to a problem? Please describe.
placeholder: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
validations:
required: true
- type: textarea
id: solution
attributes:
label: Solution
description: Describe the solution you'd like.
placeholder: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives
description: Describe alternatives you've considered.
placeholder: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: true
- type: textarea
id: additional
attributes:
label: Additional context
description: Add any other context about the feature request here.
validations:
required: false
9 changes: 9 additions & 0 deletions .github/codeql-config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
paths-ignore:
- "docs/prettify/**/*.*"
- "editor/js/libs/**/*.*"
- "examples/jsm/libs/**/*.*"
- "examples/jsm/loaders/ifc/**/*.*"
- "build/*.*"
- "manual/3rdparty/**/*.*"
- "utils/docs/template/static/scripts/fuse/**/*.*"
- "utils/docs/template/static/scripts/prettify/**/*.*"
9 changes: 9 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Related issue: #XXXX

**Description**

A clear and concise description of what the problem was and how this pull request solves it.

<!-- Remove the line below if is not relevant -->

*This contribution is funded by [Example](https://example.com)*
23 changes: 23 additions & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"extends": [
"config:base",
":disableDependencyDashboard",
"helpers:pinGitHubActionDigests"
],
"timezone": "Asia/Tokyo",
"schedule": ["after 1am and before 7am every monday"],
"packageRules": [
{
"matchDepTypes": ["devDependencies"],
"matchUpdateTypes": ["patch", "minor", "pin", "digest"],
"groupName": "devDependencies (non-major)",
"automerge": true
},
{
"description": "ESLint v9 requires flat configs, not yet supported by our plugins. See https://github.com/mrdoob/three.js/pull/28354#issuecomment-2106528332",
"matchPackageNames": ["eslint"],
"matchUpdateTypes": ["major"],
"enabled": false
}
]
}
Loading