three-stdlib 2.15.0 → 2.15.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1222) hide show
  1. package/animation/AnimationClipCreator.js +32 -52
  2. package/animation/AnimationClipCreator.mjs +57 -0
  3. package/animation/CCDIKSolver.js +66 -161
  4. package/animation/CCDIKSolver.mjs +234 -0
  5. package/animation/MMDAnimationHelper.js +150 -341
  6. package/animation/MMDAnimationHelper.mjs +514 -0
  7. package/animation/MMDPhysics.js +154 -361
  8. package/animation/MMDPhysics.mjs +769 -0
  9. package/cameras/CinematicCamera.js +67 -77
  10. package/cameras/CinematicCamera.mjs +129 -0
  11. package/controls/ArcballControls.js +544 -1449
  12. package/controls/ArcballControls.mjs +1737 -0
  13. package/controls/DeviceOrientationControls.js +52 -97
  14. package/controls/DeviceOrientationControls.mjs +74 -0
  15. package/controls/DragControls.js +85 -187
  16. package/controls/DragControls.mjs +172 -0
  17. package/controls/FirstPersonControls.js +123 -193
  18. package/controls/FirstPersonControls.mjs +220 -0
  19. package/controls/FlyControls.js +82 -152
  20. package/controls/FlyControls.mjs +239 -0
  21. package/controls/OrbitControls.js +232 -481
  22. package/controls/OrbitControls.mjs +731 -0
  23. package/controls/PointerLockControls.js +63 -99
  24. package/controls/PointerLockControls.mjs +88 -0
  25. package/controls/TrackballControls.js +211 -383
  26. package/controls/TrackballControls.mjs +481 -0
  27. package/controls/TransformControls.js +575 -782
  28. package/controls/TransformControls.mjs +1068 -0
  29. package/controls/experimental/CameraControls.js +329 -609
  30. package/controls/experimental/CameraControls.mjs +673 -0
  31. package/csm/CSM.js +47 -108
  32. package/csm/CSM.mjs +244 -0
  33. package/csm/CSMFrustum.js +14 -29
  34. package/csm/CSMFrustum.mjs +75 -0
  35. package/csm/CSMHelper.js +20 -34
  36. package/csm/CSMHelper.mjs +114 -0
  37. package/csm/CSMShader.js +7 -11
  38. package/csm/CSMShader.mjs +251 -0
  39. package/curves/CurveExtras.js +73 -115
  40. package/curves/CurveExtras.mjs +224 -0
  41. package/curves/NURBSCurve.js +15 -43
  42. package/curves/NURBSCurve.mjs +35 -0
  43. package/curves/NURBSSurface.js +11 -27
  44. package/curves/NURBSSurface.mjs +28 -0
  45. package/curves/NURBSUtils.js +54 -203
  46. package/curves/NURBSUtils.mjs +226 -0
  47. package/deprecated/Geometry.js +191 -486
  48. package/deprecated/Geometry.mjs +966 -0
  49. package/effects/AnaglyphEffect.js +95 -60
  50. package/effects/AnaglyphEffect.mjs +120 -0
  51. package/effects/AsciiEffect.js +80 -110
  52. package/effects/AsciiEffect.mjs +173 -0
  53. package/effects/OutlineEffect.js +121 -204
  54. package/effects/OutlineEffect.mjs +295 -0
  55. package/effects/ParallaxBarrierEffect.js +39 -38
  56. package/effects/ParallaxBarrierEffect.mjs +64 -0
  57. package/effects/PeppersGhostEffect.js +19 -68
  58. package/effects/PeppersGhostEffect.mjs +85 -0
  59. package/effects/StereoEffect.js +12 -16
  60. package/effects/StereoEffect.mjs +32 -0
  61. package/environments/RoomEnvironment.js +52 -47
  62. package/environments/RoomEnvironment.mjs +78 -0
  63. package/exporters/ColladaExporter.js +115 -241
  64. package/exporters/ColladaExporter.mjs +299 -0
  65. package/exporters/DRACOExporter.js +67 -121
  66. package/exporters/DRACOExporter.mjs +132 -0
  67. package/exporters/GLTFExporter.js +463 -1014
  68. package/exporters/GLTFExporter.mjs +1381 -0
  69. package/exporters/MMDExporter.js +44 -102
  70. package/exporters/MMDExporter.mjs +102 -0
  71. package/exporters/OBJExporter.js +78 -140
  72. package/exporters/OBJExporter.mjs +166 -0
  73. package/exporters/PLYExporter.js +93 -154
  74. package/exporters/PLYExporter.mjs +278 -0
  75. package/exporters/STLExporter.js +30 -81
  76. package/exporters/STLExporter.mjs +129 -0
  77. package/exporters/USDZExporter.js +84 -144
  78. package/exporters/USDZExporter.mjs +328 -0
  79. package/geometries/BoxLineGeometry.js +7 -14
  80. package/geometries/BoxLineGeometry.mjs +45 -0
  81. package/geometries/ConvexGeometry.js +15 -24
  82. package/geometries/ConvexGeometry.mjs +29 -0
  83. package/geometries/DecalGeometry.js +108 -162
  84. package/geometries/DecalGeometry.mjs +184 -0
  85. package/geometries/LightningStrike.js +101 -294
  86. package/geometries/LightningStrike.mjs +547 -0
  87. package/geometries/ParametricGeometries.js +26 -76
  88. package/geometries/ParametricGeometries.mjs +129 -0
  89. package/geometries/ParametricGeometry.js +24 -48
  90. package/geometries/ParametricGeometry.mjs +63 -0
  91. package/geometries/RoundedBoxGeometry.js +33 -64
  92. package/geometries/RoundedBoxGeometry.mjs +91 -0
  93. package/geometries/TeapotGeometry.js +1434 -174
  94. package/geometries/TeapotGeometry.mjs +1557 -0
  95. package/geometries/TextGeometry.js +9 -17
  96. package/geometries/TextGeometry.mjs +23 -0
  97. package/helpers/LightProbeHelper.js +53 -21
  98. package/helpers/LightProbeHelper.mjs +72 -0
  99. package/helpers/PositionalAudioHelper.js +23 -30
  100. package/helpers/PositionalAudioHelper.mjs +68 -0
  101. package/helpers/RectAreaLightHelper.js +17 -33
  102. package/helpers/RectAreaLightHelper.mjs +44 -0
  103. package/helpers/VertexNormalsHelper.js +20 -41
  104. package/helpers/VertexNormalsHelper.mjs +54 -0
  105. package/helpers/VertexTangentsHelper.js +18 -36
  106. package/helpers/VertexTangentsHelper.mjs +45 -0
  107. package/index.d.ts +54 -0
  108. package/index.js +968 -333
  109. package/index.mjs +968 -0
  110. package/interactive/SelectionBox.js +31 -46
  111. package/interactive/SelectionBox.mjs +137 -0
  112. package/interactive/SelectionHelper.js +16 -21
  113. package/interactive/SelectionHelper.mjs +54 -0
  114. package/libs/MeshoptDecoder.js +147 -58
  115. package/libs/MeshoptDecoder.mjs +210 -0
  116. package/libs/MotionControllers.js +66 -208
  117. package/libs/MotionControllers.mjs +261 -0
  118. package/lights/LightProbeGenerator.js +40 -96
  119. package/lights/LightProbeGenerator.mjs +145 -0
  120. package/lights/RectAreaLightUniformsLib.js +32842 -9
  121. package/lights/RectAreaLightUniformsLib.mjs +32842 -0
  122. package/lines/Line2.js +9 -12
  123. package/lines/Line2.mjs +13 -0
  124. package/lines/LineGeometry.js +7 -19
  125. package/lines/LineGeometry.mjs +44 -0
  126. package/lines/LineMaterial.js +51 -89
  127. package/lines/LineMaterial.mjs +539 -0
  128. package/lines/LineSegments2.js +56 -165
  129. package/lines/LineSegments2.mjs +202 -0
  130. package/lines/LineSegmentsGeometry.js +29 -71
  131. package/lines/LineSegmentsGeometry.mjs +124 -0
  132. package/lines/Wireframe.js +15 -29
  133. package/lines/Wireframe.mjs +31 -0
  134. package/lines/WireframeGeometry2.js +8 -9
  135. package/lines/WireframeGeometry2.mjs +13 -0
  136. package/loaders/3DMLoader.js +234 -469
  137. package/loaders/3DMLoader.mjs +802 -0
  138. package/loaders/3MFLoader.js +340 -555
  139. package/loaders/3MFLoader.mjs +837 -0
  140. package/loaders/AMFLoader.js +114 -219
  141. package/loaders/AMFLoader.mjs +284 -0
  142. package/loaders/AssimpLoader.js +328 -725
  143. package/loaders/AssimpLoader.mjs +1396 -0
  144. package/loaders/BVHLoader.js +94 -200
  145. package/loaders/BVHLoader.mjs +207 -0
  146. package/loaders/BasisTextureLoader.js +229 -357
  147. package/loaders/BasisTextureLoader.mjs +474 -0
  148. package/loaders/ColladaLoader.js +932 -1522
  149. package/loaders/ColladaLoader.mjs +2403 -0
  150. package/loaders/DDSLoader.js +42 -108
  151. package/loaders/DDSLoader.mjs +148 -0
  152. package/loaders/DRACOLoader.js +103 -210
  153. package/loaders/DRACOLoader.mjs +340 -0
  154. package/loaders/EXRLoader.js +461 -809
  155. package/loaders/EXRLoader.mjs +1351 -0
  156. package/loaders/FBXLoader.js +842 -1397
  157. package/loaders/FBXLoader.mjs +2362 -0
  158. package/loaders/FontLoader.js +33 -66
  159. package/loaders/FontLoader.mjs +111 -0
  160. package/loaders/GCodeLoader.js +63 -111
  161. package/loaders/GCodeLoader.mjs +141 -0
  162. package/loaders/GLTFLoader.js +771 -1484
  163. package/loaders/GLTFLoader.mjs +2316 -0
  164. package/loaders/HDRCubeTextureLoader.js +45 -50
  165. package/loaders/HDRCubeTextureLoader.mjs +77 -0
  166. package/loaders/KMZLoader.js +42 -55
  167. package/loaders/KMZLoader.mjs +75 -0
  168. package/loaders/KTX2Loader.js +229 -362
  169. package/loaders/KTX2Loader.mjs +427 -0
  170. package/loaders/KTXLoader.js +37 -99
  171. package/loaders/KTXLoader.mjs +87 -0
  172. package/loaders/LDrawLoader.js +313 -746
  173. package/loaders/LDrawLoader.mjs +1409 -0
  174. package/loaders/LUT3dlLoader.js +50 -62
  175. package/loaders/LUT3dlLoader.mjs +100 -0
  176. package/loaders/LUTCubeLoader.js +45 -56
  177. package/loaders/LUTCubeLoader.mjs +104 -0
  178. package/loaders/LWOLoader.js +227 -339
  179. package/loaders/LWOLoader.mjs +625 -0
  180. package/loaders/LottieLoader.js +36 -38
  181. package/loaders/LottieLoader.mjs +47 -0
  182. package/loaders/MD2Loader.js +248 -91
  183. package/loaders/MD2Loader.mjs +359 -0
  184. package/loaders/MDDLoader.js +25 -45
  185. package/loaders/MDDLoader.mjs +58 -0
  186. package/loaders/MMDLoader.js +359 -795
  187. package/loaders/MMDLoader.mjs +998 -0
  188. package/loaders/MTLLoader.js +91 -201
  189. package/loaders/MTLLoader.mjs +280 -0
  190. package/loaders/NRRDLoader.js +182 -263
  191. package/loaders/NRRDLoader.mjs +401 -0
  192. package/loaders/NodeMaterialLoader.js +121 -14
  193. package/loaders/NodeMaterialLoader.mjs +146 -0
  194. package/loaders/OBJLoader.js +161 -283
  195. package/loaders/OBJLoader.mjs +487 -0
  196. package/loaders/PCDLoader.js +145 -164
  197. package/loaders/PCDLoader.mjs +248 -0
  198. package/loaders/PDBLoader.js +45 -63
  199. package/loaders/PDBLoader.mjs +246 -0
  200. package/loaders/PLYLoader.js +106 -203
  201. package/loaders/PLYLoader.mjs +317 -0
  202. package/loaders/PRWMLoader.js +73 -110
  203. package/loaders/PRWMLoader.mjs +160 -0
  204. package/loaders/PVRLoader.js +32 -93
  205. package/loaders/PVRLoader.mjs +131 -0
  206. package/loaders/RGBELoader.js +96 -233
  207. package/loaders/RGBELoader.mjs +244 -0
  208. package/loaders/RGBMLoader.js +344 -514
  209. package/loaders/RGBMLoader.mjs +998 -0
  210. package/loaders/STLLoader.js +59 -165
  211. package/loaders/STLLoader.mjs +190 -0
  212. package/loaders/SVGLoader.js +481 -851
  213. package/loaders/SVGLoader.mjs +1709 -0
  214. package/loaders/TDSLoader.js +137 -527
  215. package/loaders/TDSLoader.mjs +480 -0
  216. package/loaders/TGALoader.js +94 -205
  217. package/loaders/TGALoader.mjs +285 -0
  218. package/loaders/TTFLoader.js +58 -79
  219. package/loaders/TTFLoader.mjs +131 -0
  220. package/loaders/TiltLoader.js +129 -167
  221. package/loaders/TiltLoader.mjs +373 -0
  222. package/loaders/VOXLoader.js +320 -84
  223. package/loaders/VOXLoader.mjs +431 -0
  224. package/loaders/VRMLLoader.js +786 -1268
  225. package/loaders/VRMLLoader.mjs +2093 -0
  226. package/loaders/VRMLoader.js +23 -31
  227. package/loaders/VRMLoader.mjs +38 -0
  228. package/loaders/VTKLoader.js +219 -407
  229. package/loaders/VTKLoader.mjs +646 -0
  230. package/loaders/XLoader.js +1083 -1259
  231. package/loaders/XLoader.mjs +1258 -0
  232. package/loaders/XYZLoader.js +28 -34
  233. package/loaders/XYZLoader.mjs +60 -0
  234. package/loaders/lwo/IFFParser.js +238 -492
  235. package/loaders/lwo/IFFParser.mjs +697 -0
  236. package/loaders/lwo/LWO2Parser.js +176 -279
  237. package/loaders/lwo/LWO2Parser.mjs +327 -0
  238. package/loaders/lwo/LWO3Parser.js +160 -247
  239. package/loaders/lwo/LWO3Parser.mjs +298 -0
  240. package/math/Capsule.js +56 -43
  241. package/math/Capsule.mjs +100 -0
  242. package/math/ColorConverter.js +18 -32
  243. package/math/ColorConverter.mjs +51 -0
  244. package/math/ConvexHull.js +515 -739
  245. package/math/ConvexHull.mjs +574 -0
  246. package/math/ImprovedNoise.js +282 -32
  247. package/math/ImprovedNoise.mjs +302 -0
  248. package/math/Lut.js +51 -35
  249. package/math/Lut.mjs +135 -0
  250. package/math/MeshSurfaceSampler.js +25 -68
  251. package/math/MeshSurfaceSampler.mjs +107 -0
  252. package/math/OBB.js +91 -152
  253. package/math/OBB.mjs +235 -0
  254. package/math/Octree.js +76 -139
  255. package/math/Octree.mjs +278 -0
  256. package/math/SimplexNoise.js +217 -238
  257. package/math/SimplexNoise.mjs +425 -0
  258. package/misc/ConvexObjectBreaker.js +79 -185
  259. package/misc/ConvexObjectBreaker.mjs +292 -0
  260. package/misc/GPUComputationRenderer.js +69 -194
  261. package/misc/GPUComputationRenderer.mjs +171 -0
  262. package/misc/Gyroscope.js +16 -22
  263. package/misc/Gyroscope.mjs +35 -0
  264. package/misc/MD2Character.js +52 -74
  265. package/misc/MD2Character.mjs +162 -0
  266. package/misc/MD2CharacterComplex.js +112 -163
  267. package/misc/MD2CharacterComplex.mjs +328 -0
  268. package/misc/MorphAnimMesh.js +20 -28
  269. package/misc/MorphAnimMesh.mjs +40 -0
  270. package/misc/MorphBlendMesh.js +45 -69
  271. package/misc/MorphBlendMesh.mjs +179 -0
  272. package/misc/ProgressiveLightmap.js +70 -187
  273. package/misc/ProgressiveLightmap.mjs +166 -0
  274. package/misc/RollerCoaster.js +106 -135
  275. package/misc/RollerCoaster.mjs +346 -0
  276. package/misc/TubePainter.js +74 -92
  277. package/misc/TubePainter.mjs +123 -0
  278. package/misc/Volume.js +108 -270
  279. package/misc/Volume.mjs +244 -0
  280. package/misc/VolumeSlice.js +34 -122
  281. package/misc/VolumeSlice.mjs +106 -0
  282. package/misc/WebGL.js +37 -34
  283. package/misc/WebGL.mjs +74 -0
  284. package/modifiers/CurveModifier.js +46 -151
  285. package/modifiers/CurveModifier.mjs +182 -0
  286. package/modifiers/EdgeSplitModifier.js +46 -90
  287. package/modifiers/EdgeSplitModifier.mjs +162 -0
  288. package/modifiers/SimplifyModifier.js +77 -202
  289. package/modifiers/SimplifyModifier.mjs +282 -0
  290. package/modifiers/TessellateModifier.js +65 -90
  291. package/modifiers/TessellateModifier.mjs +206 -0
  292. package/nodes/Nodes.js +274 -140
  293. package/nodes/Nodes.mjs +400 -0
  294. package/nodes/ShaderNode.js +296 -196
  295. package/nodes/ShaderNode.mjs +408 -0
  296. package/nodes/accessors/BufferNode.js +4 -8
  297. package/nodes/accessors/BufferNode.mjs +15 -0
  298. package/nodes/accessors/CameraNode.js +20 -25
  299. package/nodes/accessors/CameraNode.mjs +44 -0
  300. package/nodes/accessors/CubeTextureNode.js +14 -26
  301. package/nodes/accessors/CubeTextureNode.mjs +42 -0
  302. package/nodes/accessors/MaterialNode.js +43 -53
  303. package/nodes/accessors/MaterialNode.mjs +71 -0
  304. package/nodes/accessors/MaterialReferenceNode.js +3 -6
  305. package/nodes/accessors/MaterialReferenceNode.mjs +14 -0
  306. package/nodes/accessors/ModelNode.js +3 -5
  307. package/nodes/accessors/ModelNode.mjs +9 -0
  308. package/nodes/accessors/ModelViewProjectionNode.js +14 -13
  309. package/nodes/accessors/ModelViewProjectionNode.mjs +24 -0
  310. package/nodes/accessors/NormalNode.js +40 -39
  311. package/nodes/accessors/NormalNode.mjs +62 -0
  312. package/nodes/accessors/Object3DNode.js +40 -50
  313. package/nodes/accessors/Object3DNode.mjs +76 -0
  314. package/nodes/accessors/PointUVNode.js +5 -9
  315. package/nodes/accessors/PointUVNode.mjs +13 -0
  316. package/nodes/accessors/PositionNode.js +42 -41
  317. package/nodes/accessors/PositionNode.mjs +65 -0
  318. package/nodes/accessors/ReferenceNode.js +10 -17
  319. package/nodes/accessors/ReferenceNode.mjs +37 -0
  320. package/nodes/accessors/ReflectNode.js +23 -26
  321. package/nodes/accessors/ReflectNode.mjs +43 -0
  322. package/nodes/accessors/SkinningNode.js +46 -48
  323. package/nodes/accessors/SkinningNode.mjs +58 -0
  324. package/nodes/accessors/TextureNode.js +14 -29
  325. package/nodes/accessors/TextureNode.mjs +54 -0
  326. package/nodes/accessors/UVNode.js +5 -11
  327. package/nodes/accessors/UVNode.mjs +23 -0
  328. package/nodes/core/ArrayUniformNode.js +3 -7
  329. package/nodes/core/ArrayUniformNode.mjs +14 -0
  330. package/nodes/core/AttributeNode.js +5 -12
  331. package/nodes/core/AttributeNode.mjs +30 -0
  332. package/nodes/core/BypassNode.js +5 -12
  333. package/nodes/core/BypassNode.mjs +22 -0
  334. package/nodes/core/CodeNode.js +4 -12
  335. package/nodes/core/CodeNode.mjs +28 -0
  336. package/nodes/core/ConstNode.js +3 -7
  337. package/nodes/core/ConstNode.mjs +14 -0
  338. package/nodes/core/ContextNode.js +3 -8
  339. package/nodes/core/ContextNode.mjs +22 -0
  340. package/nodes/core/ExpressionNode.js +5 -9
  341. package/nodes/core/ExpressionNode.mjs +19 -0
  342. package/nodes/core/FunctionCallNode.js +6 -15
  343. package/nodes/core/FunctionCallNode.mjs +37 -0
  344. package/nodes/core/FunctionNode.js +10 -25
  345. package/nodes/core/FunctionNode.mjs +56 -0
  346. package/nodes/core/InputNode.js +12 -23
  347. package/nodes/core/InputNode.mjs +38 -0
  348. package/nodes/core/Node.js +35 -75
  349. package/nodes/core/Node.mjs +139 -0
  350. package/nodes/core/NodeAttribute.js +2 -4
  351. package/nodes/core/NodeAttribute.mjs +10 -0
  352. package/nodes/core/NodeBuilder.js +110 -224
  353. package/nodes/core/NodeBuilder.mjs +395 -0
  354. package/nodes/core/NodeCode.js +4 -7
  355. package/nodes/core/NodeCode.mjs +11 -0
  356. package/nodes/core/NodeFrame.js +9 -12
  357. package/nodes/core/NodeFrame.mjs +35 -0
  358. package/nodes/core/NodeFunctionInput.js +3 -5
  359. package/nodes/core/NodeFunctionInput.mjs +13 -0
  360. package/nodes/core/NodeKeywords.js +5 -16
  361. package/nodes/core/NodeKeywords.mjs +44 -0
  362. package/nodes/core/NodeUniform.js +3 -7
  363. package/nodes/core/NodeUniform.mjs +18 -0
  364. package/nodes/core/NodeUtils.js +39 -43
  365. package/nodes/core/NodeUtils.mjs +57 -0
  366. package/nodes/core/NodeVar.js +2 -4
  367. package/nodes/core/NodeVar.mjs +10 -0
  368. package/nodes/core/NodeVary.js +2 -4
  369. package/nodes/core/NodeVary.mjs +10 -0
  370. package/nodes/core/PropertyNode.js +4 -10
  371. package/nodes/core/PropertyNode.mjs +21 -0
  372. package/nodes/core/TempNode.js +5 -11
  373. package/nodes/core/TempNode.mjs +25 -0
  374. package/nodes/core/UniformNode.js +4 -10
  375. package/nodes/core/UniformNode.mjs +23 -0
  376. package/nodes/core/VarNode.js +3 -11
  377. package/nodes/core/VarNode.mjs +31 -0
  378. package/nodes/core/VaryNode.js +6 -15
  379. package/nodes/core/VaryNode.mjs +30 -0
  380. package/nodes/core/constants.js +20 -7
  381. package/nodes/core/constants.mjs +24 -0
  382. package/nodes/display/ColorSpaceNode.js +34 -38
  383. package/nodes/display/ColorSpaceNode.mjs +63 -0
  384. package/nodes/display/NormalMapNode.js +35 -53
  385. package/nodes/display/NormalMapNode.mjs +54 -0
  386. package/nodes/fog/FogNode.js +5 -9
  387. package/nodes/fog/FogNode.mjs +15 -0
  388. package/nodes/fog/FogRangeNode.js +5 -9
  389. package/nodes/fog/FogRangeNode.mjs +17 -0
  390. package/nodes/functions/BSDFs.js +61 -118
  391. package/nodes/functions/BSDFs.mjs +64 -0
  392. package/nodes/lights/LightContextNode.js +14 -23
  393. package/nodes/lights/LightContextNode.mjs +35 -0
  394. package/nodes/lights/LightNode.js +27 -31
  395. package/nodes/lights/LightNode.mjs +58 -0
  396. package/nodes/lights/LightsNode.js +9 -28
  397. package/nodes/lights/LightsNode.mjs +59 -0
  398. package/nodes/loaders/NodeLoader.js +27 -42
  399. package/nodes/loaders/NodeLoader.mjs +66 -0
  400. package/nodes/loaders/NodeMaterialLoader.js +4 -10
  401. package/nodes/loaders/NodeMaterialLoader.mjs +24 -0
  402. package/nodes/loaders/NodeObjectLoader.js +9 -19
  403. package/nodes/loaders/NodeObjectLoader.mjs +40 -0
  404. package/nodes/materials/LineBasicNodeMaterial.js +5 -10
  405. package/nodes/materials/LineBasicNodeMaterial.mjs +27 -0
  406. package/nodes/materials/Materials.js +14 -17
  407. package/nodes/materials/Materials.mjs +28 -0
  408. package/nodes/materials/MeshBasicNodeMaterial.js +5 -10
  409. package/nodes/materials/MeshBasicNodeMaterial.mjs +28 -0
  410. package/nodes/materials/MeshStandardNodeMaterial.js +5 -8
  411. package/nodes/materials/MeshStandardNodeMaterial.mjs +41 -0
  412. package/nodes/materials/NodeMaterial.js +20 -36
  413. package/nodes/materials/NodeMaterial.mjs +64 -0
  414. package/nodes/materials/PointsNodeMaterial.js +5 -10
  415. package/nodes/materials/PointsNodeMaterial.mjs +30 -0
  416. package/nodes/math/CondNode.js +11 -23
  417. package/nodes/math/CondNode.mjs +38 -0
  418. package/nodes/math/MathNode.js +98 -142
  419. package/nodes/math/MathNode.mjs +163 -0
  420. package/nodes/math/OperatorNode.js +24 -46
  421. package/nodes/math/OperatorNode.mjs +103 -0
  422. package/nodes/procedural/CheckerNode.js +13 -19
  423. package/nodes/procedural/CheckerNode.mjs +21 -0
  424. package/nodes/utils/ArrayElementNode.js +4 -8
  425. package/nodes/utils/ArrayElementNode.mjs +19 -0
  426. package/nodes/utils/ConvertNode.js +3 -8
  427. package/nodes/utils/ConvertNode.mjs +25 -0
  428. package/nodes/utils/JoinNode.js +7 -11
  429. package/nodes/utils/JoinNode.mjs +26 -0
  430. package/nodes/utils/MatcapUVNode.js +8 -11
  431. package/nodes/utils/MatcapUVNode.mjs +16 -0
  432. package/nodes/utils/OscNode.js +27 -33
  433. package/nodes/utils/OscNode.mjs +50 -0
  434. package/nodes/utils/SplitNode.js +6 -20
  435. package/nodes/utils/SplitNode.mjs +45 -0
  436. package/nodes/utils/SpriteSheetUVNode.js +23 -23
  437. package/nodes/utils/SpriteSheetUVNode.mjs +40 -0
  438. package/nodes/utils/TimerNode.js +20 -24
  439. package/nodes/utils/TimerNode.mjs +44 -0
  440. package/objects/GroundProjectedEnv.js +22 -37
  441. package/objects/GroundProjectedEnv.mjs +130 -0
  442. package/objects/Lensflare.js +86 -156
  443. package/objects/Lensflare.mjs +262 -0
  444. package/objects/LightningStorm.js +38 -102
  445. package/objects/LightningStorm.mjs +110 -0
  446. package/objects/MarchingCubes.js +150 -303
  447. package/objects/MarchingCubes.mjs +457 -0
  448. package/objects/Reflector.js +50 -72
  449. package/objects/Reflector.mjs +166 -0
  450. package/objects/ReflectorForSSRPass.js +80 -131
  451. package/objects/ReflectorForSSRPass.mjs +247 -0
  452. package/objects/ReflectorRTT.js +6 -7
  453. package/objects/ReflectorRTT.mjs +10 -0
  454. package/objects/Refractor.js +64 -106
  455. package/objects/Refractor.mjs +178 -0
  456. package/objects/ShadowMesh.js +8 -17
  457. package/objects/ShadowMesh.mjs +41 -0
  458. package/objects/Sky.js +119 -80
  459. package/objects/Sky.mjs +124 -0
  460. package/objects/Water.js +83 -127
  461. package/objects/Water.mjs +235 -0
  462. package/objects/Water2.js +72 -108
  463. package/objects/Water2.mjs +252 -0
  464. package/offscreen/jank.js +10 -14
  465. package/offscreen/jank.mjs +27 -0
  466. package/offscreen/offscreen.js +4 -5
  467. package/offscreen/offscreen.mjs +5 -0
  468. package/offscreen/scene.js +45 -48
  469. package/offscreen/scene.mjs +52 -0
  470. package/package.json +3 -3
  471. package/physics/AmmoPhysics.js +30 -71
  472. package/physics/AmmoPhysics.mjs +165 -0
  473. package/postprocessing/AdaptiveToneMappingPass.js +97 -123
  474. package/postprocessing/AdaptiveToneMappingPass.mjs +221 -0
  475. package/postprocessing/AfterimagePass.js +28 -49
  476. package/postprocessing/AfterimagePass.mjs +55 -0
  477. package/postprocessing/BloomPass.js +43 -69
  478. package/postprocessing/BloomPass.mjs +90 -0
  479. package/postprocessing/BokehPass.js +39 -69
  480. package/postprocessing/BokehPass.mjs +76 -0
  481. package/postprocessing/ClearPass.js +10 -25
  482. package/postprocessing/ClearPass.mjs +27 -0
  483. package/postprocessing/CubeTexturePass.js +28 -27
  484. package/postprocessing/CubeTexturePass.mjs +49 -0
  485. package/postprocessing/DotScreenPass.js +24 -32
  486. package/postprocessing/DotScreenPass.mjs +40 -0
  487. package/postprocessing/EffectComposer.js +39 -86
  488. package/postprocessing/EffectComposer.mjs +139 -0
  489. package/postprocessing/FilmPass.js +25 -30
  490. package/postprocessing/FilmPass.mjs +42 -0
  491. package/postprocessing/GlitchPass.js +38 -61
  492. package/postprocessing/GlitchPass.mjs +75 -0
  493. package/postprocessing/HalftonePass.js +19 -39
  494. package/postprocessing/HalftonePass.mjs +44 -0
  495. package/postprocessing/LUTPass.js +13 -38
  496. package/postprocessing/LUTPass.mjs +136 -0
  497. package/postprocessing/MaskPass.js +19 -38
  498. package/postprocessing/MaskPass.mjs +60 -0
  499. package/postprocessing/OutlinePass.js +135 -277
  500. package/postprocessing/OutlinePass.mjs +438 -0
  501. package/postprocessing/Pass.js +20 -44
  502. package/postprocessing/Pass.mjs +37 -0
  503. package/postprocessing/RenderPass.js +13 -36
  504. package/postprocessing/RenderPass.mjs +48 -0
  505. package/postprocessing/RenderPixelatedPass.js +44 -58
  506. package/postprocessing/RenderPixelatedPass.mjs +199 -0
  507. package/postprocessing/SAOPass.js +154 -189
  508. package/postprocessing/SAOPass.mjs +282 -0
  509. package/postprocessing/SMAAPass.js +64 -84
  510. package/postprocessing/SMAAPass.mjs +112 -0
  511. package/postprocessing/SSAARenderPass.js +121 -69
  512. package/postprocessing/SSAARenderPass.mjs +170 -0
  513. package/postprocessing/SSAOPass.js +123 -172
  514. package/postprocessing/SSAOPass.mjs +265 -0
  515. package/postprocessing/SSRPass.js +211 -280
  516. package/postprocessing/SSRPass.mjs +432 -0
  517. package/postprocessing/SavePass.js +20 -25
  518. package/postprocessing/SavePass.mjs +37 -0
  519. package/postprocessing/ShaderPass.js +14 -30
  520. package/postprocessing/ShaderPass.mjs +39 -0
  521. package/postprocessing/TAARenderPass.js +42 -61
  522. package/postprocessing/TAARenderPass.mjs +88 -0
  523. package/postprocessing/TexturePass.js +21 -22
  524. package/postprocessing/TexturePass.mjs +39 -0
  525. package/postprocessing/UnrealBloomPass.js +105 -213
  526. package/postprocessing/UnrealBloomPass.mjs +220 -0
  527. package/renderers/CSS2DRenderer.js +44 -56
  528. package/renderers/CSS2DRenderer.mjs +112 -0
  529. package/renderers/CSS3DRenderer.js +53 -86
  530. package/renderers/CSS3DRenderer.mjs +133 -0
  531. package/renderers/Projector.js +107 -274
  532. package/renderers/Projector.mjs +511 -0
  533. package/renderers/SVGRenderer.js +72 -182
  534. package/renderers/SVGRenderer.mjs +306 -0
  535. package/renderers/nodes/accessors/CameraNode.js +29 -40
  536. package/renderers/nodes/accessors/CameraNode.mjs +63 -0
  537. package/renderers/nodes/accessors/ModelNode.js +28 -37
  538. package/renderers/nodes/accessors/ModelNode.mjs +61 -0
  539. package/renderers/nodes/accessors/ModelViewProjectionNode.js +10 -23
  540. package/renderers/nodes/accessors/ModelViewProjectionNode.mjs +21 -0
  541. package/renderers/nodes/accessors/NormalNode.js +35 -45
  542. package/renderers/nodes/accessors/NormalNode.mjs +61 -0
  543. package/renderers/nodes/accessors/PositionNode.js +18 -19
  544. package/renderers/nodes/accessors/PositionNode.mjs +30 -0
  545. package/renderers/nodes/accessors/UVNode.js +5 -10
  546. package/renderers/nodes/accessors/UVNode.mjs +13 -0
  547. package/renderers/nodes/core/AttributeNode.js +5 -14
  548. package/renderers/nodes/core/AttributeNode.mjs +35 -0
  549. package/renderers/nodes/core/InputNode.js +4 -14
  550. package/renderers/nodes/core/InputNode.mjs +31 -0
  551. package/renderers/nodes/core/Node.js +7 -17
  552. package/renderers/nodes/core/Node.mjs +34 -0
  553. package/renderers/nodes/core/NodeAttribute.js +3 -6
  554. package/renderers/nodes/core/NodeAttribute.mjs +10 -0
  555. package/renderers/nodes/core/NodeBuilder.js +87 -154
  556. package/renderers/nodes/core/NodeBuilder.mjs +243 -0
  557. package/renderers/nodes/core/NodeFrame.js +9 -12
  558. package/renderers/nodes/core/NodeFrame.mjs +35 -0
  559. package/renderers/nodes/core/NodeSlot.js +2 -3
  560. package/renderers/nodes/core/NodeSlot.mjs +10 -0
  561. package/renderers/nodes/core/NodeUniform.js +4 -9
  562. package/renderers/nodes/core/NodeUniform.mjs +18 -0
  563. package/renderers/nodes/core/NodeVary.js +4 -7
  564. package/renderers/nodes/core/NodeVary.mjs +11 -0
  565. package/renderers/nodes/core/VaryNode.js +6 -12
  566. package/renderers/nodes/core/VaryNode.mjs +22 -0
  567. package/renderers/nodes/core/constants.js +16 -13
  568. package/renderers/nodes/core/constants.mjs +22 -0
  569. package/renderers/nodes/inputs/ColorNode.js +5 -11
  570. package/renderers/nodes/inputs/ColorNode.mjs +11 -0
  571. package/renderers/nodes/inputs/FloatNode.js +5 -11
  572. package/renderers/nodes/inputs/FloatNode.mjs +11 -0
  573. package/renderers/nodes/inputs/Matrix3Node.js +7 -13
  574. package/renderers/nodes/inputs/Matrix3Node.mjs +12 -0
  575. package/renderers/nodes/inputs/Matrix4Node.js +7 -13
  576. package/renderers/nodes/inputs/Matrix4Node.mjs +12 -0
  577. package/renderers/nodes/inputs/TextureNode.js +7 -15
  578. package/renderers/nodes/inputs/TextureNode.mjs +20 -0
  579. package/renderers/nodes/inputs/Vector2Node.js +5 -11
  580. package/renderers/nodes/inputs/Vector2Node.mjs +11 -0
  581. package/renderers/nodes/inputs/Vector3Node.js +7 -13
  582. package/renderers/nodes/inputs/Vector3Node.mjs +12 -0
  583. package/renderers/nodes/inputs/Vector4Node.js +7 -13
  584. package/renderers/nodes/inputs/Vector4Node.mjs +12 -0
  585. package/renderers/nodes/math/MathNode.js +20 -30
  586. package/renderers/nodes/math/MathNode.mjs +55 -0
  587. package/renderers/nodes/math/OperatorNode.js +4 -20
  588. package/renderers/nodes/math/OperatorNode.mjs +42 -0
  589. package/renderers/nodes/utils/SwitchNode.js +4 -9
  590. package/renderers/nodes/utils/SwitchNode.mjs +20 -0
  591. package/renderers/nodes/utils/TimerNode.js +5 -10
  592. package/renderers/nodes/utils/TimerNode.mjs +14 -0
  593. package/renderers/webgpu/WebGPU.js +14 -16
  594. package/renderers/webgpu/WebGPU.mjs +24 -0
  595. package/renderers/webgpu/WebGPUAttributes.js +16 -23
  596. package/renderers/webgpu/WebGPUAttributes.mjs +69 -0
  597. package/renderers/webgpu/WebGPUBackground.js +13 -30
  598. package/renderers/webgpu/WebGPUBackground.mjs +61 -0
  599. package/renderers/webgpu/WebGPUBinding.js +4 -7
  600. package/renderers/webgpu/WebGPUBinding.mjs +14 -0
  601. package/renderers/webgpu/WebGPUBindings.js +21 -57
  602. package/renderers/webgpu/WebGPUBindings.mjs +155 -0
  603. package/renderers/webgpu/WebGPUComputePipelines.js +14 -25
  604. package/renderers/webgpu/WebGPUComputePipelines.mjs +44 -0
  605. package/renderers/webgpu/WebGPUGeometries.js +5 -15
  606. package/renderers/webgpu/WebGPUGeometries.mjs +41 -0
  607. package/renderers/webgpu/WebGPUInfo.js +3 -8
  608. package/renderers/webgpu/WebGPUInfo.mjs +46 -0
  609. package/renderers/webgpu/WebGPUObjects.js +5 -10
  610. package/renderers/webgpu/WebGPUObjects.mjs +25 -0
  611. package/renderers/webgpu/WebGPUProperties.js +5 -11
  612. package/renderers/webgpu/WebGPUProperties.mjs +22 -0
  613. package/renderers/webgpu/WebGPURenderLists.js +20 -36
  614. package/renderers/webgpu/WebGPURenderLists.mjs +119 -0
  615. package/renderers/webgpu/WebGPURenderPipelines.js +260 -387
  616. package/renderers/webgpu/WebGPURenderPipelines.mjs +545 -0
  617. package/renderers/webgpu/WebGPURenderer.js +124 -262
  618. package/renderers/webgpu/WebGPURenderer.mjs +574 -0
  619. package/renderers/webgpu/WebGPUSampledTexture.js +18 -31
  620. package/renderers/webgpu/WebGPUSampledTexture.mjs +40 -0
  621. package/renderers/webgpu/WebGPUSampler.js +7 -12
  622. package/renderers/webgpu/WebGPUSampler.mjs +15 -0
  623. package/renderers/webgpu/WebGPUStorageBuffer.js +7 -12
  624. package/renderers/webgpu/WebGPUStorageBuffer.mjs +15 -0
  625. package/renderers/webgpu/WebGPUTextureRenderer.js +5 -11
  626. package/renderers/webgpu/WebGPUTextureRenderer.mjs +23 -0
  627. package/renderers/webgpu/WebGPUTextureUtils.js +29 -40
  628. package/renderers/webgpu/WebGPUTextureUtils.mjs +98 -0
  629. package/renderers/webgpu/WebGPUTextures.js +186 -333
  630. package/renderers/webgpu/WebGPUTextures.mjs +484 -0
  631. package/renderers/webgpu/WebGPUUniform.js +25 -51
  632. package/renderers/webgpu/WebGPUUniform.mjs +81 -0
  633. package/renderers/webgpu/WebGPUUniformsGroup.js +32 -72
  634. package/renderers/webgpu/WebGPUUniformsGroup.mjs +176 -0
  635. package/renderers/webgpu/constants.js +190 -181
  636. package/renderers/webgpu/constants.mjs +230 -0
  637. package/renderers/webgpu/nodes/ShaderLib.js +2 -2
  638. package/renderers/webgpu/nodes/ShaderLib.mjs +42 -0
  639. package/renderers/webgpu/nodes/WebGPUNodeBuilder.js +53 -124
  640. package/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +165 -0
  641. package/renderers/webgpu/nodes/WebGPUNodeUniform.js +17 -31
  642. package/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +73 -0
  643. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +8 -9
  644. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +15 -0
  645. package/renderers/webgpu/nodes/WebGPUNodes.js +7 -45
  646. package/renderers/webgpu/nodes/WebGPUNodes.mjs +40 -0
  647. package/shaders/ACESFilmicToneMappingShader.js +44 -24
  648. package/shaders/ACESFilmicToneMappingShader.mjs +48 -0
  649. package/shaders/AfterimageShader.js +28 -18
  650. package/shaders/AfterimageShader.mjs +32 -0
  651. package/shaders/BasicShader.js +9 -7
  652. package/shaders/BasicShader.mjs +12 -0
  653. package/shaders/BleachBypassShader.js +31 -15
  654. package/shaders/BleachBypassShader.mjs +35 -0
  655. package/shaders/BlendShader.js +26 -19
  656. package/shaders/BlendShader.mjs +30 -0
  657. package/shaders/BokehShader.js +98 -36
  658. package/shaders/BokehShader.mjs +106 -0
  659. package/shaders/BokehShader2.js +261 -90
  660. package/shaders/BokehShader2.mjs +269 -0
  661. package/shaders/BrightnessContrastShader.js +28 -19
  662. package/shaders/BrightnessContrastShader.mjs +32 -0
  663. package/shaders/ColorCorrectionShader.js +26 -22
  664. package/shaders/ColorCorrectionShader.mjs +30 -0
  665. package/shaders/ColorifyShader.js +24 -16
  666. package/shaders/ColorifyShader.mjs +28 -0
  667. package/shaders/ConvolutionShader.js +40 -36
  668. package/shaders/ConvolutionShader.mjs +55 -0
  669. package/shaders/CopyShader.js +21 -13
  670. package/shaders/CopyShader.mjs +25 -0
  671. package/shaders/DOFMipMapShader.js +28 -21
  672. package/shaders/DOFMipMapShader.mjs +32 -0
  673. package/shaders/DepthLimitedBlurShader.js +85 -40
  674. package/shaders/DepthLimitedBlurShader.mjs +114 -0
  675. package/shaders/DigitalGlitch.js +74 -46
  676. package/shaders/DigitalGlitch.mjs +78 -0
  677. package/shaders/DotScreenShader.js +35 -27
  678. package/shaders/DotScreenShader.mjs +39 -0
  679. package/shaders/FXAAShader.js +1094 -19
  680. package/shaders/FXAAShader.mjs +1098 -0
  681. package/shaders/FilmShader.js +38 -52
  682. package/shaders/FilmShader.mjs +42 -0
  683. package/shaders/FocusShader.js +51 -24
  684. package/shaders/FocusShader.mjs +55 -0
  685. package/shaders/FreiChenShader.js +57 -24
  686. package/shaders/FreiChenShader.mjs +61 -0
  687. package/shaders/FresnelShader.js +43 -22
  688. package/shaders/FresnelShader.mjs +47 -0
  689. package/shaders/GammaCorrectionShader.js +19 -11
  690. package/shaders/GammaCorrectionShader.mjs +23 -0
  691. package/shaders/GodRaysShader.js +103 -94
  692. package/shaders/GodRaysShader.mjs +146 -0
  693. package/shaders/HalftoneShader.js +208 -65
  694. package/shaders/HalftoneShader.mjs +212 -0
  695. package/shaders/HorizontalBlurShader.js +7 -23
  696. package/shaders/HorizontalBlurShader.mjs +43 -0
  697. package/shaders/HorizontalTiltShiftShader.js +33 -21
  698. package/shaders/HorizontalTiltShiftShader.mjs +37 -0
  699. package/shaders/HueSaturationShader.js +37 -21
  700. package/shaders/HueSaturationShader.mjs +41 -0
  701. package/shaders/KaleidoShader.js +30 -22
  702. package/shaders/KaleidoShader.mjs +34 -0
  703. package/shaders/LuminosityHighPassShader.js +33 -27
  704. package/shaders/LuminosityHighPassShader.mjs +37 -0
  705. package/shaders/LuminosityShader.js +21 -11
  706. package/shaders/LuminosityShader.mjs +25 -0
  707. package/shaders/MirrorShader.js +31 -16
  708. package/shaders/MirrorShader.mjs +35 -0
  709. package/shaders/NormalMapShader.js +27 -23
  710. package/shaders/NormalMapShader.mjs +31 -0
  711. package/shaders/ParallaxShader.js +107 -48
  712. package/shaders/ParallaxShader.mjs +113 -0
  713. package/shaders/PixelShader.js +24 -16
  714. package/shaders/PixelShader.mjs +28 -0
  715. package/shaders/RGBShiftShader.js +26 -22
  716. package/shaders/RGBShiftShader.mjs +30 -0
  717. package/shaders/SAOShader.js +132 -48
  718. package/shaders/SAOShader.mjs +144 -0
  719. package/shaders/SMAAShader.js +256 -135
  720. package/shaders/SMAAShader.mjs +272 -0
  721. package/shaders/SSAOShader.js +153 -81
  722. package/shaders/SSAOShader.mjs +172 -0
  723. package/shaders/SSRShader.js +32 -87
  724. package/shaders/SSRShader.mjs +324 -0
  725. package/shaders/SepiaShader.js +25 -15
  726. package/shaders/SepiaShader.mjs +29 -0
  727. package/shaders/SobelOperatorShader.js +40 -29
  728. package/shaders/SobelOperatorShader.mjs +44 -0
  729. package/shaders/SubsurfaceScatteringShader.js +53 -39
  730. package/shaders/SubsurfaceScatteringShader.mjs +59 -0
  731. package/shaders/TechnicolorShader.js +20 -13
  732. package/shaders/TechnicolorShader.mjs +24 -0
  733. package/shaders/ToneMapShader.js +44 -28
  734. package/shaders/ToneMapShader.mjs +48 -0
  735. package/shaders/ToonShader.js +172 -96
  736. package/shaders/ToonShader.mjs +188 -0
  737. package/shaders/TriangleBlurShader.js +32 -23
  738. package/shaders/TriangleBlurShader.mjs +36 -0
  739. package/shaders/UnpackDepthRGBAShader.js +22 -14
  740. package/shaders/UnpackDepthRGBAShader.mjs +26 -0
  741. package/shaders/VerticalBlurShader.js +7 -23
  742. package/shaders/VerticalBlurShader.mjs +44 -0
  743. package/shaders/VerticalTiltShiftShader.js +33 -21
  744. package/shaders/VerticalTiltShiftShader.mjs +37 -0
  745. package/shaders/VignetteShader.js +24 -28
  746. package/shaders/VignetteShader.mjs +28 -0
  747. package/shaders/VolumeShader.js +174 -77
  748. package/shaders/VolumeShader.mjs +178 -0
  749. package/shaders/WaterRefractionShader.js +38 -6
  750. package/shaders/WaterRefractionShader.mjs +57 -0
  751. package/shaders/types.js +1 -1
  752. package/{custom.d.js → shaders/types.mjs} +0 -0
  753. package/textures/FlakesTexture.js +8 -10
  754. package/textures/FlakesTexture.mjs +30 -0
  755. package/types/helpers.js +3 -2
  756. package/types/helpers.mjs +4 -0
  757. package/utils/BufferGeometryUtils.js +251 -325
  758. package/utils/BufferGeometryUtils.mjs +570 -0
  759. package/utils/GeometryCompressionUtils.js +241 -239
  760. package/utils/GeometryCompressionUtils.mjs +547 -0
  761. package/utils/GeometryUtils.js +41 -94
  762. package/utils/GeometryUtils.mjs +108 -0
  763. package/utils/RoughnessMipmapper.js +38 -82
  764. package/utils/RoughnessMipmapper.mjs +213 -0
  765. package/utils/SceneUtils.js +15 -20
  766. package/utils/SceneUtils.mjs +36 -0
  767. package/utils/ShadowMapViewer.js +49 -95
  768. package/utils/ShadowMapViewer.mjs +114 -0
  769. package/utils/SkeletonUtils.js +74 -165
  770. package/utils/SkeletonUtils.mjs +292 -0
  771. package/utils/UVsDebug.js +32 -62
  772. package/utils/UVsDebug.mjs +85 -0
  773. package/utils/WorkerPool.js +13 -33
  774. package/utils/WorkerPool.mjs +62 -0
  775. package/webxr/ARButton.js +72 -98
  776. package/webxr/ARButton.mjs +119 -0
  777. package/webxr/OculusHandModel.js +18 -37
  778. package/webxr/OculusHandModel.mjs +71 -0
  779. package/webxr/OculusHandPointerModel.js +58 -80
  780. package/webxr/OculusHandPointerModel.mjs +207 -0
  781. package/webxr/Text2D.js +37 -19
  782. package/webxr/Text2D.mjs +31 -0
  783. package/webxr/VRButton.js +59 -90
  784. package/webxr/VRButton.mjs +105 -0
  785. package/webxr/XRControllerModelFactory.js +58 -116
  786. package/webxr/XRControllerModelFactory.mjs +146 -0
  787. package/webxr/XREstimatedLight.js +39 -66
  788. package/webxr/XREstimatedLight.mjs +126 -0
  789. package/webxr/XRHandMeshModel.js +40 -29
  790. package/webxr/XRHandMeshModel.mjs +73 -0
  791. package/webxr/XRHandModelFactory.js +28 -31
  792. package/webxr/XRHandModelFactory.mjs +61 -0
  793. package/webxr/XRHandPrimitiveModel.js +41 -27
  794. package/webxr/XRHandPrimitiveModel.mjs +68 -0
  795. package/BufferGeometryUtils-1a7a235c.js +0 -655
  796. package/BufferGeometryUtils-971dfde3.js +0 -1
  797. package/Nodes-4f766d71.js +0 -471
  798. package/Nodes-9aa16d74.js +0 -1
  799. package/animation/AnimationClipCreator.cjs.js +0 -1
  800. package/animation/CCDIKSolver.cjs.js +0 -1
  801. package/animation/MMDAnimationHelper.cjs.js +0 -1
  802. package/animation/MMDPhysics.cjs.js +0 -1
  803. package/cameras/CinematicCamera.cjs.js +0 -1
  804. package/controls/ArcballControls.cjs.js +0 -1
  805. package/controls/DeviceOrientationControls.cjs.js +0 -1
  806. package/controls/DragControls.cjs.js +0 -1
  807. package/controls/FirstPersonControls.cjs.js +0 -1
  808. package/controls/FlyControls.cjs.js +0 -1
  809. package/controls/OrbitControls.cjs.js +0 -1
  810. package/controls/PointerLockControls.cjs.js +0 -1
  811. package/controls/TrackballControls.cjs.js +0 -1
  812. package/controls/TransformControls.cjs.js +0 -1
  813. package/controls/experimental/CameraControls.cjs.js +0 -1
  814. package/csm/CSM.cjs.js +0 -1
  815. package/csm/CSMFrustum.cjs.js +0 -1
  816. package/csm/CSMHelper.cjs.js +0 -1
  817. package/csm/CSMShader.cjs.js +0 -1
  818. package/curves/CurveExtras.cjs.js +0 -1
  819. package/curves/NURBSCurve.cjs.js +0 -1
  820. package/curves/NURBSSurface.cjs.js +0 -1
  821. package/curves/NURBSUtils.cjs.js +0 -1
  822. package/custom.d.cjs.js +0 -1
  823. package/deprecated/Geometry.cjs.js +0 -1
  824. package/effects/AnaglyphEffect.cjs.js +0 -1
  825. package/effects/AsciiEffect.cjs.js +0 -1
  826. package/effects/OutlineEffect.cjs.js +0 -1
  827. package/effects/ParallaxBarrierEffect.cjs.js +0 -1
  828. package/effects/PeppersGhostEffect.cjs.js +0 -1
  829. package/effects/StereoEffect.cjs.js +0 -1
  830. package/environments/RoomEnvironment.cjs.js +0 -1
  831. package/exporters/ColladaExporter.cjs.js +0 -1
  832. package/exporters/DRACOExporter.cjs.js +0 -1
  833. package/exporters/GLTFExporter.cjs.js +0 -1
  834. package/exporters/MMDExporter.cjs.js +0 -1
  835. package/exporters/OBJExporter.cjs.js +0 -1
  836. package/exporters/PLYExporter.cjs.js +0 -1
  837. package/exporters/STLExporter.cjs.js +0 -1
  838. package/exporters/USDZExporter.cjs.js +0 -1
  839. package/geometries/BoxLineGeometry.cjs.js +0 -1
  840. package/geometries/ConvexGeometry.cjs.js +0 -1
  841. package/geometries/DecalGeometry.cjs.js +0 -1
  842. package/geometries/LightningStrike.cjs.js +0 -1
  843. package/geometries/ParametricGeometries.cjs.js +0 -1
  844. package/geometries/ParametricGeometry.cjs.js +0 -1
  845. package/geometries/RoundedBoxGeometry.cjs.js +0 -1
  846. package/geometries/TeapotGeometry.cjs.js +0 -1
  847. package/geometries/TextGeometry.cjs.js +0 -1
  848. package/helpers/LightProbeHelper.cjs.js +0 -1
  849. package/helpers/PositionalAudioHelper.cjs.js +0 -1
  850. package/helpers/RectAreaLightHelper.cjs.js +0 -1
  851. package/helpers/VertexNormalsHelper.cjs.js +0 -1
  852. package/helpers/VertexTangentsHelper.cjs.js +0 -1
  853. package/index.cjs.js +0 -1
  854. package/interactive/InteractiveGroup.cjs.js +0 -1
  855. package/interactive/InteractiveGroup.d.ts +0 -5
  856. package/interactive/InteractiveGroup.js +0 -87
  857. package/interactive/SelectionBox.cjs.js +0 -1
  858. package/interactive/SelectionHelper.cjs.js +0 -1
  859. package/libs/MeshoptDecoder.cjs.js +0 -1
  860. package/libs/MotionControllers.cjs.js +0 -1
  861. package/lights/LightProbeGenerator.cjs.js +0 -1
  862. package/lights/RectAreaLightUniformsLib.cjs.js +0 -1
  863. package/lines/Line2.cjs.js +0 -1
  864. package/lines/LineGeometry.cjs.js +0 -1
  865. package/lines/LineMaterial.cjs.js +0 -1
  866. package/lines/LineSegments2.cjs.js +0 -1
  867. package/lines/LineSegmentsGeometry.cjs.js +0 -1
  868. package/lines/Wireframe.cjs.js +0 -1
  869. package/lines/WireframeGeometry2.cjs.js +0 -1
  870. package/loaders/3DMLoader.cjs.js +0 -1
  871. package/loaders/3MFLoader.cjs.js +0 -1
  872. package/loaders/AMFLoader.cjs.js +0 -1
  873. package/loaders/AssimpLoader.cjs.js +0 -1
  874. package/loaders/BVHLoader.cjs.js +0 -1
  875. package/loaders/BasisTextureLoader.cjs.js +0 -1
  876. package/loaders/ColladaLoader.cjs.js +0 -1
  877. package/loaders/DDSLoader.cjs.js +0 -1
  878. package/loaders/DRACOLoader.cjs.js +0 -1
  879. package/loaders/EXRLoader.cjs.js +0 -1
  880. package/loaders/FBXLoader.cjs.js +0 -1
  881. package/loaders/FontLoader.cjs.js +0 -1
  882. package/loaders/GCodeLoader.cjs.js +0 -1
  883. package/loaders/GLTFLoader.cjs.js +0 -1
  884. package/loaders/HDRCubeTextureLoader.cjs.js +0 -1
  885. package/loaders/KMZLoader.cjs.js +0 -1
  886. package/loaders/KTX2Loader.cjs.js +0 -1
  887. package/loaders/KTXLoader.cjs.js +0 -1
  888. package/loaders/LDrawLoader.cjs.js +0 -1
  889. package/loaders/LUT3dlLoader.cjs.js +0 -1
  890. package/loaders/LUTCubeLoader.cjs.js +0 -1
  891. package/loaders/LWOLoader.cjs.js +0 -1
  892. package/loaders/LottieLoader.cjs.js +0 -1
  893. package/loaders/MD2Loader.cjs.js +0 -1
  894. package/loaders/MDDLoader.cjs.js +0 -1
  895. package/loaders/MMDLoader.cjs.js +0 -1
  896. package/loaders/MTLLoader.cjs.js +0 -1
  897. package/loaders/NRRDLoader.cjs.js +0 -1
  898. package/loaders/NodeMaterialLoader.cjs.js +0 -1
  899. package/loaders/OBJLoader.cjs.js +0 -1
  900. package/loaders/PCDLoader.cjs.js +0 -1
  901. package/loaders/PDBLoader.cjs.js +0 -1
  902. package/loaders/PLYLoader.cjs.js +0 -1
  903. package/loaders/PRWMLoader.cjs.js +0 -1
  904. package/loaders/PVRLoader.cjs.js +0 -1
  905. package/loaders/RGBELoader.cjs.js +0 -1
  906. package/loaders/RGBMLoader.cjs.js +0 -1
  907. package/loaders/STLLoader.cjs.js +0 -1
  908. package/loaders/SVGLoader.cjs.js +0 -1
  909. package/loaders/TDSLoader.cjs.js +0 -1
  910. package/loaders/TGALoader.cjs.js +0 -1
  911. package/loaders/TTFLoader.cjs.js +0 -1
  912. package/loaders/TiltLoader.cjs.js +0 -1
  913. package/loaders/VOXLoader.cjs.js +0 -1
  914. package/loaders/VRMLLoader.cjs.js +0 -1
  915. package/loaders/VRMLoader.cjs.js +0 -1
  916. package/loaders/VTKLoader.cjs.js +0 -1
  917. package/loaders/XLoader.cjs.js +0 -1
  918. package/loaders/XYZLoader.cjs.js +0 -1
  919. package/loaders/lwo/IFFParser.cjs.js +0 -1
  920. package/loaders/lwo/LWO2Parser.cjs.js +0 -1
  921. package/loaders/lwo/LWO3Parser.cjs.js +0 -1
  922. package/math/Capsule.cjs.js +0 -1
  923. package/math/ColorConverter.cjs.js +0 -1
  924. package/math/ConvexHull.cjs.js +0 -1
  925. package/math/ImprovedNoise.cjs.js +0 -1
  926. package/math/Lut.cjs.js +0 -1
  927. package/math/MeshSurfaceSampler.cjs.js +0 -1
  928. package/math/OBB.cjs.js +0 -1
  929. package/math/Octree.cjs.js +0 -1
  930. package/math/SimplexNoise.cjs.js +0 -1
  931. package/misc/ConvexObjectBreaker.cjs.js +0 -1
  932. package/misc/GPUComputationRenderer.cjs.js +0 -1
  933. package/misc/Gyroscope.cjs.js +0 -1
  934. package/misc/MD2Character.cjs.js +0 -1
  935. package/misc/MD2CharacterComplex.cjs.js +0 -1
  936. package/misc/MorphAnimMesh.cjs.js +0 -1
  937. package/misc/MorphBlendMesh.cjs.js +0 -1
  938. package/misc/ProgressiveLightmap.cjs.js +0 -1
  939. package/misc/RollerCoaster.cjs.js +0 -1
  940. package/misc/TubePainter.cjs.js +0 -1
  941. package/misc/Volume.cjs.js +0 -1
  942. package/misc/VolumeSlice.cjs.js +0 -1
  943. package/misc/WebGL.cjs.js +0 -1
  944. package/modifiers/CurveModifier.cjs.js +0 -1
  945. package/modifiers/EdgeSplitModifier.cjs.js +0 -1
  946. package/modifiers/SimplifyModifier.cjs.js +0 -1
  947. package/modifiers/TessellateModifier.cjs.js +0 -1
  948. package/nodes/Nodes.cjs.js +0 -1
  949. package/nodes/ShaderNode.cjs.js +0 -1
  950. package/nodes/accessors/BufferNode.cjs.js +0 -1
  951. package/nodes/accessors/CameraNode.cjs.js +0 -1
  952. package/nodes/accessors/CubeTextureNode.cjs.js +0 -1
  953. package/nodes/accessors/MaterialNode.cjs.js +0 -1
  954. package/nodes/accessors/MaterialReferenceNode.cjs.js +0 -1
  955. package/nodes/accessors/ModelNode.cjs.js +0 -1
  956. package/nodes/accessors/ModelViewProjectionNode.cjs.js +0 -1
  957. package/nodes/accessors/NormalNode.cjs.js +0 -1
  958. package/nodes/accessors/Object3DNode.cjs.js +0 -1
  959. package/nodes/accessors/PointUVNode.cjs.js +0 -1
  960. package/nodes/accessors/PositionNode.cjs.js +0 -1
  961. package/nodes/accessors/ReferenceNode.cjs.js +0 -1
  962. package/nodes/accessors/ReflectNode.cjs.js +0 -1
  963. package/nodes/accessors/SkinningNode.cjs.js +0 -1
  964. package/nodes/accessors/TextureNode.cjs.js +0 -1
  965. package/nodes/accessors/UVNode.cjs.js +0 -1
  966. package/nodes/core/ArrayUniformNode.cjs.js +0 -1
  967. package/nodes/core/AttributeNode.cjs.js +0 -1
  968. package/nodes/core/BypassNode.cjs.js +0 -1
  969. package/nodes/core/CodeNode.cjs.js +0 -1
  970. package/nodes/core/ConstNode.cjs.js +0 -1
  971. package/nodes/core/ContextNode.cjs.js +0 -1
  972. package/nodes/core/ExpressionNode.cjs.js +0 -1
  973. package/nodes/core/FunctionCallNode.cjs.js +0 -1
  974. package/nodes/core/FunctionNode.cjs.js +0 -1
  975. package/nodes/core/InputNode.cjs.js +0 -1
  976. package/nodes/core/Node.cjs.js +0 -1
  977. package/nodes/core/NodeAttribute.cjs.js +0 -1
  978. package/nodes/core/NodeBuilder.cjs.js +0 -1
  979. package/nodes/core/NodeCode.cjs.js +0 -1
  980. package/nodes/core/NodeFrame.cjs.js +0 -1
  981. package/nodes/core/NodeFunction.cjs.js +0 -1
  982. package/nodes/core/NodeFunction.js +0 -17
  983. package/nodes/core/NodeFunctionInput.cjs.js +0 -1
  984. package/nodes/core/NodeKeywords.cjs.js +0 -1
  985. package/nodes/core/NodeParser.cjs.js +0 -1
  986. package/nodes/core/NodeParser.js +0 -8
  987. package/nodes/core/NodeUniform.cjs.js +0 -1
  988. package/nodes/core/NodeUtils.cjs.js +0 -1
  989. package/nodes/core/NodeVar.cjs.js +0 -1
  990. package/nodes/core/NodeVary.cjs.js +0 -1
  991. package/nodes/core/PropertyNode.cjs.js +0 -1
  992. package/nodes/core/TempNode.cjs.js +0 -1
  993. package/nodes/core/UniformNode.cjs.js +0 -1
  994. package/nodes/core/VarNode.cjs.js +0 -1
  995. package/nodes/core/VaryNode.cjs.js +0 -1
  996. package/nodes/core/constants.cjs.js +0 -1
  997. package/nodes/display/ColorSpaceNode.cjs.js +0 -1
  998. package/nodes/display/NormalMapNode.cjs.js +0 -1
  999. package/nodes/fog/FogNode.cjs.js +0 -1
  1000. package/nodes/fog/FogRangeNode.cjs.js +0 -1
  1001. package/nodes/functions/BSDFs.cjs.js +0 -1
  1002. package/nodes/functions/PhysicalMaterialFunctions.cjs.js +0 -1
  1003. package/nodes/functions/PhysicalMaterialFunctions.js +0 -57
  1004. package/nodes/lights/LightContextNode.cjs.js +0 -1
  1005. package/nodes/lights/LightNode.cjs.js +0 -1
  1006. package/nodes/lights/LightsNode.cjs.js +0 -1
  1007. package/nodes/loaders/NodeLoader.cjs.js +0 -1
  1008. package/nodes/loaders/NodeMaterialLoader.cjs.js +0 -1
  1009. package/nodes/loaders/NodeObjectLoader.cjs.js +0 -1
  1010. package/nodes/materials/LineBasicNodeMaterial.cjs.js +0 -1
  1011. package/nodes/materials/Materials.cjs.js +0 -1
  1012. package/nodes/materials/MeshBasicNodeMaterial.cjs.js +0 -1
  1013. package/nodes/materials/MeshStandardNodeMaterial.cjs.js +0 -1
  1014. package/nodes/materials/NodeMaterial.cjs.js +0 -1
  1015. package/nodes/materials/PointsNodeMaterial.cjs.js +0 -1
  1016. package/nodes/math/CondNode.cjs.js +0 -1
  1017. package/nodes/math/MathNode.cjs.js +0 -1
  1018. package/nodes/math/OperatorNode.cjs.js +0 -1
  1019. package/nodes/parsers/GLSLNodeFunction.cjs.js +0 -1
  1020. package/nodes/parsers/GLSLNodeFunction.js +0 -101
  1021. package/nodes/parsers/GLSLNodeParser.cjs.js +0 -1
  1022. package/nodes/parsers/GLSLNodeParser.js +0 -13
  1023. package/nodes/parsers/WGSLNodeFunction.cjs.js +0 -1
  1024. package/nodes/parsers/WGSLNodeFunction.js +0 -71
  1025. package/nodes/parsers/WGSLNodeParser.cjs.js +0 -1
  1026. package/nodes/parsers/WGSLNodeParser.js +0 -13
  1027. package/nodes/procedural/CheckerNode.cjs.js +0 -1
  1028. package/nodes/utils/ArrayElementNode.cjs.js +0 -1
  1029. package/nodes/utils/ConvertNode.cjs.js +0 -1
  1030. package/nodes/utils/JoinNode.cjs.js +0 -1
  1031. package/nodes/utils/MatcapUVNode.cjs.js +0 -1
  1032. package/nodes/utils/OscNode.cjs.js +0 -1
  1033. package/nodes/utils/SplitNode.cjs.js +0 -1
  1034. package/nodes/utils/SpriteSheetUVNode.cjs.js +0 -1
  1035. package/nodes/utils/TimerNode.cjs.js +0 -1
  1036. package/objects/GroundProjectedEnv.cjs.js +0 -1
  1037. package/objects/Lensflare.cjs.js +0 -1
  1038. package/objects/LightningStorm.cjs.js +0 -1
  1039. package/objects/MarchingCubes.cjs.js +0 -1
  1040. package/objects/Reflector.cjs.js +0 -1
  1041. package/objects/ReflectorForSSRPass.cjs.js +0 -1
  1042. package/objects/ReflectorRTT.cjs.js +0 -1
  1043. package/objects/Refractor.cjs.js +0 -1
  1044. package/objects/ShadowMesh.cjs.js +0 -1
  1045. package/objects/Sky.cjs.js +0 -1
  1046. package/objects/Water.cjs.js +0 -1
  1047. package/objects/Water2.cjs.js +0 -1
  1048. package/offscreen/jank.cjs.js +0 -1
  1049. package/offscreen/offscreen.cjs.js +0 -1
  1050. package/offscreen/scene.cjs.js +0 -1
  1051. package/physics/AmmoPhysics.cjs.js +0 -1
  1052. package/postprocessing/AdaptiveToneMappingPass.cjs.js +0 -1
  1053. package/postprocessing/AfterimagePass.cjs.js +0 -1
  1054. package/postprocessing/BloomPass.cjs.js +0 -1
  1055. package/postprocessing/BokehPass.cjs.js +0 -1
  1056. package/postprocessing/ClearPass.cjs.js +0 -1
  1057. package/postprocessing/CubeTexturePass.cjs.js +0 -1
  1058. package/postprocessing/DotScreenPass.cjs.js +0 -1
  1059. package/postprocessing/EffectComposer.cjs.js +0 -1
  1060. package/postprocessing/FilmPass.cjs.js +0 -1
  1061. package/postprocessing/GlitchPass.cjs.js +0 -1
  1062. package/postprocessing/HalftonePass.cjs.js +0 -1
  1063. package/postprocessing/LUTPass.cjs.js +0 -1
  1064. package/postprocessing/MaskPass.cjs.js +0 -1
  1065. package/postprocessing/OutlinePass.cjs.js +0 -1
  1066. package/postprocessing/Pass.cjs.js +0 -1
  1067. package/postprocessing/RenderPass.cjs.js +0 -1
  1068. package/postprocessing/RenderPixelatedPass.cjs.js +0 -1
  1069. package/postprocessing/SAOPass.cjs.js +0 -1
  1070. package/postprocessing/SMAAPass.cjs.js +0 -1
  1071. package/postprocessing/SSAARenderPass.cjs.js +0 -1
  1072. package/postprocessing/SSAOPass.cjs.js +0 -1
  1073. package/postprocessing/SSRPass.cjs.js +0 -1
  1074. package/postprocessing/SavePass.cjs.js +0 -1
  1075. package/postprocessing/ShaderPass.cjs.js +0 -1
  1076. package/postprocessing/TAARenderPass.cjs.js +0 -1
  1077. package/postprocessing/TexturePass.cjs.js +0 -1
  1078. package/postprocessing/UnrealBloomPass.cjs.js +0 -1
  1079. package/renderers/CSS2DRenderer.cjs.js +0 -1
  1080. package/renderers/CSS3DRenderer.cjs.js +0 -1
  1081. package/renderers/Projector.cjs.js +0 -1
  1082. package/renderers/SVGRenderer.cjs.js +0 -1
  1083. package/renderers/nodes/accessors/CameraNode.cjs.js +0 -1
  1084. package/renderers/nodes/accessors/ModelNode.cjs.js +0 -1
  1085. package/renderers/nodes/accessors/ModelViewProjectionNode.cjs.js +0 -1
  1086. package/renderers/nodes/accessors/NormalNode.cjs.js +0 -1
  1087. package/renderers/nodes/accessors/PositionNode.cjs.js +0 -1
  1088. package/renderers/nodes/accessors/UVNode.cjs.js +0 -1
  1089. package/renderers/nodes/core/AttributeNode.cjs.js +0 -1
  1090. package/renderers/nodes/core/InputNode.cjs.js +0 -1
  1091. package/renderers/nodes/core/Node.cjs.js +0 -1
  1092. package/renderers/nodes/core/NodeAttribute.cjs.js +0 -1
  1093. package/renderers/nodes/core/NodeBuilder.cjs.js +0 -1
  1094. package/renderers/nodes/core/NodeFrame.cjs.js +0 -1
  1095. package/renderers/nodes/core/NodeSlot.cjs.js +0 -1
  1096. package/renderers/nodes/core/NodeUniform.cjs.js +0 -1
  1097. package/renderers/nodes/core/NodeVary.cjs.js +0 -1
  1098. package/renderers/nodes/core/VaryNode.cjs.js +0 -1
  1099. package/renderers/nodes/core/constants.cjs.js +0 -1
  1100. package/renderers/nodes/inputs/ColorNode.cjs.js +0 -1
  1101. package/renderers/nodes/inputs/FloatNode.cjs.js +0 -1
  1102. package/renderers/nodes/inputs/Matrix3Node.cjs.js +0 -1
  1103. package/renderers/nodes/inputs/Matrix4Node.cjs.js +0 -1
  1104. package/renderers/nodes/inputs/TextureNode.cjs.js +0 -1
  1105. package/renderers/nodes/inputs/Vector2Node.cjs.js +0 -1
  1106. package/renderers/nodes/inputs/Vector3Node.cjs.js +0 -1
  1107. package/renderers/nodes/inputs/Vector4Node.cjs.js +0 -1
  1108. package/renderers/nodes/math/MathNode.cjs.js +0 -1
  1109. package/renderers/nodes/math/OperatorNode.cjs.js +0 -1
  1110. package/renderers/nodes/utils/SwitchNode.cjs.js +0 -1
  1111. package/renderers/nodes/utils/TimerNode.cjs.js +0 -1
  1112. package/renderers/webgpu/WebGPU.cjs.js +0 -1
  1113. package/renderers/webgpu/WebGPUAttributes.cjs.js +0 -1
  1114. package/renderers/webgpu/WebGPUBackground.cjs.js +0 -1
  1115. package/renderers/webgpu/WebGPUBinding.cjs.js +0 -1
  1116. package/renderers/webgpu/WebGPUBindings.cjs.js +0 -1
  1117. package/renderers/webgpu/WebGPUComputePipelines.cjs.js +0 -1
  1118. package/renderers/webgpu/WebGPUGeometries.cjs.js +0 -1
  1119. package/renderers/webgpu/WebGPUInfo.cjs.js +0 -1
  1120. package/renderers/webgpu/WebGPUObjects.cjs.js +0 -1
  1121. package/renderers/webgpu/WebGPUProperties.cjs.js +0 -1
  1122. package/renderers/webgpu/WebGPURenderLists.cjs.js +0 -1
  1123. package/renderers/webgpu/WebGPURenderPipelines.cjs.js +0 -1
  1124. package/renderers/webgpu/WebGPURenderer.cjs.js +0 -1
  1125. package/renderers/webgpu/WebGPUSampledTexture.cjs.js +0 -1
  1126. package/renderers/webgpu/WebGPUSampler.cjs.js +0 -1
  1127. package/renderers/webgpu/WebGPUStorageBuffer.cjs.js +0 -1
  1128. package/renderers/webgpu/WebGPUTextureRenderer.cjs.js +0 -1
  1129. package/renderers/webgpu/WebGPUTextureUtils.cjs.js +0 -1
  1130. package/renderers/webgpu/WebGPUTextures.cjs.js +0 -1
  1131. package/renderers/webgpu/WebGPUUniform.cjs.js +0 -1
  1132. package/renderers/webgpu/WebGPUUniformsGroup.cjs.js +0 -1
  1133. package/renderers/webgpu/constants.cjs.js +0 -1
  1134. package/renderers/webgpu/nodes/ShaderLib.cjs.js +0 -1
  1135. package/renderers/webgpu/nodes/WebGPUNodeBuilder.cjs.js +0 -1
  1136. package/renderers/webgpu/nodes/WebGPUNodeUniform.cjs.js +0 -1
  1137. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.cjs.js +0 -1
  1138. package/renderers/webgpu/nodes/WebGPUNodes.cjs.js +0 -1
  1139. package/shaders/ACESFilmicToneMappingShader.cjs.js +0 -1
  1140. package/shaders/AfterimageShader.cjs.js +0 -1
  1141. package/shaders/BasicShader.cjs.js +0 -1
  1142. package/shaders/BleachBypassShader.cjs.js +0 -1
  1143. package/shaders/BlendShader.cjs.js +0 -1
  1144. package/shaders/BokehShader.cjs.js +0 -1
  1145. package/shaders/BokehShader2.cjs.js +0 -1
  1146. package/shaders/BrightnessContrastShader.cjs.js +0 -1
  1147. package/shaders/ColorCorrectionShader.cjs.js +0 -1
  1148. package/shaders/ColorifyShader.cjs.js +0 -1
  1149. package/shaders/ConvolutionShader.cjs.js +0 -1
  1150. package/shaders/CopyShader.cjs.js +0 -1
  1151. package/shaders/DOFMipMapShader.cjs.js +0 -1
  1152. package/shaders/DepthLimitedBlurShader.cjs.js +0 -1
  1153. package/shaders/DigitalGlitch.cjs.js +0 -1
  1154. package/shaders/DotScreenShader.cjs.js +0 -1
  1155. package/shaders/FXAAShader.cjs.js +0 -1
  1156. package/shaders/FilmShader.cjs.js +0 -1
  1157. package/shaders/FocusShader.cjs.js +0 -1
  1158. package/shaders/FreiChenShader.cjs.js +0 -1
  1159. package/shaders/FresnelShader.cjs.js +0 -1
  1160. package/shaders/GammaCorrectionShader.cjs.js +0 -1
  1161. package/shaders/GodRaysShader.cjs.js +0 -1
  1162. package/shaders/HalftoneShader.cjs.js +0 -1
  1163. package/shaders/HorizontalBlurShader.cjs.js +0 -1
  1164. package/shaders/HorizontalTiltShiftShader.cjs.js +0 -1
  1165. package/shaders/HueSaturationShader.cjs.js +0 -1
  1166. package/shaders/KaleidoShader.cjs.js +0 -1
  1167. package/shaders/LuminosityHighPassShader.cjs.js +0 -1
  1168. package/shaders/LuminosityShader.cjs.js +0 -1
  1169. package/shaders/MirrorShader.cjs.js +0 -1
  1170. package/shaders/NormalMapShader.cjs.js +0 -1
  1171. package/shaders/ParallaxShader.cjs.js +0 -1
  1172. package/shaders/PixelShader.cjs.js +0 -1
  1173. package/shaders/RGBShiftShader.cjs.js +0 -1
  1174. package/shaders/SAOShader.cjs.js +0 -1
  1175. package/shaders/SMAAShader.cjs.js +0 -1
  1176. package/shaders/SSAOShader.cjs.js +0 -1
  1177. package/shaders/SSRShader.cjs.js +0 -1
  1178. package/shaders/SepiaShader.cjs.js +0 -1
  1179. package/shaders/SobelOperatorShader.cjs.js +0 -1
  1180. package/shaders/SubsurfaceScatteringShader.cjs.js +0 -1
  1181. package/shaders/TechnicolorShader.cjs.js +0 -1
  1182. package/shaders/ToneMapShader.cjs.js +0 -1
  1183. package/shaders/ToonShader.cjs.js +0 -1
  1184. package/shaders/TriangleBlurShader.cjs.js +0 -1
  1185. package/shaders/UnpackDepthRGBAShader.cjs.js +0 -1
  1186. package/shaders/VerticalBlurShader.cjs.js +0 -1
  1187. package/shaders/VerticalTiltShiftShader.cjs.js +0 -1
  1188. package/shaders/VignetteShader.cjs.js +0 -1
  1189. package/shaders/VolumeShader.cjs.js +0 -1
  1190. package/shaders/WaterRefractionShader.cjs.js +0 -1
  1191. package/shaders/index.cjs.js +0 -1
  1192. package/shaders/index.d.ts +0 -54
  1193. package/shaders/index.js +0 -53
  1194. package/shaders/types.cjs.js +0 -1
  1195. package/textures/FlakesTexture.cjs.js +0 -1
  1196. package/types/helpers.cjs.js +0 -1
  1197. package/types/shared.cjs.js +0 -1
  1198. package/types/shared.js +0 -1
  1199. package/types/utils.cjs.js +0 -1
  1200. package/types/utils.js +0 -1
  1201. package/utils/BufferGeometryUtils.cjs.js +0 -1
  1202. package/utils/GeometryCompressionUtils.cjs.js +0 -1
  1203. package/utils/GeometryUtils.cjs.js +0 -1
  1204. package/utils/LDrawUtils.cjs.js +0 -1
  1205. package/utils/LDrawUtils.d.ts +0 -5
  1206. package/utils/LDrawUtils.js +0 -144
  1207. package/utils/RoughnessMipmapper.cjs.js +0 -1
  1208. package/utils/SceneUtils.cjs.js +0 -1
  1209. package/utils/ShadowMapViewer.cjs.js +0 -1
  1210. package/utils/SkeletonUtils.cjs.js +0 -1
  1211. package/utils/UVsDebug.cjs.js +0 -1
  1212. package/utils/WorkerPool.cjs.js +0 -1
  1213. package/webxr/ARButton.cjs.js +0 -1
  1214. package/webxr/OculusHandModel.cjs.js +0 -1
  1215. package/webxr/OculusHandPointerModel.cjs.js +0 -1
  1216. package/webxr/Text2D.cjs.js +0 -1
  1217. package/webxr/VRButton.cjs.js +0 -1
  1218. package/webxr/XRControllerModelFactory.cjs.js +0 -1
  1219. package/webxr/XREstimatedLight.cjs.js +0 -1
  1220. package/webxr/XRHandMeshModel.cjs.js +0 -1
  1221. package/webxr/XRHandModelFactory.cjs.js +0 -1
  1222. package/webxr/XRHandPrimitiveModel.cjs.js +0 -1
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three");class e extends t.Loader{constructor(t){super(t),this.defaultDPI=90,this.defaultUnit="px"}load(e,r,n,o){const i=this,s=new t.FileLoader(i.manager);s.setPath(i.path),s.setRequestHeader(i.requestHeader),s.setWithCredentials(i.withCredentials),s.load(e,(function(t){try{r(i.parse(t))}catch(t){o?o(t):console.error(t),i.manager.itemError(e)}}),n,o)}parse(e){const r=this;function n(t,e,r,n,i,s,c,a){if(0==e||0==r)return void t.lineTo(a.x,a.y);n=n*Math.PI/180,e=Math.abs(e),r=Math.abs(r);const l=(c.x-a.x)/2,u=(c.y-a.y)/2,y=Math.cos(n)*l+Math.sin(n)*u,f=-Math.sin(n)*l+Math.cos(n)*u;let h=e*e,p=r*r;const x=y*y,d=f*f,b=x/h+d/p;if(b>1){const t=Math.sqrt(b);h=(e*=t)*e,p=(r*=t)*r}const g=h*d+p*x,m=(h*p-g)/g;let A=Math.sqrt(Math.max(0,m));i===s&&(A=-A);const k=A*e*f/r,w=-A*r*y/e,v=Math.cos(n)*k-Math.sin(n)*w+(c.x+a.x)/2,M=Math.sin(n)*k+Math.cos(n)*w+(c.y+a.y)/2,P=o(1,0,(y-k)/e,(f-w)/r),T=o((y-k)/e,(f-w)/r,(-y-k)/e,(-f-w)/r)%(2*Math.PI);t.currentPath.absellipse(v,M,e,r,P,P+T,0===s,n)}function o(t,e,r,n){const o=t*r+e*n,i=Math.sqrt(t*t+e*e)*Math.sqrt(r*r+n*n);let s=Math.acos(Math.max(-1,Math.min(1,o/i)));return t*n-e*r<0&&(s=-s),s}function i(t,e){e=Object.assign({},e);let r={};if(t.hasAttribute("class")){const e=t.getAttribute("class").split(/\s/).filter(Boolean).map((t=>t.trim()));for(let t=0;t<e.length;t++)r=Object.assign(r,p["."+e[t]])}function n(n,o,i){void 0===i&&(i=function(t){return t.startsWith("url")&&console.warn("SVGLoader: url access in attributes is not implemented."),t}),t.hasAttribute(n)&&(e[o]=i(t.getAttribute(n))),r[n]&&(e[o]=i(r[n])),t.style&&""!==t.style[n]&&(e[o]=i(t.style[n]))}function o(t){return Math.max(0,Math.min(1,u(t)))}function i(t){return Math.max(0,u(t))}return t.hasAttribute("id")&&(r=Object.assign(r,p["#"+t.getAttribute("id")])),n("fill","fill"),n("fill-opacity","fillOpacity",o),n("fill-rule","fillRule"),n("opacity","opacity",o),n("stroke","stroke"),n("stroke-opacity","strokeOpacity",o),n("stroke-width","strokeWidth",i),n("stroke-linejoin","strokeLineJoin"),n("stroke-linecap","strokeLineCap"),n("stroke-miterlimit","strokeMiterLimit",i),n("visibility","visibility"),e}function s(t,e){return t-(e-t)}function c(t,e,r){if("string"!=typeof t)throw new TypeError("Invalid input: "+typeof t);const n={SEPARATOR:/[ \t\r\n\,.\-+]/,WHITESPACE:/[ \t\r\n]/,DIGIT:/[\d]/,SIGN:/[-+]/,POINT:/\./,COMMA:/,/,EXP:/e/i,FLAGS:/[01]/};let o=0,i=!0,s="",c="";const a=[];function l(t,e,r){const n=new SyntaxError('Unexpected character "'+t+'" at index '+e+".");throw n.partial=r,n}function u(){""!==s&&(""===c?a.push(Number(s)):a.push(Number(s)*Math.pow(10,Number(c)))),s="",c=""}let y;const f=t.length;for(let h=0;h<f;h++)if(y=t[h],Array.isArray(e)&&e.includes(a.length%r)&&n.FLAGS.test(y))o=1,s=y,u();else{if(0===o){if(n.WHITESPACE.test(y))continue;if(n.DIGIT.test(y)||n.SIGN.test(y)){o=1,s=y;continue}if(n.POINT.test(y)){o=2,s=y;continue}n.COMMA.test(y)&&(i&&l(y,h,a),i=!0)}if(1===o){if(n.DIGIT.test(y)){s+=y;continue}if(n.POINT.test(y)){s+=y,o=2;continue}if(n.EXP.test(y)){o=3;continue}n.SIGN.test(y)&&1===s.length&&n.SIGN.test(s[0])&&l(y,h,a)}if(2===o){if(n.DIGIT.test(y)){s+=y;continue}if(n.EXP.test(y)){o=3;continue}n.POINT.test(y)&&"."===s[s.length-1]&&l(y,h,a)}if(3===o){if(n.DIGIT.test(y)){c+=y;continue}if(n.SIGN.test(y)){if(""===c){c+=y;continue}1===c.length&&n.SIGN.test(c)&&l(y,h,a)}}n.WHITESPACE.test(y)?(u(),o=0,i=!1):n.COMMA.test(y)?(u(),o=0,i=!0):n.SIGN.test(y)?(u(),o=1,s=y):n.POINT.test(y)?(u(),o=2,s=y):l(y,h,a)}return u(),a}const a=["mm","cm","in","pt","pc","px"],l={mm:{mm:1,cm:.1,in:1/25.4,pt:72/25.4,pc:6/25.4,px:-1},cm:{mm:10,cm:1,in:1/2.54,pt:72/2.54,pc:6/2.54,px:-1},in:{mm:25.4,cm:2.54,in:1,pt:72,pc:6,px:-1},pt:{mm:25.4/72,cm:2.54/72,in:1/72,pt:1,pc:6/72,px:-1},pc:{mm:25.4/6,cm:2.54/6,in:1/6,pt:12,pc:1,px:-1},px:{px:1}};function u(t){let e,n="px";if("string"==typeof t||t instanceof String)for(let e=0,r=a.length;e<r;e++){const r=a[e];if(t.endsWith(r)){n=r,t=t.substring(0,t.length-r.length);break}}return"px"===n&&"px"!==r.defaultUnit?e=l.in[r.defaultUnit]/r.defaultDPI:(e=l[n][r.defaultUnit],e<0&&(e=l[n].in*r.defaultDPI)),e*parseFloat(t)}function y(t){const e=t.elements;return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function f(t){const e=t.elements;return Math.sqrt(e[3]*e[3]+e[4]*e[4])}const h=[],p={},x=[],d=new t.Matrix3,b=new t.Matrix3,g=new t.Matrix3,m=new t.Matrix3,A=new t.Vector2,k=new t.Vector3,w=new t.Matrix3,v=(new DOMParser).parseFromString(e,"image/svg+xml");!function e(r,o){if(1!==r.nodeType)return;const a=function(e){if(!(e.hasAttribute("transform")||"use"===e.nodeName&&(e.hasAttribute("x")||e.hasAttribute("y"))))return null;const r=function(e){const r=new t.Matrix3,n=d;if("use"===e.nodeName&&(e.hasAttribute("x")||e.hasAttribute("y"))){const t=u(e.getAttribute("x")),n=u(e.getAttribute("y"));r.translate(t,n)}if(e.hasAttribute("transform")){const t=e.getAttribute("transform").split(")");for(let e=t.length-1;e>=0;e--){const o=t[e].trim();if(""===o)continue;const i=o.indexOf("("),s=o.length;if(i>0&&i<s){const t=o.substr(0,i),e=c(o.substr(i+1,s-i-1));switch(n.identity(),t){case"translate":if(e.length>=1){const t=e[0];let r=t;e.length>=2&&(r=e[1]),n.translate(t,r)}break;case"rotate":if(e.length>=1){let t=0,r=0,o=0;t=-e[0]*Math.PI/180,e.length>=3&&(r=e[1],o=e[2]),b.identity().translate(-r,-o),g.identity().rotate(t),m.multiplyMatrices(g,b),b.identity().translate(r,o),n.multiplyMatrices(b,m)}break;case"scale":if(e.length>=1){const t=e[0];let r=t;e.length>=2&&(r=e[1]),n.scale(t,r)}break;case"skewX":1===e.length&&n.set(1,Math.tan(e[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":1===e.length&&n.set(1,0,0,Math.tan(e[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":6===e.length&&n.set(e[0],e[2],e[4],e[1],e[3],e[5],0,0,1)}}r.premultiply(n)}}return r}(e);x.length>0&&r.premultiply(x[x.length-1]);return w.copy(r),x.push(r),r}(r);let l=!0,v=null;switch(r.nodeName){case"svg":break;case"style":!function(t){if(!t.sheet||!t.sheet.cssRules||!t.sheet.cssRules.length)return;for(let e=0;e<t.sheet.cssRules.length;e++){const r=t.sheet.cssRules[e];if(1!==r.type)continue;const n=r.selectorText.split(/,/gm).filter(Boolean).map((t=>t.trim()));for(let t=0;t<n.length;t++)p[n[t]]=Object.assign(p[n[t]]||{},r.style)}}(r);break;case"g":o=i(r,o);break;case"path":o=i(r,o),r.hasAttribute("d")&&(v=function(e){const r=new t.ShapePath,o=new t.Vector2,i=new t.Vector2,a=new t.Vector2;let l=!0,u=!1;const y=e.getAttribute("d").match(/[a-df-z][^a-df-z]*/gi);for(let t=0,e=y.length;t<e;t++){const e=y[t],f=e.charAt(0),h=e.substr(1).trim();let p;switch(!0===l&&(u=!0,l=!1),f){case"M":p=c(h);for(let t=0,e=p.length;t<e;t+=2)o.x=p[t+0],o.y=p[t+1],i.x=o.x,i.y=o.y,0===t?r.moveTo(o.x,o.y):r.lineTo(o.x,o.y),0===t&&a.copy(o);break;case"H":p=c(h);for(let t=0,e=p.length;t<e;t++)o.x=p[t],i.x=o.x,i.y=o.y,r.lineTo(o.x,o.y),0===t&&!0===u&&a.copy(o);break;case"V":p=c(h);for(let t=0,e=p.length;t<e;t++)o.y=p[t],i.x=o.x,i.y=o.y,r.lineTo(o.x,o.y),0===t&&!0===u&&a.copy(o);break;case"L":p=c(h);for(let t=0,e=p.length;t<e;t+=2)o.x=p[t+0],o.y=p[t+1],i.x=o.x,i.y=o.y,r.lineTo(o.x,o.y),0===t&&!0===u&&a.copy(o);break;case"C":p=c(h);for(let t=0,e=p.length;t<e;t+=6)r.bezierCurveTo(p[t+0],p[t+1],p[t+2],p[t+3],p[t+4],p[t+5]),i.x=p[t+2],i.y=p[t+3],o.x=p[t+4],o.y=p[t+5],0===t&&!0===u&&a.copy(o);break;case"S":p=c(h);for(let t=0,e=p.length;t<e;t+=4)r.bezierCurveTo(s(o.x,i.x),s(o.y,i.y),p[t+0],p[t+1],p[t+2],p[t+3]),i.x=p[t+0],i.y=p[t+1],o.x=p[t+2],o.y=p[t+3],0===t&&!0===u&&a.copy(o);break;case"Q":p=c(h);for(let t=0,e=p.length;t<e;t+=4)r.quadraticCurveTo(p[t+0],p[t+1],p[t+2],p[t+3]),i.x=p[t+0],i.y=p[t+1],o.x=p[t+2],o.y=p[t+3],0===t&&!0===u&&a.copy(o);break;case"T":p=c(h);for(let t=0,e=p.length;t<e;t+=2){const e=s(o.x,i.x),n=s(o.y,i.y);r.quadraticCurveTo(e,n,p[t+0],p[t+1]),i.x=e,i.y=n,o.x=p[t+0],o.y=p[t+1],0===t&&!0===u&&a.copy(o)}break;case"A":p=c(h,[3,4],7);for(let t=0,e=p.length;t<e;t+=7){if(p[t+5]==o.x&&p[t+6]==o.y)continue;const e=o.clone();o.x=p[t+5],o.y=p[t+6],i.x=o.x,i.y=o.y,n(r,p[t],p[t+1],p[t+2],p[t+3],p[t+4],e,o),0===t&&!0===u&&a.copy(o)}break;case"m":p=c(h);for(let t=0,e=p.length;t<e;t+=2)o.x+=p[t+0],o.y+=p[t+1],i.x=o.x,i.y=o.y,0===t?r.moveTo(o.x,o.y):r.lineTo(o.x,o.y),0===t&&a.copy(o);break;case"h":p=c(h);for(let t=0,e=p.length;t<e;t++)o.x+=p[t],i.x=o.x,i.y=o.y,r.lineTo(o.x,o.y),0===t&&!0===u&&a.copy(o);break;case"v":p=c(h);for(let t=0,e=p.length;t<e;t++)o.y+=p[t],i.x=o.x,i.y=o.y,r.lineTo(o.x,o.y),0===t&&!0===u&&a.copy(o);break;case"l":p=c(h);for(let t=0,e=p.length;t<e;t+=2)o.x+=p[t+0],o.y+=p[t+1],i.x=o.x,i.y=o.y,r.lineTo(o.x,o.y),0===t&&!0===u&&a.copy(o);break;case"c":p=c(h);for(let t=0,e=p.length;t<e;t+=6)r.bezierCurveTo(o.x+p[t+0],o.y+p[t+1],o.x+p[t+2],o.y+p[t+3],o.x+p[t+4],o.y+p[t+5]),i.x=o.x+p[t+2],i.y=o.y+p[t+3],o.x+=p[t+4],o.y+=p[t+5],0===t&&!0===u&&a.copy(o);break;case"s":p=c(h);for(let t=0,e=p.length;t<e;t+=4)r.bezierCurveTo(s(o.x,i.x),s(o.y,i.y),o.x+p[t+0],o.y+p[t+1],o.x+p[t+2],o.y+p[t+3]),i.x=o.x+p[t+0],i.y=o.y+p[t+1],o.x+=p[t+2],o.y+=p[t+3],0===t&&!0===u&&a.copy(o);break;case"q":p=c(h);for(let t=0,e=p.length;t<e;t+=4)r.quadraticCurveTo(o.x+p[t+0],o.y+p[t+1],o.x+p[t+2],o.y+p[t+3]),i.x=o.x+p[t+0],i.y=o.y+p[t+1],o.x+=p[t+2],o.y+=p[t+3],0===t&&!0===u&&a.copy(o);break;case"t":p=c(h);for(let t=0,e=p.length;t<e;t+=2){const e=s(o.x,i.x),n=s(o.y,i.y);r.quadraticCurveTo(e,n,o.x+p[t+0],o.y+p[t+1]),i.x=e,i.y=n,o.x=o.x+p[t+0],o.y=o.y+p[t+1],0===t&&!0===u&&a.copy(o)}break;case"a":p=c(h,[3,4],7);for(let t=0,e=p.length;t<e;t+=7){if(0==p[t+5]&&0==p[t+6])continue;const e=o.clone();o.x+=p[t+5],o.y+=p[t+6],i.x=o.x,i.y=o.y,n(r,p[t],p[t+1],p[t+2],p[t+3],p[t+4],e,o),0===t&&!0===u&&a.copy(o)}break;case"Z":case"z":r.currentPath.autoClose=!0,r.currentPath.curves.length>0&&(o.copy(a),r.currentPath.currentPoint.copy(o),l=!0);break;default:console.warn(e)}u=!1}return r}(r));break;case"rect":o=i(r,o),v=function(e){const r=u(e.getAttribute("x")||0),n=u(e.getAttribute("y")||0),o=u(e.getAttribute("rx")||e.getAttribute("ry")||0),i=u(e.getAttribute("ry")||e.getAttribute("rx")||0),s=u(e.getAttribute("width")),c=u(e.getAttribute("height")),a=.448084975506,l=new t.ShapePath;l.moveTo(r+o,n),l.lineTo(r+s-o,n),(0!==o||0!==i)&&l.bezierCurveTo(r+s-o*a,n,r+s,n+i*a,r+s,n+i);l.lineTo(r+s,n+c-i),(0!==o||0!==i)&&l.bezierCurveTo(r+s,n+c-i*a,r+s-o*a,n+c,r+s-o,n+c);l.lineTo(r+o,n+c),(0!==o||0!==i)&&l.bezierCurveTo(r+o*a,n+c,r,n+c-i*a,r,n+c-i);l.lineTo(r,n+i),(0!==o||0!==i)&&l.bezierCurveTo(r,n+i*a,r+o*a,n,r+o,n);return l}(r);break;case"polygon":o=i(r,o),v=function(e){function r(t,e,r){const n=u(e),s=u(r);0===i?o.moveTo(n,s):o.lineTo(n,s),i++}const n=/(-?[\d\.?]+)[,|\s](-?[\d\.?]+)/g,o=new t.ShapePath;let i=0;return e.getAttribute("points").replace(n,r),o.currentPath.autoClose=!0,o}(r);break;case"polyline":o=i(r,o),v=function(e){function r(t,e,r){const n=u(e),s=u(r);0===i?o.moveTo(n,s):o.lineTo(n,s),i++}const n=/(-?[\d\.?]+)[,|\s](-?[\d\.?]+)/g,o=new t.ShapePath;let i=0;return e.getAttribute("points").replace(n,r),o.currentPath.autoClose=!1,o}(r);break;case"circle":o=i(r,o),v=function(e){const r=u(e.getAttribute("cx")||0),n=u(e.getAttribute("cy")||0),o=u(e.getAttribute("r")||0),i=new t.Path;i.absarc(r,n,o,0,2*Math.PI);const s=new t.ShapePath;return s.subPaths.push(i),s}(r);break;case"ellipse":o=i(r,o),v=function(e){const r=u(e.getAttribute("cx")||0),n=u(e.getAttribute("cy")||0),o=u(e.getAttribute("rx")||0),i=u(e.getAttribute("ry")||0),s=new t.Path;s.absellipse(r,n,o,i,0,2*Math.PI);const c=new t.ShapePath;return c.subPaths.push(s),c}(r);break;case"line":o=i(r,o),v=function(e){const r=u(e.getAttribute("x1")||0),n=u(e.getAttribute("y1")||0),o=u(e.getAttribute("x2")||0),i=u(e.getAttribute("y2")||0),s=new t.ShapePath;return s.moveTo(r,n),s.lineTo(o,i),s.currentPath.autoClose=!1,s}(r);break;case"defs":l=!1;break;case"use":o=i(r,o);const a=r.href.baseVal.substring(1),y=r.viewportElement.getElementById(a);y?e(y,o):console.warn("SVGLoader: 'use node' references non-existent node id: "+a)}if(v&&(void 0!==o.fill&&"none"!==o.fill&&v.color.setStyle(o.fill),function(t,e){function r(t){k.set(t.x,t.y,1).applyMatrix3(e),t.set(k.x,k.y)}const n=function(t){return 0!==t.elements[1]||0!==t.elements[3]}(e),o=t.subPaths;for(let t=0,i=o.length;t<i;t++){const i=o[t].curves;for(let t=0;t<i.length;t++){const o=i[t];o.isLineCurve?(r(o.v1),r(o.v2)):o.isCubicBezierCurve?(r(o.v0),r(o.v1),r(o.v2),r(o.v3)):o.isQuadraticBezierCurve?(r(o.v0),r(o.v1),r(o.v2)):o.isEllipseCurve&&(n&&console.warn("SVGLoader: Elliptic arc or ellipse rotation or skewing is not implemented."),A.set(o.aX,o.aY),r(A),o.aX=A.x,o.aY=A.y,o.xRadius*=y(e),o.yRadius*=f(e))}}}(v,w),h.push(v),v.userData={node:r,style:o}),l){const t=r.childNodes;for(let r=0;r<t.length;r++)e(t[r],o)}a&&(x.pop(),x.length>0?w.copy(x[x.length-1]):w.identity())}(v.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4});return{paths:h,xml:v.documentElement}}static createShapes(e){const r=999999999,n=0,o=1,i=2,s=3,c=4,a=5,l=6,u={loc:n,t:0};function y(t,e,r,o){const s=t.x,c=e.x,a=r.x,l=o.x,y=t.y,h=e.y,p=r.y,x=o.y,d=(l-a)*(y-p)-(x-p)*(s-a),b=(x-p)*(c-s)-(l-a)*(h-y),g=d/b,m=((c-s)*(y-p)-(h-y)*(s-a))/b;if(0===b&&0!==d||g<=0||g>=1||m<0||m>1)return null;if(0===d&&0===b){for(let a=0;a<2;a++){if(f(0===a?r:o,t,e),u.loc==n){const t=0===a?r:o;return{x:t.x,y:t.y,t:u.t}}if(u.loc==i){return{x:+(s+u.t*(c-s)).toPrecision(10),y:+(y+u.t*(h-y)).toPrecision(10),t:u.t}}}return null}for(let i=0;i<2;i++)if(f(0===i?r:o,t,e),u.loc==n){const t=0===i?r:o;return{x:t.x,y:t.y,t:u.t}}return{x:+(s+g*(c-s)).toPrecision(10),y:+(y+g*(h-y)).toPrecision(10),t:g}}function f(t,e,r){const y=r.x-e.x,f=r.y-e.y,h=t.x-e.x,p=t.y-e.y,x=y*p-h*f;if(t.x===e.x&&t.y===e.y)return u.loc=n,void(u.t=0);if(t.x===r.x&&t.y===r.y)return u.loc=o,void(u.t=1);if(x<-Number.EPSILON)return void(u.loc=s);if(x>Number.EPSILON)return void(u.loc=c);if(y*h<0||f*p<0)return void(u.loc=a);if(Math.sqrt(y*y+f*f)<Math.sqrt(h*h+p*p))return void(u.loc=l);let d;d=0!==y?h/y:p/f,u.loc=i,u.t=d}function h(e,r,n){const o=new t.Vector2;r.getCenter(o);const i=[];return n.forEach((r=>{if(r.boundingBox.containsPoint(o)){(function(e,r){const n=[],o=[];for(let i=1;i<e.length;i++){const s=e[i-1],c=e[i];for(let e=1;e<r.length;e++){const i=y(s,c,r[e-1],r[e]);null!==i&&void 0===n.find((t=>t.t<=i.t+Number.EPSILON&&t.t>=i.t-Number.EPSILON))&&(n.push(i),o.push(new t.Vector2(i.x,i.y)))}}return o})(e,r.points).forEach((t=>{i.push({identifier:r.identifier,isCW:r.isCW,point:t})}))}})),i.sort(((t,e)=>t.point.x-e.point.x)),i}let p=0,x=r,d=-999999999,b=e.subPaths.map((e=>{const n=e.getPoints();let o=-999999999,i=r,s=-999999999,c=r;for(let t=0;t<n.length;t++){const e=n[t];e.y>o&&(o=e.y),e.y<i&&(i=e.y),e.x>s&&(s=e.x),e.x<c&&(c=e.x)}return d<=s&&(d=s+1),x>=c&&(x=c-1),{curves:e.curves,points:n,isCW:t.ShapeUtils.isClockWise(n),identifier:p++,boundingBox:new t.Box2(new t.Vector2(c,i),new t.Vector2(s,o))}}));b=b.filter((t=>t.points.length>1));const g=b.map((r=>function(e,r,n,o,i){null!=i&&""!==i||(i="nonzero");const s=new t.Vector2;e.boundingBox.getCenter(s);const c=h([new t.Vector2(n,s.y),new t.Vector2(o,s.y)],e.boundingBox,r);c.sort(((t,e)=>t.point.x-e.point.x));const a=[],l=[];c.forEach((t=>{t.identifier===e.identifier?a.push(t):l.push(t)}));const u=a[0].point.x,y=[];let f=0;for(;f<l.length&&l[f].point.x<u;)y.length>0&&y[y.length-1]===l[f].identifier?y.pop():y.push(l[f].identifier),f++;if(y.push(e.identifier),"evenodd"===i){const t=y.length%2==0,r=y[y.length-2];return{identifier:e.identifier,isHole:t,for:r}}if("nonzero"===i){let t=!0,n=null,o=null;for(let e=0;e<y.length;e++){const i=y[e];t?(o=r[i].isCW,t=!1,n=i):o!==r[i].isCW&&(o=r[i].isCW,t=!0)}return{identifier:e.identifier,isHole:t,for:n}}console.warn('fill-rule: "'+i+'" is currently not implemented.')}(r,b,x,d,e.userData.style.fillRule))),m=[];return b.forEach((e=>{if(!g[e.identifier].isHole){const r=new t.Shape;r.curves=e.curves;g.filter((t=>t.isHole&&t.for===e.identifier)).forEach((e=>{const n=b[e.identifier],o=new t.Path;o.curves=n.curves,r.holes.push(o)})),m.push(r)}})),m}static getStrokeStyle(t,e,r,n,o){return{strokeColor:e=void 0!==e?e:"#000",strokeWidth:t=void 0!==t?t:1,strokeLineJoin:r=void 0!==r?r:"miter",strokeLineCap:n=void 0!==n?n:"butt",strokeMiterLimit:o=void 0!==o?o:4}}static pointsToStroke(r,n,o,i){const s=[],c=[],a=[];if(0===e.pointsToStrokeWithBuffers(r,n,o,i,s,c,a))return null;const l=new t.BufferGeometry;return l.setAttribute("position",new t.Float32BufferAttribute(s,3)),l.setAttribute("normal",new t.Float32BufferAttribute(c,3)),l.setAttribute("uv",new t.Float32BufferAttribute(a,2)),l}static pointsToStrokeWithBuffers(e,r,n,o,i,s,c,a){const l=new t.Vector2,u=new t.Vector2,y=new t.Vector2,f=new t.Vector2,h=new t.Vector2,p=new t.Vector2,x=new t.Vector2,d=new t.Vector2,b=new t.Vector2,g=new t.Vector2,m=new t.Vector2,A=new t.Vector2,k=new t.Vector2,w=new t.Vector2,v=new t.Vector2,M=new t.Vector2,P=new t.Vector2;n=void 0!==n?n:12,o=void 0!==o?o:.001,a=void 0!==a?a:0;const T=(e=function(t){let e=!1;for(let r=1,n=t.length-1;r<n;r++)if(t[r].distanceTo(t[r+1])<o){e=!0;break}if(!e)return t;const r=[];r.push(t[0]);for(let e=1,n=t.length-1;e<n;e++)t[e].distanceTo(t[e+1])>=o&&r.push(t[e]);return r.push(t[t.length-1]),r}(e)).length;if(T<2)return 0;const S=e[0].equals(e[T-1]);let V,C,I=e[0];const E=r.strokeWidth/2,L=1/(T-1);let N,O,z,G,W=0,q=!1,B=0,D=3*a,R=2*a;H(e[0],e[1],l).multiplyScalar(E),d.copy(e[0]).sub(l),b.copy(e[0]).add(l),g.copy(d),m.copy(b);for(let t=1;t<T;t++){V=e[t],C=t===T-1?S?e[1]:void 0:e[t+1];const n=l;if(H(I,V,n),y.copy(n).multiplyScalar(E),A.copy(V).sub(y),k.copy(V).add(y),N=W+L,O=!1,void 0!==C){H(V,C,u),y.copy(u).multiplyScalar(E),w.copy(V).sub(y),v.copy(V).add(y),z=!0,y.subVectors(C,I),n.dot(y)<0&&(z=!1),1===t&&(q=z),y.subVectors(C,V),y.normalize();const e=Math.abs(n.dot(y));if(0!==e){const t=E/e;y.multiplyScalar(-t),f.subVectors(V,I),h.copy(f).setLength(t).add(y),M.copy(h).negate();const n=h.length(),o=f.length();f.divideScalar(o),p.subVectors(C,V);const i=p.length();switch(p.divideScalar(i),f.dot(M)<o&&p.dot(M)<i&&(O=!0),P.copy(h).add(V),M.add(V),G=!1,O?z?(v.copy(M),k.copy(M)):(w.copy(M),A.copy(M)):U(),r.strokeLineJoin){case"bevel":X(z,O,N);break;case"round":J(z,O),z?j(V,A,w,N,0):j(V,v,k,N,1);break;case"miter":case"miter-clip":default:const t=E*r.strokeMiterLimit/n;if(t<1){if("miter-clip"!==r.strokeLineJoin){X(z,O,N);break}J(z,O),z?(p.subVectors(P,A).multiplyScalar(t).add(A),x.subVectors(P,w).multiplyScalar(t).add(w),F(A,N,0),F(p,N,0),F(V,N,.5),F(V,N,.5),F(p,N,0),F(x,N,0),F(V,N,.5),F(x,N,0),F(w,N,0)):(p.subVectors(P,k).multiplyScalar(t).add(k),x.subVectors(P,v).multiplyScalar(t).add(v),F(k,N,1),F(p,N,1),F(V,N,.5),F(V,N,.5),F(p,N,1),F(x,N,1),F(V,N,.5),F(x,N,1),F(v,N,1))}else O?(z?(F(b,W,1),F(d,W,0),F(P,N,0),F(b,W,1),F(P,N,0),F(M,N,1)):(F(b,W,1),F(d,W,0),F(P,N,1),F(d,W,0),F(M,N,0),F(P,N,1)),z?w.copy(P):v.copy(P)):z?(F(A,N,0),F(P,N,0),F(V,N,.5),F(V,N,.5),F(P,N,0),F(w,N,0)):(F(k,N,1),F(P,N,1),F(V,N,.5),F(V,N,.5),F(P,N,1),F(v,N,1)),G=!0}}else U()}else U();S||t!==T-1||Y(e[0],g,m,z,!0,W),W=N,I=V,d.copy(w),b.copy(v)}if(S){if(O&&i){let t=P,e=M;q!==z&&(t=M,e=P),z?(G||q)&&(e.toArray(i,0),e.toArray(i,9),G&&t.toArray(i,3)):!G&&q||(e.toArray(i,3),e.toArray(i,9),G&&t.toArray(i,0))}}else Y(V,A,k,z,!1,N);return B;function H(t,e,r){return r.subVectors(e,t),r.set(-r.y,r.x).normalize()}function F(t,e,r){i&&(i[D]=t.x,i[D+1]=t.y,i[D+2]=0,s&&(s[D]=0,s[D+1]=0,s[D+2]=1),D+=3,c&&(c[R]=e,c[R+1]=r,R+=2)),B+=3}function j(t,e,r,o,i){l.copy(e).sub(t).normalize(),u.copy(r).sub(t).normalize();let s=Math.PI;const c=l.dot(u);Math.abs(c)<1&&(s=Math.abs(Math.acos(c))),s/=n,y.copy(e);for(let e=0,r=n-1;e<r;e++)f.copy(y).rotateAround(t,s),F(y,o,i),F(f,o,i),F(t,o,.5),y.copy(f);F(f,o,i),F(r,o,i),F(t,o,.5)}function U(){F(b,W,1),F(d,W,0),F(A,N,0),F(b,W,1),F(A,N,1),F(k,N,0)}function X(t,e,r){e?t?(F(b,W,1),F(d,W,0),F(A,N,0),F(b,W,1),F(A,N,0),F(M,N,1),F(A,r,0),F(w,r,0),F(M,r,.5)):(F(b,W,1),F(d,W,0),F(k,N,1),F(d,W,0),F(M,N,0),F(k,N,1),F(k,r,1),F(v,r,0),F(M,r,.5)):t?(F(A,r,0),F(w,r,0),F(V,r,.5)):(F(k,r,1),F(v,r,0),F(V,r,.5))}function J(t,e){e&&(t?(F(b,W,1),F(d,W,0),F(A,N,0),F(b,W,1),F(A,N,0),F(M,N,1),F(A,W,0),F(V,N,.5),F(M,N,1),F(V,N,.5),F(w,W,0),F(M,N,1)):(F(b,W,1),F(d,W,0),F(k,N,1),F(d,W,0),F(M,N,0),F(k,N,1),F(k,W,1),F(M,N,0),F(V,N,.5),F(V,N,.5),F(M,N,0),F(v,W,1)))}function Y(t,e,n,o,s,c){switch(r.strokeLineCap){case"round":s?j(t,n,e,c,.5):j(t,e,n,c,.5);break;case"square":if(s)l.subVectors(e,t),u.set(l.y,-l.x),y.addVectors(l,u).add(t),f.subVectors(u,l).add(t),o?(y.toArray(i,3),f.toArray(i,0),f.toArray(i,9)):(y.toArray(i,3),y.toArray(i,9),f.toArray(i,0));else{l.subVectors(n,t),u.set(l.y,-l.x),y.addVectors(l,u).add(t),f.subVectors(u,l).add(t);const e=i.length;o?(y.toArray(i,e-3),f.toArray(i,e-6),f.toArray(i,e-12)):(y.toArray(i,e-6),f.toArray(i,e-3),f.toArray(i,e-12))}}}}}exports.SVGLoader=e;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");class t extends e.Loader{constructor(e){super(e),this.debug=!1,this.group=null,this.position=0,this.materials=[],this.meshes=[]}load(t,s,i,r){const a=this,n=""===this.path?e.LoaderUtils.extractUrlBase(t):this.path,h=new e.FileLoader(this.manager);h.setPath(this.path),h.setResponseType("arraybuffer"),h.setRequestHeader(this.requestHeader),h.setWithCredentials(this.withCredentials),h.load(t,(function(e){try{s(a.parse(e,n))}catch(e){r?r(e):console.error(e),a.manager.itemError(t)}}),i,r)}parse(t,s){this.group=new e.Group,this.position=0,this.materials=[],this.meshes=[],this.readFile(t,s);for(let e=0;e<this.meshes.length;e++)this.group.add(this.meshes[e]);return this.group}readFile(e,t){const n=new DataView(e),h=this.readChunk(n);if(h.id===i||h.id===r||h.id===s){let e=this.nextChunk(n,h);for(;0!==e;){if(e===a){const e=this.readDWord(n);this.debugMessage("3DS file version: "+e)}else e===g?(this.resetPosition(n),this.readMeshData(n,t)):this.debugMessage("Unknown main chunk: "+e.toString(16));e=this.nextChunk(n,h)}}this.debugMessage("Parsed "+this.meshes.length+" meshes")}readMeshData(e,t){const s=this.readChunk(e);let i=this.nextChunk(e,s);for(;0!==i;){if(i===c){const t=+this.readDWord(e);this.debugMessage("Mesh Version: "+t)}else if(i===p){const t=this.readFloat(e);this.debugMessage("Master scale: "+t),this.group.scale.set(t,t,t)}else i===T?(this.debugMessage("Named Object"),this.resetPosition(e),this.readNamedObject(e)):i===M?(this.debugMessage("Material"),this.resetPosition(e),this.readMaterialEntry(e,t)):this.debugMessage("Unknown MDATA chunk: "+i.toString(16));i=this.nextChunk(e,s)}}readNamedObject(e){const t=this.readChunk(e),s=this.readString(e,64);t.cur=this.position;let i=this.nextChunk(e,t);for(;0!==i;){if(i===L){this.resetPosition(e);const t=this.readMesh(e);t.name=s,this.meshes.push(t)}else this.debugMessage("Unknown named object chunk: "+i.toString(16));i=this.nextChunk(e,t)}this.endChunk(t)}readMaterialEntry(t,s){const i=this.readChunk(t);let r=this.nextChunk(t,i);const a=new e.MeshPhongMaterial;for(;0!==r;){if(r===f)a.name=this.readString(t,64),this.debugMessage(" Name: "+a.name);else if(r===F)this.debugMessage(" Wireframe"),a.wireframe=!0;else if(r===S){const e=this.readByte(t);a.wireframeLinewidth=e,this.debugMessage(" Wireframe Thickness: "+e)}else if(r===x)a.side=e.DoubleSide,this.debugMessage(" DoubleSided");else if(r===w)this.debugMessage(" Additive Blending"),a.blending=e.AdditiveBlending;else if(r===b)this.debugMessage(" Diffuse Color"),a.color=this.readColor(t);else if(r===k)this.debugMessage(" Specular Color"),a.specular=this.readColor(t);else if(r===m)this.debugMessage(" Ambient color"),a.color=this.readColor(t);else if(r===C){const e=this.readPercentage(t);a.shininess=100*e,this.debugMessage(" Shininess : "+e)}else if(r===y){const e=this.readPercentage(t);a.opacity=1-e,this.debugMessage(" Transparency : "+e),a.transparent=a.opacity<1}else r===P?(this.debugMessage(" ColorMap"),this.resetPosition(t),a.map=this.readMap(t,s)):r===U?(this.debugMessage(" BumpMap"),this.resetPosition(t),a.bumpMap=this.readMap(t,s)):r===W?(this.debugMessage(" OpacityMap"),this.resetPosition(t),a.alphaMap=this.readMap(t,s)):r===B?(this.debugMessage(" SpecularMap"),this.resetPosition(t),a.specularMap=this.readMap(t,s)):this.debugMessage(" Unknown material chunk: "+r.toString(16));r=this.nextChunk(t,i)}this.endChunk(i),this.materials[a.name]=a}readMesh(t){const s=this.readChunk(t);let i=this.nextChunk(t,s);const r=new e.BufferGeometry,a=new e.MeshPhongMaterial,n=new e.Mesh(r,a);for(n.name="mesh";0!==i;){if(i===N){const s=this.readWord(t);this.debugMessage(" Vertex: "+s);const i=[];for(let e=0;e<s;e++)i.push(this.readFloat(t)),i.push(this.readFloat(t)),i.push(this.readFloat(t));r.setAttribute("position",new e.Float32BufferAttribute(i,3))}else if(i===R)this.resetPosition(t),this.readFaceArray(t,n);else if(i===V){const s=this.readWord(t);this.debugMessage(" UV: "+s);const i=[];for(let e=0;e<s;e++)i.push(this.readFloat(t)),i.push(this.readFloat(t));r.setAttribute("uv",new e.Float32BufferAttribute(i,2))}else if(i===q){this.debugMessage(" Tranformation Matrix (TODO)");const s=[];for(let e=0;e<12;e++)s[e]=this.readFloat(t);const i=new e.Matrix4;i.elements[0]=s[0],i.elements[1]=s[6],i.elements[2]=s[3],i.elements[3]=s[9],i.elements[4]=s[2],i.elements[5]=s[8],i.elements[6]=s[5],i.elements[7]=s[11],i.elements[8]=s[1],i.elements[9]=s[7],i.elements[10]=s[4],i.elements[11]=s[10],i.elements[12]=0,i.elements[13]=0,i.elements[14]=0,i.elements[15]=1,i.transpose();const a=new e.Matrix4;a.copy(i).invert(),r.applyMatrix4(a),i.decompose(n.position,n.quaternion,n.scale)}else this.debugMessage(" Unknown mesh chunk: "+i.toString(16));i=this.nextChunk(t,s)}return this.endChunk(s),r.computeVertexNormals(),n}readFaceArray(e,t){const s=this.readChunk(e),i=this.readWord(e);this.debugMessage(" Faces: "+i);const r=[];for(let t=0;t<i;++t)r.push(this.readWord(e),this.readWord(e),this.readWord(e)),this.readWord(e);t.geometry.setIndex(r);let a=0,n=0;for(;this.position<s.end;){const s=this.readChunk(e);if(s.id===j){this.debugMessage(" Material Group"),this.resetPosition(e);const s=this.readMaterialGroup(e),i=3*s.index.length;t.geometry.addGroup(n,i,a),n+=i,a++;const r=this.materials[s.name];!1===Array.isArray(t.material)&&(t.material=[]),void 0!==r&&t.material.push(r)}else this.debugMessage(" Unknown face array chunk: "+s.toString(16));this.endChunk(s)}1===t.material.length&&(t.material=t.material[0]),this.endChunk(s)}readMap(t,s){const i=this.readChunk(t);let r=this.nextChunk(t,i),a={};const n=new e.TextureLoader(this.manager);for(n.setPath(this.resourcePath||s).setCrossOrigin(this.crossOrigin);0!==r;){if(r===D){const e=this.readString(t,128);a=n.load(e),this.debugMessage(" File: "+s+e)}else r===v?(a.offset.x=this.readFloat(t),this.debugMessage(" OffsetX: "+a.offset.x)):r===G?(a.offset.y=this.readFloat(t),this.debugMessage(" OffsetY: "+a.offset.y)):r===A?(a.repeat.x=this.readFloat(t),this.debugMessage(" RepeatX: "+a.repeat.x)):r===O?(a.repeat.y=this.readFloat(t),this.debugMessage(" RepeatY: "+a.repeat.y)):this.debugMessage(" Unknown map chunk: "+r.toString(16));r=this.nextChunk(t,i)}return this.endChunk(i),a}readMaterialGroup(e){this.readChunk(e);const t=this.readString(e,64),s=this.readWord(e);this.debugMessage(" Name: "+t),this.debugMessage(" Faces: "+s);const i=[];for(let t=0;t<s;++t)i.push(this.readWord(e));return{name:t,index:i}}readColor(t){const s=this.readChunk(t),i=new e.Color;if(s.id===h||s.id===o){const e=this.readByte(t),s=this.readByte(t),r=this.readByte(t);i.setRGB(e/255,s/255,r/255),this.debugMessage(" Color: "+i.r+", "+i.g+", "+i.b)}else if(s.id===n||s.id===d){const e=this.readFloat(t),s=this.readFloat(t),r=this.readFloat(t);i.setRGB(e,s,r),this.debugMessage(" Color: "+i.r+", "+i.g+", "+i.b)}else this.debugMessage(" Unknown color chunk: "+s.toString(16));return this.endChunk(s),i}readChunk(e){const t={};return t.cur=this.position,t.id=this.readWord(e),t.size=this.readDWord(e),t.end=t.cur+t.size,t.cur+=6,t}endChunk(e){this.position=e.end}nextChunk(e,t){if(t.cur>=t.end)return 0;this.position=t.cur;try{const s=this.readChunk(e);return t.cur+=s.size,s.id}catch(e){return this.debugMessage("Unable to read chunk at "+this.position),0}}resetPosition(){this.position-=6}readByte(e){const t=e.getUint8(this.position,!0);return this.position+=1,t}readFloat(e){try{const t=e.getFloat32(this.position,!0);return this.position+=4,t}catch(t){this.debugMessage(t+" "+this.position+" "+e.byteLength)}}readInt(e){const t=e.getInt32(this.position,!0);return this.position+=4,t}readShort(e){const t=e.getInt16(this.position,!0);return this.position+=2,t}readDWord(e){const t=e.getUint32(this.position,!0);return this.position+=4,t}readWord(e){const t=e.getUint16(this.position,!0);return this.position+=2,t}readString(e,t){let s="";for(let i=0;i<t;i++){const t=this.readByte(e);if(!t)break;s+=String.fromCharCode(t)}return s}readPercentage(e){const t=this.readChunk(e);let s;switch(t.id){case u:s=this.readShort(e)/100;break;case l:s=this.readFloat(e);break;default:this.debugMessage(" Unknown percentage chunk: "+t.toString(16))}return this.endChunk(t),s}debugMessage(e){this.debug&&console.log(e)}}const s=19789,i=15786,r=49725,a=2,n=16,h=17,o=18,d=19,u=48,l=49,g=15677,c=15678,p=256,M=45055,f=40960,m=40976,b=40992,k=41008,C=41024,y=41040,x=41089,w=41091,F=41093,S=41095,P=41472,W=41488,U=41520,B=41476,D=41728,A=41812,O=41814,v=41816,G=41818,T=16384,L=16640,N=16656,R=16672,j=16688,V=16704,q=16736;exports.TDSLoader=t;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");class r extends e.DataTextureLoader{constructor(e){super(e)}parse(r){const t=0,o=1,a=2,i=3,s=9,c=10,n=11,l=48,d=4,p=0,h=1,f=2,_=3;r.length<19&&console.error("THREE.TGALoader: Not enough data to contain header.");let u=0;const g=new Uint8Array(r),m={id_length:g[u++],colormap_type:g[u++],image_type:g[u++],colormap_index:g[u++]|g[u++]<<8,colormap_length:g[u++]|g[u++]<<8,colormap_size:g[u++],origin:[g[u++]|g[u++]<<8,g[u++]|g[u++]<<8],width:g[u++]|g[u++]<<8,height:g[u++]|g[u++]<<8,pixel_size:g[u++],flags:g[u++]};!function(e){switch(e.image_type){case o:case s:(e.colormap_length>256||24!==e.colormap_size||1!==e.colormap_type)&&console.error("THREE.TGALoader: Invalid type colormap data for indexed type.");break;case a:case i:case c:case n:e.colormap_type&&console.error("THREE.TGALoader: Invalid type colormap data for colormap type.");break;case t:console.error("THREE.TGALoader: No data.");default:console.error('THREE.TGALoader: Invalid type "%s".',e.image_type)}(e.width<=0||e.height<=0)&&console.error("THREE.TGALoader: Invalid image size."),8!==e.pixel_size&&16!==e.pixel_size&&24!==e.pixel_size&&32!==e.pixel_size&&console.error('THREE.TGALoader: Invalid pixel size "%s".',e.pixel_size)}(m),m.id_length+u>r.length&&console.error("THREE.TGALoader: No data."),u+=m.id_length;let w=!1,T=!1,E=!1;switch(m.image_type){case s:w=!0,T=!0;break;case o:T=!0;break;case c:w=!0;break;case a:break;case n:w=!0,E=!0;break;case i:E=!0}const b=new Uint8Array(m.width*m.height*4),y=function(e,r,t,o,a){let i,s;const c=t.pixel_size>>3,n=t.width*t.height*c;if(r&&(s=a.subarray(o,o+=t.colormap_length*(t.colormap_size>>3))),e){let e,r,t;i=new Uint8Array(n);let s=0;const l=new Uint8Array(c);for(;s<n;)if(e=a[o++],r=1+(127&e),128&e){for(t=0;t<c;++t)l[t]=a[o++];for(t=0;t<r;++t)i.set(l,s+t*c);s+=c*r}else{for(r*=c,t=0;t<r;++t)i[s+t]=a[o++];s+=r}}else i=a.subarray(o,o+=r?t.width*t.height:n);return{pixel_data:i,palettes:s}}(w,T,m,u,g);return function(e,r,t,o,a){let i,s,c,n,u,g;switch((m.flags&l)>>d){default:case f:i=0,c=1,u=r,s=0,n=1,g=t;break;case p:i=0,c=1,u=r,s=t-1,n=-1,g=-1;break;case _:i=r-1,c=-1,u=-1,s=0,n=1,g=t;break;case h:i=r-1,c=-1,u=-1,s=t-1,n=-1,g=-1}if(E)switch(m.pixel_size){case 8:!function(e,r,t,o,a,i,s,c){let n,l,d,p=0;const h=m.width;for(d=r;d!==o;d+=t)for(l=a;l!==s;l+=i,p++)n=c[p],e[4*(l+h*d)+0]=n,e[4*(l+h*d)+1]=n,e[4*(l+h*d)+2]=n,e[4*(l+h*d)+3]=255}(e,s,n,g,i,c,u,o);break;case 16:!function(e,r,t,o,a,i,s,c){let n,l,d=0;const p=m.width;for(l=r;l!==o;l+=t)for(n=a;n!==s;n+=i,d+=2)e[4*(n+p*l)+0]=c[d+0],e[4*(n+p*l)+1]=c[d+0],e[4*(n+p*l)+2]=c[d+0],e[4*(n+p*l)+3]=c[d+1]}(e,s,n,g,i,c,u,o);break;default:console.error("THREE.TGALoader: Format not supported.")}else switch(m.pixel_size){case 8:!function(e,r,t,o,a,i,s,c,n){const l=n;let d,p,h,f=0;const _=m.width;for(h=r;h!==o;h+=t)for(p=a;p!==s;p+=i,f++)d=c[f],e[4*(p+_*h)+3]=255,e[4*(p+_*h)+2]=l[3*d+0],e[4*(p+_*h)+1]=l[3*d+1],e[4*(p+_*h)+0]=l[3*d+2]}(e,s,n,g,i,c,u,o,a);break;case 16:!function(e,r,t,o,a,i,s,c){let n,l,d,p=0;const h=m.width;for(d=r;d!==o;d+=t)for(l=a;l!==s;l+=i,p+=2)n=c[p+0]+(c[p+1]<<8),e[4*(l+h*d)+0]=(31744&n)>>7,e[4*(l+h*d)+1]=(992&n)>>2,e[4*(l+h*d)+2]=(31&n)>>3,e[4*(l+h*d)+3]=32768&n?0:255}(e,s,n,g,i,c,u,o);break;case 24:!function(e,r,t,o,a,i,s,c){let n,l,d=0;const p=m.width;for(l=r;l!==o;l+=t)for(n=a;n!==s;n+=i,d+=3)e[4*(n+p*l)+3]=255,e[4*(n+p*l)+2]=c[d+0],e[4*(n+p*l)+1]=c[d+1],e[4*(n+p*l)+0]=c[d+2]}(e,s,n,g,i,c,u,o);break;case 32:!function(e,r,t,o,a,i,s,c){let n,l,d=0;const p=m.width;for(l=r;l!==o;l+=t)for(n=a;n!==s;n+=i,d+=4)e[4*(n+p*l)+2]=c[d+0],e[4*(n+p*l)+1]=c[d+1],e[4*(n+p*l)+0]=c[d+2],e[4*(n+p*l)+3]=c[d+3]}(e,s,n,g,i,c,u,o);break;default:console.error("THREE.TGALoader: Format not supported.")}}(b,m.width,m.height,y.pixel_data,y.palettes),{data:b,width:m.width,height:m.height,flipY:!0,generateMipmaps:!0,minFilter:e.LinearMipmapLinearFilter}}}exports.TGALoader=r;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("opentype.js");class o extends e.Loader{constructor(e){super(e),this.reversed=!1}load(o,n,s,r){const a=this,i=new e.FileLoader(this.manager);i.setPath(this.path),i.setResponseType("arraybuffer"),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(o,(function(e){try{n(t.parse(e))}catch(e){r?r(e):console.error(e),a.manager.itemError(o)}}),s,r)}parse(e){function o(e){const t=[];let o;e.forEach((function(e){"m"===e.type.toLowerCase()?(o=[e],t.push(o)):"z"!==e.type.toLowerCase()&&o.push(e)}));const n=[];return t.forEach((function(e){const t={type:"m",x:e[e.length-1].x,y:e[e.length-1].y};n.push(t);for(let t=e.length-1;t>0;t--){const o=e[t],s={type:o.type};void 0!==o.x2&&void 0!==o.y2?(s.x1=o.x2,s.y1=o.y2,s.x2=o.x1,s.y2=o.y1):void 0!==o.x1&&void 0!==o.y1&&(s.x1=o.x1,s.y1=o.y1),s.x=e[t-1].x,s.y=e[t-1].y,n.push(s)}})),n}return function(e,t){const n=Math.round,s={},r=1e5/(72*(e.unitsPerEm||2048)),a=e.encoding.cmap.glyphIndexMap,i=Object.keys(a);for(let d=0;d<i.length;d++){const h=i[d],y=e.glyphs.glyphs[a[h]];if(void 0!==h){const e={ha:n(y.advanceWidth*r),x_min:n(y.xMin*r),x_max:n(y.xMax*r),o:""};t&&(y.path.commands=o(y.path.commands)),y.path.commands.forEach((function(t){"c"===t.type.toLowerCase()&&(t.type="b"),e.o+=t.type.toLowerCase()+" ",void 0!==t.x&&void 0!==t.y&&(e.o+=n(t.x*r)+" "+n(t.y*r)+" "),void 0!==t.x1&&void 0!==t.y1&&(e.o+=n(t.x1*r)+" "+n(t.y1*r)+" "),void 0!==t.x2&&void 0!==t.y2&&(e.o+=n(t.x2*r)+" "+n(t.y2*r)+" ")})),s[String.fromCodePoint(y.unicode)]=e}}return{glyphs:s,familyName:e.getEnglishName("fullName"),ascender:n(e.ascender*r),descender:n(e.descender*r),underlinePosition:e.tables.post.underlinePosition,underlineThickness:e.tables.post.underlineThickness,boundingBox:{xMin:e.tables.head.xMin,xMax:e.tables.head.xMax,yMin:e.tables.head.yMin,yMax:e.tables.head.yMax},resolution:1e3,original_font_information:e.tables.name}}(t.parse(e),this.reversed)}}exports.TTFLoader=o;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three"),e=require("fflate");class a extends t.Loader{load(e,a,r,n){const o=this,c=new t.FileLoader(this.manager);c.setPath(this.path),c.setResponseType("arraybuffer"),c.setWithCredentials(this.withCredentials),c.load(e,(function(t){try{a(o.parse(t))}catch(t){n?n(t):console.error(t),o.manager.itemError(e)}}),r,n)}parse(a){const n=new t.Group,o=e.unzipSync(new Uint8Array(a.slice(16))),i=JSON.parse(e.strFromU8(o["metadata.json"])),d=new DataView(o["data.sketch"].buffer),l=d.getInt32(16,!0),f={};let b=20;for(let t=0;t<l;t++){const t=d.getInt32(b,!0),e=[d.getFloat32(b+4,!0),d.getFloat32(b+8,!0),d.getFloat32(b+12,!0),d.getFloat32(b+16,!0)],a=d.getFloat32(b+20,!0),r=d.getUint32(b+24,!0),n=d.getUint32(b+28,!0);let o=0,c=0;for(let t=0;t<4;t++){const e=1<<t;(r&e)>0&&(o+=4),(n&e)>0&&(c+=4)}b=b+28+o+4;const i=d.getInt32(b,!0),l=new Float32Array(3*i),s=new Float32Array(4*i);b+=4;for(let t=0,e=0;t<l.length;t+=3,e+=4)l[t+0]=d.getFloat32(b+0,!0),l[t+1]=d.getFloat32(b+4,!0),l[t+2]=d.getFloat32(b+8,!0),s[e+0]=d.getFloat32(b+12,!0),s[e+1]=d.getFloat32(b+16,!0),s[e+2]=d.getFloat32(b+20,!0),s[e+3]=d.getFloat32(b+24,!0),b=b+28+c;t in f==!1&&(f[t]=[]),f[t].push([l,s,a,e])}for(const e in f){const a=new r(f[e]),o=c(i.BrushIndex[e]);n.add(new t.Mesh(a,o))}return n}}class r extends t.BufferGeometry{constructor(e){super();const a=[],r=[],n=[],o=new t.Vector3,c=new t.Vector3,i=new t.Quaternion,d=new t.Quaternion,l=new t.Vector3,f=new t.Vector3,b=new t.Vector3,s=new t.Vector3;for(const t in e){const p=e[t],u=p[0],h=p[1],g=p[2],v=p[3];c.fromArray(u,0),d.fromArray(h,0);for(let t=3,e=4,p=u.length;t<p;t+=3,e+=4){o.fromArray(u,t),i.fromArray(h,e),l.set(-g,0,0),l.applyQuaternion(i),l.add(o),f.set(g,0,0),f.applyQuaternion(i),f.add(o),b.set(g,0,0),b.applyQuaternion(d),b.add(c),s.set(-g,0,0),s.applyQuaternion(d),s.add(c),a.push(l.x,l.y,-l.z),a.push(f.x,f.y,-f.z),a.push(s.x,s.y,-s.z),a.push(f.x,f.y,-f.z),a.push(b.x,b.y,-b.z),a.push(s.x,s.y,-s.z),c.copy(o),d.copy(i),r.push(...v),r.push(...v),r.push(...v),r.push(...v),r.push(...v),r.push(...v);const m=t/p,S=(t-3)/p;n.push(m,0),n.push(m,1),n.push(S,0),n.push(m,1),n.push(S,1),n.push(S,0)}}this.setAttribute("position",new t.BufferAttribute(new Float32Array(a),3)),this.setAttribute("color",new t.BufferAttribute(new Float32Array(r),4)),this.setAttribute("uv",new t.BufferAttribute(new Float32Array(n),2))}}const n={"89d104cd-d012-426b-b5b3-bbaee63ac43c":"Bubbles","700f3aa8-9a7c-2384-8b8a-ea028905dd8c":"CelVinyl","0f0ff7b2-a677-45eb-a7d6-0cd7206f4816":"ChromaticWave","1161af82-50cf-47db-9706-0c3576d43c43":"CoarseBristles","79168f10-6961-464a-8be1-57ed364c5600":"CoarseBristlesSingleSided","1caa6d7d-f015-3f54-3a4b-8b5354d39f81":"Comet","c8313697-2563-47fc-832e-290f4c04b901":"DiamondHull","4391aaaa-df73-4396-9e33-31e4e4930b27":"Disco","d1d991f2-e7a0-4cf1-b328-f57e915e6260":"DotMarker","6a1cf9f9-032c-45ec-9b1d-a6680bee30f7":"Dots","0d3889f3-3ede-470c-8af4-f44813306126":"DoubleTaperedFlat","0d3889f3-3ede-470c-8af4-de4813306126":"DoubleTaperedMarker","d0262945-853c-4481-9cbd-88586bed93cb":"DuctTape","3ca16e2f-bdcd-4da2-8631-dcef342f40f1":"DuctTapeSingleSided","f6e85de3-6dcc-4e7f-87fd-cee8c3d25d51":"Electricity","02ffb866-7fb2-4d15-b761-1012cefb1360":"Embers","cb92b597-94ca-4255-b017-0e3f42f12f9e":"Fire","2d35bcf0-e4d8-452c-97b1-3311be063130":"Flat","55303bc4-c749-4a72-98d9-d23e68e76e18":"FlatDeprecated","280c0a7a-aad8-416c-a7d2-df63d129ca70":"FlatSingleSided","cf019139-d41c-4eb0-a1d0-5cf54b0a42f3":"Highlighter","6a1cf9f9-032c-45ec-9b6e-a6680bee32e9":"HyperGrid","dce872c2-7b49-4684-b59b-c45387949c5c":"Hypercolor","e8ef32b1-baa8-460a-9c2c-9cf8506794f5":"HypercolorSingleSided","2f212815-f4d3-c1a4-681a-feeaf9c6dc37":"Icing","f5c336cf-5108-4b40-ade9-c687504385ab":"Ink","c0012095-3ffd-4040-8ee1-fc180d346eaa":"InkSingleSided","4a76a27a-44d8-4bfe-9a8c-713749a499b0":"Leaves","ea19de07-d0c0-4484-9198-18489a3c1487":"LeavesSingleSided","2241cd32-8ba2-48a5-9ee7-2caef7e9ed62":"Light","4391aaaa-df81-4396-9e33-31e4e4930b27":"LightWire","d381e0f5-3def-4a0d-8853-31e9200bcbda":"Lofted","429ed64a-4e97-4466-84d3-145a861ef684":"Marker","79348357-432d-4746-8e29-0e25c112e3aa":"MatteHull","b2ffef01-eaaa-4ab5-aa64-95a2c4f5dbc6":"NeonPulse","f72ec0e7-a844-4e38-82e3-140c44772699":"OilPaint","c515dad7-4393-4681-81ad-162ef052241b":"OilPaintSingleSided","f1114e2e-eb8d-4fde-915a-6e653b54e9f5":"Paper","759f1ebd-20cd-4720-8d41-234e0da63716":"PaperSingleSided","e0abbc80-0f80-e854-4970-8924a0863dcc":"Petal","c33714d1-b2f9-412e-bd50-1884c9d46336":"Plasma","ad1ad437-76e2-450d-a23a-e17f8310b960":"Rainbow","faaa4d44-fcfb-4177-96be-753ac0421ba3":"ShinyHull","70d79cca-b159-4f35-990c-f02193947fe8":"Smoke","d902ed8b-d0d1-476c-a8de-878a79e3a34c":"Snow","accb32f5-4509-454f-93f8-1df3fd31df1b":"SoftHighlighter","cf7f0059-7aeb-53a4-2b67-c83d863a9ffa":"Spikes","8dc4a70c-d558-4efd-a5ed-d4e860f40dc3":"Splatter","7a1c8107-50c5-4b70-9a39-421576d6617e":"SplatterSingleSided","0eb4db27-3f82-408d-b5a1-19ebd7d5b711":"Stars","44bb800a-fbc3-4592-8426-94ecb05ddec3":"Streamers","0077f88c-d93a-42f3-b59b-b31c50cdb414":"Taffy","b468c1fb-f254-41ed-8ec9-57030bc5660c":"TaperedFlat","c8ccb53d-ae13-45ef-8afb-b730d81394eb":"TaperedFlatSingleSided","d90c6ad8-af0f-4b54-b422-e0f92abe1b3c":"TaperedMarker","1a26b8c0-8a07-4f8a-9fac-d2ef36e0cad0":"TaperedMarker_Flat","75b32cf0-fdd6-4d89-a64b-e2a00b247b0f":"ThickPaint","fdf0326a-c0d1-4fed-b101-9db0ff6d071f":"ThickPaintSingleSided","4391385a-df73-4396-9e33-31e4e4930b27":"Toon","a8fea537-da7c-4d4b-817f-24f074725d6d":"UnlitHull","d229d335-c334-495a-a801-660ac8a87360":"VelvetInk","10201aa3-ebc2-42d8-84b7-2e63f6eeb8ab":"Waveform","b67c0e81-ce6d-40a8-aeb0-ef036b081aa3":"WetPaint","dea67637-cd1a-27e4-c9b1-52f4bbcb84e5":"WetPaintSingleSided","5347acf0-a8e2-47b6-8346-30c70719d763":"WigglyGraphite","e814fef1-97fd-7194-4a2f-50c2bb918be2":"WigglyGraphiteSingleSided","4391385a-cf83-4396-9e33-31e4e4930b27":"Wire"},o={BloomColor:"\n\t\t\tvec3 BloomColor(vec3 color, float gain) {\n\t\t\t\t// Guarantee that there's at least a little bit of all 3 channels.\n\t\t\t\t// This makes fully-saturated strokes (which only have 2 non-zero\n\t\t\t\t// color channels) eventually clip to white rather than to a secondary.\n\t\t\t\tfloat cmin = length(color.rgb) * .05;\n\t\t\t\tcolor.rgb = max(color.rgb, vec3(cmin, cmin, cmin));\n\t\t\t\t// If we try to remove this pow() from .a, it brightens up\n\t\t\t\t// pressure-sensitive strokes; looks better as-is.\n\t\t\t\tcolor = pow(color, vec3(2.2));\n\t\t\t\tcolor.rgb *= 2. * exp(gain * 10.);\n\t\t\t\treturn color;\n\t\t\t}\n\t\t",LinearToSrgb:"\n\t\t\tvec3 LinearToSrgb(vec3 color) {\n\t\t\t\t// Approximation http://chilliant.blogspot.com/2012/08/srgb-approximations-for-hlsl.html\n\t\t\t\tvec3 linearColor = color.rgb;\n\t\t\t\tvec3 S1 = sqrt(linearColor);\n\t\t\t\tvec3 S2 = sqrt(S1);\n\t\t\t\tvec3 S3 = sqrt(S2);\n\t\t\t\tcolor.rgb = 0.662002687 * S1 + 0.684122060 * S2 - 0.323583601 * S3 - 0.0225411470 * linearColor;\n\t\t\t\treturn color;\n\t\t\t}\n\t\t",hsv:"\n\t\t\t// uniform sampler2D lookupTex;\n\t\t\tvec4 lookup(vec4 textureColor) {\n\t\t\t\treturn textureColor;\n\t\t\t}\n\n\t\t\tvec3 lookup(vec3 textureColor) {\n\t\t\t\treturn textureColor;\n\t\t\t}\n\n\t\t\tvec3 hsv2rgb( vec3 hsv ) {\n\t\t\t\tvec3 rgb = clamp( abs(mod(hsv.x*6.0+vec3(0.0,4.0,2.0),6.0)-3.0)-1.0, 0.0, 1.0 );\n\t\t\t\treturn hsv.z * mix( vec3(1.0), rgb, hsv.y);\n\t\t\t}\n\n\t\t\tvec3 rgb2hsv( vec3 rgb ) {\n\t\t\t\tvec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n\t\t\t\tvec4 p = mix(vec4(rgb.bg, K.wz), vec4(rgb.gb, K.xy), step(rgb.b, rgb.g));\n\t\t\t\tvec4 q = mix(vec4(p.xyw, rgb.r), vec4(rgb.r, p.yzx), step(p.x, rgb.r));\n\n\t\t\t\tfloat d = q.x - min(q.w, q.y);\n\t\t\t\tfloat e = 1.0e-10;\n\n\t\t\t\treturn vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);\n\t\t\t}\n\t\t",SrgbToLinear:"\n\t\t\tvec3 SrgbToLinear(vec3 color) {\n\t\t\t\t// Approximation http://chilliant.blogspot.com/2012/08/srgb-approximations-for-hlsl.html\n\t\t\t\tvec3 sRGB = color.rgb;\n\t\t\t\tcolor.rgb = sRGB * (sRGB * (sRGB * 0.305306011 + 0.682171111) + 0.012522878);\n\t\t\t\treturn color;\n\t\t\t}\n\t\t"};function c(e){switch(n[e]){case"Light":return new t.RawShaderMaterial({uniforms:{mainTex:{value:(new t.TextureLoader).setPath("./textures/tiltbrush/").loader.load("Light.webp")},alphaTest:{value:.067},emission_gain:{value:.45},alpha:{value:1}},vertexShader:`\n\t\t\tprecision highp float;\n\t\t\tprecision highp int;\n\n\t\t\tattribute vec2 uv;\n\t\t\tattribute vec4 color;\n\t\t\tattribute vec3 position;\n\n\t\t\tuniform mat4 modelMatrix;\n\t\t\tuniform mat4 modelViewMatrix;\n\t\t\tuniform mat4 projectionMatrix;\n\t\t\tuniform mat4 viewMatrix;\n\t\t\tuniform mat3 normalMatrix;\n\t\t\tuniform vec3 cameraPosition;\n\n\t\t\tvarying vec2 vUv;\n\t\t\tvarying vec3 vColor;\n\n\t\t\t${o.LinearToSrgb}\n\t\t\t${o.hsv}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvUv = uv;\n\n\t\t\t\tvColor = lookup(color.rgb);\n\n\t\t\t\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n\n\t\t\t\tgl_Position = projectionMatrix * mvPosition;\n\n\t\t\t}\n\t\t`,fragmentShader:`\n\t\t\tprecision highp float;\n\t\t\tprecision highp int;\n\n\t\t\tuniform float emission_gain;\n\n\t\t\tuniform sampler2D mainTex;\n\t\t\tuniform float alphaTest;\n\n\t\t\tvarying vec2 vUv;\n\t\t\tvarying vec3 vColor;\n\n\t\t\t${o.BloomColor}\n\t\t\t${o.SrgbToLinear}\n\n\t\t\tvoid main(){\n\t\t\t\tvec4 col = texture2D(mainTex, vUv);\n\t\t\t\tvec3 color = vColor;\n\t\t\t\tcolor = BloomColor(color, emission_gain);\n\t\t\t\tcolor = color * col.rgb;\n\t\t\t\tcolor = color * col.a;\n\t\t\t\tcolor = SrgbToLinear(color);\n\t\t\t\tgl_FragColor = vec4(color, 1.0);\n\t\t\t}\n\t\t`,side:2,transparent:!0,depthFunc:2,depthWrite:!0,depthTest:!1,blending:5,blendDst:201,blendDstAlpha:201,blendEquation:100,blendEquationAlpha:100,blendSrc:201,blendSrcAlpha:201});default:return new t.MeshBasicMaterial({vertexColors:!0,side:t.DoubleSide})}}exports.TiltLoader=a;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");class t extends e.Loader{load(t,r,s,n){const o=this,a=new e.FileLoader(o.manager);a.setPath(o.path),a.setResponseType("arraybuffer"),a.setRequestHeader(o.requestHeader),a.load(t,(function(e){try{r(o.parse(e))}catch(e){n?n(e):console.error(e),o.manager.itemError(t)}}),s,n)}parse(e){const t=new DataView(e),r=t.getUint32(0,!0),s=t.getUint32(4,!0);if(542658390!==r||150!==s)return void console.error("Not a valid VOX file");const n=[0,4294967295,4291624959,4288282623,4284940287,4281597951,4278255615,4294954239,4291611903,4288269567,4284927231,4281584895,4278242559,4294941183,4291598847,4288256511,4284914175,4281571839,4278229503,4294928127,4291585791,4288243455,4284901119,4281558783,4278216447,4294915071,4291572735,4288230399,4284888063,4281545727,4278203391,4294902015,4291559679,4288217343,4284875007,4281532671,4278190335,4294967244,4291624908,4288282572,4284940236,4281597900,4278255564,4294954188,4291611852,4288269516,4284927180,4281584844,4278242508,4294941132,4291598796,4288256460,4284914124,4281571788,4278229452,4294928076,4291585740,4288243404,4284901068,4281558732,4278216396,4294915020,4291572684,4288230348,4284888012,4281545676,4278203340,4294901964,4291559628,4288217292,4284874956,4281532620,4278190284,4294967193,4291624857,4288282521,4284940185,4281597849,4278255513,4294954137,4291611801,4288269465,4284927129,4281584793,4278242457,4294941081,4291598745,4288256409,4284914073,4281571737,4278229401,4294928025,4291585689,4288243353,4284901017,4281558681,4278216345,4294914969,4291572633,4288230297,4284887961,4281545625,4278203289,4294901913,4291559577,4288217241,4284874905,4281532569,4278190233,4294967142,4291624806,4288282470,4284940134,4281597798,4278255462,4294954086,4291611750,4288269414,4284927078,4281584742,4278242406,4294941030,4291598694,4288256358,4284914022,4281571686,4278229350,4294927974,4291585638,4288243302,4284900966,4281558630,4278216294,4294914918,4291572582,4288230246,4284887910,4281545574,4278203238,4294901862,4291559526,4288217190,4284874854,4281532518,4278190182,4294967091,4291624755,4288282419,4284940083,4281597747,4278255411,4294954035,4291611699,4288269363,4284927027,4281584691,4278242355,4294940979,4291598643,4288256307,4284913971,4281571635,4278229299,4294927923,4291585587,4288243251,4284900915,4281558579,4278216243,4294914867,4291572531,4288230195,4284887859,4281545523,4278203187,4294901811,4291559475,4288217139,4284874803,4281532467,4278190131,4294967040,4291624704,4288282368,4284940032,4281597696,4278255360,4294953984,4291611648,4288269312,4284926976,4281584640,4278242304,4294940928,4291598592,4288256256,4284913920,4281571584,4278229248,4294927872,4291585536,4288243200,4284900864,4281558528,4278216192,4294914816,4291572480,4288230144,4284887808,4281545472,4278203136,4294901760,4291559424,4288217088,4284874752,4281532416,4278190318,4278190301,4278190267,4278190250,4278190216,4278190199,4278190165,4278190148,4278190114,4278190097,4278251008,4278246656,4278237952,4278233600,4278224896,4278220544,4278211840,4278207488,4278198784,4278194432,4293787648,4292673536,4290445312,4289331200,4287102976,4285988864,4283760640,4282646528,4280418304,4279304192,4293848814,4292730333,4290493371,4289374890,4287137928,4286019447,4283782485,4282664004,4280427042,4279308561];let o,a=8;const i=[];for(;a<t.byteLength;){let r="";for(let e=0;e<4;e++)r+=String.fromCharCode(t.getUint8(a++,!0));const s=t.getUint32(a,!0);if(a+=4,t.getUint32(a,!0),a+=4,"SIZE"===r){const e=t.getUint32(a,!0);a+=4;const r=t.getUint32(a,!0);a+=4;const l=t.getUint32(a,!0);a+=4,o={palette:n,size:{x:e,y:r,z:l}},i.push(o),a+=s-12}else if("XYZI"===r){const r=t.getUint32(a,!0);a+=4,o.data=new Uint8Array(e,a,4*r),a+=4*r}else if("RGBA"===r){const e=[0];for(let r=0;r<256;r++)e[r+1]=t.getUint32(a,!0),a+=4;o.palette=e}else a+=s}return i}}class r extends e.Mesh{constructor(t){const r=t.data,s=t.size,n=t.palette,o=[],a=[],i=[0,0,0,0,0,1,0,1,0,0,1,1,0,1,0,0,0,1],l=[1,0,0,1,1,0,1,0,1,1,1,1,1,0,1,1,1,0],c=[0,0,1,1,0,1,0,1,1,1,1,1,0,1,1,1,0,1],u=[0,0,0,0,1,0,1,0,0,1,1,0,1,0,0,0,1,0],f=[0,0,1,0,0,0,1,0,1,1,0,0,1,0,1,0,0,0],d=[0,1,1,1,1,1,0,1,0,1,1,0,0,1,0,1,1,1];function p(e,t,r,n,i,l,c){t-=s.x/2,r-=s.z/2,n+=s.y/2;for(let s=0;s<18;s+=3)o.push(e[s+0]+t,e[s+1]+r,e[s+2]+n),a.push(i,l,c)}const x=s.x,h=s.x*s.y,g=new Uint8Array(s.x*s.y*s.z);for(let e=0;e<r.length;e+=4){g[r[e+0]+r[e+1]*x+r[e+2]*h]=255}let y=!1;for(let e=0;e<r.length;e+=4){const t=r[e+0],o=r[e+1],a=r[e+2],U=n[r[e+3]],m=(U>>0&255)/255,w=(U>>8&255)/255,z=(U>>16&255)/255;(m>0||w>0||z>0)&&(y=!0);const A=t+o*x+a*h;0!==g[A+1]&&t!==s.x-1||p(l,t,a,-o,m,w,z),0!==g[A-1]&&0!==t||p(i,t,a,-o,m,w,z),0!==g[A+x]&&o!==s.y-1||p(u,t,a,-o,m,w,z),0!==g[A-x]&&0!==o||p(c,t,a,-o,m,w,z),0!==g[A+h]&&a!==s.z-1||p(d,t,a,-o,m,w,z),0!==g[A-h]&&0!==a||p(f,t,a,-o,m,w,z)}const U=new e.BufferGeometry;U.setAttribute("position",new e.Float32BufferAttribute(o,3)),U.computeVertexNormals();const m=new e.MeshStandardMaterial;y&&(U.setAttribute("color",new e.Float32BufferAttribute(a,3)),m.vertexColors=!0),super(U,m)}}class s extends e.DataTexture3D{constructor(t){const r=t.data,s=t.size,n=s.x,o=s.x*s.y,a=new Uint8Array(s.x*s.y*s.z);for(let e=0;e<r.length;e+=4){a[r[e+0]+r[e+1]*n+r[e+2]*o]=255}super(a,s.x,s.y,s.z),this.format=e.RedFormat,this.minFilter=e.NearestFilter,this.magFilter=e.LinearFilter,this.unpackAlignment=1}}exports.VOXDataTexture3D=s,exports.VOXLoader=t,exports.VOXMesh=r;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("chevrotain");class n extends e.Loader{constructor(e){super(e)}load(t,n,r,o){const a=this,s=""===a.path?e.LoaderUtils.extractUrlBase(t):a.path,l=new e.FileLoader(a.manager);l.setPath(a.path),l.setRequestHeader(a.requestHeader),l.setWithCredentials(a.withCredentials),l.load(t,(function(e){try{n(a.parse(e,s))}catch(e){o?o(e):console.error(e),a.manager.itemError(t)}}),r,o)}parse(n,l){const i={};function c(e){e.DEF&&(i[e.DEF]=e);const t=e.fields;for(let e=0,n=t.length;e<n;e++){const n=t[e];if("node"===n.type){const e=n.values;for(let t=0,n=e.length;t<n;t++)c(e[t])}}}function u(t){return t.USE?function(e){const t=u(i[e]);return t.isObject3D||t.isMaterial?t.clone():t}(t.USE):(void 0!==t.build||(t.build=function(t){const n=t.name;let r;switch(n){case"Group":case"Transform":case"Collision":r=function(t){const n=new e.Group,r=t.fields;for(let t=0,o=r.length;t<o;t++){const o=r[t],a=o.name,s=o.values;switch(a){case"bboxCenter":case"bboxSize":case"center":break;case"children":p(s,n);break;case"collide":break;case"rotation":const t=new e.Vector3(s[0],s[1],s[2]),r=s[3];n.quaternion.setFromAxisAngle(t,r);break;case"scale":n.scale.set(s[0],s[1],s[2]);break;case"scaleOrientation":break;case"translation":n.position.set(s[0],s[1],s[2]);break;case"proxy":break;default:console.warn("THREE.VRMLLoader: Unknown field:",a)}}return n}(t);break;case"Background":r=function(t){const n=new e.Group;let r,o,a,s;const l=t.fields;for(let e=0,t=l.length;e<t;e++){const t=l[e],n=t.name,i=t.values;switch(n){case"groundAngle":r=i;break;case"groundColor":o=i;break;case"backUrl":case"bottomUrl":case"frontUrl":case"leftUrl":case"rightUrl":case"topUrl":break;case"skyAngle":a=i;break;case"skyColor":s=i;break;default:console.warn("THREE.VRMLLoader: Unknown field:",n)}}const i=1e4;if(s){const t=new e.SphereGeometry(i,32,16),r=new e.MeshBasicMaterial({fog:!1,side:e.BackSide,depthWrite:!1,depthTest:!1});s.length>3?(N(t,i,a,I(s),!0),r.vertexColors=!0):r.color.setRGB(s[0],s[1],s[2]);const o=new e.Mesh(t,r);n.add(o)}if(o&&o.length>0){const t=new e.SphereGeometry(i,32,16,0,2*Math.PI,.5*Math.PI,1.5*Math.PI),a=new e.MeshBasicMaterial({fog:!1,side:e.BackSide,vertexColors:!0,depthWrite:!1,depthTest:!1});N(t,i,r,I(o),!1);const s=new e.Mesh(t,a);n.add(s)}return n.renderOrder=-1/0,n}(t);break;case"Shape":r=function(t){const n=t.fields;let r,o,a=new e.MeshBasicMaterial({color:0});for(let e=0,t=n.length;e<t;e++){const t=n[e],o=t.name,s=t.values;switch(o){case"appearance":null!==s[0]&&(a=u(s[0]));break;case"geometry":null!==s[0]&&(r=u(s[0]));break;default:console.warn("THREE.VRMLLoader: Unknown field:",o)}}if(r&&r.attributes.position){const t=r._type;if("points"===t){const t=new e.PointsMaterial({color:16777215});void 0!==r.attributes.color?t.vertexColors=!0:a.isMeshPhongMaterial&&t.color.copy(a.emissive),o=new e.Points(r,t)}else if("line"===t){const t=new e.LineBasicMaterial({color:16777215});void 0!==r.attributes.color?t.vertexColors=!0:a.isMeshPhongMaterial&&t.color.copy(a.emissive),o=new e.LineSegments(r,t)}else void 0!==r._solid&&(a.side=r._solid?e.FrontSide:e.DoubleSide),void 0!==r.attributes.color&&(a.vertexColors=!0),o=new e.Mesh(r,a)}else o=new e.Object3D,o.visible=!1;return o}(t);break;case"Appearance":r=function(t){let n,r=new e.MeshPhongMaterial;const o=t.fields;for(let t=0,a=o.length;t<a;t++){const a=o[t],s=a.name,l=a.values;switch(s){case"material":if(null!==l[0]){const e=u(l[0]);e.diffuseColor&&r.color.copy(e.diffuseColor),e.emissiveColor&&r.emissive.copy(e.emissiveColor),e.shininess&&(r.shininess=e.shininess),e.specularColor&&r.specular.copy(e.specularColor),e.transparency&&(r.opacity=1-e.transparency),e.transparency>0&&(r.transparent=!0)}else r=new e.MeshBasicMaterial({color:0});break;case"texture":const t=l[0];null!==t&&("ImageTexture"!==t.name&&"PixelTexture"!==t.name||(r.map=u(t)));break;case"textureTransform":null!==l[0]&&(n=u(l[0]));break;default:console.warn("THREE.VRMLLoader: Unknown field:",s)}}if(r.map){if(r.map.__type){switch(r.map.__type){case s.INTENSITY_ALPHA:r.opacity=1;break;case s.RGB:r.color.set(16777215);break;case s.RGBA:r.color.set(16777215),r.opacity=1}delete r.map.__type}n&&(r.map.center.copy(n.center),r.map.rotation=n.rotation,r.map.repeat.copy(n.scale),r.map.offset.copy(n.translation))}return r}(t);break;case"Material":r=function(t){const n={},r=t.fields;for(let t=0,o=r.length;t<o;t++){const o=r[t],a=o.name,s=o.values;switch(a){case"ambientIntensity":break;case"diffuseColor":n.diffuseColor=new e.Color(s[0],s[1],s[2]);break;case"emissiveColor":n.emissiveColor=new e.Color(s[0],s[1],s[2]);break;case"shininess":n.shininess=s[0];break;case"specularColor":n.emissiveColor=new e.Color(s[0],s[1],s[2]);break;case"transparency":n.transparency=s[0];break;default:console.warn("THREE.VRMLLoader: Unknown field:",a)}}return n}(t);break;case"ImageTexture":r=function(t){let n,r=e.RepeatWrapping,o=e.RepeatWrapping;const a=t.fields;for(let t=0,s=a.length;t<s;t++){const s=a[t],l=s.name,i=s.values;switch(l){case"url":const t=i[0];t&&(n=B.load(t));break;case"repeatS":!1===i[0]&&(r=e.ClampToEdgeWrapping);break;case"repeatT":!1===i[0]&&(o=e.ClampToEdgeWrapping);break;default:console.warn("THREE.VRMLLoader: Unknown field:",l)}}n&&(n.wrapS=r,n.wrapT=o);return n}(t);break;case"PixelTexture":r=function(t){let n,r=e.RepeatWrapping,o=e.RepeatWrapping;const a=t.fields;for(let t=0,s=a.length;t<s;t++){const s=a[t],l=s.name,i=s.values;switch(l){case"image":const t=i[0],a=i[1],s=d(i[2]),c=new Uint8Array(4*t*a),u={r:0,g:0,b:0,a:0};for(let e=3,t=0,n=i.length;e<n;e++,t++){f(i[e],s,u);const n=4*t;c[n+0]=u.r,c[n+1]=u.g,c[n+2]=u.b,c[n+3]=u.a}n=new e.DataTexture(c,t,a),n.needsUpdate=!0,n.__type=s;break;case"repeatS":!1===i[0]&&(r=e.ClampToEdgeWrapping);break;case"repeatT":!1===i[0]&&(o=e.ClampToEdgeWrapping);break;default:console.warn("THREE.VRMLLoader: Unknown field:",l)}}n&&(n.wrapS=r,n.wrapT=o);return n}(t);break;case"TextureTransform":r=function(t){const n={center:new e.Vector2,rotation:new e.Vector2,scale:new e.Vector2,translation:new e.Vector2},r=t.fields;for(let e=0,t=r.length;e<t;e++){const t=r[e],o=t.name,a=t.values;switch(o){case"center":n.center.set(a[0],a[1]);break;case"rotation":n.rotation=a[0];break;case"scale":n.scale.set(a[0],a[1]);break;case"translation":n.translation.set(a[0],a[1]);break;default:console.warn("THREE.VRMLLoader: Unknown field:",o)}}return n}(t);break;case"IndexedFaceSet":r=function(t){let n,r,o,a,s,l,i,c,f=!0,d=!0,p=0,m=!0,g=!0;const k=t.fields;for(let e=0,t=k.length;e<t;e++){const t=k[e],h=t.name,b=t.values;switch(h){case"color":const e=b[0];null!==e&&(n=u(e));break;case"coord":const t=b[0];null!==t&&(r=u(t));break;case"normal":const x=b[0];null!==x&&(o=u(x));break;case"texCoord":const k=b[0];null!==k&&(a=u(k));break;case"ccw":f=b[0];break;case"colorIndex":s=b;break;case"colorPerVertex":m=b[0];break;case"convex":break;case"coordIndex":l=b;break;case"creaseAngle":p=b[0];break;case"normalIndex":i=b;break;case"normalPerVertex":g=b[0];break;case"solid":d=b[0];break;case"texCoordIndex":c=b;break;default:console.warn("THREE.VRMLLoader: Unknown field:",h)}}if(void 0===l)return console.warn("THREE.VRMLLoader: Missing coordIndex."),new e.BufferGeometry;const w=h(l,f);let L,E,y;if(n)if(!0===m)if(s&&s.length>0){L=S(w,h(s,f),n,3)}else L=U(w,new e.Float32BufferAttribute(n,3));else if(s&&s.length>0){L=A(w,b(x(n,s),l))}else{L=A(w,b(n,l))}if(o)if(!0===g)if(i&&i.length>0){E=S(w,h(i,f),o,3)}else E=U(w,new e.Float32BufferAttribute(o,3));else if(i&&i.length>0){E=A(w,b(x(o,i),l))}else{E=A(w,b(o,l))}else E=v(w,r,p);if(a)if(c&&c.length>0){y=S(w,h(c,f),a,2)}else y=U(w,new e.Float32BufferAttribute(a,2));const T=new e.BufferGeometry,R=U(w,new e.Float32BufferAttribute(r,3));T.setAttribute("position",R),T.setAttribute("normal",E),L&&T.setAttribute("color",L);y&&T.setAttribute("uv",y);return T._solid=d,T._type="mesh",T}(t);break;case"IndexedLineSet":r=function(t){let n,r,o,a,s=!0;const l=t.fields;for(let e=0,t=l.length;e<t;e++){const t=l[e],i=t.name,c=t.values;switch(i){case"color":const e=c[0];null!==e&&(n=u(e));break;case"coord":const t=c[0];null!==t&&(r=u(t));break;case"colorIndex":o=c;break;case"colorPerVertex":s=c[0];break;case"coordIndex":a=c;break;default:console.warn("THREE.VRMLLoader: Unknown field:",i)}}let i;const c=m(a);if(n)if(!0===s)if(o.length>0){i=S(c,m(o),n,3)}else i=U(c,new e.Float32BufferAttribute(n,3));else if(o.length>0){i=R(c,g(x(n,o),a))}else{i=R(c,g(n,a))}const f=new e.BufferGeometry,d=U(c,new e.Float32BufferAttribute(r,3));f.setAttribute("position",d),i&&f.setAttribute("color",i);return f._type="line",f}(t);break;case"PointSet":r=function(t){let n,r;const o=t.fields;for(let e=0,t=o.length;e<t;e++){const t=o[e],a=t.name,s=t.values;switch(a){case"color":const e=s[0];null!==e&&(n=u(e));break;case"coord":const t=s[0];null!==t&&(r=u(t));break;default:console.warn("THREE.VRMLLoader: Unknown field:",a)}}const a=new e.BufferGeometry;a.setAttribute("position",new e.Float32BufferAttribute(r,3)),n&&a.setAttribute("color",new e.Float32BufferAttribute(n,3));return a._type="points",a}(t);break;case"Box":r=function(t){const n=new e.Vector3(2,2,2),r=t.fields;for(let e=0,t=r.length;e<t;e++){const t=r[e],o=t.name,a=t.values;switch(o){case"size":n.x=a[0],n.y=a[1],n.z=a[2];break;default:console.warn("THREE.VRMLLoader: Unknown field:",o)}}return new e.BoxGeometry(n.x,n.y,n.z)}(t);break;case"Cone":r=function(t){let n=1,r=2,o=!1;const a=t.fields;for(let e=0,t=a.length;e<t;e++){const t=a[e],s=t.name,l=t.values;switch(s){case"bottom":o=!l[0];break;case"bottomRadius":n=l[0];break;case"height":r=l[0];break;case"side":break;default:console.warn("THREE.VRMLLoader: Unknown field:",s)}}return new e.ConeGeometry(n,r,16,1,o)}(t);break;case"Cylinder":r=function(t){let n=1,r=2;const o=t.fields;for(let e=0,t=o.length;e<t;e++){const t=o[e],a=t.name,s=t.values;switch(a){case"bottom":break;case"radius":n=s[0];break;case"height":r=s[0];break;case"side":case"top":break;default:console.warn("THREE.VRMLLoader: Unknown field:",a)}}return new e.CylinderGeometry(n,n,r,16,1)}(t);break;case"Sphere":r=function(t){let n=1;const r=t.fields;for(let e=0,t=r.length;e<t;e++){const t=r[e],o=t.name,a=t.values;switch(o){case"radius":n=a[0];break;default:console.warn("THREE.VRMLLoader: Unknown field:",o)}}return new e.SphereGeometry(n,16,16)}(t);break;case"ElevationGrid":r=function(t){let n,r,o,a,s=!0,l=!0,i=!0,c=!0,f=0,d=2,p=2,h=1,b=1;const x=t.fields;for(let e=0,t=x.length;e<t;e++){const t=x[e],m=t.name,g=t.values;switch(m){case"color":const e=g[0];null!==e&&(n=u(e));break;case"normal":const t=g[0];null!==t&&(r=u(t));break;case"texCoord":const x=g[0];null!==x&&(o=u(x));break;case"height":a=g;break;case"ccw":c=g[0];break;case"colorPerVertex":s=g[0];break;case"creaseAngle":f=g[0];break;case"normalPerVertex":l=g[0];break;case"solid":i=g[0];break;case"xDimension":d=g[0];break;case"xSpacing":h=g[0];break;case"zDimension":p=g[0];break;case"zSpacing":b=g[0];break;default:console.warn("THREE.VRMLLoader: Unknown field:",m)}}const m=[],g=[],k=[],w=[];for(let e=0;e<p;e++)for(let t=0;t<d;t++){const i=e*d+t,c=h*e,u=a[i],f=b*t;if(m.push(c,u,f),n&&!0===s){const e=n[3*i+0],t=n[3*i+1],r=n[3*i+2];k.push(e,t,r)}if(r&&!0===l){const e=r[3*i+0],t=r[3*i+1],n=r[3*i+2];g.push(e,t,n)}if(o){const e=o[2*i+0],t=o[2*i+1];w.push(e,t)}else w.push(e/(d-1),t/(p-1))}const L=[];for(let e=0;e<d-1;e++)for(let t=0;t<p-1;t++){const n=e+t*d,r=e+(t+1)*d,o=e+1+(t+1)*d,a=e+1+t*d;!0===c?(L.push(n,o,r),L.push(o,n,a)):(L.push(n,r,o),L.push(o,a,n))}const E=U(L,new e.Float32BufferAttribute(m,3)),y=U(L,new e.Float32BufferAttribute(w,2));let T,S;if(n)if(!1===s){for(let e=0;e<d-1;e++)for(let t=0;t<p-1;t++){const r=e+t*(d-1),o=n[3*r+0],a=n[3*r+1],s=n[3*r+2];k.push(o,a,s),k.push(o,a,s),k.push(o,a,s),k.push(o,a,s),k.push(o,a,s),k.push(o,a,s)}T=new e.Float32BufferAttribute(k,3)}else T=U(L,new e.Float32BufferAttribute(k,3));if(r)if(!1===l){for(let e=0;e<d-1;e++)for(let t=0;t<p-1;t++){const n=e+t*(d-1),o=r[3*n+0],a=r[3*n+1],s=r[3*n+2];g.push(o,a,s),g.push(o,a,s),g.push(o,a,s),g.push(o,a,s),g.push(o,a,s),g.push(o,a,s)}S=new e.Float32BufferAttribute(g,3)}else S=U(L,new e.Float32BufferAttribute(g,3));else S=v(L,m,f);const A=new e.BufferGeometry;A.setAttribute("position",E),A.setAttribute("normal",S),A.setAttribute("uv",y),T&&A.setAttribute("color",T);return A._solid=i,A._type="mesh",A}(t);break;case"Extrusion":r=function(t){let n,r,o=[1,1,1,-1,-1,-1,-1,1,1,1],a=[0,0,0,0,1,0],s=!0,l=!0,i=0,c=!0,u=!0;const f=t.fields;for(let e=0,t=f.length;e<t;e++){const t=f[e],d=t.name,p=t.values;switch(d){case"beginCap":s=p[0];break;case"ccw":l=p[0];break;case"convex":break;case"creaseAngle":i=p[0];break;case"crossSection":o=p;break;case"endCap":c=p[0];break;case"orientation":r=p;break;case"scale":n=p;break;case"solid":u=p[0];break;case"spine":a=p;break;default:console.warn("THREE.VRMLLoader: Unknown field:",d)}}const d=o[0]===o[o.length-2]&&o[1]===o[o.length-1],p=[],h=new e.Vector3,b=new e.Vector3,x=new e.Vector3,m=new e.Vector3,g=new e.Quaternion;for(let e=0,t=0,s=0,l=a.length;e<l;e+=3,t+=2,s+=4){h.fromArray(a,e),b.x=n?n[t+0]:1,b.y=1,b.z=n?n[t+1]:1,x.x=r?r[s+0]:0,x.y=r?r[s+1]:0,x.z=r?r[s+2]:1;const l=r?r[s+3]:0;for(let e=0,t=o.length;e<t;e+=2)m.x=o[e+0],m.y=0,m.z=o[e+1],m.multiply(b),g.setFromAxisAngle(x,l),m.applyQuaternion(g),m.add(h),p.push(m.x,m.y,m.z)}const k=[],w=a.length/3,L=o.length/2;for(let e=0;e<w-1;e++)for(let t=0;t<L-1;t++){const n=t+e*L;let r=t+1+e*L;const o=t+(e+1)*L;let a=t+1+(e+1)*L;t===L-2&&!0===d&&(r=e*L,a=(e+1)*L),!0===l?(k.push(n,r,o),k.push(o,r,a)):(k.push(n,o,r),k.push(o,a,r))}if(!0===s||!0===c){const t=[];for(let n=0,r=o.length;n<r;n+=2)t.push(new e.Vector2(o[n],o[n+1]));const n=e.ShapeUtils.triangulateShape(t,[]),r=[];for(let e=0,t=n.length;e<t;e++){const t=n[e];r.push(t[0],t[1],t[2])}if(!0===s)for(let e=0,t=r.length;e<t;e+=3)!0===l?k.push(r[e+0],r[e+1],r[e+2]):k.push(r[e+0],r[e+2],r[e+1]);if(!0===c){const e=L*(w-1);for(let t=0,n=r.length;t<n;t+=3)!0===l?k.push(e+r[t+0],e+r[t+2],e+r[t+1]):k.push(e+r[t+0],e+r[t+1],e+r[t+2])}}const E=U(k,new e.Float32BufferAttribute(p,3)),y=v(k,p,i),T=new e.BufferGeometry;return T.setAttribute("position",E),T.setAttribute("normal",y),T._solid=u,T._type="mesh",T}(t);break;case"Color":case"Coordinate":case"Normal":case"TextureCoordinate":r=function(e){return e.fields[0].values}(t);break;case"WorldInfo":r=function(e){const t={},n=e.fields;for(let e=0,r=n.length;e<r;e++){const r=n[e],o=r.name,a=r.values;switch(o){case"title":t.title=a[0];break;case"info":t.info=a;break;default:console.warn("THREE.VRMLLoader: Unknown field:",o)}}return t}(t);break;case"Anchor":case"Billboard":case"Inline":case"LOD":case"Switch":case"AudioClip":case"DirectionalLight":case"PointLight":case"Script":case"Sound":case"SpotLight":case"CylinderSensor":case"PlaneSensor":case"ProximitySensor":case"SphereSensor":case"TimeSensor":case"TouchSensor":case"VisibilitySensor":case"Text":case"FontStyle":case"MovieTexture":case"ColorInterpolator":case"CoordinateInterpolator":case"NormalInterpolator":case"OrientationInterpolator":case"PositionInterpolator":case"ScalarInterpolator":case"Fog":case"NavigationInfo":case"Viewpoint":break;default:console.warn("THREE.VRMLLoader: Unknown node:",n)}void 0!==r&&void 0!==t.DEF&&!0===r.hasOwnProperty("name")&&(r.name=t.DEF);return r}(t)),t.build)}function f(e,t,n){let r;switch(t){case s.INTENSITY:r=parseInt(e),n.r=r,n.g=r,n.b=r,n.a=1;break;case s.INTENSITY_ALPHA:r=parseInt("0x"+e.substring(2,4)),n.r=r,n.g=r,n.b=r,n.a=parseInt("0x"+e.substring(4,6));break;case s.RGB:n.r=parseInt("0x"+e.substring(2,4)),n.g=parseInt("0x"+e.substring(4,6)),n.b=parseInt("0x"+e.substring(6,8)),n.a=1;break;case s.RGBA:n.r=parseInt("0x"+e.substring(2,4)),n.g=parseInt("0x"+e.substring(4,6)),n.b=parseInt("0x"+e.substring(6,8)),n.a=parseInt("0x"+e.substring(8,10))}}function d(e){let t;switch(e){case 1:t=s.INTENSITY;break;case 2:t=s.INTENSITY_ALPHA;break;case 3:t=s.RGB;break;case 4:t=s.RGBA}return t}function p(t,n){for(let r=0,o=t.length;r<o;r++){const o=u(t[r]);o instanceof e.Object3D&&n.add(o)}}function h(e,t){const n=[];let r=0;for(let o=0,a=e.length;o<a;o++){const s=e[r],l=e[o+(t?1:2)],i=e[o+(t?2:1)];n.push(s,l,i),(-1===e[o+3]||o+3>=a)&&(o+=3,r=o+1)}return n}function b(e,t){const n=[];let r=0;for(let o=0,a=t.length;o<a;o++){const s=3*r,l=e[s],i=e[s+1],c=e[s+2];n.push(l,i,c),(-1===t[o+3]||o+3>=a)&&(o+=3,r++)}return n}function x(e,t){const n=[];for(let r=0,o=t.length;r<o;r++){const o=3*t[r],a=e[o],s=e[o+1],l=e[o+2];n.push(a,s,l)}return n}function m(e){const t=[];for(let n=0,r=e.length;n<r;n++){const o=e[n],a=e[n+1];t.push(o,a),(-1===e[n+2]||n+2>=r)&&(n+=2)}return t}function g(e,t){const n=[];let r=0;for(let o=0,a=t.length;o<a;o++){const s=3*r,l=e[s],i=e[s+1],c=e[s+2];n.push(l,i,c),(-1===t[o+2]||o+2>=a)&&(o+=2,r++)}return n}const k=new e.Vector3,w=new e.Vector3,L=new e.Vector3,E=new e.Vector2,y=new e.Vector2,T=new e.Vector2;function S(t,n,r,o){const a=[];for(let e=0,s=t.length;e<s;e+=3){const t=n[e],s=n[e+1],l=n[e+2];2===o?(E.fromArray(r,t*o),y.fromArray(r,s*o),T.fromArray(r,l*o),a.push(E.x,E.y),a.push(y.x,y.y),a.push(T.x,T.y)):(k.fromArray(r,t*o),w.fromArray(r,s*o),L.fromArray(r,l*o),a.push(k.x,k.y,k.z),a.push(w.x,w.y,w.z),a.push(L.x,L.y,L.z))}return new e.Float32BufferAttribute(a,o)}function A(t,n){const r=[];for(let e=0,o=0,a=t.length;e<a;e+=3,o++)k.fromArray(n,3*o),r.push(k.x,k.y,k.z),r.push(k.x,k.y,k.z),r.push(k.x,k.y,k.z);return new e.Float32BufferAttribute(r,3)}function R(t,n){const r=[];for(let e=0,o=0,a=t.length;e<a;e+=2,o++)k.fromArray(n,3*o),r.push(k.x,k.y,k.z),r.push(k.x,k.y,k.z);return new e.Float32BufferAttribute(r,3)}function U(t,n){const r=n.array,o=n.itemSize,a=new r.constructor(t.length*o);let s=0,l=0;for(let e=0,n=t.length;e<n;e++){s=t[e]*o;for(let e=0;e<o;e++)a[l++]=r[s++]}return new e.Float32BufferAttribute(a,o)}const C=new e.Vector3,M=new e.Vector3;function v(t,n,r){const o=[],s={};for(let e=0,r=t.length;e<r;e+=3){const r=t[e],l=t[e+1],i=t[e+2],c=new a(r,l,i);k.fromArray(n,3*r),w.fromArray(n,3*l),L.fromArray(n,3*i),M.subVectors(L,w),C.subVectors(k,w),M.cross(C),M.normalize(),c.normal.copy(M),void 0===s[r]&&(s[r]=[]),void 0===s[l]&&(s[l]=[]),void 0===s[i]&&(s[i]=[]),s[r].push(c.normal),s[l].push(c.normal),s[i].push(c.normal),o.push(c)}const l=[];for(let e=0,t=o.length;e<t;e++){const t=o[e],a=V(s[t.a],t.normal,r),i=V(s[t.b],t.normal,r),c=V(s[t.c],t.normal,r);k.fromArray(n,3*t.a),w.fromArray(n,3*t.b),L.fromArray(n,3*t.c),l.push(a.x,a.y,a.z),l.push(i.x,i.y,i.z),l.push(c.x,c.y,c.z)}return new e.Float32BufferAttribute(l,3)}function V(t,n,r){const o=new e.Vector3;if(0===r)o.copy(n);else for(let e=0,a=t.length;e<a;e++)t[e].angleTo(n)<r&&o.add(t[e]);return o.normalize()}function I(t){const n=[];for(let r=0,o=t.length;r<o;r+=3)n.push(new e.Color(t[r],t[r+1],t[r+2]));return n}function N(t,n,r,o,a){const s=[],l=!0===a?0:Math.PI;for(let t=0,i=o.length;t<i;t++){let o=0===t?0:r[t-1];o=!0===a?o:l-o;const i=new e.Vector3;i.setFromSphericalCoords(n,o,0),s.push(i)}const i=t.index,c=t.attributes.position,u=new e.BufferAttribute(new Float32Array(3*t.attributes.position.count),3),f=new e.Vector3,d=new e.Color;for(let e=0;e<i.count;e++){const t=i.getX(e);let n,r;f.fromBufferAttribute(c,t);let l=1;for(let e=1;e<s.length;e++){n=e-1,r=e;const t=s[n],o=s[r];if(!0===a){if(f.y<=t.y&&f.y>o.y){l=Math.abs(t.y-f.y)/Math.abs(t.y-o.y);break}}else if(f.y>=t.y&&f.y<o.y){l=Math.abs(t.y-f.y)/Math.abs(t.y-o.y);break}}const p=o[n],h=o[r];d.copy(p).lerp(h,l),u.setXYZ(t,d.r,d.g,d.b)}t.setAttribute("color",u)}const B=new e.TextureLoader(this.manager);if(B.setPath(this.resourcePath||l).setCrossOrigin(this.crossOrigin),-1===n.indexOf("#VRML V2.0"))throw Error("THREE.VRMLLexer: Version of VRML asset not supported.");return function(t){const n=t.nodes,r=new e.Scene;for(let e=0,t=n.length;e<t;e++){c(n[e])}for(let t=0,o=n.length;t<o;t++){const o=n[t],a=u(o);a instanceof e.Object3D&&r.add(a),"WorldInfo"===o.name&&(r.userData.worldInfo=a)}return r}(function(e){const n=function(){const e=t.createToken({name:"RouteIdentifier",pattern:/[^\x30-\x39\0-\x20\x22\x27\x23\x2b\x2c\x2d\x2e\x5b\x5d\x5c\x7b\x7d][^\0-\x20\x22\x27\x23\x2b\x2c\x2d\x2e\x5b\x5d\x5c\x7b\x7d]*[\.][^\x30-\x39\0-\x20\x22\x27\x23\x2b\x2c\x2d\x2e\x5b\x5d\x5c\x7b\x7d][^\0-\x20\x22\x27\x23\x2b\x2c\x2d\x2e\x5b\x5d\x5c\x7b\x7d]*/}),n=t.createToken({name:"Identifier",pattern:/[^\x30-\x39\0-\x20\x22\x27\x23\x2b\x2c\x2d\x2e\x5b\x5d\x5c\x7b\x7d][^\0-\x20\x22\x27\x23\x2b\x2c\x2d\x2e\x5b\x5d\x5c\x7b\x7d]*/,longer_alt:e}),r=["Anchor","Billboard","Collision","Group","Transform","Inline","LOD","Switch","AudioClip","DirectionalLight","PointLight","Script","Shape","Sound","SpotLight","WorldInfo","CylinderSensor","PlaneSensor","ProximitySensor","SphereSensor","TimeSensor","TouchSensor","VisibilitySensor","Box","Cone","Cylinder","ElevationGrid","Extrusion","IndexedFaceSet","IndexedLineSet","PointSet","Sphere","Color","Coordinate","Normal","TextureCoordinate","Appearance","FontStyle","ImageTexture","Material","MovieTexture","PixelTexture","TextureTransform","ColorInterpolator","CoordinateInterpolator","NormalInterpolator","OrientationInterpolator","PositionInterpolator","ScalarInterpolator","Background","Fog","NavigationInfo","Viewpoint","Text"],o=t.createToken({name:"Version",pattern:/#VRML.*/,longer_alt:n}),a=t.createToken({name:"NodeName",pattern:new RegExp(r.join("|")),longer_alt:n}),s=t.createToken({name:"DEF",pattern:/DEF/,longer_alt:n}),l=t.createToken({name:"USE",pattern:/USE/,longer_alt:n}),i=t.createToken({name:"ROUTE",pattern:/ROUTE/,longer_alt:n}),c=t.createToken({name:"TO",pattern:/TO/,longer_alt:n}),u=t.createToken({name:"StringLiteral",pattern:/"(?:[^\\"\n\r]|\\[bfnrtv"\\/]|\\u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])*"/}),f=t.createToken({name:"HexLiteral",pattern:/0[xX][0-9a-fA-F]+/}),d=t.createToken({name:"NumberLiteral",pattern:/[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?/}),p=t.createToken({name:"TrueLiteral",pattern:/TRUE/}),h=t.createToken({name:"FalseLiteral",pattern:/FALSE/}),b=t.createToken({name:"NullLiteral",pattern:/NULL/}),x=t.createToken({name:"LSquare",pattern:/\[/}),m=t.createToken({name:"RSquare",pattern:/]/}),g=t.createToken({name:"LCurly",pattern:/{/}),k=t.createToken({name:"RCurly",pattern:/}/}),w=t.createToken({name:"Comment",pattern:/#.*/,group:t.Lexer.SKIPPED}),L=[t.createToken({name:"WhiteSpace",pattern:/[ ,\s]/,group:t.Lexer.SKIPPED}),a,s,l,i,c,p,h,b,o,n,e,u,f,d,x,m,g,k,w],E={};for(let e=0,t=L.length;e<t;e++){const t=L[e];E[t.name]=t}return{tokens:L,tokenVocabulary:E}}(),a=new r(n.tokens),s=new o(n.tokenVocabulary),l=function(e){function t(){e.call(this),this.validateVisitor()}function n(e,t){const n={type:null,values:[]};if(t.node){n.type="node";for(let r=0,o=t.node.length;r<o;r++){const o=t.node[r];n.values.push(e.visit(o))}}if(t.use){n.type="use";for(let r=0,o=t.use.length;r<o;r++){const o=t.use[r];n.values.push(e.visit(o))}}if(t.StringLiteral){n.type="string";for(let e=0,r=t.StringLiteral.length;e<r;e++){const r=t.StringLiteral[e];n.values.push(r.image.replace(/'|"/g,""))}}if(t.NumberLiteral){n.type="number";for(let e=0,r=t.NumberLiteral.length;e<r;e++){const r=t.NumberLiteral[e];n.values.push(parseFloat(r.image))}}if(t.HexLiteral){n.type="hex";for(let e=0,r=t.HexLiteral.length;e<r;e++){const r=t.HexLiteral[e];n.values.push(r.image)}}if(t.TrueLiteral){n.type="boolean";for(let e=0,r=t.TrueLiteral.length;e<r;e++){"TRUE"===t.TrueLiteral[e].image&&n.values.push(!0)}}if(t.FalseLiteral){n.type="boolean";for(let e=0,r=t.FalseLiteral.length;e<r;e++){"FALSE"===t.FalseLiteral[e].image&&n.values.push(!1)}}return t.NullLiteral&&(n.type="null",t.NullLiteral.forEach((function(){n.values.push(null)}))),n}return t.prototype=Object.assign(Object.create(e.prototype),{constructor:t,vrml:function(e){const t={version:this.visit(e.version),nodes:[],routes:[]};for(let n=0,r=e.node.length;n<r;n++){const r=e.node[n];t.nodes.push(this.visit(r))}if(e.route)for(let n=0,r=e.route.length;n<r;n++){const r=e.route[n];t.routes.push(this.visit(r))}return t},version:function(e){return e.Version[0].image},node:function(e){const t={name:e.NodeName[0].image,fields:[]};if(e.field)for(let n=0,r=e.field.length;n<r;n++){const r=e.field[n];t.fields.push(this.visit(r))}return e.def&&(t.DEF=this.visit(e.def[0])),t},field:function(e){const t={name:e.Identifier[0].image,type:null,values:null};let n;return e.singleFieldValue&&(n=this.visit(e.singleFieldValue[0])),e.multiFieldValue&&(n=this.visit(e.multiFieldValue[0])),t.type=n.type,t.values=n.values,t},def:function(e){return(e.Identifier||e.NodeName)[0].image},use:function(e){return{USE:(e.Identifier||e.NodeName)[0].image}},singleFieldValue:function(e){return n(this,e)},multiFieldValue:function(e){return n(this,e)},route:function(e){return{FROM:e.RouteIdentifier[0].image,TO:e.RouteIdentifier[1].image}}}),new t}(s.getBaseCstVisitorConstructor()),i=a.lex(e);s.input=i.tokens;const c=s.vrml();if(s.errors.length>0)throw console.error(s.errors),Error("THREE.VRMLLoader: Parsing errors detected.");return l.visit(c)}(n))}}class r{constructor(e){this.lexer=new t.Lexer(e)}lex(e){const t=this.lexer.tokenize(e);if(t.errors.length>0)throw console.error(t.errors),Error("THREE.VRMLLexer: Lexing errors detected.");return t}}class o extends t.CstParser{constructor(e){super(e);const t=this,n=e.Version,r=e.LCurly,o=e.RCurly,a=e.LSquare,s=e.RSquare,l=e.Identifier,i=e.RouteIdentifier,c=e.StringLiteral,u=e.HexLiteral,f=e.NumberLiteral,d=e.TrueLiteral,p=e.FalseLiteral,h=e.NullLiteral,b=e.DEF,x=e.USE,m=e.ROUTE,g=e.TO,k=e.NodeName;t.RULE("vrml",(function(){t.SUBRULE(t.version),t.AT_LEAST_ONE((function(){t.SUBRULE(t.node)})),t.MANY((function(){t.SUBRULE(t.route)}))})),t.RULE("version",(function(){t.CONSUME(n)})),t.RULE("node",(function(){t.OPTION((function(){t.SUBRULE(t.def)})),t.CONSUME(k),t.CONSUME(r),t.MANY((function(){t.SUBRULE(t.field)})),t.CONSUME(o)})),t.RULE("field",(function(){t.CONSUME(l),t.OR2([{ALT:function(){t.SUBRULE(t.singleFieldValue)}},{ALT:function(){t.SUBRULE(t.multiFieldValue)}}])})),t.RULE("def",(function(){t.CONSUME(b),t.OR([{ALT:function(){t.CONSUME(l)}},{ALT:function(){t.CONSUME(k)}}])})),t.RULE("use",(function(){t.CONSUME(x),t.OR([{ALT:function(){t.CONSUME(l)}},{ALT:function(){t.CONSUME(k)}}])})),t.RULE("singleFieldValue",(function(){t.AT_LEAST_ONE((function(){t.OR([{ALT:function(){t.SUBRULE(t.node)}},{ALT:function(){t.SUBRULE(t.use)}},{ALT:function(){t.CONSUME(c)}},{ALT:function(){t.CONSUME(u)}},{ALT:function(){t.CONSUME(f)}},{ALT:function(){t.CONSUME(d)}},{ALT:function(){t.CONSUME(p)}},{ALT:function(){t.CONSUME(h)}}])}))})),t.RULE("multiFieldValue",(function(){t.CONSUME(a),t.MANY((function(){t.OR([{ALT:function(){t.SUBRULE(t.node)}},{ALT:function(){t.SUBRULE(t.use)}},{ALT:function(){t.CONSUME(c)}},{ALT:function(){t.CONSUME(u)}},{ALT:function(){t.CONSUME(f)}},{ALT:function(){t.CONSUME(h)}}])})),t.CONSUME(s)})),t.RULE("route",(function(){t.CONSUME(m),t.CONSUME(i),t.CONSUME(g),t.CONSUME2(i)})),this.performSelfAnalysis()}}class a{constructor(t,n,r){this.a=t,this.b=n,this.c=r,this.normal=new e.Vector3}}const s={INTENSITY:1,INTENSITY_ALPHA:2,RGB:3,RGBA:4};exports.VRMLLoader=n;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("./GLTFLoader.cjs.js");class t extends e.Loader{constructor(e){super(e),this.gltfLoader=new r.GLTFLoader(e)}load(e,r,t,o){const s=this;this.gltfLoader.load(e,(function(t){try{s.parse(t,r)}catch(r){o?o(r):console.error(r),s.manager.itemError(e)}}),t,o)}setDRACOLoader(e){return this.gltfLoader.setDRACOLoader(e),this}parse(e,r){r(e)}}exports.VRMLoader=t;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three"),e=require("fflate");class r extends t.Loader{constructor(t){super(t)}load(e,r,a,n){const s=this,i=new t.FileLoader(s.manager);i.setPath(s.path),i.setResponseType("arraybuffer"),i.setRequestHeader(s.requestHeader),i.setWithCredentials(s.withCredentials),i.load(e,(function(t){try{r(s.parse(t))}catch(t){n?n(t):console.error(t),s.manager.itemError(e)}}),a,n)}parse(r){function a(t,e){const r=t.length,a=new Float32Array(r+e.length);return a.set(t),a.set(e,r),a}var n=t.LoaderUtils.decodeText(new Uint8Array(r,0,250)).split("\n");return-1!==n[0].indexOf("xml")?function(r){function n(t){var e,r,a,n,s,i,o="undefined"!=typeof Uint8Array?Uint8Array:Array,l=[],f=[],u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",p=u.length;for(e=0;e<p;e++)l[e]=u[e];for(e=0;e<p;++e)f[u.charCodeAt(e)]=e;if(f["-".charCodeAt(0)]=62,f["_".charCodeAt(0)]=63,(p=t.length)%4>0)throw new Error("Invalid string. Length must be a multiple of 4");i=new o(3*p/4-(s="="===t[p-2]?2:"="===t[p-1]?1:0)),a=s>0?p-4:p;var A=0;for(e=0,r=0;e<a;e+=4,r+=3)n=f[t.charCodeAt(e)]<<18|f[t.charCodeAt(e+1)]<<12|f[t.charCodeAt(e+2)]<<6|f[t.charCodeAt(e+3)],i[A++]=(16711680&n)>>16,i[A++]=(65280&n)>>8,i[A++]=255&n;return 2===s?(n=f[t.charCodeAt(e)]<<2|f[t.charCodeAt(e+1)]>>4,i[A++]=255&n):1===s&&(n=f[t.charCodeAt(e)]<<10|f[t.charCodeAt(e+1)]<<4|f[t.charCodeAt(e+2)]>>2,i[A++]=n>>8&255,i[A++]=255&n),i}function s(t,r){var s,i,l,f,u=0;if("UInt64"===o.attributes.header_type?u=8:"UInt32"===o.attributes.header_type&&(u=4),"binary"===t.attributes.format&&r){var p,A,d,h,c,y;if("Float32"===t.attributes.type)var b=new Float32Array;else"Int64"===t.attributes.type&&(b=new Int32Array);A=(p=n(t["#text"]))[0];for(var x=1;x<u-1;x++)A|=p[x]<<x*u;for(h=(A+3)*u,y=h+=h%3>0?3-h%3:0,(c=[]).push(y),d=3*u,x=0;x<A;x++){for(var v=p[x*u+d],w=1;w<u-1;w++)v|=p[x*u+d+w]<<8*w;y+=v,c.push(y)}for(x=0;x<c.length-1;x++)I=e.unzlibSync(p.slice(c[x],c[x+1])).buffer,"Float32"===t.attributes.type?b=a(b,I=new Float32Array(I)):"Int64"===t.attributes.type&&(i=I=new Int32Array(I),l=void 0,f=void 0,l=(s=b).length,(f=new Int32Array(l+i.length)).set(s),f.set(i,l),b=f);delete t["#text"],"Int64"===t.attributes.type&&"binary"===t.attributes.format&&(b=b.filter((function(t,e){if(e%2!=1)return!0})))}else{if("binary"!==t.attributes.format||r)if(t["#text"])var I=t["#text"].split(/\s+/).filter((function(t){if(""!==t)return t}));else I=new Int32Array(0).buffer;else I=(I=n(t["#text"])).slice(u).buffer;delete t["#text"],"Float32"===t.attributes.type?b=new Float32Array(I):"Int32"===t.attributes.type?b=new Int32Array(I):"Int64"===t.attributes.type&&(b=new Int32Array(I),"binary"===t.attributes.format&&(b=b.filter((function(t,e){if(e%2!=1)return!0}))))}return b}var i=null;if(window.DOMParser)try{i=(new DOMParser).parseFromString(r,"text/xml")}catch(t){i=null}else{if(!window.ActiveXObject)throw new Error("Cannot parse xml string!");try{if((i=new ActiveXObject("Microsoft.XMLDOM")).async=!1,!i.loadXML())throw new Error(i.parseError.reason+i.parseError.srcText)}catch(t){i=null}}var o=function t(e){var r={};if(1===e.nodeType){if(e.attributes&&e.attributes.length>0){r.attributes={};for(var a=0;a<e.attributes.length;a++){var n=e.attributes.item(a);r.attributes[n.nodeName]=n.nodeValue.trim()}}}else 3===e.nodeType&&(r=e.nodeValue.trim());if(e.hasChildNodes())for(var s=0;s<e.childNodes.length;s++){var i=e.childNodes.item(s),o=i.nodeName;if(void 0===r[o])""!==(f=t(i))&&(r[o]=f);else{if(void 0===r[o].push){var l=r[o];r[o]=[l]}var f;""!==(f=t(i))&&r[o].push(f)}}return r}(i.documentElement),l=[],f=[],u=[];if(o.PolyData){for(var p=o.PolyData.Piece,A=o.attributes.hasOwnProperty("compressor"),d=["PointData","Points","Strips","Polys"],h=0,c=d.length;h<c;){var y=p[d[h]];if(y&&y.DataArray){if("[object Array]"===Object.prototype.toString.call(y.DataArray))var b=y.DataArray;else b=[y.DataArray];for(var x=0,v=b.length;x<v;)"#text"in b[x]&&b[x]["#text"].length>0&&(b[x].text=s(b[x],A)),x++;switch(d[h]){case"PointData":var w=parseInt(p.attributes.NumberOfPoints),I=y.attributes.Normals;if(w>0)for(var g=0,m=b.length;g<m;g++)if(I===b[g].attributes.Name){var O=b[g].attributes.NumberOfComponents;(f=new Float32Array(w*O)).set(b[g].text,0)}break;case"Points":(w=parseInt(p.attributes.NumberOfPoints))>0&&(O=y.DataArray.attributes.NumberOfComponents,(l=new Float32Array(w*O)).set(y.DataArray.text,0));break;case"Strips":var D=parseInt(p.attributes.NumberOfStrips);if(D>0){var F=new Int32Array(y.DataArray[0].text.length),T=new Int32Array(y.DataArray[1].text.length);F.set(y.DataArray[0].text,0),T.set(y.DataArray[1].text,0);var P=D+F.length;u=new Uint32Array(3*P-9*D);var S=0;for(g=0,m=D;g<m;g++){for(var C=[],N=0,L=T[g],E=0;N<L-E;N++)C.push(F[N]),g>0&&(E=T[g-1]);var U=0;for(L=T[g],E=0;U<L-E-2;U++)U%2?(u[S++]=C[U],u[S++]=C[U+2],u[S++]=C[U+1]):(u[S++]=C[U],u[S++]=C[U+1],u[S++]=C[U+2]),g>0&&(E=T[g-1])}}break;case"Polys":var B=parseInt(p.attributes.NumberOfPolys);if(B>0){F=new Int32Array(y.DataArray[0].text.length),T=new Int32Array(y.DataArray[1].text.length),F.set(y.DataArray[0].text,0),T.set(y.DataArray[1].text,0),P=B+F.length,u=new Uint32Array(3*P-9*B),S=0;var _=0;for(g=0,m=B,E=0;g<m;){var R=[];for(N=0,L=T[g];N<L-E;)R.push(F[_++]),N++;for(U=1;U<L-E-1;)u[S++]=R[0],u[S++]=R[U],u[S++]=R[U+1],U++;E=T[++g-1]}}}}h++}var M=new t.BufferGeometry;return M.setIndex(new t.BufferAttribute(u,1)),M.setAttribute("position",new t.BufferAttribute(l,3)),f.length===l.length&&M.setAttribute("normal",new t.BufferAttribute(f,3)),M}throw new Error("Unsupported DATASET type")}(t.LoaderUtils.decodeText(r)):n[2].includes("ASCII")?function(e){var r,a=[],n=[],s=[],i=[],o=/^[^\d.\s-]+/,l=/(\-?\d+\.?[\d\-\+e]*)\s+(\-?\d+\.?[\d\-\+e]*)\s+(\-?\d+\.?[\d\-\+e]*)/g,f=/^(\d+)\s+([\s\d]*)/,u=/^POINTS /,p=/^POLYGONS /,A=/^TRIANGLE_STRIPS /,d=/^POINT_DATA[ ]+(\d+)/,h=/^CELL_DATA[ ]+(\d+)/,c=/^COLOR_SCALARS[ ]+(\w+)[ ]+3/,y=/^NORMALS[ ]+(\w+)[ ]+(\w+)/,b=!1,x=!1,v=!1,w=!1,I=!1,g=!1,m=!1,O=e.split("\n");for(var D in O){var F=O[D].trim();if(0===F.indexOf("DATASET")){var T=F.split(" ")[1];if("POLYDATA"!==T)throw new Error("Unsupported DATASET type: "+T)}else if(b)for(;null!==(r=l.exec(F))&&null===o.exec(F);){var P=parseFloat(r[1]),S=parseFloat(r[2]),C=parseFloat(r[3]);n.push(P,S,C)}else if(x){if(null!==(r=f.exec(F))){var N=parseInt(r[1]),L=r[2].split(/\s+/);if(N>=3)for(var E=parseInt(L[0]),U=1,B=0;B<N-2;++B)_=parseInt(L[U]),R=parseInt(L[U+1]),a.push(E,_,R),U++}}else if(v){if(null!==(r=f.exec(F))){var _,R;if(N=parseInt(r[1]),L=r[2].split(/\s+/),N>=3)for(B=0;B<N-2;B++)B%2==1?(E=parseInt(L[B]),_=parseInt(L[B+2]),R=parseInt(L[B+1]),a.push(E,_,R)):(E=parseInt(L[B]),_=parseInt(L[B+1]),R=parseInt(L[B+2]),a.push(E,_,R))}}else if(w||I)if(g)for(;null!==(r=l.exec(F))&&null===o.exec(F);){var M=parseFloat(r[1]),G=parseFloat(r[2]),j=parseFloat(r[3]);s.push(M,G,j)}else if(m)for(;null!==(r=l.exec(F))&&null===o.exec(F);){var k=parseFloat(r[1]),q=parseFloat(r[2]),V=parseFloat(r[3]);i.push(k,q,V)}null!==p.exec(F)?(x=!0,b=!1,v=!1):null!==u.exec(F)?(x=!1,b=!0,v=!1):null!==A.exec(F)?(x=!1,b=!1,v=!0):null!==d.exec(F)?(w=!0,b=!1,x=!1,v=!1):null!==h.exec(F)?(I=!0,b=!1,x=!1,v=!1):null!==c.exec(F)?(g=!0,m=!1,b=!1,x=!1,v=!1):null!==y.exec(F)&&(m=!0,g=!1,b=!1,x=!1,v=!1)}var X=new t.BufferGeometry;if(X.setIndex(a),X.setAttribute("position",new t.Float32BufferAttribute(n,3)),i.length===n.length&&X.setAttribute("normal",new t.Float32BufferAttribute(i,3)),s.length!==a.length)s.length===n.length&&X.setAttribute("color",new t.Float32BufferAttribute(s,3));else{var Y=(X=X.toNonIndexed()).attributes.position.count/3;if(s.length===3*Y){var H=[];for(D=0;D<Y;D++)M=s[3*D+0],G=s[3*D+1],j=s[3*D+2],H.push(M,G,j),H.push(M,G,j),H.push(M,G,j);X.setAttribute("color",new t.Float32BufferAttribute(H,3))}}return X}(t.LoaderUtils.decodeText(r)):function(e){var r,a,n,s,i,o,l,f=new Uint8Array(e),u=new DataView(e),p=[],A=[],d=[],h=0;function c(t,e){for(var r=e,a=t[r],n=[];10!==a;)n.push(String.fromCharCode(a)),a=t[++r];return{start:e,end:r,next:r+1,parsedString:n.join("")}}for(;;){if(0===(l=(o=c(f,h)).parsedString).indexOf("DATASET")){var y=l.split(" ")[1];if("POLYDATA"!==y)throw new Error("Unsupported DATASET type: "+y)}else if(0===l.indexOf("POINTS")){for(r=4*(s=parseInt(l.split(" ")[1],10))*3,p=new Float32Array(3*s),a=o.next,n=0;n<s;n++)p[3*n]=u.getFloat32(a,!1),p[3*n+1]=u.getFloat32(a+4,!1),p[3*n+2]=u.getFloat32(a+8,!1),a+=12;o.next=o.next+r+1}else if(0===l.indexOf("TRIANGLE_STRIPS")){var b=parseInt(l.split(" ")[1],10);r=4*(g=parseInt(l.split(" ")[2],10)),d=new Uint32Array(3*g-9*b);var x=0;for(a=o.next,n=0;n<b;n++){var v=u.getInt32(a,!1),w=[];for(a+=4,i=0;i<v;i++)w.push(u.getInt32(a,!1)),a+=4;for(var I=0;I<v-2;I++)I%2?(d[x++]=w[I],d[x++]=w[I+2],d[x++]=w[I+1]):(d[x++]=w[I],d[x++]=w[I+1],d[x++]=w[I+2])}o.next=o.next+r+1}else if(0===l.indexOf("POLYGONS")){var g;for(b=parseInt(l.split(" ")[1],10),r=4*(g=parseInt(l.split(" ")[2],10)),d=new Uint32Array(3*g-9*b),x=0,a=o.next,n=0;n<b;n++){for(v=u.getInt32(a,!1),w=[],a+=4,i=0;i<v;i++)w.push(u.getInt32(a,!1)),a+=4;for(I=1;I<v-1;I++)d[x++]=w[0],d[x++]=w[I],d[x++]=w[I+1]}o.next=o.next+r+1}else if(0===l.indexOf("POINT_DATA")){for(s=parseInt(l.split(" ")[1],10),o=c(f,o.next),r=4*s*3,A=new Float32Array(3*s),a=o.next,n=0;n<s;n++)A[3*n]=u.getFloat32(a,!1),A[3*n+1]=u.getFloat32(a+4,!1),A[3*n+2]=u.getFloat32(a+8,!1),a+=12;o.next=o.next+r}if((h=o.next)>=f.byteLength)break}var m=new t.BufferGeometry;return m.setIndex(new t.BufferAttribute(d,1)),m.setAttribute("position",new t.BufferAttribute(p,3)),A.length===p.length&&m.setAttribute("normal",new t.BufferAttribute(A,3)),m}(r)}}exports.VTKLoader=r;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t,r,a,s,n,h=require("three"),o=(e=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},t=function(){function e(e,t){for(let a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,r,a){return r&&e(t.prototype,r),a&&e(t,a),t}}(),r=function t(){e(this,t),this.boneName="",this.BoneIndex=0,this.Indeces=[],this.Weights=[],this.initMatrix=null,this.OffsetMatrix=null},a=function t(){e(this,t),this.animeName="",this.boneName="",this.targetBone=null,this.keyType=4,this.frameStartLv=0,this.keyFrames=[],this.InverseMx=null},s=function(){function r(t){e(this,r),this.fps=30,this.name="xanimation",this.length=0,this.hierarchy=[],this.putFlags=t,void 0===this.putFlags.putPos&&(this.putFlags.putPos=!0),void 0===this.putFlags.putRot&&(this.putFlags.putRot=!0),void 0===this.putFlags.putScl&&(this.putFlags.putScl=!0)}return t(r,[{key:"make",value:function(e){for(let t=0;t<e.length;t++)this.hierarchy.push(this.makeBonekeys(e[t]));this.length=this.hierarchy[0].keys[this.hierarchy[0].keys.length-1].time}},{key:"clone",value:function(){return Object.assign({},this)}},{key:"makeBonekeys",value:function(e){var t={};return t.name=e.boneName,t.parent="",t.keys=this.keyFrameRefactor(e),t.copy=function(){return Object.assign({},this)},t}},{key:"keyFrameRefactor",value:function(e){var t=[];for(let a=0;a<e.keyFrames.length;a++){var r={};r.time=e.keyFrames[a].time*this.fps,e.keyFrames[a].pos&&this.putFlags.putPos&&(r.pos=e.keyFrames[a].pos),e.keyFrames[a].rot&&this.putFlags.putRot&&(r.rot=e.keyFrames[a].rot),e.keyFrames[a].scl&&this.putFlags.putScl&&(r.scl=e.keyFrames[a].scl),e.keyFrames[a].matrix&&(r.matrix=e.keyFrames[a].matrix,this.putFlags.putPos&&(r.pos=(new h.Vector3).setFromMatrixPosition(r.matrix)),this.putFlags.putRot&&(r.rot=(new h.Quaternion).setFromRotationMatrix(r.matrix)),this.putFlags.putScl&&(r.scl=(new h.Vector3).setFromMatrixScale(r.matrix))),t.push(r)}return t}}]),r}(),n=function t(){e(this,t),this.index=0,this.Frame=0,this.time=0,this.matrix=null},function(){function o(t){h.Loader.call(this,t),e(this,o),this.debug=!1,this.texloader=new h.TextureLoader(this.manager),this.url="",this._putMatLength=0,this._nowMat=null,this._nowFrameName="",this.frameHierarchie=[],this.Hierarchies={},this.HieStack=[],this._currentObject={},this._currentFrame={},this._data=null,this.onLoad=null,this.IsUvYReverse=!0,this.Meshes=[],this.animations=[],this.animTicksPerSecond=30,this._currentGeo=null,this._currentAnime=null,this._currentAnimeFrames=null}return t(o,[{key:"_setArgOption",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(e){for(let r=t;r<e.length;r++)switch(r){case 0:this.url=e[r];break;case 1:this.options=e[r]}void 0===this.options&&(this.options={})}}},{key:"load",value:function(e,t,r,a){var s=this;this._setArgOption(e);var i=new h.FileLoader(this.manager);i.setPath(this.path),i.setResponseType("arraybuffer"),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(this.url,(function(e){try{s.parse(e,t)}catch(e){a?a(e):console.error(e),s.manager.itemError(s.url)}}),r,a)}},{key:"_readLine",value:function(e){for(var t=0;;){var r=-1;if(-1===(r=e.indexOf("//",t))&&(r=e.indexOf("#",t)),!(r>-1&&r<2))break;var a=-1;t=(a=e.indexOf("\r\n",t))>0?a+2:(a=e.indexOf("\r",t))>0?a+1:e.indexOf("\n",t)+1}return e.substr(t)}},{key:"_readLine",value:function(e){for(var t=0;;){var r=-1;if(-1===(r=e.indexOf("//",t))&&(r=e.indexOf("#",t)),!(r>-1&&r<2))break;var a=-1;t=(a=e.indexOf("\r\n",t))>0?a+2:(a=e.indexOf("\r",t))>0?a+1:e.indexOf("\n",t)+1}return e.substr(t)}},{key:"_isBinary",value:function(e){var t=new DataView(e);if(84+50*t.getUint32(80,!0)===t.byteLength)return!0;var r=t.byteLength;for(let e=0;e<r;e++)if(t.getUint8(e,!1)>127)return!0;return!1}},{key:"_ensureBinary",value:function(e){if("string"==typeof e){var t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=255&e.charCodeAt(r);return t.buffer||t}return e}},{key:"_ensureString",value:function(e){return"string"!=typeof e?h.LoaderUtils.decodeText(new Uint8Array(e)):e}},{key:"parse",value:function(e,t){var r=this._ensureBinary(e);return this._data=this._ensureString(e),this.onLoad=t,this._isBinary(r)?this._parseBinary(r):this._parseASCII()}},{key:"_parseBinary",value:function(e){return this._parseASCII(h.LoaderUtils.decodeText(new Uint8Array(e)))}},{key:"_parseASCII",value:function(){var e;e=""!==this.resourcePath?this.resourcePath:""!==this.path?this.path:h.LoaderUtils.extractUrlBase(this.url),this.texloader.setPath(e).setCrossOrigin(this.crossOrigin),this.Hierarchies.children=[],this._hierarchieParse(this.Hierarchies,16),this._changeRoot(),this._currentObject=this.Hierarchies.children.shift(),this._mainloop()}},{key:"_hierarchieParse",value:function(e,t){for(var r=t;;){var a=this._data.indexOf("{",r)+1,s=this._data.indexOf("}",r),i=this._data.indexOf("{",a)+1;if(!(a>0&&s>a)){r=-1===a?this._data.length:s+1;break}var n={children:[]},h=this._readLine(this._data.substr(r,a-r-1)).trim(),o=h.split(/ /g);if(o.length>0?(n.type=o[0],o.length>=2?n.name=o[1]:n.name=o[0]+this.Hierarchies.children.length):(n.name=h,n.type=""),"Animation"===n.type){n.data=this._data.substr(i,s-i).trim();var c=this._hierarchieParse(n,s+1);r=c.end,n.children=c.parent.children}else{var u=this._data.lastIndexOf(";",i>0?Math.min(i,s):s);if(n.data=this._data.substr(a,u-a).trim(),i<=0||s<i)r=s+1;else{var l=Math.max(u+1,a),m=this._hierarchieParse(n,l);r=m.end,n.children=m.parent.children}}n.parent=e,"template"!=n.type&&e.children.push(n)}return{parent:e,end:r}}},{key:"_mainloop",value:function(){var e=this;this._mainProc(),this._currentObject.parent||this._currentObject.children.length>0||!this._currentObject.worked?setTimeout((function(){e._mainloop()}),1):setTimeout((function(){e.onLoad({models:e.Meshes,animations:e.animations})}),1)}},{key:"_mainProc",value:function(){for(var e=!1;;){if(!this._currentObject.worked){switch(this._currentObject.type){case"template":break;case"AnimTicksPerSecond":this.animTicksPerSecond=parseInt(this._currentObject.data);break;case"Frame":this._setFrame();break;case"FrameTransformMatrix":this._setFrameTransformMatrix();break;case"Mesh":this._changeRoot(),this._currentGeo={},this._currentGeo.name=this._currentObject.name.trim(),this._currentGeo.parentName=this._getParentName(this._currentObject).trim(),this._currentGeo.VertexSetedBoneCount=[],this._currentGeo.GeometryData={vertices:[],normals:[],uvs:[],skinIndices:[],skinWeights:[],indices:[],materialIndices:[]},this._currentGeo.Materials=[],this._currentGeo.normalVectors=[],this._currentGeo.BoneInfs=[],this._currentGeo.baseFrame=this._currentFrame,this._makeBoneFrom_CurrentFrame(),this._readVertexDatas(),e=!0;break;case"MeshNormals":this._readVertexDatas();break;case"MeshTextureCoords":this._setMeshTextureCoords();break;case"VertexDuplicationIndices":break;case"MeshMaterialList":this._setMeshMaterialList();break;case"Material":this._setMaterial();break;case"SkinWeights":this._setSkinWeights();break;case"AnimationSet":this._changeRoot(),this._currentAnime={},this._currentAnime.name=this._currentObject.name.trim(),this._currentAnime.AnimeFrames=[];break;case"Animation":this._currentAnimeFrames&&this._currentAnime.AnimeFrames.push(this._currentAnimeFrames),this._currentAnimeFrames=new a,this._currentAnimeFrames.boneName=this._currentObject.data.trim();break;case"AnimationKey":this._readAnimationKey(),e=!0}this._currentObject.worked=!0}if(this._currentObject.children.length>0){if(this._currentObject=this._currentObject.children.shift(),this.debug&&console.log("processing "+this._currentObject.name),e)break}else if(this._currentObject.worked&&this._currentObject.parent&&!this._currentObject.parent.parent&&this._changeRoot(),this._currentObject.parent?this._currentObject=this._currentObject.parent:e=!0,e)break}}},{key:"_changeRoot",value:function(){null!=this._currentGeo&&this._currentGeo.name&&this._makeOutputGeometry(),this._currentGeo={},null!=this._currentAnime&&this._currentAnime.name&&(this._currentAnimeFrames&&(this._currentAnime.AnimeFrames.push(this._currentAnimeFrames),this._currentAnimeFrames=null),this._makeOutputAnimation()),this._currentAnime={}}},{key:"_getParentName",value:function(e){return e.parent?e.parent.name?e.parent.name:this._getParentName(e.parent):""}},{key:"_setFrame",value:function(){this._nowFrameName=this._currentObject.name.trim(),this._currentFrame={},this._currentFrame.name=this._nowFrameName,this._currentFrame.children=[],this._currentObject.parent&&this._currentObject.parent.name&&(this._currentFrame.parentName=this._currentObject.parent.name),this.frameHierarchie.push(this._nowFrameName),this.HieStack[this._nowFrameName]=this._currentFrame}},{key:"_setFrameTransformMatrix",value:function(){this._currentFrame.FrameTransformMatrix=new h.Matrix4;var e=this._currentObject.data.split(",");this._ParseMatrixData(this._currentFrame.FrameTransformMatrix,e),this._makeBoneFrom_CurrentFrame()}},{key:"_makeBoneFrom_CurrentFrame",value:function(){if(this._currentFrame.FrameTransformMatrix){var e=new h.Bone;if(e.name=this._currentFrame.name,e.applyMatrix4(this._currentFrame.FrameTransformMatrix),e.matrixWorld=e.matrix,e.FrameTransformMatrix=this._currentFrame.FrameTransformMatrix,this._currentFrame.putBone=e,this._currentFrame.parentName)for(let e in this.HieStack)this.HieStack[e].name===this._currentFrame.parentName&&this.HieStack[e].putBone.add(this._currentFrame.putBone)}}},{key:"_readVertexDatas",value:function(){for(var e=0,t=0,r=0,a=0;;){var s=!1;if(0===r)e=this._readInt1(e).endRead,r=1,(a=this._currentObject.data.indexOf(";;",e)+1)<=0&&(a=this._currentObject.data.length);else{var i=0;switch(t){case 0:i=this._currentObject.data.indexOf(",",e)+1;break;case 1:i=this._currentObject.data.indexOf(";,",e)+1}switch((0===i||i>a)&&(i=a,r=0,s=!0),this._currentObject.type){case"Mesh":switch(t){case 0:this._readVertex1(this._currentObject.data.substr(e,i-e));break;case 1:this._readFace1(this._currentObject.data.substr(e,i-e))}break;case"MeshNormals":switch(t){case 0:this._readNormalVector1(this._currentObject.data.substr(e,i-e))}}e=i+1,s&&t++}if(e>=this._currentObject.data.length)break}}},{key:"_readInt1",value:function(e){var t=this._currentObject.data.indexOf(";",e);return{refI:parseInt(this._currentObject.data.substr(e,t-e)),endRead:t+1}}},{key:"_readVertex1",value:function(e){var t=this._readLine(e.trim()).substr(0,e.length-2).split(";");this._currentGeo.GeometryData.vertices.push(parseFloat(t[0]),parseFloat(t[1]),parseFloat(t[2])),this._currentGeo.GeometryData.skinIndices.push(0,0,0,0),this._currentGeo.GeometryData.skinWeights.push(1,0,0,0),this._currentGeo.VertexSetedBoneCount.push(0)}},{key:"_readFace1",value:function(e){var t=this._readLine(e.trim()).substr(2,e.length-4).split(",");this._currentGeo.GeometryData.indices.push(parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10))}},{key:"_readNormalVector1",value:function(e){var t=this._readLine(e.trim()).substr(0,e.length-2).split(";");this._currentGeo.GeometryData.normals.push(parseFloat(t[0]),parseFloat(t[1]),parseFloat(t[2]))}},{key:"_buildGeometry",value:function(){var e=new h.BufferGeometry,t=[],r=[],a=[],s=[],i=[],n=this._currentGeo.GeometryData;for(let e=0,h=n.indices.length;e<h;e++){var o=2*n.indices[e],c=3*n.indices[e],u=4*n.indices[e];t.push(n.vertices[c],n.vertices[c+1],n.vertices[c+2]),r.push(n.normals[c],n.normals[c+1],n.normals[c+2]),s.push(n.skinIndices[u],n.skinIndices[u+1],n.skinIndices[u+2],n.skinIndices[u+3]),i.push(n.skinWeights[u],n.skinWeights[u+1],n.skinWeights[u+2],n.skinWeights[u+3]),a.push(n.uvs[o],n.uvs[o+1])}return e.setAttribute("position",new h.Float32BufferAttribute(t,3)),e.setAttribute("normal",new h.Float32BufferAttribute(r,3)),e.setAttribute("uv",new h.Float32BufferAttribute(a,2)),e.setAttribute("skinIndex",new h.Uint16BufferAttribute(s,4)),e.setAttribute("skinWeight",new h.Float32BufferAttribute(i,4)),this._computeGroups(e,n.materialIndices),e}},{key:"_computeGroups",value:function(e,t){var r,a=[],s=void 0;for(let e=0;e<t.length;e++){var n=t[e];n!==s&&(s=n,void 0!==r&&(r.count=3*e-r.start,a.push(r)),r={start:3*e,materialIndex:s})}void 0!==r&&(r.count=3*i-r.start,a.push(r)),e.groups=a}},{key:"_setMeshTextureCoords",value:function(){for(var e=0,t=0,r=0;;){switch(t){case 0:if(0===r)e=this._readInt1(0).endRead,r=1;else{var a=this._currentObject.data.indexOf(",",e)+1;0===a&&(a=this._currentObject.data.length,t=2,r=0);var s=this._currentObject.data.substr(e,a-e),i=this._readLine(s.trim()).split(";");this.IsUvYReverse?this._currentGeo.GeometryData.uvs.push(parseFloat(i[0]),1-parseFloat(i[1])):this._currentGeo.GeometryData.uvs.push(parseFloat(i[0]),parseFloat(i[1])),e=a+1}}if(e>=this._currentObject.data.length)break}}},{key:"_setMeshMaterialList",value:function(){for(var e=0,t=0,r=0;;){if(r<2)e=this._readInt1(e).endRead,r++;else{var a=this._currentObject.data.indexOf(";",e);-1===a&&(a=this._currentObject.data.length,t=3,r=0);var s=this._currentObject.data.substr(e,a-e),i=this._readLine(s.trim()).split(",");for(let e=0;e<i.length;e++)this._currentGeo.GeometryData.materialIndices[e]=parseInt(i[e]);e=this._currentObject.data.length}if(e>=this._currentObject.data.length||t>=3)break}}},{key:"_setMaterial",value:function(){var e=new h.MeshPhongMaterial({color:16777215*Math.random()});e.side=h.FrontSide,e.name=this._currentObject.name;var t=0,r=this._currentObject.data.indexOf(";;",t),a=this._currentObject.data.substr(t,r-t),s=this._readLine(a.trim()).split(";");e.color.r=parseFloat(s[0]),e.color.g=parseFloat(s[1]),e.color.b=parseFloat(s[2]),t=r+2,r=this._currentObject.data.indexOf(";",t),a=this._currentObject.data.substr(t,r-t),e.shininess=parseFloat(this._readLine(a)),t=r+1,r=this._currentObject.data.indexOf(";;",t),a=this._currentObject.data.substr(t,r-t);var i=this._readLine(a.trim()).split(";");e.specular.r=parseFloat(i[0]),e.specular.g=parseFloat(i[1]),e.specular.b=parseFloat(i[2]),t=r+2,-1===(r=this._currentObject.data.indexOf(";;",t))&&(r=this._currentObject.data.length),a=this._currentObject.data.substr(t,r-t);var n=this._readLine(a.trim()).split(";");e.emissive.r=parseFloat(n[0]),e.emissive.g=parseFloat(n[1]),e.emissive.b=parseFloat(n[2]);for(var o=null;this._currentObject.children.length>0;){o=this._currentObject.children.shift(),this.debug&&console.log("processing "+o.name);var c=o.data.substr(1,o.data.length-2);switch(o.type){case"TextureFilename":e.map=this.texloader.load(c);break;case"BumpMapFilename":e.bumpMap=this.texloader.load(c),e.bumpScale=.05;break;case"NormalMapFilename":e.normalMap=this.texloader.load(c),e.normalScale=new h.Vector2(2,2);break;case"EmissiveMapFilename":e.emissiveMap=this.texloader.load(c);break;case"LightMapFilename":e.lightMap=this.texloader.load(c)}}this._currentGeo.Materials.push(e)}},{key:"_setSkinWeights",value:function(){var e=new r,t=0,a=this._currentObject.data.indexOf(";",t),s=this._currentObject.data.substr(t,a-t);t=a+1,e.boneName=s.substr(1,s.length-2),e.BoneIndex=this._currentGeo.BoneInfs.length,t=(a=this._currentObject.data.indexOf(";",t))+1,a=this._currentObject.data.indexOf(";",t),s=this._currentObject.data.substr(t,a-t);var i=this._readLine(s.trim()).split(",");for(let t=0;t<i.length;t++)e.Indeces.push(parseInt(i[t]));t=a+1,a=this._currentObject.data.indexOf(";",t),s=this._currentObject.data.substr(t,a-t);var n=this._readLine(s.trim()).split(",");for(let t=0;t<n.length;t++)e.Weights.push(parseFloat(n[t]));t=a+1,(a=this._currentObject.data.indexOf(";",t))<=0&&(a=this._currentObject.data.length),s=this._currentObject.data.substr(t,a-t);var o=this._readLine(s.trim()).split(",");e.OffsetMatrix=new h.Matrix4,this._ParseMatrixData(e.OffsetMatrix,o),this._currentGeo.BoneInfs.push(e)}},{key:"_makePutBoneList",value:function(e,t){var r=!1;for(let s in this.HieStack)if(this.HieStack[s].name===e||r){r=!0;var a=new h.Bone;if(a.name=this.HieStack[s].name,a.applyMatrix4(this.HieStack[s].FrameTransformMatrix),a.matrixWorld=a.matrix,a.FrameTransformMatrix=this.HieStack[s].FrameTransformMatrix,a.pos=(new h.Vector3).setFromMatrixPosition(a.FrameTransformMatrix).toArray(),a.rotq=(new h.Quaternion).setFromRotationMatrix(a.FrameTransformMatrix).toArray(),a.scl=(new h.Vector3).setFromMatrixScale(a.FrameTransformMatrix).toArray(),this.HieStack[s].parentName&&this.HieStack[s].parentName.length>0)for(let e=0;e<t.length;e++)if(this.HieStack[s].parentName===t[e].name){t[e].add(a),a.parent=e;break}t.push(a)}}},{key:"_makeOutputGeometry",value:function(){var e=null;if(this._currentGeo.BoneInfs.length>0){var t=[];this._makePutBoneList(this._currentGeo.baseFrame.parentName,t);for(let e=0;e<this._currentGeo.BoneInfs.length;e++){var r=0;for(let a=0;a<t.length;a++)if(t[a].name===this._currentGeo.BoneInfs[e].boneName){r=a,t[a].OffsetMatrix=new h.Matrix4,t[a].OffsetMatrix.copy(this._currentGeo.BoneInfs[e].OffsetMatrix);break}for(let t=0;t<this._currentGeo.BoneInfs[e].Indeces.length;t++){var a=this._currentGeo.BoneInfs[e].Indeces[t],s=this._currentGeo.BoneInfs[e].Weights[t],i=4*a;switch(this._currentGeo.VertexSetedBoneCount[a]){case 0:this._currentGeo.GeometryData.skinIndices[i]=r,this._currentGeo.GeometryData.skinWeights[i]=s;break;case 1:this._currentGeo.GeometryData.skinIndices[i+1]=r,this._currentGeo.GeometryData.skinWeights[i+1]=s;break;case 2:this._currentGeo.GeometryData.skinIndices[i+2]=r,this._currentGeo.GeometryData.skinWeights[i+2]=s;break;case 3:this._currentGeo.GeometryData.skinIndices[i+3]=r,this._currentGeo.GeometryData.skinWeights[i+3]=s}this._currentGeo.VertexSetedBoneCount[a]++,this._currentGeo.VertexSetedBoneCount[a]>4&&console.log("warn! over 4 bone weight! :"+a)}}for(let e=0;e<this._currentGeo.Materials.length;e++)this._currentGeo.Materials[e].skinning=!0;var n=[];for(let e=0;e<t.length;e++)t[e].OffsetMatrix?n.push(t[e].OffsetMatrix):n.push(new h.Matrix4);var o=this._buildGeometry();e=new h.SkinnedMesh(o,1===this._currentGeo.Materials.length?this._currentGeo.Materials[0]:this._currentGeo.Materials),this._initSkeleton(e,t,n)}else{var c=this._buildGeometry();e=new h.Mesh(c,1===this._currentGeo.Materials.length?this._currentGeo.Materials[0]:this._currentGeo.Materials)}e.name=this._currentGeo.name;var u=new h.Matrix4,l=this._currentGeo.baseFrame.putBone;if(l&&l.parent){for(;l=l.parent;)u.multiply(l.FrameTransformMatrix);e.applyMatrix4(u)}this.Meshes.push(e)}},{key:"_initSkeleton",value:function(e,t,r){var a,s,i,n,o=[];for(i=0,n=t.length;i<n;i++)s=t[i],a=new h.Bone,o.push(a),a.name=s.name,a.position.fromArray(s.pos),a.quaternion.fromArray(s.rotq),void 0!==s.scl&&a.scale.fromArray(s.scl);for(i=0,n=t.length;i<n;i++)-1!==(s=t[i]).parent&&null!==s.parent&&void 0!==o[s.parent]?o[s.parent].add(o[i]):e.add(o[i]);e.updateMatrixWorld(!0);var c=new h.Skeleton(o,r);e.bind(c,e.matrixWorld)}},{key:"_readAnimationKey",value:function(){var e=0,t=this._currentObject.data.indexOf(";",e),r=this._currentObject.data.substr(e,t-e);e=t+1;var a=parseInt(this._readLine(r));e=(t=this._currentObject.data.indexOf(";",e))+1,r=this._currentObject.data.substr(e);var s=this._readLine(r.trim()).split(";;,");for(let e=0;e<s.length;e++){var i=s[e].split(";"),o=new n;if(o.type=a,o.Frame=parseInt(i[0]),o.index=this._currentAnimeFrames.keyFrames.length,o.time=o.Frame,4!=a){var c=!1;for(let e=0;e<this._currentAnimeFrames.keyFrames.length;e++)if(this._currentAnimeFrames.keyFrames[e].Frame===o.Frame){o=this._currentAnimeFrames.keyFrames[e],c=!0;break}var u=i[2].split(",");switch(a){case 0:o.rot=new h.Quaternion(parseFloat(u[1]),parseFloat(u[2]),parseFloat(u[3]),-1*parseFloat(u[0]));break;case 1:o.scl=new h.Vector3(parseFloat(u[0]),parseFloat(u[1]),parseFloat(u[2]));break;case 2:o.pos=new h.Vector3(parseFloat(u[0]),parseFloat(u[1]),parseFloat(u[2]))}c||this._currentAnimeFrames.keyFrames.push(o)}else o.matrix=new h.Matrix4,this._ParseMatrixData(o.matrix,i[2].split(",")),this._currentAnimeFrames.keyFrames.push(o)}}},{key:"_makeOutputAnimation",value:function(){var e=new s(this.options);e.fps=this.animTicksPerSecond,e.name=this._currentAnime.name,e.make(this._currentAnime.AnimeFrames),this.animations.push(e)}},{key:"assignAnimation",value:function(e,t){var r=e,a=t;if(r||(r=this.Meshes[0]),a||(a=this.animations[0]),!r||!a)return null;var s={};s.fps=a.fps,s.name=a.name,s.length=a.length,s.hierarchy=[];for(let e=0;e<r.skeleton.bones.length;e++){var i=!1;for(let t=0;t<a.hierarchy.length;t++)if(r.skeleton.bones[e].name===a.hierarchy[t].name){i=!0;var n=a.hierarchy[t].copy();if(n.parent=-1,r.skeleton.bones[e].parent&&"Bone"===r.skeleton.bones[e].parent.type)for(let t=0;t<s.hierarchy.length;t++)s.hierarchy[t].name===r.skeleton.bones[e].parent.name&&(n.parent=t,n.parentName=r.skeleton.bones[e].parent.name);s.hierarchy.push(n);break}if(!i){var o=a.hierarchy[0].copy();o.name=r.skeleton.bones[e].name,o.parent=-1;for(let e=0;e<o.keys.length;e++)o.keys[e].pos&&o.keys[e].pos.set(0,0,0),o.keys[e].scl&&o.keys[e].scl.set(1,1,1),o.keys[e].rot&&o.keys[e].rot.set(0,0,0,1);s.hierarchy.push(o)}}return r.geometry.animations||(r.geometry.animations=[]),r.geometry.animations.push(h.AnimationClip.parseAnimation(s,r.skeleton.bones)),r.animationMixer||(r.animationMixer=new h.AnimationMixer(r)),s}},{key:"_ParseMatrixData",value:function(e,t){e.set(parseFloat(t[0]),parseFloat(t[4]),parseFloat(t[8]),parseFloat(t[12]),parseFloat(t[1]),parseFloat(t[5]),parseFloat(t[9]),parseFloat(t[13]),parseFloat(t[2]),parseFloat(t[6]),parseFloat(t[10]),parseFloat(t[14]),parseFloat(t[3]),parseFloat(t[7]),parseFloat(t[11]),parseFloat(t[15]))}}]),o}());exports.XLoader=o;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");class t extends e.Loader{load(t,r,s,a){const o=this,l=new e.FileLoader(this.manager);l.setPath(this.path),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(t,(function(e){try{r(o.parse(e))}catch(e){a?a(e):console.error(e),o.manager.itemError(t)}}),s,a)}parse(t){const r=t.split("\n"),s=[],a=[];for(let e of r){if(e=e.trim(),"#"===e.charAt(0))continue;const t=e.split(/\s+/);3===t.length&&(s.push(parseFloat(t[0])),s.push(parseFloat(t[1])),s.push(parseFloat(t[2]))),6===t.length&&(s.push(parseFloat(t[0])),s.push(parseFloat(t[1])),s.push(parseFloat(t[2])),a.push(parseFloat(t[3])/255),a.push(parseFloat(t[4])/255),a.push(parseFloat(t[5])/255))}const o=new e.BufferGeometry;return o.setAttribute("position",new e.Float32BufferAttribute(s,3)),a.length>0&&o.setAttribute("color",new e.Float32BufferAttribute(a,3)),o}}exports.XYZLoader=t;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("./LWO2Parser.cjs.js"),r=require("./LWO3Parser.cjs.js");function s(){this.debugger=new a}function i(e){this.dv=new DataView(e),this.offset=0}function a(){this.active=!1,this.depth=0,this.formList=[]}function h(e){return e%2}function n(e){return e.length+1+(h(e.length+1)?1:0)}s.prototype={constructor:s,parse:function(e){if(this.reader=new i(e),this.tree={materials:{},layers:[],tags:[],textures:[]},this.currentLayer=this.tree,this.currentForm=this.tree,this.parseTopForm(),void 0!==this.tree.format){if("LWO2"===this.tree.format)for(this.parser=new t.LWO2Parser(this);!this.reader.endOfFile();)this.parser.parseBlock();else if("LWO3"===this.tree.format)for(this.parser=new r.LWO3Parser(this);!this.reader.endOfFile();)this.parser.parseBlock();return this.debugger.offset=this.reader.offset,this.debugger.closeForms(),this.tree}},parseTopForm(){if(this.debugger.offset=this.reader.offset,"FORM"===this.reader.getIDTag()){var e=this.reader.getUint32();this.debugger.dataOffset=this.reader.offset,this.debugger.length=e;var t=this.reader.getIDTag();("LWO2"===t||"LWO3"===t)&&(this.tree.format=t),this.debugger.node=0,this.debugger.nodeID=t,this.debugger.log()}else console.warn("LWOLoader: Top-level FORM missing.")},parseForm(e){var t=this.reader.getIDTag();switch(t){case"ISEQ":case"ANIM":case"STCC":case"VPVL":case"VPRM":case"NROT":case"WRPW":case"WRPH":case"FUNC":case"FALL":case"OPAC":case"GRAD":case"ENVS":case"VMOP":case"VMBG":case"OMAX":case"STEX":case"CKBG":case"CKEY":case"VMLA":case"VMLB":this.debugger.skipped=!0,this.skipForm(e);break;case"META":case"NNDS":case"NODS":case"NDTA":case"ADAT":case"AOVS":case"BLOK":case"IBGC":case"IOPC":case"IIMG":case"TXTR":this.debugger.length=4,this.debugger.skipped=!0;break;case"IFAL":case"ISCL":case"IPOS":case"IROT":case"IBMP":case"IUTD":case"IVTD":this.parseTextureNodeAttribute(t);break;case"ENVL":this.parseEnvelope(e);break;case"CLIP":"LWO2"===this.tree.format?this.parseForm(e):this.parseClip(e);break;case"STIL":this.parseImage();break;case"XREF":this.reader.skip(8),this.currentForm.referenceTexture={index:this.reader.getUint32(),refName:this.reader.getString()};break;case"IMST":this.parseImageStateForm(e);break;case"SURF":this.parseSurfaceForm(e);break;case"VALU":this.parseValueForm(e);break;case"NTAG":this.parseSubNode(e);break;case"ATTR":case"SATR":this.setupForm("attributes",e);break;case"NCON":this.parseConnections(e);break;case"SSHA":this.parentForm=this.currentForm,this.currentForm=this.currentSurface,this.setupForm("surfaceShader",e);break;case"SSHD":this.setupForm("surfaceShaderData",e);break;case"ENTR":this.parseEntryForm(e);break;case"IMAP":this.parseImageMap(e);break;case"TAMP":this.parseXVAL("amplitude",e);break;case"TMAP":this.setupForm("textureMap",e);break;case"CNTR":this.parseXVAL3("center",e);break;case"SIZE":this.parseXVAL3("scale",e);break;case"ROTA":this.parseXVAL3("rotation",e);break;default:this.parseUnknownForm(t,e)}this.debugger.node=0,this.debugger.nodeID=t,this.debugger.log()},setupForm(e,t){this.currentForm||(this.currentForm=this.currentNode),this.currentFormEnd=this.reader.offset+t,this.parentForm=this.currentForm,this.currentForm[e]?(console.warn("LWOLoader: form already exists on parent: ",e,this.currentForm),this.currentForm=this.currentForm[e]):(this.currentForm[e]={},this.currentForm=this.currentForm[e])},skipForm(e){this.reader.skip(e-4)},parseUnknownForm(t,r){var s,i,a;console.warn("LWOLoader: unknown FORM encountered: "+t,r),s=this.reader.dv.buffer,i=this.reader.offset,a=r-4,console.log(e.LoaderUtils.decodeText(new Uint8Array(s,i,a))),this.reader.skip(r-4)},parseSurfaceForm(e){this.reader.skip(8);var t=this.reader.getString(),r={attributes:{},connections:{},name:t,inputName:t,nodes:{},source:this.reader.getString()};this.tree.materials[t]=r,this.currentSurface=r,this.parentForm=this.tree.materials,this.currentForm=r,this.currentFormEnd=this.reader.offset+e},parseSurfaceLwo2(e){var t=this.reader.getString(),r={attributes:{},connections:{},name:t,nodes:{},source:this.reader.getString()};this.tree.materials[t]=r,this.currentSurface=r,this.parentForm=this.tree.materials,this.currentForm=r,this.currentFormEnd=this.reader.offset+e},parseSubNode(e){this.reader.skip(8);var t={name:this.reader.getString()};this.currentForm=t,this.currentNode=t,this.currentFormEnd=this.reader.offset+e},parseConnections(e){this.currentFormEnd=this.reader.offset+e,this.parentForm=this.currentForm,this.currentForm=this.currentSurface.connections},parseEntryForm(e){this.reader.skip(8);var t=this.reader.getString();this.currentForm=this.currentNode.attributes,this.setupForm(t,e)},parseValueForm(){this.reader.skip(8);var e=this.reader.getString();"double"===e?this.currentForm.value=this.reader.getUint64():"int"===e?this.currentForm.value=this.reader.getUint32():"vparam"===e?(this.reader.skip(24),this.currentForm.value=this.reader.getFloat64()):"vparam3"===e&&(this.reader.skip(24),this.currentForm.value=this.reader.getFloat64Array(3))},parseImageStateForm(){this.reader.skip(8),this.currentForm.mipMapLevel=this.reader.getFloat32()},parseImageMap(e){this.currentFormEnd=this.reader.offset+e,this.parentForm=this.currentForm,this.currentForm.maps||(this.currentForm.maps=[]);var t={};this.currentForm.maps.push(t),this.currentForm=t,this.reader.skip(10)},parseTextureNodeAttribute(e){switch(this.reader.skip(28),this.reader.skip(20),e){case"ISCL":this.currentNode.scale=this.reader.getFloat32Array(3);break;case"IPOS":this.currentNode.position=this.reader.getFloat32Array(3);break;case"IROT":this.currentNode.rotation=this.reader.getFloat32Array(3);break;case"IFAL":this.currentNode.falloff=this.reader.getFloat32Array(3);break;case"IBMP":this.currentNode.amplitude=this.reader.getFloat32();break;case"IUTD":this.currentNode.uTiles=this.reader.getFloat32();break;case"IVTD":this.currentNode.vTiles=this.reader.getFloat32()}this.reader.skip(2)},parseEnvelope(e){this.reader.skip(e-4)},parseClip(e){if("FORM"===this.reader.getIDTag())return this.reader.skip(16),void(this.currentNode.fileName=this.reader.getString());this.reader.setOffset(this.reader.offset-4),this.currentFormEnd=this.reader.offset+e,this.parentForm=this.currentForm,this.reader.skip(8);var t={index:this.reader.getUint32()};this.tree.textures.push(t),this.currentForm=t},parseClipLwo2(e){for(var t={index:this.reader.getUint32(),fileName:""};;){var r=this.reader.getIDTag(),s=this.reader.getUint16();if("STIL"===r){t.fileName=this.reader.getString();break}if(s>=e)break}this.tree.textures.push(t),this.currentForm=t},parseImage(){this.reader.skip(8),this.currentForm.fileName=this.reader.getString()},parseXVAL(e,t){var r=this.reader.offset+t-4;this.reader.skip(8),this.currentForm[e]=this.reader.getFloat32(),this.reader.setOffset(r)},parseXVAL3(e,t){var r=this.reader.offset+t-4;this.reader.skip(8),this.currentForm[e]={x:this.reader.getFloat32(),y:this.reader.getFloat32(),z:this.reader.getFloat32()},this.reader.setOffset(r)},parseObjectTag(){this.tree.objectTags||(this.tree.objectTags={}),this.tree.objectTags[this.reader.getIDTag()]={tagString:this.reader.getString()}},parseLayer(e){var t={number:this.reader.getUint16(),flags:this.reader.getUint16(),pivot:this.reader.getFloat32Array(3),name:this.reader.getString()};this.tree.layers.push(t),this.currentLayer=t;var r=16+n(this.currentLayer.name);this.currentLayer.parent=r<e?this.reader.getUint16():-1},parsePoints(e){this.currentPoints=[];for(let t=0;t<e/4;t+=3)this.currentPoints.push(this.reader.getFloat32(),this.reader.getFloat32(),-this.reader.getFloat32())},parseVertexMapping(e,t){var r=this.reader.offset+e,s=this.reader.getString();if(this.reader.offset!==r){this.reader.setOffset(this.reader.offset-n(s));var i=this.reader.getIDTag();this.reader.getUint16();var a=this.reader.getString(),h=e-6-n(a);switch(i){case"TXUV":this.parseUVMapping(a,r,t);break;case"MORF":case"SPOT":this.parseMorphTargets(a,r,i);break;case"APSL":case"NORM":case"WGHT":case"MNVW":case"PICK":case"RGB ":case"RGBA":this.reader.skip(h);break;default:console.warn("LWOLoader: unknown vertex map type: "+i),this.reader.skip(h)}}else this.currentForm.UVChannel=s},parseUVMapping(e,t,r){for(var s=[],i=[],a=[];this.reader.offset<t;)s.push(this.reader.getVariableLengthIndex()),r&&i.push(this.reader.getVariableLengthIndex()),a.push(this.reader.getFloat32(),this.reader.getFloat32());r?(this.currentLayer.discontinuousUVs||(this.currentLayer.discontinuousUVs={}),this.currentLayer.discontinuousUVs[e]={uvIndices:s,polyIndices:i,uvs:a}):(this.currentLayer.uvs||(this.currentLayer.uvs={}),this.currentLayer.uvs[e]={uvIndices:s,uvs:a})},parseMorphTargets(e,t,r){var s=[],i=[];for(r="MORF"===r?"relative":"absolute";this.reader.offset<t;)s.push(this.reader.getVariableLengthIndex()),i.push(this.reader.getFloat32(),this.reader.getFloat32(),-this.reader.getFloat32());this.currentLayer.morphTargets||(this.currentLayer.morphTargets={}),this.currentLayer.morphTargets[e]={indices:s,points:i,type:r}},parsePolygonList(e){for(var t=this.reader.offset+e,r=this.reader.getIDTag(),s=[],i=[];this.reader.offset<t;){var a=this.reader.getUint16();a&=1023,i.push(a);for(let e=0;e<a;e++)s.push(this.reader.getVariableLengthIndex())}var h={type:r,vertexIndices:s,polygonDimensions:i,points:this.currentPoints};1===i[0]?h.type="points":2===i[0]&&(h.type="lines"),this.currentLayer.geometry=h},parseTagStrings(e){this.tree.tags=this.reader.getStringArray(e)},parsePolygonTagMapping(e){var t=this.reader.offset+e;"SURF"===this.reader.getIDTag()?this.parseMaterialIndices(t):this.reader.skip(e-4)},parseMaterialIndices(e){for(this.currentLayer.geometry.materialIndices=[];this.reader.offset<e;){var t=this.reader.getVariableLengthIndex(),r=this.reader.getUint16();this.currentLayer.geometry.materialIndices.push(t,r)}},parseUnknownCHUNK(e,t){console.warn("LWOLoader: unknown chunk type: "+e+" length: "+t);var r=this.reader.getString(t);this.currentForm[e]=r}},i.prototype={constructor:i,size:function(){return this.dv.buffer.byteLength},setOffset(e){e>0&&e<this.dv.buffer.byteLength?this.offset=e:console.error("LWOLoader: invalid buffer offset")},endOfFile:function(){return this.offset>=this.size()},skip:function(e){this.offset+=e},getUint8:function(){var e=this.dv.getUint8(this.offset);return this.offset+=1,e},getUint16:function(){var e=this.dv.getUint16(this.offset);return this.offset+=2,e},getInt32:function(){var e=this.dv.getInt32(this.offset,!1);return this.offset+=4,e},getUint32:function(){var e=this.dv.getUint32(this.offset,!1);return this.offset+=4,e},getUint64:function(){return 4294967296*this.getUint32()+this.getUint32()},getFloat32:function(){var e=this.dv.getFloat32(this.offset,!1);return this.offset+=4,e},getFloat32Array:function(e){var t=[];for(let r=0;r<e;r++)t.push(this.getFloat32());return t},getFloat64:function(){var e=this.dv.getFloat64(this.offset,this.littleEndian);return this.offset+=8,e},getFloat64Array:function(e){var t=[];for(let r=0;r<e;r++)t.push(this.getFloat64());return t},getVariableLengthIndex(){var e=this.getUint8();return 255===e?65536*this.getUint8()+256*this.getUint8()+this.getUint8():256*e+this.getUint8()},getIDTag(){return this.getString(4)},getString:function(t){if(0!==t){var r=[];if(t)for(let e=0;e<t;e++)r[e]=this.getUint8();else{for(var s,i=0;0!==s;)0!==(s=this.getUint8())&&r.push(s),i++;h(i+1)||this.getUint8()}return e.LoaderUtils.decodeText(new Uint8Array(r))}},getStringArray:function(e){var t=this.getString(e);return(t=t.split("\0")).filter(Boolean)}},a.prototype={constructor:a,enable:function(){this.active=!0},log:function(){if(this.active){var e;switch(this.node){case 0:e="FORM";break;case 1:e="CHK";break;case 2:e="S-CHK"}console.log("| ".repeat(this.depth)+e,this.nodeID,`( ${this.offset} ) -> ( ${this.dataOffset+this.length} )`,0==this.node?" {":"",this.skipped?"SKIPPED":"",0==this.node&&this.skipped?"}":""),0!=this.node||this.skipped||(this.depth+=1,this.formList.push(this.dataOffset+this.length)),this.skipped=!1}},closeForms:function(){if(this.active)for(let e=this.formList.length-1;e>=0;e--)this.offset>=this.formList[e]&&(this.depth-=1,console.log("| ".repeat(this.depth)+"}"),this.formList.splice(-1,1))}},exports.IFFParser=s;
@@ -1 +0,0 @@
1
- "use strict";function e(e){this.IFF=e}Object.defineProperty(exports,"__esModule",{value:!0}),e.prototype={constructor:e,parseBlock:function(){this.IFF.debugger.offset=this.IFF.reader.offset,this.IFF.debugger.closeForms();var e=this.IFF.reader.getIDTag(),r=this.IFF.reader.getUint32();switch(r>this.IFF.reader.dv.byteLength-this.IFF.reader.offset&&(this.IFF.reader.offset-=4,r=this.IFF.reader.getUint16()),this.IFF.debugger.dataOffset=this.IFF.reader.offset,this.IFF.debugger.length=r,e){case"FORM":this.IFF.parseForm(r);break;case"ICON":case"VMPA":case"BBOX":case"NORM":case"PRE ":case"POST":case"KEY ":case"SPAN":case"TIME":case"CLRS":case"CLRA":case"FILT":case"DITH":case"CONT":case"BRIT":case"SATR":case"HUE ":case"GAMM":case"NEGA":case"IFLT":case"PFLT":case"PROJ":case"AXIS":case"AAST":case"PIXB":case"AUVO":case"STCK":case"PROC":case"VALU":case"FUNC":case"PNAM":case"INAM":case"GRST":case"GREN":case"GRPT":case"FKEY":case"IKEY":case"CSYS":case"OPAQ":case"CMAP":case"NLOC":case"NZOM":case"NVER":case"NSRV":case"NVSK":case"NCRD":case"WRPW":case"WRPH":case"NMOD":case"NPRW":case"NPLA":case"NODS":case"VERS":case"ENUM":case"TAG ":case"OPAC":case"CGMD":case"CGTY":case"CGST":case"CGEN":case"CGTS":case"CGTE":case"OSMP":case"OMDE":case"OUTR":case"FLAG":case"TRNL":case"GLOW":case"GVAL":case"SHRP":case"RFOP":case"RSAN":case"TROP":case"RBLR":case"TBLR":case"CLRH":case"CLRF":case"ADTR":case"LINE":case"ALPH":case"VCOL":case"ENAB":this.IFF.debugger.skipped=!0,this.IFF.reader.skip(r);break;case"SURF":this.IFF.parseSurfaceLwo2(r);break;case"CLIP":this.IFF.parseClipLwo2(r);break;case"IPIX":case"IMIP":case"IMOD":case"AMOD":case"IINV":case"INCR":case"IAXS":case"IFOT":case"ITIM":case"IWRL":case"IUTI":case"IINX":case"IINY":case"IINZ":case"IREF":4===r?this.IFF.currentNode[e]=this.IFF.reader.getInt32():this.IFF.reader.skip(r);break;case"OTAG":this.IFF.parseObjectTag();break;case"LAYR":this.IFF.parseLayer(r);break;case"PNTS":this.IFF.parsePoints(r);break;case"VMAP":this.IFF.parseVertexMapping(r);break;case"AUVU":case"AUVN":this.IFF.reader.skip(r-1),this.IFF.reader.getVariableLengthIndex();break;case"POLS":this.IFF.parsePolygonList(r);break;case"TAGS":this.IFF.parseTagStrings(r);break;case"PTAG":this.IFF.parsePolygonTagMapping(r);break;case"VMAD":this.IFF.parseVertexMapping(r,!0);break;case"DESC":this.IFF.currentForm.description=this.IFF.reader.getString();break;case"TEXT":case"CMNT":case"NCOM":this.IFF.currentForm.comment=this.IFF.reader.getString();break;case"NAME":this.IFF.currentForm.channelName=this.IFF.reader.getString();break;case"WRAP":this.IFF.currentForm.wrap={w:this.IFF.reader.getUint16(),h:this.IFF.reader.getUint16()};break;case"IMAG":var a=this.IFF.reader.getVariableLengthIndex();this.IFF.currentForm.imageIndex=a;break;case"OREF":this.IFF.currentForm.referenceObject=this.IFF.reader.getString();break;case"ROID":this.IFF.currentForm.referenceObjectID=this.IFF.reader.getUint32();break;case"SSHN":this.IFF.currentSurface.surfaceShaderName=this.IFF.reader.getString();break;case"AOVN":this.IFF.currentSurface.surfaceCustomAOVName=this.IFF.reader.getString();break;case"NSTA":this.IFF.currentForm.disabled=this.IFF.reader.getUint16();break;case"NRNM":this.IFF.currentForm.realName=this.IFF.reader.getString();break;case"NNME":this.IFF.currentForm.refName=this.IFF.reader.getString(),this.IFF.currentSurface.nodes[this.IFF.currentForm.refName]=this.IFF.currentForm;break;case"INME":this.IFF.currentForm.nodeName||(this.IFF.currentForm.nodeName=[]),this.IFF.currentForm.nodeName.push(this.IFF.reader.getString());break;case"IINN":this.IFF.currentForm.inputNodeName||(this.IFF.currentForm.inputNodeName=[]),this.IFF.currentForm.inputNodeName.push(this.IFF.reader.getString());break;case"IINM":this.IFF.currentForm.inputName||(this.IFF.currentForm.inputName=[]),this.IFF.currentForm.inputName.push(this.IFF.reader.getString());break;case"IONM":this.IFF.currentForm.inputOutputName||(this.IFF.currentForm.inputOutputName=[]),this.IFF.currentForm.inputOutputName.push(this.IFF.reader.getString());break;case"FNAM":this.IFF.currentForm.fileName=this.IFF.reader.getString();break;case"CHAN":4===r?this.IFF.currentForm.textureChannel=this.IFF.reader.getIDTag():this.IFF.reader.skip(r);break;case"SMAN":var s=this.IFF.reader.getFloat32();this.IFF.currentSurface.attributes.smooth=!(s<0);break;case"COLR":this.IFF.currentSurface.attributes.Color={value:this.IFF.reader.getFloat32Array(3)},this.IFF.reader.skip(2);break;case"LUMI":this.IFF.currentSurface.attributes.Luminosity={value:this.IFF.reader.getFloat32()},this.IFF.reader.skip(2);break;case"SPEC":this.IFF.currentSurface.attributes.Specular={value:this.IFF.reader.getFloat32()},this.IFF.reader.skip(2);break;case"DIFF":this.IFF.currentSurface.attributes.Diffuse={value:this.IFF.reader.getFloat32()},this.IFF.reader.skip(2);break;case"REFL":this.IFF.currentSurface.attributes.Reflection={value:this.IFF.reader.getFloat32()},this.IFF.reader.skip(2);break;case"GLOS":this.IFF.currentSurface.attributes.Glossiness={value:this.IFF.reader.getFloat32()},this.IFF.reader.skip(2);break;case"TRAN":this.IFF.currentSurface.attributes.opacity=this.IFF.reader.getFloat32(),this.IFF.reader.skip(2);break;case"BUMP":this.IFF.currentSurface.attributes.bumpStrength=this.IFF.reader.getFloat32(),this.IFF.reader.skip(2);break;case"SIDE":this.IFF.currentSurface.attributes.side=this.IFF.reader.getUint16();break;case"RIMG":this.IFF.currentSurface.attributes.reflectionMap=this.IFF.reader.getVariableLengthIndex();break;case"RIND":this.IFF.currentSurface.attributes.refractiveIndex=this.IFF.reader.getFloat32(),this.IFF.reader.skip(2);break;case"TIMG":this.IFF.currentSurface.attributes.refractionMap=this.IFF.reader.getVariableLengthIndex();break;case"IMAP":this.IFF.reader.skip(2);break;case"TMAP":this.IFF.debugger.skipped=!0,this.IFF.reader.skip(r);break;case"IUVI":this.IFF.currentNode.UVChannel=this.IFF.reader.getString(r);break;case"IUTL":this.IFF.currentNode.widthWrappingMode=this.IFF.reader.getUint32();break;case"IVTL":this.IFF.currentNode.heightWrappingMode=this.IFF.reader.getUint32();break;case"BLOK":break;default:this.IFF.parseUnknownCHUNK(e,r)}"FORM"!=e&&(this.IFF.debugger.node=1,this.IFF.debugger.nodeID=e,this.IFF.debugger.log()),this.IFF.reader.offset>=this.IFF.currentFormEnd&&(this.IFF.currentForm=this.IFF.parentForm)}},exports.LWO2Parser=e;
@@ -1 +0,0 @@
1
- "use strict";function e(e){this.IFF=e}Object.defineProperty(exports,"__esModule",{value:!0}),e.prototype={constructor:e,parseBlock:function(){this.IFF.debugger.offset=this.IFF.reader.offset,this.IFF.debugger.closeForms();var e=this.IFF.reader.getIDTag(),r=this.IFF.reader.getUint32();switch(this.IFF.debugger.dataOffset=this.IFF.reader.offset,this.IFF.debugger.length=r,e){case"FORM":this.IFF.parseForm(r);break;case"ICON":case"VMPA":case"BBOX":case"NORM":case"PRE ":case"POST":case"KEY ":case"SPAN":case"TIME":case"CLRS":case"CLRA":case"FILT":case"DITH":case"CONT":case"BRIT":case"SATR":case"HUE ":case"GAMM":case"NEGA":case"IFLT":case"PFLT":case"PROJ":case"AXIS":case"AAST":case"PIXB":case"STCK":case"VALU":case"PNAM":case"INAM":case"GRST":case"GREN":case"GRPT":case"FKEY":case"IKEY":case"CSYS":case"OPAQ":case"CMAP":case"NLOC":case"NZOM":case"NVER":case"NSRV":case"NCRD":case"NMOD":case"NSEL":case"NPRW":case"NPLA":case"VERS":case"ENUM":case"TAG ":case"CGMD":case"CGTY":case"CGST":case"CGEN":case"CGTS":case"CGTE":case"OSMP":case"OMDE":case"OUTR":case"FLAG":case"TRNL":case"SHRP":case"RFOP":case"RSAN":case"TROP":case"RBLR":case"TBLR":case"CLRH":case"CLRF":case"ADTR":case"GLOW":case"LINE":case"ALPH":case"VCOL":case"ENAB":this.IFF.debugger.skipped=!0,this.IFF.reader.skip(r);break;case"IPIX":case"IMIP":case"IMOD":case"AMOD":case"IINV":case"INCR":case"IAXS":case"IFOT":case"ITIM":case"IWRL":case"IUTI":case"IINX":case"IINY":case"IINZ":case"IREF":4===r?this.IFF.currentNode[e]=this.IFF.reader.getInt32():this.IFF.reader.skip(r);break;case"OTAG":this.IFF.parseObjectTag();break;case"LAYR":this.IFF.parseLayer(r);break;case"PNTS":this.IFF.parsePoints(r);break;case"VMAP":this.IFF.parseVertexMapping(r);break;case"POLS":this.IFF.parsePolygonList(r);break;case"TAGS":this.IFF.parseTagStrings(r);break;case"PTAG":this.IFF.parsePolygonTagMapping(r);break;case"VMAD":this.IFF.parseVertexMapping(r,!0);break;case"DESC":this.IFF.currentForm.description=this.IFF.reader.getString();break;case"TEXT":case"CMNT":case"NCOM":this.IFF.currentForm.comment=this.IFF.reader.getString();break;case"NAME":this.IFF.currentForm.channelName=this.IFF.reader.getString();break;case"WRAP":this.IFF.currentForm.wrap={w:this.IFF.reader.getUint16(),h:this.IFF.reader.getUint16()};break;case"IMAG":var a=this.IFF.reader.getVariableLengthIndex();this.IFF.currentForm.imageIndex=a;break;case"OREF":this.IFF.currentForm.referenceObject=this.IFF.reader.getString();break;case"ROID":this.IFF.currentForm.referenceObjectID=this.IFF.reader.getUint32();break;case"SSHN":this.IFF.currentSurface.surfaceShaderName=this.IFF.reader.getString();break;case"AOVN":this.IFF.currentSurface.surfaceCustomAOVName=this.IFF.reader.getString();break;case"NSTA":this.IFF.currentForm.disabled=this.IFF.reader.getUint16();break;case"NRNM":this.IFF.currentForm.realName=this.IFF.reader.getString();break;case"NNME":this.IFF.currentForm.refName=this.IFF.reader.getString(),this.IFF.currentSurface.nodes[this.IFF.currentForm.refName]=this.IFF.currentForm;break;case"INME":this.IFF.currentForm.nodeName||(this.IFF.currentForm.nodeName=[]),this.IFF.currentForm.nodeName.push(this.IFF.reader.getString());break;case"IINN":this.IFF.currentForm.inputNodeName||(this.IFF.currentForm.inputNodeName=[]),this.IFF.currentForm.inputNodeName.push(this.IFF.reader.getString());break;case"IINM":this.IFF.currentForm.inputName||(this.IFF.currentForm.inputName=[]),this.IFF.currentForm.inputName.push(this.IFF.reader.getString());break;case"IONM":this.IFF.currentForm.inputOutputName||(this.IFF.currentForm.inputOutputName=[]),this.IFF.currentForm.inputOutputName.push(this.IFF.reader.getString());break;case"FNAM":this.IFF.currentForm.fileName=this.IFF.reader.getString();break;case"CHAN":4===r?this.IFF.currentForm.textureChannel=this.IFF.reader.getIDTag():this.IFF.reader.skip(r);break;case"SMAN":var t=this.IFF.reader.getFloat32();this.IFF.currentSurface.attributes.smooth=!(t<0);break;case"COLR":this.IFF.currentSurface.attributes.Color={value:this.IFF.reader.getFloat32Array(3)},this.IFF.reader.skip(2);break;case"LUMI":this.IFF.currentSurface.attributes.Luminosity={value:this.IFF.reader.getFloat32()},this.IFF.reader.skip(2);break;case"SPEC":this.IFF.currentSurface.attributes.Specular={value:this.IFF.reader.getFloat32()},this.IFF.reader.skip(2);break;case"DIFF":this.IFF.currentSurface.attributes.Diffuse={value:this.IFF.reader.getFloat32()},this.IFF.reader.skip(2);break;case"REFL":this.IFF.currentSurface.attributes.Reflection={value:this.IFF.reader.getFloat32()},this.IFF.reader.skip(2);break;case"GLOS":this.IFF.currentSurface.attributes.Glossiness={value:this.IFF.reader.getFloat32()},this.IFF.reader.skip(2);break;case"TRAN":this.IFF.currentSurface.attributes.opacity=this.IFF.reader.getFloat32(),this.IFF.reader.skip(2);break;case"BUMP":this.IFF.currentSurface.attributes.bumpStrength=this.IFF.reader.getFloat32(),this.IFF.reader.skip(2);break;case"SIDE":this.IFF.currentSurface.attributes.side=this.IFF.reader.getUint16();break;case"RIMG":this.IFF.currentSurface.attributes.reflectionMap=this.IFF.reader.getVariableLengthIndex();break;case"RIND":this.IFF.currentSurface.attributes.refractiveIndex=this.IFF.reader.getFloat32(),this.IFF.reader.skip(2);break;case"TIMG":this.IFF.currentSurface.attributes.refractionMap=this.IFF.reader.getVariableLengthIndex();break;case"IMAP":this.IFF.currentSurface.attributes.imageMapIndex=this.IFF.reader.getUint32();break;case"IUVI":this.IFF.currentNode.UVChannel=this.IFF.reader.getString(r);break;case"IUTL":this.IFF.currentNode.widthWrappingMode=this.IFF.reader.getUint32();break;case"IVTL":this.IFF.currentNode.heightWrappingMode=this.IFF.reader.getUint32();break;default:this.IFF.parseUnknownCHUNK(e,r)}"FORM"!=e&&(this.IFF.debugger.node=1,this.IFF.debugger.nodeID=e,this.IFF.debugger.log()),this.IFF.reader.offset>=this.IFF.currentFormEnd&&(this.IFF.currentForm=this.IFF.parentForm)}},exports.LWO3Parser=e;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three"),s=function(){var s=new t.Vector3,i=new t.Vector3,n=new t.Vector3;function e(s,i,n){this.start=null==s?new t.Vector3(0,0,0):s,this.end=null==i?new t.Vector3(0,1,0):i,this.radius=null==n?1:n}return Object.assign(e.prototype,{clone:function(){return new e(this.start.clone(),this.end.clone(),this.radius)},set:function(t,s,i){this.start.copy(t),this.end.copy(s),this.radius=i},copy:function(t){this.start.copy(t.start),this.end.copy(t.end),this.radius=t.radius},getCenter:function(t){return t.copy(this.end).add(this.start).multiplyScalar(.5)},translate:function(t){this.start.add(t),this.end.add(t)},checkAABBAxis:function(t,s,i,n,e,a,r,h,c){return(e-t<c||e-i<c)&&(t-a<c||i-a<c)&&(r-s<c||r-n<c)&&(s-h<c||n-h<c)},intersectsBox:function(t){return this.checkAABBAxis(this.start.x,this.start.y,this.end.x,this.end.y,t.min.x,t.max.x,t.min.y,t.max.y,this.radius)&&this.checkAABBAxis(this.start.x,this.start.z,this.end.x,this.end.z,t.min.x,t.max.x,t.min.z,t.max.z,this.radius)&&this.checkAABBAxis(this.start.y,this.start.z,this.end.y,this.end.z,t.min.y,t.max.y,t.min.z,t.max.z,this.radius)},lineLineMinimumPoints:function(t,e){var a,r,h=s.copy(t.end).sub(t.start),c=i.copy(e.end).sub(e.start),d=n.copy(e.start).sub(t.start),o=h.dot(c),u=h.dot(h),l=c.dot(c),x=c.dot(d),y=h.dot(d),m=u*l-o*o;if(Math.abs(m)<1e-10){var p=-x/l,f=(o-x)/l;Math.abs(p-.5)<Math.abs(f-.5)?(a=0,r=p):(a=1,r=f)}else r=((a=(x*o+y*l)/m)*o-x)/l;return r=Math.max(0,Math.min(1,r)),a=Math.max(0,Math.min(1,a)),[h.multiplyScalar(a).add(t.start),c.multiplyScalar(r).add(e.start)]}}),e}();exports.Capsule=s;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("three"),r={setHSV:function(e,r,o,n){return r=t.MathUtils.euclideanModulo(r,1),o=t.MathUtils.clamp(o,0,1),n=t.MathUtils.clamp(n,0,1),e.setHSL(r,o*n/((r=(2-o)*n)<1?r:2-r),.5*r)},getHSV:(e={},function(t,r){return void 0===r&&(console.warn("THREE.ColorConverter: .getHSV() target is now required"),r={h:0,s:0,l:0}),t.getHSL(e),e.s*=e.l<.5?e.l:1-e.l,r.h=e.h,r.s=2*e.s/(e.l+e.s),r.v=e.l+e.s,r}),setCMYK:function(e,t,r,o,n){var s=(1-t)*(1-n),l=(1-r)*(1-n),i=(1-o)*(1-n);return e.setRGB(s,l,i)},getCMYK:function(e,t){void 0===t&&(console.warn("THREE.ColorConverter: .getCMYK() target is now required"),t={c:0,m:0,y:0,k:0});var r=e.r,o=e.g,n=e.b,s=1-Math.max(r,o,n),l=(1-r-s)/(1-s),i=(1-o-s)/(1-s),a=(1-n-s)/(1-s);return t.c=l,t.m=i,t.y=a,t.k=s,t}};exports.ColorConverter=r;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three"),e=function(){var e,n,i,r,s=new t.Vector3;function o(){this.tolerance=-1,this.faces=[],this.newFaces=[],this.assigned=new l,this.unassigned=new l,this.vertices=[]}function a(){this.normal=new t.Vector3,this.midpoint=new t.Vector3,this.area=0,this.constant=0,this.outside=null,this.mark=0,this.edge=null}function h(t,e){this.vertex=t,this.prev=null,this.next=null,this.twin=null,this.face=e}function u(t){this.point=t,this.prev=null,this.next=null,this.face=null}function l(){this.head=null,this.tail=null}return Object.assign(o.prototype,{setFromPoints:function(t){!0!==Array.isArray(t)&&console.error("THREE.ConvexHull: Points parameter is not an array."),t.length<4&&console.error("THREE.ConvexHull: The algorithm needs at least four points."),this.makeEmpty();for(let e=0,n=t.length;e<n;e++)this.vertices.push(new u(t[e]));return this.compute(),this},setFromObject:function(e){var n=[];return e.updateMatrixWorld(!0),e.traverse((function(e){var i,r,s,o=e.geometry;if(void 0!==o){if(o.isGeometry)return void console.error("THREE.ConvexHull no longer supports Geometry. Use THREE.BufferGeometry instead.");if(o.isBufferGeometry){var a=o.attributes.position;if(void 0!==a)for(i=0,r=a.count;i<r;i++)(s=new t.Vector3).fromBufferAttribute(a,i).applyMatrix4(e.matrixWorld),n.push(s)}}})),this.setFromPoints(n)},containsPoint:function(t){var e=this.faces;for(let n=0,i=e.length;n<i;n++){if(e[n].distanceToPoint(t)>this.tolerance)return!1}return!0},intersectRay:function(t,e){var n=this.faces,i=-1/0,r=1/0;for(let e=0,u=n.length;e<u;e++){var s=n[e],o=s.distanceToPoint(t.origin),a=s.normal.dot(t.direction);if(o>0&&a>=0)return null;var h=0!==a?-o/a:0;if(!(h<=0)&&(a>0?r=Math.min(h,r):i=Math.max(h,i),i>r))return null}return i!==-1/0?t.at(i,e):t.at(r,e),e},intersectsRay:function(t){return null!==this.intersectRay(t,s)},makeEmpty:function(){return this.faces=[],this.vertices=[],this},addVertexToFace:function(t,e){return t.face=e,null===e.outside?this.assigned.append(t):this.assigned.insertBefore(e.outside,t),e.outside=t,this},removeVertexFromFace:function(t,e){return t===e.outside&&(null!==t.next&&t.next.face===e?e.outside=t.next:e.outside=null),this.assigned.remove(t),this},removeAllVerticesFromFace:function(t){if(null!==t.outside){for(var e=t.outside,n=t.outside;null!==n.next&&n.next.face===t;)n=n.next;return this.assigned.removeSubList(e,n),e.prev=n.next=null,t.outside=null,e}},deleteFaceVertices:function(t,e){var n=this.removeAllVerticesFromFace(t);if(void 0!==n)if(void 0===e)this.unassigned.appendChain(n);else{var i=n;do{var r=i.next;e.distanceToPoint(i.point)>this.tolerance?this.addVertexToFace(i,e):this.unassigned.append(i),i=r}while(null!==i)}return this},resolveUnassignedPoints:function(t){if(!1===this.unassigned.isEmpty()){var e=this.unassigned.first();do{var n=e.next,i=this.tolerance,r=null;for(let n=0;n<t.length;n++){var s=t[n];if(0===s.mark){var o=s.distanceToPoint(e.point);if(o>i&&(i=o,r=s),i>1e3*this.tolerance)break}}null!==r&&this.addVertexToFace(e,r),e=n}while(null!==e)}return this},computeExtremes:function(){var e,n,i,r=new t.Vector3,s=new t.Vector3,o=[],a=[];for(e=0;e<3;e++)o[e]=a[e]=this.vertices[0];for(r.copy(this.vertices[0].point),s.copy(this.vertices[0].point),e=0,n=this.vertices.length;e<n;e++){var h=this.vertices[e],u=h.point;for(i=0;i<3;i++)u.getComponent(i)<r.getComponent(i)&&(r.setComponent(i,u.getComponent(i)),o[i]=h);for(i=0;i<3;i++)u.getComponent(i)>s.getComponent(i)&&(s.setComponent(i,u.getComponent(i)),a[i]=h)}return this.tolerance=3*Number.EPSILON*(Math.max(Math.abs(r.x),Math.abs(s.x))+Math.max(Math.abs(r.y),Math.abs(s.y))+Math.max(Math.abs(r.z),Math.abs(s.z))),{min:o,max:a}},computeInitialHull:function(){void 0===e&&(e=new t.Line3,n=new t.Plane,i=new t.Vector3);var r,s,o,h,u,l,c,d,p,f=this.vertices,v=this.computeExtremes(),g=v.min,m=v.max,x=0,w=0;for(l=0;l<3;l++)(p=m[l].point.getComponent(l)-g[l].point.getComponent(l))>x&&(x=p,w=l);for(s=g[w],o=m[w],x=0,e.set(s.point,o.point),l=0,c=this.vertices.length;l<c;l++)(r=f[l])!==s&&r!==o&&(e.closestPointToPoint(r.point,!0,i),(p=i.distanceToSquared(r.point))>x&&(x=p,h=r));for(x=-1,n.setFromCoplanarPoints(s.point,o.point,h.point),l=0,c=this.vertices.length;l<c;l++)(r=f[l])!==s&&r!==o&&r!==h&&(p=Math.abs(n.distanceToPoint(r.point)))>x&&(x=p,u=r);var T=[];if(n.distanceToPoint(u.point)<0)for(T.push(a.create(s,o,h),a.create(u,o,s),a.create(u,h,o),a.create(u,s,h)),l=0;l<3;l++)d=(l+1)%3,T[l+1].getEdge(2).setTwin(T[0].getEdge(d)),T[l+1].getEdge(1).setTwin(T[d+1].getEdge(0));else for(T.push(a.create(s,h,o),a.create(u,s,o),a.create(u,o,h),a.create(u,h,s)),l=0;l<3;l++)d=(l+1)%3,T[l+1].getEdge(2).setTwin(T[0].getEdge((3-l)%3)),T[l+1].getEdge(0).setTwin(T[d+1].getEdge(1));for(l=0;l<4;l++)this.faces.push(T[l]);for(l=0,c=f.length;l<c;l++)if((r=f[l])!==s&&r!==o&&r!==h&&r!==u){x=this.tolerance;var F=null;for(d=0;d<4;d++)(p=this.faces[d].distanceToPoint(r.point))>x&&(x=p,F=this.faces[d]);null!==F&&this.addVertexToFace(r,F)}return this},reindexFaces:function(){var t=[];for(let n=0;n<this.faces.length;n++){var e=this.faces[n];0===e.mark&&t.push(e)}return this.faces=t,this},nextVertexToAdd:function(){if(!1===this.assigned.isEmpty()){var t,e=0,n=this.assigned.first().face,i=n.outside;do{var r=n.distanceToPoint(i.point);r>e&&(e=r,t=i),i=i.next}while(null!==i&&i.face===n);return t}},computeHorizon:function(t,e,n,i){var r;this.deleteFaceVertices(n),n.mark=1,r=null===e?e=n.getEdge(0):e.next;do{var s=r.twin,o=s.face;0===o.mark&&(o.distanceToPoint(t)>this.tolerance?this.computeHorizon(t,s,o,i):i.push(r)),r=r.next}while(r!==e);return this},addAdjoiningFace:function(t,e){var n=a.create(t,e.tail(),e.head());return this.faces.push(n),n.getEdge(-1).setTwin(e.twin),n.getEdge(0)},addNewFaces:function(t,e){this.newFaces=[];var n=null,i=null;for(let o=0;o<e.length;o++){var r=e[o],s=this.addAdjoiningFace(t,r);null===n?n=s:s.next.setTwin(i),this.newFaces.push(s.face),i=s}return n.next.setTwin(i),this},addVertexToHull:function(t){var e=[];return this.unassigned.clear(),this.removeVertexFromFace(t,t.face),this.computeHorizon(t.point,null,t.face,e),this.addNewFaces(t,e),this.resolveUnassignedPoints(this.newFaces),this},cleanup:function(){return this.assigned.clear(),this.unassigned.clear(),this.newFaces=[],this},compute:function(){var t;for(this.computeInitialHull();void 0!==(t=this.nextVertexToAdd());)this.addVertexToHull(t);return this.reindexFaces(),this.cleanup(),this}}),Object.assign(a,{create:function(t,e,n){var i=new a,r=new h(t,i),s=new h(e,i),o=new h(n,i);return r.next=o.prev=s,s.next=r.prev=o,o.next=s.prev=r,i.edge=r,i.compute()}}),Object.assign(a.prototype,{getEdge:function(t){for(var e=this.edge;t>0;)e=e.next,t--;for(;t<0;)e=e.prev,t++;return e},compute:function(){void 0===r&&(r=new t.Triangle);var e=this.edge.tail(),n=this.edge.head(),i=this.edge.next.head();return r.set(e.point,n.point,i.point),r.getNormal(this.normal),r.getMidpoint(this.midpoint),this.area=r.getArea(),this.constant=this.normal.dot(this.midpoint),this},distanceToPoint:function(t){return this.normal.dot(t)-this.constant}}),Object.assign(h.prototype,{head:function(){return this.vertex},tail:function(){return this.prev?this.prev.vertex:null},length:function(){var t=this.head(),e=this.tail();return null!==e?e.point.distanceTo(t.point):-1},lengthSquared:function(){var t=this.head(),e=this.tail();return null!==e?e.point.distanceToSquared(t.point):-1},setTwin:function(t){return this.twin=t,t.twin=this,this}}),Object.assign(l.prototype,{first:function(){return this.head},last:function(){return this.tail},clear:function(){return this.head=this.tail=null,this},insertBefore:function(t,e){return e.prev=t.prev,e.next=t,null===e.prev?this.head=e:e.prev.next=e,t.prev=e,this},insertAfter:function(t,e){return e.prev=t,e.next=t.next,null===e.next?this.tail=e:e.next.prev=e,t.next=e,this},append:function(t){return null===this.head?this.head=t:this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t,this},appendChain:function(t){for(null===this.head?this.head=t:this.tail.next=t,t.prev=this.tail;null!==t.next;)t=t.next;return this.tail=t,this},remove:function(t){return null===t.prev?this.head=t.next:t.prev.next=t.next,null===t.next?this.tail=t.prev:t.next.prev=t.prev,this},removeSubList:function(t,e){return null===t.prev?this.head=e.next:t.prev.next=e.next,null===e.next?this.tail=t.prev:e.next.prev=t.prev,this},isEmpty:function(){return null===this.head}}),o}();exports.ConvexHull=e;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ImprovedNoise=function(){var r=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];for(let t=0;t<256;t++)r[256+t]=r[t];function t(r){return r*r*r*(r*(6*r-15)+10)}function e(r,t,e){return t+r*(e-t)}function o(r,t,e,o){var n=15&r,u=n<8?t:e,f=n<4?e:12==n||14==n?t:o;return(0==(1&n)?u:-u)+(0==(2&n)?f:-f)}return{noise:function(n,u,f){var i=Math.floor(n),a=Math.floor(u),c=Math.floor(f),s=255&i,l=255&a,v=255&c,p=(n-=i)-1,M=(u-=a)-1,d=(f-=c)-1,h=t(n),x=t(u),_=t(f),b=r[s]+l,j=r[b]+v,m=r[b+1]+v,y=r[s+1]+l,I=r[y]+v,N=r[y+1]+v;return e(_,e(x,e(h,o(r[j],n,u,f),o(r[I],p,u,f)),e(h,o(r[m],n,M,f),o(r[N],p,M,f))),e(x,e(h,o(r[j+1],n,u,d),o(r[I+1],p,u,d)),e(h,o(r[m+1],n,M,d),o(r[N+1],p,M,d))))}}};
package/math/Lut.cjs.js DELETED
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three"),i=function(t,i){return this.lut=[],this.setColorMap(t,i),this};i.prototype={constructor:i,lut:[],map:[],n:256,minV:0,maxV:1,set:function(t){return t instanceof i&&this.copy(t),this},setMin:function(t){return this.minV=t,this},setMax:function(t){return this.maxV=t,this},setColorMap:function(i,n){this.map=a[i]||a.rainbow,this.n=n||32;var s=1/this.n;this.lut.length=0;for(let i=0;i<=1;i+=s)for(let a=0;a<this.map.length-1;a++)if(i>=this.map[a][0]&&i<this.map[a+1][0]){var r=this.map[a][0],e=this.map[a+1][0],h=new t.Color(this.map[a][1]),o=new t.Color(this.map[a+1][1]),u=h.lerp(o,(i-r)/(e-r));this.lut.push(u)}return this},copy:function(t){return this.lut=t.lut,this.map=t.map,this.n=t.n,this.minV=t.minV,this.maxV=t.maxV,this},getColor:function(t){t<=this.minV?t=this.minV:t>=this.maxV&&(t=this.maxV),t=(t-this.minV)/(this.maxV-this.minV);var i=Math.round(t*this.n);return i==this.n&&(i-=1),this.lut[i]},addColorMap:function(t,i){a[t]=i},createCanvas:function(){var t=document.createElement("canvas");return t.width=1,t.height=this.n,this.updateCanvas(t),t},updateCanvas:function(i){var a=i.getContext("2d",{alpha:!1}),n=a.getImageData(0,0,1,this.n),s=n.data,r=0,e=1/this.n;for(let i=1;i>=0;i-=e)for(let a=this.map.length-1;a>=0;a--)if(i<this.map[a][0]&&i>=this.map[a-1][0]){var h=this.map[a-1][0],o=this.map[a][0],u=new t.Color(this.map[a-1][1]),m=new t.Color(this.map[a][1]),p=u.lerp(m,(i-h)/(o-h));s[4*r]=Math.round(255*p.r),s[4*r+1]=Math.round(255*p.g),s[4*r+2]=Math.round(255*p.b),s[4*r+3]=255,r+=1}return a.putImageData(n,0,0),i}};var a={rainbow:[[0,255],[.2,65535],[.5,65280],[.8,16776960],[1,16711680]],cooltowarm:[[0,3952322],[.2,10206463],[.5,14474460],[.8,16163717],[1,11797542]],blackbody:[[0,0],[.2,7864320],[.5,15086080],[.8,16776960],[1,16777215]],grayscale:[[0,0],[.2,4210752],[.5,8355712],[.8,12566463],[1,16777215]]};exports.ColorMapKeywords=a,exports.Lut=i;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three"),e=function(){var e=new t.Triangle,r=new t.Vector3;function i(t){var e=t.geometry;if(!e.isBufferGeometry||3!==e.attributes.position.itemSize)throw new Error("THREE.MeshSurfaceSampler: Requires BufferGeometry triangle mesh.");e.index&&(console.warn("THREE.MeshSurfaceSampler: Converting geometry to non-indexed BufferGeometry."),e=e.toNonIndexed()),this.geometry=e,this.randomFunction=Math.random,this.positionAttribute=this.geometry.getAttribute("position"),this.colorAttribute=this.geometry.getAttribute("color"),this.weightAttribute=null,this.distribution=null}return i.prototype={constructor:i,setWeightAttribute:function(t){return this.weightAttribute=t?this.geometry.getAttribute(t):null,this},build:function(){var t=this.positionAttribute,r=this.weightAttribute,i=new Float32Array(t.count/3);for(let n=0;n<t.count;n+=3){var o=1;r&&(o=r.getX(n)+r.getX(n+1)+r.getX(n+2)),e.a.fromBufferAttribute(t,n),e.b.fromBufferAttribute(t,n+1),e.c.fromBufferAttribute(t,n+2),o*=e.getArea(),i[n/3]=o}this.distribution=new Float32Array(t.count/3);var n=0;for(let t=0;t<i.length;t++)n+=i[t],this.distribution[t]=n;return this},setRandomGenerator:function(t){return this.randomFunction=t,this},sample:function(t,e,r){var i=this.distribution[this.distribution.length-1],o=this.binarySearch(this.randomFunction()*i);return this.sampleFace(o,t,e,r)},binarySearch:function(t){for(var e=this.distribution,r=0,i=e.length-1,o=-1;r<=i;){var n=Math.ceil((r+i)/2);if(0===n||e[n-1]<=t&&e[n]>t){o=n;break}t<e[n]?i=n-1:r=n+1}return o},sampleFace:function(t,i,o,n){var u=this.randomFunction(),s=this.randomFunction();return u+s>1&&(u=1-u,s=1-s),e.a.fromBufferAttribute(this.positionAttribute,3*t),e.b.fromBufferAttribute(this.positionAttribute,3*t+1),e.c.fromBufferAttribute(this.positionAttribute,3*t+2),i.set(0,0,0).addScaledVector(e.a,u).addScaledVector(e.b,s).addScaledVector(e.c,1-(u+s)),void 0!==o&&e.getNormal(o),void 0!==n&&void 0!==this.colorAttribute&&(e.a.fromBufferAttribute(this.colorAttribute,3*t),e.b.fromBufferAttribute(this.colorAttribute,3*t+1),e.c.fromBufferAttribute(this.colorAttribute,3*t+2),r.set(0,0,0).addScaledVector(e.a,u).addScaledVector(e.b,s).addScaledVector(e.c,1-(u+s)),n.r=r.x,n.g=r.y,n.b=r.z),this}},i}();exports.MeshSurfaceSampler=e;
package/math/OBB.cjs.js DELETED
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three"),e={c:null,u:[new t.Vector3,new t.Vector3,new t.Vector3],e:[]},i={c:null,u:[new t.Vector3,new t.Vector3,new t.Vector3],e:[]},n=[[],[],[]],r=[[],[],[]],a=[],s=new t.Vector3,o=new t.Vector3,h=new t.Vector3,c=new t.Vector3,l=new t.Vector3,u=new t.Vector3,f=new t.Matrix3,S=new t.Box3,z=new t.Matrix4,m=new t.Matrix4,p=new t.Ray;function y(e=new t.Vector3,i=new t.Vector3,n=new t.Matrix3){this.center=e,this.halfSize=i,this.rotation=n}Object.assign(y.prototype,{set:function(t,e,i){return this.center=t,this.halfSize=e,this.rotation=i,this},copy:function(t){return this.center.copy(t.center),this.halfSize.copy(t.halfSize),this.rotation.copy(t.rotation),this},clone:function(){return(new this.constructor).copy(this)},getSize:function(t){return t.copy(this.halfSize).multiplyScalar(2)},clampPoint:function(e,i){var n=this.halfSize;c.subVectors(e,this.center),this.rotation.extractBasis(s,o,h),i.copy(this.center);var r=t.MathUtils.clamp(c.dot(s),-n.x,n.x);i.add(s.multiplyScalar(r));var a=t.MathUtils.clamp(c.dot(o),-n.y,n.y);i.add(o.multiplyScalar(a));var l=t.MathUtils.clamp(c.dot(h),-n.z,n.z);return i.add(h.multiplyScalar(l)),i},containsPoint:function(t){return c.subVectors(t,this.center),this.rotation.extractBasis(s,o,h),Math.abs(c.dot(s))<=this.halfSize.x&&Math.abs(c.dot(o))<=this.halfSize.y&&Math.abs(c.dot(h))<=this.halfSize.z},intersectsBox3:function(t){return this.intersectsOBB(M.fromBox3(t))},intersectsSphere:function(t){return this.clampPoint(t.center,u),u.distanceToSquared(t.center)<=t.radius*t.radius},intersectsOBB:function(t,s=Number.EPSILON){e.c=this.center,e.e[0]=this.halfSize.x,e.e[1]=this.halfSize.y,e.e[2]=this.halfSize.z,this.rotation.extractBasis(e.u[0],e.u[1],e.u[2]),i.c=t.center,i.e[0]=t.halfSize.x,i.e[1]=t.halfSize.y,i.e[2]=t.halfSize.z,t.rotation.extractBasis(i.u[0],i.u[1],i.u[2]);for(let t=0;t<3;t++)for(let r=0;r<3;r++)n[t][r]=e.u[t].dot(i.u[r]);c.subVectors(i.c,e.c),a[0]=c.dot(e.u[0]),a[1]=c.dot(e.u[1]),a[2]=c.dot(e.u[2]);for(let t=0;t<3;t++)for(let e=0;e<3;e++)r[t][e]=Math.abs(n[t][e])+s;var o,h;for(let t=0;t<3;t++)if(o=e.e[t],h=i.e[0]*r[t][0]+i.e[1]*r[t][1]+i.e[2]*r[t][2],Math.abs(a[t])>o+h)return!1;for(let t=0;t<3;t++)if(o=e.e[0]*r[0][t]+e.e[1]*r[1][t]+e.e[2]*r[2][t],h=i.e[t],Math.abs(a[0]*n[0][t]+a[1]*n[1][t]+a[2]*n[2][t])>o+h)return!1;return o=e.e[1]*r[2][0]+e.e[2]*r[1][0],h=i.e[1]*r[0][2]+i.e[2]*r[0][1],!(Math.abs(a[2]*n[1][0]-a[1]*n[2][0])>o+h)&&(o=e.e[1]*r[2][1]+e.e[2]*r[1][1],h=i.e[0]*r[0][2]+i.e[2]*r[0][0],!(Math.abs(a[2]*n[1][1]-a[1]*n[2][1])>o+h)&&(o=e.e[1]*r[2][2]+e.e[2]*r[1][2],h=i.e[0]*r[0][1]+i.e[1]*r[0][0],!(Math.abs(a[2]*n[1][2]-a[1]*n[2][2])>o+h)&&(o=e.e[0]*r[2][0]+e.e[2]*r[0][0],h=i.e[1]*r[1][2]+i.e[2]*r[1][1],!(Math.abs(a[0]*n[2][0]-a[2]*n[0][0])>o+h)&&(o=e.e[0]*r[2][1]+e.e[2]*r[0][1],h=i.e[0]*r[1][2]+i.e[2]*r[1][0],!(Math.abs(a[0]*n[2][1]-a[2]*n[0][1])>o+h)&&(o=e.e[0]*r[2][2]+e.e[2]*r[0][2],h=i.e[0]*r[1][1]+i.e[1]*r[1][0],!(Math.abs(a[0]*n[2][2]-a[2]*n[0][2])>o+h)&&(o=e.e[0]*r[1][0]+e.e[1]*r[0][0],h=i.e[1]*r[2][2]+i.e[2]*r[2][1],!(Math.abs(a[1]*n[0][0]-a[0]*n[1][0])>o+h)&&(o=e.e[0]*r[1][1]+e.e[1]*r[0][1],h=i.e[0]*r[2][2]+i.e[2]*r[2][0],!(Math.abs(a[1]*n[0][1]-a[0]*n[1][1])>o+h)&&(o=e.e[0]*r[1][2]+e.e[1]*r[0][2],h=i.e[0]*r[2][1]+i.e[1]*r[2][0],!(Math.abs(a[1]*n[0][2]-a[0]*n[1][2])>o+h)))))))))},intersectsPlane:function(t){this.rotation.extractBasis(s,o,h);const e=this.halfSize.x*Math.abs(t.normal.dot(s))+this.halfSize.y*Math.abs(t.normal.dot(o))+this.halfSize.z*Math.abs(t.normal.dot(h)),i=t.normal.dot(this.center)-t.constant;return Math.abs(i)<=e},intersectRay:function(t,e){var i,n,r,a;return this.getSize(l),S.setFromCenterAndSize(c.set(0,0,0),l),i=z,n=this.rotation,r=i.elements,a=n.elements,r[0]=a[0],r[1]=a[1],r[2]=a[2],r[3]=0,r[4]=a[3],r[5]=a[4],r[6]=a[5],r[7]=0,r[8]=a[6],r[9]=a[7],r[10]=a[8],r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,z.setPosition(this.center),m.copy(z).invert(),p.copy(t).applyMatrix4(m),p.intersectBox(S,e)?e.applyMatrix4(z):null},intersectsRay:function(t){return null!==this.intersectRay(t,c)},fromBox3:function(t){return t.getCenter(this.center),t.getSize(this.halfSize).multiplyScalar(.5),this.rotation.identity(),this},equals:function(t){return t.center.equals(this.center)&&t.halfSize.equals(this.halfSize)&&t.rotation.equals(this.rotation)},applyMatrix4:function(t){var e=t.elements,i=c.set(e[0],e[1],e[2]).length(),n=c.set(e[4],e[5],e[6]).length(),r=c.set(e[8],e[9],e[10]).length();t.determinant()<0&&(i=-i),f.setFromMatrix4(t);var a=1/i,s=1/n,o=1/r;return f.elements[0]*=a,f.elements[1]*=a,f.elements[2]*=a,f.elements[3]*=s,f.elements[4]*=s,f.elements[5]*=s,f.elements[6]*=o,f.elements[7]*=o,f.elements[8]*=o,this.rotation.multiply(f),this.halfSize.x*=i,this.halfSize.y*=n,this.halfSize.z*=r,c.setFromMatrixPosition(t),this.center.add(c),this}});var M=new y;exports.OBB=y;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("./Capsule.cjs.js"),n=function(){var n=new e.Vector3,r=new e.Vector3,i=new e.Plane,s=new e.Line3,a=new e.Line3,o=new e.Sphere,l=new t.Capsule;function h(e){this.triangles=[],this.box=e,this.subTrees=[]}return Object.assign(h.prototype,{addTriangle:function(t){return this.bounds||(this.bounds=new e.Box3),this.bounds.min.x=Math.min(this.bounds.min.x,t.a.x,t.b.x,t.c.x),this.bounds.min.y=Math.min(this.bounds.min.y,t.a.y,t.b.y,t.c.y),this.bounds.min.z=Math.min(this.bounds.min.z,t.a.z,t.b.z,t.c.z),this.bounds.max.x=Math.max(this.bounds.max.x,t.a.x,t.b.x,t.c.x),this.bounds.max.y=Math.max(this.bounds.max.y,t.a.y,t.b.y,t.c.y),this.bounds.max.z=Math.max(this.bounds.max.z,t.a.z,t.b.z,t.c.z),this.triangles.push(t),this},calcBox:function(){return this.box=this.bounds.clone(),this.box.min.x-=.01,this.box.min.y-=.01,this.box.min.z-=.01,this},split:function(t){if(this.box){var i,s,a,o=[],l=r.copy(this.box.max).sub(this.box.min).multiplyScalar(.5);for(let t=0;t<2;t++)for(let r=0;r<2;r++)for(let a=0;a<2;a++)i=new e.Box3,s=n.set(t,r,a),i.min.copy(this.box.min).add(s.multiply(l)),i.max.copy(i.min).add(l),o.push(new h(i));for(;a=this.triangles.pop();)for(let e=0;e<o.length;e++)o[e].box.intersectsTriangle(a)&&o[e].triangles.push(a);for(let e=0;e<o.length;e++){var u=o[e].triangles.length;u>8&&t<16&&o[e].split(t+1),0!=u&&this.subTrees.push(o[e])}return this}},build:function(){return this.calcBox(),this.split(0),this},getRayTriangles:function(e,t){for(let r=0;r<this.subTrees.length;r++){var n=this.subTrees[r];if(e.intersectsBox(n.box))if(n.triangles.length>0)for(let e=0;e<n.triangles.length;e++)-1===t.indexOf(n.triangles[e])&&t.push(n.triangles[e]);else n.getRayTriangles(e,t)}return t},triangleCapsuleIntersect:function(e,t){var r,o,l,h;t.getPlane(i);var u=i.distanceToPoint(e.start)-e.radius,c=i.distanceToPoint(e.end)-e.radius;if(u>0&&c>0||u<-e.radius&&c<-e.radius)return!1;var g=Math.abs(u/(Math.abs(u)+Math.abs(c))),d=n.copy(e.start).lerp(e.end,g);if(t.containsPoint(d))return{normal:i.normal.clone(),point:d.clone(),depth:Math.abs(Math.min(u,c))};var p=e.radius*e.radius;l=s.set(e.start,e.end);var b=[[t.a,t.b],[t.b,t.c],[t.c,t.a]];for(let t=0;t<b.length;t++)if(h=a.set(b[t][0],b[t][1]),[r,o]=e.lineLineMinimumPoints(l,h),r.distanceToSquared(o)<p)return{normal:r.clone().sub(o).normalize(),point:o.clone(),depth:e.radius-r.distanceTo(o)};return!1},triangleSphereIntersect:function(e,t){if(t.getPlane(i),!e.intersectsPlane(i))return!1;var a=Math.abs(i.distanceToSphere(e)),o=e.radius*e.radius-a*a,l=i.projectPoint(e.center,n);if(t.containsPoint(e.center))return{normal:i.normal.clone(),point:l.clone(),depth:Math.abs(i.distanceToSphere(e))};var h=[[t.a,t.b],[t.b,t.c],[t.c,t.a]];for(let t=0;t<h.length;t++){s.set(h[t][0],h[t][1]),s.closestPointToPoint(l,!0,r);var u=r.distanceToSquared(e.center);if(u<o)return{normal:e.center.clone().sub(r).normalize(),point:r.clone(),depth:e.radius-Math.sqrt(u)}}return!1},getSphereTriangles:function(e,t){for(let r=0;r<this.subTrees.length;r++){var n=this.subTrees[r];if(e.intersectsBox(n.box))if(n.triangles.length>0)for(let e=0;e<n.triangles.length;e++)-1===t.indexOf(n.triangles[e])&&t.push(n.triangles[e]);else n.getSphereTriangles(e,t)}},getCapsuleTriangles:function(e,t){for(let r=0;r<this.subTrees.length;r++){var n=this.subTrees[r];if(e.intersectsBox(n.box))if(n.triangles.length>0)for(let e=0;e<n.triangles.length;e++)-1===t.indexOf(n.triangles[e])&&t.push(n.triangles[e]);else n.getCapsuleTriangles(e,t)}},sphereIntersect(e){o.copy(e);var t,n=[],r=!1;this.getSphereTriangles(e,n);for(let e=0;e<n.length;e++)(t=this.triangleSphereIntersect(o,n[e]))&&(r=!0,o.center.add(t.normal.multiplyScalar(t.depth)));if(r){var i=o.center.clone().sub(e.center),s=i.length();return{normal:i.normalize(),depth:s}}return!1},capsuleIntersect:function(t){l.copy(t);var r,i=[],s=!1;this.getCapsuleTriangles(l,i);for(let e=0;e<i.length;e++)(r=this.triangleCapsuleIntersect(l,i[e]))&&(s=!0,l.translate(r.normal.multiplyScalar(r.depth)));if(s){var a=l.getCenter(new e.Vector3).sub(t.getCenter(n)),o=a.length();return{normal:a.normalize(),depth:o}}return!1},rayIntersect:function(e){if(0!==e.direction.length()){var t,r,i,s=[],a=1e100;this.getRayTriangles(e,s);for(let l=0;l<s.length;l++)if(i=e.intersectTriangle(s[l].a,s[l].b,s[l].c,!0,n)){var o=i.sub(e.origin).length();a>o&&(r=i.clone().add(e.origin),a=o,t=s[l])}return a<1e100&&{distance:a,triangle:t,position:r}}},fromGraphNode:function(t){return t.traverse((t=>{if("Mesh"===t.type){t.updateMatrix(),t.updateWorldMatrix();var n,r=!1;t.geometry.index?(r=!0,n=t.geometry.clone().toNonIndexed()):n=t.geometry;var i=n.attributes.position.array,s=t.matrixWorld;for(let t=0;t<i.length;t+=9){var a=new e.Vector3(i[t],i[t+1],i[t+2]),o=new e.Vector3(i[t+3],i[t+4],i[t+5]),l=new e.Vector3(i[t+6],i[t+7],i[t+8]);a.applyMatrix4(s),o.applyMatrix4(s),l.applyMatrix4(s),this.addTriangle(new e.Triangle(a,o,l))}r&&n.dispose()}})),this.build(),this}}),h}();exports.Octree=n;
@@ -1 +0,0 @@
1
- "use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}Object.defineProperty(exports,"__esModule",{value:!0});var e=t(require("@babel/runtime/helpers/defineProperty"));exports.SimplexNoise=class{constructor(t=Math){e.default(this,"grad3",[[1,1,0],[-1,1,0],[1,-1,0],[-1,-1,0],[1,0,1],[-1,0,1],[1,0,-1],[-1,0,-1],[0,1,1],[0,-1,1],[0,1,-1],[0,-1,-1]]),e.default(this,"grad4",[[0,1,1,1],[0,1,1,-1],[0,1,-1,1],[0,1,-1,-1],[0,-1,1,1],[0,-1,1,-1],[0,-1,-1,1],[0,-1,-1,-1],[1,0,1,1],[1,0,1,-1],[1,0,-1,1],[1,0,-1,-1],[-1,0,1,1],[-1,0,1,-1],[-1,0,-1,1],[-1,0,-1,-1],[1,1,0,1],[1,1,0,-1],[1,-1,0,1],[1,-1,0,-1],[-1,1,0,1],[-1,1,0,-1],[-1,-1,0,1],[-1,-1,0,-1],[1,1,1,0],[1,1,-1,0],[1,-1,1,0],[1,-1,-1,0],[-1,1,1,0],[-1,1,-1,0],[-1,-1,1,0],[-1,-1,-1,0]]),e.default(this,"p",[]),e.default(this,"perm",[]),e.default(this,"simplex",[[0,1,2,3],[0,1,3,2],[0,0,0,0],[0,2,3,1],[0,0,0,0],[0,0,0,0],[0,0,0,0],[1,2,3,0],[0,2,1,3],[0,0,0,0],[0,3,1,2],[0,3,2,1],[0,0,0,0],[0,0,0,0],[0,0,0,0],[1,3,2,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[1,2,0,3],[0,0,0,0],[1,3,0,2],[0,0,0,0],[0,0,0,0],[0,0,0,0],[2,3,0,1],[2,3,1,0],[1,0,2,3],[1,0,3,2],[0,0,0,0],[0,0,0,0],[0,0,0,0],[2,0,3,1],[0,0,0,0],[2,1,3,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[2,0,1,3],[0,0,0,0],[0,0,0,0],[0,0,0,0],[3,0,1,2],[3,0,2,1],[0,0,0,0],[3,1,2,0],[2,1,0,3],[0,0,0,0],[0,0,0,0],[0,0,0,0],[3,1,0,2],[0,0,0,0],[3,2,0,1],[3,2,1,0]]),e.default(this,"dot",((t,e,s)=>t[0]*e+t[1]*s)),e.default(this,"dot3",((t,e,s,h)=>t[0]*e+t[1]*s+t[2]*h)),e.default(this,"dot4",((t,e,s,h,r)=>t[0]*e+t[1]*s+t[2]*h+t[3]*r)),e.default(this,"noise",((t,e)=>{let s,h,r;const i=(t+e)*(.5*(Math.sqrt(3)-1)),o=Math.floor(t+i),l=Math.floor(e+i),d=(3-Math.sqrt(3))/6,a=(o+l)*d,p=t-(o-a),f=e-(l-a);let m=0,u=1;p>f&&(m=1,u=0);const n=p-m+d,M=f-u+d,c=p-1+2*d,g=f-1+2*d,q=255&o,x=255&l,b=this.perm[q+this.perm[x]]%12,y=this.perm[q+m+this.perm[x+u]]%12,j=this.perm[q+1+this.perm[x+1]]%12;let v=.5-p*p-f*f;v<0?s=0:(v*=v,s=v*v*this.dot(this.grad3[b],p,f));let P=.5-n*n-M*M;P<0?h=0:(P*=P,h=P*P*this.dot(this.grad3[y],n,M));let _=.5-c*c-g*g;return _<0?r=0:(_*=_,r=_*_*this.dot(this.grad3[j],c,g)),70*(s+h+r)})),e.default(this,"noise3d",((t,e,s)=>{let h,r,i,o;const l=(t+e+s)*(1/3),d=Math.floor(t+l),a=Math.floor(e+l),p=Math.floor(s+l),f=1/6,m=(d+a+p)*f,u=t-(d-m),n=e-(a-m),M=s-(p-m);let c,g,q,x,b,y;u>=n?n>=M?(c=1,g=0,q=0,x=1,b=1,y=0):u>=M?(c=1,g=0,q=0,x=1,b=0,y=1):(c=0,g=0,q=1,x=1,b=0,y=1):n<M?(c=0,g=0,q=1,x=0,b=1,y=1):u<M?(c=0,g=1,q=0,x=0,b=1,y=1):(c=0,g=1,q=0,x=1,b=1,y=0);const j=u-c+f,v=n-g+f,P=M-q+f,_=u-x+2*f,N=n-b+2*f,O=M-y+2*f,S=u-1+.5,k=n-1+.5,w=M-1+.5,z=255&d,A=255&a,B=255&p,C=this.perm[z+this.perm[A+this.perm[B]]]%12,D=this.perm[z+c+this.perm[A+g+this.perm[B+q]]]%12,E=this.perm[z+x+this.perm[A+b+this.perm[B+y]]]%12,F=this.perm[z+1+this.perm[A+1+this.perm[B+1]]]%12;let G=.6-u*u-n*n-M*M;G<0?h=0:(G*=G,h=G*G*this.dot3(this.grad3[C],u,n,M));let H=.6-j*j-v*v-P*P;H<0?r=0:(H*=H,r=H*H*this.dot3(this.grad3[D],j,v,P));let I=.6-_*_-N*N-O*O;I<0?i=0:(I*=I,i=I*I*this.dot3(this.grad3[E],_,N,O));let J=.6-S*S-k*k-w*w;return J<0?o=0:(J*=J,o=J*J*this.dot3(this.grad3[F],S,k,w)),32*(h+r+i+o)})),e.default(this,"noise4d",((t,e,s,h)=>{const r=this.grad4,i=this.simplex,o=this.perm,l=(Math.sqrt(5)-1)/4,d=(5-Math.sqrt(5))/20;let a,p,f,m,u;const n=(t+e+s+h)*l,M=Math.floor(t+n),c=Math.floor(e+n),g=Math.floor(s+n),q=Math.floor(h+n),x=(M+c+g+q)*d,b=t-(M-x),y=e-(c-x),j=s-(g-x),v=h-(q-x),P=(b>y?32:0)+(b>j?16:0)+(y>j?8:0)+(b>v?4:0)+(y>v?2:0)+(j>v?1:0);let _,N,O,S,k,w,z,A,B,C,D,E;_=i[P][0]>=3?1:0,N=i[P][1]>=3?1:0,O=i[P][2]>=3?1:0,S=i[P][3]>=3?1:0,k=i[P][0]>=2?1:0,w=i[P][1]>=2?1:0,z=i[P][2]>=2?1:0,A=i[P][3]>=2?1:0,B=i[P][0]>=1?1:0,C=i[P][1]>=1?1:0,D=i[P][2]>=1?1:0,E=i[P][3]>=1?1:0;const F=b-_+d,G=y-N+d,H=j-O+d,I=v-S+d,J=b-k+2*d,K=y-w+2*d,L=j-z+2*d,Q=v-A+2*d,R=b-B+3*d,T=y-C+3*d,U=j-D+3*d,V=v-E+3*d,W=b-1+4*d,X=y-1+4*d,Y=j-1+4*d,Z=v-1+4*d,$=255&M,tt=255&c,et=255&g,st=255&q,ht=o[$+o[tt+o[et+o[st]]]]%32,rt=o[$+_+o[tt+N+o[et+O+o[st+S]]]]%32,it=o[$+k+o[tt+w+o[et+z+o[st+A]]]]%32,ot=o[$+B+o[tt+C+o[et+D+o[st+E]]]]%32,lt=o[$+1+o[tt+1+o[et+1+o[st+1]]]]%32;let dt=.6-b*b-y*y-j*j-v*v;dt<0?a=0:(dt*=dt,a=dt*dt*this.dot4(r[ht],b,y,j,v));let at=.6-F*F-G*G-H*H-I*I;at<0?p=0:(at*=at,p=at*at*this.dot4(r[rt],F,G,H,I));let pt=.6-J*J-K*K-L*L-Q*Q;pt<0?f=0:(pt*=pt,f=pt*pt*this.dot4(r[it],J,K,L,Q));let ft=.6-R*R-T*T-U*U-V*V;ft<0?m=0:(ft*=ft,m=ft*ft*this.dot4(r[ot],R,T,U,V));let mt=.6-W*W-X*X-Y*Y-Z*Z;return mt<0?u=0:(mt*=mt,u=mt*mt*this.dot4(r[lt],W,X,Y,Z)),27*(a+p+f+m+u)}));for(let e=0;e<256;e++)this.p[e]=Math.floor(256*t.random());for(let t=0;t<512;t++)this.perm[t]=this.p[255&t]}};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("../geometries/ConvexGeometry.cjs.js");require("../math/ConvexHull.cjs.js");var r,o=function(t,r){this.minSizeForBreak=t||1.4,this.smallDelta=r||1e-4,this.tempLine1=new e.Line3,this.tempPlane1=new e.Plane,this.tempPlane2=new e.Plane,this.tempPlane_Cut=new e.Plane,this.tempCM1=new e.Vector3,this.tempCM2=new e.Vector3,this.tempVector3=new e.Vector3,this.tempVector3_2=new e.Vector3,this.tempVector3_3=new e.Vector3,this.tempVector3_P0=new e.Vector3,this.tempVector3_P1=new e.Vector3,this.tempVector3_P2=new e.Vector3,this.tempVector3_N0=new e.Vector3,this.tempVector3_N1=new e.Vector3,this.tempVector3_AB=new e.Vector3,this.tempVector3_CB=new e.Vector3,this.tempResultObjects={object1:null,object2:null},this.segments=[];for(let e=0;e<900;e++)this.segments[e]=!1};o.prototype={constructor:o,prepareBreakableObject:function(e,t,r,o,n){e.geometry.isBufferGeometry||console.error("THREE.ConvexObjectBreaker.prepareBreakableObject(): Parameter object must have a BufferGeometry.");var s=e.userData;s.mass=t,s.velocity=r.clone(),s.angularVelocity=o.clone(),s.breakable=n},subdivideByImpact:function(e,t,r,o,n){var s=[],a=this.tempPlane1,i=this.tempPlane2;this.tempVector3.addVectors(t,r),a.setFromCoplanarPoints(t,e.position,this.tempVector3);var c=n+o,m=this;return function n(p,l,h,u){if(Math.random()<.05*u||u>c)s.push(p);else{var v=Math.PI;0===u?(i.normal.copy(a.normal),i.constant=a.constant):u<=o?(v=(h-l)*(.2+.6*Math.random())+l,m.tempVector3_2.copy(e.position).sub(t).applyAxisAngle(r,v).add(t),i.setFromCoplanarPoints(t,m.tempVector3,m.tempVector3_2)):(v=(.5*(1&u)+.2*(2-Math.random()))*Math.PI,m.tempVector3_2.copy(t).sub(p.position).applyAxisAngle(r,v).add(p.position),m.tempVector3_3.copy(r).add(p.position),i.setFromCoplanarPoints(p.position,m.tempVector3_3,m.tempVector3_2)),m.cutByPlane(p,i,m.tempResultObjects);var V=m.tempResultObjects.object1,y=m.tempResultObjects.object2;V&&n(V,l,v,u+1),y&&n(y,v,h,u+1)}}(e,0,2*Math.PI,0),s},cutByPlane:function(r,n,s){var a=r.geometry,i=a.attributes.position.array,c=a.attributes.normal.array,m=i.length/3,p=m/3,l=a.getIndex();function h(e,t){var r=3*e+t;return l?l[r]:r}l&&(p=(l=l.array).length/3);var u=[],v=[],V=this.smallDelta,y=m*m;for(let e=0;e<y;e++)this.segments[e]=!1;var d=this.tempVector3_P0,f=this.tempVector3_P1,b=this.tempVector3_N0,P=this.tempVector3_N1;for(let e=0;e<p-1;e++){var g=h(e,0),C=h(e,1),M=h(e,2);b.set(c[g],c[g]+1,c[g]+2);for(let t=e+1;t<p;t++){var j=h(t,0),x=h(t,1),_=h(t,2);P.set(c[j],c[j]+1,c[j]+2),1-b.dot(P)<V&&(g===j||g===x||g===_?C===j||C===x||C===_?(this.segments[g*m+C]=!0,this.segments[C*m+g]=!0):(this.segments[M*m+g]=!0,this.segments[g*m+M]=!0):C!==j&&C!==x&&C!==_||(this.segments[M*m+C]=!0,this.segments[C*m+M]=!0))}}var w=this.tempPlane_Cut;r.updateMatrix(),o.transformPlaneToLocalSpace(n,r.matrix,w);for(let t=0;t<p;t++){var B=h(t,0),O=h(t,1),z=h(t,2);for(let t=0;t<3;t++){var k=0===t?B:1===t?O:z,I=0===t?O:1===t?z:B;if(!this.segments[k*m+I]){this.segments[k*m+I]=!0,this.segments[I*m+k]=!0,d.set(i[3*k],i[3*k+1],i[3*k+2]),f.set(i[3*I],i[3*I+1],i[3*I+2]);var F=0;(D=w.distanceToPoint(d))>V?(F=2,v.push(d.clone())):D<-V?(F=1,u.push(d.clone())):(F=3,u.push(d.clone()),v.push(d.clone()));var D,L=0;if((D=w.distanceToPoint(f))>V?(L=2,v.push(f.clone())):D<-V?(L=1,u.push(f.clone())):(L=3,u.push(f.clone()),v.push(f.clone())),1===F&&2===L||2===F&&1===L){this.tempLine1.start.copy(d),this.tempLine1.end.copy(f);var q=new e.Vector3;if(void 0===(q=w.intersectLine(this.tempLine1,q)))return console.error("Internal error: segment does not intersect plane."),s.segmentedObject1=null,s.segmentedObject2=null,0;u.push(q),v.push(q.clone())}}}}var S=.5*r.userData.mass;this.tempCM1.set(0,0,0);var T=0,A=u.length;if(A>0){for(let e=0;e<A;e++)this.tempCM1.add(u[e]);this.tempCM1.divideScalar(A);for(let e=0;e<A;e++){(N=u[e]).sub(this.tempCM1),T=Math.max(T,N.x,N.y,N.z)}this.tempCM1.add(r.position)}this.tempCM2.set(0,0,0);var G=0,R=v.length;if(R>0){for(let e=0;e<R;e++)this.tempCM2.add(v[e]);this.tempCM2.divideScalar(R);for(let e=0;e<R;e++){var N;(N=v[e]).sub(this.tempCM2),G=Math.max(G,N.x,N.y,N.z)}this.tempCM2.add(r.position)}var E=null,H=null,J=0;return A>4&&((E=new e.Mesh(new t.ConvexGeometry(u),r.material)).position.copy(this.tempCM1),E.quaternion.copy(r.quaternion),this.prepareBreakableObject(E,S,r.userData.velocity,r.userData.angularVelocity,2*T>this.minSizeForBreak),J++),R>4&&((H=new e.Mesh(new t.ConvexGeometry(v),r.material)).position.copy(this.tempCM2),H.quaternion.copy(r.quaternion),this.prepareBreakableObject(H,S,r.userData.velocity,r.userData.angularVelocity,2*G>this.minSizeForBreak),J++),s.object1=E,s.object2=H,J}},o.transformFreeVector=function(e,t){var r=e.x,o=e.y,n=e.z,s=t.elements;return e.x=s[0]*r+s[4]*o+s[8]*n,e.y=s[1]*r+s[5]*o+s[9]*n,e.z=s[2]*r+s[6]*o+s[10]*n,e},o.transformFreeVectorInverse=function(e,t){var r=e.x,o=e.y,n=e.z,s=t.elements;return e.x=s[0]*r+s[1]*o+s[2]*n,e.y=s[4]*r+s[5]*o+s[6]*n,e.z=s[8]*r+s[9]*o+s[10]*n,e},o.transformTiedVectorInverse=function(e,t){var r=e.x,o=e.y,n=e.z,s=t.elements;return e.x=s[0]*r+s[1]*o+s[2]*n-s[12],e.y=s[4]*r+s[5]*o+s[6]*n-s[13],e.z=s[8]*r+s[9]*o+s[10]*n-s[14],e},o.transformPlaneToLocalSpace=(r=new e.Vector3,function(e,t,n){n.normal.copy(e.normal),n.constant=e.constant;var s=o.transformTiedVectorInverse(e.coplanarPoint(r),t);o.transformFreeVectorInverse(n.normal,t),n.constant=-s.dot(n.normal)}),exports.ConvexObjectBreaker=o;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");exports.GPUComputationRenderer=function(r,t,n){this.variables=[],this.currentTextureIndex=0;var a=e.FloatType,i=new e.Scene,s=new e.Camera;s.position.z=1;var u={passThruTexture:{value:null}},l=h("uniform sampler2D passThruTexture;\n\nvoid main() {\n\n\tvec2 uv = gl_FragCoord.xy / resolution.xy;\n\n\tgl_FragColor = texture2D( passThruTexture, uv );\n\n}\n",u),d=new e.Mesh(new e.PlaneGeometry(2,2),l);function o(e){e.defines.resolution="vec2( "+r.toFixed(1)+", "+t.toFixed(1)+" )"}function h(r,t){t=t||{};var n=new e.ShaderMaterial({uniforms:t,vertexShader:"void main()\t{\n\n\tgl_Position = vec4( position, 1.0 );\n\n}\n",fragmentShader:r});return o(n),n}i.add(d),this.setDataType=function(e){return a=e,this},this.addVariable=function(r,t,n){var a={name:r,initialValueTexture:n,material:this.createShaderMaterial(t),dependencies:null,renderTargets:[],wrapS:null,wrapT:null,minFilter:e.NearestFilter,magFilter:e.NearestFilter};return this.variables.push(a),a},this.setVariableDependencies=function(e,r){e.dependencies=r},this.init=function(){if(!1===n.capabilities.isWebGL2&&!1===n.extensions.has("OES_texture_float"))return"No OES_texture_float support for float textures.";if(0===n.capabilities.maxVertexTextures)return"No support for vertex shader textures.";for(let n=0;n<this.variables.length;n++){var e=this.variables[n];e.renderTargets[0]=this.createRenderTarget(r,t,e.wrapS,e.wrapT,e.minFilter,e.magFilter),e.renderTargets[1]=this.createRenderTarget(r,t,e.wrapS,e.wrapT,e.minFilter,e.magFilter),this.renderTexture(e.initialValueTexture,e.renderTargets[0]),this.renderTexture(e.initialValueTexture,e.renderTargets[1]);var a=e.material,i=a.uniforms;if(null!==e.dependencies)for(let r=0;r<e.dependencies.length;r++){var s=e.dependencies[r];if(s.name!==e.name){var u=!1;for(let e=0;e<this.variables.length;e++)if(s.name===this.variables[e].name){u=!0;break}if(!u)return"Variable dependency not found. Variable="+e.name+", dependency="+s.name}i[s.name]={value:null},a.fragmentShader="\nuniform sampler2D "+s.name+";\n"+a.fragmentShader}}return this.currentTextureIndex=0,null},this.compute=function(){var e=this.currentTextureIndex,r=0===this.currentTextureIndex?1:0;for(let i=0,s=this.variables.length;i<s;i++){var t=this.variables[i];if(null!==t.dependencies){var n=t.material.uniforms;for(let r=0,i=t.dependencies.length;r<i;r++){var a=t.dependencies[r];n[a.name].value=a.renderTargets[e].texture}}this.doRenderTarget(t.material,t.renderTargets[r])}this.currentTextureIndex=r},this.getCurrentRenderTarget=function(e){return e.renderTargets[this.currentTextureIndex]},this.getAlternateRenderTarget=function(e){return e.renderTargets[0===this.currentTextureIndex?1:0]},this.addResolutionDefine=o,this.createShaderMaterial=h,this.createRenderTarget=function(n,i,s,u,l,d){return n=n||r,i=i||t,s=s||e.ClampToEdgeWrapping,u=u||e.ClampToEdgeWrapping,l=l||e.NearestFilter,d=d||e.NearestFilter,new e.WebGLRenderTarget(n,i,{wrapS:s,wrapT:u,minFilter:l,magFilter:d,format:e.RGBAFormat,type:a,depthBuffer:!1})},this.createTexture=function(){var n=new Float32Array(r*t*4);return new e.DataTexture(n,r,t,e.RGBAFormat,e.FloatType)},this.renderTexture=function(e,r){u.passThruTexture.value=e,this.doRenderTarget(l,r),u.passThruTexture.value=null},this.doRenderTarget=function(e,r){var t=n.getRenderTarget();d.material=e,n.setRenderTarget(r),n.render(i,s),d.material=l,n.setRenderTarget(t)}};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e,r,i,o,a,s=require("three"),c=function(){s.Object3D.call(this)};(c.prototype=Object.create(s.Object3D.prototype)).constructor=c,c.prototype.updateMatrixWorld=(t=new s.Vector3,e=new s.Quaternion,r=new s.Vector3,i=new s.Vector3,o=new s.Quaternion,a=new s.Vector3,function(s){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||s)&&(null!==this.parent?(this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorld.decompose(i,o,a),this.matrix.decompose(t,e,r),this.matrixWorld.compose(i,e,a)):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,s=!0);for(let t=0,e=this.children.length;t<e;t++)this.children[t].updateMatrixWorld(s)}),exports.Gyroscope=c;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("../loaders/MD2Loader.cjs.js");exports.MD2Character=function(){var i=this;function s(t,i){var s=new e.TextureLoader,a=[];for(let n=0;n<i.length;n++)a[n]=s.load(t+i[n],o),a[n].mapping=e.UVMapping,a[n].name=i[n],a[n].encoding=e.sRGBEncoding;return a}function a(t,i){var s=new e.MeshLambertMaterial({color:16755200,wireframe:!0,morphTargets:!0,morphNormals:!0}),a=new e.MeshLambertMaterial({color:16777215,wireframe:!1,map:i,morphTargets:!0,morphNormals:!0}),o=new e.Mesh(t,a);return o.rotation.y=-Math.PI/2,o.castShadow=!0,o.receiveShadow=!0,o.materialTexture=a,o.materialWireframe=s,o}function o(){i.loadCounter-=1,0===i.loadCounter&&i.onLoadComplete()}this.scale=1,this.animationFPS=6,this.root=new e.Object3D,this.meshBody=null,this.meshWeapon=null,this.skinsBody=[],this.skinsWeapon=[],this.weapons=[],this.activeAnimation=null,this.mixer=null,this.onLoadComplete=function(){},this.loadCounter=0,this.loadParts=function(n){this.loadCounter=2*n.weapons.length+n.skins.length+1;var h=[];for(let e=0;e<n.weapons.length;e++)h[e]=n.weapons[e][1];this.skinsBody=s(n.baseUrl+"skins/",n.skins),this.skinsWeapon=s(n.baseUrl+"skins/",h);var r=new t.MD2Loader;r.load(n.baseUrl+n.body,(function(t){var s=new e.Box3;s.setFromBufferAttribute(t.attributes.position),i.root.position.y=-i.scale*s.min.y;var n=a(t,i.skinsBody[0]);n.scale.set(i.scale,i.scale,i.scale),i.root.add(n),i.meshBody=n,i.meshBody.clipOffset=0,i.activeAnimationClipName=n.geometry.animations[0].name,i.mixer=new e.AnimationMixer(n),o()}));var m=function(e,t){return function(s){var n=a(s,i.skinsWeapon[e]);n.scale.set(i.scale,i.scale,i.scale),n.visible=!1,n.name=t,i.root.add(n),i.weapons[e]=n,i.meshWeapon=n,o()}};for(let e=0;e<n.weapons.length;e++)r.load(n.baseUrl+n.weapons[e][0],m(e,n.weapons[e][0]))},this.setPlaybackRate=function(e){this.mixer.timeScale=0!==e?1/e:0},this.setWireframe=function(e){e?(this.meshBody&&(this.meshBody.material=this.meshBody.materialWireframe),this.meshWeapon&&(this.meshWeapon.material=this.meshWeapon.materialWireframe)):(this.meshBody&&(this.meshBody.material=this.meshBody.materialTexture),this.meshWeapon&&(this.meshWeapon.material=this.meshWeapon.materialTexture))},this.setSkin=function(e){this.meshBody&&!1===this.meshBody.material.wireframe&&(this.meshBody.material.map=this.skinsBody[e])},this.setWeapon=function(e){for(let e=0;e<this.weapons.length;e++)this.weapons[e].visible=!1;var t=this.weapons[e];t&&(t.visible=!0,this.meshWeapon=t,i.syncWeaponAnimation())},this.setAnimation=function(e){if(this.meshBody){this.meshBody.activeAction&&(this.meshBody.activeAction.stop(),this.meshBody.activeAction=null);var t=this.mixer.clipAction(e,this.meshBody);t&&(this.meshBody.activeAction=t.play())}i.activeClipName=e,i.syncWeaponAnimation()},this.syncWeaponAnimation=function(){var e=i.activeClipName;if(i.meshWeapon){this.meshWeapon.activeAction&&(this.meshWeapon.activeAction.stop(),this.meshWeapon.activeAction=null);var t=this.mixer.clipAction(e,this.meshWeapon);t&&(this.meshWeapon.activeAction=t.syncWith(this.meshBody.activeAction).play())}},this.update=function(e){this.mixer&&this.mixer.update(e)}};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("../loaders/MD2Loader.cjs.js"),i=require("./MorphBlendMesh.cjs.js");exports.MD2CharacterComplex=function(){var s=this;function a(t,i){var s=new e.TextureLoader,a=[];for(let o=0;o<i.length;o++)a[o]=s.load(t+i[o],h),a[o].mapping=e.UVMapping,a[o].name=i[o],a[o].encoding=e.sRGBEncoding;return a}function o(t,a){var o=new e.MeshLambertMaterial({color:16755200,wireframe:!0,morphTargets:!0,morphNormals:!0}),h=new e.MeshLambertMaterial({color:16777215,wireframe:!1,map:a,morphTargets:!0,morphNormals:!0}),n=new i.MorphBlendMesh(t,h);return n.rotation.y=-Math.PI/2,n.materialTexture=h,n.materialWireframe=o,n.autoCreateAnimations(s.animationFPS),n}function h(){s.loadCounter-=1,0===s.loadCounter&&s.onLoadComplete()}function n(e){return 1===e?1:1-Math.pow(2,-10*e)}this.scale=1,this.animationFPS=6,this.transitionFrames=15,this.maxSpeed=275,this.maxReverseSpeed=-275,this.frontAcceleration=600,this.backAcceleration=600,this.frontDecceleration=600,this.angularSpeed=2.5,this.root=new e.Object3D,this.meshBody=null,this.meshWeapon=null,this.controls=null,this.skinsBody=[],this.skinsWeapon=[],this.weapons=[],this.currentSkin=void 0,this.onLoadComplete=function(){},this.meshes=[],this.animations={},this.loadCounter=0,this.speed=0,this.bodyOrientation=0,this.walkSpeed=this.maxSpeed,this.crouchSpeed=.5*this.maxSpeed,this.activeAnimation=null,this.oldAnimation=null,this.enableShadows=function(e){for(let t=0;t<this.meshes.length;t++)this.meshes[t].castShadow=e,this.meshes[t].receiveShadow=e},this.setVisible=function(e){for(let t=0;t<this.meshes.length;t++)this.meshes[t].visible=e,this.meshes[t].visible=e},this.shareParts=function(e){this.animations=e.animations,this.walkSpeed=e.walkSpeed,this.crouchSpeed=e.crouchSpeed,this.skinsBody=e.skinsBody,this.skinsWeapon=e.skinsWeapon;var t=o(e.meshBody.geometry,this.skinsBody[0]);t.scale.set(this.scale,this.scale,this.scale),this.root.position.y=e.root.position.y,this.root.add(t),this.meshBody=t,this.meshes.push(t);for(let t=0;t<e.weapons.length;t++){var i=o(e.weapons[t].geometry,this.skinsWeapon[t]);i.scale.set(this.scale,this.scale,this.scale),i.visible=!1,i.name=e.weapons[t].name,this.root.add(i),this.weapons[t]=i,this.meshWeapon=i,this.meshes.push(i)}},this.loadParts=function(i){this.animations=i.animations,this.walkSpeed=i.walkSpeed,this.crouchSpeed=i.crouchSpeed,this.loadCounter=2*i.weapons.length+i.skins.length+1;var n=[];for(let e=0;e<i.weapons.length;e++)n[e]=i.weapons[e][1];this.skinsBody=a(i.baseUrl+"skins/",i.skins),this.skinsWeapon=a(i.baseUrl+"skins/",n);var r=new t.MD2Loader;r.load(i.baseUrl+i.body,(function(t){var i=new e.Box3;i.setFromBufferAttribute(t.attributes.position),s.root.position.y=-s.scale*i.min.y;var a=o(t,s.skinsBody[0]);a.scale.set(s.scale,s.scale,s.scale),s.root.add(a),s.meshBody=a,s.meshes.push(a),h()}));var m=function(e,t){return function(i){var a=o(i,s.skinsWeapon[e]);a.scale.set(s.scale,s.scale,s.scale),a.visible=!1,a.name=t,s.root.add(a),s.weapons[e]=a,s.meshWeapon=a,s.meshes.push(a),h()}};for(let e=0;e<i.weapons.length;e++)r.load(i.baseUrl+i.weapons[e][0],m(e,i.weapons[e][0]))},this.setPlaybackRate=function(e){this.meshBody&&(this.meshBody.duration=this.meshBody.baseDuration/e),this.meshWeapon&&(this.meshWeapon.duration=this.meshWeapon.baseDuration/e)},this.setWireframe=function(e){e?(this.meshBody&&(this.meshBody.material=this.meshBody.materialWireframe),this.meshWeapon&&(this.meshWeapon.material=this.meshWeapon.materialWireframe)):(this.meshBody&&(this.meshBody.material=this.meshBody.materialTexture),this.meshWeapon&&(this.meshWeapon.material=this.meshWeapon.materialTexture))},this.setSkin=function(e){this.meshBody&&!1===this.meshBody.material.wireframe&&(this.meshBody.material.map=this.skinsBody[e],this.currentSkin=e)},this.setWeapon=function(e){for(let e=0;e<this.weapons.length;e++)this.weapons[e].visible=!1;var t=this.weapons[e];t&&(t.visible=!0,this.meshWeapon=t,this.activeAnimation&&(t.playAnimation(this.activeAnimation),this.meshWeapon.setAnimationTime(this.activeAnimation,this.meshBody.getAnimationTime(this.activeAnimation))))},this.setAnimation=function(e){e!==this.activeAnimation&&e&&(this.meshBody&&(this.meshBody.setAnimationWeight(e,0),this.meshBody.playAnimation(e),this.oldAnimation=this.activeAnimation,this.activeAnimation=e,this.blendCounter=this.transitionFrames),this.meshWeapon&&(this.meshWeapon.setAnimationWeight(e,0),this.meshWeapon.playAnimation(e)))},this.update=function(e){this.controls&&this.updateMovementModel(e),this.animations&&(this.updateBehaviors(),this.updateAnimations(e))},this.updateAnimations=function(e){var t=1;this.blendCounter>0&&(t=(this.transitionFrames-this.blendCounter)/this.transitionFrames,this.blendCounter-=1),this.meshBody&&(this.meshBody.update(e),this.meshBody.setAnimationWeight(this.activeAnimation,t),this.meshBody.setAnimationWeight(this.oldAnimation,1-t)),this.meshWeapon&&(this.meshWeapon.update(e),this.meshWeapon.setAnimationWeight(this.activeAnimation,t),this.meshWeapon.setAnimationWeight(this.oldAnimation,1-t))},this.updateBehaviors=function(){var e,t,i=this.controls,s=this.animations;i.crouch?(e=s.crouchMove,t=s.crouchIdle):(e=s.move,t=s.idle),i.jump&&(e=s.jump,t=s.jump),i.attack&&(i.crouch?(e=s.crouchAttack,t=s.crouchAttack):(e=s.attack,t=s.attack)),(i.moveForward||i.moveBackward||i.moveLeft||i.moveRight)&&this.activeAnimation!==e&&this.setAnimation(e),Math.abs(this.speed)<.2*this.maxSpeed&&!(i.moveLeft||i.moveRight||i.moveForward||i.moveBackward)&&this.activeAnimation!==t&&this.setAnimation(t),i.moveForward&&(this.meshBody&&(this.meshBody.setAnimationDirectionForward(this.activeAnimation),this.meshBody.setAnimationDirectionForward(this.oldAnimation)),this.meshWeapon&&(this.meshWeapon.setAnimationDirectionForward(this.activeAnimation),this.meshWeapon.setAnimationDirectionForward(this.oldAnimation))),i.moveBackward&&(this.meshBody&&(this.meshBody.setAnimationDirectionBackward(this.activeAnimation),this.meshBody.setAnimationDirectionBackward(this.oldAnimation)),this.meshWeapon&&(this.meshWeapon.setAnimationDirectionBackward(this.activeAnimation),this.meshWeapon.setAnimationDirectionBackward(this.oldAnimation)))},this.updateMovementModel=function(t){var i=this.controls;i.crouch?this.maxSpeed=this.crouchSpeed:this.maxSpeed=this.walkSpeed,this.maxReverseSpeed=-this.maxSpeed,i.moveForward&&(this.speed=e.MathUtils.clamp(this.speed+t*this.frontAcceleration,this.maxReverseSpeed,this.maxSpeed)),i.moveBackward&&(this.speed=e.MathUtils.clamp(this.speed-t*this.backAcceleration,this.maxReverseSpeed,this.maxSpeed));if(i.moveLeft&&(this.bodyOrientation+=t*this.angularSpeed,this.speed=e.MathUtils.clamp(this.speed+1*t*this.frontAcceleration,this.maxReverseSpeed,this.maxSpeed)),i.moveRight&&(this.bodyOrientation-=t*this.angularSpeed,this.speed=e.MathUtils.clamp(this.speed+1*t*this.frontAcceleration,this.maxReverseSpeed,this.maxSpeed)),!i.moveForward&&!i.moveBackward)if(this.speed>0){var s=n(this.speed/this.maxSpeed);this.speed=e.MathUtils.clamp(this.speed-s*t*this.frontDecceleration,0,this.maxSpeed)}else{s=n(this.speed/this.maxReverseSpeed);this.speed=e.MathUtils.clamp(this.speed+s*t*this.backAcceleration,this.maxReverseSpeed,0)}var a=this.speed*t;this.root.position.x+=Math.sin(this.bodyOrientation)*a,this.root.position.z+=Math.cos(this.bodyOrientation)*a,this.root.rotation.y=this.bodyOrientation}};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three"),i=function(i,e){t.Mesh.call(this,i,e),this.type="MorphAnimMesh",this.mixer=new t.AnimationMixer(this),this.activeAction=null};(i.prototype=Object.create(t.Mesh.prototype)).constructor=i,i.prototype.setDirectionForward=function(){this.mixer.timeScale=1},i.prototype.setDirectionBackward=function(){this.mixer.timeScale=-1},i.prototype.playAnimation=function(i,e){this.activeAction&&(this.activeAction.stop(),this.activeAction=null);var o=t.AnimationClip.findByName(this,i);if(!o)throw new Error("THREE.MorphAnimMesh: animations["+i+"] undefined in .playAnimation()");var n=this.mixer.clipAction(o);n.timeScale=o.tracks.length*e/o.duration,this.activeAction=n.play()},i.prototype.updateAnimation=function(t){this.mixer.update(t)},i.prototype.copy=function(i){return t.Mesh.prototype.copy.call(this,i),this.mixer=new t.AnimationMixer(this),this},exports.MorphAnimMesh=i;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three"),i=function(i,a){t.Mesh.call(this,i,a),this.animationsMap={},this.animationsList=[];var n=Object.keys(this.morphTargetDictionary).length,e="__default",r=n-1,o=n/1;this.createAnimation(e,0,r,o),this.setAnimationWeight(e,1)};i.prototype=Object.assign(Object.create(t.Mesh.prototype),{constructor:i,createAnimation:function(t,i,a,n){var e={start:i,end:a,length:a-i+1,fps:n,duration:(a-i)/n,lastFrame:0,currentFrame:0,active:!1,time:0,direction:1,weight:1,directionBackwards:!1,mirroredLoop:!1};this.animationsMap[t]=e,this.animationsList.push(e)},autoCreateAnimations:function(t){var i,a=/([a-z]+)_?(\d+)/i,n={},e=0;for(let t in this.morphTargetDictionary){var r=t.match(a);if(r&&r.length>1){var o=r[1];n[o]||(n[o]={start:1/0,end:-1/0}),e<(s=n[o]).start&&(s.start=e),e>s.end&&(s.end=e),i||(i=o)}e++}for(let i in n){var s=n[i];this.createAnimation(i,s.start,s.end,t)}this.firstAnimation=i},setAnimationDirectionForward:function(t){var i=this.animationsMap[t];i&&(i.direction=1,i.directionBackwards=!1)},setAnimationDirectionBackward:function(t){var i=this.animationsMap[t];i&&(i.direction=-1,i.directionBackwards=!0)},setAnimationFPS:function(t,i){var a=this.animationsMap[t];a&&(a.fps=i,a.duration=(a.end-a.start)/a.fps)},setAnimationDuration:function(t,i){var a=this.animationsMap[t];a&&(a.duration=i,a.fps=(a.end-a.start)/a.duration)},setAnimationWeight:function(t,i){var a=this.animationsMap[t];a&&(a.weight=i)},setAnimationTime:function(t,i){var a=this.animationsMap[t];a&&(a.time=i)},getAnimationTime:function(t){var i=0,a=this.animationsMap[t];return a&&(i=a.time),i},getAnimationDuration:function(t){var i=-1,a=this.animationsMap[t];return a&&(i=a.duration),i},playAnimation:function(t){var i=this.animationsMap[t];i?(i.time=0,i.active=!0):console.warn("THREE.MorphBlendMesh: animation["+t+"] undefined in .playAnimation()")},stopAnimation:function(t){var i=this.animationsMap[t];i&&(i.active=!1)},update:function(i){for(let s=0,m=this.animationsList.length;s<m;s++){var a=this.animationsList[s];if(a.active){var n=a.duration/a.length;a.time+=a.direction*i,a.mirroredLoop?(a.time>a.duration||a.time<0)&&(a.direction*=-1,a.time>a.duration&&(a.time=a.duration,a.directionBackwards=!0),a.time<0&&(a.time=0,a.directionBackwards=!1)):(a.time=a.time%a.duration,a.time<0&&(a.time+=a.duration));var e=a.start+t.MathUtils.clamp(Math.floor(a.time/n),0,a.length-1),r=a.weight;e!==a.currentFrame&&(this.morphTargetInfluences[a.lastFrame]=0,this.morphTargetInfluences[a.currentFrame]=1*r,this.morphTargetInfluences[e]=0,a.lastFrame=a.currentFrame,a.currentFrame=e);var o=a.time%n/n;a.directionBackwards&&(o=1-o),a.currentFrame!==a.lastFrame?(this.morphTargetInfluences[a.currentFrame]=o*r,this.morphTargetInfluences[a.lastFrame]=(1-o)*r):this.morphTargetInfluences[a.currentFrame]=r}}}}),exports.MorphBlendMesh=i;