@playdrop/playdrop-cli 0.3.4-build.1 → 0.3.8-build.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1382) hide show
  1. package/README.md +60 -23
  2. package/config/client-meta.json +5 -5
  3. package/dist/apps/upload.js +6 -3
  4. package/dist/assets/model-artifacts.js +1 -1
  5. package/dist/catalogue.d.ts +13 -0
  6. package/dist/catalogue.js +95 -34
  7. package/dist/commandContext.d.ts +1 -0
  8. package/dist/commandContext.js +45 -15
  9. package/dist/commands/browse.d.ts +16 -0
  10. package/dist/commands/browse.js +370 -0
  11. package/dist/commands/build.js +4 -9
  12. package/dist/commands/capture.js +24 -24
  13. package/dist/commands/captureRemote.d.ts +11 -0
  14. package/dist/commands/captureRemote.js +90 -0
  15. package/dist/commands/comments.d.ts +14 -0
  16. package/dist/commands/comments.js +189 -0
  17. package/dist/commands/create.js +231 -132
  18. package/dist/commands/createRemixContent.d.ts +3 -0
  19. package/dist/commands/createRemixContent.js +310 -0
  20. package/dist/commands/creations.d.ts +49 -0
  21. package/dist/commands/creations.js +657 -0
  22. package/dist/commands/credits.d.ts +10 -0
  23. package/dist/commands/credits.js +91 -0
  24. package/dist/commands/detail.d.ts +2 -2
  25. package/dist/commands/detail.js +148 -290
  26. package/dist/commands/dev.js +24 -24
  27. package/dist/commands/devShared.js +2 -2
  28. package/dist/commands/documentation.d.ts +4 -1
  29. package/dist/commands/documentation.js +79 -104
  30. package/dist/commands/feedback.d.ts +12 -9
  31. package/dist/commands/feedback.js +125 -257
  32. package/dist/commands/format.js +6 -13
  33. package/dist/commands/generation.d.ts +11 -1
  34. package/dist/commands/generation.js +204 -60
  35. package/dist/commands/gettingStarted.d.ts +1 -0
  36. package/dist/commands/gettingStarted.js +26 -0
  37. package/dist/commands/init.js +29 -27
  38. package/dist/commands/login.js +9 -8
  39. package/dist/commands/logout.js +2 -1
  40. package/dist/commands/notifications.d.ts +14 -0
  41. package/dist/commands/notifications.js +179 -0
  42. package/dist/commands/search.d.ts +13 -0
  43. package/dist/commands/search.js +198 -0
  44. package/dist/commands/upload.js +31 -17
  45. package/dist/commands/validate.js +15 -1
  46. package/dist/commands/versionsBrowse.d.ts +7 -0
  47. package/dist/commands/versionsBrowse.js +209 -0
  48. package/dist/commands/whoami.js +9 -8
  49. package/dist/errors.d.ts +9 -0
  50. package/dist/errors.js +52 -0
  51. package/dist/externalAssetPackValidation.d.ts +2 -0
  52. package/dist/externalAssetPackValidation.js +115 -0
  53. package/dist/http.js +1 -1
  54. package/dist/index.js +583 -630
  55. package/dist/messages.js +11 -11
  56. package/dist/output.d.ts +5 -0
  57. package/dist/output.js +45 -0
  58. package/dist/playwright.js +1 -1
  59. package/dist/refs.d.ts +18 -0
  60. package/dist/refs.js +105 -0
  61. package/node_modules/@playdrop/ai-client/dist/index.d.ts +43 -16
  62. package/node_modules/@playdrop/ai-client/dist/index.d.ts.map +1 -1
  63. package/node_modules/@playdrop/ai-client/dist/index.js +1 -1
  64. package/node_modules/@playdrop/ai-client/package.json +1 -0
  65. package/node_modules/@playdrop/api-client/dist/client.d.ts +46 -28
  66. package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
  67. package/node_modules/@playdrop/api-client/dist/client.js +282 -1669
  68. package/node_modules/@playdrop/api-client/dist/core/errors.d.ts +9 -0
  69. package/node_modules/@playdrop/api-client/dist/core/errors.d.ts.map +1 -0
  70. package/node_modules/@playdrop/api-client/dist/core/errors.js +46 -0
  71. package/node_modules/@playdrop/api-client/dist/core/request.d.ts +27 -0
  72. package/node_modules/@playdrop/api-client/dist/core/request.d.ts.map +1 -0
  73. package/node_modules/@playdrop/api-client/dist/core/request.js +122 -0
  74. package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts +75 -0
  75. package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts.map +1 -0
  76. package/node_modules/@playdrop/api-client/dist/domains/admin.js +282 -0
  77. package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts +22 -0
  78. package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts.map +1 -0
  79. package/node_modules/@playdrop/api-client/dist/domains/ai.js +15 -0
  80. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts +61 -0
  81. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -0
  82. package/node_modules/@playdrop/api-client/dist/domains/apps.js +323 -0
  83. package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts +61 -0
  84. package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts.map +1 -0
  85. package/node_modules/@playdrop/api-client/dist/domains/asset-packs.js +315 -0
  86. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts +64 -0
  87. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts.map +1 -0
  88. package/node_modules/@playdrop/api-client/dist/domains/assets.js +315 -0
  89. package/node_modules/@playdrop/api-client/dist/domains/auth.d.ts +28 -0
  90. package/node_modules/@playdrop/api-client/dist/domains/auth.d.ts.map +1 -0
  91. package/node_modules/@playdrop/api-client/dist/domains/auth.js +78 -0
  92. package/node_modules/@playdrop/api-client/dist/domains/comments.d.ts +29 -0
  93. package/node_modules/@playdrop/api-client/dist/domains/comments.d.ts.map +1 -0
  94. package/node_modules/@playdrop/api-client/dist/domains/comments.js +65 -0
  95. package/node_modules/@playdrop/api-client/dist/domains/me.d.ts +24 -0
  96. package/node_modules/@playdrop/api-client/dist/domains/me.d.ts.map +1 -0
  97. package/node_modules/@playdrop/api-client/dist/domains/me.js +35 -0
  98. package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts +37 -0
  99. package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts.map +1 -0
  100. package/node_modules/@playdrop/api-client/dist/domains/payments.js +148 -0
  101. package/node_modules/@playdrop/api-client/dist/domains/search.d.ts +27 -0
  102. package/node_modules/@playdrop/api-client/dist/domains/search.d.ts.map +1 -0
  103. package/node_modules/@playdrop/api-client/dist/domains/search.js +65 -0
  104. package/node_modules/@playdrop/api-client/dist/index.d.ts +36 -56
  105. package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
  106. package/node_modules/@playdrop/api-client/dist/index.js +112 -44
  107. package/node_modules/@playdrop/api-client/package.json +3 -2
  108. package/node_modules/@playdrop/boxel-core/package.json +1 -1
  109. package/node_modules/@playdrop/boxel-three/dist/test/glb-skinned.test.js +1 -1
  110. package/node_modules/@playdrop/boxel-three/dist/test/instantiate.test.js +1 -1
  111. package/node_modules/@playdrop/boxel-three/dist/test/skinned-mesh.test.js +1 -1
  112. package/node_modules/@playdrop/boxel-three/package.json +2 -1
  113. package/node_modules/@playdrop/config/client-meta.json +5 -5
  114. package/node_modules/@playdrop/config/dist/src/constants.d.ts +5 -0
  115. package/node_modules/@playdrop/config/dist/src/constants.d.ts.map +1 -1
  116. package/node_modules/@playdrop/config/dist/src/constants.js +5 -1
  117. package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
  118. package/node_modules/@playdrop/config/package.json +1 -1
  119. package/node_modules/@playdrop/types/dist/api.d.ts +200 -18
  120. package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
  121. package/node_modules/@playdrop/types/dist/api.js +30 -1
  122. package/node_modules/@playdrop/types/dist/app.d.ts +0 -14
  123. package/node_modules/@playdrop/types/dist/app.d.ts.map +1 -1
  124. package/node_modules/@playdrop/types/dist/app.js +0 -10
  125. package/node_modules/@playdrop/types/dist/asset-pack.d.ts +12 -1
  126. package/node_modules/@playdrop/types/dist/asset-pack.d.ts.map +1 -1
  127. package/node_modules/@playdrop/types/dist/asset.d.ts +92 -0
  128. package/node_modules/@playdrop/types/dist/asset.d.ts.map +1 -1
  129. package/node_modules/@playdrop/types/dist/graph.d.ts +21 -0
  130. package/node_modules/@playdrop/types/dist/graph.d.ts.map +1 -1
  131. package/node_modules/@playdrop/types/dist/graph.js +66 -0
  132. package/node_modules/@playdrop/types/dist/realtime.d.ts +26 -26
  133. package/node_modules/@playdrop/types/dist/realtime.d.ts.map +1 -1
  134. package/node_modules/@playdrop/types/dist/version.d.ts +6 -0
  135. package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
  136. package/node_modules/three/LICENSE +1 -1
  137. package/node_modules/three/README.md +7 -7
  138. package/node_modules/three/build/three.cjs +49655 -25499
  139. package/node_modules/three/build/three.core.js +58952 -0
  140. package/node_modules/three/build/three.core.min.js +6 -0
  141. package/node_modules/three/build/three.module.js +11162 -45962
  142. package/node_modules/three/build/three.module.min.js +2 -2
  143. package/node_modules/three/build/three.tsl.js +640 -0
  144. package/node_modules/three/build/three.tsl.min.js +6 -0
  145. package/node_modules/three/build/three.webgpu.js +79685 -0
  146. package/node_modules/three/build/three.webgpu.min.js +6 -0
  147. package/node_modules/three/build/three.webgpu.nodes.js +79456 -0
  148. package/node_modules/three/build/three.webgpu.nodes.min.js +6 -0
  149. package/node_modules/three/examples/fonts/MPLUSRounded1c/MPLUSRounded1c-Regular.typeface.json.zip +0 -0
  150. package/node_modules/three/examples/fonts/MPLUSRounded1c/OFL.txt +91 -0
  151. package/node_modules/three/examples/jsm/Addons.js +8 -18
  152. package/node_modules/three/examples/jsm/animation/AnimationClipCreator.js +59 -7
  153. package/node_modules/three/examples/jsm/animation/CCDIKSolver.js +154 -45
  154. package/node_modules/three/examples/jsm/capabilities/WebGL.js +28 -23
  155. package/node_modules/three/examples/jsm/capabilities/WebGPU.js +19 -17
  156. package/node_modules/three/examples/jsm/controls/ArcballControls.js +636 -324
  157. package/node_modules/three/examples/jsm/controls/DragControls.js +332 -101
  158. package/node_modules/three/examples/jsm/controls/FirstPersonControls.js +291 -169
  159. package/node_modules/three/examples/jsm/controls/FlyControls.js +245 -191
  160. package/node_modules/three/examples/jsm/controls/MapControls.js +43 -9
  161. package/node_modules/three/examples/jsm/controls/OrbitControls.js +1156 -802
  162. package/node_modules/three/examples/jsm/controls/PointerLockControls.js +137 -35
  163. package/node_modules/three/examples/jsm/controls/TrackballControls.js +629 -456
  164. package/node_modules/three/examples/jsm/controls/TransformControls.js +442 -97
  165. package/node_modules/three/examples/jsm/csm/CSM.js +230 -17
  166. package/node_modules/three/examples/jsm/csm/CSMFrustum.js +61 -4
  167. package/node_modules/three/examples/jsm/csm/CSMHelper.js +50 -0
  168. package/node_modules/three/examples/jsm/csm/CSMShader.js +17 -5
  169. package/node_modules/three/examples/jsm/csm/CSMShadowNode.js +599 -0
  170. package/node_modules/three/examples/jsm/curves/CurveExtras.js +303 -31
  171. package/node_modules/three/examples/jsm/curves/NURBSCurve.js +91 -16
  172. package/node_modules/three/examples/jsm/curves/NURBSSurface.js +52 -6
  173. package/node_modules/three/examples/jsm/curves/NURBSUtils.js +102 -112
  174. package/node_modules/three/examples/jsm/curves/NURBSVolume.js +24 -4
  175. package/node_modules/three/examples/jsm/effects/AnaglyphEffect.js +39 -14
  176. package/node_modules/three/examples/jsm/effects/AsciiEffect.js +69 -22
  177. package/node_modules/three/examples/jsm/effects/OutlineEffect.js +61 -111
  178. package/node_modules/three/examples/jsm/effects/ParallaxBarrierEffect.js +48 -12
  179. package/node_modules/three/examples/jsm/effects/StereoEffect.js +37 -1
  180. package/node_modules/three/examples/jsm/environments/DebugEnvironment.js +50 -0
  181. package/node_modules/three/examples/jsm/environments/RoomEnvironment.js +82 -48
  182. package/node_modules/three/examples/jsm/exporters/DRACOExporter.js +59 -15
  183. package/node_modules/three/examples/jsm/exporters/EXRExporter.js +58 -19
  184. package/node_modules/three/examples/jsm/exporters/GLTFExporter.js +460 -174
  185. package/node_modules/three/examples/jsm/exporters/KTX2Exporter.js +80 -25
  186. package/node_modules/three/examples/jsm/exporters/OBJExporter.js +25 -1
  187. package/node_modules/three/examples/jsm/exporters/PLYExporter.js +51 -17
  188. package/node_modules/three/examples/jsm/exporters/STLExporter.js +27 -5
  189. package/node_modules/three/examples/jsm/exporters/USDZExporter.js +783 -268
  190. package/node_modules/three/examples/jsm/geometries/BoxLineGeometry.js +23 -0
  191. package/node_modules/three/examples/jsm/geometries/ConvexGeometry.js +19 -0
  192. package/node_modules/three/examples/jsm/geometries/DecalGeometry.js +94 -30
  193. package/node_modules/three/examples/jsm/geometries/ParametricFunctions.js +100 -0
  194. package/node_modules/three/examples/jsm/geometries/ParametricGeometry.js +38 -5
  195. package/node_modules/three/examples/jsm/geometries/RoundedBoxGeometry.js +68 -7
  196. package/node_modules/three/examples/jsm/geometries/TeapotGeometry.js +23 -38
  197. package/node_modules/three/examples/jsm/geometries/TextGeometry.js +48 -21
  198. package/node_modules/three/examples/jsm/gpgpu/BitonicSort.js +715 -0
  199. package/node_modules/three/examples/jsm/helpers/LightProbeHelper.js +79 -44
  200. package/node_modules/three/examples/jsm/helpers/LightProbeHelperGPU.js +102 -0
  201. package/node_modules/three/examples/jsm/helpers/OctreeHelper.js +36 -0
  202. package/node_modules/three/examples/jsm/helpers/PositionalAudioHelper.js +60 -0
  203. package/node_modules/three/examples/jsm/helpers/RapierHelper.js +59 -0
  204. package/node_modules/three/examples/jsm/helpers/RectAreaLightHelper.js +36 -3
  205. package/node_modules/three/examples/jsm/helpers/TextureHelper.js +28 -0
  206. package/node_modules/three/examples/jsm/helpers/TextureHelperGPU.js +214 -0
  207. package/node_modules/three/examples/jsm/helpers/VertexNormalsHelper.js +61 -2
  208. package/node_modules/three/examples/jsm/helpers/VertexTangentsHelper.js +47 -2
  209. package/node_modules/three/examples/jsm/helpers/ViewHelper.js +192 -65
  210. package/node_modules/three/examples/jsm/inspector/Inspector.js +427 -0
  211. package/node_modules/three/examples/jsm/inspector/RendererInspector.js +415 -0
  212. package/node_modules/three/examples/jsm/inspector/tabs/Console.js +204 -0
  213. package/node_modules/three/examples/jsm/inspector/tabs/Parameters.js +332 -0
  214. package/node_modules/three/examples/jsm/inspector/tabs/Performance.js +268 -0
  215. package/node_modules/three/examples/jsm/inspector/tabs/Viewer.js +166 -0
  216. package/node_modules/three/examples/jsm/inspector/ui/Graph.js +95 -0
  217. package/node_modules/three/examples/jsm/inspector/ui/Item.js +170 -0
  218. package/node_modules/three/examples/jsm/inspector/ui/List.js +75 -0
  219. package/node_modules/three/examples/jsm/inspector/ui/Profiler.js +170 -0
  220. package/node_modules/three/examples/jsm/inspector/ui/Style.js +654 -0
  221. package/node_modules/three/examples/jsm/inspector/ui/Tab.js +46 -0
  222. package/node_modules/three/examples/jsm/inspector/ui/Values.js +423 -0
  223. package/node_modules/three/examples/jsm/inspector/ui/utils.js +56 -0
  224. package/node_modules/three/examples/jsm/interactive/HTMLMesh.js +50 -21
  225. package/node_modules/three/examples/jsm/interactive/InteractiveGroup.js +170 -62
  226. package/node_modules/three/examples/jsm/interactive/SelectionBox.js +106 -9
  227. package/node_modules/three/examples/jsm/interactive/SelectionHelper.js +76 -30
  228. package/node_modules/three/examples/jsm/libs/basis/basis_transcoder.js +8 -10
  229. package/node_modules/three/examples/jsm/libs/basis/basis_transcoder.wasm +0 -0
  230. package/node_modules/three/examples/jsm/libs/demuxer_mp4.js +109 -0
  231. package/node_modules/three/examples/jsm/libs/draco/README.md +2 -2
  232. package/node_modules/three/examples/jsm/libs/fflate.module.js +694 -496
  233. package/node_modules/three/examples/jsm/libs/ktx-parse.module.js +1 -1
  234. package/node_modules/three/examples/jsm/libs/meshopt_decoder.module.js +75 -58
  235. package/node_modules/three/examples/jsm/libs/motion-controllers.module.js +1 -1
  236. package/node_modules/three/examples/jsm/libs/rhino3dm/rhino3dm.js +1 -8723
  237. package/node_modules/three/examples/jsm/libs/rhino3dm/rhino3dm.module.js +1 -8734
  238. package/node_modules/three/examples/jsm/libs/rhino3dm/rhino3dm.wasm +0 -0
  239. package/node_modules/three/examples/jsm/libs/tween.module.js +32 -14
  240. package/node_modules/three/examples/jsm/lighting/TiledLighting.js +42 -0
  241. package/node_modules/three/examples/jsm/lights/LightProbeGenerator.js +65 -14
  242. package/node_modules/three/examples/jsm/lights/RectAreaLightTexturesLib.js +127 -0
  243. package/node_modules/three/examples/jsm/lights/RectAreaLightUniformsLib.js +20 -59
  244. package/node_modules/three/examples/jsm/lines/Line2.js +41 -4
  245. package/node_modules/three/examples/jsm/lines/LineGeometry.js +80 -2
  246. package/node_modules/three/examples/jsm/lines/LineMaterial.js +100 -22
  247. package/node_modules/three/examples/jsm/lines/LineSegments2.js +69 -4
  248. package/node_modules/three/examples/jsm/lines/LineSegmentsGeometry.js +65 -8
  249. package/node_modules/three/examples/jsm/lines/Wireframe.js +58 -6
  250. package/node_modules/three/examples/jsm/lines/WireframeGeometry2.js +27 -2
  251. package/node_modules/three/examples/jsm/lines/webgpu/Line2.js +46 -0
  252. package/node_modules/three/examples/jsm/lines/webgpu/LineSegments2.js +411 -0
  253. package/node_modules/three/examples/jsm/lines/webgpu/Wireframe.js +86 -0
  254. package/node_modules/three/examples/jsm/loaders/3DMLoader.js +86 -23
  255. package/node_modules/three/examples/jsm/loaders/3MFLoader.js +148 -5
  256. package/node_modules/three/examples/jsm/loaders/AMFLoader.js +32 -12
  257. package/node_modules/three/examples/jsm/loaders/BVHLoader.js +59 -12
  258. package/node_modules/three/examples/jsm/loaders/ColladaLoader.js +51 -12
  259. package/node_modules/three/examples/jsm/loaders/DDSLoader.js +68 -1
  260. package/node_modules/three/examples/jsm/loaders/DRACOLoader.js +149 -23
  261. package/node_modules/three/examples/jsm/loaders/EXRLoader.js +584 -109
  262. package/node_modules/three/examples/jsm/loaders/FBXLoader.js +165 -97
  263. package/node_modules/three/examples/jsm/loaders/FontLoader.js +83 -6
  264. package/node_modules/three/examples/jsm/loaders/GCodeLoader.js +37 -6
  265. package/node_modules/three/examples/jsm/loaders/GLTFLoader.js +337 -108
  266. package/node_modules/three/examples/jsm/loaders/HDRCubeTextureLoader.js +52 -3
  267. package/node_modules/three/examples/jsm/loaders/HDRLoader.js +486 -0
  268. package/node_modules/three/examples/jsm/loaders/IESLoader.js +42 -0
  269. package/node_modules/three/examples/jsm/loaders/KMZLoader.js +33 -0
  270. package/node_modules/three/examples/jsm/loaders/KTX2Loader.js +441 -138
  271. package/node_modules/three/examples/jsm/loaders/KTXLoader.js +31 -10
  272. package/node_modules/three/examples/jsm/loaders/LDrawLoader.js +194 -145
  273. package/node_modules/three/examples/jsm/loaders/LUT3dlLoader.js +47 -25
  274. package/node_modules/three/examples/jsm/loaders/LUTCubeLoader.js +46 -23
  275. package/node_modules/three/examples/jsm/loaders/LUTImageLoader.js +79 -52
  276. package/node_modules/three/examples/jsm/loaders/LWOLoader.js +47 -20
  277. package/node_modules/three/examples/jsm/loaders/LottieLoader.js +54 -1
  278. package/node_modules/three/examples/jsm/loaders/MD2Loader.js +37 -1
  279. package/node_modules/three/examples/jsm/loaders/MDDLoader.js +57 -12
  280. package/node_modules/three/examples/jsm/loaders/MTLLoader.js +61 -35
  281. package/node_modules/three/examples/jsm/loaders/MaterialXLoader.js +291 -39
  282. package/node_modules/three/examples/jsm/loaders/NRRDLoader.js +38 -6
  283. package/node_modules/three/examples/jsm/loaders/OBJLoader.js +54 -4
  284. package/node_modules/three/examples/jsm/loaders/PCDLoader.js +183 -32
  285. package/node_modules/three/examples/jsm/loaders/PDBLoader.js +44 -4
  286. package/node_modules/three/examples/jsm/loaders/PLYLoader.js +78 -44
  287. package/node_modules/three/examples/jsm/loaders/PVRLoader.js +25 -6
  288. package/node_modules/three/examples/jsm/loaders/RGBELoader.js +6 -438
  289. package/node_modules/three/examples/jsm/loaders/STLLoader.js +51 -40
  290. package/node_modules/three/examples/jsm/loaders/SVGLoader.js +118 -24
  291. package/node_modules/three/examples/jsm/loaders/TDSLoader.js +92 -72
  292. package/node_modules/three/examples/jsm/loaders/TGALoader.js +23 -0
  293. package/node_modules/three/examples/jsm/loaders/TIFFLoader.js +23 -0
  294. package/node_modules/three/examples/jsm/loaders/TTFLoader.js +50 -3
  295. package/node_modules/three/examples/jsm/loaders/USDLoader.js +219 -0
  296. package/node_modules/three/examples/jsm/loaders/USDZLoader.js +4 -810
  297. package/node_modules/three/examples/jsm/loaders/UltraHDRLoader.js +630 -0
  298. package/node_modules/three/examples/jsm/loaders/VOXLoader.js +67 -2
  299. package/node_modules/three/examples/jsm/loaders/VRMLLoader.js +57 -21
  300. package/node_modules/three/examples/jsm/loaders/VTKLoader.js +119 -6
  301. package/node_modules/three/examples/jsm/loaders/XYZLoader.js +39 -2
  302. package/node_modules/three/examples/jsm/loaders/lwo/IFFParser.js +81 -78
  303. package/node_modules/three/examples/jsm/loaders/usd/USDAParser.js +741 -0
  304. package/node_modules/three/examples/jsm/loaders/usd/USDCParser.js +17 -0
  305. package/node_modules/three/examples/jsm/materials/LDrawConditionalLineMaterial.js +183 -0
  306. package/node_modules/three/examples/jsm/materials/LDrawConditionalLineNodeMaterial.js +154 -0
  307. package/node_modules/three/examples/jsm/materials/MeshGouraudMaterial.js +9 -1
  308. package/node_modules/three/examples/jsm/materials/MeshPostProcessingMaterial.js +25 -2
  309. package/node_modules/three/examples/jsm/materials/WoodNodeMaterial.js +533 -0
  310. package/node_modules/three/examples/jsm/math/Capsule.js +91 -14
  311. package/node_modules/three/examples/jsm/math/ColorConverter.js +22 -0
  312. package/node_modules/three/examples/jsm/math/ColorSpaces.js +147 -0
  313. package/node_modules/three/examples/jsm/math/ConvexHull.js +517 -93
  314. package/node_modules/three/examples/jsm/math/ImprovedNoise.js +32 -15
  315. package/node_modules/three/examples/jsm/math/Lut.js +113 -0
  316. package/node_modules/three/examples/jsm/math/MeshSurfaceSampler.js +78 -13
  317. package/node_modules/three/examples/jsm/math/OBB.js +141 -29
  318. package/node_modules/three/examples/jsm/math/Octree.js +177 -25
  319. package/node_modules/three/examples/jsm/math/SimplexNoise.js +68 -42
  320. package/node_modules/three/examples/jsm/misc/ConvexObjectBreaker.js +45 -25
  321. package/node_modules/three/examples/jsm/misc/GPUComputationRenderer.js +105 -45
  322. package/node_modules/three/examples/jsm/misc/Gyroscope.js +12 -0
  323. package/node_modules/three/examples/jsm/misc/MD2Character.js +117 -2
  324. package/node_modules/three/examples/jsm/misc/MD2CharacterComplex.js +175 -11
  325. package/node_modules/three/examples/jsm/misc/MorphAnimMesh.js +44 -0
  326. package/node_modules/three/examples/jsm/misc/MorphBlendMesh.js +103 -0
  327. package/node_modules/three/examples/jsm/misc/ProgressiveLightMap.js +101 -54
  328. package/node_modules/three/examples/jsm/misc/ProgressiveLightMapGPU.js +322 -0
  329. package/node_modules/three/examples/jsm/misc/RollerCoaster.js +57 -0
  330. package/node_modules/three/examples/jsm/misc/TubePainter.js +437 -40
  331. package/node_modules/three/examples/jsm/misc/Volume.js +123 -75
  332. package/node_modules/three/examples/jsm/misc/VolumeSlice.js +95 -48
  333. package/node_modules/three/examples/jsm/modifiers/CurveModifier.js +77 -47
  334. package/node_modules/three/examples/jsm/modifiers/CurveModifierGPU.js +256 -0
  335. package/node_modules/three/examples/jsm/modifiers/EdgeSplitModifier.js +20 -0
  336. package/node_modules/three/examples/jsm/modifiers/SimplifyModifier.js +26 -11
  337. package/node_modules/three/examples/jsm/modifiers/TessellateModifier.js +35 -2
  338. package/node_modules/three/examples/jsm/objects/GroundedSkybox.js +25 -6
  339. package/node_modules/three/examples/jsm/objects/Lensflare.js +96 -4
  340. package/node_modules/three/examples/jsm/objects/LensflareMesh.js +376 -0
  341. package/node_modules/three/examples/jsm/objects/MarchingCubes.js +90 -5
  342. package/node_modules/three/examples/jsm/objects/Reflector.js +76 -2
  343. package/node_modules/three/examples/jsm/objects/ReflectorForSSRPass.js +41 -0
  344. package/node_modules/three/examples/jsm/objects/Refractor.js +62 -0
  345. package/node_modules/three/examples/jsm/objects/ShadowMesh.js +54 -4
  346. package/node_modules/three/examples/jsm/objects/Sky.js +30 -12
  347. package/node_modules/three/examples/jsm/objects/SkyMesh.js +243 -0
  348. package/node_modules/three/examples/jsm/objects/Water.js +45 -5
  349. package/node_modules/three/examples/jsm/objects/Water2.js +44 -4
  350. package/node_modules/three/examples/jsm/objects/Water2Mesh.js +199 -0
  351. package/node_modules/three/examples/jsm/objects/WaterMesh.js +196 -0
  352. package/node_modules/three/examples/jsm/physics/AmmoPhysics.js +48 -0
  353. package/node_modules/three/examples/jsm/physics/JoltPhysics.js +330 -0
  354. package/node_modules/three/examples/jsm/physics/RapierPhysics.js +231 -19
  355. package/node_modules/three/examples/jsm/postprocessing/AfterimagePass.js +110 -29
  356. package/node_modules/three/examples/jsm/postprocessing/BloomPass.js +128 -26
  357. package/node_modules/three/examples/jsm/postprocessing/BokehPass.js +99 -22
  358. package/node_modules/three/examples/jsm/postprocessing/ClearPass.js +54 -3
  359. package/node_modules/three/examples/jsm/postprocessing/CubeTexturePass.js +82 -21
  360. package/node_modules/three/examples/jsm/postprocessing/DotScreenPass.js +59 -10
  361. package/node_modules/three/examples/jsm/postprocessing/EffectComposer.js +135 -3
  362. package/node_modules/three/examples/jsm/postprocessing/FXAAPass.js +40 -0
  363. package/node_modules/three/examples/jsm/postprocessing/FilmPass.js +54 -5
  364. package/node_modules/three/examples/jsm/postprocessing/GTAOPass.js +202 -57
  365. package/node_modules/three/examples/jsm/postprocessing/GlitchPass.js +86 -37
  366. package/node_modules/three/examples/jsm/postprocessing/HalftonePass.js +65 -10
  367. package/node_modules/three/examples/jsm/postprocessing/LUTPass.js +43 -79
  368. package/node_modules/three/examples/jsm/postprocessing/MaskPass.js +91 -0
  369. package/node_modules/three/examples/jsm/postprocessing/OutlinePass.js +277 -155
  370. package/node_modules/three/examples/jsm/postprocessing/OutputPass.js +58 -14
  371. package/node_modules/three/examples/jsm/postprocessing/Pass.js +100 -4
  372. package/node_modules/three/examples/jsm/postprocessing/RenderPass.js +85 -1
  373. package/node_modules/three/examples/jsm/postprocessing/RenderPixelatedPass.js +124 -45
  374. package/node_modules/three/examples/jsm/postprocessing/RenderTransitionPass.js +267 -0
  375. package/node_modules/three/examples/jsm/postprocessing/SAOPass.js +128 -56
  376. package/node_modules/three/examples/jsm/postprocessing/SMAAPass.js +106 -75
  377. package/node_modules/three/examples/jsm/postprocessing/SSAARenderPass.js +120 -35
  378. package/node_modules/three/examples/jsm/postprocessing/SSAOPass.js +174 -67
  379. package/node_modules/three/examples/jsm/postprocessing/SSRPass.js +268 -53
  380. package/node_modules/three/examples/jsm/postprocessing/SavePass.js +69 -16
  381. package/node_modules/three/examples/jsm/postprocessing/ShaderPass.js +65 -7
  382. package/node_modules/three/examples/jsm/postprocessing/TAARenderPass.js +79 -24
  383. package/node_modules/three/examples/jsm/postprocessing/TexturePass.js +72 -8
  384. package/node_modules/three/examples/jsm/postprocessing/UnrealBloomPass.js +125 -46
  385. package/node_modules/three/examples/jsm/renderers/CSS2DRenderer.js +122 -9
  386. package/node_modules/three/examples/jsm/renderers/CSS3DRenderer.js +133 -8
  387. package/node_modules/three/examples/jsm/renderers/Projector.js +20 -2
  388. package/node_modules/three/examples/jsm/renderers/SVGRenderer.js +134 -5
  389. package/node_modules/three/examples/jsm/shaders/ACESFilmicToneMappingShader.js +12 -5
  390. package/node_modules/three/examples/jsm/shaders/AfterimageShader.js +8 -3
  391. package/node_modules/three/examples/jsm/shaders/BasicShader.js +8 -1
  392. package/node_modules/three/examples/jsm/shaders/BleachBypassShader.js +11 -5
  393. package/node_modules/three/examples/jsm/shaders/BlendShader.js +8 -1
  394. package/node_modules/three/examples/jsm/shaders/BokehShader.js +9 -3
  395. package/node_modules/three/examples/jsm/shaders/BokehShader2.js +11 -4
  396. package/node_modules/three/examples/jsm/shaders/BrightnessContrastShader.js +10 -4
  397. package/node_modules/three/examples/jsm/shaders/ColorCorrectionShader.js +8 -1
  398. package/node_modules/three/examples/jsm/shaders/ColorifyShader.js +9 -3
  399. package/node_modules/three/examples/jsm/shaders/ConvolutionShader.js +9 -38
  400. package/node_modules/three/examples/jsm/shaders/CopyShader.js +8 -1
  401. package/node_modules/three/examples/jsm/shaders/DOFMipMapShader.js +10 -3
  402. package/node_modules/three/examples/jsm/shaders/DepthLimitedBlurShader.js +10 -1
  403. package/node_modules/three/examples/jsm/shaders/DigitalGlitch.js +10 -7
  404. package/node_modules/three/examples/jsm/shaders/DotScreenShader.js +8 -3
  405. package/node_modules/three/examples/jsm/shaders/ExposureShader.js +8 -1
  406. package/node_modules/three/examples/jsm/shaders/FXAAShader.js +243 -233
  407. package/node_modules/three/examples/jsm/shaders/FilmShader.js +13 -0
  408. package/node_modules/three/examples/jsm/shaders/FocusShader.js +8 -3
  409. package/node_modules/three/examples/jsm/shaders/FreiChenShader.js +10 -3
  410. package/node_modules/three/examples/jsm/shaders/GTAOShader.js +37 -40
  411. package/node_modules/three/examples/jsm/shaders/GammaCorrectionShader.js +11 -2
  412. package/node_modules/three/examples/jsm/shaders/GodRaysShader.js +20 -8
  413. package/node_modules/three/examples/jsm/shaders/HalftoneShader.js +13 -4
  414. package/node_modules/three/examples/jsm/shaders/HorizontalBlurShader.js +12 -3
  415. package/node_modules/three/examples/jsm/shaders/HorizontalTiltShiftShader.js +9 -2
  416. package/node_modules/three/examples/jsm/shaders/HueSaturationShader.js +10 -3
  417. package/node_modules/three/examples/jsm/shaders/KaleidoShader.js +11 -4
  418. package/node_modules/three/examples/jsm/shaders/LuminosityHighPassShader.js +9 -7
  419. package/node_modules/three/examples/jsm/shaders/LuminosityShader.js +8 -2
  420. package/node_modules/three/examples/jsm/shaders/MirrorShader.js +10 -4
  421. package/node_modules/three/examples/jsm/shaders/NormalMapShader.js +7 -2
  422. package/node_modules/three/examples/jsm/shaders/OutputShader.js +24 -2
  423. package/node_modules/three/examples/jsm/shaders/PoissonDenoiseShader.js +24 -15
  424. package/node_modules/three/examples/jsm/shaders/RGBShiftShader.js +8 -1
  425. package/node_modules/three/examples/jsm/shaders/SAOShader.js +10 -1
  426. package/node_modules/three/examples/jsm/shaders/SMAAShader.js +24 -1
  427. package/node_modules/three/examples/jsm/shaders/SSAOShader.js +26 -5
  428. package/node_modules/three/examples/jsm/shaders/SSRShader.js +26 -1
  429. package/node_modules/three/examples/jsm/shaders/SepiaShader.js +8 -3
  430. package/node_modules/three/examples/jsm/shaders/SobelOperatorShader.js +9 -3
  431. package/node_modules/three/examples/jsm/shaders/SubsurfaceScatteringShader.js +13 -8
  432. package/node_modules/three/examples/jsm/shaders/TechnicolorShader.js +10 -4
  433. package/node_modules/three/examples/jsm/shaders/ToonShader.js +29 -6
  434. package/node_modules/three/examples/jsm/shaders/TriangleBlurShader.js +9 -4
  435. package/node_modules/three/examples/jsm/shaders/UnpackDepthRGBAShader.js +19 -4
  436. package/node_modules/three/examples/jsm/shaders/VelocityShader.js +8 -1
  437. package/node_modules/three/examples/jsm/shaders/VerticalBlurShader.js +9 -2
  438. package/node_modules/three/examples/jsm/shaders/VerticalTiltShiftShader.js +8 -1
  439. package/node_modules/three/examples/jsm/shaders/VignetteShader.js +8 -3
  440. package/node_modules/three/examples/jsm/shaders/VolumeShader.js +11 -2
  441. package/node_modules/three/examples/jsm/shaders/WaterRefractionShader.js +11 -0
  442. package/node_modules/three/examples/jsm/textures/FlakesTexture.js +14 -0
  443. package/node_modules/three/examples/jsm/transpiler/AST.js +392 -31
  444. package/node_modules/three/examples/jsm/transpiler/GLSLDecoder.js +366 -136
  445. package/node_modules/three/examples/jsm/transpiler/Linker.js +327 -0
  446. package/node_modules/three/examples/jsm/transpiler/ShaderToyDecoder.js +3 -3
  447. package/node_modules/three/examples/jsm/transpiler/TSLEncoder.js +336 -111
  448. package/node_modules/three/examples/jsm/transpiler/Transpiler.js +50 -1
  449. package/node_modules/three/examples/jsm/transpiler/TranspilerUtils.js +29 -0
  450. package/node_modules/three/examples/jsm/transpiler/WGSLEncoder.js +812 -0
  451. package/node_modules/three/examples/jsm/tsl/display/AfterImageNode.js +244 -0
  452. package/node_modules/three/examples/jsm/tsl/display/AnaglyphPassNode.js +107 -0
  453. package/node_modules/three/examples/jsm/tsl/display/AnamorphicNode.js +282 -0
  454. package/node_modules/three/examples/jsm/tsl/display/BleachBypass.js +33 -0
  455. package/node_modules/three/examples/jsm/tsl/display/BloomNode.js +524 -0
  456. package/node_modules/three/examples/jsm/tsl/display/ChromaticAberrationNode.js +207 -0
  457. package/node_modules/three/examples/jsm/tsl/display/DenoiseNode.js +334 -0
  458. package/node_modules/three/examples/jsm/tsl/display/DepthOfFieldNode.js +554 -0
  459. package/node_modules/three/examples/jsm/tsl/display/DotScreenNode.js +104 -0
  460. package/node_modules/three/examples/jsm/tsl/display/FXAANode.js +365 -0
  461. package/node_modules/three/examples/jsm/tsl/display/FilmNode.js +101 -0
  462. package/node_modules/three/examples/jsm/tsl/display/GTAONode.js +570 -0
  463. package/node_modules/three/examples/jsm/tsl/display/GaussianBlurNode.js +380 -0
  464. package/node_modules/three/examples/jsm/tsl/display/LensflareNode.js +279 -0
  465. package/node_modules/three/examples/jsm/tsl/display/Lut3DNode.js +109 -0
  466. package/node_modules/three/examples/jsm/tsl/display/MotionBlur.js +33 -0
  467. package/node_modules/three/examples/jsm/tsl/display/OutlineNode.js +762 -0
  468. package/node_modules/three/examples/jsm/tsl/display/ParallaxBarrierPassNode.js +89 -0
  469. package/node_modules/three/examples/jsm/tsl/display/PixelationPassNode.js +334 -0
  470. package/node_modules/three/examples/jsm/tsl/display/RGBShiftNode.js +96 -0
  471. package/node_modules/three/examples/jsm/tsl/display/SMAANode.js +768 -0
  472. package/node_modules/three/examples/jsm/tsl/display/SSAAPassNode.js +358 -0
  473. package/node_modules/three/examples/jsm/tsl/display/SSGINode.js +654 -0
  474. package/node_modules/three/examples/jsm/tsl/display/SSRNode.js +656 -0
  475. package/node_modules/three/examples/jsm/tsl/display/SSSNode.js +488 -0
  476. package/node_modules/three/examples/jsm/tsl/display/Sepia.js +24 -0
  477. package/node_modules/three/examples/jsm/tsl/display/SobelOperatorNode.js +168 -0
  478. package/node_modules/three/examples/jsm/tsl/display/StereoCompositePassNode.js +185 -0
  479. package/node_modules/three/examples/jsm/tsl/display/StereoPassNode.js +120 -0
  480. package/node_modules/three/examples/jsm/tsl/display/TRAANode.js +578 -0
  481. package/node_modules/three/examples/jsm/tsl/display/TransitionNode.js +141 -0
  482. package/node_modules/three/examples/jsm/tsl/display/boxBlur.js +65 -0
  483. package/node_modules/three/examples/jsm/tsl/display/hashBlur.js +54 -0
  484. package/node_modules/three/examples/jsm/tsl/lighting/TiledLightsNode.js +442 -0
  485. package/node_modules/three/examples/jsm/tsl/math/Bayer.js +34 -0
  486. package/node_modules/three/examples/jsm/tsl/shadows/TileShadowNode.js +456 -0
  487. package/node_modules/three/examples/jsm/tsl/shadows/TileShadowNodeHelper.js +212 -0
  488. package/node_modules/three/examples/jsm/tsl/utils/Raymarching.js +70 -0
  489. package/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +109 -45
  490. package/node_modules/three/examples/jsm/utils/CameraUtils.js +15 -6
  491. package/node_modules/three/examples/jsm/utils/GeometryCompressionUtils.js +54 -146
  492. package/node_modules/three/examples/jsm/utils/GeometryUtils.js +32 -27
  493. package/node_modules/three/examples/jsm/utils/LDrawUtils.js +13 -4
  494. package/node_modules/three/examples/jsm/utils/SceneOptimizer.js +458 -0
  495. package/node_modules/three/examples/jsm/utils/SceneUtils.js +112 -3
  496. package/node_modules/three/examples/jsm/utils/ShadowMapViewer.js +51 -31
  497. package/node_modules/three/examples/jsm/utils/ShadowMapViewerGPU.js +233 -0
  498. package/node_modules/three/examples/jsm/utils/SkeletonUtils.js +145 -68
  499. package/node_modules/three/examples/jsm/utils/SortUtils.js +23 -8
  500. package/node_modules/three/examples/jsm/utils/UVsDebug.js +12 -4
  501. package/node_modules/three/examples/jsm/utils/{TextureUtils.js → WebGLTextureUtils.js} +19 -2
  502. package/node_modules/three/examples/jsm/utils/WebGPUTextureUtils.js +81 -0
  503. package/node_modules/three/examples/jsm/utils/WorkerPool.js +67 -2
  504. package/node_modules/three/examples/jsm/webxr/ARButton.js +19 -0
  505. package/node_modules/three/examples/jsm/webxr/OculusHandModel.js +87 -2
  506. package/node_modules/three/examples/jsm/webxr/OculusHandPointerModel.js +148 -22
  507. package/node_modules/three/examples/jsm/webxr/Text2D.js +20 -6
  508. package/node_modules/three/examples/jsm/webxr/VRButton.js +44 -5
  509. package/node_modules/three/examples/jsm/webxr/XRButton.js +23 -1
  510. package/node_modules/three/examples/jsm/webxr/XRControllerModelFactory.js +103 -4
  511. package/node_modules/three/examples/jsm/webxr/XREstimatedLight.js +35 -4
  512. package/node_modules/three/examples/jsm/webxr/XRHandMeshModel.js +37 -0
  513. package/node_modules/three/examples/jsm/webxr/XRHandModelFactory.js +101 -9
  514. package/node_modules/three/examples/jsm/webxr/XRHandPrimitiveModel.js +44 -0
  515. package/node_modules/three/examples/jsm/webxr/XRPlanes.js +18 -0
  516. package/node_modules/three/package.json +25 -20
  517. package/node_modules/three/src/Three.Core.js +185 -0
  518. package/node_modules/three/src/Three.Legacy.js +0 -1
  519. package/node_modules/three/src/Three.TSL.js +633 -0
  520. package/node_modules/three/src/Three.WebGPU.Nodes.js +26 -0
  521. package/node_modules/three/src/Three.WebGPU.js +28 -0
  522. package/node_modules/three/src/Three.js +1 -176
  523. package/node_modules/three/src/animation/AnimationAction.js +262 -30
  524. package/node_modules/three/src/animation/AnimationClip.js +164 -9
  525. package/node_modules/three/src/animation/AnimationMixer.js +99 -15
  526. package/node_modules/three/src/animation/AnimationObjectGroup.js +45 -21
  527. package/node_modules/three/src/animation/AnimationUtils.js +169 -19
  528. package/node_modules/three/src/animation/KeyframeTrack.js +151 -16
  529. package/node_modules/three/src/animation/PropertyBinding.js +91 -16
  530. package/node_modules/three/src/animation/PropertyMixer.js +72 -5
  531. package/node_modules/three/src/animation/tracks/BooleanKeyframeTrack.js +42 -6
  532. package/node_modules/three/src/animation/tracks/ColorKeyframeTrack.js +26 -5
  533. package/node_modules/three/src/animation/tracks/NumberKeyframeTrack.js +26 -2
  534. package/node_modules/three/src/animation/tracks/QuaternionKeyframeTrack.js +31 -3
  535. package/node_modules/three/src/animation/tracks/StringKeyframeTrack.js +42 -2
  536. package/node_modules/three/src/animation/tracks/VectorKeyframeTrack.js +26 -2
  537. package/node_modules/three/src/audio/Audio.js +388 -10
  538. package/node_modules/three/src/audio/AudioAnalyser.js +58 -1
  539. package/node_modules/three/src/audio/AudioContext.js +15 -0
  540. package/node_modules/three/src/audio/AudioListener.js +89 -10
  541. package/node_modules/three/src/audio/PositionalAudio.js +107 -0
  542. package/node_modules/three/src/cameras/ArrayCamera.js +37 -0
  543. package/node_modules/three/src/cameras/Camera.js +61 -0
  544. package/node_modules/three/src/cameras/CubeCamera.js +66 -0
  545. package/node_modules/three/src/cameras/OrthographicCamera.js +110 -1
  546. package/node_modules/three/src/cameras/PerspectiveCamera.js +174 -35
  547. package/node_modules/three/src/cameras/StereoCamera.js +48 -2
  548. package/node_modules/three/src/constants.js +1477 -18
  549. package/node_modules/three/src/core/BufferAttribute.js +417 -23
  550. package/node_modules/three/src/core/BufferGeometry.js +416 -49
  551. package/node_modules/three/src/core/Clock.js +62 -8
  552. package/node_modules/three/src/core/EventDispatcher.js +52 -8
  553. package/node_modules/three/src/core/GLBufferAttribute.js +113 -2
  554. package/node_modules/three/src/core/InstancedBufferAttribute.js +29 -0
  555. package/node_modules/three/src/core/InstancedBufferGeometry.js +20 -0
  556. package/node_modules/three/src/core/InstancedInterleavedBuffer.js +26 -0
  557. package/node_modules/three/src/core/InterleavedBuffer.js +141 -16
  558. package/node_modules/three/src/core/InterleavedBufferAttribute.js +200 -2
  559. package/node_modules/three/src/core/Layers.js +71 -10
  560. package/node_modules/three/src/core/Object3D.js +665 -54
  561. package/node_modules/three/src/core/Raycaster.js +160 -8
  562. package/node_modules/three/src/core/RenderTarget.js +297 -36
  563. package/node_modules/three/src/core/RenderTarget3D.js +48 -0
  564. package/node_modules/three/src/core/Timer.js +184 -0
  565. package/node_modules/three/src/core/Uniform.js +29 -0
  566. package/node_modules/three/src/core/UniformsGroup.js +84 -2
  567. package/node_modules/three/src/extras/Controls.js +120 -0
  568. package/node_modules/three/src/extras/DataUtils.js +50 -9
  569. package/node_modules/three/src/extras/Earcut.js +18 -779
  570. package/node_modules/three/src/extras/ImageUtils.js +22 -14
  571. package/node_modules/three/src/extras/PMREMGenerator.js +329 -64
  572. package/node_modules/three/src/extras/ShapeUtils.js +24 -2
  573. package/node_modules/three/src/extras/TextureUtils.js +293 -0
  574. package/node_modules/three/src/extras/core/Curve.js +156 -55
  575. package/node_modules/three/src/extras/core/CurvePath.js +63 -22
  576. package/node_modules/three/src/extras/core/Interpolations.js +34 -2
  577. package/node_modules/three/src/extras/core/Path.js +134 -1
  578. package/node_modules/three/src/extras/core/Shape.js +66 -3
  579. package/node_modules/three/src/extras/core/ShapePath.js +80 -4
  580. package/node_modules/three/src/extras/curves/ArcCurve.js +22 -0
  581. package/node_modules/three/src/extras/curves/CatmullRomCurve3.js +89 -18
  582. package/node_modules/three/src/extras/curves/CubicBezierCurve.js +67 -0
  583. package/node_modules/three/src/extras/curves/CubicBezierCurve3.js +50 -0
  584. package/node_modules/three/src/extras/curves/EllipseCurve.js +104 -2
  585. package/node_modules/three/src/extras/curves/LineCurve.js +36 -0
  586. package/node_modules/three/src/extras/curves/LineCurve3.js +36 -0
  587. package/node_modules/three/src/extras/curves/QuadraticBezierCurve.js +59 -0
  588. package/node_modules/three/src/extras/curves/QuadraticBezierCurve3.js +43 -0
  589. package/node_modules/three/src/extras/curves/SplineCurve.js +48 -0
  590. package/node_modules/three/src/extras/lib/earcut.js +685 -0
  591. package/node_modules/three/src/geometries/BoxGeometry.js +39 -0
  592. package/node_modules/three/src/geometries/CapsuleGeometry.js +196 -11
  593. package/node_modules/three/src/geometries/CircleGeometry.js +41 -0
  594. package/node_modules/three/src/geometries/ConeGeometry.js +39 -0
  595. package/node_modules/three/src/geometries/CylinderGeometry.js +51 -4
  596. package/node_modules/three/src/geometries/DodecahedronGeometry.js +33 -0
  597. package/node_modules/three/src/geometries/EdgesGeometry.js +30 -2
  598. package/node_modules/three/src/geometries/ExtrudeGeometry.js +146 -50
  599. package/node_modules/three/src/geometries/IcosahedronGeometry.js +33 -0
  600. package/node_modules/three/src/geometries/LatheGeometry.js +44 -3
  601. package/node_modules/three/src/geometries/OctahedronGeometry.js +33 -0
  602. package/node_modules/three/src/geometries/PlaneGeometry.js +35 -0
  603. package/node_modules/three/src/geometries/PolyhedronGeometry.js +29 -0
  604. package/node_modules/three/src/geometries/RingGeometry.js +37 -0
  605. package/node_modules/three/src/geometries/ShapeGeometry.js +38 -0
  606. package/node_modules/three/src/geometries/SphereGeometry.js +38 -0
  607. package/node_modules/three/src/geometries/TetrahedronGeometry.js +33 -0
  608. package/node_modules/three/src/geometries/TorusGeometry.js +36 -0
  609. package/node_modules/three/src/geometries/TorusKnotGeometry.js +39 -0
  610. package/node_modules/three/src/geometries/TubeGeometry.js +50 -0
  611. package/node_modules/three/src/geometries/WireframeGeometry.js +32 -0
  612. package/node_modules/three/src/helpers/ArrowHelper.js +62 -5
  613. package/node_modules/three/src/helpers/AxesHelper.js +28 -0
  614. package/node_modules/three/src/helpers/Box3Helper.js +28 -0
  615. package/node_modules/three/src/helpers/BoxHelper.js +43 -7
  616. package/node_modules/three/src/helpers/CameraHelper.js +100 -27
  617. package/node_modules/three/src/helpers/DirectionalLightHelper.js +52 -0
  618. package/node_modules/three/src/helpers/GridHelper.js +26 -0
  619. package/node_modules/three/src/helpers/HemisphereLightHelper.js +39 -0
  620. package/node_modules/three/src/helpers/PlaneHelper.js +33 -0
  621. package/node_modules/three/src/helpers/PointLightHelper.js +43 -0
  622. package/node_modules/three/src/helpers/PolarGridHelper.js +30 -0
  623. package/node_modules/three/src/helpers/SkeletonHelper.js +73 -7
  624. package/node_modules/three/src/helpers/SpotLightHelper.js +58 -1
  625. package/node_modules/three/src/lights/AmbientLight.js +25 -0
  626. package/node_modules/three/src/lights/DirectionalLight.js +57 -0
  627. package/node_modules/three/src/lights/DirectionalLightShadow.js +15 -0
  628. package/node_modules/three/src/lights/HemisphereLight.js +32 -0
  629. package/node_modules/three/src/lights/Light.js +37 -0
  630. package/node_modules/three/src/lights/LightProbe.js +43 -0
  631. package/node_modules/three/src/lights/LightShadow.js +198 -7
  632. package/node_modules/three/src/lights/PointLight.js +59 -0
  633. package/node_modules/three/src/lights/PointLightShadow.js +22 -1
  634. package/node_modules/three/src/lights/RectAreaLight.js +59 -0
  635. package/node_modules/three/src/lights/SpotLight.js +102 -0
  636. package/node_modules/three/src/lights/SpotLightShadow.js +33 -3
  637. package/node_modules/three/src/lights/webgpu/IESSpotLight.js +46 -0
  638. package/node_modules/three/src/lights/webgpu/ProjectorLight.js +46 -0
  639. package/node_modules/three/src/loaders/AnimationLoader.js +34 -2
  640. package/node_modules/three/src/loaders/AudioLoader.js +34 -2
  641. package/node_modules/three/src/loaders/BufferGeometryLoader.js +38 -13
  642. package/node_modules/three/src/loaders/Cache.js +47 -2
  643. package/node_modules/three/src/loaders/CompressedTextureLoader.js +36 -3
  644. package/node_modules/three/src/loaders/CubeTextureLoader.js +45 -0
  645. package/node_modules/three/src/loaders/DataTextureLoader.js +45 -8
  646. package/node_modules/three/src/loaders/FileLoader.js +90 -6
  647. package/node_modules/three/src/loaders/ImageBitmapLoader.js +108 -11
  648. package/node_modules/three/src/loaders/ImageLoader.js +85 -8
  649. package/node_modules/three/src/loaders/Loader.js +144 -0
  650. package/node_modules/three/src/loaders/LoaderUtils.js +18 -34
  651. package/node_modules/three/src/loaders/LoadingManager.js +187 -0
  652. package/node_modules/three/src/loaders/MaterialLoader.js +70 -4
  653. package/node_modules/three/src/loaders/ObjectLoader.js +146 -30
  654. package/node_modules/three/src/loaders/TextureLoader.js +33 -0
  655. package/node_modules/three/src/loaders/nodes/NodeLoader.js +194 -0
  656. package/node_modules/three/src/loaders/nodes/NodeMaterialLoader.js +108 -0
  657. package/node_modules/three/src/loaders/nodes/NodeObjectLoader.js +151 -0
  658. package/node_modules/three/src/materials/LineBasicMaterial.js +74 -1
  659. package/node_modules/three/src/materials/LineDashedMaterial.js +52 -1
  660. package/node_modules/three/src/materials/Material.js +504 -11
  661. package/node_modules/three/src/materials/MeshBasicMaterial.js +172 -3
  662. package/node_modules/three/src/materials/MeshDepthMaterial.js +94 -0
  663. package/node_modules/three/src/materials/MeshDistanceMaterial.js +76 -0
  664. package/node_modules/three/src/materials/MeshLambertMaterial.js +278 -1
  665. package/node_modules/three/src/materials/MeshMatcapMaterial.js +164 -0
  666. package/node_modules/three/src/materials/MeshNormalMaterial.js +114 -0
  667. package/node_modules/three/src/materials/MeshPhongMaterial.js +293 -1
  668. package/node_modules/three/src/materials/MeshPhysicalMaterial.js +316 -4
  669. package/node_modules/three/src/materials/MeshStandardMaterial.js +304 -3
  670. package/node_modules/three/src/materials/MeshToonMaterial.js +219 -0
  671. package/node_modules/three/src/materials/PointsMaterial.js +89 -0
  672. package/node_modules/three/src/materials/RawShaderMaterial.js +25 -0
  673. package/node_modules/three/src/materials/ShaderMaterial.js +215 -10
  674. package/node_modules/three/src/materials/ShadowMaterial.js +54 -0
  675. package/node_modules/three/src/materials/SpriteMaterial.js +82 -0
  676. package/node_modules/three/{examples/jsm/nodes/materials → src/materials/nodes}/Line2NodeMaterial.js +206 -100
  677. package/node_modules/three/src/materials/nodes/LineBasicNodeMaterial.js +46 -0
  678. package/node_modules/three/src/materials/nodes/LineDashedNodeMaterial.js +132 -0
  679. package/node_modules/three/src/materials/nodes/MeshBasicNodeMaterial.js +134 -0
  680. package/node_modules/three/src/materials/nodes/MeshLambertNodeMaterial.js +82 -0
  681. package/node_modules/three/src/materials/nodes/MeshMatcapNodeMaterial.js +77 -0
  682. package/node_modules/three/src/materials/nodes/MeshNormalNodeMaterial.js +67 -0
  683. package/node_modules/three/src/materials/nodes/MeshPhongNodeMaterial.js +141 -0
  684. package/node_modules/three/src/materials/nodes/MeshPhysicalNodeMaterial.js +518 -0
  685. package/node_modules/three/src/materials/nodes/MeshSSSNodeMaterial.js +175 -0
  686. package/node_modules/three/src/materials/nodes/MeshStandardNodeMaterial.js +186 -0
  687. package/node_modules/three/src/materials/nodes/MeshToonNodeMaterial.js +66 -0
  688. package/node_modules/three/src/materials/nodes/NodeMaterial.js +1310 -0
  689. package/node_modules/three/{examples/jsm/nodes/materials/Materials.js → src/materials/nodes/NodeMaterials.js} +7 -2
  690. package/node_modules/three/src/materials/nodes/PointsNodeMaterial.js +211 -0
  691. package/node_modules/three/src/materials/nodes/ShadowNodeMaterial.js +76 -0
  692. package/node_modules/three/src/materials/nodes/SpriteNodeMaterial.js +186 -0
  693. package/node_modules/three/src/materials/nodes/VolumeNodeMaterial.js +81 -0
  694. package/node_modules/three/src/materials/nodes/manager/NodeMaterialObserver.js +613 -0
  695. package/node_modules/three/src/math/Box2.js +181 -4
  696. package/node_modules/three/src/math/Box3.js +277 -6
  697. package/node_modules/three/src/math/Color.js +355 -11
  698. package/node_modules/three/src/math/ColorManagement.js +161 -85
  699. package/node_modules/three/src/math/Cylindrical.js +65 -6
  700. package/node_modules/three/src/math/Euler.js +139 -5
  701. package/node_modules/three/src/math/Frustum.js +108 -9
  702. package/node_modules/three/src/math/FrustumArray.js +258 -0
  703. package/node_modules/three/src/math/Interpolant.js +87 -8
  704. package/node_modules/three/src/math/Line3.js +223 -2
  705. package/node_modules/three/src/math/MathUtils.js +408 -20
  706. package/node_modules/three/src/math/Matrix2.js +124 -0
  707. package/node_modules/three/src/math/Matrix3.js +229 -4
  708. package/node_modules/three/src/math/Matrix4.js +416 -30
  709. package/node_modules/three/src/math/Plane.js +164 -2
  710. package/node_modules/three/src/math/Quaternion.js +345 -86
  711. package/node_modules/three/src/math/Ray.js +162 -0
  712. package/node_modules/three/src/math/Sphere.js +175 -0
  713. package/node_modules/three/src/math/Spherical.js +74 -13
  714. package/node_modules/three/src/math/SphericalHarmonics3.js +112 -14
  715. package/node_modules/three/src/math/Triangle.js +230 -2
  716. package/node_modules/three/src/math/Vector2.js +396 -10
  717. package/node_modules/three/src/math/Vector3.js +557 -20
  718. package/node_modules/three/src/math/Vector4.js +428 -9
  719. package/node_modules/three/src/math/interpolants/CubicInterpolant.js +10 -1
  720. package/node_modules/three/src/math/interpolants/DiscreteInterpolant.js +10 -2
  721. package/node_modules/three/src/math/interpolants/LinearInterpolant.js +13 -0
  722. package/node_modules/three/src/math/interpolants/QuaternionLinearInterpolant.js +10 -1
  723. package/node_modules/three/src/nodes/Nodes.js +148 -0
  724. package/node_modules/three/src/nodes/TSL.js +173 -0
  725. package/node_modules/three/src/nodes/accessors/AccessorsUtils.js +53 -0
  726. package/node_modules/three/src/nodes/accessors/Arrays.js +68 -0
  727. package/node_modules/three/src/nodes/accessors/BatchNode.js +163 -0
  728. package/node_modules/three/src/nodes/accessors/Bitangent.js +82 -0
  729. package/node_modules/three/src/nodes/accessors/BufferAttributeNode.js +340 -0
  730. package/node_modules/three/src/nodes/accessors/BufferNode.js +101 -0
  731. package/node_modules/three/src/nodes/accessors/BuiltinNode.js +63 -0
  732. package/node_modules/three/src/nodes/accessors/Camera.js +282 -0
  733. package/node_modules/three/src/nodes/accessors/ClippingNode.js +255 -0
  734. package/node_modules/three/src/nodes/accessors/CubeTextureNode.js +190 -0
  735. package/node_modules/three/src/nodes/accessors/InstanceNode.js +244 -0
  736. package/node_modules/three/src/nodes/accessors/InstancedMeshNode.js +50 -0
  737. package/node_modules/three/src/nodes/accessors/Lights.js +139 -0
  738. package/node_modules/three/src/nodes/accessors/MaterialNode.js +775 -0
  739. package/node_modules/three/src/nodes/accessors/MaterialProperties.js +59 -0
  740. package/node_modules/three/src/nodes/accessors/MaterialReferenceNode.js +85 -0
  741. package/node_modules/three/src/nodes/accessors/ModelNode.js +184 -0
  742. package/node_modules/three/src/nodes/accessors/ModelViewProjectionNode.js +13 -0
  743. package/node_modules/three/{examples/jsm → src}/nodes/accessors/MorphNode.js +122 -57
  744. package/node_modules/three/src/nodes/accessors/Normal.js +243 -0
  745. package/node_modules/three/src/nodes/accessors/Object3DNode.js +268 -0
  746. package/node_modules/three/src/nodes/accessors/PointUVNode.js +55 -0
  747. package/node_modules/three/src/nodes/accessors/Position.js +90 -0
  748. package/node_modules/three/src/nodes/accessors/ReferenceBaseNode.js +357 -0
  749. package/node_modules/three/src/nodes/accessors/ReferenceNode.js +424 -0
  750. package/node_modules/three/src/nodes/accessors/ReflectVector.js +36 -0
  751. package/node_modules/three/src/nodes/accessors/RendererReferenceNode.js +79 -0
  752. package/node_modules/three/src/nodes/accessors/SceneNode.js +145 -0
  753. package/node_modules/three/src/nodes/accessors/SkinningNode.js +327 -0
  754. package/node_modules/three/src/nodes/accessors/StorageBufferNode.js +416 -0
  755. package/node_modules/three/src/nodes/accessors/StorageTextureNode.js +264 -0
  756. package/node_modules/three/src/nodes/accessors/Tangent.js +70 -0
  757. package/node_modules/three/src/nodes/accessors/TangentUtils.js +46 -0
  758. package/node_modules/three/src/nodes/accessors/Texture3DNode.js +199 -0
  759. package/node_modules/three/{examples/jsm/nodes/accessors/TextureBicubicNode.js → src/nodes/accessors/TextureBicubic.js} +28 -30
  760. package/node_modules/three/src/nodes/accessors/TextureNode.js +927 -0
  761. package/node_modules/three/src/nodes/accessors/TextureSizeNode.js +77 -0
  762. package/node_modules/three/src/nodes/accessors/UV.js +11 -0
  763. package/node_modules/three/src/nodes/accessors/UniformArrayNode.js +348 -0
  764. package/node_modules/three/src/nodes/accessors/UserDataNode.js +77 -0
  765. package/node_modules/three/src/nodes/accessors/VelocityNode.js +224 -0
  766. package/node_modules/three/src/nodes/accessors/VertexColorNode.js +110 -0
  767. package/node_modules/three/src/nodes/code/CodeNode.js +181 -0
  768. package/node_modules/three/src/nodes/code/ExpressionNode.js +68 -0
  769. package/node_modules/three/src/nodes/code/FunctionCallNode.js +187 -0
  770. package/node_modules/three/src/nodes/code/FunctionNode.js +183 -0
  771. package/node_modules/three/{examples/jsm → src}/nodes/code/ScriptableNode.js +253 -15
  772. package/node_modules/three/{examples/jsm → src}/nodes/code/ScriptableValueNode.js +95 -9
  773. package/node_modules/three/src/nodes/core/ArrayNode.js +155 -0
  774. package/node_modules/three/src/nodes/core/AssignNode.js +202 -0
  775. package/node_modules/three/src/nodes/core/AttributeNode.js +168 -0
  776. package/node_modules/three/src/nodes/core/BypassNode.js +93 -0
  777. package/node_modules/three/src/nodes/core/ConstNode.js +67 -0
  778. package/node_modules/three/src/nodes/core/ContextNode.js +184 -0
  779. package/node_modules/three/src/nodes/core/IndexNode.js +164 -0
  780. package/node_modules/three/src/nodes/core/InputNode.js +136 -0
  781. package/node_modules/three/src/nodes/core/InspectorNode.js +128 -0
  782. package/node_modules/three/src/nodes/core/IsolateNode.js +133 -0
  783. package/node_modules/three/src/nodes/core/LightingModel.js +77 -0
  784. package/node_modules/three/src/nodes/core/MRTNode.js +150 -0
  785. package/node_modules/three/src/nodes/core/Node.js +1083 -0
  786. package/node_modules/three/src/nodes/core/NodeAttribute.js +53 -0
  787. package/node_modules/three/src/nodes/core/NodeBuilder.js +3081 -0
  788. package/node_modules/three/src/nodes/core/NodeCache.js +75 -0
  789. package/node_modules/three/src/nodes/core/NodeCode.js +46 -0
  790. package/node_modules/three/src/nodes/core/NodeFrame.js +306 -0
  791. package/node_modules/three/src/nodes/core/NodeFunction.js +69 -0
  792. package/node_modules/three/src/nodes/core/NodeFunctionInput.js +61 -0
  793. package/node_modules/three/src/nodes/core/NodeParser.js +23 -0
  794. package/node_modules/three/src/nodes/core/NodeUniform.js +91 -0
  795. package/node_modules/three/src/nodes/core/NodeUtils.js +406 -0
  796. package/node_modules/three/src/nodes/core/NodeVar.js +60 -0
  797. package/node_modules/three/src/nodes/core/NodeVarying.js +63 -0
  798. package/node_modules/three/src/nodes/core/OutputStructNode.js +103 -0
  799. package/node_modules/three/src/nodes/core/ParameterNode.js +94 -0
  800. package/node_modules/three/src/nodes/core/PropertyNode.js +351 -0
  801. package/node_modules/three/src/nodes/core/StackNode.js +377 -0
  802. package/node_modules/three/src/nodes/core/StructNode.js +120 -0
  803. package/node_modules/three/src/nodes/core/StructType.js +13 -0
  804. package/node_modules/three/src/nodes/core/StructTypeNode.js +154 -0
  805. package/node_modules/three/src/nodes/core/SubBuildNode.js +89 -0
  806. package/node_modules/three/src/nodes/core/TempNode.js +88 -0
  807. package/node_modules/three/src/nodes/core/UniformGroupNode.js +137 -0
  808. package/node_modules/three/src/nodes/core/UniformNode.js +243 -0
  809. package/node_modules/three/src/nodes/core/VarNode.js +342 -0
  810. package/node_modules/three/src/nodes/core/VaryingNode.js +227 -0
  811. package/node_modules/three/src/nodes/core/constants.js +68 -0
  812. package/node_modules/three/src/nodes/display/BlendModes.js +235 -0
  813. package/node_modules/three/src/nodes/display/BumpMapNode.js +117 -0
  814. package/node_modules/three/src/nodes/display/ColorAdjustment.js +141 -0
  815. package/node_modules/three/src/nodes/display/ColorSpaceFunctions.js +54 -0
  816. package/node_modules/three/src/nodes/display/ColorSpaceNode.js +164 -0
  817. package/node_modules/three/src/nodes/display/FrontFacingNode.js +102 -0
  818. package/node_modules/three/src/nodes/display/NormalMapNode.js +118 -0
  819. package/node_modules/three/src/nodes/display/PassNode.js +946 -0
  820. package/node_modules/three/src/nodes/display/PosterizeNode.js +65 -0
  821. package/node_modules/three/src/nodes/display/RenderOutputNode.js +150 -0
  822. package/node_modules/three/src/nodes/display/ScreenNode.js +290 -0
  823. package/node_modules/three/src/nodes/display/ToneMappingFunctions.js +242 -0
  824. package/node_modules/three/src/nodes/display/ToneMappingNode.js +147 -0
  825. package/node_modules/three/src/nodes/display/ToonOutlinePassNode.js +191 -0
  826. package/node_modules/three/src/nodes/display/ViewportDepthNode.js +294 -0
  827. package/node_modules/three/src/nodes/display/ViewportDepthTextureNode.js +67 -0
  828. package/node_modules/three/src/nodes/display/ViewportSharedTextureNode.js +73 -0
  829. package/node_modules/three/src/nodes/display/ViewportTextureNode.js +228 -0
  830. package/node_modules/three/src/nodes/fog/Fog.js +114 -0
  831. package/node_modules/three/src/nodes/functions/BSDF/BRDF_GGX.js +55 -0
  832. package/node_modules/three/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.js +52 -0
  833. package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/BRDF_Lambert.js +2 -2
  834. package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/BRDF_Sheen.js +9 -9
  835. package/node_modules/three/src/nodes/functions/BSDF/DFGApprox.js +71 -0
  836. package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/D_GGX.js +2 -2
  837. package/node_modules/three/src/nodes/functions/BSDF/D_GGX_Anisotropic.js +28 -0
  838. package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/EnvironmentBRDF.js +2 -2
  839. package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/F_Schlick.js +2 -2
  840. package/node_modules/three/src/nodes/functions/BSDF/LTC.js +175 -0
  841. package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/Schlick_to_F0.js +2 -2
  842. package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +2 -4
  843. package/node_modules/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.js +29 -0
  844. package/node_modules/three/src/nodes/functions/BasicLightingModel.js +100 -0
  845. package/node_modules/three/src/nodes/functions/PhongLightingModel.js +99 -0
  846. package/node_modules/three/src/nodes/functions/PhysicalLightingModel.js +797 -0
  847. package/node_modules/three/src/nodes/functions/ShadowMaskModel.js +58 -0
  848. package/node_modules/three/src/nodes/functions/ToonLightingModel.js +70 -0
  849. package/node_modules/three/src/nodes/functions/VolumetricLightingModel.js +183 -0
  850. package/node_modules/three/src/nodes/functions/material/getAlphaHashThreshold.js +68 -0
  851. package/node_modules/three/src/nodes/functions/material/getGeometryRoughness.js +19 -0
  852. package/node_modules/three/src/nodes/functions/material/getParallaxCorrectNormal.js +37 -0
  853. package/node_modules/three/{examples/jsm → src}/nodes/functions/material/getRoughness.js +2 -2
  854. package/node_modules/three/src/nodes/functions/material/getShIrradianceAt.js +28 -0
  855. package/node_modules/three/src/nodes/geometry/RangeNode.js +208 -0
  856. package/node_modules/three/src/nodes/gpgpu/AtomicFunctionNode.js +274 -0
  857. package/node_modules/three/src/nodes/gpgpu/BarrierNode.js +89 -0
  858. package/node_modules/three/src/nodes/gpgpu/ComputeBuiltinNode.js +228 -0
  859. package/node_modules/three/src/nodes/gpgpu/ComputeNode.js +284 -0
  860. package/node_modules/three/src/nodes/gpgpu/SubgroupFunctionNode.js +455 -0
  861. package/node_modules/three/src/nodes/gpgpu/WorkgroupInfoNode.js +234 -0
  862. package/node_modules/three/src/nodes/lighting/AONode.js +45 -0
  863. package/node_modules/three/{examples/jsm → src}/nodes/lighting/AmbientLightNode.js +16 -8
  864. package/node_modules/three/src/nodes/lighting/AnalyticLightNode.js +256 -0
  865. package/node_modules/three/src/nodes/lighting/BasicEnvironmentNode.js +49 -0
  866. package/node_modules/three/src/nodes/lighting/BasicLightMapNode.js +49 -0
  867. package/node_modules/three/src/nodes/lighting/DirectionalLightNode.js +39 -0
  868. package/node_modules/three/src/nodes/lighting/EnvironmentNode.js +153 -0
  869. package/node_modules/three/src/nodes/lighting/HemisphereLightNode.js +87 -0
  870. package/node_modules/three/{examples/jsm → src}/nodes/lighting/IESSpotLightNode.js +20 -10
  871. package/node_modules/three/src/nodes/lighting/IrradianceNode.js +44 -0
  872. package/node_modules/three/src/nodes/lighting/LightProbeNode.js +73 -0
  873. package/node_modules/three/src/nodes/lighting/LightUtils.js +25 -0
  874. package/node_modules/three/src/nodes/lighting/LightingContextNode.js +115 -0
  875. package/node_modules/three/src/nodes/lighting/LightingNode.js +36 -0
  876. package/node_modules/three/src/nodes/lighting/LightsNode.js +453 -0
  877. package/node_modules/three/src/nodes/lighting/PointLightNode.js +102 -0
  878. package/node_modules/three/src/nodes/lighting/PointShadowNode.js +312 -0
  879. package/node_modules/three/src/nodes/lighting/ProjectorLightNode.js +91 -0
  880. package/node_modules/three/src/nodes/lighting/RectAreaLightNode.js +133 -0
  881. package/node_modules/three/src/nodes/lighting/ShadowBaseNode.js +81 -0
  882. package/node_modules/three/src/nodes/lighting/ShadowFilterNode.js +276 -0
  883. package/node_modules/three/src/nodes/lighting/ShadowNode.js +811 -0
  884. package/node_modules/three/src/nodes/lighting/SpotLightNode.js +168 -0
  885. package/node_modules/three/src/nodes/materialx/MaterialXNodes.js +197 -0
  886. package/node_modules/three/{examples/jsm → src}/nodes/materialx/lib/mx_hsv.js +43 -46
  887. package/node_modules/three/{examples/jsm → src}/nodes/materialx/lib/mx_noise.js +625 -564
  888. package/node_modules/three/{examples/jsm → src}/nodes/materialx/lib/mx_transform_color.js +3 -9
  889. package/node_modules/three/src/nodes/math/BitcastNode.js +156 -0
  890. package/node_modules/three/src/nodes/math/ConditionalNode.js +245 -0
  891. package/node_modules/three/src/nodes/math/Hash.js +21 -0
  892. package/node_modules/three/src/nodes/math/MathNode.js +1167 -0
  893. package/node_modules/three/src/nodes/math/MathUtils.js +54 -0
  894. package/node_modules/three/src/nodes/math/OperatorNode.js +751 -0
  895. package/node_modules/three/{examples/jsm → src}/nodes/math/TriNoise3D.js +34 -34
  896. package/node_modules/three/{examples/jsm → src}/nodes/parsers/GLSLNodeFunction.js +23 -7
  897. package/node_modules/three/{examples/jsm → src}/nodes/parsers/GLSLNodeParser.js +11 -0
  898. package/node_modules/three/src/nodes/pmrem/PMREMNode.js +397 -0
  899. package/node_modules/three/src/nodes/pmrem/PMREMUtils.js +403 -0
  900. package/node_modules/three/src/nodes/procedural/Checker.js +22 -0
  901. package/node_modules/three/src/nodes/shapes/Shapes.js +33 -0
  902. package/node_modules/three/src/nodes/tsl/TSLBase.js +36 -0
  903. package/node_modules/three/src/nodes/tsl/TSLCore.js +1229 -0
  904. package/node_modules/three/src/nodes/utils/ArrayElementNode.js +77 -0
  905. package/node_modules/three/src/nodes/utils/ConvertNode.js +100 -0
  906. package/node_modules/three/src/nodes/utils/CubeMapNode.js +237 -0
  907. package/node_modules/three/src/nodes/utils/DebugNode.js +83 -0
  908. package/node_modules/three/src/nodes/utils/Discard.js +24 -0
  909. package/node_modules/three/src/nodes/utils/EquirectUV.js +27 -0
  910. package/node_modules/three/src/nodes/utils/EventNode.js +119 -0
  911. package/node_modules/three/src/nodes/utils/FlipNode.js +106 -0
  912. package/node_modules/three/src/nodes/utils/FunctionOverloadingNode.js +170 -0
  913. package/node_modules/three/src/nodes/utils/JoinNode.js +117 -0
  914. package/node_modules/three/src/nodes/utils/LoopNode.js +349 -0
  915. package/node_modules/three/src/nodes/utils/MatcapUV.js +22 -0
  916. package/node_modules/three/src/nodes/utils/MaxMipLevelNode.js +103 -0
  917. package/node_modules/three/src/nodes/utils/MemberNode.js +120 -0
  918. package/node_modules/three/src/nodes/utils/Oscillators.js +41 -0
  919. package/node_modules/three/src/nodes/utils/Packing.js +21 -0
  920. package/node_modules/three/src/nodes/utils/PostProcessingUtils.js +122 -0
  921. package/node_modules/three/src/nodes/utils/RTTNode.js +289 -0
  922. package/node_modules/three/src/nodes/utils/ReflectorNode.js +630 -0
  923. package/node_modules/three/src/nodes/utils/RemapNode.js +125 -0
  924. package/node_modules/three/{examples/jsm → src}/nodes/utils/RotateNode.js +48 -13
  925. package/node_modules/three/src/nodes/utils/SampleNode.js +91 -0
  926. package/node_modules/three/{examples/jsm → src}/nodes/utils/SetNode.js +50 -4
  927. package/node_modules/three/{examples/jsm → src}/nodes/utils/SplitNode.js +73 -6
  928. package/node_modules/three/src/nodes/utils/SpriteSheetUVNode.js +90 -0
  929. package/node_modules/three/src/nodes/utils/SpriteUtils.js +63 -0
  930. package/node_modules/three/src/nodes/utils/StorageArrayElementNode.js +143 -0
  931. package/node_modules/three/src/nodes/utils/Timer.js +26 -0
  932. package/node_modules/three/src/nodes/utils/TriplanarTextures.js +65 -0
  933. package/node_modules/three/src/nodes/utils/UVUtils.js +39 -0
  934. package/node_modules/three/src/nodes/utils/ViewportUtils.js +26 -0
  935. package/node_modules/three/src/objects/BatchedMesh.js +940 -305
  936. package/node_modules/three/src/objects/Bone.js +24 -0
  937. package/node_modules/three/src/objects/ClippingGroup.js +68 -0
  938. package/node_modules/three/src/objects/Group.js +24 -0
  939. package/node_modules/three/src/objects/InstancedMesh.js +182 -1
  940. package/node_modules/three/src/objects/LOD.js +120 -5
  941. package/node_modules/three/src/objects/Line.js +151 -44
  942. package/node_modules/three/src/objects/LineLoop.js +20 -0
  943. package/node_modules/three/src/objects/LineSegments.js +20 -1
  944. package/node_modules/three/src/objects/Mesh.js +91 -24
  945. package/node_modules/three/src/objects/Points.js +62 -0
  946. package/node_modules/three/src/objects/Skeleton.js +111 -5
  947. package/node_modules/three/src/objects/SkinnedMesh.js +102 -6
  948. package/node_modules/three/src/objects/Sprite.js +65 -1
  949. package/node_modules/three/src/renderers/WebGL3DRenderTarget.js +26 -0
  950. package/node_modules/three/src/renderers/WebGLArrayRenderTarget.js +26 -0
  951. package/node_modules/three/src/renderers/WebGLCubeRenderTarget.js +42 -15
  952. package/node_modules/three/src/renderers/WebGLRenderTarget.js +19 -0
  953. package/node_modules/three/src/renderers/WebGLRenderer.js +1222 -318
  954. package/node_modules/three/src/renderers/common/Animation.js +159 -0
  955. package/node_modules/three/{examples/jsm → src}/renderers/common/Attributes.js +45 -2
  956. package/node_modules/three/src/renderers/common/Backend.js +748 -0
  957. package/node_modules/three/src/renderers/common/Background.js +212 -0
  958. package/node_modules/three/src/renderers/common/BindGroup.js +61 -0
  959. package/node_modules/three/src/renderers/common/Binding.js +60 -0
  960. package/node_modules/three/src/renderers/common/Bindings.js +379 -0
  961. package/node_modules/three/src/renderers/common/Buffer.js +87 -0
  962. package/node_modules/three/src/renderers/common/BufferUtils.js +58 -0
  963. package/node_modules/three/src/renderers/common/BundleGroup.js +83 -0
  964. package/node_modules/three/src/renderers/common/CanvasTarget.js +341 -0
  965. package/node_modules/three/src/renderers/common/ChainMap.js +98 -0
  966. package/node_modules/three/src/renderers/common/ClippingContext.js +262 -0
  967. package/node_modules/three/src/renderers/common/Color4.js +77 -0
  968. package/node_modules/three/src/renderers/common/ComputePipeline.js +41 -0
  969. package/node_modules/three/{examples/jsm → src}/renderers/common/Constants.js +2 -1
  970. package/node_modules/three/{examples/jsm → src}/renderers/common/CubeRenderTarget.js +43 -5
  971. package/node_modules/three/src/renderers/common/DataMap.js +90 -0
  972. package/node_modules/three/src/renderers/common/Geometries.js +370 -0
  973. package/node_modules/three/src/renderers/common/IndirectStorageBufferAttribute.js +38 -0
  974. package/node_modules/three/src/renderers/common/Info.js +172 -0
  975. package/node_modules/three/src/renderers/common/InspectorBase.js +146 -0
  976. package/node_modules/three/src/renderers/common/Lighting.js +73 -0
  977. package/node_modules/three/src/renderers/common/Pipeline.js +35 -0
  978. package/node_modules/three/{examples/jsm → src}/renderers/common/Pipelines.js +150 -7
  979. package/node_modules/three/src/renderers/common/PostProcessing.js +226 -0
  980. package/node_modules/three/src/renderers/common/ProgrammableStage.js +78 -0
  981. package/node_modules/three/src/renderers/common/QuadMesh.js +112 -0
  982. package/node_modules/three/src/renderers/common/RenderBundle.js +24 -0
  983. package/node_modules/three/src/renderers/common/RenderBundles.js +67 -0
  984. package/node_modules/three/src/renderers/common/RenderContext.js +265 -0
  985. package/node_modules/three/src/renderers/common/RenderContexts.js +116 -0
  986. package/node_modules/three/src/renderers/common/RenderList.js +404 -0
  987. package/node_modules/three/src/renderers/common/RenderLists.js +77 -0
  988. package/node_modules/three/src/renderers/common/RenderObject.js +903 -0
  989. package/node_modules/three/src/renderers/common/RenderObjects.js +202 -0
  990. package/node_modules/three/src/renderers/common/RenderPipeline.js +40 -0
  991. package/node_modules/three/src/renderers/common/Renderer.js +3290 -0
  992. package/node_modules/three/src/renderers/common/RendererUtils.js +200 -0
  993. package/node_modules/three/src/renderers/common/SampledTexture.js +152 -0
  994. package/node_modules/three/src/renderers/common/Sampler.js +165 -0
  995. package/node_modules/three/src/renderers/common/Storage3DTexture.js +100 -0
  996. package/node_modules/three/src/renderers/common/StorageArrayTexture.js +84 -0
  997. package/node_modules/three/src/renderers/common/StorageBuffer.js +41 -0
  998. package/node_modules/three/src/renderers/common/StorageBufferAttribute.js +46 -0
  999. package/node_modules/three/src/renderers/common/StorageInstancedBufferAttribute.js +46 -0
  1000. package/node_modules/three/src/renderers/common/StorageTexture.js +86 -0
  1001. package/node_modules/three/src/renderers/common/Textures.js +544 -0
  1002. package/node_modules/three/src/renderers/common/TimestampQueryPool.js +161 -0
  1003. package/node_modules/three/src/renderers/common/Uniform.js +367 -0
  1004. package/node_modules/three/src/renderers/common/UniformBuffer.js +34 -0
  1005. package/node_modules/three/src/renderers/common/UniformsGroup.js +487 -0
  1006. package/node_modules/three/src/renderers/common/XRManager.js +1676 -0
  1007. package/node_modules/three/src/renderers/common/XRRenderTarget.js +91 -0
  1008. package/node_modules/three/src/renderers/common/extras/PMREMGenerator.js +1034 -0
  1009. package/node_modules/three/src/renderers/common/nodes/NodeBuilderState.js +152 -0
  1010. package/node_modules/three/src/renderers/common/nodes/NodeLibrary.js +196 -0
  1011. package/node_modules/three/src/renderers/common/nodes/NodeSampledTexture.js +140 -0
  1012. package/node_modules/three/src/renderers/common/nodes/NodeSampler.js +62 -0
  1013. package/node_modules/three/src/renderers/common/nodes/NodeStorageBuffer.js +61 -0
  1014. package/node_modules/three/src/renderers/common/nodes/NodeUniform.js +418 -0
  1015. package/node_modules/three/src/renderers/common/nodes/NodeUniformBuffer.js +53 -0
  1016. package/node_modules/three/src/renderers/common/nodes/NodeUniformsGroup.js +51 -0
  1017. package/node_modules/three/src/renderers/common/nodes/Nodes.js +840 -0
  1018. package/node_modules/three/src/renderers/shaders/DFGLUTData.js +64 -0
  1019. package/node_modules/three/src/renderers/shaders/ShaderChunk/batching_pars_vertex.glsl.js +31 -1
  1020. package/node_modules/three/src/renderers/shaders/ShaderChunk/batching_vertex.glsl.js +1 -1
  1021. package/node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js +1 -1
  1022. package/node_modules/three/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js +9 -1
  1023. package/node_modules/three/src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js +4 -33
  1024. package/node_modules/three/src/renderers/shaders/ShaderChunk/common.glsl.js +0 -22
  1025. package/node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js +8 -0
  1026. package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +2 -1
  1027. package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +1 -1
  1028. package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +3 -3
  1029. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +3 -3
  1030. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +8 -22
  1031. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +6 -0
  1032. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +55 -20
  1033. package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js +2 -2
  1034. package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js +1 -1
  1035. package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js +3 -11
  1036. package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js +3 -17
  1037. package/node_modules/three/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js +3 -3
  1038. package/node_modules/three/src/renderers/shaders/ShaderChunk/morphcolor_vertex.glsl.js +1 -1
  1039. package/node_modules/three/src/renderers/shaders/ShaderChunk/morphinstance_vertex.glsl.js +14 -0
  1040. package/node_modules/three/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js +3 -14
  1041. package/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js +12 -24
  1042. package/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js +3 -23
  1043. package/node_modules/three/src/renderers/shaders/ShaderChunk/packing.glsl.js +45 -13
  1044. package/node_modules/three/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +1 -1
  1045. package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +59 -36
  1046. package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +3 -0
  1047. package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +3 -3
  1048. package/node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js +33 -2
  1049. package/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +1 -1
  1050. package/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +47 -13
  1051. package/node_modules/three/src/renderers/shaders/ShaderChunk.js +2 -2
  1052. package/node_modules/three/src/renderers/shaders/ShaderLib/background.glsl.js +1 -1
  1053. package/node_modules/three/src/renderers/shaders/ShaderLib/backgroundCube.glsl.js +3 -2
  1054. package/node_modules/three/src/renderers/shaders/ShaderLib/depth.glsl.js +21 -2
  1055. package/node_modules/three/src/renderers/shaders/ShaderLib/distanceRGBA.glsl.js +2 -0
  1056. package/node_modules/three/src/renderers/shaders/ShaderLib/linedashed.glsl.js +1 -0
  1057. package/node_modules/three/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +1 -0
  1058. package/node_modules/three/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +1 -0
  1059. package/node_modules/three/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js +1 -0
  1060. package/node_modules/three/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +1 -0
  1061. package/node_modules/three/src/renderers/shaders/ShaderLib/meshphong.glsl.js +1 -0
  1062. package/node_modules/three/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +5 -0
  1063. package/node_modules/three/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +1 -0
  1064. package/node_modules/three/src/renderers/shaders/ShaderLib/points.glsl.js +1 -0
  1065. package/node_modules/three/src/renderers/shaders/ShaderLib/shadow.glsl.js +1 -0
  1066. package/node_modules/three/src/renderers/shaders/ShaderLib/sprite.glsl.js +2 -4
  1067. package/node_modules/three/src/renderers/shaders/ShaderLib.js +4 -2
  1068. package/node_modules/three/src/renderers/shaders/UniformsLib.js +6 -4
  1069. package/node_modules/three/src/renderers/shaders/UniformsUtils.js +31 -3
  1070. package/node_modules/three/src/renderers/webgl/WebGLAttributes.js +46 -38
  1071. package/node_modules/three/src/renderers/webgl/WebGLBackground.js +69 -5
  1072. package/node_modules/three/src/renderers/webgl/WebGLBindingStates.js +14 -51
  1073. package/node_modules/three/src/renderers/webgl/WebGLBufferRenderer.js +19 -22
  1074. package/node_modules/three/src/renderers/webgl/WebGLCapabilities.js +39 -14
  1075. package/node_modules/three/src/renderers/webgl/WebGLCubeUVMaps.js +10 -6
  1076. package/node_modules/three/src/renderers/webgl/WebGLExtensions.js +8 -44
  1077. package/node_modules/three/src/renderers/webgl/WebGLGeometries.js +0 -28
  1078. package/node_modules/three/src/renderers/webgl/WebGLIndexedBufferRenderer.js +19 -21
  1079. package/node_modules/three/src/renderers/webgl/WebGLInfo.js +3 -1
  1080. package/node_modules/three/src/renderers/webgl/WebGLLights.js +21 -44
  1081. package/node_modules/three/src/renderers/webgl/WebGLMaterials.js +33 -9
  1082. package/node_modules/three/src/renderers/webgl/WebGLMorphtargets.js +78 -210
  1083. package/node_modules/three/src/renderers/webgl/WebGLProgram.js +103 -121
  1084. package/node_modules/three/src/renderers/webgl/WebGLPrograms.js +32 -26
  1085. package/node_modules/three/src/renderers/webgl/WebGLProperties.js +7 -0
  1086. package/node_modules/three/src/renderers/webgl/WebGLRenderStates.js +15 -9
  1087. package/node_modules/three/src/renderers/webgl/WebGLShadowMap.js +41 -29
  1088. package/node_modules/three/src/renderers/webgl/WebGLState.js +104 -100
  1089. package/node_modules/three/src/renderers/webgl/WebGLTextures.js +567 -408
  1090. package/node_modules/three/src/renderers/webgl/WebGLUniforms.js +12 -2
  1091. package/node_modules/three/src/renderers/webgl/WebGLUniformsGroups.js +13 -11
  1092. package/node_modules/three/src/renderers/webgl/WebGLUtils.js +11 -81
  1093. package/node_modules/three/src/renderers/webgl-fallback/WebGLBackend.js +2612 -0
  1094. package/node_modules/three/src/renderers/webgl-fallback/WebGLBufferRenderer.js +140 -0
  1095. package/node_modules/three/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +1577 -0
  1096. package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLAttributeUtils.js +76 -3
  1097. package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLCapabilities.js +64 -0
  1098. package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLConstants.js +5 -3
  1099. package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLExtensions.js +83 -0
  1100. package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLState.js +427 -21
  1101. package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +1309 -0
  1102. package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js +396 -0
  1103. package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLUtils.js +72 -43
  1104. package/node_modules/three/src/renderers/webgpu/WebGPUBackend.js +2482 -0
  1105. package/node_modules/three/src/renderers/webgpu/WebGPURenderer.Nodes.js +69 -0
  1106. package/node_modules/three/src/renderers/webgpu/WebGPURenderer.js +106 -0
  1107. package/node_modules/three/src/renderers/webgpu/nodes/BasicNodeLibrary.js +66 -0
  1108. package/node_modules/three/src/renderers/webgpu/nodes/StandardNodeLibrary.js +100 -0
  1109. package/node_modules/three/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +2247 -0
  1110. package/node_modules/three/src/renderers/webgpu/nodes/WGSLNodeFunction.js +187 -0
  1111. package/node_modules/three/{examples/jsm → src}/renderers/webgpu/nodes/WGSLNodeParser.js +11 -0
  1112. package/node_modules/three/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +449 -0
  1113. package/node_modules/three/src/renderers/webgpu/utils/WebGPUBindingUtils.js +485 -0
  1114. package/node_modules/three/{examples/jsm → src}/renderers/webgpu/utils/WebGPUConstants.js +24 -4
  1115. package/node_modules/three/{examples/jsm → src}/renderers/webgpu/utils/WebGPUPipelineUtils.js +289 -72
  1116. package/node_modules/three/{examples/jsm → src}/renderers/webgpu/utils/WebGPUTexturePassUtils.js +160 -8
  1117. package/node_modules/three/src/renderers/webgpu/utils/WebGPUTextureUtils.js +1576 -0
  1118. package/node_modules/three/src/renderers/webgpu/utils/WebGPUTimestampQueryPool.js +310 -0
  1119. package/node_modules/three/src/renderers/webgpu/utils/WebGPUUtils.js +247 -0
  1120. package/node_modules/three/src/renderers/webxr/WebXRController.js +87 -2
  1121. package/node_modules/three/src/renderers/webxr/WebXRDepthSensing.js +63 -13
  1122. package/node_modules/three/src/renderers/webxr/WebXRManager.js +323 -44
  1123. package/node_modules/three/src/scenes/Fog.js +60 -0
  1124. package/node_modules/three/src/scenes/FogExp2.js +51 -0
  1125. package/node_modules/three/src/scenes/Scene.js +103 -1
  1126. package/node_modules/three/src/textures/CanvasTexture.js +28 -0
  1127. package/node_modules/three/src/textures/CompressedArrayTexture.js +71 -0
  1128. package/node_modules/three/src/textures/CompressedCubeTexture.js +29 -0
  1129. package/node_modules/three/src/textures/CompressedTexture.js +64 -6
  1130. package/node_modules/three/src/textures/CubeTexture.js +52 -4
  1131. package/node_modules/three/src/textures/Data3DTexture.js +79 -2
  1132. package/node_modules/three/src/textures/DataArrayTexture.js +107 -0
  1133. package/node_modules/three/src/textures/DataTexture.js +65 -0
  1134. package/node_modules/three/src/textures/DepthTexture.js +59 -13
  1135. package/node_modules/three/src/textures/ExternalTexture.js +56 -0
  1136. package/node_modules/three/src/textures/FramebufferTexture.js +62 -0
  1137. package/node_modules/three/src/textures/Source.js +106 -4
  1138. package/node_modules/three/src/textures/Texture.js +490 -27
  1139. package/node_modules/three/src/textures/VideoFrameTexture.js +72 -0
  1140. package/node_modules/three/src/textures/VideoTexture.js +78 -6
  1141. package/node_modules/three/src/utils.js +128 -3
  1142. package/package.json +3 -4
  1143. package/bin/playdrop-cli +0 -2
  1144. package/dist/commands/asset-packs.d.ts +0 -27
  1145. package/dist/commands/asset-packs.js +0 -508
  1146. package/dist/commands/assets.d.ts +0 -35
  1147. package/dist/commands/assets.js +0 -668
  1148. package/dist/commands/list.d.ts +0 -7
  1149. package/dist/commands/list.js +0 -347
  1150. package/dist/commands/migrateCatalogueV2.d.ts +0 -1
  1151. package/dist/commands/migrateCatalogueV2.js +0 -142
  1152. package/dist/commands/versions.d.ts +0 -17
  1153. package/dist/commands/versions.js +0 -384
  1154. package/node_modules/three/examples/jsm/animation/MMDAnimationHelper.js +0 -1207
  1155. package/node_modules/three/examples/jsm/animation/MMDPhysics.js +0 -1406
  1156. package/node_modules/three/examples/jsm/cameras/CinematicCamera.js +0 -208
  1157. package/node_modules/three/examples/jsm/effects/PeppersGhostEffect.js +0 -153
  1158. package/node_modules/three/examples/jsm/exporters/MMDExporter.js +0 -217
  1159. package/node_modules/three/examples/jsm/geometries/InstancedPointsGeometry.js +0 -174
  1160. package/node_modules/three/examples/jsm/geometries/ParametricGeometries.js +0 -254
  1161. package/node_modules/three/examples/jsm/geometries/SDFGeometryGenerator.js +0 -144
  1162. package/node_modules/three/examples/jsm/libs/mmdparser.module.js +0 -11530
  1163. package/node_modules/three/examples/jsm/lights/IESSpotLight.js +0 -25
  1164. package/node_modules/three/examples/jsm/loaders/LogLuvLoader.js +0 -606
  1165. package/node_modules/three/examples/jsm/loaders/MMDLoader.js +0 -2276
  1166. package/node_modules/three/examples/jsm/loaders/RGBMLoader.js +0 -1065
  1167. package/node_modules/three/examples/jsm/loaders/TiltLoader.js +0 -520
  1168. package/node_modules/three/examples/jsm/misc/Timer.js +0 -128
  1169. package/node_modules/three/examples/jsm/nodes/Nodes.js +0 -193
  1170. package/node_modules/three/examples/jsm/nodes/accessors/BitangentNode.js +0 -89
  1171. package/node_modules/three/examples/jsm/nodes/accessors/BufferAttributeNode.js +0 -127
  1172. package/node_modules/three/examples/jsm/nodes/accessors/BufferNode.js +0 -30
  1173. package/node_modules/three/examples/jsm/nodes/accessors/CameraNode.js +0 -119
  1174. package/node_modules/three/examples/jsm/nodes/accessors/CubeTextureNode.js +0 -61
  1175. package/node_modules/three/examples/jsm/nodes/accessors/InstanceNode.js +0 -71
  1176. package/node_modules/three/examples/jsm/nodes/accessors/InstancedPointsMaterialNode.js +0 -21
  1177. package/node_modules/three/examples/jsm/nodes/accessors/MaterialNode.js +0 -314
  1178. package/node_modules/three/examples/jsm/nodes/accessors/MaterialReferenceNode.js +0 -51
  1179. package/node_modules/three/examples/jsm/nodes/accessors/ModelNode.js +0 -33
  1180. package/node_modules/three/examples/jsm/nodes/accessors/ModelViewProjectionNode.js +0 -39
  1181. package/node_modules/three/examples/jsm/nodes/accessors/NormalNode.js +0 -96
  1182. package/node_modules/three/examples/jsm/nodes/accessors/Object3DNode.js +0 -150
  1183. package/node_modules/three/examples/jsm/nodes/accessors/PointUVNode.js +0 -26
  1184. package/node_modules/three/examples/jsm/nodes/accessors/PositionNode.js +0 -104
  1185. package/node_modules/three/examples/jsm/nodes/accessors/ReferenceNode.js +0 -102
  1186. package/node_modules/three/examples/jsm/nodes/accessors/ReflectVectorNode.js +0 -35
  1187. package/node_modules/three/examples/jsm/nodes/accessors/SceneNode.js +0 -52
  1188. package/node_modules/three/examples/jsm/nodes/accessors/SkinningNode.js +0 -103
  1189. package/node_modules/three/examples/jsm/nodes/accessors/StorageBufferNode.js +0 -54
  1190. package/node_modules/three/examples/jsm/nodes/accessors/TangentNode.js +0 -103
  1191. package/node_modules/three/examples/jsm/nodes/accessors/TextureNode.js +0 -367
  1192. package/node_modules/three/examples/jsm/nodes/accessors/TextureSizeNode.js +0 -35
  1193. package/node_modules/three/examples/jsm/nodes/accessors/TextureStoreNode.js +0 -82
  1194. package/node_modules/three/examples/jsm/nodes/accessors/UVNode.js +0 -47
  1195. package/node_modules/three/examples/jsm/nodes/accessors/UserDataNode.js +0 -29
  1196. package/node_modules/three/examples/jsm/nodes/accessors/VertexColorNode.js +0 -70
  1197. package/node_modules/three/examples/jsm/nodes/code/CodeNode.js +0 -78
  1198. package/node_modules/three/examples/jsm/nodes/code/ExpressionNode.js +0 -37
  1199. package/node_modules/three/examples/jsm/nodes/code/FunctionCallNode.js +0 -96
  1200. package/node_modules/three/examples/jsm/nodes/code/FunctionNode.js +0 -138
  1201. package/node_modules/three/examples/jsm/nodes/core/ArrayUniformNode.js +0 -26
  1202. package/node_modules/three/examples/jsm/nodes/core/AssignNode.js +0 -72
  1203. package/node_modules/three/examples/jsm/nodes/core/AttributeNode.js +0 -108
  1204. package/node_modules/three/examples/jsm/nodes/core/BypassNode.js +0 -45
  1205. package/node_modules/three/examples/jsm/nodes/core/CacheNode.js +0 -49
  1206. package/node_modules/three/examples/jsm/nodes/core/ConstNode.js +0 -32
  1207. package/node_modules/three/examples/jsm/nodes/core/ContextNode.js +0 -61
  1208. package/node_modules/three/examples/jsm/nodes/core/IndexNode.js +0 -66
  1209. package/node_modules/three/examples/jsm/nodes/core/InputNode.js +0 -83
  1210. package/node_modules/three/examples/jsm/nodes/core/LightingModel.js +0 -17
  1211. package/node_modules/three/examples/jsm/nodes/core/Node.js +0 -483
  1212. package/node_modules/three/examples/jsm/nodes/core/NodeAttribute.js +0 -15
  1213. package/node_modules/three/examples/jsm/nodes/core/NodeBuilder.js +0 -1256
  1214. package/node_modules/three/examples/jsm/nodes/core/NodeCache.js +0 -26
  1215. package/node_modules/three/examples/jsm/nodes/core/NodeCode.js +0 -15
  1216. package/node_modules/three/examples/jsm/nodes/core/NodeFrame.js +0 -143
  1217. package/node_modules/three/examples/jsm/nodes/core/NodeFunction.js +0 -22
  1218. package/node_modules/three/examples/jsm/nodes/core/NodeFunctionInput.js +0 -17
  1219. package/node_modules/three/examples/jsm/nodes/core/NodeKeywords.js +0 -80
  1220. package/node_modules/three/examples/jsm/nodes/core/NodeParser.js +0 -11
  1221. package/node_modules/three/examples/jsm/nodes/core/NodeUniform.js +0 -40
  1222. package/node_modules/three/examples/jsm/nodes/core/NodeUtils.js +0 -210
  1223. package/node_modules/three/examples/jsm/nodes/core/NodeVar.js +0 -14
  1224. package/node_modules/three/examples/jsm/nodes/core/NodeVarying.js +0 -17
  1225. package/node_modules/three/examples/jsm/nodes/core/OutputStructNode.js +0 -62
  1226. package/node_modules/three/examples/jsm/nodes/core/ParameterNode.js +0 -33
  1227. package/node_modules/three/examples/jsm/nodes/core/PropertyNode.js +0 -72
  1228. package/node_modules/three/examples/jsm/nodes/core/StackNode.js +0 -89
  1229. package/node_modules/three/examples/jsm/nodes/core/StructTypeNode.js +0 -24
  1230. package/node_modules/three/examples/jsm/nodes/core/TempNode.js +0 -58
  1231. package/node_modules/three/examples/jsm/nodes/core/UniformGroup.js +0 -13
  1232. package/node_modules/three/examples/jsm/nodes/core/UniformGroupNode.js +0 -36
  1233. package/node_modules/three/examples/jsm/nodes/core/UniformNode.js +0 -80
  1234. package/node_modules/three/examples/jsm/nodes/core/VarNode.js +0 -60
  1235. package/node_modules/three/examples/jsm/nodes/core/VaryingNode.js +0 -65
  1236. package/node_modules/three/examples/jsm/nodes/core/constants.js +0 -28
  1237. package/node_modules/three/examples/jsm/nodes/display/AfterImageNode.js +0 -148
  1238. package/node_modules/three/examples/jsm/nodes/display/AnamorphicNode.js +0 -148
  1239. package/node_modules/three/examples/jsm/nodes/display/BlendModeNode.js +0 -99
  1240. package/node_modules/three/examples/jsm/nodes/display/BumpMapNode.js +0 -99
  1241. package/node_modules/three/examples/jsm/nodes/display/ColorAdjustmentNode.js +0 -99
  1242. package/node_modules/three/examples/jsm/nodes/display/ColorSpaceNode.js +0 -108
  1243. package/node_modules/three/examples/jsm/nodes/display/FrontFacingNode.js +0 -27
  1244. package/node_modules/three/examples/jsm/nodes/display/GaussianBlurNode.js +0 -190
  1245. package/node_modules/three/examples/jsm/nodes/display/NormalMapNode.js +0 -108
  1246. package/node_modules/three/examples/jsm/nodes/display/PassNode.js +0 -183
  1247. package/node_modules/three/examples/jsm/nodes/display/PosterizeNode.js +0 -32
  1248. package/node_modules/three/examples/jsm/nodes/display/ToneMappingNode.js +0 -184
  1249. package/node_modules/three/examples/jsm/nodes/display/ViewportDepthNode.js +0 -97
  1250. package/node_modules/three/examples/jsm/nodes/display/ViewportDepthTextureNode.js +0 -31
  1251. package/node_modules/three/examples/jsm/nodes/display/ViewportNode.js +0 -134
  1252. package/node_modules/three/examples/jsm/nodes/display/ViewportSharedTextureNode.js +0 -31
  1253. package/node_modules/three/examples/jsm/nodes/display/ViewportTextureNode.js +0 -75
  1254. package/node_modules/three/examples/jsm/nodes/fog/FogExp2Node.js +0 -35
  1255. package/node_modules/three/examples/jsm/nodes/fog/FogNode.js +0 -38
  1256. package/node_modules/three/examples/jsm/nodes/fog/FogRangeNode.js +0 -34
  1257. package/node_modules/three/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +0 -40
  1258. package/node_modules/three/examples/jsm/nodes/functions/BSDF/DFGApprox.js +0 -30
  1259. package/node_modules/three/examples/jsm/nodes/functions/PhongLightingModel.js +0 -67
  1260. package/node_modules/three/examples/jsm/nodes/functions/PhysicalLightingModel.js +0 -393
  1261. package/node_modules/three/examples/jsm/nodes/functions/material/getGeometryRoughness.js +0 -13
  1262. package/node_modules/three/examples/jsm/nodes/geometry/RangeNode.js +0 -104
  1263. package/node_modules/three/examples/jsm/nodes/gpgpu/ComputeNode.js +0 -85
  1264. package/node_modules/three/examples/jsm/nodes/lighting/AONode.js +0 -27
  1265. package/node_modules/three/examples/jsm/nodes/lighting/AnalyticLightNode.js +0 -241
  1266. package/node_modules/three/examples/jsm/nodes/lighting/DirectionalLightNode.js +0 -40
  1267. package/node_modules/three/examples/jsm/nodes/lighting/EnvironmentNode.js +0 -181
  1268. package/node_modules/three/examples/jsm/nodes/lighting/HemisphereLightNode.js +0 -55
  1269. package/node_modules/three/examples/jsm/nodes/lighting/LightNode.js +0 -57
  1270. package/node_modules/three/examples/jsm/nodes/lighting/LightUtils.js +0 -17
  1271. package/node_modules/three/examples/jsm/nodes/lighting/LightingContextNode.js +0 -66
  1272. package/node_modules/three/examples/jsm/nodes/lighting/LightingNode.js +0 -21
  1273. package/node_modules/three/examples/jsm/nodes/lighting/LightsNode.js +0 -188
  1274. package/node_modules/three/examples/jsm/nodes/lighting/PointLightNode.js +0 -68
  1275. package/node_modules/three/examples/jsm/nodes/lighting/SpotLightNode.js +0 -89
  1276. package/node_modules/three/examples/jsm/nodes/loaders/NodeLoader.js +0 -108
  1277. package/node_modules/three/examples/jsm/nodes/loaders/NodeMaterialLoader.js +0 -59
  1278. package/node_modules/three/examples/jsm/nodes/loaders/NodeObjectLoader.js +0 -70
  1279. package/node_modules/three/examples/jsm/nodes/materials/InstancedPointsNodeMaterial.js +0 -162
  1280. package/node_modules/three/examples/jsm/nodes/materials/LineBasicNodeMaterial.js +0 -28
  1281. package/node_modules/three/examples/jsm/nodes/materials/LineDashedNodeMaterial.js +0 -54
  1282. package/node_modules/three/examples/jsm/nodes/materials/MeshBasicNodeMaterial.js +0 -28
  1283. package/node_modules/three/examples/jsm/nodes/materials/MeshLambertNodeMaterial.js +0 -34
  1284. package/node_modules/three/examples/jsm/nodes/materials/MeshNormalNodeMaterial.js +0 -40
  1285. package/node_modules/three/examples/jsm/nodes/materials/MeshPhongNodeMaterial.js +0 -65
  1286. package/node_modules/three/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +0 -155
  1287. package/node_modules/three/examples/jsm/nodes/materials/MeshSSSNodeMaterial.js +0 -84
  1288. package/node_modules/three/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +0 -80
  1289. package/node_modules/three/examples/jsm/nodes/materials/NodeMaterial.js +0 -570
  1290. package/node_modules/three/examples/jsm/nodes/materials/PointsNodeMaterial.js +0 -39
  1291. package/node_modules/three/examples/jsm/nodes/materials/SpriteNodeMaterial.js +0 -90
  1292. package/node_modules/three/examples/jsm/nodes/materialx/MaterialXNodes.js +0 -68
  1293. package/node_modules/three/examples/jsm/nodes/math/CondNode.js +0 -86
  1294. package/node_modules/three/examples/jsm/nodes/math/HashNode.js +0 -34
  1295. package/node_modules/three/examples/jsm/nodes/math/MathNode.js +0 -371
  1296. package/node_modules/three/examples/jsm/nodes/math/MathUtils.js +0 -15
  1297. package/node_modules/three/examples/jsm/nodes/math/OperatorNode.js +0 -274
  1298. package/node_modules/three/examples/jsm/nodes/procedural/CheckerNode.js +0 -42
  1299. package/node_modules/three/examples/jsm/nodes/shadernode/ShaderNode.js +0 -634
  1300. package/node_modules/three/examples/jsm/nodes/utils/ArrayElementNode.js +0 -41
  1301. package/node_modules/three/examples/jsm/nodes/utils/ConvertNode.js +0 -65
  1302. package/node_modules/three/examples/jsm/nodes/utils/DiscardNode.js +0 -27
  1303. package/node_modules/three/examples/jsm/nodes/utils/EquirectUVNode.js +0 -33
  1304. package/node_modules/three/examples/jsm/nodes/utils/FunctionOverloadingNode.js +0 -95
  1305. package/node_modules/three/examples/jsm/nodes/utils/JoinNode.js +0 -61
  1306. package/node_modules/three/examples/jsm/nodes/utils/LoopNode.js +0 -198
  1307. package/node_modules/three/examples/jsm/nodes/utils/MatcapUVNode.js +0 -30
  1308. package/node_modules/three/examples/jsm/nodes/utils/MaxMipLevelNode.js +0 -46
  1309. package/node_modules/three/examples/jsm/nodes/utils/OscNode.js +0 -81
  1310. package/node_modules/three/examples/jsm/nodes/utils/PackingNode.js +0 -55
  1311. package/node_modules/three/examples/jsm/nodes/utils/ReflectorNode.js +0 -227
  1312. package/node_modules/three/examples/jsm/nodes/utils/RemapNode.js +0 -42
  1313. package/node_modules/three/examples/jsm/nodes/utils/RotateUVNode.js +0 -35
  1314. package/node_modules/three/examples/jsm/nodes/utils/SpecularMIPLevelNode.js +0 -37
  1315. package/node_modules/three/examples/jsm/nodes/utils/SpriteSheetUVNode.js +0 -41
  1316. package/node_modules/three/examples/jsm/nodes/utils/TimerNode.js +0 -94
  1317. package/node_modules/three/examples/jsm/nodes/utils/TriplanarTexturesNode.js +0 -62
  1318. package/node_modules/three/examples/jsm/objects/InstancedPoints.js +0 -21
  1319. package/node_modules/three/examples/jsm/objects/QuadMesh.js +0 -66
  1320. package/node_modules/three/examples/jsm/renderers/common/Animation.js +0 -47
  1321. package/node_modules/three/examples/jsm/renderers/common/Backend.js +0 -195
  1322. package/node_modules/three/examples/jsm/renderers/common/Background.js +0 -134
  1323. package/node_modules/three/examples/jsm/renderers/common/Binding.js +0 -25
  1324. package/node_modules/three/examples/jsm/renderers/common/Bindings.js +0 -173
  1325. package/node_modules/three/examples/jsm/renderers/common/Buffer.js +0 -38
  1326. package/node_modules/three/examples/jsm/renderers/common/BufferUtils.js +0 -33
  1327. package/node_modules/three/examples/jsm/renderers/common/ChainMap.js +0 -89
  1328. package/node_modules/three/examples/jsm/renderers/common/Color4.js +0 -37
  1329. package/node_modules/three/examples/jsm/renderers/common/ComputePipeline.js +0 -17
  1330. package/node_modules/three/examples/jsm/renderers/common/DataMap.js +0 -54
  1331. package/node_modules/three/examples/jsm/renderers/common/Geometries.js +0 -215
  1332. package/node_modules/three/examples/jsm/renderers/common/Info.js +0 -107
  1333. package/node_modules/three/examples/jsm/renderers/common/Pipeline.js +0 -13
  1334. package/node_modules/three/examples/jsm/renderers/common/PostProcessing.js +0 -25
  1335. package/node_modules/three/examples/jsm/renderers/common/ProgrammableStage.js +0 -20
  1336. package/node_modules/three/examples/jsm/renderers/common/RenderContext.js +0 -41
  1337. package/node_modules/three/examples/jsm/renderers/common/RenderContexts.js +0 -74
  1338. package/node_modules/three/examples/jsm/renderers/common/RenderList.js +0 -186
  1339. package/node_modules/three/examples/jsm/renderers/common/RenderLists.js +0 -38
  1340. package/node_modules/three/examples/jsm/renderers/common/RenderObject.js +0 -178
  1341. package/node_modules/three/examples/jsm/renderers/common/RenderObjects.js +0 -91
  1342. package/node_modules/three/examples/jsm/renderers/common/RenderPipeline.js +0 -16
  1343. package/node_modules/three/examples/jsm/renderers/common/Renderer.js +0 -1247
  1344. package/node_modules/three/examples/jsm/renderers/common/SampledTexture.js +0 -83
  1345. package/node_modules/three/examples/jsm/renderers/common/Sampler.js +0 -18
  1346. package/node_modules/three/examples/jsm/renderers/common/StorageBuffer.js +0 -17
  1347. package/node_modules/three/examples/jsm/renderers/common/StorageBufferAttribute.js +0 -17
  1348. package/node_modules/three/examples/jsm/renderers/common/StorageTexture.js +0 -20
  1349. package/node_modules/three/examples/jsm/renderers/common/Textures.js +0 -354
  1350. package/node_modules/three/examples/jsm/renderers/common/Uniform.js +0 -140
  1351. package/node_modules/three/examples/jsm/renderers/common/UniformBuffer.js +0 -15
  1352. package/node_modules/three/examples/jsm/renderers/common/UniformsGroup.js +0 -299
  1353. package/node_modules/three/examples/jsm/renderers/common/nodes/NodeBuilderState.js +0 -44
  1354. package/node_modules/three/examples/jsm/renderers/common/nodes/NodeSampledTexture.js +0 -49
  1355. package/node_modules/three/examples/jsm/renderers/common/nodes/NodeSampler.js +0 -15
  1356. package/node_modules/three/examples/jsm/renderers/common/nodes/NodeUniform.js +0 -135
  1357. package/node_modules/three/examples/jsm/renderers/common/nodes/NodeUniformsGroup.js +0 -44
  1358. package/node_modules/three/examples/jsm/renderers/common/nodes/Nodes.js +0 -495
  1359. package/node_modules/three/examples/jsm/renderers/webgl/WebGLBackend.js +0 -1362
  1360. package/node_modules/three/examples/jsm/renderers/webgl/nodes/GLSLNodeBuilder.js +0 -679
  1361. package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLCapabilities.js +0 -36
  1362. package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLExtensions.js +0 -36
  1363. package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js +0 -647
  1364. package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/GLSL1NodeBuilder.js +0 -320
  1365. package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/SlotNode.js +0 -26
  1366. package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodeBuilder.js +0 -794
  1367. package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodes.js +0 -51
  1368. package/node_modules/three/examples/jsm/renderers/webgpu/WebGPUBackend.js +0 -1321
  1369. package/node_modules/three/examples/jsm/renderers/webgpu/WebGPURenderer.js +0 -53
  1370. package/node_modules/three/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js +0 -1103
  1371. package/node_modules/three/examples/jsm/renderers/webgpu/nodes/WGSLNodeFunction.js +0 -104
  1372. package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUAttributeUtils.js +0 -287
  1373. package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUBindingUtils.js +0 -244
  1374. package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js +0 -1040
  1375. package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUUtils.js +0 -93
  1376. package/node_modules/three/examples/jsm/shaders/MMDToonShader.js +0 -134
  1377. package/node_modules/three/examples/jsm/utils/GPUStatsPanel.js +0 -128
  1378. package/node_modules/three/examples/jsm/utils/PackedPhongMaterial.js +0 -178
  1379. package/node_modules/three/src/renderers/WebGL1Renderer.js +0 -7
  1380. package/node_modules/three/src/renderers/WebGLMultipleRenderTargets.js +0 -82
  1381. package/node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js +0 -10
  1382. /package/node_modules/three/{examples/jsm → src}/nodes/materialx/DISCLAIMER.md +0 -0
