Download Latest Version r181 source code.tar.gz (397.2 MB)
Email in envelope

Get an email when there's a new version of three.js

Home / r181
Name Modified Size InfoDownloads / Week
Parent folder
r181 source code.tar.gz 2025-10-31 397.2 MB
r181 source code.zip 2025-10-31 400.4 MB
README.md 2025-10-31 11.4 kB
Totals: 3 Items   797.6 MB 86

https://github.com/mrdoob/three.js/wiki/Migration-Guide#180--181 https://github.com/mrdoob/three.js/milestone/94?closed=1

  • Global
  • Use internal log, warn and error functions instead of the system ones. [#31790] (@sunag)
  • Earcut
  • Updated to latest version. [#31956] (@tonybart1337)
  • InstanceNode
  • Honor updateRanges. [#31816] (@Mugen87)
  • LoadingManager
  • Lazily instantiate abort controller. [#32120] (@NuroDev)
  • MeshMatcapMaterial
  • Support wireframe. [#31917] (@WestLangley)
  • NodeBuilder
  • Add hints in comments. [#32004] (@cmhhelgeson)
  • NodeFrame
  • Simplify caching. [#31896] (@cmhhelgeson)
  • NodeMaterial
  • Fix alpha discard. [#31927] (@Mugen87)
  • Honor aoNode in clone(). [#32084] (@querielo)
  • PassNode
  • Ensure clear of internal render target. [#31993] (@Mugen87)
  • PhysicalLightingModel
  • Fix Favg assignment. [#32094] (@sunag)
  • PMREMGenerator
  • Implement GGX VNDF importance sampling. [#32114], [#32134], [#32148], [#32154] (@mrdoob)
  • Quaternion
  • Rewrite slerp() and slerpFlat(). [#31875] (@WestLangley)
  • RenderTarget
  • Fix resize of 3D textures. [#31854] (@Mugen87)
  • Sampler
  • Don't set _texture to null. [#31874] (@Mugen87)
  • ShadowNode
  • Fix shadows in first frame. [#32021] (@Mugen87)
  • TextureNode
  • Manage y-flip as a uniform. [#31929] (@Mugen87, @sunag)
  • TSL
  • Clone PassMultipleTextureNode with offsetNode. [#31849] (@shotamatsuda)
  • Fix onDispose listener not being removed in Sampler. [#31868] (@shotamatsuda)
  • Minor fixes. [#31808] (@Mugen87)
  • Fix coordinate types for load() on 3D texture nodes. [#31775] (@shotamatsuda)
  • Add member type support for layout function parameter. [#31838] (@sunag)
  • Fix conditional cache and introduce isolate(). [#31973], [594893] (@sunag)
  • Forces assignment of a function call if a loop is detected. [#31974] (@sunag)
  • Fix auto type conversion for layout parameters. [#32059] (@sunag)
  • Resolve some name collision. [#32032] (@sunag)
  • Move Interleaved Gradient Noise into PostProcessingUtils. [#32074] (@Mugen87)
  • Fix recursive cache key. [#32070] (@sunag)
  • Fix size computations in FX/RTT nodes. [#32077] (@Mugen87)
  • Ensure nodeProxyIntent always sets intent: true. [#32092] (@querielo)
  • Refactor positionViewDirection to handle orthographic camera cases. [#32088] (@querielo)
  • Fix overloadingFn return type. [#32112] (@sunag)
  • Add active stack and improve "node block" support. [#32109] (@sunag)
  • Assign stack for nodes after remove stack. [#32137] (@sunag)
  • Add OnBefore* events. [#32144], [1d9c5a] (@sunag)
  • Fix get element through an output Fn value. [#32143] (@sunag)
  • VideoTexture
  • Reset internal state rVFCId on dispose. [#32082] (@ycw)
  • WebGLRenderer
  • Fix WebXR Depth Sensing. [#31831] (@cabanier)
  • Use DFG LUT instead of analytical approximation. [#32054], 9b0d0937c75eab4d46f5f66b3e0c18bcb1f8c07b, 5e3cd6c52b3151a7243a0dd639334c7ce4d9c320, 361853114a24b7df70df907d3f38d1997a24b34d, [e22553] (@mrdoob)
  • Clean up. [39b050] (@mrdoob)
  • Remove WebGL 1.0 compatibility code. [#32071], [62e6f4] (@mrdoob)
  • Add multi-scattering energy compensation for direct lighting. [#32072] (@mrdoob)
  • Improve rough reflection mixing for IBL. [#32102] (@mrdoob)
  • WebGPURenderer
  • Guard reference to VideoFrame. [#31864] (@Mugen87)
  • Prevent dispose of default textures. [#31860] (@Mugen87)
  • Fix renderer not being garbage collected. [#31798] (@shotamatsuda)
  • Properly delete compute node bindings in dispose(). [#31832] (@cmhhelgeson)
  • Properly delete bind groups when render objects are disposed. [#31879] (@cmhhelgeson)
  • Align copyTextureToTexture() with WebGLRenderer. [#31810] (@shotamatsuda)
  • Fix shadow's alphaTest if used material.map. [#31803] (@sunag)
  • Add cache for shadow nodes. [#31880] (@sunag)
  • Decouple samplers from textures. [#31899] (@Mugen87)
  • Introduce Inspector. [#31869], [#31928], [#31958], [#31963], [#31962], [#31982], [#31997], [#32003], [#32007] (@sunag)
  • Fix rendering morphed meshes. [#31904] (@Mugen87)
  • Skip resolving anti-aliasing twice. [#31743], [#31924] (@sunag)
  • Introduce CanvasTarget. [#31919] (@sunag)
  • Make Render Bundle work with MRT. [#31906] (@Berthur)
  • Fix tone mapping mode detect. [#31957] (@sunag)
  • Fix binding sampler update. [#31971] (@sunag)
  • Fix logs in WebGL backend. [#31978] (@Mugen87)
  • Fix compressed texture feature detection for WebGL backend. [#31980] (@Mugen87)
  • Adjustments and Polyfill in GLSLNodeBuilder. [#31999] (@cmhhelgeson)
  • Fix functions with struct layouts cannot resolve struct types. [#32000] (@shotamatsuda)
  • Allow manual mipmap creation with StorageTexture. [#31983], [#32039] (@RenaudRohlinger)
  • Deprecate renderAsync(), computeAsync() and related async methods. [#32022], [#32026], [#32029], [#32033], [#32042], [#32063] (@Mugen87, @sunag)
  • Remove waitForGPU(). [#32024] (@Mugen87)
  • Fix transmission flicker. [#32043] (@Mugen87)
  • Add multi-scattering energy compensation for direct lighting. [#32089] (@mrdoob)
  • Improve rough reflection mixing for IBL. [#32108] (@mrdoob)
  • Fix material transparent assignment. [#32110] (@mrdoob)
  • Enable dynamic shadowMap type switching. [#32105] (@querielo)
  • Introduce dispatchWorkgroupsIndirect [#31488] (@Spiri0)
  • Improve shader validation [#32130] (@sunag)
  • Fix dispose RenderTarget textures. [#32131] (@sunag)
  • Fix types for indirect compute and modify example to show usage. [#32129] (@TheBlek)
  • Improve cache key verification. [#32138] (@sunag)
  • XRManager
  • Reset XRWebGLBinding on session end. [#31835] (@harryhjsh)

Docs

  • Document animation loop parameter. [#31853] (@Mugen87)
  • Add PLYLoader page. [#31848] (@mmjinglin163)
  • Improve AnimationClip page. [#31915] (@kang-git)
  • Improve Chinese translation. [#31806], [#31817], [#31828], [#32041] (@mmjinglin163, @pangda9527)
  • Improve JSDoc. [#31822], [#31819], [#32017] (@s-rigaud)
  • Update link to packLDrawModel script extension. [#31938] (@jjohnson5253)
  • Improve translation accuracy and consistency. [#31960] (@puxiao)
  • Added redirects for old docs URL. [#31986] (@mrdoob)
  • Reduce folder size of new docs. [#31992] (@mrdoob)
  • Updated templates with old design. [#32002] (@mrdoob)
  • Generate old docs system and design. [#32036], 28dcaf5f9db3326dc40eb98d377b48e72afbf771, 64d3d974170722d303d49b77b48d7e466da2608d, ed360e81958bbebd4a4c0bf4ae254dc884aa5593, a02ba14525946ce991a6a119449b7ea9c04f358e, 4b510dfb7df38ac8aa1e0a7f64a2b3550dbc7615, 1ef293278f707f7f715c0313772bc86d10d3216c, [a47779] (@mrdoob)
  • New Docs: Add translation disable flags. [#32048] (@mrdoob)
  • Add type annotations for dispatch size in ComputeNode. [#32068] (@shotamatsuda)
  • Improve GLTFLoader page. [#32096] (@marwie)
  • Removed legacy docs. [#32117]
  • Added new docs generated with JSDocs. [#32118], [96fe46] (@mrdoob)
  • Update JSDoc links for better readability. [#32132] (@marwie)
  • Fixed properties layout. [#32156] (@mrdoob)

Manual

  • Don’t open external URLs in iFrame. [#31856] (@xjh22222228)
  • Manual: Improve Responsive guide. [#31942] (@davcri)

Examples

  • Clean up. [#31830], [#31829], [#31823], [#31855], [#31843], [#31811], [#31842], [#31844], [#31824], [#31898], [#31887], [#31914], [#32011], [#32018], [#32051], [#32057] (@WestLangley, @s-rigaud, @Methuselah96, @Mugen87)
  • Use instancing in webgpu_compute_birds example. [#31766] (@cmhhelgeson)
  • Add WebGPU HDR example. [#31893] (@RenaudRohlinger)
  • Update with the new style and inspector. [#31907], [#31951], [#31954], [#31964], [#31976], [#31984], [#31995], [#32060] (@sunag, @Mugen87)
  • Set OrthographicCamera near plane >= 0. [#31912] (@WestLangley)
  • Use globalId in compute water demo, update IndexNode comments. [#31941] (@cmhhelgeson)
  • Add shadow intensity to spotlight examples. [#31972] (@WestLangley)
  • Don’t use property() for creating variables. [#32028] (@shotamatsuda)
  • Improve webgl_watch example. [b61441] (@mrdoob)
  • Improve webgl_postprocessing_unreal_bloom example. [2cff14] (@mrdoob)
  • Apply camera constraint immediately in WebGPU bloom demo. [#32081] (@ycw)
  • Fix output control in SSS demo. [#32083] (@ycw)
  • Add bloom strength to webgl_postprocessing_unreal_bloom_selective. [#32125] (@querielo)
  • Visualize normal as color in webgpu_postprocessing_ao. [#32141], [#32153] (@ycw, @sunag)

Addons

  • AfterImageNode
  • Fix swap. [#32140] (@Mugen87)

  • AsciiEffect

  • Remove noise from black texture. [#31858] (@s-rigaud)

  • BitonicSort

  • Add new bitonic sort addon. [#31852], [#31949] (@cmhhelgeson)

  • CSS2DRenderer

  • Add sortObjects. [#31946] (@Konseyy)

  • CSSRenderer

  • Ensure element exists when execute remove. [#31905] (@xiaoliyooo)

  • DRACOLoader

  • Implement data alignment for WebGPU. [#31991] (@donmccurdy)

  • FontLoader

  • Add text direction. [#31683], [#32078] (@Rikahei)

  • GlitchPass

  • Fix heightMap member name. [#32047] (@joey8angelo)

  • GTAONode

  • Optimize render target format. [#31883] (@Mugen87)
  • Add basic support for temporal filtering. [#32076] (@Mugen87)

  • HTMLMesh

  • Fix dimensions of canvas drawing. [#31931] (@pvtech-adam)

  • KTX2Loader

  • Fix ETC1S/UASTC prioritization. [#31871] (@zeux)
  • Honor setRequestHeader(). [#32115] (@LR17)

  • MaterialXLoader

  • Use ImageBitmapLoader to prevent blocking. 154e14558021d0aae2770eafb621741ac25680e4, [bca53e] (@mrdoob)

  • ProgressiveLightMap

  • Make normals mandatory. [#31825] (@Mugen87)

  • SelectionBox

  • Add support for BatchedMesh. [#32052] (@sunjiang0018)

  • SSGINode

  • New node for screen-space global illumination. [#31839], [#31865], [#31867], [#31863], [#31873], [#31881], [#31890], [#31882] (@Mugen87, @zalo)

  • SSSNode

  • Add new node for Screen-Space Shadows. [#32050] (@Mugen87)

  • SVGLoader

  • Make node transform parsing more robust. [#31985] (@Mugen87)

  • TRAANode

  • Reduce Ghosting/Smearing. [#31895] (@zalo)
  • Make depth copy more robust. [#31908] (@Mugen87)
  • Add adaptive blend weights. [#32139] (@Mugen87)

  • TSL Transpiler

  • Fix immutable to dynamic parameter conversion and shadertoy example. [#31996] (@sunag)

  • TubePainter

  • Improved generated geometry and added caps. [#32025] (@mrdoob)
  • Fixed end caps and removed object allocations. [#32030], [21009e] (@mrdoob)

  • UnrealBloomPass

  • Backported blur improvements. [057d34] (@mrdoob)

  • USDZExporter

  • Improve material prop types and setup. [#32008] (@mkeblx)

  • ViewHelper

  • Add OffscreenCanvas support. [#32128], f957f0b2adada81cb7c1de6fe34a79ead0026a93, [babe7f] (@Mugen87)

  • WaterMesh

  • Fix incorrect resolution scale assignment. [#32056] (@jonsmithers)

  • XRHandModelFactory

  • Fix inverted hand models. [#31634] (@jorodi)

Tests

  • Remove obsolete material callbacks. [#31876] (@CodyJasonBennet)
  • Improved E2E robustness. [#32091], [#32090], b3dde01ebb2509893dc41a9d29bd6dfba1794731, [3a987f] (@mrdoob)

Editor

  • Fix material reference in SetMaterialRangeCommand. [#32080] (@ycw)

Node Editor

  • Fix usage of timerLocal. [#31889] (@Mugen87)
Source: README.md, updated 2025-10-31