Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3877 commits
Select commit Hold shift + click to select a range
68c274e
Examples: Add resize event for `physics_rapier_instancing.html` (#31012)
linbingquan Apr 28, 2025
617ed86
Examples: Fix `webgpu_water` GUI (#31014)
sunag Apr 28, 2025
09fcd03
Update github/codeql-action digest to 28deaed (#31010)
renovate[bot] Apr 28, 2025
817c791
FBXLoader: Improve error handling. (#31017)
Mugen87 Apr 28, 2025
8ee79cf
SpotLightShadow: Introduce `aspect` property (#31020)
sunag Apr 28, 2025
03e41ea
Add dev builds to speed up dev iteration (#30865)
ycw Apr 28, 2025
48712b7
TSL: Fix `lightShadowMatrix()` if `renderer.shadowMap.enabled` is `fa…
sunag Apr 29, 2025
4a02e57
Texture: Introduce `width`, `height`, `depth` (#31025)
sunag Apr 29, 2025
f6fe356
Box3: Add toJSON, fromJSON (#31021)
gkjohnson Apr 29, 2025
d088fc1
Sphere: Add toJSON and fromJSON functions (#31028)
gkjohnson Apr 29, 2025
84b6feb
WebGPURenderer: Array-Based RenderTarget Refactor (#30959)
RenaudRohlinger Apr 30, 2025
6b96221
Examples: Clean up (#31030)
WestLangley Apr 30, 2025
f00d971
Update bug_report.yml
Mugen87 Apr 30, 2025
6224432
WebGPURenderer: Introduce `ProjectorLight` (#31022)
sunag Apr 30, 2025
f54e8d3
Updated builds.
sunag Apr 30, 2025
0455c67
Update bug_report.yml
Mugen87 May 1, 2025
99dd5af
Examples: Make layers example a bit more interesting. (#31036)
Mugen87 May 3, 2025
d0dd0fc
Addons: Remove `PeppersGhostEffect`. (#31037)
Mugen87 May 3, 2025
3be0076
Add damp accessor to WebGL AfterimagePass class (#31035)
neilrackett May 4, 2025
40ee9e6
Update dependency rollup to v4.40.1 (#31043)
renovate[bot] May 4, 2025
868d7d8
Update github/codeql-action digest to 60168ef (#31042)
renovate[bot] May 4, 2025
1d6ae39
Examples: Make point lights demo more interesting. (#31040)
Mugen87 May 4, 2025
a853687
Docs: Fix typo. (#31046)
Mugen87 May 5, 2025
984ca4a
Add FXAAPass class (#31044)
neilrackett May 5, 2025
e367e2b
FBXLoader: Use `getHandler()` for custom texture loaders. (#31032)
tatsuya-ogawa May 5, 2025
c7d733e
Editor: Fix minor bugs. (#31050)
Mugen87 May 5, 2025
7ee2f21
WGSLNodeBuilder: Fix use of sampler for vertex stage (#31052)
sunag May 5, 2025
484c95d
Updated builds.
sunag May 5, 2025
a2ade47
Examples: Remove `webgl_geometry_dynamic`. (#31047)
Mugen87 May 6, 2025
31919b1
Examples: Make tonemapping demos more interesting. (#31045)
Mugen87 May 6, 2025
f21c287
Examples: Clean up XR examples browser notices (#31053)
mkeblx May 6, 2025
24ba60e
Set the proper up-direction (#31054)
WestLangley May 6, 2025
6c29a50
Examples: Make dynamic instancing demo more interesting. (#31058)
Mugen87 May 7, 2025
4b29a47
TSL: Fix `getBitangent()`. (#31059)
Mugen87 May 8, 2025
a1224db
Examples: Add textured assets to `webgl_loader_fbx`. (#31057)
tatsuya-ogawa May 8, 2025
9b25b7c
Updated builds.
Mugen87 May 8, 2025
3a21dee
PCDLoader: implement binary PCD data type parsing (#31061)
F-loat May 8, 2025
cba7408
WebGPURenderer: Cache pipeline per render/compute pass. (#31066)
Mugen87 May 8, 2025
8c66673
Revert "Examples: Add textured assets to `webgl_loader_fbx`. (#31057)…
Mugen87 May 8, 2025
0e317c0
Examples: Fix memory leak in FBX demo. (#31068)
Mugen87 May 8, 2025
2ec52a4
Examples: Integrate `lookAt()` into the `rotateTowards()` demo. (#31063)
Mugen87 May 9, 2025
1815e4f
PCDLoader: parse header without TextDecoder (#31069)
F-loat May 9, 2025
11ff559
changed normals to world instead of view (#31074)
vitro-mod May 9, 2025
6bcfbf5
TSL: Fix auto-cache if using multiple conditionals (#31076)
sunag May 10, 2025
d011a5d
Updated builds.
Mugen87 May 10, 2025
b9ba3b4
ShadowMaskModel: Fix usage with non shadow casting light. (#31081)
Mugen87 May 10, 2025
860c4c1
Examples: Add GUI to normal and bump map demo. (#31077)
Mugen87 May 10, 2025
d47185f
rm decodeText (#31082)
ycw May 11, 2025
1de7062
Update dependency rollup to v4.40.2 (#31085)
renovate[bot] May 11, 2025
f895904
Texture: Add updateRanges. (#30998)
CodyJasonBennett May 12, 2025
3589a12
ImageBitmapLoader: Make error handling more robust. (#31088)
Mugen87 May 12, 2025
70316d6
Mesh,Sprite: Add `count` property (#31091)
sunag May 13, 2025
b77e864
Examples: Clean up.
Mugen87 May 13, 2025
9a1f4da
Octree: Improve configurability. (#31097)
Mugen87 May 13, 2025
213f35a
Added webp file type to FBXLoader.js (#31098)
Altrozero May 13, 2025
7896d65
clone node associations in GLTFLoader (#31051)
nkrajina May 13, 2025
c35b177
TSL: Fix `.toVarying()` analyze for optimization (#31090)
sunag May 13, 2025
e04f92e
Improved webgpu_compute_particles example (#31092)
mrdoob May 14, 2025
a4fb5e0
Fix issues in WebXR caused by texture array work (#31099)
cabanier May 14, 2025
980d7ca
Updated builds.
Mugen87 May 14, 2025
0eed4b5
XRManager: Improve docs. (#31101)
Mugen87 May 14, 2025
e23e457
ShadowNode: Fix VSM with point lights. (#31103)
Mugen87 May 14, 2025
5a55dcb
ShadowNode: Clean up. (#31104)
Mugen87 May 14, 2025
12d1cc5
rename XRResetState to _resetXRState (#31105)
cabanier May 14, 2025
ac8d338
Fix classification (#31107)
ycw May 14, 2025
d51e356
Cleanup `src/three.tsl.js` (#31109)
ycw May 14, 2025
02d84d2
TSL: Fix `reflector()` clear texture and stop update if `bounce` is `…
sunag May 15, 2025
54e3665
TSL: Add `premult` and `unpremult` (#31114)
sunag May 15, 2025
72a887f
TSL: Add `hashBlur()` options `{repeats,mask,premultipliedAlpha}` (#3…
sunag May 15, 2025
5f3c69c
Updated builds.
sunag May 15, 2025
abf99f5
Examples: Add `webgpu_reflection_blurred` (#31116)
sunag May 15, 2025
fa53b27
SkeletonHelper: fix typo in JSDoc (#31113)
upisfree May 15, 2025
7703433
Texture: Add setValues. (#31087)
CodyJasonBennett May 15, 2025
088df26
LightsNode: Fix `castShadow` regression. (#31106)
Mugen87 May 15, 2025
a593f54
WebGPURenderer: Fix runtime errors introduced by texture array refact…
cabanier May 15, 2025
76572cb
Examples: Add textured assets to webgl_loader_fbx(cleanup fbx). (#31117)
tatsuya-ogawa May 15, 2025
703631e
Updated builds.
Mugen87 May 15, 2025
4562e8a
Examples: Improve `webgpu_reflection_blurred` performance (#31118)
sunag May 15, 2025
64b50b0
Core: Increase version of Object/Scene format. (#31096)
repalash May 16, 2025
f7ad644
USDZExporter: Fix JSDoc to match default value (#31119)
mkeblx May 16, 2025
5bf53ee
NodeMaterialObserver: Fix missing intensity uniform updates. (#31120)
Mugen87 May 16, 2025
b654763
USDZExporter: Fix Object indentation level (#31126)
mkeblx May 18, 2025
5223683
fix layer colorcorrection (#31124)
cabanier May 18, 2025
83bc654
GLTFExporter: Push nodes parent-first instead of child-first (#31125)
aaronfranke May 18, 2025
cd3aa0d
Examples: Add `webgpu_compute_cloth` (#31123)
holtsetio May 18, 2025
fc5d79e
Update dependency rollup to v4.41.0 (#31129)
renovate[bot] May 18, 2025
3765bd0
Update github/codeql-action digest to ff0a06e (#31128)
renovate[bot] May 18, 2025
e07583b
NodeMaterial: Introduce `.maskNode` and improve `shapeCircle()` (#31127)
sunag May 19, 2025
45be719
SkyMesh: Improve varyings declaration (#31133)
sunag May 20, 2025
af8709e
NodeMaterial: Execute `setupVertex()` if `vertexNode` is defined (#31…
sunag May 20, 2025
291d50e
Updated builds.
mrdoob May 20, 2025
ce77197
Examples: Improve `noise.png`. (#31137)
Mugen87 May 20, 2025
ed4a0fe
Clean up (#31130)
WestLangley May 20, 2025
c6e73de
Clean up (#31138)
linbingquan May 20, 2025
6c8e828
`StorageBufferNode`: Add `getMemberType` (#31139)
HongchengZhao May 21, 2025
d1e71ae
WebGPURenderer: Apply color management changes from #26644. (#31142)
Mugen87 May 21, 2025
efcca9a
TSL: Ensure 4 byte alignment for `instancedArray()` and `attributeArr…
sunag May 22, 2025
2d978cb
Move variable declarations above the line that includes clipping plan…
rtortajada May 22, 2025
523e440
LDraw: don't clear already-loaded materials on load (#31150)
Floppy May 23, 2025
3365955
LDrawLoader: Improve docs. (#31153)
Mugen87 May 23, 2025
8301152
NodeMaterial: Cleanup `alphaTest` (#31147)
sunag May 23, 2025
c9bb800
TSL: Ensure memory alignment for `struct()` (#31151)
sunag May 23, 2025
f714027
Examples: Add webgpu_compute_particles_fluid (#31148)
holtsetio May 23, 2025
650a2b8
Src: Improve Nomenclature (#31152)
WestLangley May 24, 2025
18c25f0
Updated builds.
Mugen87 May 24, 2025
7443431
WebGPURenderer: Honor Texture.premultiplyAlpha in WebGPU backend. (#3…
Mugen87 May 24, 2025
605fb3b
TSL: Improve build stages (#31156)
sunag May 24, 2025
87723dd
TSL: Fix `mat2` boundary size (#31162)
sunag May 25, 2025
cacaad1
WebGPUBackend: Fix `generateMipmaps` when used `copyFramebufferToText…
sunag May 25, 2025
36ea6db
WebGPUBackend: Fix `copyFramebufferToTexture`() generated mipmaps twice
sunag May 25, 2025
a826cc6
Update devDependencies (non-major) (#31164)
renovate[bot] May 25, 2025
ba6091f
TSL: Introduce `namespace` (#31168)
sunag May 26, 2025
0fce901
Remove ambient occlusion for performance reasons (#31159)
holtsetio May 26, 2025
7961810
Examples: Fix memory leak in SVG. (#31170)
Mugen87 May 26, 2025
0d9e8ca
Dev: Upgrade `rollup-plugin-visualizer`. (#31171)
Mugen87 May 26, 2025
6260c7f
NodeMaterial: Discard if the mask is `false`
sunag May 26, 2025
c548fe9
TSL: Fix object-as-parameter checking for `Fn()` (#31176)
sunag May 26, 2025
ec03eb7
ArcballControls: Fix state data for reset. (#31184)
Mugen87 May 27, 2025
76b2a34
WebGPURenderer: Optimize WebXR render path. (#31134)
cabanier May 27, 2025
3b98b80
Updated builds.
Mugen87 May 27, 2025
a5a4983
KTX2Loader: Support ETC2, BCn, and ASTC 4x4 sRGB (#31155)
donmccurdy May 27, 2025
7cb0f65
HTMLMesh: Add support for input of type text and number, calling inpu…
vincentfretin May 27, 2025
b801c8f
WebGPURenderer: Fix blend factor nomenclature (#31188)
WestLangley May 28, 2025
2dba5a8
CSMShadowNode: Fix toggle of `castShadow`. (#31186)
Mugen87 May 28, 2025
8797943
remove _forceViewport (#31189)
cabanier May 28, 2025
35b90a1
Examples: Enable MSAA in AO demo. (#31192)
Mugen87 May 28, 2025
21cbe6c
add deepwiki (#31182)
lumotai May 28, 2025
c421357
README: Removed DeepScan and fixed DeepWiki
mrdoob May 28, 2025
e49dac5
README: Clean up.
mrdoob May 28, 2025
99347e1
TSL: Introduce `uniformTexture()` and `uniformCubeTexture()` (#31190)
sunag May 28, 2025
c0088a7
Updated builds.
sunag May 28, 2025
8146d0a
fix: check if OffscreenCanvas in window before accessing (#31194)
pavel-mazhuga May 29, 2025
54e3591
fix issues with xr rendering (#31198)
cabanier May 29, 2025
8a7655d
WebGLTextureUtils: Clean up. (#31195)
linbingquan May 29, 2025
0d1e2d7
TSL: Use multi argument versions of `min` and `max` (#31196)
kristiker May 30, 2025
ea4ecb7
Ray: Handle empty spheres in `intersectsSphere()`. (#31200)
Mugen87 May 30, 2025
0effe60
Updated builds.
mrdoob May 30, 2025
5988c7a
WebGLRenderer: Add MRT support to `readRenderTargetPixels()`. (#31204)
Mugen87 May 30, 2025
1859806
Examples: Refactored webxr_vr_haptics.
mrdoob May 30, 2025
723d2dc
Updated builds.
mrdoob May 30, 2025
0ea870f
r177
mrdoob May 30, 2025
013cc18
XRManager: silence opaque framebuffer warning (#31201)
cabanier May 31, 2025
0d93546
XRRenderTarget: Clean up. (#31210)
Mugen87 May 31, 2025
8644296
Update dependency rollup-plugin-visualizer to v6.0.1 (#31213)
renovate[bot] Jun 1, 2025
a1db039
TSL: Fix `Fn` as parameter (#31214)
sunag Jun 1, 2025
19816c7
Examples: Add new path demo. (#31209)
Mugen87 Jun 1, 2025
c1c3b57
Update constants.js
Mugen87 Jun 2, 2025
c1c0eab
Bump tar-fs from 3.0.8 to 3.0.9 (#31218)
dependabot[bot] Jun 3, 2025
26b3fa2
fix texture path (#31217)
sunag Jun 3, 2025
c0854e6
Examples: Merge OBJ demos. (#31216)
Mugen87 Jun 3, 2025
7b8e83f
WebGLBackend: Honor depth/stencil in blitFramebuffer(). (#31219)
Mugen87 Jun 3, 2025
7b31083
NodeBuilder - Fix Interpolation (#31222)
cmhhelgeson Jun 4, 2025
c7b6f81
Update Object3DNode.js (#31224)
SamJB123 Jun 4, 2025
f31ed46
Examples: Fix `instancedArray()` usage of `webgpu_compute_birds` (#31…
sunag Jun 6, 2025
ec21229
Updated builds.
mrdoob Jun 6, 2025
5ed64a4
Decouple gui colors from color mgmt (#31232)
WestLangley Jun 6, 2025
25694af
WebGPURenderer: Make MSAA with MRT work with WebGL backend. (#31228)
Mugen87 Jun 6, 2025
82cab04
Updated builds.
Mugen87 Jun 6, 2025
b916c16
RenderObject: Check attributes version of the geometry (#31227)
sunag Jun 6, 2025
fce5937
NodeMaterial: Honor `material.premultipliedAlpha` in the shader (#31166)
WestLangley Jun 8, 2025
ee7fd45
SSAAPassNode: Ignoring `material.premultipliedAlpha` usage for now, r…
sunag Jun 8, 2025
f5b96f8
TSL: Rename `premult` to `premultiplyAlpha` (#31240)
sunag Jun 8, 2025
e9f3ce4
TSL: Introduce Chromatic Aberration (#31236)
pashaydev Jun 8, 2025
4948a07
Updated builds.
sunag Jun 8, 2025
cc113e8
Update devDependencies (non-major) (#31245)
renovate[bot] Jun 8, 2025
88cf6d0
Update github/codeql-action digest to fca7ace (#31244)
renovate[bot] Jun 8, 2025
8faa068
TSL: Fix inconsistent chaining for `.step()` (Parameter order) (#31241)
sunag Jun 10, 2025
651306b
WebGLPrograms: Don't use flat shading with enabled wireframe. (#31242)
Mugen87 Jun 10, 2025
4ee7352
Src: Correct the blending formulas (#31246)
WestLangley Jun 10, 2025
80389de
FBXLoader: Gracefully handle missing color data. (#31248)
Mugen87 Jun 11, 2025
28e2425
French-Translate (#31252)
AlexandreGagne10 Jun 11, 2025
7e1a46e
Examples: Merge geometry demos. (#31253)
Mugen87 Jun 11, 2025
fbed084
use correct invalidation array (#31255)
cabanier Jun 12, 2025
ca6d896
Global: Remove deprecated code. (#31254)
Mugen87 Jun 12, 2025
4dd9c05
ImageLoader: Optimize caching. (#31258)
Mugen87 Jun 13, 2025
90f9499
src: Clean up. (#31261)
linbingquan Jun 14, 2025
0a9f81b
ArcballControls : Add `passive: false` for wheel event. (#31259)
juji Jun 14, 2025
e345468
Add BatchedMesh LOD and BVH example page (#31239)
agargaro Jun 14, 2025
7b80b96
Update jsonlint.js (#31264)
vtjl10 Jun 14, 2025
7526943
Fix Typos in Documentation and Comments (#31265)
zeevick10 Jun 14, 2025
26a2768
TSL: Fix `outgoingLight` redeclaration (#31266)
sunag Jun 15, 2025
4437d86
TSL: Introduce `subBuild()` (#31260)
sunag Jun 15, 2025
72b3e11
Update dependency rollup to v4.43.0 (#31270)
renovate[bot] Jun 15, 2025
a6b27d7
Update github/codeql-action digest to ce28f5b (#31269)
renovate[bot] Jun 15, 2025
52288af
Manual: Open external links in new tab. (#31273)
Mugen87 Jun 15, 2025
f1e0313
TransformControls: Make gizmo colors configurable. (#31262)
Mugen87 Jun 16, 2025
8275091
GLBufferAttribute: Add `normalized` property. (#31268)
Rtwo-Dtwo Jun 16, 2025
db897c4
TSL: Remove `transformed*` prefix (#31271)
sunag Jun 16, 2025
6e73a32
TSL: Fix `convertToTexture()` auto resize (#31277)
sunag Jun 17, 2025
1f603c3
Updated builds.
sunag Jun 17, 2025
4ec743d
TSL Transpiler: Add Support for Switch Statements (#31272)
cmhhelgeson Jun 18, 2025
a36bc1b
TSL: Move `TriplanarTexturesNode` to `triplanarTextures()` Fn (#31285)
sunag Jun 20, 2025
c1c72c7
TSL: Move `MatcapUVNode` to `matcapUV` Fn constant (#31284)
sunag Jun 20, 2025
91de291
TSL: Move `EquirectUVNode` to `equirectUV()` TSL function (#31283)
sunag Jun 20, 2025
fa5da93
fixed scenegraph example typo (#31289)
MeirArani Jun 20, 2025
1c78abf
WebGLPrograms: Fix cache key with gradient maps. (#31292)
Mugen87 Jun 20, 2025
b8c03ae
TSL: Introduce `textureBicubicLevel()` (#31288)
sunag Jun 20, 2025
5f6ec60
TSL: Introduce `sample()` (#31287)
sunag Jun 20, 2025
eabdf24
Examples: Improve water demo. (#31291)
Mugen87 Jun 20, 2025
f7157ee
SampleNode: Remove `PURE` annotation. (#31293)
Mugen87 Jun 20, 2025
7858b59
RapierPhysics: Add removeMesh() (#31296)
linbingquan Jun 21, 2025
e9518aa
Examples: Add `webgpu_reflection_roughness` (#31294)
sunag Jun 21, 2025
4bb436e
Clock: Inline performance.now() (#31295)
linbingquan Jun 21, 2025
4f79673
RapierPhysics: Use world.removeCollider() (#31298)
linbingquan Jun 21, 2025
37c98fa
TSL Transpiler: Fix unary negate after arithmetic operator (#31297)
sunag Jun 21, 2025
cde19cf
TSL: Introduce `tangentViewFrame` and `bitangentViewFrame` (#31282)
sunag Jun 21, 2025
8f21de2
Updated builds.
sunag Jun 21, 2025
b1d24bd
TSL Transpiler: Add simplified `Fn()` layout (#31299)
sunag Jun 21, 2025
45bc878
Examples: Remove deprecated property of `webgpu_shadertoy`
sunag Jun 22, 2025
87c88a4
monaco-editor@0.52.2 (#31300)
linbingquan Jun 22, 2025
5ad8fee
Manual: Fix links to homepage. (#31301)
Mugen87 Jun 22, 2025
0672bcc
Examples: Clean up. (#31303)
Methuselah96 Jun 22, 2025
1879d67
Quaternion: Update epsilon in `setFromUnitVectors()`. (#31302)
Mugen87 Jun 22, 2025
7c80514
Update devDependencies (non-major) (#31304)
renovate[bot] Jun 22, 2025
e3b3b7d
Update webgpu_compute_water.html
Mugen87 Jun 23, 2025
c06fa76
Update webgpu_reflection_roughness.html
sunag Jun 24, 2025
b6fd865
Renderers: Initial support for `Float16Array`. (#31305)
Mugen87 Jun 24, 2025
f909f5d
Frustum: Honor sprite offset in `intersectsSprite()`. (#31307)
Mugen87 Jun 25, 2025
8d5aa7e
WebGPURenderer: Add `Storage3DTexture` and `StorageArrayTexture` (#31…
Spiri0 Jun 26, 2025
f244710
Path: improve jsdoc (#31317)
linbingquan Jun 26, 2025
cdd6c5b
Loaders: Use unique cache keys per loader. (#31315)
Mugen87 Jun 26, 2025
681a4fd
Updated builds.
Mugen87 Jun 26, 2025
cac652a
RoundedBoxGeometry: Fix parameters of the parent class (#31319)
linbingquan Jun 27, 2025
d891d2c
Update webgl_loader_texture_lottie.html
Mugen87 Jun 27, 2025
96011b9
WebGLRenderer: Correctly restore render target during transmission pa…
Mugen87 Jun 27, 2025
ee327fd
Update ImageBitmapLoader.js
mrdoob Jun 27, 2025
ac07a8a
Update ImageBitmapLoader.js
mrdoob Jun 27, 2025
1ffb9f4
Updated builds.
mrdoob Jun 27, 2025
0af81f4
Examples: Improve lottie example (#31321)
linbingquan Jun 27, 2025
fcddfd2
TSL Transpiler: Introduce `Linker` and improvements (#31314)
sunag Jun 27, 2025
aedea2b
WebGPUConstants: Add Missing Features (#31323)
cmhhelgeson Jun 28, 2025
c13b6c4
Examples: Add window resize event for webgl_geometry_extrude_shapes.h…
linbingquan Jun 28, 2025
acd3e4a
WebGPURenderer: Restore `isSampledTexture3D` binding check (#31327)
sunag Jun 28, 2025
e9a1727
TSLCore: Use `node.nodeType` instead of `safeGetNodeType()` (#31328)
sunag Jun 28, 2025
009726f
TSL Transpiler: Introduce `WGSLEncoder` (#31329)
sunag Jun 29, 2025
be4b1b3
docs: correct some typos (#31331)
wy-luke Jun 29, 2025
e49a3e9
Update github/codeql-action digest to 39edc49 (#31332)
renovate[bot] Jun 29, 2025
1dc3c3d
Update dependency rollup to v4.44.1 (#31333)
renovate[bot] Jun 29, 2025
83c2146
Updated builds.
mrdoob Jun 30, 2025
0bcb355
Updated package-lock.json
mrdoob Jun 30, 2025
9bb2491
Improved batch example.
mrdoob Jun 30, 2025
30dc259
Examples: Clean up. (#31336)
linbingquan Jun 30, 2025
f7e8be0
Improved reflection roughness example.
mrdoob Jun 30, 2025
4106588
Improved chromatic aberration example.
mrdoob Jun 30, 2025
15ff86b
Clean up.
mrdoob Jun 30, 2025
319461b
WebGPUBackend: Allow Storage Buffer on Index Attribute (#31335)
RenaudRohlinger Jun 30, 2025
a9666c6
Improved webgpu water example.
mrdoob Jun 30, 2025
96f22b9
Updated builds.
mrdoob Jun 30, 2025
e2e087b
Updated package-lock.json
mrdoob Jun 30, 2025
3b1ff76
r178
mrdoob Jun 30, 2025
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.
29 changes: 28 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,10 @@
"XRMediaBinding": "readonly",
"CodeMirror": "readonly",
"esprima": "readonly",
"jsonlint": "readonly"
"jsonlint": "readonly",
"VideoFrame": "readonly",
"VideoDecoder": "readonly",
"Float16Array": "readonly"
},
"rules": {
"no-throw-literal": [
Expand All @@ -56,6 +59,30 @@
"destructuring": "any",
"ignoreReadBeforeAssign": false
}
],
"no-irregular-whitespace": [
"error"
],
"no-duplicate-imports": [
"error"
],
"prefer-spread": "error",
"valid-jsdoc": [
"error",
{
"requireReturn": false,
"requireReturnType": true,
"requireParamDescription": false,
"requireReturnDescription": false,
"requireParamType": true,
"preferType": {
"Any": "any",
"Boolean": "boolean",
"Number": "number",
"object": "Object",
"String": "string"
}
}
]
}
}
8 changes: 6 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,10 @@ body:
attributes:
label: Live example
value: |
* [jsfiddle-latest-release](https://jsfiddle.net/g3atw6k5/)
* [jsfiddle-dev](https://jsfiddle.net/hjqw94c5/)
* [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
Expand Down Expand Up @@ -72,6 +74,7 @@ body:
- Firefox
- Safari
- Edge
- Quest Browser
- type: dropdown
id: os
attributes:
Expand All @@ -81,5 +84,6 @@ body:
- Windows
- MacOS
- Linux
- ChromeOS
- Android
- iOS
2 changes: 2 additions & 0 deletions .github/codeql-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ paths-ignore:
- "examples/jsm/loaders/ifc/**/*.*"
- "build/*.*"
- "manual/3rdparty/**/*.*"
- "utils/docs/template/static/scripts/fuse/**/*.*"
- "utils/docs/template/static/scripts/prettify/**/*.*"
9 changes: 8 additions & 1 deletion .github/renovate.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"extends": [
"config:base",
":disableDependencyDashboard"
":disableDependencyDashboard",
"helpers:pinGitHubActionDigests"
],
"timezone": "Asia/Tokyo",
"schedule": ["after 1am and before 7am every monday"],
Expand All @@ -11,6 +12,12 @@
"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
}
]
}
46 changes: 29 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@ on:
- 'build/**'
- 'docs/**'
- 'files/**'
push:
paths-ignore:
- 'build/**'
- 'docs/**'
- 'files/**'

permissions:
contents: read
Expand All @@ -21,9 +16,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v3
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Install Node
uses: actions/setup-node@v3
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 18
cache: 'npm'
Expand All @@ -38,9 +33,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v3
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Install Node
uses: actions/setup-node@v3
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 18
cache: 'npm'
Expand All @@ -50,37 +45,54 @@ jobs:
- name: === Unit testing ===
run: npm run test-unit

circular:
name: Circular dependencies testing
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Install Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 18
cache: 'npm'
- name: Install dependencies
run: npm ci

- name: === Circular dependencies testing ===
run: npm run test-circular-deps

e2e:
name: E2E testing
runs-on: ${{ matrix.os }}
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
os: [ windows-latest, ubuntu-latest, macos-latest ]
os: [ windows-latest ]
CI: [ 0, 1, 2, 3 ]
env:
CI: ${{ matrix.CI }}
steps:
- name: Git checkout
uses: actions/checkout@v3
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Install Node
uses: actions/setup-node@v3
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 18
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
run: npm run build-module

- name: === E2E testing ===
run: npm run test-e2e
- name: Upload output screenshots
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
if: always()
with:
name: Output screenshots
name: Output screenshots-${{ matrix.os }}-${{ matrix.CI }}
path: test/e2e/output-screenshots
if-no-files-found: ignore

Expand All @@ -89,9 +101,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v3
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Install Node
uses: actions/setup-node@v3
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 18
cache: 'npm'
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/codeql-code-scanning.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,20 +26,20 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@39edc492dbe16b1465b0cafca41432d857bdb31a # v3
with:
languages: ${{ matrix.language }}
config-file: ./.github/codeql-config.yml
queries: security-and-quality

- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@39edc492dbe16b1465b0cafca41432d857bdb31a # v3

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@39edc492dbe16b1465b0cafca41432d857bdb31a # v3
with:
category: "/language:${{matrix.language}}"
33 changes: 24 additions & 9 deletions .github/workflows/read-size.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v3
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Install Node
uses: actions/setup-node@v3
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 18
node-version: 20
cache: 'npm'
- name: Install dependencies
run: npm ci
Expand All @@ -35,18 +35,33 @@ jobs:
- name: Read bundle sizes
id: read-size
run: |
FILESIZE=$(stat --format=%s build/three.module.min.js)
WEBGL_FILESIZE=$(stat --format=%s build/three.module.min.js)
gzip -k build/three.module.min.js
FILESIZE_GZIP=$(stat --format=%s build/three.module.min.js.gz)
TREESHAKEN=$(stat --format=%s test/treeshake/index.bundle.min.js)
WEBGL_FILESIZE_GZIP=$(stat --format=%s build/three.module.min.js.gz)
WEBGL_TREESHAKEN=$(stat --format=%s test/treeshake/index.bundle.min.js)
gzip -k test/treeshake/index.bundle.min.js
TREESHAKEN_GZIP=$(stat --format=%s test/treeshake/index.bundle.min.js.gz)
WEBGL_TREESHAKEN_GZIP=$(stat --format=%s test/treeshake/index.bundle.min.js.gz)

WEBGPU_FILESIZE=$(stat --format=%s build/three.webgpu.min.js)
gzip -k build/three.webgpu.min.js
WEBGPU_FILESIZE_GZIP=$(stat --format=%s build/three.webgpu.min.js.gz)
WEBGPU_TREESHAKEN=$(stat --format=%s test/treeshake/index.webgpu.bundle.min.js)
gzip -k test/treeshake/index.webgpu.bundle.min.js
WEBGPU_TREESHAKEN_GZIP=$(stat --format=%s test/treeshake/index.webgpu.bundle.min.js.gz)

WEBGPU_NODES_FILESIZE=$(stat --format=%s build/three.webgpu.nodes.min.js)
gzip -k build/three.webgpu.nodes.min.js
WEBGPU_NODES_FILESIZE_GZIP=$(stat --format=%s build/three.webgpu.nodes.min.js.gz)
WEBGPU_NODES_TREESHAKEN=$(stat --format=%s test/treeshake/index.webgpu.nodes.bundle.min.js)
gzip -k test/treeshake/index.webgpu.nodes.bundle.min.js
WEBGPU_NODES_TREESHAKEN_GZIP=$(stat --format=%s test/treeshake/index.webgpu.nodes.bundle.min.js.gz)

PR=${{ github.event.pull_request.number }}

# write the output in a json file to upload it as artifact
node -pe "JSON.stringify({ filesize: $FILESIZE, gzip: $FILESIZE_GZIP, treeshaken: $TREESHAKEN, treeshakenGzip: $TREESHAKEN_GZIP, pr: $PR })" > sizes.json
node -pe "JSON.stringify({ filesize: $WEBGL_FILESIZE, gzip: $WEBGL_FILESIZE_GZIP, treeshaken: $WEBGL_TREESHAKEN, treeshakenGzip: $WEBGL_TREESHAKEN_GZIP, filesize2: $WEBGPU_FILESIZE, gzip2: $WEBGPU_FILESIZE_GZIP, treeshaken2: $WEBGPU_TREESHAKEN, treeshakenGzip2: $WEBGPU_TREESHAKEN_GZIP, filesize3: $WEBGPU_NODES_FILESIZE, gzip3: $WEBGPU_NODES_FILESIZE_GZIP, treeshaken3: $WEBGPU_NODES_TREESHAKEN, treeshakenGzip3: $WEBGPU_NODES_TREESHAKEN_GZIP, pr: $PR })" > sizes.json
- name: Upload artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: sizes
path: sizes.json
Loading