@@ -0,0 +1,768 @@
1
+ import { HalfFloatType, LinearFilter, NearestFilter, RenderTarget, Texture, Vector2, QuadMesh, NodeMaterial, TempNode, RendererUtils } from 'three/webgpu';
2
+ import { abs, nodeObject, Fn, NodeUpdateType, uv, uniform, convertToTexture, varyingProperty, vec2, vec4, modelViewProjection, passTexture, max, step, dot, float, texture, If, Loop, int, Break, sqrt, sign, mix } from 'three/tsl';
3
+
4
+ const _quadMesh = /*@__PURE__*/ new QuadMesh();
5
+ const _size = /*@__PURE__*/ new Vector2();
6
+
7
+ let _rendererState;
8
+
9
+ /**
10
+ * Post processing node for applying SMAA. Unlike FXAA, this node
11
+ * should be applied before converting colors to sRGB. SMAA should produce
12
+ * better results than FXAA but is also more expensive to execute.
13
+ *
14
+ * Used Preset: SMAA 1x Medium (with color edge detection)
15
+ * Reference: {@link https://github.com/iryoku/smaa/releases/tag/v2.8}.
16
+ *
17
+ * @augments TempNode
18
+ * @three_import import { smaa } from 'three/addons/tsl/display/SMAANode.js';
19
+ */
20
+ class SMAANode extends TempNode {
21
+
22
+ static get type() {
23
+
24
+ return 'SMAANode';
25
+
26
+ }
27
+
28
+ /**
29
+ * Constructs a new SMAA node.
30
+ *
31
+ * @param {TextureNode} textureNode - The texture node that represents the input of the effect.
32
+ */
33
+ constructor( textureNode ) {
34
+
35
+ super( 'vec4' );
36
+
37
+ /**
38
+ * The texture node that represents the input of the effect.
39
+ *
40
+ * @type {TextureNode}
41
+ */
42
+ this.textureNode = textureNode;
43
+
44
+ /**
45
+ * The `updateBeforeType` is set to `NodeUpdateType.FRAME` since the node renders
46
+ * its effect once per frame in `updateBefore()`.
47
+ *
48
+ * @type {string}
49
+ * @default 'frame'
50
+ */
51
+ this.updateBeforeType = NodeUpdateType.FRAME;
52
+
53
+ /**
54
+ * The render target used for the edges pass.
55
+ *
56
+ * @private
57
+ * @type {RenderTarget}
58
+ */
59
+ this._renderTargetEdges = new RenderTarget( 1, 1, { depthBuffer: false, type: HalfFloatType } );
60
+ this._renderTargetEdges.texture.name = 'SMAANode.edges';
61
+
62
+ /**
63
+ * The render target used for the weights pass.
64
+ *
65
+ * @private
66
+ * @type {RenderTarget}
67
+ */
68
+ this._renderTargetWeights = new RenderTarget( 1, 1, { depthBuffer: false, type: HalfFloatType } );
69
+ this._renderTargetWeights.texture.name = 'SMAANode.weights';
70
+
71
+ /**
72
+ * The render target used for the blend pass.
73
+ *
74
+ * @private
75
+ * @type {RenderTarget}
76
+ */
77
+ this._renderTargetBlend = new RenderTarget( 1, 1, { depthBuffer: false, type: HalfFloatType } );
78
+ this._renderTargetBlend.texture.name = 'SMAANode.blend';
79
+
80
+ // textures
81
+
82
+ const scope = this;
83
+
84
+ const areaTextureImage = new Image();
85
+ areaTextureImage.src = this._getAreaTexture();
86
+ areaTextureImage.onload = function () {
87
+
88
+ // assigning data to HTMLImageElement.src is asynchronous (see #15162)
89
+ scope._areaTexture.needsUpdate = true;
90
+
91
+ };
92
+
93
+ /**
94
+ * Represents the "area" texture used by the SMAA implementation.
95
+ *
96
+ * @private
97
+ * @type {RenderTarget}
98
+ */
99
+ this._areaTexture = new Texture();
100
+ this._areaTexture.name = 'SMAANode.area';
101
+ this._areaTexture.image = areaTextureImage;
102
+ this._areaTexture.minFilter = LinearFilter;
103
+ this._areaTexture.generateMipmaps = false;
104
+ this._areaTexture.flipY = false;
105
+
106
+ const searchTextureImage = new Image();
107
+ searchTextureImage.src = this._getSearchTexture();
108
+ searchTextureImage.onload = function () {
109
+
110
+ // assigning data to HTMLImageElement.src is asynchronous (see #15162)
111
+ scope._searchTexture.needsUpdate = true;
112
+
113
+ };
114
+
115
+ /**
116
+ * Represents the "search" texture used by the SMAA implementation.
117
+ *
118
+ * @private
119
+ * @type {RenderTarget}
120
+ */
121
+ this._searchTexture = new Texture();
122
+ this._searchTexture.name = 'SMAANode.search';
123
+ this._searchTexture.image = searchTextureImage;
124
+ this._searchTexture.magFilter = NearestFilter;
125
+ this._searchTexture.minFilter = NearestFilter;
126
+ this._searchTexture.generateMipmaps = false;
127
+ this._searchTexture.flipY = false;
128
+
129
+ /**
130
+ * A uniform node holding the inverse resolution value.
131
+ *
132
+ * @private
133
+ * @type {UniformNode<vec2>}
134
+ */
135
+ this._invSize = uniform( new Vector2() );
136
+
137
+ /**
138
+ * A uniform texture node holding the area texture.
139
+ *
140
+ * @private
141
+ * @type {TextureNode}
142
+ */
143
+ this._areaTextureUniform = texture( this._areaTexture );
144
+
145
+ /**
146
+ * A uniform texture node holding the search texture.
147
+ *
148
+ * @private
149
+ * @type {TextureNode}
150
+ */
151
+ this._searchTextureUniform = texture( this._searchTexture );
152
+
153
+ /**
154
+ * A uniform texture node representing the edges pass.
155
+ *
156
+ * @private
157
+ * @type {TextureNode}
158
+ */
159
+ this._edgesTextureUniform = texture( this._renderTargetEdges.texture );
160
+
161
+ /**
162
+ * A uniform texture node representing the weights pass.
163
+ *
164
+ * @private
165
+ * @type {TextureNode}
166
+ */
167
+ this._weightsTextureUniform = texture( this._renderTargetWeights.texture );
168
+
169
+ /**
170
+ * The node material that holds the TSL for rendering the edges pass.
171
+ *
172
+ * @private
173
+ * @type {NodeMaterial}
174
+ */
175
+ this._materialEdges = new NodeMaterial();
176
+ this._materialEdges.name = 'SMAANode.edges';
177
+
178
+ /**
179
+ * The node material that holds the TSL for rendering the weights pass.
180
+ *
181
+ * @private
182
+ * @type {NodeMaterial}
183
+ */
184
+ this._materialWeights = new NodeMaterial();
185
+ this._materialWeights.name = 'SMAANode.weights';
186
+
187
+ /**
188
+ * The node material that holds the TSL for rendering the blend pass.
189
+ *
190
+ * @private
191
+ * @type {NodeMaterial}
192
+ */
193
+ this._materialBlend = new NodeMaterial();
194
+ this._materialBlend.name = 'SMAANode.blend';
195
+
196
+ /**
197
+ * The result of the effect is represented as a separate texture node.
198
+ *
199
+ * @private
200
+ * @type {PassTextureNode}
201
+ */
202
+ this._textureNode = passTexture( this, this._renderTargetBlend.texture );
203
+
204
+ }
205
+
206
+ /**
207
+ * Returns the result of the effect as a texture node.
208
+ *
209
+ * @return {PassTextureNode} A texture node that represents the result of the effect.
210
+ */
211
+ getTextureNode() {
212
+
213
+ return this._textureNode;
214
+
215
+ }
216
+
217
+ /**
218
+ * Sets the size of the effect.
219
+ *
220
+ * @param {number} width - The width of the effect.
221
+ * @param {number} height - The height of the effect.
222
+ */
223
+ setSize( width, height ) {
224
+
225
+ this._invSize.value.set( 1 / width, 1 / height );
226
+
227
+ this._renderTargetEdges.setSize( width, height );
228
+ this._renderTargetWeights.setSize( width, height );
229
+ this._renderTargetBlend.setSize( width, height );
230
+
231
+ }
232
+
233
+ /**
234
+ * This method is used to render the effect once per frame.
235
+ *
236
+ * @param {NodeFrame} frame - The current node frame.
237
+ */
238
+ updateBefore( frame ) {
239
+
240
+ const { renderer } = frame;
241
+
242
+ _rendererState = RendererUtils.resetRendererState( renderer, _rendererState );
243
+
244
+ //
245
+
246
+ const size = renderer.getDrawingBufferSize( _size );
247
+ this.setSize( size.width, size.height );
248
+
249
+ // edges
250
+
251
+ renderer.setRenderTarget( this._renderTargetEdges );
252
+
253
+ _quadMesh.material = this._materialEdges;
254
+ _quadMesh.render( renderer );
255
+
256
+ // weights
257
+
258
+ renderer.setRenderTarget( this._renderTargetWeights );
259
+
260
+ _quadMesh.material = this._materialWeights;
261
+ _quadMesh.render( renderer );
262
+
263
+ // blend
264
+
265
+ renderer.setRenderTarget( this._renderTargetBlend );
266
+
267
+ _quadMesh.material = this._materialBlend;
268
+ _quadMesh.render( renderer );
269
+
270
+ // restore
271
+
272
+ RendererUtils.restoreRendererState( renderer, _rendererState );
273
+
274
+ }
275
+
276
+ /**
277
+ * This method is used to setup the effect's TSL code.
278
+ *
279
+ * @param {NodeBuilder} builder - The current node builder.
280
+ * @return {PassTextureNode}
281
+ */
282
+ setup( builder ) {
283
+
284
+ const SMAA_THRESHOLD = 0.1;
285
+ const SMAA_MAX_SEARCH_STEPS = 8;
286
+ const SMAA_AREATEX_MAX_DISTANCE = 16;
287
+ const SMAA_AREATEX_PIXEL_SIZE = vec2( 1 / 160, 1 / 560 );
288
+ const SMAA_AREATEX_SUBTEX_SIZE = ( 1 / 7 );
289
+
290
+ const textureNode = this.textureNode;
291
+ const uvNode = textureNode.uvNode || uv();
292
+
293
+ // edges
294
+
295
+ const SMAAEdgeDetectionVS = Fn( () => {
296
+
297
+ const vOffset0 = vec4( uvNode.xy, uvNode.xy ).add( vec4( this._invSize.xy, this._invSize.xy ).mul( vec4( - 1.0, 0.0, 0.0, - 1.0 ) ) );
298
+ const vOffset1 = vec4( uvNode.xy, uvNode.xy ).add( vec4( this._invSize.xy, this._invSize.xy ).mul( vec4( 1.0, 0.0, 0.0, 1.0 ) ) );
299
+ const vOffset2 = vec4( uvNode.xy, uvNode.xy ).add( vec4( this._invSize.xy, this._invSize.xy ).mul( vec4( - 2.0, 0.0, 0.0, - 2.0 ) ) );
300
+
301
+ varyingProperty( 'vec4', 'vOffset0' ).assign( vOffset0 );
302
+ varyingProperty( 'vec4', 'vOffset1' ).assign( vOffset1 );
303
+ varyingProperty( 'vec4', 'vOffset2' ).assign( vOffset2 );
304
+
305
+ return modelViewProjection;
306
+
307
+ } );
308
+
309
+ const SMAAEdgeDetectionFS = Fn( () => {
310
+
311
+ const vOffset0 = varyingProperty( 'vec4', 'vOffset0' );
312
+ const vOffset1 = varyingProperty( 'vec4', 'vOffset1' );
313
+ const vOffset2 = varyingProperty( 'vec4', 'vOffset2' );
314
+
315
+ const threshold = vec2( SMAA_THRESHOLD, SMAA_THRESHOLD );
316
+
317
+ // Calculate color deltas:
318
+ const delta = vec4().toVar();
319
+ const C = this.textureNode.sample( uvNode ).rgb.toVar();
320
+
321
+ // Calculate left and top deltas:
322
+ const Cleft = this.textureNode.sample( vOffset0.xy ).rgb.toVar();
323
+ let t = abs( C.sub( Cleft ) );
324
+ delta.x = max( t.r, t.g, t.b );
325
+
326
+ const Ctop = this.textureNode.sample( vOffset0.zw ).rgb.toVar();
327
+ t = abs( C.sub( Ctop ) );
328
+ delta.y = max( t.r, t.g, t.b );
329
+
330
+ // We do the usual threshold:
331
+ const edges = step( threshold, delta.xy ).toVar();
332
+
333
+ // Then discard if there is no edge:
334
+ dot( edges, vec2( 1.0, 1.0 ) ).equal( 0 ).discard();
335
+
336
+ // Calculate right and bottom deltas:
337
+ const Cright = this.textureNode.sample( vOffset1.xy ).rgb.toVar();
338
+ t = abs( C.sub( Cright ) );
339
+ delta.z = max( t.r, t.g, t.b );
340
+
341
+ const Cbottom = this.textureNode.sample( vOffset1.zw ).rgb.toVar();
342
+ t = abs( C.sub( Cbottom ) );
343
+ delta.w = max( t.r, t.g, t.b );
344
+
345
+ // Calculate the maximum delta in the direct neighborhood:
346
+ let maxDelta = max( delta.x, delta.y, delta.z, delta.w ).toVar();
347
+
348
+ // Calculate left-left and top-top deltas:
349
+ const Cleftleft = this.textureNode.sample( vOffset2.xy ).rgb.toVar();
350
+ t = abs( C.sub( Cleftleft ) );
351
+ delta.z = max( t.r, t.g, t.b );
352
+
353
+ const Ctoptop = this.textureNode.sample( vOffset2.zw ).rgb.toVar();
354
+ t = abs( C.sub( Ctoptop ) );
355
+ delta.w = max( t.r, t.g, t.b );
356
+
357
+ // Calculate the final maximum delta:
358
+ maxDelta = max( maxDelta, delta.z, delta.w );
359
+
360
+ // Local contrast adaptation in action:
361
+ edges.xy.mulAssign( vec2( step( float( 0.5 ).mul( maxDelta ), delta.xy ) ) );
362
+
363
+ return vec4( edges, 0, 0 );
364
+
365
+ } );
366
+
367
+ // weights
368
+
369
+ const SMAASearchLength = Fn( ( [ searchTex, e, bias, scale ] ) => {
370
+
371
+ // Not required if searchTex accesses are set to point:
372
+ // float2 SEARCH_TEX_PIXEL_SIZE = 1.0 / float2(66.0, 33.0);
373
+ // e = float2(bias, 0.0) + 0.5 * SEARCH_TEX_PIXEL_SIZE + e * float2(scale, 1.0) * float2(64.0, 32.0) * SEARCH_TEX_PIXEL_SIZE;
374
+ const coord = vec2( e ).toVar();
375
+ coord.r = bias.add( coord.r.mul( scale ) );
376
+ return float( 255 ).mul( searchTex.sample( coord ) ).r;
377
+
378
+ } );
379
+
380
+ const SMAAArea = Fn( ( [ areaTex, dist, e1, e2, offset ] ) => {
381
+
382
+ // Rounding prevents precision errors of bilinear filtering:
383
+ let texcoord = float( SMAA_AREATEX_MAX_DISTANCE ).mul( float( 4 ).mul( vec2( e1, e2 ) ).round() ).add( dist );
384
+
385
+ // We do a scale and bias for mapping to texel space:
386
+ texcoord = SMAA_AREATEX_PIXEL_SIZE.mul( texcoord ).add( float( 0.5 ).mul( SMAA_AREATEX_PIXEL_SIZE ) );
387
+
388
+ // Move to proper place, according to the subpixel offset:
389
+ texcoord.y.addAssign( float( SMAA_AREATEX_SUBTEX_SIZE ).mul( offset ) );
390
+
391
+ return areaTex.sample( texcoord ).rg;
392
+
393
+ } );
394
+
395
+ const SMAASearchXLeft = Fn( ( [ edgesTex, searchTex, texcoord, end ] ) => {
396
+
397
+ /**
398
+ * @PSEUDO_GATHER4
399
+ * This texcoord has been offset by (-0.25, -0.125) in the vertex shader to
400
+ * sample between edge, thus fetching four edges in a row.
401
+ * Sampling with different offsets in each direction allows to disambiguate
402
+ * which edges are active from the four fetched ones.
403
+ */
404
+
405
+ const e = vec2( 0.0, 1.0 ).toVar();
406
+ const coord = vec2( texcoord ).toVar();
407
+
408
+ Loop( { start: int( 0 ), end: int( SMAA_MAX_SEARCH_STEPS ), type: 'int', condition: '<' }, () => { // port note: Changed while to for
409
+
410
+ e.assign( edgesTex.sample( coord ).rg );
411
+ coord.subAssign( vec2( 2, 0 ).mul( this._invSize ) );
412
+
413
+ If( coord.x.lessThanEqual( end ).or( e.g.lessThanEqual( float( 0.8281 ) ).or( e.r.notEqual( float( 0 ) ) ) ), () => {
414
+
415
+ Break();
416
+
417
+ } );
418
+
419
+ } );
420
+
421
+ // We correct the previous (-0.25, -0.125) offset we applied:
422
+ coord.x.addAssign( float( 0.25 ).mul( this._invSize.x ) );
423
+
424
+ // The searches are bias by 1, so adjust the coords accordingly:
425
+ coord.x.addAssign( this._invSize.x );
426
+
427
+ // Disambiguate the length added by the last step:
428
+ coord.x.addAssign( float( 2 ).mul( this._invSize.x ) );
429
+ coord.x.subAssign( this._invSize.x.mul( SMAASearchLength( searchTex, e, 0, 0.5 ) ) );
430
+
431
+ return coord.x;
432
+
433
+ } );
434
+
435
+ const SMAASearchXRight = Fn( ( [ edgesTex, searchTex, texcoord, end ] ) => {
436
+
437
+ const e = vec2( 0.0, 1.0 ).toVar();
438
+ const coord = vec2( texcoord ).toVar();
439
+
440
+ Loop( { start: int( 0 ), end: int( SMAA_MAX_SEARCH_STEPS ), type: 'int', condition: '<' }, () => { // port note: Changed while to for
441
+
442
+ e.assign( edgesTex.sample( coord ).rg );
443
+ coord.addAssign( vec2( 2, 0 ).mul( this._invSize ) );
444
+
445
+ If( coord.x.greaterThanEqual( end ).or( e.g.lessThanEqual( float( 0.8281 ) ).or( e.r.notEqual( float( 0 ) ) ) ), () => {
446
+
447
+ Break();
448
+
449
+ } );
450
+
451
+ } );
452
+
453
+ coord.x.subAssign( float( 0.25 ).mul( this._invSize.x ) );
454
+ coord.x.subAssign( this._invSize.x );
455
+ coord.x.subAssign( float( 2 ).mul( this._invSize.x ) );
456
+ coord.x.addAssign( this._invSize.x.mul( SMAASearchLength( searchTex, e, 0.5, 0.5 ) ) );
457
+
458
+ return coord.x;
459
+
460
+ } );
461
+
462
+ const SMAASearchYUp = Fn( ( [ edgesTex, searchTex, texcoord, end ] ) => {
463
+
464
+ const e = vec2( 1.0, 0.0 ).toVar();
465
+ const coord = vec2( texcoord ).toVar();
466
+
467
+ Loop( { start: int( 0 ), end: int( SMAA_MAX_SEARCH_STEPS ), type: 'int', condition: '<' }, () => { // port note: Changed while to for
468
+
469
+ e.assign( edgesTex.sample( coord ).rg );
470
+ coord.addAssign( vec2( 0, - 2 ).mul( this._invSize ) );
471
+
472
+ If( coord.y.lessThanEqual( end ).or( e.r.lessThanEqual( float( 0.8281 ) ).or( e.g.notEqual( float( 0 ) ) ) ), () => {
473
+
474
+ Break();
475
+
476
+ } );
477
+
478
+ } );
479
+
480
+ coord.y.addAssign( float( 0.25 ).mul( this._invSize.y ) );
481
+ coord.y.addAssign( this._invSize.y );
482
+ coord.y.addAssign( float( 2 ).mul( this._invSize.y ) );
483
+ coord.y.subAssign( this._invSize.y.mul( SMAASearchLength( searchTex, e.gr, 0, 0.5 ) ) );
484
+
485
+ return coord.y;
486
+
487
+ } );
488
+
489
+ const SMAASearchYDown = Fn( ( [ edgesTex, searchTex, texcoord, end ] ) => {
490
+
491
+ const e = vec2( 1.0, 0.0 ).toVar();
492
+ const coord = vec2( texcoord ).toVar();
493
+
494
+ Loop( { start: int( 0 ), end: int( SMAA_MAX_SEARCH_STEPS ), type: 'int', condition: '<' }, () => { // port note: Changed while to for
495
+
496
+ e.assign( edgesTex.sample( coord ).rg );
497
+ coord.subAssign( vec2( 0, - 2 ).mul( this._invSize ) );
498
+
499
+ If( coord.y.greaterThanEqual( end ).or( e.r.lessThanEqual( float( 0.8281 ) ).or( e.g.notEqual( float( 0 ) ) ) ), () => {
500
+
501
+ Break();
502
+
503
+ } );
504
+
505
+ } );
506
+
507
+ coord.y.subAssign( float( 0.25 ).mul( this._invSize.y ) );
508
+ coord.y.subAssign( this._invSize.y );
509
+ coord.y.subAssign( float( 2 ).mul( this._invSize.y ) );
510
+ coord.y.addAssign( this._invSize.y.mul( SMAASearchLength( searchTex, e.gr, 0.5, 0.5 ) ) );
511
+
512
+ return coord.y;
513
+
514
+ } );
515
+
516
+ const SMAAWeightsVS = Fn( () => {
517
+
518
+ const vPixcoord = uvNode.xy.div( this._invSize );
519
+
520
+ // We will use these offsets for the searches later on (see @PSEUDO_GATHER4):
521
+ const vOffset0 = vec4( uvNode.xy, uvNode.xy ).add( vec4( this._invSize.xy, this._invSize.xy ).mul( vec4( - 0.25, - 0.125, 1.25, - 0.125 ) ) ).toVar();
522
+ const vOffset1 = vec4( uvNode.xy, uvNode.xy ).add( vec4( this._invSize.xy, this._invSize.xy ).mul( vec4( - 0.125, - 0.25, - 0.125, 1.25 ) ) ).toVar();
523
+
524
+ // And these for the searches, they indicate the ends of the loops:
525
+ const vOffset2 = vec4( vOffset0.xz, vOffset1.yw ).add( vec4( - 2.0, 2.0, - 2.0, 2.0 ).mul( vec4( this._invSize.xx, this._invSize.yy ) ).mul( float( SMAA_MAX_SEARCH_STEPS ) ) ).toVar();
526
+
527
+ varyingProperty( 'vec2', 'vPixcoord' ).assign( vPixcoord );
528
+ varyingProperty( 'vec4', 'vOffset0' ).assign( vOffset0 );
529
+ varyingProperty( 'vec4', 'vOffset1' ).assign( vOffset1 );
530
+ varyingProperty( 'vec4', 'vOffset2' ).assign( vOffset2 );
531
+
532
+ return modelViewProjection;
533
+
534
+ } );
535
+
536
+ const SMAAWeightsFS = Fn( () => {
537
+
538
+ const vPixcoord = varyingProperty( 'vec2', 'vPixcoord' );
539
+ const vOffset0 = varyingProperty( 'vec4', 'vOffset0' );
540
+ const vOffset1 = varyingProperty( 'vec4', 'vOffset1' );
541
+ const vOffset2 = varyingProperty( 'vec4', 'vOffset2' );
542
+
543
+ const weights = vec4( 0.0, 0.0, 0.0, 0.0 ).toVar();
544
+ const subsampleIndices = vec4( 0.0, 0.0, 0.0, 0.0 ).toVar();
545
+
546
+ const e = this._edgesTextureUniform.sample( uvNode ).rg.toVar();
547
+
548
+ If( e.g.greaterThan( float( 0 ) ), () => { // Edge at north
549
+
550
+ let d = vec2().toVar();
551
+
552
+ // Find the distance to the left:
553
+
554
+ const coordsLeft = vec2().toVar();
555
+ coordsLeft.x = SMAASearchXLeft( this._edgesTextureUniform, this._searchTextureUniform, vOffset0.xy, vOffset2.x );
556
+ coordsLeft.y = vOffset1.y; // offset[1].y = texcoord.y - 0.25 * resolution.y (@CROSSING_OFFSET)
557
+ d.x = coordsLeft.x;
558
+
559
+ // Now fetch the left crossing edges, two at a time using bilinear
560
+ // filtering. Sampling at -0.25 (see @CROSSING_OFFSET) enables to
561
+ // discern what value each edge has:
562
+ const e1 = this._edgesTextureUniform.sample( coordsLeft ).r.toVar();
563
+
564
+ // Find the distance to the right:
565
+ const coordsRight = vec2().toVar();
566
+ coordsRight.x = SMAASearchXRight( this._edgesTextureUniform, this._searchTextureUniform, vOffset0.zw, vOffset2.y );
567
+ coordsRight.y = vOffset1.y;
568
+ d.y = coordsRight.x;
569
+
570
+ // We want the distances to be in pixel units (doing this here allow to
571
+ // better interleave arithmetic and memory accesses):
572
+ d = d.div( this._invSize.x ).sub( vPixcoord.x );
573
+
574
+ // SMAAArea below needs a sqrt, as the areas texture is compressed quadratically:
575
+ const sqrt_d = sqrt( abs( d ) );
576
+
577
+ // Fetch the right crossing edges:
578
+ const e2 = this._edgesTextureUniform.sample( coordsRight.add( vec2( 1, 0 ).mul( this._invSize ) ) ).r.toVar();
579
+ weights.r = e2;
580
+
581
+ // Get the area for this direction:
582
+ weights.rg = SMAAArea( this._areaTextureUniform, sqrt_d, e1, e2, float( subsampleIndices.y ) );
583
+
584
+ } );
585
+
586
+ If( e.r.greaterThan( float( 0 ) ), () => { // Edge at west
587
+
588
+ let d = vec2().toVar();
589
+
590
+ // Find the distance to the top:
591
+
592
+ const coordsUp = vec2().toVar();
593
+ coordsUp.y = SMAASearchYUp( this._edgesTextureUniform, this._searchTextureUniform, vOffset1.xy, vOffset2.z );
594
+ coordsUp.x = vOffset0.x; // offset[1].x = texcoord.x - 0.25 * resolution.x;
595
+ d.x = coordsUp.y;
596
+
597
+ // Fetch the top crossing edges:
598
+ const e1 = this._edgesTextureUniform.sample( coordsUp ).g.toVar();
599
+
600
+ // Find the distance to the bottom:
601
+ const coordsDown = vec2().toVar();
602
+ coordsDown.y = SMAASearchYDown( this._edgesTextureUniform, this._searchTextureUniform, vOffset1.zw, vOffset2.w );
603
+ coordsDown.x = vOffset0.x;
604
+ d.y = coordsDown.y;
605
+
606
+ // We want the distances to be in pixel units:
607
+ d = d.div( this._invSize.y ).sub( vPixcoord.y );
608
+
609
+ // SMAAArea below needs a sqrt, as the areas texture is compressed quadratically:
610
+ const sqrt_d = sqrt( abs( d ) );
611
+
612
+ // Fetch the bottom crossing edges:
613
+ const e2 = this._edgesTextureUniform.sample( coordsDown.add( vec2( 0, 1 ).mul( this._invSize ) ) ).g.toVar();
614
+
615
+ // Get the area for this direction:
616
+ weights.ba = SMAAArea( this._areaTextureUniform, sqrt_d, e1, e2, float( subsampleIndices.x ) );
617
+
618
+ } );
619
+
620
+ return weights;
621
+
622
+ } );
623
+
624
+ // blend
625
+
626
+ const SMAABlendVS = Fn( () => {
627
+
628
+ //const vOffset0 = vec4( uvNode.xy, uvNode.xy ).add( vec4( this._invSize.xy, this._invSize.xy ).mul( vec4( - 1.0, 0.0, 0.0, - 1.0 ) ) );
629
+ const vOffset1 = vec4( uvNode.xy, uvNode.xy ).add( vec4( this._invSize.xy, this._invSize.xy ).mul( vec4( 1.0, 0.0, 0.0, 1.0 ) ) );
630
+
631
+ //varyingProperty( 'vec4', 'vOffset0' ).assign( vOffset0 );
632
+ varyingProperty( 'vec4', 'vOffset1' ).assign( vOffset1 );
633
+
634
+ return modelViewProjection;
635
+
636
+ } );
637
+
638
+ const SMAABlendFS = Fn( () => {
639
+
640
+ //const vOffset0 = varyingProperty( 'vec4', 'vOffset0' );
641
+ const vOffset1 = varyingProperty( 'vec4', 'vOffset1' );
642
+ const result = vec4().toVar();
643
+
644
+ // Fetch the blending weights for current pixel:
645
+
646
+ const a = vec4().toVar();
647
+ a.xz = this._weightsTextureUniform.sample( uvNode ).xz;
648
+ a.y = this._weightsTextureUniform.sample( vOffset1.zw ).g;
649
+ a.w = this._weightsTextureUniform.sample( vOffset1.xy ).a;
650
+
651
+ // Is there any blending weight with a value greater than 0.0?
652
+
653
+ If( dot( a, vec4( 1.0 ) ).lessThan( 1e-5 ), () => { // Edge at north
654
+
655
+ result.assign( this.textureNode.sample( uvNode ) );
656
+
657
+ } ).Else( () => {
658
+
659
+ // Up to 4 lines can be crossing a pixel (one through each edge). We
660
+ // favor blending by choosing the line with the maximum weight for each
661
+ // direction:
662
+
663
+ const offset = vec2().toVar();
664
+
665
+ offset.x = a.a.greaterThan( a.b ).select( a.a, a.b.negate() ); // left vs. right
666
+ offset.y = a.g.greaterThan( a.r ).select( a.g, a.r.negate() ); // top vs. bottom
667
+
668
+ // Then we go in the direction that has the maximum weight:
669
+
670
+ If( abs( offset.x ).greaterThan( abs( offset.y ) ), () => { // horizontal vs. vertical
671
+
672
+ offset.y.assign( 0 );
673
+
674
+ } ).Else( () => {
675
+
676
+ offset.x.assign( 0 );
677
+
678
+ } );
679
+
680
+ // Fetch the opposite color and lerp by hand:
681
+
682
+ const C = this.textureNode.sample( uvNode ).toVar();
683
+ const texcoord = vec2( uvNode ).toVar();
684
+ texcoord.addAssign( sign( offset ).mul( this._invSize ) );
685
+ const Cop = this.textureNode.sample( texcoord ).toVar();
686
+ const s = abs( offset.x ).greaterThan( abs( offset.y ) ).select( abs( offset.x ), abs( offset.y ) ).toVar();
687
+
688
+ const mixed = mix( C, Cop, s );
689
+ result.assign( mixed );
690
+
691
+ } );
692
+
693
+ return result;
694
+
695
+ } );
696
+
697
+ this._materialEdges.vertexNode = SMAAEdgeDetectionVS().context( builder.getSharedContext() );
698
+ this._materialEdges.fragmentNode = SMAAEdgeDetectionFS().context( builder.getSharedContext() );
699
+ this._materialEdges.needsUpdate = true;
700
+
701
+ this._materialWeights.vertexNode = SMAAWeightsVS().context( builder.getSharedContext() );
702
+ this._materialWeights.fragmentNode = SMAAWeightsFS().context( builder.getSharedContext() );
703
+ this._materialWeights.needsUpdate = true;
704
+
705
+ this._materialBlend.vertexNode = SMAABlendVS().context( builder.getSharedContext() );
706
+ this._materialBlend.fragmentNode = SMAABlendFS().context( builder.getSharedContext() );
707
+ this._materialBlend.needsUpdate = true;
708
+
709
+ return this._textureNode;
710
+
711
+ }
712
+
713
+ /**
714
+ * Frees internal resources. This method should be called
715
+ * when the effect is no longer required.
716
+ */
717
+ dispose() {
718
+
719
+ this._renderTargetEdges.dispose();
720
+ this._renderTargetWeights.dispose();
721
+ this._renderTargetBlend.dispose();
722
+
723
+ this._areaTexture.dispose();
724
+ this._searchTexture.dispose();
725
+
726
+ this._materialEdges.dispose();
727
+ this._materialWeights.dispose();
728
+ this._materialBlend.dispose();
729
+
730
+ }
731
+
732
+ /**
733
+ * Returns the area texture as a Base64 string.
734
+ *
735
+ * @private
736
+ * @return {string} The area texture.
737
+ */
738
+ _getAreaTexture() {
739
+
740
+ return 'data:image/png;base64,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';
741
+
742
+ }
743
+
744
+ /**
745
+ * Returns the search texture as a Base64 string..
746
+ *
747
+ * @private
748
+ * @return {string} The search texture.
749
+ */
750
+ _getSearchTexture() {
751
+
752
+ return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAAAhCAAAAABIXyLAAAAAOElEQVRIx2NgGAWjYBSMglEwEICREYRgFBZBqDCSLA2MGPUIVQETE9iNUAqLR5gIeoQKRgwXjwAAGn4AtaFeYLEAAAAASUVORK5CYII=';
753
+
754
+ }
755
+
756
+ }
757
+
758
+ export default SMAANode;
759
+
760
+ /**
761
+ * TSL function for creating a SMAA node for anti-aliasing via post processing.
762
+ *
763
+ * @tsl
764
+ * @function
765
+ * @param {Node<vec4>} node - The node that represents the input of the effect.
766
+ * @returns {SMAANode}
767
+ */
768
+ export const smaa = ( node ) => nodeObject( new SMAANode( convertToTexture( node ) ) );