@rings-webgpu/core 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1154) hide show
  1. package/dist/rings.es.js +462 -209
  2. package/dist/rings.es.js.map +3 -3
  3. package/dist/rings.es.max.js +2744 -598
  4. package/dist/rings.umd.js +460 -207
  5. package/dist/rings.umd.js.map +3 -3
  6. package/dist/rings.umd.max.js +2771 -597
  7. package/package.json +2 -1
  8. package/dist/package.json +0 -54
  9. package/dist/packages/wasm-matrix/WasmMatrix.d.ts +0 -26
  10. package/dist/packages/wasm-matrix/WasmMatrix.js +0 -88
  11. package/dist/src/Engine3D.d.ts +0 -107
  12. package/dist/src/Engine3D.js +0 -471
  13. package/dist/src/assets/Fonts.d.ts +0 -20
  14. package/dist/src/assets/Fonts.js +0 -24
  15. package/dist/src/assets/Res.d.ts +0 -72
  16. package/dist/src/assets/Res.js +0 -299
  17. package/dist/src/assets/shader/ShaderLib.d.ts +0 -5
  18. package/dist/src/assets/shader/ShaderLib.js +0 -128
  19. package/dist/src/assets/shader/anim/SkeletonAnimation_shader.d.ts +0 -3
  20. package/dist/src/assets/shader/anim/SkeletonAnimation_shader.js +0 -51
  21. package/dist/src/assets/shader/cluster/ClusterBoundsSource_cs.d.ts +0 -1
  22. package/dist/src/assets/shader/cluster/ClusterBoundsSource_cs.js +0 -88
  23. package/dist/src/assets/shader/cluster/ClusterLighting_cs.d.ts +0 -1
  24. package/dist/src/assets/shader/cluster/ClusterLighting_cs.js +0 -127
  25. package/dist/src/assets/shader/compute/BRDFLUT.d.ts +0 -1
  26. package/dist/src/assets/shader/compute/BRDFLUT.js +0 -90
  27. package/dist/src/assets/shader/compute/BloomEffect_cs.d.ts +0 -4
  28. package/dist/src/assets/shader/compute/BloomEffect_cs.js +0 -173
  29. package/dist/src/assets/shader/compute/BlurEffectCreator_cs.d.ts +0 -2
  30. package/dist/src/assets/shader/compute/BlurEffectCreator_cs.js +0 -84
  31. package/dist/src/assets/shader/compute/DDGIIrradiance_Cs.d.ts +0 -4
  32. package/dist/src/assets/shader/compute/DDGIIrradiance_Cs.js +0 -307
  33. package/dist/src/assets/shader/compute/DDGILighting_CSShader.d.ts +0 -4
  34. package/dist/src/assets/shader/compute/DDGILighting_CSShader.js +0 -285
  35. package/dist/src/assets/shader/compute/DepthOfView_cs.d.ts +0 -4
  36. package/dist/src/assets/shader/compute/DepthOfView_cs.js +0 -90
  37. package/dist/src/assets/shader/compute/ErpImage2CubeMapCreateCube_cs.d.ts +0 -1
  38. package/dist/src/assets/shader/compute/ErpImage2CubeMapCreateCube_cs.js +0 -64
  39. package/dist/src/assets/shader/compute/ErpImage2CubeMapRgbe2rgba_cs.d.ts +0 -1
  40. package/dist/src/assets/shader/compute/ErpImage2CubeMapRgbe2rgba_cs.js +0 -34
  41. package/dist/src/assets/shader/compute/GTAO_cs.d.ts +0 -4
  42. package/dist/src/assets/shader/compute/GTAO_cs.js +0 -133
  43. package/dist/src/assets/shader/compute/GodRay_cs.d.ts +0 -1
  44. package/dist/src/assets/shader/compute/GodRay_cs.js +0 -214
  45. package/dist/src/assets/shader/compute/IBLEnvMapCreator_cs.d.ts +0 -1
  46. package/dist/src/assets/shader/compute/IBLEnvMapCreator_cs.js +0 -164
  47. package/dist/src/assets/shader/compute/MergeRGBA_cs.d.ts +0 -1
  48. package/dist/src/assets/shader/compute/MergeRGBA_cs.js +0 -27
  49. package/dist/src/assets/shader/compute/MultiBouncePass_cs.d.ts +0 -4
  50. package/dist/src/assets/shader/compute/MultiBouncePass_cs.js +0 -169
  51. package/dist/src/assets/shader/compute/OutLineBlendColor_cs.d.ts +0 -1
  52. package/dist/src/assets/shader/compute/OutLineBlendColor_cs.js +0 -49
  53. package/dist/src/assets/shader/compute/OutlineCalcOutline_cs.d.ts +0 -1
  54. package/dist/src/assets/shader/compute/OutlineCalcOutline_cs.js +0 -95
  55. package/dist/src/assets/shader/compute/Outline_cs.d.ts +0 -1
  56. package/dist/src/assets/shader/compute/Outline_cs.js +0 -116
  57. package/dist/src/assets/shader/compute/Picker_cs.d.ts +0 -1
  58. package/dist/src/assets/shader/compute/Picker_cs.js +0 -40
  59. package/dist/src/assets/shader/compute/PreFilteredEnvironment_cs copy.d.ts +0 -1
  60. package/dist/src/assets/shader/compute/PreFilteredEnvironment_cs copy.js +0 -162
  61. package/dist/src/assets/shader/compute/PreFilteredEnvironment_cs.d.ts +0 -4
  62. package/dist/src/assets/shader/compute/PreFilteredEnvironment_cs.js +0 -201
  63. package/dist/src/assets/shader/compute/PreIntegratedLut.d.ts +0 -1
  64. package/dist/src/assets/shader/compute/PreIntegratedLut.js +0 -46
  65. package/dist/src/assets/shader/compute/SSAO_cs.d.ts +0 -1
  66. package/dist/src/assets/shader/compute/SSAO_cs.js +0 -82
  67. package/dist/src/assets/shader/compute/SSGI2_cs.d.ts +0 -7
  68. package/dist/src/assets/shader/compute/SSGI2_cs.js +0 -169
  69. package/dist/src/assets/shader/compute/SSR_BlendColor_cs.d.ts +0 -4
  70. package/dist/src/assets/shader/compute/SSR_BlendColor_cs.js +0 -53
  71. package/dist/src/assets/shader/compute/SSR_IS_cs.d.ts +0 -1
  72. package/dist/src/assets/shader/compute/SSR_IS_cs.js +0 -76
  73. package/dist/src/assets/shader/compute/SSR_RayTrace_cs.d.ts +0 -1
  74. package/dist/src/assets/shader/compute/SSR_RayTrace_cs.js +0 -289
  75. package/dist/src/assets/shader/compute/TAACopyTex_cs.d.ts +0 -4
  76. package/dist/src/assets/shader/compute/TAACopyTex_cs.js +0 -22
  77. package/dist/src/assets/shader/compute/TAASharpTex_cs.d.ts +0 -1
  78. package/dist/src/assets/shader/compute/TAASharpTex_cs.js +0 -42
  79. package/dist/src/assets/shader/compute/TAA_cs.d.ts +0 -4
  80. package/dist/src/assets/shader/compute/TAA_cs.js +0 -152
  81. package/dist/src/assets/shader/compute/utils/Combine_cs.d.ts +0 -4
  82. package/dist/src/assets/shader/compute/utils/Combine_cs.js +0 -47
  83. package/dist/src/assets/shader/compute/utils/Denoising_cs.d.ts +0 -4
  84. package/dist/src/assets/shader/compute/utils/Denoising_cs.js +0 -28
  85. package/dist/src/assets/shader/compute/utils/TestComputeLoadBuffer.d.ts +0 -1
  86. package/dist/src/assets/shader/compute/utils/TestComputeLoadBuffer.js +0 -128
  87. package/dist/src/assets/shader/compute/utils/TextureCompress.d.ts +0 -2
  88. package/dist/src/assets/shader/compute/utils/TextureCompress.js +0 -131
  89. package/dist/src/assets/shader/compute/utils/tw.d.ts +0 -4
  90. package/dist/src/assets/shader/compute/utils/tw.js +0 -43
  91. package/dist/src/assets/shader/core/base/Common_frag.d.ts +0 -1
  92. package/dist/src/assets/shader/core/base/Common_frag.js +0 -62
  93. package/dist/src/assets/shader/core/base/Common_vert.d.ts +0 -1
  94. package/dist/src/assets/shader/core/base/Common_vert.js +0 -12
  95. package/dist/src/assets/shader/core/common/BrdfLut_frag.d.ts +0 -1
  96. package/dist/src/assets/shader/core/common/BrdfLut_frag.js +0 -6
  97. package/dist/src/assets/shader/core/common/EnvMap_frag.d.ts +0 -1
  98. package/dist/src/assets/shader/core/common/EnvMap_frag.js +0 -10
  99. package/dist/src/assets/shader/core/common/GBufferStand.d.ts +0 -1
  100. package/dist/src/assets/shader/core/common/GBufferStand.js +0 -171
  101. package/dist/src/assets/shader/core/common/GlobalUniform.d.ts +0 -4
  102. package/dist/src/assets/shader/core/common/GlobalUniform.js +0 -117
  103. package/dist/src/assets/shader/core/common/InstanceUniform.d.ts +0 -1
  104. package/dist/src/assets/shader/core/common/InstanceUniform.js +0 -9
  105. package/dist/src/assets/shader/core/common/SHCommon_frag.d.ts +0 -1
  106. package/dist/src/assets/shader/core/common/SHCommon_frag.js +0 -82
  107. package/dist/src/assets/shader/core/common/WorldMatrixUniform.d.ts +0 -1
  108. package/dist/src/assets/shader/core/common/WorldMatrixUniform.js +0 -8
  109. package/dist/src/assets/shader/core/inline/Inline_vert.d.ts +0 -1
  110. package/dist/src/assets/shader/core/inline/Inline_vert.js +0 -59
  111. package/dist/src/assets/shader/core/pass/CastShadow_pass.d.ts +0 -4
  112. package/dist/src/assets/shader/core/pass/CastShadow_pass.js +0 -284
  113. package/dist/src/assets/shader/core/pass/FrustumCulling_cs.d.ts +0 -4
  114. package/dist/src/assets/shader/core/pass/FrustumCulling_cs.js +0 -91
  115. package/dist/src/assets/shader/core/pass/GBuffer_pass.d.ts +0 -1
  116. package/dist/src/assets/shader/core/pass/GBuffer_pass.js +0 -72
  117. package/dist/src/assets/shader/core/pass/SkyGBuffer_pass.d.ts +0 -1
  118. package/dist/src/assets/shader/core/pass/SkyGBuffer_pass.js +0 -34
  119. package/dist/src/assets/shader/core/pass/ZPassShader_cs.d.ts +0 -1
  120. package/dist/src/assets/shader/core/pass/ZPassShader_cs.js +0 -14
  121. package/dist/src/assets/shader/core/pass/ZPassShader_fs.d.ts +0 -1
  122. package/dist/src/assets/shader/core/pass/ZPassShader_fs.js +0 -15
  123. package/dist/src/assets/shader/core/pass/ZPassShader_vs.d.ts +0 -1
  124. package/dist/src/assets/shader/core/pass/ZPassShader_vs.js +0 -83
  125. package/dist/src/assets/shader/core/struct/ClusterLight.d.ts +0 -4
  126. package/dist/src/assets/shader/core/struct/ClusterLight.js +0 -98
  127. package/dist/src/assets/shader/core/struct/ColorPassFragmentOutput.d.ts +0 -1
  128. package/dist/src/assets/shader/core/struct/ColorPassFragmentOutput.js +0 -16
  129. package/dist/src/assets/shader/core/struct/FragmentOutput.d.ts +0 -1
  130. package/dist/src/assets/shader/core/struct/FragmentOutput.js +0 -18
  131. package/dist/src/assets/shader/core/struct/FragmentVarying.d.ts +0 -1
  132. package/dist/src/assets/shader/core/struct/FragmentVarying.js +0 -23
  133. package/dist/src/assets/shader/core/struct/ShadingInput.d.ts +0 -1
  134. package/dist/src/assets/shader/core/struct/ShadingInput.js +0 -21
  135. package/dist/src/assets/shader/core/struct/VertexAttributeIndexShader.d.ts +0 -1
  136. package/dist/src/assets/shader/core/struct/VertexAttributeIndexShader.js +0 -100
  137. package/dist/src/assets/shader/core/struct/VertexAttributes.d.ts +0 -1
  138. package/dist/src/assets/shader/core/struct/VertexAttributes.js +0 -160
  139. package/dist/src/assets/shader/env/ReflectionCG.d.ts +0 -1
  140. package/dist/src/assets/shader/env/ReflectionCG.js +0 -86
  141. package/dist/src/assets/shader/glsl/Quad_glsl.d.ts +0 -2
  142. package/dist/src/assets/shader/glsl/Quad_glsl.js +0 -55
  143. package/dist/src/assets/shader/lighting/BRDF_frag.d.ts +0 -4
  144. package/dist/src/assets/shader/lighting/BRDF_frag.js +0 -461
  145. package/dist/src/assets/shader/lighting/BsDF_frag.d.ts +0 -4
  146. package/dist/src/assets/shader/lighting/BsDF_frag.js +0 -139
  147. package/dist/src/assets/shader/lighting/BxDF_frag.d.ts +0 -4
  148. package/dist/src/assets/shader/lighting/BxDF_frag.js +0 -210
  149. package/dist/src/assets/shader/lighting/Hair_frag.d.ts +0 -1
  150. package/dist/src/assets/shader/lighting/Hair_frag.js +0 -277
  151. package/dist/src/assets/shader/lighting/IESProfiles_frag.d.ts +0 -1
  152. package/dist/src/assets/shader/lighting/IESProfiles_frag.js +0 -33
  153. package/dist/src/assets/shader/lighting/IrradianceVolumeData_frag.d.ts +0 -1
  154. package/dist/src/assets/shader/lighting/IrradianceVolumeData_frag.js +0 -40
  155. package/dist/src/assets/shader/lighting/Irradiance_frag.d.ts +0 -4
  156. package/dist/src/assets/shader/lighting/Irradiance_frag.js +0 -270
  157. package/dist/src/assets/shader/lighting/LightingFunction_frag.d.ts +0 -1
  158. package/dist/src/assets/shader/lighting/LightingFunction_frag.js +0 -203
  159. package/dist/src/assets/shader/lighting/UnLit_frag.d.ts +0 -1
  160. package/dist/src/assets/shader/lighting/UnLit_frag.js +0 -30
  161. package/dist/src/assets/shader/materials/ColorLitShader.d.ts +0 -1
  162. package/dist/src/assets/shader/materials/ColorLitShader.js +0 -22
  163. package/dist/src/assets/shader/materials/GIProbeShader.d.ts +0 -1
  164. package/dist/src/assets/shader/materials/GIProbeShader.js +0 -34
  165. package/dist/src/assets/shader/materials/GlassShader.d.ts +0 -1
  166. package/dist/src/assets/shader/materials/GlassShader.js +0 -26
  167. package/dist/src/assets/shader/materials/Hair_shader.d.ts +0 -2
  168. package/dist/src/assets/shader/materials/Hair_shader.js +0 -210
  169. package/dist/src/assets/shader/materials/Lambert_shader.d.ts +0 -1
  170. package/dist/src/assets/shader/materials/Lambert_shader.js +0 -56
  171. package/dist/src/assets/shader/materials/Lit_shader.d.ts +0 -1
  172. package/dist/src/assets/shader/materials/Lit_shader.js +0 -21
  173. package/dist/src/assets/shader/materials/OutlinePass.d.ts +0 -1
  174. package/dist/src/assets/shader/materials/OutlinePass.js +0 -73
  175. package/dist/src/assets/shader/materials/PBRLItShader.d.ts +0 -4
  176. package/dist/src/assets/shader/materials/PBRLItShader.js +0 -155
  177. package/dist/src/assets/shader/materials/PBRLitSSSShader.d.ts +0 -4
  178. package/dist/src/assets/shader/materials/PBRLitSSSShader.js +0 -192
  179. package/dist/src/assets/shader/materials/ReflectionShader_shader.d.ts +0 -1
  180. package/dist/src/assets/shader/materials/ReflectionShader_shader.js +0 -63
  181. package/dist/src/assets/shader/materials/UnLit.d.ts +0 -4
  182. package/dist/src/assets/shader/materials/UnLit.js +0 -41
  183. package/dist/src/assets/shader/materials/UnLitTextureArray.d.ts +0 -1
  184. package/dist/src/assets/shader/materials/UnLitTextureArray.js +0 -100
  185. package/dist/src/assets/shader/materials/program/BxdfDebug_frag.d.ts +0 -4
  186. package/dist/src/assets/shader/materials/program/BxdfDebug_frag.js +0 -180
  187. package/dist/src/assets/shader/materials/program/Clearcoat_frag.d.ts +0 -1
  188. package/dist/src/assets/shader/materials/program/Clearcoat_frag.js +0 -38
  189. package/dist/src/assets/shader/materials/program/ClusterDebug_frag.d.ts +0 -1
  190. package/dist/src/assets/shader/materials/program/ClusterDebug_frag.js +0 -40
  191. package/dist/src/assets/shader/materials/program/NormalMap_frag.d.ts +0 -4
  192. package/dist/src/assets/shader/materials/program/NormalMap_frag.js +0 -65
  193. package/dist/src/assets/shader/materials/program/ShadowMapping_frag.d.ts +0 -1
  194. package/dist/src/assets/shader/materials/program/ShadowMapping_frag.js +0 -210
  195. package/dist/src/assets/shader/materials/uniforms/PhysicMaterialUniform_frag.d.ts +0 -1
  196. package/dist/src/assets/shader/materials/uniforms/PhysicMaterialUniform_frag.js +0 -37
  197. package/dist/src/assets/shader/materials/uniforms/UnLitMaterialUniform_frag.d.ts +0 -1
  198. package/dist/src/assets/shader/materials/uniforms/UnLitMaterialUniform_frag.js +0 -14
  199. package/dist/src/assets/shader/materials/uniforms/VideoUniform_frag.d.ts +0 -1
  200. package/dist/src/assets/shader/materials/uniforms/VideoUniform_frag.js +0 -12
  201. package/dist/src/assets/shader/math/FastMathShader.d.ts +0 -1
  202. package/dist/src/assets/shader/math/FastMathShader.js +0 -91
  203. package/dist/src/assets/shader/math/MathShader.d.ts +0 -4
  204. package/dist/src/assets/shader/math/MathShader.js +0 -558
  205. package/dist/src/assets/shader/math/MatrixShader.d.ts +0 -1
  206. package/dist/src/assets/shader/math/MatrixShader.js +0 -104
  207. package/dist/src/assets/shader/post/FXAAShader.d.ts +0 -1
  208. package/dist/src/assets/shader/post/FXAAShader.js +0 -79
  209. package/dist/src/assets/shader/post/GlobalFog_shader.d.ts +0 -4
  210. package/dist/src/assets/shader/post/GlobalFog_shader.js +0 -191
  211. package/dist/src/assets/shader/quad/Quad_shader.d.ts +0 -24
  212. package/dist/src/assets/shader/quad/Quad_shader.js +0 -210
  213. package/dist/src/assets/shader/sky/AtmosphericScatteringSky_shader.d.ts +0 -6
  214. package/dist/src/assets/shader/sky/AtmosphericScatteringSky_shader.js +0 -312
  215. package/dist/src/assets/shader/sky/CubeSky_Shader.d.ts +0 -7
  216. package/dist/src/assets/shader/sky/CubeSky_Shader.js +0 -122
  217. package/dist/src/assets/shader/utils/BitUtil.d.ts +0 -1
  218. package/dist/src/assets/shader/utils/BitUtil.js +0 -108
  219. package/dist/src/assets/shader/utils/ColorUtil.d.ts +0 -1
  220. package/dist/src/assets/shader/utils/ColorUtil.js +0 -144
  221. package/dist/src/assets/shader/utils/GenerayRandomDir.d.ts +0 -1
  222. package/dist/src/assets/shader/utils/GenerayRandomDir.js +0 -22
  223. package/dist/src/components/AtmosphericComponent.d.ts +0 -28
  224. package/dist/src/components/AtmosphericComponent.js +0 -141
  225. package/dist/src/components/BillboardComponent.d.ts +0 -13
  226. package/dist/src/components/BillboardComponent.js +0 -30
  227. package/dist/src/components/ColliderComponent.d.ts +0 -15
  228. package/dist/src/components/ColliderComponent.js +0 -39
  229. package/dist/src/components/ComponentBase.d.ts +0 -43
  230. package/dist/src/components/ComponentBase.js +0 -141
  231. package/dist/src/components/IComponent.d.ts +0 -27
  232. package/dist/src/components/IComponent.js +0 -1
  233. package/dist/src/components/SkeletonAnimationComponent.d.ts +0 -52
  234. package/dist/src/components/SkeletonAnimationComponent.js +0 -225
  235. package/dist/src/components/Transform.d.ts +0 -119
  236. package/dist/src/components/Transform.js +0 -523
  237. package/dist/src/components/anim/AnimatorComponent.d.ts +0 -67
  238. package/dist/src/components/anim/AnimatorComponent.js +0 -411
  239. package/dist/src/components/anim/OAnimationEvent.d.ts +0 -6
  240. package/dist/src/components/anim/OAnimationEvent.js +0 -8
  241. package/dist/src/components/anim/curveAnim/AnimationMonitor.d.ts +0 -29
  242. package/dist/src/components/anim/curveAnim/AnimationMonitor.js +0 -159
  243. package/dist/src/components/anim/curveAnim/AttributeAnimCurve.d.ts +0 -8
  244. package/dist/src/components/anim/curveAnim/AttributeAnimCurve.js +0 -15
  245. package/dist/src/components/anim/curveAnim/PropertyAnimClip.d.ts +0 -29
  246. package/dist/src/components/anim/curveAnim/PropertyAnimClip.js +0 -54
  247. package/dist/src/components/anim/curveAnim/PropertyAnimation.d.ts +0 -31
  248. package/dist/src/components/anim/curveAnim/PropertyAnimation.js +0 -107
  249. package/dist/src/components/anim/curveAnim/PropertyAnimationEvent.d.ts +0 -14
  250. package/dist/src/components/anim/curveAnim/PropertyAnimationEvent.js +0 -11
  251. package/dist/src/components/anim/curveAnim/PropertyHelp.d.ts +0 -13
  252. package/dist/src/components/anim/curveAnim/PropertyHelp.js +0 -96
  253. package/dist/src/components/anim/morphAnim/MorphTargetBlender.d.ts +0 -18
  254. package/dist/src/components/anim/morphAnim/MorphTargetBlender.js +0 -81
  255. package/dist/src/components/anim/morphAnim/MorphTargetData.d.ts +0 -52
  256. package/dist/src/components/anim/morphAnim/MorphTargetData.js +0 -183
  257. package/dist/src/components/anim/morphAnim/MorphTargetFrame.d.ts +0 -68
  258. package/dist/src/components/anim/morphAnim/MorphTargetFrame.js +0 -4
  259. package/dist/src/components/anim/morphAnim/MorphTargetKey.d.ts +0 -58
  260. package/dist/src/components/anim/morphAnim/MorphTargetKey.js +0 -55
  261. package/dist/src/components/anim/morphAnim/MorphTarget_shader.d.ts +0 -8
  262. package/dist/src/components/anim/morphAnim/MorphTarget_shader.js +0 -101
  263. package/dist/src/components/anim/skeletonAnim/Joint.d.ts +0 -12
  264. package/dist/src/components/anim/skeletonAnim/Joint.js +0 -14
  265. package/dist/src/components/anim/skeletonAnim/JointPose.d.ts +0 -6
  266. package/dist/src/components/anim/skeletonAnim/JointPose.js +0 -7
  267. package/dist/src/components/anim/skeletonAnim/Skeleton.d.ts +0 -10
  268. package/dist/src/components/anim/skeletonAnim/Skeleton.js +0 -26
  269. package/dist/src/components/anim/skeletonAnim/SkeletonAnimationClip.d.ts +0 -22
  270. package/dist/src/components/anim/skeletonAnim/SkeletonAnimationClip.js +0 -70
  271. package/dist/src/components/anim/skeletonAnim/SkeletonAnimationClipState.d.ts +0 -21
  272. package/dist/src/components/anim/skeletonAnim/SkeletonAnimationClipState.js +0 -80
  273. package/dist/src/components/anim/skeletonAnim/SkeletonAnimationCompute.d.ts +0 -6
  274. package/dist/src/components/anim/skeletonAnim/SkeletonAnimationCompute.js +0 -27
  275. package/dist/src/components/anim/skeletonAnim/SkeletonPose.d.ts +0 -16
  276. package/dist/src/components/anim/skeletonAnim/SkeletonPose.js +0 -79
  277. package/dist/src/components/anim/skeletonAnim/buffer/SkeletonBlendComputeArgs.d.ts +0 -23
  278. package/dist/src/components/anim/skeletonAnim/buffer/SkeletonBlendComputeArgs.js +0 -61
  279. package/dist/src/components/anim/skeletonAnim/buffer/SkeletonTransformComputeArgs.d.ts +0 -23
  280. package/dist/src/components/anim/skeletonAnim/buffer/SkeletonTransformComputeArgs.js +0 -59
  281. package/dist/src/components/controller/CameraControllerBase.d.ts +0 -17
  282. package/dist/src/components/controller/CameraControllerBase.js +0 -33
  283. package/dist/src/components/controller/FirstPersonCameraController.d.ts +0 -15
  284. package/dist/src/components/controller/FirstPersonCameraController.js +0 -52
  285. package/dist/src/components/controller/FlyCameraController.d.ts +0 -36
  286. package/dist/src/components/controller/FlyCameraController.js +0 -180
  287. package/dist/src/components/controller/HoverCameraController.d.ts +0 -52
  288. package/dist/src/components/controller/HoverCameraController.js +0 -183
  289. package/dist/src/components/controller/OrbitController.d.ts +0 -170
  290. package/dist/src/components/controller/OrbitController.js +0 -339
  291. package/dist/src/components/controller/ThirdPersonCameraController.d.ts +0 -16
  292. package/dist/src/components/controller/ThirdPersonCameraController.js +0 -51
  293. package/dist/src/components/gui/GUIConfig.d.ts +0 -23
  294. package/dist/src/components/gui/GUIConfig.js +0 -26
  295. package/dist/src/components/gui/GUIExtension.d.ts +0 -5
  296. package/dist/src/components/gui/GUIExtension.js +0 -61
  297. package/dist/src/components/gui/GUIPick.d.ts +0 -36
  298. package/dist/src/components/gui/GUIPick.js +0 -178
  299. package/dist/src/components/gui/GUIPickHelper.d.ts +0 -25
  300. package/dist/src/components/gui/GUIPickHelper.js +0 -119
  301. package/dist/src/components/gui/core/GUIAtlasTexture.d.ts +0 -16
  302. package/dist/src/components/gui/core/GUIAtlasTexture.js +0 -22
  303. package/dist/src/components/gui/core/GUICanvas.d.ts +0 -21
  304. package/dist/src/components/gui/core/GUICanvas.js +0 -35
  305. package/dist/src/components/gui/core/GUIDefine.d.ts +0 -7
  306. package/dist/src/components/gui/core/GUIDefine.js +0 -8
  307. package/dist/src/components/gui/core/GUIGeometry.d.ts +0 -36
  308. package/dist/src/components/gui/core/GUIGeometry.js +0 -215
  309. package/dist/src/components/gui/core/GUIGeometryRebuild.d.ts +0 -21
  310. package/dist/src/components/gui/core/GUIGeometryRebuild.js +0 -105
  311. package/dist/src/components/gui/core/GUIMaterial.d.ts +0 -29
  312. package/dist/src/components/gui/core/GUIMaterial.js +0 -111
  313. package/dist/src/components/gui/core/GUIQuad.d.ts +0 -52
  314. package/dist/src/components/gui/core/GUIQuad.js +0 -154
  315. package/dist/src/components/gui/core/GUIRenderer.d.ts +0 -15
  316. package/dist/src/components/gui/core/GUIRenderer.js +0 -42
  317. package/dist/src/components/gui/core/GUIShader.d.ts +0 -8
  318. package/dist/src/components/gui/core/GUIShader.js +0 -267
  319. package/dist/src/components/gui/core/GUISprite.d.ts +0 -19
  320. package/dist/src/components/gui/core/GUISprite.js +0 -19
  321. package/dist/src/components/gui/core/GUITexture.d.ts +0 -12
  322. package/dist/src/components/gui/core/GUITexture.js +0 -25
  323. package/dist/src/components/gui/uiComponents/IUIInteractive.d.ts +0 -25
  324. package/dist/src/components/gui/uiComponents/IUIInteractive.js +0 -7
  325. package/dist/src/components/gui/uiComponents/TextFieldLayout.d.ts +0 -34
  326. package/dist/src/components/gui/uiComponents/TextFieldLayout.js +0 -265
  327. package/dist/src/components/gui/uiComponents/UIButton.d.ts +0 -45
  328. package/dist/src/components/gui/uiComponents/UIButton.js +0 -140
  329. package/dist/src/components/gui/uiComponents/UIComponentBase.d.ts +0 -15
  330. package/dist/src/components/gui/uiComponents/UIComponentBase.js +0 -33
  331. package/dist/src/components/gui/uiComponents/UIImage.d.ts +0 -21
  332. package/dist/src/components/gui/uiComponents/UIImage.js +0 -72
  333. package/dist/src/components/gui/uiComponents/UIImageGroup.d.ts +0 -31
  334. package/dist/src/components/gui/uiComponents/UIImageGroup.js +0 -87
  335. package/dist/src/components/gui/uiComponents/UIInteractive.d.ts +0 -25
  336. package/dist/src/components/gui/uiComponents/UIInteractive.js +0 -50
  337. package/dist/src/components/gui/uiComponents/UIPanel.d.ts +0 -38
  338. package/dist/src/components/gui/uiComponents/UIPanel.js +0 -173
  339. package/dist/src/components/gui/uiComponents/UIRenderAble.d.ts +0 -27
  340. package/dist/src/components/gui/uiComponents/UIRenderAble.js +0 -106
  341. package/dist/src/components/gui/uiComponents/UIShadow.d.ts +0 -31
  342. package/dist/src/components/gui/uiComponents/UIShadow.js +0 -117
  343. package/dist/src/components/gui/uiComponents/UITextField.d.ts +0 -36
  344. package/dist/src/components/gui/uiComponents/UITextField.js +0 -122
  345. package/dist/src/components/gui/uiComponents/UITransform.d.ts +0 -60
  346. package/dist/src/components/gui/uiComponents/UITransform.js +0 -243
  347. package/dist/src/components/gui/uiComponents/ViewPanel.d.ts +0 -9
  348. package/dist/src/components/gui/uiComponents/ViewPanel.js +0 -13
  349. package/dist/src/components/gui/uiComponents/WorldPanel.d.ts +0 -13
  350. package/dist/src/components/gui/uiComponents/WorldPanel.js +0 -34
  351. package/dist/src/components/lights/DirectLight.d.ts +0 -13
  352. package/dist/src/components/lights/DirectLight.js +0 -52
  353. package/dist/src/components/lights/GILighting.d.ts +0 -6
  354. package/dist/src/components/lights/GILighting.js +0 -15
  355. package/dist/src/components/lights/IESProfiles.d.ts +0 -14
  356. package/dist/src/components/lights/IESProfiles.js +0 -33
  357. package/dist/src/components/lights/ILight.d.ts +0 -12
  358. package/dist/src/components/lights/ILight.js +0 -1
  359. package/dist/src/components/lights/Light.d.ts +0 -32
  360. package/dist/src/components/lights/Light.js +0 -90
  361. package/dist/src/components/lights/LightBase.d.ts +0 -127
  362. package/dist/src/components/lights/LightBase.js +0 -238
  363. package/dist/src/components/lights/LightData.d.ts +0 -29
  364. package/dist/src/components/lights/LightData.js +0 -33
  365. package/dist/src/components/lights/PointLight.d.ts +0 -19
  366. package/dist/src/components/lights/PointLight.js +0 -67
  367. package/dist/src/components/lights/SpotLight.d.ts +0 -21
  368. package/dist/src/components/lights/SpotLight.js +0 -79
  369. package/dist/src/components/post/PostProcessingComponent.d.ts +0 -16
  370. package/dist/src/components/post/PostProcessingComponent.js +0 -52
  371. package/dist/src/components/renderer/GlobalIlluminationComponent.d.ts +0 -22
  372. package/dist/src/components/renderer/GlobalIlluminationComponent.js +0 -118
  373. package/dist/src/components/renderer/InstanceDrawComponent.d.ts +0 -19
  374. package/dist/src/components/renderer/InstanceDrawComponent.js +0 -120
  375. package/dist/src/components/renderer/MeshFilter.d.ts +0 -9
  376. package/dist/src/components/renderer/MeshFilter.js +0 -37
  377. package/dist/src/components/renderer/MeshRenderer.d.ts +0 -51
  378. package/dist/src/components/renderer/MeshRenderer.js +0 -156
  379. package/dist/src/components/renderer/Reflection.d.ts +0 -15
  380. package/dist/src/components/renderer/Reflection.js +0 -33
  381. package/dist/src/components/renderer/RenderNode.d.ts +0 -85
  382. package/dist/src/components/renderer/RenderNode.js +0 -518
  383. package/dist/src/components/renderer/SkinnedMeshRenderer.d.ts +0 -26
  384. package/dist/src/components/renderer/SkinnedMeshRenderer.js +0 -111
  385. package/dist/src/components/renderer/SkinnedMeshRenderer2.d.ts +0 -37
  386. package/dist/src/components/renderer/SkinnedMeshRenderer2.js +0 -138
  387. package/dist/src/components/renderer/SkyRenderer.d.ts +0 -36
  388. package/dist/src/components/renderer/SkyRenderer.js +0 -94
  389. package/dist/src/components/renderer/SphereReflection.d.ts +0 -12
  390. package/dist/src/components/renderer/SphereReflection.js +0 -45
  391. package/dist/src/components/shape/BoxColliderShape.d.ts +0 -9
  392. package/dist/src/components/shape/BoxColliderShape.js +0 -28
  393. package/dist/src/components/shape/CapsuleColliderShape.d.ts +0 -6
  394. package/dist/src/components/shape/CapsuleColliderShape.js +0 -9
  395. package/dist/src/components/shape/ColliderShape.d.ts +0 -35
  396. package/dist/src/components/shape/ColliderShape.js +0 -49
  397. package/dist/src/components/shape/MeshColliderShape.d.ts +0 -8
  398. package/dist/src/components/shape/MeshColliderShape.js +0 -55
  399. package/dist/src/components/shape/SphereColliderShape.d.ts +0 -26
  400. package/dist/src/components/shape/SphereColliderShape.js +0 -47
  401. package/dist/src/core/Camera3D.d.ts +0 -308
  402. package/dist/src/core/Camera3D.js +0 -534
  403. package/dist/src/core/CameraType.d.ts +0 -5
  404. package/dist/src/core/CameraType.js +0 -6
  405. package/dist/src/core/CubeCamera.d.ts +0 -18
  406. package/dist/src/core/CubeCamera.js +0 -67
  407. package/dist/src/core/PointShadowCubeCamera.d.ts +0 -13
  408. package/dist/src/core/PointShadowCubeCamera.js +0 -59
  409. package/dist/src/core/Scene3D.d.ts +0 -66
  410. package/dist/src/core/Scene3D.js +0 -88
  411. package/dist/src/core/View3D.d.ts +0 -85
  412. package/dist/src/core/View3D.js +0 -113
  413. package/dist/src/core/ViewQuad.d.ts +0 -19
  414. package/dist/src/core/ViewQuad.js +0 -84
  415. package/dist/src/core/bound/BoundingBox.d.ts +0 -34
  416. package/dist/src/core/bound/BoundingBox.js +0 -155
  417. package/dist/src/core/bound/BoundingSphere.d.ts +0 -34
  418. package/dist/src/core/bound/BoundingSphere.js +0 -71
  419. package/dist/src/core/bound/Frustum.d.ts +0 -17
  420. package/dist/src/core/bound/Frustum.js +0 -184
  421. package/dist/src/core/bound/IBound.d.ts +0 -19
  422. package/dist/src/core/bound/IBound.js +0 -1
  423. package/dist/src/core/csm/CSM.d.ts +0 -3
  424. package/dist/src/core/csm/CSM.js +0 -3
  425. package/dist/src/core/csm/FrustumCSM.d.ts +0 -32
  426. package/dist/src/core/csm/FrustumCSM.js +0 -106
  427. package/dist/src/core/entities/Entity.d.ts +0 -43
  428. package/dist/src/core/entities/Entity.js +0 -200
  429. package/dist/src/core/entities/InstancedMesh.d.ts +0 -11
  430. package/dist/src/core/entities/InstancedMesh.js +0 -32
  431. package/dist/src/core/entities/Object3D.d.ts +0 -66
  432. package/dist/src/core/entities/Object3D.js +0 -284
  433. package/dist/src/core/geometry/ExtrudeGeometry.d.ts +0 -31
  434. package/dist/src/core/geometry/ExtrudeGeometry.js +0 -156
  435. package/dist/src/core/geometry/GeometryBase.d.ts +0 -70
  436. package/dist/src/core/geometry/GeometryBase.js +0 -248
  437. package/dist/src/core/geometry/GeometryIndicesBuffer.d.ts +0 -15
  438. package/dist/src/core/geometry/GeometryIndicesBuffer.js +0 -33
  439. package/dist/src/core/geometry/GeometryVertexBuffer.d.ts +0 -23
  440. package/dist/src/core/geometry/GeometryVertexBuffer.js +0 -243
  441. package/dist/src/core/geometry/GeometryVertexType.d.ts +0 -5
  442. package/dist/src/core/geometry/GeometryVertexType.js +0 -6
  443. package/dist/src/core/geometry/VertexAttribute.d.ts +0 -15
  444. package/dist/src/core/geometry/VertexAttribute.js +0 -4
  445. package/dist/src/core/geometry/VertexAttributeData.d.ts +0 -5
  446. package/dist/src/core/geometry/VertexAttributeData.js +0 -1
  447. package/dist/src/core/geometry/VertexAttributeName.d.ts +0 -23
  448. package/dist/src/core/geometry/VertexAttributeName.js +0 -24
  449. package/dist/src/core/geometry/VertexAttributeSize.d.ts +0 -11
  450. package/dist/src/core/geometry/VertexAttributeSize.js +0 -12
  451. package/dist/src/core/geometry/VertexAttributeStride.d.ts +0 -15
  452. package/dist/src/core/geometry/VertexAttributeStride.js +0 -16
  453. package/dist/src/core/geometry/VertexFormat.d.ts +0 -1
  454. package/dist/src/core/geometry/VertexFormat.js +0 -8
  455. package/dist/src/core/pool/ObjectPool.d.ts +0 -11
  456. package/dist/src/core/pool/ObjectPool.js +0 -33
  457. package/dist/src/core/pool/memory/MemoryDO.d.ts +0 -14
  458. package/dist/src/core/pool/memory/MemoryDO.js +0 -48
  459. package/dist/src/core/pool/memory/MemoryInfo.d.ts +0 -83
  460. package/dist/src/core/pool/memory/MemoryInfo.js +0 -316
  461. package/dist/src/core/tree/kdTree/IKDTreeUserData.d.ts +0 -10
  462. package/dist/src/core/tree/kdTree/IKDTreeUserData.js +0 -9
  463. package/dist/src/core/tree/kdTree/KDTreeEntity.d.ts +0 -27
  464. package/dist/src/core/tree/kdTree/KDTreeEntity.js +0 -48
  465. package/dist/src/core/tree/kdTree/KDTreeNode.d.ts +0 -68
  466. package/dist/src/core/tree/kdTree/KDTreeNode.js +0 -257
  467. package/dist/src/core/tree/kdTree/KDTreeSpace.d.ts +0 -26
  468. package/dist/src/core/tree/kdTree/KDTreeSpace.js +0 -66
  469. package/dist/src/core/tree/octree/Octree.d.ts +0 -28
  470. package/dist/src/core/tree/octree/Octree.js +0 -133
  471. package/dist/src/core/tree/octree/OctreeEntity.d.ts +0 -11
  472. package/dist/src/core/tree/octree/OctreeEntity.js +0 -25
  473. package/dist/src/core/tree/quad/IQuadNode.d.ts +0 -9
  474. package/dist/src/core/tree/quad/IQuadNode.js +0 -1
  475. package/dist/src/core/tree/quad/QuadAABB.d.ts +0 -26
  476. package/dist/src/core/tree/quad/QuadAABB.js +0 -116
  477. package/dist/src/core/tree/quad/QuadRoot.d.ts +0 -14
  478. package/dist/src/core/tree/quad/QuadRoot.js +0 -67
  479. package/dist/src/core/tree/quad/QuadTree.d.ts +0 -22
  480. package/dist/src/core/tree/quad/QuadTree.js +0 -250
  481. package/dist/src/core/tree/quad/QuadTreeCell.d.ts +0 -23
  482. package/dist/src/core/tree/quad/QuadTreeCell.js +0 -36
  483. package/dist/src/event/CEvent.d.ts +0 -27
  484. package/dist/src/event/CEvent.js +0 -19
  485. package/dist/src/event/CEventDispatcher.d.ts +0 -13
  486. package/dist/src/event/CEventDispatcher.js +0 -129
  487. package/dist/src/event/CEventListener.d.ts +0 -13
  488. package/dist/src/event/CEventListener.js +0 -26
  489. package/dist/src/event/CResizeEvent.d.ts +0 -4
  490. package/dist/src/event/CResizeEvent.js +0 -4
  491. package/dist/src/event/KeyCode.d.ts +0 -110
  492. package/dist/src/event/KeyCode.js +0 -111
  493. package/dist/src/event/MouseCode.d.ts +0 -5
  494. package/dist/src/event/MouseCode.js +0 -6
  495. package/dist/src/event/eventConst/KeyEvent.d.ts +0 -6
  496. package/dist/src/event/eventConst/KeyEvent.js +0 -9
  497. package/dist/src/event/eventConst/LoaderEvent.d.ts +0 -5
  498. package/dist/src/event/eventConst/LoaderEvent.js +0 -5
  499. package/dist/src/event/eventConst/Object3DEvent.d.ts +0 -7
  500. package/dist/src/event/eventConst/Object3DEvent.js +0 -7
  501. package/dist/src/event/eventConst/PointerEvent3D.d.ts +0 -63
  502. package/dist/src/event/eventConst/PointerEvent3D.js +0 -54
  503. package/dist/src/event/eventConst/UIEvent.d.ts +0 -6
  504. package/dist/src/event/eventConst/UIEvent.js +0 -6
  505. package/dist/src/gfx/generate/BrdfLUTGenerate.d.ts +0 -7
  506. package/dist/src/gfx/generate/BrdfLUTGenerate.js +0 -20
  507. package/dist/src/gfx/generate/PassGenerate.d.ts +0 -9
  508. package/dist/src/gfx/generate/PassGenerate.js +0 -181
  509. package/dist/src/gfx/generate/convert/BlurEffectCreator.d.ts +0 -7
  510. package/dist/src/gfx/generate/convert/BlurEffectCreator.js +0 -79
  511. package/dist/src/gfx/generate/convert/ErpImage2CubeMap.d.ts +0 -9
  512. package/dist/src/gfx/generate/convert/ErpImage2CubeMap.js +0 -144
  513. package/dist/src/gfx/generate/convert/IBLEnvMapCreator.d.ts +0 -12
  514. package/dist/src/gfx/generate/convert/IBLEnvMapCreator.js +0 -109
  515. package/dist/src/gfx/generate/convert/MergeRGBACreator.d.ts +0 -5
  516. package/dist/src/gfx/generate/convert/MergeRGBACreator.js +0 -32
  517. package/dist/src/gfx/generate/convert/TextureCubeStdCreator.d.ts +0 -9
  518. package/dist/src/gfx/generate/convert/TextureCubeStdCreator.js +0 -117
  519. package/dist/src/gfx/generate/convert/TextureCubeUtils.d.ts +0 -12
  520. package/dist/src/gfx/generate/convert/TextureCubeUtils.js +0 -47
  521. package/dist/src/gfx/generate/convert/TextureScaleCompute.d.ts +0 -6
  522. package/dist/src/gfx/generate/convert/TextureScaleCompute.js +0 -18
  523. package/dist/src/gfx/graphics/webGpu/CanvasConfig.d.ts +0 -7
  524. package/dist/src/gfx/graphics/webGpu/CanvasConfig.js +0 -1
  525. package/dist/src/gfx/graphics/webGpu/Context3D.d.ts +0 -20
  526. package/dist/src/gfx/graphics/webGpu/Context3D.js +0 -112
  527. package/dist/src/gfx/graphics/webGpu/PipelinePool.d.ts +0 -5
  528. package/dist/src/gfx/graphics/webGpu/PipelinePool.js +0 -15
  529. package/dist/src/gfx/graphics/webGpu/WebGPUConst.d.ts +0 -154
  530. package/dist/src/gfx/graphics/webGpu/WebGPUConst.js +0 -154
  531. package/dist/src/gfx/graphics/webGpu/compute/PreIntegratedLutCompute.d.ts +0 -8
  532. package/dist/src/gfx/graphics/webGpu/compute/PreIntegratedLutCompute.js +0 -23
  533. package/dist/src/gfx/graphics/webGpu/compute/RenderShaderCompute.d.ts +0 -12
  534. package/dist/src/gfx/graphics/webGpu/compute/RenderShaderCompute.js +0 -19
  535. package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalBindGroup.d.ts +0 -18
  536. package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalBindGroup.js +0 -64
  537. package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalBindGroupLayout.d.ts +0 -4
  538. package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalBindGroupLayout.js +0 -29
  539. package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalUniformGroup.d.ts +0 -25
  540. package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalUniformGroup.js +0 -179
  541. package/dist/src/gfx/graphics/webGpu/core/bindGroups/MatrixBindGroup.d.ts +0 -11
  542. package/dist/src/gfx/graphics/webGpu/core/bindGroups/MatrixBindGroup.js +0 -22
  543. package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/LightEntries.d.ts +0 -11
  544. package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/LightEntries.js +0 -48
  545. package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/ProbeEntries.d.ts +0 -10
  546. package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/ProbeEntries.js +0 -41
  547. package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/ReflectionEntries.d.ts +0 -12
  548. package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/ReflectionEntries.js +0 -21
  549. package/dist/src/gfx/graphics/webGpu/core/buffer/ArrayBufferData.d.ts +0 -1
  550. package/dist/src/gfx/graphics/webGpu/core/buffer/ArrayBufferData.js +0 -1
  551. package/dist/src/gfx/graphics/webGpu/core/buffer/ComputeGPUBuffer.d.ts +0 -4
  552. package/dist/src/gfx/graphics/webGpu/core/buffer/ComputeGPUBuffer.js +0 -11
  553. package/dist/src/gfx/graphics/webGpu/core/buffer/GPUBufferBase.d.ts +0 -84
  554. package/dist/src/gfx/graphics/webGpu/core/buffer/GPUBufferBase.js +0 -493
  555. package/dist/src/gfx/graphics/webGpu/core/buffer/GPUBufferType.d.ts +0 -9
  556. package/dist/src/gfx/graphics/webGpu/core/buffer/GPUBufferType.js +0 -10
  557. package/dist/src/gfx/graphics/webGpu/core/buffer/IndicesGPUBuffer.d.ts +0 -14
  558. package/dist/src/gfx/graphics/webGpu/core/buffer/IndicesGPUBuffer.js +0 -44
  559. package/dist/src/gfx/graphics/webGpu/core/buffer/MaterialDataUniformGPUBuffer.d.ts +0 -10
  560. package/dist/src/gfx/graphics/webGpu/core/buffer/MaterialDataUniformGPUBuffer.js +0 -46
  561. package/dist/src/gfx/graphics/webGpu/core/buffer/MatrixGPUBuffer.d.ts +0 -8
  562. package/dist/src/gfx/graphics/webGpu/core/buffer/MatrixGPUBuffer.js +0 -57
  563. package/dist/src/gfx/graphics/webGpu/core/buffer/StorageGPUBuffer.d.ts +0 -11
  564. package/dist/src/gfx/graphics/webGpu/core/buffer/StorageGPUBuffer.js +0 -16
  565. package/dist/src/gfx/graphics/webGpu/core/buffer/StructStorageGPUBuffer.d.ts +0 -7
  566. package/dist/src/gfx/graphics/webGpu/core/buffer/StructStorageGPUBuffer.js +0 -9
  567. package/dist/src/gfx/graphics/webGpu/core/buffer/UniformGPUBuffer.d.ts +0 -11
  568. package/dist/src/gfx/graphics/webGpu/core/buffer/UniformGPUBuffer.js +0 -17
  569. package/dist/src/gfx/graphics/webGpu/core/buffer/VertexGPUBuffer.d.ts +0 -7
  570. package/dist/src/gfx/graphics/webGpu/core/buffer/VertexGPUBuffer.js +0 -29
  571. package/dist/src/gfx/graphics/webGpu/core/texture/ITexture.d.ts +0 -18
  572. package/dist/src/gfx/graphics/webGpu/core/texture/ITexture.js +0 -1
  573. package/dist/src/gfx/graphics/webGpu/core/texture/Texture.d.ts +0 -79
  574. package/dist/src/gfx/graphics/webGpu/core/texture/Texture.js +0 -307
  575. package/dist/src/gfx/graphics/webGpu/core/texture/TextureCube.d.ts +0 -11
  576. package/dist/src/gfx/graphics/webGpu/core/texture/TextureCube.js +0 -51
  577. package/dist/src/gfx/graphics/webGpu/core/texture/TextureMipmapCompute.d.ts +0 -9
  578. package/dist/src/gfx/graphics/webGpu/core/texture/TextureMipmapCompute.js +0 -134
  579. package/dist/src/gfx/graphics/webGpu/core/texture/TextureMipmapGenerator.d.ts +0 -9
  580. package/dist/src/gfx/graphics/webGpu/core/texture/TextureMipmapGenerator.js +0 -163
  581. package/dist/src/gfx/graphics/webGpu/core/uniforms/UniformNode.d.ts +0 -34
  582. package/dist/src/gfx/graphics/webGpu/core/uniforms/UniformNode.js +0 -176
  583. package/dist/src/gfx/graphics/webGpu/descriptor/RTDescriptor.d.ts +0 -5
  584. package/dist/src/gfx/graphics/webGpu/descriptor/RTDescriptor.js +0 -7
  585. package/dist/src/gfx/graphics/webGpu/descriptor/WebGPUDescriptorCreator.d.ts +0 -8
  586. package/dist/src/gfx/graphics/webGpu/descriptor/WebGPUDescriptorCreator.js +0 -174
  587. package/dist/src/gfx/graphics/webGpu/shader/ComputeShader.d.ts +0 -28
  588. package/dist/src/gfx/graphics/webGpu/shader/ComputeShader.js +0 -219
  589. package/dist/src/gfx/graphics/webGpu/shader/RenderShaderPass.d.ts +0 -206
  590. package/dist/src/gfx/graphics/webGpu/shader/RenderShaderPass.js +0 -888
  591. package/dist/src/gfx/graphics/webGpu/shader/Shader.d.ts +0 -53
  592. package/dist/src/gfx/graphics/webGpu/shader/Shader.js +0 -205
  593. package/dist/src/gfx/graphics/webGpu/shader/ShaderPassBase.d.ts +0 -60
  594. package/dist/src/gfx/graphics/webGpu/shader/ShaderPassBase.js +0 -150
  595. package/dist/src/gfx/graphics/webGpu/shader/ShaderStage.d.ts +0 -5
  596. package/dist/src/gfx/graphics/webGpu/shader/ShaderStage.js +0 -6
  597. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLLexer.d.ts +0 -16
  598. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLLexer.js +0 -422
  599. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLLexerToken.d.ts +0 -174
  600. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLLexerToken.js +0 -388
  601. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLPreprocessor.d.ts +0 -10
  602. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLPreprocessor.js +0 -198
  603. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLSyntax.d.ts +0 -14
  604. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLSyntax.js +0 -106
  605. package/dist/src/gfx/graphics/webGpu/shader/converter/Reader.d.ts +0 -30
  606. package/dist/src/gfx/graphics/webGpu/shader/converter/Reader.js +0 -136
  607. package/dist/src/gfx/graphics/webGpu/shader/converter/ShaderConverter.d.ts +0 -47
  608. package/dist/src/gfx/graphics/webGpu/shader/converter/ShaderConverter.js +0 -69
  609. package/dist/src/gfx/graphics/webGpu/shader/converter/StatementNode.d.ts +0 -309
  610. package/dist/src/gfx/graphics/webGpu/shader/converter/StatementNode.js +0 -1804
  611. package/dist/src/gfx/graphics/webGpu/shader/converter/WGSLTranslator.d.ts +0 -50
  612. package/dist/src/gfx/graphics/webGpu/shader/converter/WGSLTranslator.js +0 -272
  613. package/dist/src/gfx/graphics/webGpu/shader/util/MorePassParser.d.ts +0 -25
  614. package/dist/src/gfx/graphics/webGpu/shader/util/MorePassParser.js +0 -134
  615. package/dist/src/gfx/graphics/webGpu/shader/util/Preprocessor.d.ts +0 -28
  616. package/dist/src/gfx/graphics/webGpu/shader/util/Preprocessor.js +0 -304
  617. package/dist/src/gfx/graphics/webGpu/shader/util/ShaderUtil.d.ts +0 -23
  618. package/dist/src/gfx/graphics/webGpu/shader/util/ShaderUtil.js +0 -6
  619. package/dist/src/gfx/graphics/webGpu/shader/value/ConstValue.d.ts +0 -1
  620. package/dist/src/gfx/graphics/webGpu/shader/value/ConstValue.js +0 -1
  621. package/dist/src/gfx/graphics/webGpu/shader/value/DefineValue.d.ts +0 -4
  622. package/dist/src/gfx/graphics/webGpu/shader/value/DefineValue.js +0 -1
  623. package/dist/src/gfx/graphics/webGpu/shader/value/ShaderReflectionInfo.d.ts +0 -57
  624. package/dist/src/gfx/graphics/webGpu/shader/value/ShaderReflectionInfo.js +0 -421
  625. package/dist/src/gfx/graphics/webGpu/shader/value/ShaderState.d.ts +0 -30
  626. package/dist/src/gfx/graphics/webGpu/shader/value/ShaderState.js +0 -113
  627. package/dist/src/gfx/graphics/webGpu/shader/value/ShaderValue.d.ts +0 -32
  628. package/dist/src/gfx/graphics/webGpu/shader/value/ShaderValue.js +0 -1
  629. package/dist/src/gfx/graphics/webGpu/shader/value/UniformValue.d.ts +0 -13
  630. package/dist/src/gfx/graphics/webGpu/shader/value/UniformValue.js +0 -9
  631. package/dist/src/gfx/renderJob/GPUContext.d.ts +0 -32
  632. package/dist/src/gfx/renderJob/GPUContext.js +0 -152
  633. package/dist/src/gfx/renderJob/collect/CollectInfo.d.ts +0 -7
  634. package/dist/src/gfx/renderJob/collect/CollectInfo.js +0 -10
  635. package/dist/src/gfx/renderJob/collect/ComponentCollect.d.ts +0 -29
  636. package/dist/src/gfx/renderJob/collect/ComponentCollect.js +0 -134
  637. package/dist/src/gfx/renderJob/collect/EntityBatchCollect.d.ts +0 -7
  638. package/dist/src/gfx/renderJob/collect/EntityBatchCollect.js +0 -24
  639. package/dist/src/gfx/renderJob/collect/EntityCollect.d.ts +0 -48
  640. package/dist/src/gfx/renderJob/collect/EntityCollect.js +0 -260
  641. package/dist/src/gfx/renderJob/collect/RenderGroup.d.ts +0 -7
  642. package/dist/src/gfx/renderJob/collect/RenderGroup.js +0 -1
  643. package/dist/src/gfx/renderJob/collect/RenderShaderCollect.d.ts +0 -9
  644. package/dist/src/gfx/renderJob/collect/RenderShaderCollect.js +0 -51
  645. package/dist/src/gfx/renderJob/collect/ShadowLightsCollect.d.ts +0 -20
  646. package/dist/src/gfx/renderJob/collect/ShadowLightsCollect.js +0 -182
  647. package/dist/src/gfx/renderJob/config/RTResourceConfig.d.ts +0 -10
  648. package/dist/src/gfx/renderJob/config/RTResourceConfig.js +0 -10
  649. package/dist/src/gfx/renderJob/config/RenderLayer.d.ts +0 -11
  650. package/dist/src/gfx/renderJob/config/RenderLayer.js +0 -20
  651. package/dist/src/gfx/renderJob/frame/GBufferFrame.d.ts +0 -19
  652. package/dist/src/gfx/renderJob/frame/GBufferFrame.js +0 -74
  653. package/dist/src/gfx/renderJob/frame/ProbeGBufferFrame.d.ts +0 -5
  654. package/dist/src/gfx/renderJob/frame/ProbeGBufferFrame.js +0 -37
  655. package/dist/src/gfx/renderJob/frame/RTFrame.d.ts +0 -17
  656. package/dist/src/gfx/renderJob/frame/RTFrame.js +0 -34
  657. package/dist/src/gfx/renderJob/frame/RTResourceMap.d.ts +0 -13
  658. package/dist/src/gfx/renderJob/frame/RTResourceMap.js +0 -71
  659. package/dist/src/gfx/renderJob/jobs/ForwardRenderJob.d.ts +0 -7
  660. package/dist/src/gfx/renderJob/jobs/ForwardRenderJob.js +0 -45
  661. package/dist/src/gfx/renderJob/jobs/RenderMap.d.ts +0 -12
  662. package/dist/src/gfx/renderJob/jobs/RenderMap.js +0 -29
  663. package/dist/src/gfx/renderJob/jobs/RendererJob.d.ts +0 -43
  664. package/dist/src/gfx/renderJob/jobs/RendererJob.js +0 -123
  665. package/dist/src/gfx/renderJob/occlusion/OcclusionSystem.d.ts +0 -16
  666. package/dist/src/gfx/renderJob/occlusion/OcclusionSystem.js +0 -30
  667. package/dist/src/gfx/renderJob/passRenderer/RenderContext.d.ts +0 -20
  668. package/dist/src/gfx/renderJob/passRenderer/RenderContext.js +0 -68
  669. package/dist/src/gfx/renderJob/passRenderer/RendererBase.d.ts +0 -40
  670. package/dist/src/gfx/renderJob/passRenderer/RendererBase.js +0 -155
  671. package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterConfig.d.ts +0 -5
  672. package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterConfig.js +0 -5
  673. package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterLightingBuffer.d.ts +0 -10
  674. package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterLightingBuffer.js +0 -29
  675. package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterLightingRender.d.ts +0 -20
  676. package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterLightingRender.js +0 -74
  677. package/dist/src/gfx/renderJob/passRenderer/color/ColorPassRenderer.d.ts +0 -12
  678. package/dist/src/gfx/renderJob/passRenderer/color/ColorPassRenderer.js +0 -97
  679. package/dist/src/gfx/renderJob/passRenderer/color/GUIPassRenderer.d.ts +0 -13
  680. package/dist/src/gfx/renderJob/passRenderer/color/GUIPassRenderer.js +0 -79
  681. package/dist/src/gfx/renderJob/passRenderer/cubeRenderer/ReflectionRenderer.d.ts +0 -36
  682. package/dist/src/gfx/renderJob/passRenderer/cubeRenderer/ReflectionRenderer.js +0 -172
  683. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceComputePass.d.ts +0 -18
  684. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceComputePass.js +0 -52
  685. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceGPUBufferReader.d.ts +0 -22
  686. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceGPUBufferReader.js +0 -68
  687. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceVolume.d.ts +0 -32
  688. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceVolume.js +0 -113
  689. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGILightingPass.d.ts +0 -17
  690. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGILightingPass.js +0 -47
  691. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIMultiBouncePass.d.ts +0 -13
  692. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIMultiBouncePass.js +0 -40
  693. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIProbeRenderer.d.ts +0 -46
  694. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIProbeRenderer.js +0 -292
  695. package/dist/src/gfx/renderJob/passRenderer/ddgi/Probe.d.ts +0 -6
  696. package/dist/src/gfx/renderJob/passRenderer/ddgi/Probe.js +0 -8
  697. package/dist/src/gfx/renderJob/passRenderer/post/PostRenderer.d.ts +0 -19
  698. package/dist/src/gfx/renderJob/passRenderer/post/PostRenderer.js +0 -61
  699. package/dist/src/gfx/renderJob/passRenderer/preDepth/PreDepthPassRenderer.d.ts +0 -16
  700. package/dist/src/gfx/renderJob/passRenderer/preDepth/PreDepthPassRenderer.js +0 -80
  701. package/dist/src/gfx/renderJob/passRenderer/preDepth/ZCullingCompute.d.ts +0 -12
  702. package/dist/src/gfx/renderJob/passRenderer/preDepth/ZCullingCompute.js +0 -26
  703. package/dist/src/gfx/renderJob/passRenderer/shadow/PointLightShadowRenderer.d.ts +0 -32
  704. package/dist/src/gfx/renderJob/passRenderer/shadow/PointLightShadowRenderer.js +0 -193
  705. package/dist/src/gfx/renderJob/passRenderer/shadow/ShadowMapPassRenderer.d.ts +0 -27
  706. package/dist/src/gfx/renderJob/passRenderer/shadow/ShadowMapPassRenderer.js +0 -224
  707. package/dist/src/gfx/renderJob/passRenderer/state/PassType.d.ts +0 -13
  708. package/dist/src/gfx/renderJob/passRenderer/state/PassType.js +0 -14
  709. package/dist/src/gfx/renderJob/passRenderer/state/RendererMask.d.ts +0 -18
  710. package/dist/src/gfx/renderJob/passRenderer/state/RendererMask.js +0 -27
  711. package/dist/src/gfx/renderJob/passRenderer/state/RendererPassState.d.ts +0 -27
  712. package/dist/src/gfx/renderJob/passRenderer/state/RendererPassState.js +0 -24
  713. package/dist/src/gfx/renderJob/post/BloomPost.d.ts +0 -45
  714. package/dist/src/gfx/renderJob/post/BloomPost.js +0 -245
  715. package/dist/src/gfx/renderJob/post/DepthOfFieldPost.d.ts +0 -56
  716. package/dist/src/gfx/renderJob/post/DepthOfFieldPost.js +0 -146
  717. package/dist/src/gfx/renderJob/post/FXAAPost.d.ts +0 -18
  718. package/dist/src/gfx/renderJob/post/FXAAPost.js +0 -34
  719. package/dist/src/gfx/renderJob/post/GBufferPost.d.ts +0 -35
  720. package/dist/src/gfx/renderJob/post/GBufferPost.js +0 -107
  721. package/dist/src/gfx/renderJob/post/GTAOPost.d.ts +0 -67
  722. package/dist/src/gfx/renderJob/post/GTAOPost.js +0 -167
  723. package/dist/src/gfx/renderJob/post/GlobalFog.d.ts +0 -69
  724. package/dist/src/gfx/renderJob/post/GlobalFog.js +0 -208
  725. package/dist/src/gfx/renderJob/post/GodRayPost.d.ts +0 -56
  726. package/dist/src/gfx/renderJob/post/GodRayPost.js +0 -126
  727. package/dist/src/gfx/renderJob/post/OutlinePost.d.ts +0 -93
  728. package/dist/src/gfx/renderJob/post/OutlinePost.js +0 -212
  729. package/dist/src/gfx/renderJob/post/PostBase.d.ts +0 -35
  730. package/dist/src/gfx/renderJob/post/PostBase.js +0 -78
  731. package/dist/src/gfx/renderJob/post/SSGIPost.d.ts +0 -67
  732. package/dist/src/gfx/renderJob/post/SSGIPost.js +0 -210
  733. package/dist/src/gfx/renderJob/post/SSRPost.d.ts +0 -76
  734. package/dist/src/gfx/renderJob/post/SSRPost.js +0 -238
  735. package/dist/src/gfx/renderJob/post/TAAPost.d.ts +0 -40
  736. package/dist/src/gfx/renderJob/post/TAAPost.js +0 -183
  737. package/dist/src/index.d.ts +0 -571
  738. package/dist/src/index.js +0 -571
  739. package/dist/src/io/InputSystem.d.ts +0 -49
  740. package/dist/src/io/InputSystem.js +0 -382
  741. package/dist/src/io/OutlineManager.d.ts +0 -11
  742. package/dist/src/io/OutlineManager.js +0 -39
  743. package/dist/src/io/OutlinePostData.d.ts +0 -22
  744. package/dist/src/io/OutlinePostData.js +0 -54
  745. package/dist/src/io/PickFire.d.ts +0 -32
  746. package/dist/src/io/PickFire.js +0 -195
  747. package/dist/src/io/PickResult.d.ts +0 -59
  748. package/dist/src/io/PickResult.js +0 -29
  749. package/dist/src/io/RayCastMeshDetail.d.ts +0 -32
  750. package/dist/src/io/RayCastMeshDetail.js +0 -119
  751. package/dist/src/io/TouchData.d.ts +0 -12
  752. package/dist/src/io/TouchData.js +0 -13
  753. package/dist/src/io/picker/PickCompute.d.ts +0 -14
  754. package/dist/src/io/picker/PickCompute.js +0 -53
  755. package/dist/src/loader/FileLoader.d.ts +0 -7
  756. package/dist/src/loader/FileLoader.js +0 -70
  757. package/dist/src/loader/LoaderBase.d.ts +0 -30
  758. package/dist/src/loader/LoaderBase.js +0 -156
  759. package/dist/src/loader/LoaderFunctions.d.ts +0 -7
  760. package/dist/src/loader/LoaderFunctions.js +0 -1
  761. package/dist/src/loader/LoaderManager.d.ts +0 -36
  762. package/dist/src/loader/LoaderManager.js +0 -83
  763. package/dist/src/loader/parser/AtlasParser.d.ts +0 -10
  764. package/dist/src/loader/parser/AtlasParser.js +0 -31
  765. package/dist/src/loader/parser/B3DMParser.d.ts +0 -24
  766. package/dist/src/loader/parser/B3DMParser.js +0 -108
  767. package/dist/src/loader/parser/FontParser.d.ts +0 -54
  768. package/dist/src/loader/parser/FontParser.js +0 -171
  769. package/dist/src/loader/parser/I3DMParser.d.ts +0 -7
  770. package/dist/src/loader/parser/I3DMParser.js +0 -17
  771. package/dist/src/loader/parser/OBJParser.d.ts +0 -72
  772. package/dist/src/loader/parser/OBJParser.js +0 -289
  773. package/dist/src/loader/parser/ParserBase.d.ts +0 -18
  774. package/dist/src/loader/parser/ParserBase.js +0 -17
  775. package/dist/src/loader/parser/ParserFormat.d.ts +0 -5
  776. package/dist/src/loader/parser/ParserFormat.js +0 -6
  777. package/dist/src/loader/parser/RGBEParser.d.ts +0 -40
  778. package/dist/src/loader/parser/RGBEParser.js +0 -248
  779. package/dist/src/loader/parser/b3dm/B3DMLoader.d.ts +0 -10
  780. package/dist/src/loader/parser/b3dm/B3DMLoader.js +0 -56
  781. package/dist/src/loader/parser/b3dm/B3DMLoaderBase.d.ts +0 -9
  782. package/dist/src/loader/parser/b3dm/B3DMLoaderBase.js +0 -31
  783. package/dist/src/loader/parser/b3dm/FeatureTable.d.ts +0 -14
  784. package/dist/src/loader/parser/b3dm/FeatureTable.js +0 -104
  785. package/dist/src/loader/parser/b3dm/arrayToString.d.ts +0 -1
  786. package/dist/src/loader/parser/b3dm/arrayToString.js +0 -4
  787. package/dist/src/loader/parser/b3dm/readMagicBytes.d.ts +0 -1
  788. package/dist/src/loader/parser/b3dm/readMagicBytes.js +0 -17
  789. package/dist/src/loader/parser/gis/GeoJsonParser.d.ts +0 -29
  790. package/dist/src/loader/parser/gis/GeoJsonParser.js +0 -15
  791. package/dist/src/loader/parser/gis/GeoJsonUtil.d.ts +0 -5
  792. package/dist/src/loader/parser/gis/GeoJsonUtil.js +0 -30
  793. package/dist/src/loader/parser/gltf/GLBParser.d.ts +0 -21
  794. package/dist/src/loader/parser/gltf/GLBParser.js +0 -133
  795. package/dist/src/loader/parser/gltf/GLTFInfo.d.ts +0 -137
  796. package/dist/src/loader/parser/gltf/GLTFInfo.js +0 -20
  797. package/dist/src/loader/parser/gltf/GLTFMaterial.d.ts +0 -24
  798. package/dist/src/loader/parser/gltf/GLTFMaterial.js +0 -2
  799. package/dist/src/loader/parser/gltf/GLTFParser.d.ts +0 -45
  800. package/dist/src/loader/parser/gltf/GLTFParser.js +0 -153
  801. package/dist/src/loader/parser/gltf/GLTFSubParser.d.ts +0 -47
  802. package/dist/src/loader/parser/gltf/GLTFSubParser.js +0 -366
  803. package/dist/src/loader/parser/gltf/GLTFSubParserCamera.d.ts +0 -7
  804. package/dist/src/loader/parser/gltf/GLTFSubParserCamera.js +0 -41
  805. package/dist/src/loader/parser/gltf/GLTFSubParserConverter.d.ts +0 -17
  806. package/dist/src/loader/parser/gltf/GLTFSubParserConverter.js +0 -416
  807. package/dist/src/loader/parser/gltf/GLTFSubParserMaterial.d.ts +0 -10
  808. package/dist/src/loader/parser/gltf/GLTFSubParserMaterial.js +0 -182
  809. package/dist/src/loader/parser/gltf/GLTFSubParserMesh.d.ts +0 -11
  810. package/dist/src/loader/parser/gltf/GLTFSubParserMesh.js +0 -170
  811. package/dist/src/loader/parser/gltf/GLTFSubParserSkeleton.d.ts +0 -15
  812. package/dist/src/loader/parser/gltf/GLTFSubParserSkeleton.js +0 -313
  813. package/dist/src/loader/parser/gltf/GLTFSubParserSkin.d.ts +0 -10
  814. package/dist/src/loader/parser/gltf/GLTFSubParserSkin.js +0 -66
  815. package/dist/src/loader/parser/gltf/GLTFType.d.ts +0 -22
  816. package/dist/src/loader/parser/gltf/GLTFType.js +0 -21
  817. package/dist/src/loader/parser/gltf/TypeArray.d.ts +0 -4
  818. package/dist/src/loader/parser/gltf/TypeArray.js +0 -98
  819. package/dist/src/loader/parser/gltf/extends/KHR_draco_mesh_compression.d.ts +0 -9
  820. package/dist/src/loader/parser/gltf/extends/KHR_draco_mesh_compression.js +0 -157
  821. package/dist/src/loader/parser/gltf/extends/KHR_lights_punctual.d.ts +0 -2
  822. package/dist/src/loader/parser/gltf/extends/KHR_lights_punctual.js +0 -2
  823. package/dist/src/loader/parser/gltf/extends/KHR_materials_clearcoat.d.ts +0 -7
  824. package/dist/src/loader/parser/gltf/extends/KHR_materials_clearcoat.js +0 -26
  825. package/dist/src/loader/parser/gltf/extends/KHR_materials_emissive_strength.d.ts +0 -3
  826. package/dist/src/loader/parser/gltf/extends/KHR_materials_emissive_strength.js +0 -17
  827. package/dist/src/loader/parser/gltf/extends/KHR_materials_ior.d.ts +0 -2
  828. package/dist/src/loader/parser/gltf/extends/KHR_materials_ior.js +0 -2
  829. package/dist/src/loader/parser/gltf/extends/KHR_materials_unlit.d.ts +0 -3
  830. package/dist/src/loader/parser/gltf/extends/KHR_materials_unlit.js +0 -12
  831. package/dist/src/loader/parser/i3dm/I3DMLoader.d.ts +0 -17
  832. package/dist/src/loader/parser/i3dm/I3DMLoader.js +0 -97
  833. package/dist/src/loader/parser/i3dm/I3DMLoaderBase.d.ts +0 -9
  834. package/dist/src/loader/parser/i3dm/I3DMLoaderBase.js +0 -40
  835. package/dist/src/loader/parser/prefab/PrefabAvatarParser.d.ts +0 -9
  836. package/dist/src/loader/parser/prefab/PrefabAvatarParser.js +0 -38
  837. package/dist/src/loader/parser/prefab/PrefabMaterialParser.d.ts +0 -9
  838. package/dist/src/loader/parser/prefab/PrefabMaterialParser.js +0 -115
  839. package/dist/src/loader/parser/prefab/PrefabMeshParser.d.ts +0 -10
  840. package/dist/src/loader/parser/prefab/PrefabMeshParser.js +0 -133
  841. package/dist/src/loader/parser/prefab/PrefabParser.d.ts +0 -16
  842. package/dist/src/loader/parser/prefab/PrefabParser.js +0 -72
  843. package/dist/src/loader/parser/prefab/PrefabStringUtil.d.ts +0 -12
  844. package/dist/src/loader/parser/prefab/PrefabStringUtil.js +0 -41
  845. package/dist/src/loader/parser/prefab/PrefabTextureParser.d.ts +0 -10
  846. package/dist/src/loader/parser/prefab/PrefabTextureParser.js +0 -32
  847. package/dist/src/loader/parser/prefab/mats/MaterialUtilities.d.ts +0 -8
  848. package/dist/src/loader/parser/prefab/mats/MaterialUtilities.js +0 -138
  849. package/dist/src/loader/parser/prefab/mats/shader/LitSSSShader.d.ts +0 -24
  850. package/dist/src/loader/parser/prefab/mats/shader/LitSSSShader.js +0 -139
  851. package/dist/src/loader/parser/prefab/mats/shader/LitShader.d.ts +0 -19
  852. package/dist/src/loader/parser/prefab/mats/shader/LitShader.js +0 -117
  853. package/dist/src/loader/parser/prefab/mats/shader/QuadShader.d.ts +0 -4
  854. package/dist/src/loader/parser/prefab/mats/shader/QuadShader.js +0 -39
  855. package/dist/src/loader/parser/prefab/mats/shader/ReflectionShader.d.ts +0 -19
  856. package/dist/src/loader/parser/prefab/mats/shader/ReflectionShader.js +0 -79
  857. package/dist/src/loader/parser/prefab/mats/shader/SkyShader.d.ts +0 -4
  858. package/dist/src/loader/parser/prefab/mats/shader/SkyShader.js +0 -35
  859. package/dist/src/loader/parser/prefab/mats/shader/StandShader.d.ts +0 -220
  860. package/dist/src/loader/parser/prefab/mats/shader/StandShader.js +0 -420
  861. package/dist/src/loader/parser/prefab/mats/shader/UnLitShader.d.ts +0 -19
  862. package/dist/src/loader/parser/prefab/mats/shader/UnLitShader.js +0 -95
  863. package/dist/src/loader/parser/prefab/mats/shader/UnLitTexArrayShader.d.ts +0 -19
  864. package/dist/src/loader/parser/prefab/mats/shader/UnLitTexArrayShader.js +0 -100
  865. package/dist/src/loader/parser/prefab/prefabData/BlendShapeData.d.ts +0 -11
  866. package/dist/src/loader/parser/prefab/prefabData/BlendShapeData.js +0 -19
  867. package/dist/src/loader/parser/prefab/prefabData/BlendShapePropertyData.d.ts +0 -9
  868. package/dist/src/loader/parser/prefab/prefabData/BlendShapePropertyData.js +0 -17
  869. package/dist/src/loader/parser/prefab/prefabData/KVData.d.ts +0 -9
  870. package/dist/src/loader/parser/prefab/prefabData/KVData.js +0 -12
  871. package/dist/src/loader/parser/prefab/prefabData/PrefabAvatarData.d.ts +0 -9
  872. package/dist/src/loader/parser/prefab/prefabData/PrefabAvatarData.js +0 -15
  873. package/dist/src/loader/parser/prefab/prefabData/PrefabBoneData.d.ts +0 -16
  874. package/dist/src/loader/parser/prefab/prefabData/PrefabBoneData.js +0 -14
  875. package/dist/src/loader/parser/prefab/prefabData/PrefabMeshData.d.ts +0 -19
  876. package/dist/src/loader/parser/prefab/prefabData/PrefabMeshData.js +0 -2
  877. package/dist/src/loader/parser/prefab/prefabData/PrefabNode.d.ts +0 -19
  878. package/dist/src/loader/parser/prefab/prefabData/PrefabNode.js +0 -40
  879. package/dist/src/loader/parser/prefab/prefabData/PrefabTextureData.d.ts +0 -14
  880. package/dist/src/loader/parser/prefab/prefabData/PrefabTextureData.js +0 -2
  881. package/dist/src/loader/parser/prefab/prefabData/ValueParser.d.ts +0 -16
  882. package/dist/src/loader/parser/prefab/prefabData/ValueParser.js +0 -117
  883. package/dist/src/loader/parser/prefab/prefabData/ValueType.d.ts +0 -35
  884. package/dist/src/loader/parser/prefab/prefabData/ValueType.js +0 -36
  885. package/dist/src/loader/parser/tileRenderer/TileSet.d.ts +0 -45
  886. package/dist/src/loader/parser/tileRenderer/TileSet.js +0 -10
  887. package/dist/src/loader/parser/tileRenderer/TilesRenderer.d.ts +0 -12
  888. package/dist/src/loader/parser/tileRenderer/TilesRenderer.js +0 -88
  889. package/dist/src/materials/BlendMode.d.ts +0 -58
  890. package/dist/src/materials/BlendMode.js +0 -132
  891. package/dist/src/materials/ColorLitMaterial.d.ts +0 -14
  892. package/dist/src/materials/ColorLitMaterial.js +0 -45
  893. package/dist/src/materials/GIProbeMaterial.d.ts +0 -15
  894. package/dist/src/materials/GIProbeMaterial.js +0 -42
  895. package/dist/src/materials/LambertMaterial.d.ts +0 -39
  896. package/dist/src/materials/LambertMaterial.js +0 -71
  897. package/dist/src/materials/LitMaterial.d.ts +0 -49
  898. package/dist/src/materials/LitMaterial.js +0 -170
  899. package/dist/src/materials/Material.d.ts +0 -88
  900. package/dist/src/materials/Material.js +0 -194
  901. package/dist/src/materials/MaterialRegister.d.ts +0 -9
  902. package/dist/src/materials/MaterialRegister.js +0 -1
  903. package/dist/src/materials/ReflectionMaterial.d.ts +0 -13
  904. package/dist/src/materials/ReflectionMaterial.js +0 -29
  905. package/dist/src/materials/SkyMaterial.d.ts +0 -23
  906. package/dist/src/materials/SkyMaterial.js +0 -56
  907. package/dist/src/materials/UnLitMaterial.d.ts +0 -33
  908. package/dist/src/materials/UnLitMaterial.js +0 -45
  909. package/dist/src/materials/UnLitTexArrayMaterial.d.ts +0 -20
  910. package/dist/src/materials/UnLitTexArrayMaterial.js +0 -32
  911. package/dist/src/materials/multiPass/CastPointShadowMaterialPass.d.ts +0 -4
  912. package/dist/src/materials/multiPass/CastPointShadowMaterialPass.js +0 -16
  913. package/dist/src/materials/multiPass/CastShadowMaterialPass.d.ts +0 -4
  914. package/dist/src/materials/multiPass/CastShadowMaterialPass.js +0 -16
  915. package/dist/src/materials/multiPass/DepthMaterialPass.d.ts +0 -4
  916. package/dist/src/materials/multiPass/DepthMaterialPass.js +0 -11
  917. package/dist/src/materials/multiPass/GBufferPass.d.ts +0 -5
  918. package/dist/src/materials/multiPass/GBufferPass.js +0 -19
  919. package/dist/src/materials/multiPass/SkyGBufferPass.d.ts +0 -4
  920. package/dist/src/materials/multiPass/SkyGBufferPass.js +0 -18
  921. package/dist/src/math/AnimationCurve.d.ts +0 -42
  922. package/dist/src/math/AnimationCurve.js +0 -191
  923. package/dist/src/math/AnimationCurveClip.d.ts +0 -15
  924. package/dist/src/math/AnimationCurveClip.js +0 -46
  925. package/dist/src/math/AnimationCurveT.d.ts +0 -24
  926. package/dist/src/math/AnimationCurveT.js +0 -105
  927. package/dist/src/math/BiMap.d.ts +0 -9
  928. package/dist/src/math/BiMap.js +0 -37
  929. package/dist/src/math/Color.d.ts +0 -249
  930. package/dist/src/math/Color.js +0 -381
  931. package/dist/src/math/ColorGradient.d.ts +0 -6
  932. package/dist/src/math/ColorGradient.js +0 -14
  933. package/dist/src/math/CubicBezierCurve.d.ts +0 -47
  934. package/dist/src/math/CubicBezierCurve.js +0 -100
  935. package/dist/src/math/CubicBezierPath.d.ts +0 -37
  936. package/dist/src/math/CubicBezierPath.js +0 -234
  937. package/dist/src/math/HaltonSeq.d.ts +0 -13
  938. package/dist/src/math/HaltonSeq.js +0 -45
  939. package/dist/src/math/Line.d.ts +0 -39
  940. package/dist/src/math/Line.js +0 -240
  941. package/dist/src/math/MathUtil.d.ts +0 -86
  942. package/dist/src/math/MathUtil.js +0 -480
  943. package/dist/src/math/Matrix3.d.ts +0 -183
  944. package/dist/src/math/Matrix3.js +0 -511
  945. package/dist/src/math/Matrix4.d.ts +0 -557
  946. package/dist/src/math/Matrix4.js +0 -2571
  947. package/dist/src/math/OrderMap.d.ts +0 -11
  948. package/dist/src/math/OrderMap.js +0 -56
  949. package/dist/src/math/Orientation3D.d.ts +0 -5
  950. package/dist/src/math/Orientation3D.js +0 -5
  951. package/dist/src/math/ParticleMath.d.ts +0 -22
  952. package/dist/src/math/ParticleMath.js +0 -26
  953. package/dist/src/math/ParticleSystemCurves.d.ts +0 -85
  954. package/dist/src/math/ParticleSystemCurves.js +0 -184
  955. package/dist/src/math/Plane3D.d.ts +0 -173
  956. package/dist/src/math/Plane3D.js +0 -191
  957. package/dist/src/math/PlaneClassification.d.ts +0 -32
  958. package/dist/src/math/PlaneClassification.js +0 -32
  959. package/dist/src/math/PolynomialCurve.d.ts +0 -43
  960. package/dist/src/math/PolynomialCurve.js +0 -236
  961. package/dist/src/math/Polynomials.d.ts +0 -12
  962. package/dist/src/math/Polynomials.js +0 -73
  963. package/dist/src/math/Quaternion.d.ts +0 -42
  964. package/dist/src/math/Quaternion.js +0 -406
  965. package/dist/src/math/Rand.d.ts +0 -15
  966. package/dist/src/math/Rand.js +0 -48
  967. package/dist/src/math/Random.d.ts +0 -67
  968. package/dist/src/math/Random.js +0 -543
  969. package/dist/src/math/Ray.d.ts +0 -41
  970. package/dist/src/math/Ray.js +0 -304
  971. package/dist/src/math/Rect.d.ts +0 -21
  972. package/dist/src/math/Rect.js +0 -108
  973. package/dist/src/math/TimeInterpolator.d.ts +0 -179
  974. package/dist/src/math/TimeInterpolator.js +0 -334
  975. package/dist/src/math/Triangle.d.ts +0 -33
  976. package/dist/src/math/Triangle.js +0 -113
  977. package/dist/src/math/UV.d.ts +0 -10
  978. package/dist/src/math/UV.js +0 -21
  979. package/dist/src/math/Vector2.d.ts +0 -38
  980. package/dist/src/math/Vector2.js +0 -166
  981. package/dist/src/math/Vector3.d.ts +0 -107
  982. package/dist/src/math/Vector3.js +0 -561
  983. package/dist/src/math/Vector4.d.ts +0 -34
  984. package/dist/src/math/Vector4.js +0 -77
  985. package/dist/src/math/enum/FrameCache.d.ts +0 -6
  986. package/dist/src/math/enum/FrameCache.js +0 -5
  987. package/dist/src/math/enum/Keyframe.d.ts +0 -14
  988. package/dist/src/math/enum/Keyframe.js +0 -27
  989. package/dist/src/math/enum/T/KeyframeT.d.ts +0 -18
  990. package/dist/src/math/enum/T/KeyframeT.js +0 -113
  991. package/dist/src/math/enum/T/ValueOp.d.ts +0 -4
  992. package/dist/src/math/enum/T/ValueOp.js +0 -32
  993. package/dist/src/math/enum/WrapTimeMode.d.ts +0 -5
  994. package/dist/src/math/enum/WrapTimeMode.js +0 -6
  995. package/dist/src/math/navigation/DoubleArray.d.ts +0 -11
  996. package/dist/src/math/navigation/DoubleArray.js +0 -44
  997. package/dist/src/math/navigation/Navi3DAstar.d.ts +0 -16
  998. package/dist/src/math/navigation/Navi3DAstar.js +0 -82
  999. package/dist/src/math/navigation/Navi3DConst.d.ts +0 -5
  1000. package/dist/src/math/navigation/Navi3DConst.js +0 -8
  1001. package/dist/src/math/navigation/Navi3DEdge.d.ts +0 -33
  1002. package/dist/src/math/navigation/Navi3DEdge.js +0 -109
  1003. package/dist/src/math/navigation/Navi3DFunnel.d.ts +0 -19
  1004. package/dist/src/math/navigation/Navi3DFunnel.js +0 -254
  1005. package/dist/src/math/navigation/Navi3DMaskType.d.ts +0 -3
  1006. package/dist/src/math/navigation/Navi3DMaskType.js +0 -3
  1007. package/dist/src/math/navigation/Navi3DMesh.d.ts +0 -27
  1008. package/dist/src/math/navigation/Navi3DMesh.js +0 -122
  1009. package/dist/src/math/navigation/Navi3DPoint.d.ts +0 -13
  1010. package/dist/src/math/navigation/Navi3DPoint.js +0 -27
  1011. package/dist/src/math/navigation/Navi3DPoint2D.d.ts +0 -10
  1012. package/dist/src/math/navigation/Navi3DPoint2D.js +0 -26
  1013. package/dist/src/math/navigation/Navi3DPointFat.d.ts +0 -11
  1014. package/dist/src/math/navigation/Navi3DPointFat.js +0 -24
  1015. package/dist/src/math/navigation/Navi3DRouter.d.ts +0 -29
  1016. package/dist/src/math/navigation/Navi3DRouter.js +0 -173
  1017. package/dist/src/math/navigation/Navi3DTriangle.d.ts +0 -44
  1018. package/dist/src/math/navigation/Navi3DTriangle.js +0 -167
  1019. package/dist/src/setting/EngineSetting.d.ts +0 -23
  1020. package/dist/src/setting/EngineSetting.js +0 -1
  1021. package/dist/src/setting/GlobalIlluminationSetting.d.ts +0 -115
  1022. package/dist/src/setting/GlobalIlluminationSetting.js +0 -1
  1023. package/dist/src/setting/LightSetting.d.ts +0 -3
  1024. package/dist/src/setting/LightSetting.js +0 -1
  1025. package/dist/src/setting/LoaderSetting.d.ts +0 -3
  1026. package/dist/src/setting/LoaderSetting.js +0 -1
  1027. package/dist/src/setting/MaterialSetting.d.ts +0 -5
  1028. package/dist/src/setting/MaterialSetting.js +0 -1
  1029. package/dist/src/setting/OcclusionQuerySetting.d.ts +0 -12
  1030. package/dist/src/setting/OcclusionQuerySetting.js +0 -1
  1031. package/dist/src/setting/PickSetting.d.ts +0 -5
  1032. package/dist/src/setting/PickSetting.js +0 -1
  1033. package/dist/src/setting/ReflectionSetting.d.ts +0 -7
  1034. package/dist/src/setting/ReflectionSetting.js +0 -1
  1035. package/dist/src/setting/RenderSetting.d.ts +0 -51
  1036. package/dist/src/setting/RenderSetting.js +0 -1
  1037. package/dist/src/setting/ShadowSetting.d.ts +0 -17
  1038. package/dist/src/setting/ShadowSetting.js +0 -1
  1039. package/dist/src/setting/SkySetting.d.ts +0 -8
  1040. package/dist/src/setting/SkySetting.js +0 -1
  1041. package/dist/src/setting/post/BloomSetting.d.ts +0 -11
  1042. package/dist/src/setting/post/BloomSetting.js +0 -1
  1043. package/dist/src/setting/post/DepthOfViewSetting.d.ts +0 -7
  1044. package/dist/src/setting/post/DepthOfViewSetting.js +0 -1
  1045. package/dist/src/setting/post/GTAOSetting.d.ts +0 -11
  1046. package/dist/src/setting/post/GTAOSetting.js +0 -1
  1047. package/dist/src/setting/post/GlobalFogSetting.d.ts +0 -19
  1048. package/dist/src/setting/post/GlobalFogSetting.js +0 -1
  1049. package/dist/src/setting/post/GodRaySetting.d.ts +0 -7
  1050. package/dist/src/setting/post/GodRaySetting.js +0 -1
  1051. package/dist/src/setting/post/OutlineSetting.d.ts +0 -10
  1052. package/dist/src/setting/post/OutlineSetting.js +0 -1
  1053. package/dist/src/setting/post/SSRSetting.d.ts +0 -12
  1054. package/dist/src/setting/post/SSRSetting.js +0 -1
  1055. package/dist/src/setting/post/TAASetting.d.ts +0 -9
  1056. package/dist/src/setting/post/TAASetting.js +0 -1
  1057. package/dist/src/shape/BoxGeometry.d.ts +0 -28
  1058. package/dist/src/shape/BoxGeometry.js +0 -184
  1059. package/dist/src/shape/CylinderGeometry.d.ts +0 -60
  1060. package/dist/src/shape/CylinderGeometry.js +0 -171
  1061. package/dist/src/shape/PlaneGeometry.d.ts +0 -11
  1062. package/dist/src/shape/PlaneGeometry.js +0 -105
  1063. package/dist/src/shape/SphereGeometry.d.ts +0 -25
  1064. package/dist/src/shape/SphereGeometry.js +0 -102
  1065. package/dist/src/shape/TorusGeometry.d.ts +0 -33
  1066. package/dist/src/shape/TorusGeometry.js +0 -88
  1067. package/dist/src/shape/TrailGeometry.d.ts +0 -18
  1068. package/dist/src/shape/TrailGeometry.js +0 -68
  1069. package/dist/src/shape/TriGeometry.d.ts +0 -13
  1070. package/dist/src/shape/TriGeometry.js +0 -47
  1071. package/dist/src/textures/AtmosphericScatteringSky.d.ts +0 -42
  1072. package/dist/src/textures/AtmosphericScatteringSky.js +0 -97
  1073. package/dist/src/textures/BitmapTexture2D.d.ts +0 -12
  1074. package/dist/src/textures/BitmapTexture2D.js +0 -94
  1075. package/dist/src/textures/BitmapTexture2DArray.d.ts +0 -15
  1076. package/dist/src/textures/BitmapTexture2DArray.js +0 -87
  1077. package/dist/src/textures/BitmapTextureCube.d.ts +0 -14
  1078. package/dist/src/textures/BitmapTextureCube.js +0 -181
  1079. package/dist/src/textures/Depth2DTextureArray.d.ts +0 -9
  1080. package/dist/src/textures/Depth2DTextureArray.js +0 -43
  1081. package/dist/src/textures/DepthCubeArrayTexture.d.ts +0 -9
  1082. package/dist/src/textures/DepthCubeArrayTexture.js +0 -46
  1083. package/dist/src/textures/Float16ArrayTexture.d.ts +0 -28
  1084. package/dist/src/textures/Float16ArrayTexture.js +0 -84
  1085. package/dist/src/textures/Float32ArrayTexture.d.ts +0 -5
  1086. package/dist/src/textures/Float32ArrayTexture.js +0 -61
  1087. package/dist/src/textures/HDRTexture.d.ts +0 -7
  1088. package/dist/src/textures/HDRTexture.js +0 -52
  1089. package/dist/src/textures/HDRTextureCube.d.ts +0 -16
  1090. package/dist/src/textures/HDRTextureCube.js +0 -50
  1091. package/dist/src/textures/LDRTextureCube.d.ts +0 -13
  1092. package/dist/src/textures/LDRTextureCube.js +0 -49
  1093. package/dist/src/textures/RenderTexture.d.ts +0 -12
  1094. package/dist/src/textures/RenderTexture.js +0 -140
  1095. package/dist/src/textures/SolidColorSky.d.ts +0 -11
  1096. package/dist/src/textures/SolidColorSky.js +0 -29
  1097. package/dist/src/textures/TextureCubeFaceData.d.ts +0 -19
  1098. package/dist/src/textures/TextureCubeFaceData.js +0 -55
  1099. package/dist/src/textures/Uint8ArrayTexture.d.ts +0 -6
  1100. package/dist/src/textures/Uint8ArrayTexture.js +0 -63
  1101. package/dist/src/textures/VirtualTexture.d.ts +0 -29
  1102. package/dist/src/textures/VirtualTexture.js +0 -152
  1103. package/dist/src/util/AxisObject.d.ts +0 -11
  1104. package/dist/src/util/AxisObject.js +0 -52
  1105. package/dist/src/util/BoundUtil.d.ts +0 -12
  1106. package/dist/src/util/BoundUtil.js +0 -73
  1107. package/dist/src/util/BytesArray.d.ts +0 -49
  1108. package/dist/src/util/BytesArray.js +0 -257
  1109. package/dist/src/util/CameraUtil.d.ts +0 -10
  1110. package/dist/src/util/CameraUtil.js +0 -62
  1111. package/dist/src/util/Convert.d.ts +0 -1
  1112. package/dist/src/util/Convert.js +0 -24
  1113. package/dist/src/util/GeometryUtil.d.ts +0 -12
  1114. package/dist/src/util/GeometryUtil.js +0 -55
  1115. package/dist/src/util/Global.d.ts +0 -15
  1116. package/dist/src/util/Global.js +0 -57
  1117. package/dist/src/util/GridObject.d.ts +0 -12
  1118. package/dist/src/util/GridObject.js +0 -94
  1119. package/dist/src/util/KelvinUtil.d.ts +0 -40
  1120. package/dist/src/util/KelvinUtil.js +0 -79
  1121. package/dist/src/util/Object3DUtil.d.ts +0 -25
  1122. package/dist/src/util/Object3DUtil.js +0 -121
  1123. package/dist/src/util/ProfilerUtil.d.ts +0 -49
  1124. package/dist/src/util/ProfilerUtil.js +0 -141
  1125. package/dist/src/util/Reference.d.ts +0 -37
  1126. package/dist/src/util/Reference.js +0 -67
  1127. package/dist/src/util/SerializeDecoration.d.ts +0 -9
  1128. package/dist/src/util/SerializeDecoration.js +0 -95
  1129. package/dist/src/util/StringUtil.d.ts +0 -23
  1130. package/dist/src/util/StringUtil.js +0 -250
  1131. package/dist/src/util/Time.d.ts +0 -9
  1132. package/dist/src/util/Time.js +0 -14
  1133. package/dist/src/util/Vector3Ex.d.ts +0 -16
  1134. package/dist/src/util/Vector3Ex.js +0 -84
  1135. package/dist/src/util/ZSorterUtil.d.ts +0 -13
  1136. package/dist/src/util/ZSorterUtil.js +0 -51
  1137. package/dist/src/util/struct/Struct.d.ts +0 -17
  1138. package/dist/src/util/struct/Struct.js +0 -101
  1139. package/dist/src/util/transformUtil/Object3DTransformTools.d.ts +0 -37
  1140. package/dist/src/util/transformUtil/Object3DTransformTools.js +0 -136
  1141. package/dist/src/util/transformUtil/RotationControlComponents.d.ts +0 -21
  1142. package/dist/src/util/transformUtil/RotationControlComponents.js +0 -198
  1143. package/dist/src/util/transformUtil/ScaleControlComponents.d.ts +0 -11
  1144. package/dist/src/util/transformUtil/ScaleControlComponents.js +0 -132
  1145. package/dist/src/util/transformUtil/TransformAxisEnum.d.ts +0 -11
  1146. package/dist/src/util/transformUtil/TransformAxisEnum.js +0 -12
  1147. package/dist/src/util/transformUtil/TransformControllerBaseComponent.d.ts +0 -48
  1148. package/dist/src/util/transformUtil/TransformControllerBaseComponent.js +0 -283
  1149. package/dist/src/util/transformUtil/TransformMode.d.ts +0 -6
  1150. package/dist/src/util/transformUtil/TransformMode.js +0 -7
  1151. package/dist/src/util/transformUtil/TransformSpaceMode.d.ts +0 -4
  1152. package/dist/src/util/transformUtil/TransformSpaceMode.js +0 -5
  1153. package/dist/src/util/transformUtil/TranslationControlComponents.d.ts +0 -12
  1154. package/dist/src/util/transformUtil/TranslationControlComponents.js +0 -164
@@ -2095,11 +2095,7 @@
2095
2095
  if (!dic) {
2096
2096
  dic = window["__Component__"] = {};
2097
2097
  }
2098
- if (key) {
2099
- dic[key] = cls;
2100
- } else {
2101
- dic[cls.name] = cls;
2102
- }
2098
+ dic[key] = cls;
2103
2099
  }
2104
2100
  function GetComponentClass(name) {
2105
2101
  let coms = window["__Component__"];
@@ -2113,11 +2109,7 @@
2113
2109
  if (!dic) {
2114
2110
  dic = window["__shader__"] = {};
2115
2111
  }
2116
- if (key) {
2117
- dic[key] = cls;
2118
- } else {
2119
- dic[cls.name] = cls;
2120
- }
2112
+ dic[key] = cls;
2121
2113
  }
2122
2114
  function GetShader(name) {
2123
2115
  let coms = window["__shader__"];
@@ -2128,7 +2120,7 @@
2128
2120
  }
2129
2121
 
2130
2122
  var __defProp$2 = Object.defineProperty;
2131
- var __decorateClass$i = (decorators, target, key, kind) => {
2123
+ var __decorateClass$j = (decorators, target, key, kind) => {
2132
2124
  var result = void 0 ;
2133
2125
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
2134
2126
  if (decorator = decorators[i])
@@ -2139,6 +2131,10 @@
2139
2131
  const _Struct = class _Struct {
2140
2132
  __refection;
2141
2133
  __size = 0;
2134
+ /**
2135
+ * get reflection name
2136
+ * @returns
2137
+ */
2142
2138
  getValueType() {
2143
2139
  if (!this.__refection) {
2144
2140
  let self = this;
@@ -2156,6 +2152,11 @@
2156
2152
  }
2157
2153
  return this.__refection;
2158
2154
  }
2155
+ /**
2156
+ * get any type value memory size
2157
+ * @param value any type value
2158
+ * @returns
2159
+ */
2159
2160
  static getValueSize(value) {
2160
2161
  let type = value.constructor.name;
2161
2162
  switch (type) {
@@ -2202,6 +2203,10 @@
2202
2203
  }
2203
2204
  return struct;
2204
2205
  }
2206
+ /**
2207
+ * get any struct memory size
2208
+ * @returns
2209
+ */
2205
2210
  static GetSize(c) {
2206
2211
  let struct = this.Get(c);
2207
2212
  if (struct.__size == 0) {
@@ -2218,10 +2223,10 @@
2218
2223
  return struct.__size;
2219
2224
  }
2220
2225
  };
2221
- __decorateClass$i([
2226
+ __decorateClass$j([
2222
2227
  NonSerialize
2223
2228
  ], _Struct.prototype, "__refection");
2224
- __decorateClass$i([
2229
+ __decorateClass$j([
2225
2230
  NonSerialize
2226
2231
  ], _Struct.prototype, "__size");
2227
2232
  let Struct = _Struct;
@@ -11828,6 +11833,21 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
11828
11833
  target.transformDir(fromDirection, toDirection);
11829
11834
  return target;
11830
11835
  }
11836
+ /**
11837
+ * Create a matrix from an array of 16 numbers
11838
+ * @param array Array of 16 numbers
11839
+ * @returns Matrix4 result
11840
+ */
11841
+ static fromArray(array) {
11842
+ if (array.length !== 16) {
11843
+ throw new Error("Array must contain exactly 16 elements");
11844
+ }
11845
+ const matrix = new Matrix4();
11846
+ for (let i = 0; i < 16; i++) {
11847
+ matrix.rawData[i] = array[i];
11848
+ }
11849
+ return matrix;
11850
+ }
11831
11851
  /**
11832
11852
  * Generate a matrix (rotate degrees with x,y,z as the center axis)
11833
11853
  * @param x x on the central axis
@@ -16477,9 +16497,9 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
16477
16497
  }
16478
16498
  }
16479
16499
 
16480
- var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
16481
- var __decorateClass$h = (decorators, target, key, kind) => {
16482
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
16500
+ var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
16501
+ var __decorateClass$i = (decorators, target, key, kind) => {
16502
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
16483
16503
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
16484
16504
  if (decorator = decorators[i])
16485
16505
  result = (decorator(result)) || result;
@@ -16744,7 +16764,7 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
16744
16764
  super.destroy(force);
16745
16765
  }
16746
16766
  };
16747
- exports.Object3D = __decorateClass$h([
16767
+ exports.Object3D = __decorateClass$i([
16748
16768
  DecorateObject3D
16749
16769
  ], exports.Object3D);
16750
16770
  function DecorateObject3D(ctor, _) {
@@ -22396,7 +22416,7 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
22396
22416
  }
22397
22417
  /**
22398
22418
  * current instance attached from parent instance
22399
- * @param ref reference current
22419
+ * @param ref reference current
22400
22420
  * @param target reference parent
22401
22421
  */
22402
22422
  attached(ref, target) {
@@ -22408,7 +22428,7 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
22408
22428
  }
22409
22429
  /**
22410
22430
  * current instance detached from parent instance
22411
- * @param ref reference current
22431
+ * @param ref reference current
22412
22432
  * @param target reference parent
22413
22433
  */
22414
22434
  detached(ref, target) {
@@ -22418,7 +22438,7 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
22418
22438
  }
22419
22439
  }
22420
22440
  /**
22421
- * current instance has reference
22441
+ * current instance has reference
22422
22442
  */
22423
22443
  hasReference(ref) {
22424
22444
  let refMap = this.reference.get(ref);
@@ -22429,8 +22449,8 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
22429
22449
  }
22430
22450
  /**
22431
22451
  * get current instance reference count
22432
- * @param ref
22433
- * @returns
22452
+ * @param ref
22453
+ * @returns
22434
22454
  */
22435
22455
  getReferenceCount(ref) {
22436
22456
  let refMap = this.reference.get(ref);
@@ -22440,10 +22460,10 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
22440
22460
  return 0;
22441
22461
  }
22442
22462
  /**
22443
- * get current instance reference from where
22444
- * @param ref
22445
- * @returns
22446
- */
22463
+ * get current instance reference from where
22464
+ * @param ref
22465
+ * @returns
22466
+ */
22447
22467
  getReference(ref) {
22448
22468
  let refMap = this.reference.get(ref);
22449
22469
  if (refMap) {
@@ -23522,9 +23542,9 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
23522
23542
  }
23523
23543
 
23524
23544
  var __defProp$1 = Object.defineProperty;
23525
- var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
23526
- var __decorateClass$g = (decorators, target, key, kind) => {
23527
- var result = __getOwnPropDesc$g(target, key) ;
23545
+ var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
23546
+ var __decorateClass$h = (decorators, target, key, kind) => {
23547
+ var result = __getOwnPropDesc$h(target, key) ;
23528
23548
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
23529
23549
  if (decorator = decorators[i])
23530
23550
  result = (decorator(target, key, result) ) || result;
@@ -24109,20 +24129,20 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
24109
24129
  this._combineShaderRefection = void 0;
24110
24130
  }
24111
24131
  }
24112
- __decorateClass$g([
24132
+ __decorateClass$h([
24113
24133
  EditorInspector
24114
24134
  ], RenderNode.prototype, "materials");
24115
- __decorateClass$g([
24135
+ __decorateClass$h([
24116
24136
  EditorInspector
24117
24137
  ], RenderNode.prototype, "castShadow");
24118
- __decorateClass$g([
24138
+ __decorateClass$h([
24119
24139
  EditorInspector
24120
24140
  ], RenderNode.prototype, "castGI");
24121
24141
 
24122
24142
  var __defProp = Object.defineProperty;
24123
- var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
24124
- var __decorateClass$f = (decorators, target, key, kind) => {
24125
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
24143
+ var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
24144
+ var __decorateClass$g = (decorators, target, key, kind) => {
24145
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
24126
24146
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
24127
24147
  if (decorator = decorators[i])
24128
24148
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -24231,13 +24251,13 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
24231
24251
  super.destroy(force);
24232
24252
  }
24233
24253
  };
24234
- __decorateClass$f([
24254
+ __decorateClass$g([
24235
24255
  EditorInspector
24236
24256
  ], exports.MeshRenderer.prototype, "geometry", 1);
24237
- __decorateClass$f([
24257
+ __decorateClass$g([
24238
24258
  EditorInspector
24239
24259
  ], exports.MeshRenderer.prototype, "material", 1);
24240
- exports.MeshRenderer = __decorateClass$f([
24260
+ exports.MeshRenderer = __decorateClass$g([
24241
24261
  RegisterComponent(exports.MeshRenderer, "MeshRenderer")
24242
24262
  ], exports.MeshRenderer);
24243
24263
 
@@ -25075,8 +25095,7 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
25075
25095
  this.indicesGPUBuffer = new IndicesGPUBuffer(indicesData.data);
25076
25096
  }
25077
25097
  upload(data) {
25078
- const buffer = data.buffer instanceof ArrayBuffer ? data.buffer : new Uint8Array(data.buffer).buffer;
25079
- this.indicesGPUBuffer.indicesNode.setArrayBuffer(0, buffer);
25098
+ this.indicesGPUBuffer.indicesNode.setArrayBuffer(0, data);
25080
25099
  this.indicesGPUBuffer.apply();
25081
25100
  }
25082
25101
  compute() {
@@ -25089,6 +25108,22 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
25089
25108
  this.indicesGPUBuffer.destroy();
25090
25109
  this.indicesGPUBuffer = null;
25091
25110
  }
25111
+ /**
25112
+ * Get indices from geometry data
25113
+ * Get position attribute from geometry data
25114
+ * Get normal attribute from geometry data
25115
+ * Get tangent attribute from geometry data
25116
+ * Get uv0 attribute from geometry data
25117
+ * Get uv1 attribute from geometry data
25118
+ * Get uv2 attribute from geometry data
25119
+ *
25120
+ * Change position data to GPUBuffer and apply
25121
+ * Change normal data to GPUBuffer and apply
25122
+ * Change tangent data to GPUBuffer and apply
25123
+ * Change uv0 data to GPUBuffer and apply
25124
+ * Change uv1 data to GPUBuffer and apply
25125
+ * Change uv2 data to GPUBuffer and apply
25126
+ */
25092
25127
  }
25093
25128
 
25094
25129
  class SubGeometry {
@@ -25871,9 +25906,9 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
25871
25906
  }
25872
25907
  }
25873
25908
 
25874
- var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
25875
- var __decorateClass$e = (decorators, target, key, kind) => {
25876
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
25909
+ var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
25910
+ var __decorateClass$f = (decorators, target, key, kind) => {
25911
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
25877
25912
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
25878
25913
  if (decorator = decorators[i])
25879
25914
  result = (decorator(result)) || result;
@@ -25897,8 +25932,8 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
25897
25932
  this.setUniformFloat(`height`, 100);
25898
25933
  }
25899
25934
  };
25900
- exports.QuadShader = __decorateClass$e([
25901
- RegisterShader
25935
+ exports.QuadShader = __decorateClass$f([
25936
+ RegisterShader(exports.QuadShader, "QuadShader")
25902
25937
  ], exports.QuadShader);
25903
25938
 
25904
25939
  class ViewQuad extends exports.Object3D {
@@ -31307,6 +31342,7 @@ fn CsMain( @builtin(workgroup_id) workgroup_id : vec3<u32> , @builtin(global_inv
31307
31342
  parser.userData = userData;
31308
31343
  parser.baseUrl = this.baseUrl;
31309
31344
  parser.initUrl = url;
31345
+ parser.loaderFunctions = loaderFunctions;
31310
31346
  await parser.parseBuffer(data);
31311
31347
  if (parser.verification()) {
31312
31348
  succ(parser);
@@ -33170,9 +33206,9 @@ fn CsMain( @builtin(workgroup_id) workgroup_id : vec3<u32> , @builtin(global_inv
33170
33206
  }
33171
33207
  }
33172
33208
 
33173
- var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
33174
- var __decorateClass$d = (decorators, target, key, kind) => {
33175
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
33209
+ var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
33210
+ var __decorateClass$e = (decorators, target, key, kind) => {
33211
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
33176
33212
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
33177
33213
  if (decorator = decorators[i])
33178
33214
  result = (decorator(result)) || result;
@@ -33214,13 +33250,13 @@ fn CsMain( @builtin(workgroup_id) workgroup_id : vec3<u32> , @builtin(global_inv
33214
33250
  debug() {
33215
33251
  }
33216
33252
  };
33217
- exports.DirectLight = __decorateClass$d([
33253
+ exports.DirectLight = __decorateClass$e([
33218
33254
  RegisterComponent(exports.DirectLight, "DirectLight")
33219
33255
  ], exports.DirectLight);
33220
33256
 
33221
- var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
33222
- var __decorateClass$c = (decorators, target, key, kind) => {
33223
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
33257
+ var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
33258
+ var __decorateClass$d = (decorators, target, key, kind) => {
33259
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
33224
33260
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
33225
33261
  if (decorator = decorators[i])
33226
33262
  result = (decorator(result)) || result;
@@ -33278,13 +33314,13 @@ fn CsMain( @builtin(workgroup_id) workgroup_id : vec3<u32> , @builtin(global_inv
33278
33314
  debugDraw(show) {
33279
33315
  }
33280
33316
  };
33281
- exports.PointLight = __decorateClass$c([
33317
+ exports.PointLight = __decorateClass$d([
33282
33318
  RegisterComponent(exports.PointLight, "PointLight")
33283
33319
  ], exports.PointLight);
33284
33320
 
33285
- var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
33286
- var __decorateClass$b = (decorators, target, key, kind) => {
33287
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
33321
+ var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
33322
+ var __decorateClass$c = (decorators, target, key, kind) => {
33323
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
33288
33324
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
33289
33325
  if (decorator = decorators[i])
33290
33326
  result = (decorator(result)) || result;
@@ -33349,7 +33385,7 @@ fn CsMain( @builtin(workgroup_id) workgroup_id : vec3<u32> , @builtin(global_inv
33349
33385
  debugDraw(show) {
33350
33386
  }
33351
33387
  };
33352
- exports.SpotLight = __decorateClass$b([
33388
+ exports.SpotLight = __decorateClass$c([
33353
33389
  RegisterComponent(exports.SpotLight, "SpotLight")
33354
33390
  ], exports.SpotLight);
33355
33391
 
@@ -37994,6 +38030,826 @@ fn CsMain( @builtin(workgroup_id) workgroup_id : vec3<u32> , @builtin(global_inv
37994
38030
  }
37995
38031
  }
37996
38032
 
38033
+ // DEFLATE is a complex format; to read this code, you should probably check the RFC first:
38034
+ // https://tools.ietf.org/html/rfc1951
38035
+ // You may also wish to take a look at the guide I made about this program:
38036
+ // https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad
38037
+ // Some of the following code is similar to that of UZIP.js:
38038
+ // https://github.com/photopea/UZIP.js
38039
+ // However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.
38040
+ // Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint
38041
+ // is better for memory in most engines (I *think*).
38042
+
38043
+ // aliases for shorter compressed code (most minifers don't do this)
38044
+ var u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;
38045
+ // fixed length extra bits
38046
+ var fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);
38047
+ // fixed distance extra bits
38048
+ var fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);
38049
+ // code length index map
38050
+ var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
38051
+ // get base, reverse index map from extra bits
38052
+ var freb = function (eb, start) {
38053
+ var b = new u16(31);
38054
+ for (var i = 0; i < 31; ++i) {
38055
+ b[i] = start += 1 << eb[i - 1];
38056
+ }
38057
+ // numbers here are at max 18 bits
38058
+ var r = new i32(b[30]);
38059
+ for (var i = 1; i < 30; ++i) {
38060
+ for (var j = b[i]; j < b[i + 1]; ++j) {
38061
+ r[j] = ((j - b[i]) << 5) | i;
38062
+ }
38063
+ }
38064
+ return { b: b, r: r };
38065
+ };
38066
+ var _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;
38067
+ // we can ignore the fact that the other numbers are wrong; they never happen anyway
38068
+ fl[28] = 258, revfl[258] = 28;
38069
+ var _b = freb(fdeb, 0), fd = _b.b;
38070
+ // map of value to reverse (assuming 16 bits)
38071
+ var rev = new u16(32768);
38072
+ for (var i = 0; i < 32768; ++i) {
38073
+ // reverse table algorithm from SO
38074
+ var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1);
38075
+ x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2);
38076
+ x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4);
38077
+ rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1;
38078
+ }
38079
+ // create huffman tree from u8 "map": index -> code length for code index
38080
+ // mb (max bits) must be at most 15
38081
+ // TODO: optimize/split up?
38082
+ var hMap = (function (cd, mb, r) {
38083
+ var s = cd.length;
38084
+ // index
38085
+ var i = 0;
38086
+ // u16 "map": index -> # of codes with bit length = index
38087
+ var l = new u16(mb);
38088
+ // length of cd must be 288 (total # of codes)
38089
+ for (; i < s; ++i) {
38090
+ if (cd[i])
38091
+ ++l[cd[i] - 1];
38092
+ }
38093
+ // u16 "map": index -> minimum code for bit length = index
38094
+ var le = new u16(mb);
38095
+ for (i = 1; i < mb; ++i) {
38096
+ le[i] = (le[i - 1] + l[i - 1]) << 1;
38097
+ }
38098
+ var co;
38099
+ if (r) {
38100
+ // u16 "map": index -> number of actual bits, symbol for code
38101
+ co = new u16(1 << mb);
38102
+ // bits to remove for reverser
38103
+ var rvb = 15 - mb;
38104
+ for (i = 0; i < s; ++i) {
38105
+ // ignore 0 lengths
38106
+ if (cd[i]) {
38107
+ // num encoding both symbol and bits read
38108
+ var sv = (i << 4) | cd[i];
38109
+ // free bits
38110
+ var r_1 = mb - cd[i];
38111
+ // start value
38112
+ var v = le[cd[i] - 1]++ << r_1;
38113
+ // m is end value
38114
+ for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {
38115
+ // every 16 bit value starting with the code yields the same result
38116
+ co[rev[v] >> rvb] = sv;
38117
+ }
38118
+ }
38119
+ }
38120
+ }
38121
+ else {
38122
+ co = new u16(s);
38123
+ for (i = 0; i < s; ++i) {
38124
+ if (cd[i]) {
38125
+ co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]);
38126
+ }
38127
+ }
38128
+ }
38129
+ return co;
38130
+ });
38131
+ // fixed length tree
38132
+ var flt = new u8(288);
38133
+ for (var i = 0; i < 144; ++i)
38134
+ flt[i] = 8;
38135
+ for (var i = 144; i < 256; ++i)
38136
+ flt[i] = 9;
38137
+ for (var i = 256; i < 280; ++i)
38138
+ flt[i] = 7;
38139
+ for (var i = 280; i < 288; ++i)
38140
+ flt[i] = 8;
38141
+ // fixed distance tree
38142
+ var fdt = new u8(32);
38143
+ for (var i = 0; i < 32; ++i)
38144
+ fdt[i] = 5;
38145
+ // fixed length map
38146
+ var flrm = /*#__PURE__*/ hMap(flt, 9, 1);
38147
+ // fixed distance map
38148
+ var fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);
38149
+ // find max of array
38150
+ var max = function (a) {
38151
+ var m = a[0];
38152
+ for (var i = 1; i < a.length; ++i) {
38153
+ if (a[i] > m)
38154
+ m = a[i];
38155
+ }
38156
+ return m;
38157
+ };
38158
+ // read d, starting at bit p and mask with m
38159
+ var bits = function (d, p, m) {
38160
+ var o = (p / 8) | 0;
38161
+ return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m;
38162
+ };
38163
+ // read d, starting at bit p continuing for at least 16 bits
38164
+ var bits16 = function (d, p) {
38165
+ var o = (p / 8) | 0;
38166
+ return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7));
38167
+ };
38168
+ // get end of byte
38169
+ var shft = function (p) { return ((p + 7) / 8) | 0; };
38170
+ // typed array slice - allows garbage collector to free original reference,
38171
+ // while being more compatible than .slice
38172
+ var slc = function (v, s, e) {
38173
+ if (s == null || s < 0)
38174
+ s = 0;
38175
+ if (e == null || e > v.length)
38176
+ e = v.length;
38177
+ // can't use .constructor in case user-supplied
38178
+ return new u8(v.subarray(s, e));
38179
+ };
38180
+ // error codes
38181
+ var ec = [
38182
+ 'unexpected EOF',
38183
+ 'invalid block type',
38184
+ 'invalid length/literal',
38185
+ 'invalid distance',
38186
+ 'stream finished',
38187
+ 'no stream handler',
38188
+ ,
38189
+ 'no callback',
38190
+ 'invalid UTF-8 data',
38191
+ 'extra field too long',
38192
+ 'date not in range 1980-2099',
38193
+ 'filename too long',
38194
+ 'stream finishing',
38195
+ 'invalid zip data'
38196
+ // determined by unknown compression method
38197
+ ];
38198
+ var err = function (ind, msg, nt) {
38199
+ var e = new Error(msg || ec[ind]);
38200
+ e.code = ind;
38201
+ if (Error.captureStackTrace)
38202
+ Error.captureStackTrace(e, err);
38203
+ if (!nt)
38204
+ throw e;
38205
+ return e;
38206
+ };
38207
+ // expands raw DEFLATE data
38208
+ var inflt = function (dat, st, buf, dict) {
38209
+ // source length dict length
38210
+ var sl = dat.length, dl = dict ? dict.length : 0;
38211
+ if (!sl || st.f && !st.l)
38212
+ return buf || new u8(0);
38213
+ var noBuf = !buf;
38214
+ // have to estimate size
38215
+ var resize = noBuf || st.i != 2;
38216
+ // no state
38217
+ var noSt = st.i;
38218
+ // Assumes roughly 33% compression ratio average
38219
+ if (noBuf)
38220
+ buf = new u8(sl * 3);
38221
+ // ensure buffer can fit at least l elements
38222
+ var cbuf = function (l) {
38223
+ var bl = buf.length;
38224
+ // need to increase size to fit
38225
+ if (l > bl) {
38226
+ // Double or set to necessary, whichever is greater
38227
+ var nbuf = new u8(Math.max(bl * 2, l));
38228
+ nbuf.set(buf);
38229
+ buf = nbuf;
38230
+ }
38231
+ };
38232
+ // last chunk bitpos bytes
38233
+ var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;
38234
+ // total bits
38235
+ var tbts = sl * 8;
38236
+ do {
38237
+ if (!lm) {
38238
+ // BFINAL - this is only 1 when last chunk is next
38239
+ final = bits(dat, pos, 1);
38240
+ // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman
38241
+ var type = bits(dat, pos + 1, 3);
38242
+ pos += 3;
38243
+ if (!type) {
38244
+ // go to end of byte boundary
38245
+ var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;
38246
+ if (t > sl) {
38247
+ if (noSt)
38248
+ err(0);
38249
+ break;
38250
+ }
38251
+ // ensure size
38252
+ if (resize)
38253
+ cbuf(bt + l);
38254
+ // Copy over uncompressed data
38255
+ buf.set(dat.subarray(s, t), bt);
38256
+ // Get new bitpos, update byte count
38257
+ st.b = bt += l, st.p = pos = t * 8, st.f = final;
38258
+ continue;
38259
+ }
38260
+ else if (type == 1)
38261
+ lm = flrm, dm = fdrm, lbt = 9, dbt = 5;
38262
+ else if (type == 2) {
38263
+ // literal lengths
38264
+ var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;
38265
+ var tl = hLit + bits(dat, pos + 5, 31) + 1;
38266
+ pos += 14;
38267
+ // length+distance tree
38268
+ var ldt = new u8(tl);
38269
+ // code length tree
38270
+ var clt = new u8(19);
38271
+ for (var i = 0; i < hcLen; ++i) {
38272
+ // use index map to get real code
38273
+ clt[clim[i]] = bits(dat, pos + i * 3, 7);
38274
+ }
38275
+ pos += hcLen * 3;
38276
+ // code lengths bits
38277
+ var clb = max(clt), clbmsk = (1 << clb) - 1;
38278
+ // code lengths map
38279
+ var clm = hMap(clt, clb, 1);
38280
+ for (var i = 0; i < tl;) {
38281
+ var r = clm[bits(dat, pos, clbmsk)];
38282
+ // bits read
38283
+ pos += r & 15;
38284
+ // symbol
38285
+ var s = r >> 4;
38286
+ // code length to copy
38287
+ if (s < 16) {
38288
+ ldt[i++] = s;
38289
+ }
38290
+ else {
38291
+ // copy count
38292
+ var c = 0, n = 0;
38293
+ if (s == 16)
38294
+ n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];
38295
+ else if (s == 17)
38296
+ n = 3 + bits(dat, pos, 7), pos += 3;
38297
+ else if (s == 18)
38298
+ n = 11 + bits(dat, pos, 127), pos += 7;
38299
+ while (n--)
38300
+ ldt[i++] = c;
38301
+ }
38302
+ }
38303
+ // length tree distance tree
38304
+ var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);
38305
+ // max length bits
38306
+ lbt = max(lt);
38307
+ // max dist bits
38308
+ dbt = max(dt);
38309
+ lm = hMap(lt, lbt, 1);
38310
+ dm = hMap(dt, dbt, 1);
38311
+ }
38312
+ else
38313
+ err(1);
38314
+ if (pos > tbts) {
38315
+ if (noSt)
38316
+ err(0);
38317
+ break;
38318
+ }
38319
+ }
38320
+ // Make sure the buffer can hold this + the largest possible addition
38321
+ // Maximum chunk size (practically, theoretically infinite) is 2^17
38322
+ if (resize)
38323
+ cbuf(bt + 131072);
38324
+ var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;
38325
+ var lpos = pos;
38326
+ for (;; lpos = pos) {
38327
+ // bits read, code
38328
+ var c = lm[bits16(dat, pos) & lms], sym = c >> 4;
38329
+ pos += c & 15;
38330
+ if (pos > tbts) {
38331
+ if (noSt)
38332
+ err(0);
38333
+ break;
38334
+ }
38335
+ if (!c)
38336
+ err(2);
38337
+ if (sym < 256)
38338
+ buf[bt++] = sym;
38339
+ else if (sym == 256) {
38340
+ lpos = pos, lm = null;
38341
+ break;
38342
+ }
38343
+ else {
38344
+ var add = sym - 254;
38345
+ // no extra bits needed if less
38346
+ if (sym > 264) {
38347
+ // index
38348
+ var i = sym - 257, b = fleb[i];
38349
+ add = bits(dat, pos, (1 << b) - 1) + fl[i];
38350
+ pos += b;
38351
+ }
38352
+ // dist
38353
+ var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;
38354
+ if (!d)
38355
+ err(3);
38356
+ pos += d & 15;
38357
+ var dt = fd[dsym];
38358
+ if (dsym > 3) {
38359
+ var b = fdeb[dsym];
38360
+ dt += bits16(dat, pos) & (1 << b) - 1, pos += b;
38361
+ }
38362
+ if (pos > tbts) {
38363
+ if (noSt)
38364
+ err(0);
38365
+ break;
38366
+ }
38367
+ if (resize)
38368
+ cbuf(bt + 131072);
38369
+ var end = bt + add;
38370
+ if (bt < dt) {
38371
+ var shift = dl - dt, dend = Math.min(dt, end);
38372
+ if (shift + bt < 0)
38373
+ err(3);
38374
+ for (; bt < dend; ++bt)
38375
+ buf[bt] = dict[shift + bt];
38376
+ }
38377
+ for (; bt < end; ++bt)
38378
+ buf[bt] = buf[bt - dt];
38379
+ }
38380
+ }
38381
+ st.l = lm, st.p = lpos, st.b = bt, st.f = final;
38382
+ if (lm)
38383
+ final = 1, st.m = lbt, st.d = dm, st.n = dbt;
38384
+ } while (!final);
38385
+ // don't reallocate for streams or user buffers
38386
+ return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);
38387
+ };
38388
+ // empty
38389
+ var et = /*#__PURE__*/ new u8(0);
38390
+ // read 2 bytes
38391
+ var b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };
38392
+ // read 4 bytes
38393
+ var b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };
38394
+ var b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };
38395
+ /**
38396
+ * Expands DEFLATE data with no wrapper
38397
+ * @param data The data to decompress
38398
+ * @param opts The decompression options
38399
+ * @returns The decompressed version of the data
38400
+ */
38401
+ function inflateSync(data, opts) {
38402
+ return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);
38403
+ }
38404
+ // text decoder
38405
+ var td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();
38406
+ // text decoder stream
38407
+ var tds = 0;
38408
+ try {
38409
+ td.decode(et, { stream: true });
38410
+ tds = 1;
38411
+ }
38412
+ catch (e) { }
38413
+ // decode UTF8
38414
+ var dutf8 = function (d) {
38415
+ for (var r = '', i = 0;;) {
38416
+ var c = d[i++];
38417
+ var eb = (c > 127) + (c > 223) + (c > 239);
38418
+ if (i + eb > d.length)
38419
+ return { s: r, r: slc(d, i - 1) };
38420
+ if (!eb)
38421
+ r += String.fromCharCode(c);
38422
+ else if (eb == 3) {
38423
+ c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,
38424
+ r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));
38425
+ }
38426
+ else if (eb & 1)
38427
+ r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));
38428
+ else
38429
+ r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));
38430
+ }
38431
+ };
38432
+ /**
38433
+ * Converts a Uint8Array to a string
38434
+ * @param dat The data to decode to string
38435
+ * @param latin1 Whether or not to interpret the data as Latin-1. This should
38436
+ * not need to be true unless encoding to binary string.
38437
+ * @returns The original UTF-8/Latin-1 string
38438
+ */
38439
+ function strFromU8(dat, latin1) {
38440
+ if (latin1) {
38441
+ var r = '';
38442
+ for (var i = 0; i < dat.length; i += 16384)
38443
+ r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));
38444
+ return r;
38445
+ }
38446
+ else if (td) {
38447
+ return td.decode(dat);
38448
+ }
38449
+ else {
38450
+ var _a = dutf8(dat), s = _a.s, r = _a.r;
38451
+ if (r.length)
38452
+ err(8);
38453
+ return s;
38454
+ }
38455
+ }
38456
+ // skip local zip header
38457
+ var slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };
38458
+ // read zip header
38459
+ var zh = function (d, b, z) {
38460
+ var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20);
38461
+ var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];
38462
+ return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];
38463
+ };
38464
+ // read zip64 extra field
38465
+ var z64e = function (d, b) {
38466
+ for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))
38467
+ ;
38468
+ return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)];
38469
+ };
38470
+ /**
38471
+ * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better
38472
+ * performance with more than one file.
38473
+ * @param data The raw compressed ZIP file
38474
+ * @param opts The ZIP extraction options
38475
+ * @returns The decompressed files
38476
+ */
38477
+ function unzipSync(data, opts) {
38478
+ var files = {};
38479
+ var e = data.length - 22;
38480
+ for (; b4(data, e) != 0x6054B50; --e) {
38481
+ if (!e || data.length - e > 65558)
38482
+ err(13);
38483
+ }
38484
+ var c = b2(data, e + 8);
38485
+ if (!c)
38486
+ return {};
38487
+ var o = b4(data, e + 16);
38488
+ var z = o == 4294967295 || c == 65535;
38489
+ if (z) {
38490
+ var ze = b4(data, e - 12);
38491
+ z = b4(data, ze) == 0x6064B50;
38492
+ if (z) {
38493
+ c = b4(data, ze + 32);
38494
+ o = b4(data, ze + 48);
38495
+ }
38496
+ }
38497
+ for (var i = 0; i < c; ++i) {
38498
+ var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);
38499
+ o = no;
38500
+ {
38501
+ if (!c_2)
38502
+ files[fn] = slc(data, b, b + sc);
38503
+ else if (c_2 == 8)
38504
+ files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) });
38505
+ else
38506
+ err(14, 'unknown compression type ' + c_2);
38507
+ }
38508
+ }
38509
+ return files;
38510
+ }
38511
+
38512
+ class UnLitMaterial extends Material {
38513
+ /**
38514
+ * @constructor
38515
+ */
38516
+ constructor() {
38517
+ super();
38518
+ this.shader = new exports.UnLitShader();
38519
+ this.baseMap = Engine3D.res.whiteTexture;
38520
+ }
38521
+ set baseMap(texture) {
38522
+ this.shader.setTexture(`baseMap`, texture);
38523
+ }
38524
+ get baseMap() {
38525
+ return this.shader.getTexture(`baseMap`);
38526
+ }
38527
+ /**
38528
+ * set base color (tint color)
38529
+ */
38530
+ set baseColor(color) {
38531
+ this.shader.setUniformColor(`baseColor`, color);
38532
+ }
38533
+ /**
38534
+ * get base color (tint color)
38535
+ */
38536
+ get baseColor() {
38537
+ return this.shader.getUniformColor("baseColor");
38538
+ }
38539
+ /**
38540
+ * set environment texture, usually referring to cubemap
38541
+ */
38542
+ set envMap(texture) {
38543
+ }
38544
+ /**
38545
+ * @internal
38546
+ * set shadow map
38547
+ */
38548
+ set shadowMap(texture) {
38549
+ }
38550
+ }
38551
+
38552
+ class SphereGeometry extends GeometryBase {
38553
+ shape_vertices = [];
38554
+ shape_indices = [];
38555
+ radius;
38556
+ widthSegments;
38557
+ heightSegments;
38558
+ phiStart;
38559
+ phiLength;
38560
+ thetaStart;
38561
+ thetaLength;
38562
+ /**
38563
+ * 球体几何体
38564
+ * @constructor
38565
+ * @param radius 球体半径
38566
+ * @param widthSegments 定义水平分段数
38567
+ * @param heightSegments 定义垂直分段数
38568
+ * @param phiStart 球体赤道线起始点的弧度
38569
+ * @param phiLength 球体赤道线的弧长
38570
+ * @param thetaStart 球体经线起始点的弧度
38571
+ * @param thetaLength 球体经线的弧长
38572
+ */
38573
+ constructor(radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength) {
38574
+ super();
38575
+ this.radius = radius;
38576
+ this.widthSegments = widthSegments;
38577
+ this.heightSegments = heightSegments;
38578
+ this.phiStart = phiStart;
38579
+ this.phiLength = phiLength;
38580
+ this.thetaStart = thetaStart;
38581
+ this.thetaLength = thetaLength;
38582
+ this.buildGeometry();
38583
+ }
38584
+ buildGeometry() {
38585
+ var i, j, triIndex = 0;
38586
+ let _segmentsH = this.heightSegments;
38587
+ let _segmentsW = this.widthSegments;
38588
+ let _radius = this.radius;
38589
+ var vertexCount = (_segmentsH + 1) * (_segmentsW + 1);
38590
+ let position_arr = new Float32Array(vertexCount * 3);
38591
+ let normal_arr = new Float32Array(vertexCount * 3);
38592
+ let uv_arr = new Float32Array(vertexCount * 2);
38593
+ let indice_arr = new Uint16Array(_segmentsW * _segmentsH * 2 * 3);
38594
+ let pi = 0;
38595
+ let ni = 0;
38596
+ let ui = 0;
38597
+ for (j = 0; j <= _segmentsH; ++j) {
38598
+ var horAngle = Math.PI * j / _segmentsH;
38599
+ var y = _radius * Math.cos(horAngle);
38600
+ var ringRadius = _radius * Math.sin(horAngle);
38601
+ for (i = 0; i <= _segmentsW; ++i) {
38602
+ var verAngle = 2 * Math.PI * i / _segmentsW;
38603
+ var x = ringRadius * Math.cos(verAngle);
38604
+ var z = ringRadius * Math.sin(verAngle);
38605
+ var normLen = 1 / Math.sqrt(x * x + y * y + z * z);
38606
+ position_arr[pi++] = x;
38607
+ position_arr[pi++] = y;
38608
+ position_arr[pi++] = z;
38609
+ normal_arr[ni++] = x * normLen;
38610
+ normal_arr[ni++] = y * normLen;
38611
+ normal_arr[ni++] = z * normLen;
38612
+ uv_arr[ui++] = i / _segmentsW;
38613
+ uv_arr[ui++] = j / _segmentsH;
38614
+ if (i > 0 && j > 0) {
38615
+ var a = (_segmentsW + 1) * j + i;
38616
+ var b = (_segmentsW + 1) * j + i - 1;
38617
+ var c = (_segmentsW + 1) * (j - 1) + i - 1;
38618
+ var d = (_segmentsW + 1) * (j - 1) + i;
38619
+ if (j == _segmentsH) {
38620
+ indice_arr[triIndex++] = a;
38621
+ indice_arr[triIndex++] = c;
38622
+ indice_arr[triIndex++] = d;
38623
+ } else if (j == 1) {
38624
+ indice_arr[triIndex++] = a;
38625
+ indice_arr[triIndex++] = b;
38626
+ indice_arr[triIndex++] = c;
38627
+ } else {
38628
+ indice_arr[triIndex++] = a;
38629
+ indice_arr[triIndex++] = b;
38630
+ indice_arr[triIndex++] = c;
38631
+ indice_arr[triIndex++] = a;
38632
+ indice_arr[triIndex++] = c;
38633
+ indice_arr[triIndex++] = d;
38634
+ }
38635
+ }
38636
+ }
38637
+ }
38638
+ this.setIndices(indice_arr);
38639
+ this.setAttribute(VertexAttributeName.position, position_arr);
38640
+ this.setAttribute(VertexAttributeName.normal, normal_arr);
38641
+ this.setAttribute(VertexAttributeName.uv, uv_arr);
38642
+ this.setAttribute(VertexAttributeName.TEXCOORD_1, uv_arr);
38643
+ this.addSubGeometry({
38644
+ indexStart: 0,
38645
+ indexCount: indice_arr.length,
38646
+ vertexStart: 0,
38647
+ vertexCount: 0,
38648
+ firstStart: 0,
38649
+ index: 0,
38650
+ topology: 0
38651
+ });
38652
+ this.bounds = new BoundingBox(
38653
+ Vector3.ZERO,
38654
+ new Vector3(this.radius * 2, this.radius * 2, this.radius * 2)
38655
+ );
38656
+ }
38657
+ }
38658
+
38659
+ class WayPoint3D extends exports.Object3D {
38660
+ static register3DRepresentation = null;
38661
+ positionIndex = -1;
38662
+ positionValid = false;
38663
+ marker;
38664
+ constructor(placemark) {
38665
+ super();
38666
+ this.parsePlacemark(placemark);
38667
+ this.setup3DRepresentation();
38668
+ }
38669
+ parsePlacemark(placemark) {
38670
+ if (!placemark.slamPositionInfo) {
38671
+ console.warn("WayPoint3D: slamPositionInfo is not found");
38672
+ return;
38673
+ }
38674
+ const slamPosition = placemark.slamPositionInfo.slamPosition.split(",").map(Number);
38675
+ this.localPosition = new Vector3(slamPosition[0], slamPosition[1], slamPosition[2]);
38676
+ this.positionIndex = Number(placemark.slamPositionInfo.slamPositionIndex);
38677
+ this.positionValid = placemark.slamPositionInfo.slamPositionValid === "1";
38678
+ }
38679
+ setup3DRepresentation() {
38680
+ if (this.marker) {
38681
+ this.removeChild(this.marker);
38682
+ this.marker = null;
38683
+ }
38684
+ if (WayPoint3D.register3DRepresentation) {
38685
+ this.marker = WayPoint3D.register3DRepresentation(this);
38686
+ if (this.marker) {
38687
+ this.addChild(this.marker);
38688
+ }
38689
+ } else {
38690
+ this.marker = new exports.Object3D();
38691
+ const markerRenderer = this.marker.addComponent(exports.MeshRenderer);
38692
+ markerRenderer.geometry = new SphereGeometry(0.1, 32, 16);
38693
+ markerRenderer.material = new LitMaterial();
38694
+ markerRenderer.material.baseColor = this.positionValid ? new Color(0, 1, 0, 1) : new Color(1, 0, 0, 1);
38695
+ this.addChild(this.marker);
38696
+ this.marker.name = "WayPoint3DMarker";
38697
+ }
38698
+ }
38699
+ }
38700
+
38701
+ class WayLines3D extends exports.Object3D {
38702
+ static register3DRepresentation = null;
38703
+ line;
38704
+ constructor(wayLineFile) {
38705
+ super();
38706
+ this.parseWayLineFile(wayLineFile);
38707
+ this.setup3DRepresentation();
38708
+ }
38709
+ parseWayLineFile(wayLineFile) {
38710
+ for (const placemark of wayLineFile.Folder.Placemark) {
38711
+ const wayPoint3D = new WayPoint3D(placemark);
38712
+ this.addChild(wayPoint3D);
38713
+ }
38714
+ this.entityChildren = this.entityChildren.sort((a, b) => {
38715
+ return a.positionIndex - b.positionIndex;
38716
+ });
38717
+ }
38718
+ setup3DRepresentation() {
38719
+ if (this.line) {
38720
+ this.removeChild(this.line);
38721
+ this.line = null;
38722
+ }
38723
+ if (WayLines3D.register3DRepresentation) {
38724
+ this.line = WayLines3D.register3DRepresentation(this);
38725
+ if (this.line) {
38726
+ this.addChild(this.line);
38727
+ }
38728
+ } else {
38729
+ this.line = this.createMultiLine(this.entityChildren.map((child) => child.localPosition), new Color(1, 1, 1, 1));
38730
+ this.addChild(this.line);
38731
+ this.line.name = "WayLines3DLine";
38732
+ }
38733
+ }
38734
+ createMultiLine(positions, color) {
38735
+ if (positions.length < 2) {
38736
+ return null;
38737
+ }
38738
+ const lineGeometry = new GeometryBase();
38739
+ const vertices = new Float32Array(positions.length * 3);
38740
+ for (let i = 0; i < positions.length; i++) {
38741
+ vertices[i * 3] = positions[i].x;
38742
+ vertices[i * 3 + 1] = positions[i].y;
38743
+ vertices[i * 3 + 2] = positions[i].z;
38744
+ }
38745
+ const indices = new Uint16Array((positions.length - 1) * 2);
38746
+ for (let i = 0; i < positions.length - 1; i++) {
38747
+ indices[i * 2] = i;
38748
+ indices[i * 2 + 1] = i + 1;
38749
+ }
38750
+ lineGeometry.setIndices(indices);
38751
+ lineGeometry.setAttribute(VertexAttributeName.position, vertices);
38752
+ lineGeometry.addSubGeometry({
38753
+ indexStart: 0,
38754
+ indexCount: indices.length,
38755
+ vertexStart: 0,
38756
+ vertexCount: 0,
38757
+ firstStart: 0,
38758
+ index: 0,
38759
+ topology: 0
38760
+ });
38761
+ const lineObject = new exports.Object3D();
38762
+ const lineRenderer = lineObject.addComponent(exports.MeshRenderer);
38763
+ const material = new UnLitMaterial();
38764
+ material.topology = "line-list";
38765
+ material.baseColor = color;
38766
+ material.blendMode = BlendMode.ADD;
38767
+ material.castReflection = false;
38768
+ lineRenderer.geometry = lineGeometry;
38769
+ lineRenderer.material = material;
38770
+ return lineObject;
38771
+ }
38772
+ }
38773
+
38774
+ class KMZParser extends ParserBase {
38775
+ static format = ParserFormat.BIN;
38776
+ parseBuffer(buffer) {
38777
+ try {
38778
+ const kmzObj = {
38779
+ template: null,
38780
+ waylines: null
38781
+ };
38782
+ const zip = unzipSync(new Uint8Array(buffer));
38783
+ for (const path in zip) {
38784
+ const fileData = zip[path];
38785
+ const domParser = new DOMParser();
38786
+ const xmlDoc = domParser.parseFromString(strFromU8(fileData), "application/xml");
38787
+ const obj = {};
38788
+ this.parseNode(xmlDoc, obj);
38789
+ const objName = path.replace("wpmz/", "").split(".")[0];
38790
+ Object.assign(kmzObj, {
38791
+ [objName]: obj["#document"].kml.Document
38792
+ });
38793
+ }
38794
+ const wayline3D = new WayLines3D(kmzObj.waylines);
38795
+ this.data = wayline3D;
38796
+ } catch (error) {
38797
+ this.parserError(`KMZ parsing failed: ${error}`, -1);
38798
+ }
38799
+ }
38800
+ parseNode(xml, obj) {
38801
+ const arrayLikeName = ["Placemark", "actionGroup", "action"];
38802
+ const attr = xml.nodeName.replace("wpml:", "");
38803
+ if (!xml.childNodes.length) {
38804
+ obj[attr] = void 0;
38805
+ } else {
38806
+ let textValue = null;
38807
+ let hasElementChildren = false;
38808
+ for (let i = 0; i < xml.childNodes.length; ++i) {
38809
+ const childNode = xml.childNodes[i];
38810
+ if (childNode.nodeType == Node.TEXT_NODE) {
38811
+ const text = childNode.nodeValue?.trim();
38812
+ if (text && text.length > 0) {
38813
+ textValue = text;
38814
+ }
38815
+ } else if (childNode.nodeType == Node.ELEMENT_NODE) {
38816
+ hasElementChildren = true;
38817
+ }
38818
+ }
38819
+ if (textValue && !hasElementChildren) {
38820
+ obj[attr] = textValue;
38821
+ } else if (hasElementChildren) {
38822
+ if (arrayLikeName.includes(attr)) {
38823
+ if (obj[attr]?.length) {
38824
+ obj[attr].push({});
38825
+ } else {
38826
+ obj[attr] = [{}];
38827
+ }
38828
+ } else {
38829
+ obj[attr] = {};
38830
+ }
38831
+ for (let i = 0; i < xml.childNodes.length; ++i) {
38832
+ const childNode = xml.childNodes[i];
38833
+ if (childNode.nodeType == Node.ELEMENT_NODE) {
38834
+ this.parseNode(
38835
+ childNode,
38836
+ !Array.isArray(obj[attr]) ? obj[attr] : obj[attr].at(-1)
38837
+ );
38838
+ }
38839
+ }
38840
+ } else {
38841
+ obj[attr] = void 0;
38842
+ }
38843
+ }
38844
+ }
38845
+ verification() {
38846
+ if (this.data) {
38847
+ return true;
38848
+ }
38849
+ throw new Error("verify failed.");
38850
+ }
38851
+ }
38852
+
37997
38853
  class Res {
37998
38854
  _texturePool;
37999
38855
  _materialPool;
@@ -38223,6 +39079,11 @@ fn CsMain( @builtin(workgroup_id) workgroup_id : vec3<u32> , @builtin(global_inv
38223
39079
  let parser = await loader.load(url, AtlasParser, loaderFunctions, url);
38224
39080
  return parser.data;
38225
39081
  }
39082
+ async loadKMZ(url, loaderFunctions) {
39083
+ let loader = new FileLoader();
39084
+ let parser = await loader.load(url, KMZParser, loaderFunctions);
39085
+ return parser.data;
39086
+ }
38226
39087
  normalTexture;
38227
39088
  maskTexture;
38228
39089
  whiteTexture;
@@ -38416,7 +39277,7 @@ fn CsMain( @builtin(workgroup_id) workgroup_id : vec3<u32> , @builtin(global_inv
38416
39277
  }
38417
39278
  }
38418
39279
 
38419
- const version = "1.0.1";
39280
+ const version = "1.0.4";
38420
39281
 
38421
39282
  class Engine3D {
38422
39283
  /**
@@ -41725,6 +42586,267 @@ fn CsMain(@builtin(workgroup_id) workgroup_id: vec3<u32>, @builtin(global_invoca
41725
42586
  `
41726
42587
  );
41727
42588
 
42589
+ const GSplat_VS = (
42590
+ /* wgsl */
42591
+ `
42592
+ #include "GlobalUniform"
42593
+
42594
+ struct VSOut {
42595
+ @location(auto) vColor : vec4f,
42596
+ @location(auto) vTexCoord : vec2f,
42597
+ @builtin(position) member : vec4f
42598
+ };
42599
+
42600
+ // ===== SPLAT CORE VS (from PlayCanvas shader-generator-gsplat.js) =====
42601
+
42602
+ // Uniforms (mapped to WebGPU bindings)
42603
+ // matrix_model, matrix_view, matrix_projection -> GlobalUniform + MaterialUniform
42604
+ // viewport -> calculated from globalUniform.windowWidth/Height
42605
+ // tex_params -> materialUniform.tex_params
42606
+
42607
+ @group(1) @binding(0) var splatColor : texture_2d<f32>;
42608
+ @group(1) @binding(1) var transformA : texture_2d<u32>;
42609
+ @group(1) @binding(2) var transformB : texture_2d<f32>;
42610
+ @group(1) @binding(4) var splatOrder : texture_2d<u32>;
42611
+
42612
+ struct MaterialUniform {
42613
+ tex_params: vec4f, // numSplats, textureWidth, validCount, visBoost
42614
+ modelMatrix: mat4x4<f32>,
42615
+ };
42616
+ @group(1) @binding(3) var<uniform> materialUniform : MaterialUniform;
42617
+
42618
+ // Global variables (like PlayCanvas)
42619
+ var<private> orderId: u32;
42620
+ var<private> splatId: u32;
42621
+ var<private> splatUV: vec2<i32>;
42622
+ var<private> tA: vec4<u32>;
42623
+
42624
+ // Helper: decode 16-bit half float
42625
+ fn unpackHalf(h: u32) -> f32 {
42626
+ let s = (h >> 15u) & 0x1u;
42627
+ let e = (h >> 10u) & 0x1fu;
42628
+ let m = h & 0x3ffu;
42629
+ let sign = select(1.0, -1.0, s == 1u);
42630
+ if (e == 0u) {
42631
+ if (m == 0u) { return 0.0; }
42632
+ return sign * (f32(m) * exp2(-24.0));
42633
+ } else if (e == 31u) {
42634
+ return sign * 65504.0;
42635
+ } else {
42636
+ return sign * (1.0 + f32(m) / 1024.0) * exp2(f32(i32(e) - 15));
42637
+ }
42638
+ }
42639
+
42640
+ // === calcSplatUV() - returns bool ===
42641
+ fn calcSplatUV(instance_id: u32) -> bool {
42642
+ let numSplats = u32(materialUniform.tex_params.x);
42643
+ let textureWidth = u32(materialUniform.tex_params.y);
42644
+
42645
+ // calculate splat index
42646
+ orderId = instance_id;
42647
+
42648
+ if (orderId >= numSplats) {
42649
+ return false;
42650
+ }
42651
+
42652
+ let orderUV = vec2<i32>(
42653
+ i32(orderId % textureWidth),
42654
+ i32(orderId / textureWidth)
42655
+ );
42656
+
42657
+ // calculate splatUV
42658
+ splatId = textureLoad(splatOrder, orderUV, 0).r;
42659
+ splatUV = vec2<i32>(
42660
+ i32(splatId % textureWidth),
42661
+ i32(splatId / textureWidth)
42662
+ );
42663
+
42664
+ return true;
42665
+ }
42666
+
42667
+ // === getCenter() - returns vec3 ===
42668
+ fn getCenter() -> vec3f {
42669
+ tA = textureLoad(transformA, splatUV, 0);
42670
+ return vec3f(bitcast<f32>(tA.x), bitcast<f32>(tA.y), bitcast<f32>(tA.z));
42671
+ }
42672
+
42673
+ // Struct to return covA and covB
42674
+ struct CovarianceData {
42675
+ covA: vec3f,
42676
+ covB: vec3f,
42677
+ };
42678
+
42679
+ // === getCovariance() - returns struct ===
42680
+ fn getCovariance() -> CovarianceData {
42681
+ let tB = textureLoad(transformB, splatUV, 0);
42682
+
42683
+ // unpackHalf2x16 equivalent
42684
+ let h1 = tA.w & 0xFFFFu;
42685
+ let h2 = (tA.w >> 16u) & 0xFFFFu;
42686
+ let tCx = unpackHalf(h1);
42687
+ let tCy = unpackHalf(h2);
42688
+
42689
+ var result: CovarianceData;
42690
+ result.covA = tB.xyz;
42691
+ result.covB = vec3f(tCx, tCy, tB.w);
42692
+
42693
+ return result;
42694
+ }
42695
+
42696
+ // === calcV1V2() - returns vec4 ===
42697
+ fn calcV1V2(splat_cam: vec3f, covA: vec3f, covB: vec3f, W: mat3x3f, viewport: vec2f, projMat: mat4x4f) -> vec4f {
42698
+ let Vrk = mat3x3f(
42699
+ vec3f(covA.x, covA.y, covA.z),
42700
+ vec3f(covA.y, covB.x, covB.y),
42701
+ vec3f(covA.z, covB.y, covB.z)
42702
+ );
42703
+
42704
+ let focal = viewport.x * abs(projMat[0][0]);
42705
+
42706
+ let J1 = focal / abs(splat_cam.z);
42707
+ let J2 = -J1 / abs(splat_cam.z) * splat_cam.xy;
42708
+ let J = mat3x3f(
42709
+ vec3f(J1, 0.0, J2.x),
42710
+ vec3f(0.0, J1, J2.y),
42711
+ vec3f(0.0, 0.0, 0.0)
42712
+ );
42713
+
42714
+ let T = W * J;
42715
+ let cov = transpose(T) * Vrk * T;
42716
+
42717
+ let diagonal1 = cov[0][0] + 0.3;
42718
+ let offDiagonal = cov[0][1];
42719
+ let diagonal2 = cov[1][1] + 0.3;
42720
+
42721
+ let mid = 0.5 * (diagonal1 + diagonal2);
42722
+ let radius = length(vec2f((diagonal1 - diagonal2) / 2.0, offDiagonal));
42723
+ let lambda1 = mid + radius;
42724
+ let lambda2 = max(mid - radius, 0.1);
42725
+ let diagonalVector = normalize(vec2f(offDiagonal, lambda1 - diagonal1));
42726
+
42727
+ let v1 = min(sqrt(2.0 * lambda1), 1024.0) * diagonalVector;
42728
+ let v2 = min(sqrt(2.0 * lambda2), 1024.0) * vec2f(diagonalVector.y, -diagonalVector.x);
42729
+
42730
+ return vec4f(v1, v2);
42731
+ }
42732
+
42733
+ // ===== SPLAT MAIN VS (from PlayCanvas gsplat-material.js) =====
42734
+
42735
+ @vertex
42736
+ fn VertMain(
42737
+ @builtin(vertex_index) vid : u32,
42738
+ @builtin(instance_index) iid : u32
42739
+ ) -> VSOut {
42740
+ var o: VSOut;
42741
+ let discardVec = vec4f(0.0, 0.0, 2.0, 1.0);
42742
+
42743
+ // Vertex position array (PlayCanvas uses attribute vec3 with x,y in [-1,1])
42744
+ let vertex_position = array<vec2f, 4>(
42745
+ vec2f(-2.0, -2.0),
42746
+ vec2f( 2.0, -2.0),
42747
+ vec2f(-2.0, 2.0),
42748
+ vec2f( 2.0, 2.0)
42749
+ );
42750
+ let vertex_pos = vertex_position[vid & 3u];
42751
+
42752
+ // calculate splat uv
42753
+ if (!calcSplatUV(iid)) {
42754
+ o.member = discardVec;
42755
+ o.vColor = vec4f(0.0);
42756
+ o.vTexCoord = vec2f(0.0);
42757
+ return o;
42758
+ }
42759
+
42760
+ // get center
42761
+ let center = getCenter();
42762
+
42763
+ // handle transforms
42764
+ let matrix_view = globalUniform.viewMat;
42765
+ let matrix_projection = globalUniform.projMat;
42766
+ let matrix_model = materialUniform.modelMatrix;
42767
+
42768
+ let model_view = matrix_view * matrix_model;
42769
+ let splat_cam = model_view * vec4f(center, 1.0);
42770
+ let splat_proj = matrix_projection * splat_cam;
42771
+
42772
+ // cull behind camera (WebGPU: NDC z in [0,1], cull if z/w < 0)
42773
+ if (splat_proj.z < 0.0) {
42774
+ o.member = discardVec;
42775
+ o.vColor = vec4f(0.0);
42776
+ o.vTexCoord = vec2f(0.0);
42777
+ return o;
42778
+ }
42779
+
42780
+ // get covariance
42781
+ let cov_data = getCovariance();
42782
+
42783
+ let viewport = vec2f(globalUniform.windowWidth, globalUniform.windowHeight);
42784
+ let v1v2 = calcV1V2(splat_cam.xyz, cov_data.covA, cov_data.covB, transpose(mat3x3f(model_view[0].xyz, model_view[1].xyz, model_view[2].xyz)), viewport, matrix_projection);
42785
+
42786
+ // get color
42787
+ let color = textureLoad(splatColor, splatUV, 0);
42788
+
42789
+ // calculate scale based on alpha
42790
+ let scale = min(1.0, sqrt(-log(1.0 / 255.0 / color.a)) / 2.0);
42791
+
42792
+ // apply visBoost (size multiplier)
42793
+ let visBoost = materialUniform.tex_params.w;
42794
+ var v1v2_scaled = v1v2 * scale * visBoost;
42795
+
42796
+ // early out tiny splats
42797
+ if (dot(v1v2_scaled.xy, v1v2_scaled.xy) < 4.0 && dot(v1v2_scaled.zw, v1v2_scaled.zw) < 4.0) {
42798
+ o.member = discardVec;
42799
+ o.vColor = vec4f(0.0);
42800
+ o.vTexCoord = vec2f(0.0);
42801
+ return o;
42802
+ }
42803
+
42804
+ // gl_Position = splat_proj + vec4((vertex_position.x * v1v2.xy + vertex_position.y * v1v2.zw) / viewport * splat_proj.w, 0, 0);
42805
+ o.member = splat_proj + vec4f((vertex_pos.x * v1v2_scaled.xy + vertex_pos.y * v1v2_scaled.zw) / viewport * splat_proj.w, 0.0, 0.0);
42806
+
42807
+ // texCoord = vertex_position.xy * scale / 2.0;
42808
+ o.vTexCoord = vertex_pos * scale / 2.0;
42809
+
42810
+ o.vColor = color;
42811
+
42812
+ return o;
42813
+ }
42814
+ `
42815
+ );
42816
+ const GSplat_FS = (
42817
+ /* wgsl */
42818
+ `
42819
+ #include "FragmentOutput"
42820
+
42821
+ // === evalSplat() - like PlayCanvas splatCoreFS ===
42822
+ fn evalSplat(texCoord: vec2f, color: vec4f) -> vec4f {
42823
+ let A = dot(texCoord, texCoord);
42824
+ if (A > 1.0) {
42825
+ discard;
42826
+ }
42827
+
42828
+ let B = exp(-A * 4.0) * color.a;
42829
+ if (B < 1.0 / 255.0) {
42830
+ discard;
42831
+ }
42832
+
42833
+ // TONEMAP_ENABLED branch not implemented (would call toneMap() and gammaCorrectOutput())
42834
+ return vec4f(color.rgb, B);
42835
+ }
42836
+
42837
+ // === main() - like PlayCanvas splatMainFS ===
42838
+ @fragment
42839
+ fn FragMain(@location(auto) vColor: vec4f, @location(auto) vTexCoord: vec2f) -> FragmentOutput {
42840
+ let result = evalSplat(vTexCoord, vColor);
42841
+
42842
+ var o: FragmentOutput;
42843
+ o.color = result;
42844
+ o.gBuffer = vec4f(0.0);
42845
+ return o;
42846
+ }
42847
+ `
42848
+ );
42849
+
41728
42850
  let GlassShader = (
41729
42851
  /*wgsl */
41730
42852
  `
@@ -42865,14 +43987,16 @@ fn frag(){
42865
43987
  _internalTexture;
42866
43988
  _cubeSize;
42867
43989
  setting;
43990
+ /**
43991
+ * @constructor
43992
+ * @param setting AtmosphericScatteringSkySetting
43993
+ * @returns
43994
+ */
42868
43995
  constructor(setting) {
42869
43996
  super();
42870
43997
  this.setting = setting;
42871
43998
  this._cubeSize = setting.defaultTextureCubeSize;
42872
- this._internalTexture = new AtmosphericTexture2D(
42873
- setting.defaultTexture2DSize,
42874
- setting.defaultTexture2DSize * 0.5
42875
- );
43999
+ this._internalTexture = new AtmosphericTexture2D(setting.defaultTexture2DSize, setting.defaultTexture2DSize * 0.5);
42876
44000
  this._internalTexture.update(this.setting);
42877
44001
  this.createFromTexture(this._cubeSize, this._internalTexture);
42878
44002
  return this;
@@ -42880,6 +44004,10 @@ fn frag(){
42880
44004
  get texture2D() {
42881
44005
  return this._internalTexture;
42882
44006
  }
44007
+ /**
44008
+ * @internal
44009
+ * @returns
44010
+ */
42883
44011
  apply() {
42884
44012
  this._internalTexture.update(this.setting);
42885
44013
  this._faceData.uploadErpTexture(this._internalTexture);
@@ -42890,13 +44018,7 @@ fn frag(){
42890
44018
  _computeShader;
42891
44019
  _uniformBuffer;
42892
44020
  constructor(width, height) {
42893
- super(
42894
- width,
42895
- height,
42896
- GPUTextureFormat.rgba16float,
42897
- false,
42898
- GPUTextureUsage.STORAGE_BINDING | GPUTextureUsage.TEXTURE_BINDING
42899
- );
44021
+ super(width, height, GPUTextureFormat.rgba16float, false, GPUTextureUsage.STORAGE_BINDING | GPUTextureUsage.TEXTURE_BINDING);
42900
44022
  this.initCompute(width, height);
42901
44023
  }
42902
44024
  initCompute(w, h) {
@@ -42929,9 +44051,9 @@ fn frag(){
42929
44051
  }
42930
44052
  }
42931
44053
 
42932
- var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
42933
- var __decorateClass$a = (decorators, target, key, kind) => {
42934
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
44054
+ var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
44055
+ var __decorateClass$b = (decorators, target, key, kind) => {
44056
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
42935
44057
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
42936
44058
  if (decorator = decorators[i])
42937
44059
  result = (decorator(result)) || result;
@@ -42955,8 +44077,8 @@ fn frag(){
42955
44077
  shaderState.depthCompare = GPUCompareFunction.less;
42956
44078
  }
42957
44079
  };
42958
- exports.SkyShader = __decorateClass$a([
42959
- RegisterShader
44080
+ exports.SkyShader = __decorateClass$b([
44081
+ RegisterShader(exports.SkyShader, "SkyShader")
42960
44082
  ], exports.SkyShader);
42961
44083
 
42962
44084
  class SkyMaterial extends Material {
@@ -43000,113 +44122,6 @@ fn frag(){
43000
44122
  }
43001
44123
  }
43002
44124
 
43003
- class SphereGeometry extends GeometryBase {
43004
- shape_vertices = [];
43005
- shape_indices = [];
43006
- radius;
43007
- widthSegments;
43008
- heightSegments;
43009
- phiStart;
43010
- phiLength;
43011
- thetaStart;
43012
- thetaLength;
43013
- /**
43014
- * 球体几何体
43015
- * @constructor
43016
- * @param radius 球体半径
43017
- * @param widthSegments 定义水平分段数
43018
- * @param heightSegments 定义垂直分段数
43019
- * @param phiStart 球体赤道线起始点的弧度
43020
- * @param phiLength 球体赤道线的弧长
43021
- * @param thetaStart 球体经线起始点的弧度
43022
- * @param thetaLength 球体经线的弧长
43023
- */
43024
- constructor(radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength) {
43025
- super();
43026
- this.radius = radius;
43027
- this.widthSegments = widthSegments;
43028
- this.heightSegments = heightSegments;
43029
- this.phiStart = phiStart;
43030
- this.phiLength = phiLength;
43031
- this.thetaStart = thetaStart;
43032
- this.thetaLength = thetaLength;
43033
- this.buildGeometry();
43034
- }
43035
- buildGeometry() {
43036
- var i, j, triIndex = 0;
43037
- let _segmentsH = this.heightSegments;
43038
- let _segmentsW = this.widthSegments;
43039
- let _radius = this.radius;
43040
- var vertexCount = (_segmentsH + 1) * (_segmentsW + 1);
43041
- let position_arr = new Float32Array(vertexCount * 3);
43042
- let normal_arr = new Float32Array(vertexCount * 3);
43043
- let uv_arr = new Float32Array(vertexCount * 2);
43044
- let indice_arr = new Uint16Array(_segmentsW * _segmentsH * 2 * 3);
43045
- let pi = 0;
43046
- let ni = 0;
43047
- let ui = 0;
43048
- for (j = 0; j <= _segmentsH; ++j) {
43049
- var horAngle = Math.PI * j / _segmentsH;
43050
- var y = _radius * Math.cos(horAngle);
43051
- var ringRadius = _radius * Math.sin(horAngle);
43052
- for (i = 0; i <= _segmentsW; ++i) {
43053
- var verAngle = 2 * Math.PI * i / _segmentsW;
43054
- var x = ringRadius * Math.cos(verAngle);
43055
- var z = ringRadius * Math.sin(verAngle);
43056
- var normLen = 1 / Math.sqrt(x * x + y * y + z * z);
43057
- position_arr[pi++] = x;
43058
- position_arr[pi++] = y;
43059
- position_arr[pi++] = z;
43060
- normal_arr[ni++] = x * normLen;
43061
- normal_arr[ni++] = y * normLen;
43062
- normal_arr[ni++] = z * normLen;
43063
- uv_arr[ui++] = i / _segmentsW;
43064
- uv_arr[ui++] = j / _segmentsH;
43065
- if (i > 0 && j > 0) {
43066
- var a = (_segmentsW + 1) * j + i;
43067
- var b = (_segmentsW + 1) * j + i - 1;
43068
- var c = (_segmentsW + 1) * (j - 1) + i - 1;
43069
- var d = (_segmentsW + 1) * (j - 1) + i;
43070
- if (j == _segmentsH) {
43071
- indice_arr[triIndex++] = a;
43072
- indice_arr[triIndex++] = c;
43073
- indice_arr[triIndex++] = d;
43074
- } else if (j == 1) {
43075
- indice_arr[triIndex++] = a;
43076
- indice_arr[triIndex++] = b;
43077
- indice_arr[triIndex++] = c;
43078
- } else {
43079
- indice_arr[triIndex++] = a;
43080
- indice_arr[triIndex++] = b;
43081
- indice_arr[triIndex++] = c;
43082
- indice_arr[triIndex++] = a;
43083
- indice_arr[triIndex++] = c;
43084
- indice_arr[triIndex++] = d;
43085
- }
43086
- }
43087
- }
43088
- }
43089
- this.setIndices(indice_arr);
43090
- this.setAttribute(VertexAttributeName.position, position_arr);
43091
- this.setAttribute(VertexAttributeName.normal, normal_arr);
43092
- this.setAttribute(VertexAttributeName.uv, uv_arr);
43093
- this.setAttribute(VertexAttributeName.TEXCOORD_1, uv_arr);
43094
- this.addSubGeometry({
43095
- indexStart: 0,
43096
- indexCount: indice_arr.length,
43097
- vertexStart: 0,
43098
- vertexCount: 0,
43099
- firstStart: 0,
43100
- index: 0,
43101
- topology: 0
43102
- });
43103
- this.bounds = new BoundingBox(
43104
- Vector3.ZERO,
43105
- new Vector3(this.radius * 2, this.radius * 2, this.radius * 2)
43106
- );
43107
- }
43108
- }
43109
-
43110
44125
  class Reflection extends RenderNode {
43111
44126
  gid = 0;
43112
44127
  needUpdate = true;
@@ -43860,9 +44875,9 @@ fn frag(){
43860
44875
  }
43861
44876
  }
43862
44877
 
43863
- var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
43864
- var __decorateClass$9 = (decorators, target, key, kind) => {
43865
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
44878
+ var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
44879
+ var __decorateClass$a = (decorators, target, key, kind) => {
44880
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
43866
44881
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
43867
44882
  if (decorator = decorators[i])
43868
44883
  result = (decorator(result)) || result;
@@ -44066,7 +45081,7 @@ fn frag(){
44066
45081
  this._currentClipState.weight = 1;
44067
45082
  }
44068
45083
  };
44069
- exports.SkeletonAnimationComponent = __decorateClass$9([
45084
+ exports.SkeletonAnimationComponent = __decorateClass$a([
44070
45085
  RegisterComponent(exports.SkeletonAnimationComponent, "SkeletonAnimationComponent")
44071
45086
  ], exports.SkeletonAnimationComponent);
44072
45087
  class SkeletonAnimationCrossFadeState {
@@ -44102,9 +45117,9 @@ fn frag(){
44102
45117
  }
44103
45118
  }
44104
45119
 
44105
- var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
44106
- var __decorateClass$8 = (decorators, target, key, kind) => {
44107
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
45120
+ var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
45121
+ var __decorateClass$9 = (decorators, target, key, kind) => {
45122
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
44108
45123
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
44109
45124
  if (decorator = decorators[i])
44110
45125
  result = (decorator(result)) || result;
@@ -44515,7 +45530,7 @@ fn frag(){
44515
45530
  return dst;
44516
45531
  }
44517
45532
  };
44518
- exports.AnimatorComponent = __decorateClass$8([
45533
+ exports.AnimatorComponent = __decorateClass$9([
44519
45534
  RegisterComponent(exports.AnimatorComponent, "AnimatorComponent")
44520
45535
  ], exports.AnimatorComponent);
44521
45536
  class PropertyAnimationClipState {
@@ -45272,9 +46287,9 @@ fn frag(){
45272
46287
  }
45273
46288
  }
45274
46289
 
45275
- var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
45276
- var __decorateClass$7 = (decorators, target, key, kind) => {
45277
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
46290
+ var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
46291
+ var __decorateClass$8 = (decorators, target, key, kind) => {
46292
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
45278
46293
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
45279
46294
  if (decorator = decorators[i])
45280
46295
  result = (decorator(result)) || result;
@@ -45423,7 +46438,7 @@ fn frag(){
45423
46438
  super.nodeUpdate(view, passType, renderPassState, clusterLightingBuffer);
45424
46439
  }
45425
46440
  };
45426
- exports.SkinnedMeshRenderer2 = __decorateClass$7([
46441
+ exports.SkinnedMeshRenderer2 = __decorateClass$8([
45427
46442
  RegisterComponent(exports.SkinnedMeshRenderer2, "SkinnedMeshRenderer2")
45428
46443
  ], exports.SkinnedMeshRenderer2);
45429
46444
 
@@ -50553,9 +51568,9 @@ fn frag(){
50553
51568
  }
50554
51569
  }
50555
51570
 
50556
- var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
50557
- var __decorateClass$6 = (decorators, target, key, kind) => {
50558
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
51571
+ var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
51572
+ var __decorateClass$7 = (decorators, target, key, kind) => {
51573
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
50559
51574
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
50560
51575
  if (decorator = decorators[i])
50561
51576
  result = (decorator(result)) || result;
@@ -50632,10 +51647,802 @@ fn frag(){
50632
51647
  debugDraw(show) {
50633
51648
  }
50634
51649
  };
50635
- exports.Light = __decorateClass$6([
51650
+ exports.Light = __decorateClass$7([
50636
51651
  RegisterComponent(exports.Light, "Light")
50637
51652
  ], exports.Light);
50638
51653
 
51654
+ class GSplatMaterial extends Material {
51655
+ constructor() {
51656
+ super();
51657
+ ShaderLib.register("gsplat_vs_dc", GSplat_VS);
51658
+ ShaderLib.register("gsplat_fs_dc", GSplat_FS);
51659
+ const pass = new RenderShaderPass("gsplat_vs_dc", "gsplat_fs_dc");
51660
+ pass.passType = PassType.COLOR;
51661
+ pass.setShaderEntry("VertMain", "FragMain");
51662
+ pass.topology = GPUPrimitiveTopology.triangle_strip;
51663
+ pass.depthWriteEnabled = false;
51664
+ pass.cullMode = "none";
51665
+ pass.shaderState.transparent = true;
51666
+ pass.shaderState.blendMode = BlendMode.NORMAL;
51667
+ pass.shaderState.writeMasks = [15, 15];
51668
+ const shader = new Shader();
51669
+ shader.addRenderPass(pass);
51670
+ this.shader = shader;
51671
+ }
51672
+ setSplatTextures(splatColor, transformA, transformB, texParams, splatOrder) {
51673
+ const pass = this.shader.getDefaultColorShader();
51674
+ pass.setTexture("splatColor", splatColor);
51675
+ pass.setTexture("transformA", transformA);
51676
+ pass.setTexture("transformB", transformB);
51677
+ pass.setUniformArray("tex_params", texParams);
51678
+ if (splatOrder) {
51679
+ pass.setTexture("splatOrder", splatOrder);
51680
+ }
51681
+ }
51682
+ /**
51683
+ * Set the model matrix for transforming splats to world space
51684
+ */
51685
+ setTransformMatrix(matrix) {
51686
+ const pass = this.shader.getDefaultColorShader();
51687
+ pass.setUniform("modelMatrix", matrix.rawData);
51688
+ }
51689
+ }
51690
+
51691
+ class Uint32ArrayTexture extends Texture {
51692
+ _dataBuffer;
51693
+ create(width, height, data) {
51694
+ let device = webGPUContext.device;
51695
+ const bytesPerRow = width * 4 * 4;
51696
+ this.format = GPUTextureFormat.rgba32uint;
51697
+ const mipmapCount = 1;
51698
+ this.createTextureDescriptor(width, height, mipmapCount, this.format);
51699
+ const textureDataBuffer = this._dataBuffer = device.createBuffer({
51700
+ size: data.byteLength,
51701
+ usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC
51702
+ });
51703
+ device.queue.writeBuffer(textureDataBuffer, 0, data.buffer);
51704
+ const encoder = device.createCommandEncoder();
51705
+ encoder.copyBufferToTexture(
51706
+ { buffer: textureDataBuffer, bytesPerRow },
51707
+ { texture: this.getGPUTexture() },
51708
+ { width, height, depthOrArrayLayers: 1 }
51709
+ );
51710
+ device.queue.submit([encoder.finish()]);
51711
+ this.samplerBindingLayout.type = `non-filtering`;
51712
+ this.textureBindingLayout.sampleType = `uint`;
51713
+ this.gpuSampler = device.createSampler({});
51714
+ return this;
51715
+ }
51716
+ updateTexture(width, height, data) {
51717
+ let device = webGPUContext.device;
51718
+ const bytesPerRow = width * 4 * 4;
51719
+ const staging = device.createBuffer({
51720
+ size: data.byteLength,
51721
+ usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC
51722
+ });
51723
+ device.queue.writeBuffer(staging, 0, data.buffer);
51724
+ const encoder = device.createCommandEncoder();
51725
+ encoder.copyBufferToTexture(
51726
+ { buffer: staging, bytesPerRow },
51727
+ { texture: this.getGPUTexture() },
51728
+ { width, height, depthOrArrayLayers: 1 }
51729
+ );
51730
+ device.queue.submit([encoder.finish()]);
51731
+ }
51732
+ }
51733
+
51734
+ class Float16ArrayTexture extends Texture {
51735
+ uint16Array;
51736
+ floatArray;
51737
+ _dataBuffer;
51738
+ /**
51739
+ * 使用数字数组填充纹理,格式为[红0, 绿0, 蓝0, 透明度0, 红1, 绿1, 蓝1, 透明度1...]
51740
+ * @param width 纹理宽度
51741
+ * @param height 纹理高度
51742
+ * @param numbers 每个像素的颜色值数组
51743
+ * @param useMipmap 是否生成Mipmap
51744
+ * @returns 返回纹理实例
51745
+ */
51746
+ create(width, height, numbers = null, mipmap = true) {
51747
+ if (numbers == null) {
51748
+ numbers = [];
51749
+ for (let i = 0, c = width * height * 4; i < c; i++) {
51750
+ numbers[i] = 0;
51751
+ }
51752
+ }
51753
+ this.updateTexture(width, height, numbers, mipmap);
51754
+ return this;
51755
+ }
51756
+ /**
51757
+ * 更新纹理内容
51758
+ * @param width 纹理宽度
51759
+ * @param height 纹理高度
51760
+ * @param numbers 像素数据数组
51761
+ * @param mipmap 是否生成Mipmap
51762
+ */
51763
+ updateTexture(width, height, numbers, mipmap = true) {
51764
+ if (width != this.width || height != this.height) {
51765
+ this._dataBuffer && this._dataBuffer.destroy();
51766
+ this._dataBuffer = null;
51767
+ this.gpuTexture && this.gpuTexture.destroy();
51768
+ this.gpuTexture = null;
51769
+ }
51770
+ this.floatArray = numbers;
51771
+ let device = webGPUContext.device;
51772
+ const bytesPerRow = width * 4 * 2;
51773
+ this.format = GPUTextureFormat.rgba16float;
51774
+ this.mipmapCount = Math.floor(mipmap ? Math.log2(width) : 1);
51775
+ this.createTextureDescriptor(width, height, this.mipmapCount, this.format);
51776
+ if (!this.uint16Array || this.uint16Array.length != numbers.length) {
51777
+ this.uint16Array = new Uint16Array(numbers.length);
51778
+ }
51779
+ let uint16Array = this.uint16Array;
51780
+ for (let i = 0, c = uint16Array.length; i < c; i++) {
51781
+ uint16Array[i] = toHalfFloat(numbers[i]);
51782
+ }
51783
+ const textureDataBuffer = this._dataBuffer = device.createBuffer({
51784
+ size: uint16Array.byteLength,
51785
+ usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC
51786
+ });
51787
+ device.queue.writeBuffer(textureDataBuffer, 0, uint16Array);
51788
+ const commandEncoder = GPUContext.beginCommandEncoder();
51789
+ commandEncoder.copyBufferToTexture(
51790
+ {
51791
+ buffer: textureDataBuffer,
51792
+ bytesPerRow
51793
+ },
51794
+ {
51795
+ texture: this.getGPUTexture()
51796
+ },
51797
+ {
51798
+ width,
51799
+ height,
51800
+ depthOrArrayLayers: 1
51801
+ }
51802
+ );
51803
+ if (!this.useMipmap) {
51804
+ this.samplerBindingLayout.type = `filtering`;
51805
+ this.textureBindingLayout.sampleType = `float`;
51806
+ }
51807
+ GPUContext.endCommandEncoder(commandEncoder);
51808
+ this.gpuSampler = device.createSampler(this);
51809
+ this.gpuTexture = this.getGPUTexture();
51810
+ if (this.mipmapCount > 1) TextureMipmapGenerator.webGPUGenerateMipmap(this);
51811
+ }
51812
+ }
51813
+
51814
+ var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
51815
+ var __decorateClass$6 = (decorators, target, key, kind) => {
51816
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
51817
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
51818
+ if (decorator = decorators[i])
51819
+ result = (decorator(result)) || result;
51820
+ return result;
51821
+ };
51822
+ exports.GSplatRenderer = class GSplatRenderer extends RenderNode {
51823
+ // Splat count and texture dimensions
51824
+ count = 0;
51825
+ size = new Vector2();
51826
+ // GPU textures for splat data
51827
+ splatColor;
51828
+ transformA;
51829
+ transformB;
51830
+ texParams;
51831
+ // [numSplats, texWidth, validCount, visBoost]
51832
+ splatOrder;
51833
+ // Material and geometry
51834
+ gsplatMaterial;
51835
+ // CPU-side data for sorting
51836
+ _positions;
51837
+ // xyz per splat (local space)
51838
+ _worldPositions;
51839
+ // xyz per splat (world space, cached)
51840
+ _orderData;
51841
+ // RGBA32U backing: size.x * size.y * 4
51842
+ // Web Worker for sorting
51843
+ _sortWorker;
51844
+ _lastSentTime = 0;
51845
+ _minIntervalMs = 0;
51846
+ // No throttle for immediate sorting
51847
+ _centersSent = false;
51848
+ _lastViewMatrixHash = 0;
51849
+ // Mapping support (optional subset rendering)
51850
+ _mapping = null;
51851
+ _fullCount = 0;
51852
+ // Original total count
51853
+ constructor() {
51854
+ super();
51855
+ }
51856
+ /**
51857
+ * Initialize from Gaussian Splat asset
51858
+ */
51859
+ initAsset(asset) {
51860
+ this.count = asset.count;
51861
+ this._fullCount = asset.count;
51862
+ this.size = this.evalTextureSize(asset.count);
51863
+ this.buildColor(asset);
51864
+ this.buildTransform(asset);
51865
+ this.texParams = new Float32Array([this.count, this.size.x, this.count, 1]);
51866
+ this._positions = asset.position;
51867
+ const total = this.size.x * this.size.y;
51868
+ this._orderData = new Uint32Array(total * 4);
51869
+ for (let i = 0; i < total; i++) {
51870
+ const src = i < this.count ? i : this.count > 0 ? this.count - 1 : 0;
51871
+ const base = i * 4;
51872
+ this._orderData[base + 0] = src;
51873
+ this._orderData[base + 1] = 0;
51874
+ this._orderData[base + 2] = 0;
51875
+ this._orderData[base + 3] = 0;
51876
+ }
51877
+ this.splatOrder = new Uint32ArrayTexture().create(this.size.x, this.size.y, this._orderData);
51878
+ this.splatOrder.name = "splatOrder";
51879
+ this.splatOrder.minFilter = "nearest";
51880
+ this.splatOrder.magFilter = "nearest";
51881
+ this.splatOrder.addressModeU = "clamp-to-edge";
51882
+ this.splatOrder.addressModeV = "clamp-to-edge";
51883
+ this.gsplatMaterial = new GSplatMaterial();
51884
+ this.geometry = new PlaneGeometry(1, 1, 1, 1);
51885
+ this.materials = [this.gsplatMaterial];
51886
+ }
51887
+ /**
51888
+ * Update splat sorting before rendering
51889
+ * This runs every frame to ensure correct depth ordering for alpha blending
51890
+ */
51891
+ onBeforeUpdate(view) {
51892
+ if (this.count > 0 && view?.camera?.viewMatrix) {
51893
+ this.scheduleOrder(view.camera.viewMatrix);
51894
+ }
51895
+ }
51896
+ /**
51897
+ * Set rendering subset mapping
51898
+ * Pass null/undefined to cancel mapping
51899
+ */
51900
+ setMapping(mapping) {
51901
+ this._mapping = mapping && mapping.length > 0 ? mapping : null;
51902
+ this.count = this._mapping ? this._mapping.length : this._fullCount;
51903
+ this.texParams[0] = this.count;
51904
+ this.texParams[2] = Math.min(this.texParams[0], this.count);
51905
+ const total = this.size.x * this.size.y;
51906
+ for (let i = 0; i < total; i++) {
51907
+ const src = i < this.count ? i : this.count > 0 ? this.count - 1 : 0;
51908
+ const base = i * 4;
51909
+ this._orderData[base + 0] = src;
51910
+ this._orderData[base + 1] = 0;
51911
+ this._orderData[base + 2] = 0;
51912
+ this._orderData[base + 3] = 0;
51913
+ }
51914
+ this.splatOrder.updateTexture(this.size.x, this.size.y, this._orderData);
51915
+ if (this._sortWorker) {
51916
+ const worldPos = this._worldPositions || this._positions;
51917
+ const centers = this._mapping ? new Float32Array(this._mapping.length * 3) : new Float32Array(worldPos);
51918
+ if (this._mapping) {
51919
+ for (let i = 0; i < this._mapping.length; ++i) {
51920
+ const src = this._mapping[i] * 3;
51921
+ const dst = i * 3;
51922
+ centers[dst + 0] = worldPos[src + 0];
51923
+ centers[dst + 1] = worldPos[src + 1];
51924
+ centers[dst + 2] = worldPos[src + 2];
51925
+ }
51926
+ }
51927
+ this._sortWorker.postMessage(
51928
+ {
51929
+ type: "centers",
51930
+ centers: centers.buffer,
51931
+ mapping: this._mapping ? this._mapping : null
51932
+ },
51933
+ [centers.buffer]
51934
+ );
51935
+ this._centersSent = true;
51936
+ } else {
51937
+ this._centersSent = false;
51938
+ }
51939
+ }
51940
+ /**
51941
+ * Set visibility boost factor (material uniform tex_params.w)
51942
+ */
51943
+ setVisBoost(v) {
51944
+ this.texParams[3] = Math.max(0, v);
51945
+ }
51946
+ /**
51947
+ * Set sort throttle interval (milliseconds)
51948
+ */
51949
+ setSortThrottle(ms) {
51950
+ this._minIntervalMs = Math.max(0, ms | 0);
51951
+ }
51952
+ /**
51953
+ * Calculate texture size for given splat count
51954
+ */
51955
+ evalTextureSize(count) {
51956
+ let w = Math.ceil(Math.sqrt(count));
51957
+ const align = 64;
51958
+ w = Math.ceil(w / align) * align;
51959
+ const h = Math.ceil(count / w);
51960
+ return new Vector2(w, h);
51961
+ }
51962
+ /**
51963
+ * Build color texture from asset
51964
+ */
51965
+ buildColor(asset) {
51966
+ const w = this.size.x | 0;
51967
+ const h = this.size.y | 0;
51968
+ const data = new Uint8Array(w * h * 4);
51969
+ const SH_C0 = 0.28209479177387814;
51970
+ const count = asset.count;
51971
+ const coeffs = asset.sh?.coeffs;
51972
+ const coeffsPerColor = coeffs ? coeffs.length / (3 * count) : 1;
51973
+ for (let i = 0; i < count; i++) {
51974
+ let r = 0.5, g = 0.5, b = 0.5;
51975
+ if (coeffs && coeffsPerColor >= 1) {
51976
+ const baseIndex = i * coeffsPerColor * 3;
51977
+ r = 0.5 + coeffs[baseIndex + 0] * SH_C0;
51978
+ g = 0.5 + coeffs[baseIndex + coeffsPerColor + 0] * SH_C0;
51979
+ b = 0.5 + coeffs[baseIndex + 2 * coeffsPerColor + 0] * SH_C0;
51980
+ }
51981
+ const a = asset.opacity ? 1 / (1 + Math.exp(-asset.opacity[i])) : 1;
51982
+ const idx = i * 4;
51983
+ data[idx + 0] = Math.max(0, Math.min(255, Math.floor(r * 255)));
51984
+ data[idx + 1] = Math.max(0, Math.min(255, Math.floor(g * 255)));
51985
+ data[idx + 2] = Math.max(0, Math.min(255, Math.floor(b * 255)));
51986
+ data[idx + 3] = Math.max(0, Math.min(255, Math.floor(a * 255)));
51987
+ }
51988
+ this.splatColor = new Uint8ArrayTexture().create(w, h, data, false);
51989
+ this.splatColor.name = "splatColor";
51990
+ this.splatColor.minFilter = "nearest";
51991
+ this.splatColor.magFilter = "nearest";
51992
+ this.splatColor.mipmapFilter = "nearest";
51993
+ this.splatColor.addressModeU = "clamp-to-edge";
51994
+ this.splatColor.addressModeV = "clamp-to-edge";
51995
+ }
51996
+ /**
51997
+ * Build transform textures from asset
51998
+ */
51999
+ buildTransform(asset) {
52000
+ const w = this.size.x | 0;
52001
+ const h = this.size.y | 0;
52002
+ const count = asset.count;
52003
+ const tA = new Uint32Array(w * h * 4);
52004
+ const tB = new Array(w * h * 4).fill(0);
52005
+ const fb = new ArrayBuffer(4);
52006
+ const f32 = new Float32Array(fb);
52007
+ const u32 = new Uint32Array(fb);
52008
+ const setFloatBits = (v) => {
52009
+ f32[0] = v;
52010
+ return u32[0];
52011
+ };
52012
+ const pos = asset.position;
52013
+ const rot = asset.rotation;
52014
+ const scl = asset.scale;
52015
+ let maxScale = 0;
52016
+ let minScale = Infinity;
52017
+ let maxCov = 0;
52018
+ for (let i = 0; i < count; i++) {
52019
+ const idx = i * 4;
52020
+ const x = pos[i * 3 + 0];
52021
+ const y = pos[i * 3 + 1];
52022
+ const z = pos[i * 3 + 2];
52023
+ tA[idx + 0] = setFloatBits(x);
52024
+ tA[idx + 1] = setFloatBits(y);
52025
+ tA[idx + 2] = setFloatBits(z);
52026
+ let qx = 0, qy = 0, qz = 0, qw = 1;
52027
+ if (rot) {
52028
+ qx = rot[i * 4 + 0];
52029
+ qy = rot[i * 4 + 1];
52030
+ qz = rot[i * 4 + 2];
52031
+ qw = rot[i * 4 + 3];
52032
+ const inv = 1 / Math.hypot(qx, qy, qz, qw);
52033
+ qx *= inv;
52034
+ qy *= inv;
52035
+ qz *= inv;
52036
+ qw *= inv;
52037
+ }
52038
+ let sx = 1, sy = 1, sz = 1;
52039
+ if (scl) {
52040
+ sx = Math.exp(scl[i * 3 + 0]);
52041
+ sy = Math.exp(scl[i * 3 + 1]);
52042
+ sz = Math.exp(scl[i * 3 + 2]);
52043
+ maxScale = Math.max(maxScale, sx, sy, sz);
52044
+ minScale = Math.min(minScale, sx, sy, sz);
52045
+ }
52046
+ const xx = qx * qx, yy = qy * qy, zz = qz * qz;
52047
+ const xy = qx * qy, xz = qx * qz, yz = qy * qz;
52048
+ const wx = qw * qx, wy = qw * qy, wz = qw * qz;
52049
+ const m00 = 1 - 2 * (yy + zz);
52050
+ const m01 = 2 * (xy + wz);
52051
+ const m02 = 2 * (xz - wy);
52052
+ const m10 = 2 * (xy - wz);
52053
+ const m11 = 1 - 2 * (xx + zz);
52054
+ const m12 = 2 * (yz + wx);
52055
+ const m20 = 2 * (xz + wy);
52056
+ const m21 = 2 * (yz - wx);
52057
+ const m22 = 1 - 2 * (xx + yy);
52058
+ const r00 = m00 * sx, r01 = m01 * sx, r02 = m02 * sx;
52059
+ const r10 = m10 * sy, r11 = m11 * sy, r12 = m12 * sy;
52060
+ const r20 = m20 * sz, r21 = m21 * sz, r22 = m22 * sz;
52061
+ const cAx = r00 * r00 + r10 * r10 + r20 * r20;
52062
+ const cAy = r00 * r01 + r10 * r11 + r20 * r21;
52063
+ const cAz = r00 * r02 + r10 * r12 + r20 * r22;
52064
+ const cBx = r01 * r01 + r11 * r11 + r21 * r21;
52065
+ const cBy = r01 * r02 + r11 * r12 + r21 * r22;
52066
+ const cBz = r02 * r02 + r12 * r12 + r22 * r22;
52067
+ maxCov = Math.max(
52068
+ maxCov,
52069
+ Math.abs(cAx),
52070
+ Math.abs(cAy),
52071
+ Math.abs(cAz),
52072
+ Math.abs(cBx),
52073
+ Math.abs(cBy),
52074
+ Math.abs(cBz)
52075
+ );
52076
+ const bidx = idx;
52077
+ tB[bidx + 0] = cAx;
52078
+ tB[bidx + 1] = cAy;
52079
+ tB[bidx + 2] = cAz;
52080
+ tB[bidx + 3] = cBz;
52081
+ const hx = toHalfFloat(cBx) & 65535;
52082
+ const hy = toHalfFloat(cBy) & 65535;
52083
+ tA[idx + 3] = hx | hy << 16;
52084
+ }
52085
+ console.group("🔍 GSplat Data Statistics");
52086
+ console.log("Splat count:", count);
52087
+ console.log("Scale range:", minScale.toFixed(4), "~", maxScale.toFixed(4));
52088
+ console.log("Max covariance:", maxCov.toFixed(4));
52089
+ if (maxScale > 50) {
52090
+ console.error("❌ CRITICAL: Scale values are too large! This causes spikes.");
52091
+ console.log("💡 Try reducing visBoost or clamping scale values");
52092
+ } else if (maxScale > 20) {
52093
+ console.warn("⚠️ WARNING: Scale values are large. May cause rendering issues.");
52094
+ } else {
52095
+ console.log("✅ Scale values look normal");
52096
+ }
52097
+ if (maxCov > 100) {
52098
+ console.error("❌ CRITICAL: Covariance values are too large!");
52099
+ } else if (maxCov > 50) {
52100
+ console.warn("⚠️ WARNING: Covariance values are large.");
52101
+ } else {
52102
+ console.log("✅ Covariance values look normal");
52103
+ }
52104
+ console.groupEnd();
52105
+ this.transformA = new Uint32ArrayTexture().create(w, h, tA);
52106
+ this.transformA.name = "transformA";
52107
+ this.transformA.minFilter = "nearest";
52108
+ this.transformA.magFilter = "nearest";
52109
+ this.transformA.addressModeU = "clamp-to-edge";
52110
+ this.transformA.addressModeV = "clamp-to-edge";
52111
+ this.transformB = new Float16ArrayTexture().create(w, h, tB, false);
52112
+ this.transformB.name = "transformB";
52113
+ this.transformB.minFilter = "nearest";
52114
+ this.transformB.magFilter = "nearest";
52115
+ this.transformB.mipmapFilter = "nearest";
52116
+ this.transformB.addressModeU = "clamp-to-edge";
52117
+ this.transformB.addressModeV = "clamp-to-edge";
52118
+ }
52119
+ /**
52120
+ * Update world space positions when transform changes
52121
+ */
52122
+ updateWorldPositions() {
52123
+ if (!this._positions) return;
52124
+ const worldMatrix = this.object3D.transform.worldMatrix;
52125
+ const localPos = this._positions;
52126
+ const count = this._fullCount;
52127
+ if (!this._worldPositions) {
52128
+ this._worldPositions = new Float32Array(localPos.length);
52129
+ }
52130
+ const m = worldMatrix.rawData;
52131
+ for (let i = 0; i < count; i++) {
52132
+ const idx = i * 3;
52133
+ const x = localPos[idx + 0];
52134
+ const y = localPos[idx + 1];
52135
+ const z = localPos[idx + 2];
52136
+ this._worldPositions[idx + 0] = m[0] * x + m[4] * y + m[8] * z + m[12];
52137
+ this._worldPositions[idx + 1] = m[1] * x + m[5] * y + m[9] * z + m[13];
52138
+ this._worldPositions[idx + 2] = m[2] * x + m[6] * y + m[10] * z + m[14];
52139
+ }
52140
+ this._centersSent = false;
52141
+ }
52142
+ /**
52143
+ * Schedule Web Worker-based sorting task
52144
+ */
52145
+ scheduleOrder(viewMatrix) {
52146
+ if (this.count === 0) return;
52147
+ const transformChanged = this.object3D.transform.localChange;
52148
+ if (transformChanged || !this._worldPositions) {
52149
+ this.updateWorldPositions();
52150
+ }
52151
+ const r = viewMatrix.rawData;
52152
+ const vx = r[2], vy = r[6], vz = r[10];
52153
+ const px = -(r[0] * r[12] + r[1] * r[13] + r[2] * r[14]);
52154
+ const py = -(r[4] * r[12] + r[5] * r[13] + r[6] * r[14]);
52155
+ const pz = -(r[8] * r[12] + r[9] * r[13] + r[10] * r[14]);
52156
+ const posHash = Math.floor(px * 1e3) ^ Math.floor(py * 1e3) ^ Math.floor(pz * 1e3);
52157
+ const dirHash = Math.floor(vx * 1e3) ^ Math.floor(vy * 1e3) ^ Math.floor(vz * 1e3);
52158
+ const hash = posHash ^ dirHash;
52159
+ if (hash === this._lastViewMatrixHash && !transformChanged) {
52160
+ return;
52161
+ }
52162
+ this._lastViewMatrixHash = hash;
52163
+ const now = performance.now();
52164
+ if (now - this._lastSentTime < this._minIntervalMs) return;
52165
+ this._lastSentTime = now;
52166
+ if (!this._sortWorker) {
52167
+ this._sortWorker = this.createSortWorker();
52168
+ this._sortWorker.onmessage = (ev) => {
52169
+ const newOrder = ev.data.order;
52170
+ const oldOrder = this._orderData.buffer;
52171
+ this._sortWorker.postMessage({
52172
+ order: oldOrder
52173
+ }, [oldOrder]);
52174
+ const indices = new Uint32Array(newOrder);
52175
+ const total = this.size.x * this.size.y;
52176
+ const count = this.count;
52177
+ this._orderData = new Uint32Array(total * 4);
52178
+ for (let i = 0; i < total; i++) {
52179
+ const src = i < count ? indices[i] : count > 0 ? count - 1 : 0;
52180
+ const base = i * 4;
52181
+ this._orderData[base + 0] = src;
52182
+ this._orderData[base + 1] = 0;
52183
+ this._orderData[base + 2] = 0;
52184
+ this._orderData[base + 3] = 0;
52185
+ }
52186
+ this.splatOrder.updateTexture(this.size.x, this.size.y, this._orderData);
52187
+ const valid = Math.max(0, Math.min(this.count, ev.data.count | 0));
52188
+ this.texParams[2] = valid;
52189
+ };
52190
+ const worldPos = this._worldPositions || this._positions;
52191
+ const centers = this._mapping ? new Float32Array(this._mapping.length * 3) : new Float32Array(worldPos);
52192
+ if (this._mapping) {
52193
+ for (let i = 0; i < this._mapping.length; ++i) {
52194
+ const src = this._mapping[i] * 3;
52195
+ const dst = i * 3;
52196
+ centers[dst + 0] = worldPos[src + 0];
52197
+ centers[dst + 1] = worldPos[src + 1];
52198
+ centers[dst + 2] = worldPos[src + 2];
52199
+ }
52200
+ }
52201
+ const orderBuffer = new Uint32Array(this.count);
52202
+ for (let i = 0; i < this.count; i++) {
52203
+ orderBuffer[i] = i;
52204
+ }
52205
+ this._sortWorker.postMessage({
52206
+ order: orderBuffer.buffer,
52207
+ centers: centers.buffer,
52208
+ mapping: this._mapping
52209
+ }, [orderBuffer.buffer, centers.buffer]);
52210
+ this._centersSent = true;
52211
+ }
52212
+ if (!this._centersSent && this._sortWorker) {
52213
+ const worldPos = this._worldPositions || this._positions;
52214
+ const centers = this._mapping ? new Float32Array(this._mapping.length * 3) : new Float32Array(worldPos);
52215
+ if (this._mapping) {
52216
+ for (let i = 0; i < this._mapping.length; ++i) {
52217
+ const src = this._mapping[i] * 3;
52218
+ const dst = i * 3;
52219
+ centers[dst + 0] = worldPos[src + 0];
52220
+ centers[dst + 1] = worldPos[src + 1];
52221
+ centers[dst + 2] = worldPos[src + 2];
52222
+ }
52223
+ }
52224
+ this._sortWorker.postMessage({
52225
+ type: "centers",
52226
+ centers: centers.buffer,
52227
+ mapping: this._mapping ? this._mapping : null
52228
+ }, [centers.buffer]);
52229
+ this._centersSent = true;
52230
+ }
52231
+ this._sortWorker.postMessage({
52232
+ cameraPosition: { x: px, y: py, z: pz },
52233
+ cameraDirection: { x: -vx, y: -vy, z: -vz }
52234
+ });
52235
+ }
52236
+ /**
52237
+ * Create Web Worker for sorting
52238
+ */
52239
+ createSortWorker() {
52240
+ function SortWorker() {
52241
+ const compareBits = 16;
52242
+ const bucketCount = 2 ** compareBits + 1;
52243
+ let order;
52244
+ let centers;
52245
+ let mapping;
52246
+ let cameraPosition;
52247
+ let cameraDirection;
52248
+ let forceUpdate = false;
52249
+ const lastCameraPosition = { x: 0, y: 0, z: 0 };
52250
+ const lastCameraDirection = { x: 0, y: 0, z: 0 };
52251
+ const boundMin = { x: 0, y: 0, z: 0 };
52252
+ const boundMax = { x: 0, y: 0, z: 0 };
52253
+ let distances;
52254
+ let countBuffer;
52255
+ const binarySearch = (m, n, compare_fn) => {
52256
+ while (m <= n) {
52257
+ const k = n + m >> 1;
52258
+ const cmp = compare_fn(k);
52259
+ if (cmp > 0) {
52260
+ m = k + 1;
52261
+ } else if (cmp < 0) {
52262
+ n = k - 1;
52263
+ } else {
52264
+ return k;
52265
+ }
52266
+ }
52267
+ return ~m;
52268
+ };
52269
+ const update = () => {
52270
+ if (!order || !centers || !cameraPosition || !cameraDirection) return;
52271
+ const px = cameraPosition.x;
52272
+ const py = cameraPosition.y;
52273
+ const pz = cameraPosition.z;
52274
+ const dx = cameraDirection.x;
52275
+ const dy = cameraDirection.y;
52276
+ const dz = cameraDirection.z;
52277
+ const epsilon = 1e-3;
52278
+ if (!forceUpdate && Math.abs(px - lastCameraPosition.x) < epsilon && Math.abs(py - lastCameraPosition.y) < epsilon && Math.abs(pz - lastCameraPosition.z) < epsilon && Math.abs(dx - lastCameraDirection.x) < epsilon && Math.abs(dy - lastCameraDirection.y) < epsilon && Math.abs(dz - lastCameraDirection.z) < epsilon) {
52279
+ return;
52280
+ }
52281
+ forceUpdate = false;
52282
+ lastCameraPosition.x = px;
52283
+ lastCameraPosition.y = py;
52284
+ lastCameraPosition.z = pz;
52285
+ lastCameraDirection.x = dx;
52286
+ lastCameraDirection.y = dy;
52287
+ lastCameraDirection.z = dz;
52288
+ const numVertices = centers.length / 3;
52289
+ if (distances?.length !== numVertices) {
52290
+ distances = new Uint32Array(numVertices);
52291
+ }
52292
+ let minDist;
52293
+ let maxDist;
52294
+ for (let i = 0; i < 8; ++i) {
52295
+ const x = (i & 1 ? boundMin.x : boundMax.x) - px;
52296
+ const y = (i & 2 ? boundMin.y : boundMax.y) - py;
52297
+ const z = (i & 4 ? boundMin.z : boundMax.z) - pz;
52298
+ const d = x * dx + y * dy + z * dz;
52299
+ if (i === 0) {
52300
+ minDist = maxDist = d;
52301
+ } else {
52302
+ minDist = Math.min(minDist, d);
52303
+ maxDist = Math.max(maxDist, d);
52304
+ }
52305
+ }
52306
+ if (!countBuffer) {
52307
+ countBuffer = new Uint32Array(bucketCount);
52308
+ } else {
52309
+ countBuffer.fill(0);
52310
+ }
52311
+ const range = maxDist - minDist;
52312
+ const divider = range < 1e-6 ? 0 : 1 / range * 2 ** compareBits;
52313
+ for (let i = 0; i < numVertices; ++i) {
52314
+ const istride = i * 3;
52315
+ const x = centers[istride + 0] - px;
52316
+ const y = centers[istride + 1] - py;
52317
+ const z = centers[istride + 2] - pz;
52318
+ const d = x * dx + y * dy + z * dz;
52319
+ const sortKey = Math.floor((d - minDist) * divider);
52320
+ distances[i] = sortKey;
52321
+ countBuffer[sortKey]++;
52322
+ }
52323
+ for (let i = 1; i < bucketCount; i++) {
52324
+ countBuffer[i] += countBuffer[i - 1];
52325
+ }
52326
+ for (let i = 0; i < numVertices; i++) {
52327
+ const distance = distances[i];
52328
+ const destIndex = --countBuffer[distance];
52329
+ order[destIndex] = i;
52330
+ }
52331
+ const dist = (i) => distances[order[i]] / divider + minDist;
52332
+ const findZero = () => {
52333
+ const result = binarySearch(0, numVertices - 1, (i) => -dist(i));
52334
+ return Math.min(numVertices, Math.abs(result));
52335
+ };
52336
+ const count = dist(numVertices - 1) >= 0 ? findZero() : numVertices;
52337
+ if (mapping) {
52338
+ for (let i = 0; i < numVertices; ++i) {
52339
+ order[i] = mapping[order[i]];
52340
+ }
52341
+ }
52342
+ self.postMessage({
52343
+ order: order.buffer,
52344
+ count
52345
+ }, [order.buffer]);
52346
+ order = null;
52347
+ };
52348
+ self.onmessage = (message) => {
52349
+ if (message.data.order) {
52350
+ order = new Uint32Array(message.data.order);
52351
+ }
52352
+ if (message.data.centers) {
52353
+ centers = new Float32Array(message.data.centers);
52354
+ boundMin.x = boundMax.x = centers[0];
52355
+ boundMin.y = boundMax.y = centers[1];
52356
+ boundMin.z = boundMax.z = centers[2];
52357
+ const numVertices = centers.length / 3;
52358
+ for (let i = 1; i < numVertices; ++i) {
52359
+ const x = centers[i * 3 + 0];
52360
+ const y = centers[i * 3 + 1];
52361
+ const z = centers[i * 3 + 2];
52362
+ boundMin.x = Math.min(boundMin.x, x);
52363
+ boundMin.y = Math.min(boundMin.y, y);
52364
+ boundMin.z = Math.min(boundMin.z, z);
52365
+ boundMax.x = Math.max(boundMax.x, x);
52366
+ boundMax.y = Math.max(boundMax.y, y);
52367
+ boundMax.z = Math.max(boundMax.z, z);
52368
+ }
52369
+ forceUpdate = true;
52370
+ }
52371
+ if (message.data.hasOwnProperty("mapping")) {
52372
+ mapping = message.data.mapping ? new Uint32Array(message.data.mapping) : null;
52373
+ forceUpdate = true;
52374
+ }
52375
+ if (message.data.cameraPosition) cameraPosition = message.data.cameraPosition;
52376
+ if (message.data.cameraDirection) cameraDirection = message.data.cameraDirection;
52377
+ update();
52378
+ };
52379
+ }
52380
+ const code = `(${SortWorker.toString()})()`;
52381
+ const blob = new Blob([code], { type: "application/javascript" });
52382
+ const url = URL.createObjectURL(blob);
52383
+ return new Worker(url);
52384
+ }
52385
+ /**
52386
+ * Update node before rendering
52387
+ */
52388
+ nodeUpdate(view, passType, renderPassState, clusterLightingBuffer) {
52389
+ const worldMatrix = this.object3D.transform.worldMatrix;
52390
+ this.gsplatMaterial.setTransformMatrix(worldMatrix);
52391
+ this.gsplatMaterial.setSplatTextures(
52392
+ this.splatColor,
52393
+ this.transformA,
52394
+ this.transformB,
52395
+ this.texParams,
52396
+ this.splatOrder
52397
+ );
52398
+ super.nodeUpdate(view, passType, renderPassState, clusterLightingBuffer);
52399
+ }
52400
+ /**
52401
+ * Render pass
52402
+ */
52403
+ renderPass2(view, passType, rendererPassState, clusterLightingBuffer, encoder, useBundle = false) {
52404
+ for (let mat of this.materials) {
52405
+ const passes = mat.getPass(passType);
52406
+ if (!passes || passes.length === 0) continue;
52407
+ for (const pass of passes) {
52408
+ if (!pass.pipeline) continue;
52409
+ pass.apply(this.geometry, rendererPassState);
52410
+ GPUContext.bindPipeline(encoder, pass);
52411
+ GPUContext.draw(encoder, 4, this.count, 0, 0);
52412
+ }
52413
+ }
52414
+ }
52415
+ /**
52416
+ * Render pass (fallback)
52417
+ */
52418
+ renderPass(view, passType, renderContext) {
52419
+ const encoder = renderContext.encoder;
52420
+ for (let mat of this.materials) {
52421
+ const passes = mat.getPass(passType);
52422
+ if (!passes || passes.length === 0) continue;
52423
+ for (const pass of passes) {
52424
+ if (!pass.pipeline) continue;
52425
+ pass.apply(this.geometry, renderContext.rendererPassState || renderContext);
52426
+ GPUContext.bindPipeline(encoder, pass);
52427
+ GPUContext.draw(encoder, 4, this.count, 0, 0);
52428
+ }
52429
+ }
52430
+ }
52431
+ /**
52432
+ * Clean up resources
52433
+ */
52434
+ destroy(force) {
52435
+ if (this._sortWorker) {
52436
+ this._sortWorker.terminate();
52437
+ this._sortWorker = null;
52438
+ }
52439
+ super.destroy(force);
52440
+ }
52441
+ };
52442
+ exports.GSplatRenderer = __decorateClass$6([
52443
+ RegisterComponent(exports.GSplatRenderer, "GSplatRenderer")
52444
+ ], exports.GSplatRenderer);
52445
+
50639
52446
  class Probe extends exports.Object3D {
50640
52447
  index = 0;
50641
52448
  drawCallFrame = -1;
@@ -55891,6 +57698,298 @@ fn frag(){
55891
57698
  }
55892
57699
  }
55893
57700
 
57701
+ function computeAABBFromPositions(position) {
57702
+ const min = [Infinity, Infinity, Infinity];
57703
+ const max = [-Infinity, -Infinity, -Infinity];
57704
+ for (let i = 0; i < position.length; i += 3) {
57705
+ const x = position[i + 0];
57706
+ const y = position[i + 1];
57707
+ const z = position[i + 2];
57708
+ if (x < min[0]) min[0] = x;
57709
+ if (y < min[1]) min[1] = y;
57710
+ if (z < min[2]) min[2] = z;
57711
+ if (x > max[0]) max[0] = x;
57712
+ if (y > max[1]) max[1] = y;
57713
+ if (z > max[2]) max[2] = z;
57714
+ }
57715
+ return { min, max };
57716
+ }
57717
+
57718
+ var GSplatFormat = /* @__PURE__ */ ((GSplatFormat2) => {
57719
+ GSplatFormat2["PLY"] = "ply";
57720
+ GSplatFormat2["SPLAT"] = "splat";
57721
+ GSplatFormat2["KSPLAT"] = "ksplat";
57722
+ GSplatFormat2["UNKNOWN"] = "unknown";
57723
+ return GSplatFormat2;
57724
+ })(GSplatFormat || {});
57725
+ function detectGSplatFormat(buffer) {
57726
+ if (buffer.byteLength < 16) {
57727
+ return "unknown" /* UNKNOWN */;
57728
+ }
57729
+ const headerBytes = new Uint8Array(buffer, 0, Math.min(512, buffer.byteLength));
57730
+ const headerText = new TextDecoder("utf-8").decode(headerBytes);
57731
+ if (headerText.startsWith("ply")) {
57732
+ return "ply" /* PLY */;
57733
+ }
57734
+ return "unknown" /* UNKNOWN */;
57735
+ }
57736
+
57737
+ function byteSizeOfType(t) {
57738
+ switch (t) {
57739
+ case "char":
57740
+ case "uchar":
57741
+ case "uint8":
57742
+ case "int8":
57743
+ return 1;
57744
+ case "short":
57745
+ case "ushort":
57746
+ case "int16":
57747
+ case "uint16":
57748
+ return 2;
57749
+ case "int":
57750
+ case "uint":
57751
+ case "int32":
57752
+ case "uint32":
57753
+ case "float":
57754
+ case "float32":
57755
+ return 4;
57756
+ case "double":
57757
+ case "float64":
57758
+ return 8;
57759
+ default:
57760
+ return 4;
57761
+ }
57762
+ }
57763
+ function readByType(view, offset, type) {
57764
+ switch (type) {
57765
+ case "char":
57766
+ case "int8":
57767
+ return view.getInt8(offset);
57768
+ case "uchar":
57769
+ case "uint8":
57770
+ return view.getUint8(offset);
57771
+ case "short":
57772
+ case "int16":
57773
+ return view.getInt16(offset, true);
57774
+ case "ushort":
57775
+ case "uint16":
57776
+ return view.getUint16(offset, true);
57777
+ case "int":
57778
+ case "int32":
57779
+ return view.getInt32(offset, true);
57780
+ case "uint":
57781
+ case "uint32":
57782
+ return view.getUint32(offset, true);
57783
+ case "double":
57784
+ case "float64":
57785
+ return view.getFloat64(offset, true);
57786
+ case "float":
57787
+ case "float32":
57788
+ default:
57789
+ return view.getFloat32(offset, true);
57790
+ }
57791
+ }
57792
+ function inferSHOrder(coeffsPerColor) {
57793
+ const root = Math.round(Math.sqrt(coeffsPerColor));
57794
+ return Math.max(0, root - 1);
57795
+ }
57796
+
57797
+ function parsePlyHeader(buffer) {
57798
+ const ascii = new TextDecoder("utf-8").decode(
57799
+ new Uint8Array(buffer, 0, Math.min(4096, buffer.byteLength))
57800
+ );
57801
+ if (!ascii.startsWith("ply")) {
57802
+ throw new Error("PLY: Unsupported format. Expecting PLY file.");
57803
+ }
57804
+ const headerEnd = ascii.indexOf("end_header\n");
57805
+ if (headerEnd < 0) {
57806
+ throw new Error("PLY: Invalid PLY header");
57807
+ }
57808
+ const headerText = ascii.substring(0, headerEnd + "end_header\n".length);
57809
+ const lines = headerText.split(/\r?\n/);
57810
+ let format = "";
57811
+ let vertexCount = 0;
57812
+ const properties = [];
57813
+ let inVertexElement = false;
57814
+ for (const line of lines) {
57815
+ if (line.startsWith("format ")) {
57816
+ format = line.split(/\s+/)[1];
57817
+ } else if (line.startsWith("element ")) {
57818
+ const toks = line.split(/\s+/);
57819
+ inVertexElement = toks[1] === "vertex";
57820
+ if (inVertexElement) vertexCount = parseInt(toks[2]);
57821
+ } else if (inVertexElement && line.startsWith("property ")) {
57822
+ const toks = line.split(/\s+/);
57823
+ const type = toks[1];
57824
+ const name = toks[2];
57825
+ properties.push({ name, type });
57826
+ }
57827
+ }
57828
+ if (format !== "binary_little_endian") {
57829
+ throw new Error("PLY: Only binary_little_endian PLY is supported");
57830
+ }
57831
+ return {
57832
+ format,
57833
+ vertexCount,
57834
+ properties,
57835
+ headerByteLength: headerText.length
57836
+ };
57837
+ }
57838
+ function parsePlyGaussianSplat(buffer) {
57839
+ const header = parsePlyHeader(buffer);
57840
+ const { vertexCount, properties, headerByteLength } = header;
57841
+ const payload = new DataView(buffer, headerByteLength);
57842
+ const has = (n) => properties.find((p) => p.name === n) != null;
57843
+ const propIndex = (n) => properties.findIndex((p) => p.name === n);
57844
+ const position = new Float32Array(vertexCount * 3);
57845
+ const scale = has("scale_0") ? new Float32Array(vertexCount * 3) : void 0;
57846
+ const rotation = has("rot_0") ? new Float32Array(vertexCount * 4) : void 0;
57847
+ const opacity = has("opacity") ? new Float32Array(vertexCount) : void 0;
57848
+ const dcIdx = [propIndex("f_dc_0"), propIndex("f_dc_1"), propIndex("f_dc_2")];
57849
+ const restIndices = [];
57850
+ for (let i = 0; i < properties.length; i++) {
57851
+ if (properties[i].name.startsWith("f_rest_")) restIndices.push(i);
57852
+ }
57853
+ const hasSH = dcIdx[0] >= 0 && dcIdx[1] >= 0 && dcIdx[2] >= 0;
57854
+ let shCoeffs = void 0;
57855
+ let shOrder = 0;
57856
+ if (hasSH) {
57857
+ const coeffsPerColor = 1 + restIndices.length / 3;
57858
+ shOrder = inferSHOrder(coeffsPerColor);
57859
+ shCoeffs = new Float32Array(vertexCount * coeffsPerColor * 3);
57860
+ }
57861
+ const propOffsets = [];
57862
+ let stride = 0;
57863
+ for (const p of properties) {
57864
+ propOffsets.push(stride);
57865
+ stride += byteSizeOfType(p.type);
57866
+ }
57867
+ let base = 0;
57868
+ for (let v = 0; v < vertexCount; v++) {
57869
+ const vOffset = base;
57870
+ const ix = propIndex("x");
57871
+ const iy = propIndex("y");
57872
+ const iz = propIndex("z");
57873
+ if (ix < 0 || iy < 0 || iz < 0) {
57874
+ throw new Error("PLY: Missing x/y/z for vertex");
57875
+ }
57876
+ position[v * 3 + 0] = readByType(payload, vOffset + propOffsets[ix], properties[ix].type);
57877
+ position[v * 3 + 1] = readByType(payload, vOffset + propOffsets[iy], properties[iy].type);
57878
+ position[v * 3 + 2] = readByType(payload, vOffset + propOffsets[iz], properties[iz].type);
57879
+ if (scale) {
57880
+ const s0 = propIndex("scale_0");
57881
+ const s1 = propIndex("scale_1");
57882
+ const s2 = propIndex("scale_2");
57883
+ scale[v * 3 + 0] = readByType(payload, vOffset + propOffsets[s0], properties[s0].type);
57884
+ scale[v * 3 + 1] = readByType(payload, vOffset + propOffsets[s1], properties[s1].type);
57885
+ scale[v * 3 + 2] = readByType(payload, vOffset + propOffsets[s2], properties[s2].type);
57886
+ }
57887
+ if (rotation) {
57888
+ const r0 = propIndex("rot_0");
57889
+ const r1 = propIndex("rot_1");
57890
+ const r2 = propIndex("rot_2");
57891
+ const r3 = propIndex("rot_3");
57892
+ rotation[v * 4 + 0] = readByType(payload, vOffset + propOffsets[r0], properties[r0].type);
57893
+ rotation[v * 4 + 1] = readByType(payload, vOffset + propOffsets[r1], properties[r1].type);
57894
+ rotation[v * 4 + 2] = readByType(payload, vOffset + propOffsets[r2], properties[r2].type);
57895
+ rotation[v * 4 + 3] = readByType(payload, vOffset + propOffsets[r3], properties[r3].type);
57896
+ }
57897
+ if (opacity) {
57898
+ const oi = propIndex("opacity");
57899
+ opacity[v] = readByType(payload, vOffset + propOffsets[oi], properties[oi].type);
57900
+ }
57901
+ if (hasSH && shCoeffs) {
57902
+ const coeffsPerColor = 1 + restIndices.length / 3;
57903
+ const baseIndex = v * coeffsPerColor * 3;
57904
+ shCoeffs[baseIndex + 0] = readByType(
57905
+ payload,
57906
+ vOffset + propOffsets[dcIdx[0]],
57907
+ properties[dcIdx[0]].type
57908
+ );
57909
+ shCoeffs[baseIndex + coeffsPerColor + 0] = readByType(
57910
+ payload,
57911
+ vOffset + propOffsets[dcIdx[1]],
57912
+ properties[dcIdx[1]].type
57913
+ );
57914
+ shCoeffs[baseIndex + 2 * coeffsPerColor + 0] = readByType(
57915
+ payload,
57916
+ vOffset + propOffsets[dcIdx[2]],
57917
+ properties[dcIdx[2]].type
57918
+ );
57919
+ let rPtr = 1;
57920
+ let gPtr = 1;
57921
+ let bPtr = 1;
57922
+ for (let i = 0; i < restIndices.length; i += 3) {
57923
+ const ri = restIndices[i + 0];
57924
+ const gi = restIndices[i + 1];
57925
+ const bi = restIndices[i + 2];
57926
+ shCoeffs[baseIndex + rPtr] = readByType(
57927
+ payload,
57928
+ vOffset + propOffsets[ri],
57929
+ properties[ri].type
57930
+ );
57931
+ shCoeffs[baseIndex + coeffsPerColor + gPtr] = readByType(
57932
+ payload,
57933
+ vOffset + propOffsets[gi],
57934
+ properties[gi].type
57935
+ );
57936
+ shCoeffs[baseIndex + 2 * coeffsPerColor + bPtr] = readByType(
57937
+ payload,
57938
+ vOffset + propOffsets[bi],
57939
+ properties[bi].type
57940
+ );
57941
+ rPtr++;
57942
+ gPtr++;
57943
+ bPtr++;
57944
+ }
57945
+ }
57946
+ base += stride;
57947
+ }
57948
+ return {
57949
+ vertexCount,
57950
+ position,
57951
+ scale,
57952
+ rotation,
57953
+ opacity,
57954
+ sh: hasSH && shCoeffs ? { order: shOrder, coeffs: shCoeffs } : void 0
57955
+ };
57956
+ }
57957
+
57958
+ class GaussianSplatParser extends ParserBase {
57959
+ static format = ParserFormat.BIN;
57960
+ async parseBuffer(buffer) {
57961
+ const format = detectGSplatFormat(buffer);
57962
+ let asset;
57963
+ switch (format) {
57964
+ case GSplatFormat.PLY: {
57965
+ const plyData = parsePlyGaussianSplat(buffer);
57966
+ asset = {
57967
+ count: plyData.vertexCount,
57968
+ position: plyData.position,
57969
+ rotation: plyData.rotation,
57970
+ scale: plyData.scale,
57971
+ opacity: plyData.opacity,
57972
+ sh: plyData.sh
57973
+ };
57974
+ asset.bbox = computeAABBFromPositions(plyData.position);
57975
+ break;
57976
+ }
57977
+ case GSplatFormat.SPLAT:
57978
+ throw new Error("SPLAT format is not yet supported");
57979
+ case GSplatFormat.KSPLAT:
57980
+ throw new Error("KSPLAT format is not yet supported");
57981
+ case GSplatFormat.UNKNOWN:
57982
+ default:
57983
+ throw new Error("Unknown or unsupported Gaussian Splatting file format");
57984
+ }
57985
+ this.data = asset;
57986
+ return asset;
57987
+ }
57988
+ verification() {
57989
+ return !!this.data && this.data.count > 0;
57990
+ }
57991
+ }
57992
+
55894
57993
  var GeoType = /* @__PURE__ */ ((GeoType2) => {
55895
57994
  GeoType2["Point"] = "Point";
55896
57995
  GeoType2["LineString"] = "LineString";
@@ -57022,7 +59121,7 @@ fn frag(){
57022
59121
  }
57023
59122
  };
57024
59123
  exports.LitSSSShader = __decorateClass$3([
57025
- RegisterShader
59124
+ RegisterShader(exports.LitSSSShader, "LitSSSShader")
57026
59125
  ], exports.LitSSSShader);
57027
59126
 
57028
59127
  var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
@@ -57124,7 +59223,7 @@ fn frag(){
57124
59223
  }
57125
59224
  };
57126
59225
  exports.LitShader = __decorateClass$2([
57127
- RegisterShader
59226
+ RegisterShader(exports.LitShader, "LitShader")
57128
59227
  ], exports.LitShader);
57129
59228
 
57130
59229
  class ComData {
@@ -57360,7 +59459,7 @@ fn frag(){
57360
59459
  }
57361
59460
  };
57362
59461
  exports.UnLitShader = __decorateClass$1([
57363
- RegisterShader
59462
+ RegisterShader(exports.UnLitShader, "UnLitShader")
57364
59463
  ], exports.UnLitShader);
57365
59464
 
57366
59465
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -57449,7 +59548,7 @@ fn frag(){
57449
59548
  }
57450
59549
  };
57451
59550
  exports.UnLitTexArrayShader = __decorateClass([
57452
- RegisterShader
59551
+ RegisterShader(exports.UnLitTexArrayShader, "UnLitTexArrayShader")
57453
59552
  ], exports.UnLitTexArrayShader);
57454
59553
 
57455
59554
  class TileSet {
@@ -57682,46 +59781,6 @@ fn frag(){
57682
59781
  function registerMaterial(name, cls) {
57683
59782
  }
57684
59783
 
57685
- class UnLitMaterial extends Material {
57686
- /**
57687
- * @constructor
57688
- */
57689
- constructor() {
57690
- super();
57691
- this.shader = new exports.UnLitShader();
57692
- this.baseMap = Engine3D.res.whiteTexture;
57693
- }
57694
- set baseMap(texture) {
57695
- this.shader.setTexture(`baseMap`, texture);
57696
- }
57697
- get baseMap() {
57698
- return this.shader.getTexture(`baseMap`);
57699
- }
57700
- /**
57701
- * set base color (tint color)
57702
- */
57703
- set baseColor(color) {
57704
- this.shader.setUniformColor(`baseColor`, color);
57705
- }
57706
- /**
57707
- * get base color (tint color)
57708
- */
57709
- get baseColor() {
57710
- return this.shader.getUniformColor("baseColor");
57711
- }
57712
- /**
57713
- * set environment texture, usually referring to cubemap
57714
- */
57715
- set envMap(texture) {
57716
- }
57717
- /**
57718
- * @internal
57719
- * set shadow map
57720
- */
57721
- set shadowMap(texture) {
57722
- }
57723
- }
57724
-
57725
59784
  class UnLitTexArrayMaterial extends Material {
57726
59785
  /**
57727
59786
  * @constructor
@@ -58327,6 +60386,449 @@ fn frag(){
58327
60386
  }
58328
60387
  }
58329
60388
 
60389
+ var ParticleSystemRandomnessIds = /* @__PURE__ */ ((ParticleSystemRandomnessIds2) => {
60390
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemClampVelocityCurveId"] = 322376503] = "kParticleSystemClampVelocityCurveId";
60391
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemForceCurveId"] = 306581307] = "kParticleSystemForceCurveId";
60392
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemRotationCurveId"] = 1793934638] = "kParticleSystemRotationCurveId";
60393
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemRotationBySpeedCurveId"] = 3737431713] = "kParticleSystemRotationBySpeedCurveId";
60394
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemStartSpeedCurveId"] = 2527743459] = "kParticleSystemStartSpeedCurveId";
60395
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemSizeCurveId"] = 2368504881] = "kParticleSystemSizeCurveId";
60396
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemSizeBySpeedCurveId"] = 4085612399] = "kParticleSystemSizeBySpeedCurveId";
60397
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemVelocityCurveId"] = 3774601268] = "kParticleSystemVelocityCurveId";
60398
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemUVCurveId"] = 326370691] = "kParticleSystemUVCurveId";
60399
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemColorGradientId"] = 1494990940] = "kParticleSystemColorGradientId";
60400
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemColorByVelocityGradientId"] = 1089181156] = "kParticleSystemColorByVelocityGradientId";
60401
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemMeshSelectionId"] = 3159510623] = "kParticleSystemMeshSelectionId";
60402
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemUVRowSelectionId"] = 2941263940] = "kParticleSystemUVRowSelectionId";
60403
+ return ParticleSystemRandomnessIds2;
60404
+ })(ParticleSystemRandomnessIds || {});
60405
+ const kPI = 3.141592653589793;
60406
+
60407
+ class Polynomials {
60408
+ }
60409
+ function cubicPolynomialRoot(p, q, r) {
60410
+ let rcp3 = 1 / 3;
60411
+ let half = 0.5;
60412
+ let po3 = p * rcp3;
60413
+ let po3_2 = po3 * po3;
60414
+ let po3_3 = po3_2 * po3;
60415
+ let b = po3_3 - po3 * q * half + r * half;
60416
+ let a = -po3_2 + q * rcp3;
60417
+ let a3 = a * a * a;
60418
+ let det = a3 + b * b;
60419
+ if (det >= 0) {
60420
+ let r0 = Math.sqrt(det) - b;
60421
+ r0 = r0 > 0 ? Math.pow(r0, rcp3) : -Math.pow(-r0, rcp3);
60422
+ return -po3 - a / r0 + r0;
60423
+ }
60424
+ let abs = Math.sqrt(-a3);
60425
+ let arg = Math.acos(-b / abs);
60426
+ abs = Math.pow(abs, rcp3);
60427
+ abs = abs - a / abs;
60428
+ arg = -po3 + abs * Math.cos(arg * rcp3);
60429
+ return arg;
60430
+ }
60431
+ function quadraticPolynomialRootsGeneric(a, b, c, out) {
60432
+ let eps = 1e-5;
60433
+ if (Math.abs(a) < eps) {
60434
+ if (Math.abs(b) > eps) {
60435
+ out.r0 = -c / b;
60436
+ return 1;
60437
+ } else {
60438
+ return 0;
60439
+ }
60440
+ }
60441
+ let disc = b * b - 4 * a * c;
60442
+ if (disc < 0) {
60443
+ return 0;
60444
+ }
60445
+ let halfRcpA = 0.5 / a;
60446
+ let sqrtDisc = Math.sqrt(disc);
60447
+ out.r0 = (sqrtDisc - b) * halfRcpA;
60448
+ out.r1 = (-sqrtDisc - b) * halfRcpA;
60449
+ return 2;
60450
+ }
60451
+ function cubicPolynomialRootsGeneric(roots, a, b, c, d) {
60452
+ let numRoots = 0;
60453
+ if (Math.abs(a) >= 1e-4) {
60454
+ let p = b / a;
60455
+ let q = c / a;
60456
+ let r = d / a;
60457
+ roots[0] = cubicPolynomialRoot(p, q, r);
60458
+ numRoots++;
60459
+ let la = a;
60460
+ let lb = b + a * roots[0];
60461
+ let lc = c + b * roots[0] + a * roots[0] * roots[0];
60462
+ numRoots += quadraticPolynomialRootsGeneric(la, lb, lc, {
60463
+ r0: roots[1],
60464
+ r1: roots[2]
60465
+ });
60466
+ } else {
60467
+ numRoots += quadraticPolynomialRootsGeneric(b, c, d, {
60468
+ r0: roots[1],
60469
+ r1: roots[2]
60470
+ });
60471
+ }
60472
+ return numRoots;
60473
+ }
60474
+
60475
+ class Polynomial {
60476
+ coeff = [];
60477
+ static EvalSegment(t, coeff) {
60478
+ return t * (t * (t * coeff[0] + coeff[1]) + coeff[2]) + coeff[3];
60479
+ }
60480
+ }
60481
+ class PolynomialCurve {
60482
+ static kMaxNumSegments = 8;
60483
+ segments = [];
60484
+ integrationCache = [];
60485
+ doubleIntegrationCache = [];
60486
+ times = [];
60487
+ segmentCount;
60488
+ constructor() {
60489
+ this.segments[PolynomialCurve.kMaxNumSegments] = new Polynomial();
60490
+ this.integrationCache[PolynomialCurve.kMaxNumSegments] = 0;
60491
+ this.doubleIntegrationCache[PolynomialCurve.kMaxNumSegments] = 0;
60492
+ this.times[PolynomialCurve.kMaxNumSegments] = 0;
60493
+ }
60494
+ calculateMinMax(minmax, value) {
60495
+ minmax.x = Math.min(minmax.x, value);
60496
+ minmax.y = Math.max(minmax.y, value);
60497
+ }
60498
+ findMinMaxDoubleIntegrated() {
60499
+ let result = Vector2.ZERO.clone();
60500
+ let numSteps = 20;
60501
+ let delta = 1 / numSteps;
60502
+ let acc = delta;
60503
+ for (let i = 0; i < numSteps; i++) {
60504
+ this.calculateMinMax(result, this.evaluateDoubleIntegrated(acc));
60505
+ acc += delta;
60506
+ }
60507
+ return result;
60508
+ }
60509
+ // Find the maximum of the integrated curve (x: min, y: max)
60510
+ findMinMaxIntegrated() {
60511
+ let result = Vector2.ZERO.clone();
60512
+ let start = [];
60513
+ let end = [];
60514
+ for (let i = 0; i < this.segmentCount; i++) {
60515
+ let a = 4 * this.segments[i].coeff[0];
60516
+ let b = 3 * this.segments[i].coeff[1];
60517
+ let c = 2 * this.segments[i].coeff[2];
60518
+ let d = 1 * this.segments[i].coeff[3];
60519
+ let roots = [];
60520
+ let numRoots = cubicPolynomialRootsGeneric(roots, a, b, c, d);
60521
+ for (let r = 0; r < numRoots; r++) {
60522
+ let root = roots[r] + start[i];
60523
+ if (root >= start[i] && root < end[i]) {
60524
+ this.calculateMinMax(result, this.evaluateIntegrated(root));
60525
+ }
60526
+ }
60527
+ this.calculateMinMax(result, this.evaluateIntegrated(end[i]));
60528
+ this.times[i];
60529
+ }
60530
+ return result;
60531
+ }
60532
+ generateIntegrationCache(curve) {
60533
+ curve.integrationCache[0] = 0;
60534
+ let prevTimeValue0 = curve.times[0];
60535
+ let prevTimeValue1 = 0;
60536
+ for (let i = 1; i < curve.segmentCount; i++) {
60537
+ let coeff = curve.segments[i - 1].coeff;
60538
+ integrateSegment(coeff);
60539
+ let time = prevTimeValue0 - prevTimeValue1;
60540
+ curve.integrationCache[i] = curve.integrationCache[i - 1] + Polynomial.EvalSegment(time, coeff) * time;
60541
+ prevTimeValue1 = prevTimeValue0;
60542
+ prevTimeValue0 = curve.times[i];
60543
+ }
60544
+ }
60545
+ generateDoubleIntegrationCache(curve) {
60546
+ let sum = 0;
60547
+ let prevTimeValue = 0;
60548
+ for (let i = 0; i < curve.segmentCount; i++) {
60549
+ curve.doubleIntegrationCache[i] = sum;
60550
+ let time = curve.times[i] - prevTimeValue;
60551
+ time = Math.max(time, 0);
60552
+ sum += Polynomial.EvalSegment(time, curve.segments[i].coeff) * time * time + curve.integrationCache[i] * time;
60553
+ prevTimeValue = curve.times[i];
60554
+ }
60555
+ }
60556
+ // Integrates a velocity curve to be a position curve.
60557
+ // You have to call EvaluateIntegrated to evaluate the curve
60558
+ integrate() {
60559
+ this.generateIntegrationCache(this);
60560
+ for (let i = 0; i < this.segmentCount; i++) {
60561
+ integrateSegment(this.segments[i].coeff);
60562
+ }
60563
+ }
60564
+ // Integrates a velocity curve to be a position curve.
60565
+ // You have to call EvaluateDoubleIntegrated to evaluate the curve
60566
+ doubleIntegrate() {
60567
+ this.generateIntegrationCache(this);
60568
+ for (let i = 0; i < this.segmentCount; i++) {
60569
+ doubleIntegrateSegment(this.segments[i].coeff);
60570
+ }
60571
+ this.generateDoubleIntegrationCache(this);
60572
+ }
60573
+ // Evaluates if it is possible to represent animation curve as PolynomialCurve
60574
+ static isValidCurve(editorCurve) {
60575
+ let keyCount = editorCurve.getKeyCount();
60576
+ let segmentCount = keyCount - 1;
60577
+ if (editorCurve.getKey(0).time != 0) {
60578
+ segmentCount++;
60579
+ }
60580
+ if (editorCurve.getKey(keyCount - 1).time != 1) {
60581
+ segmentCount++;
60582
+ }
60583
+ return segmentCount <= PolynomialCurve.kMaxNumSegments;
60584
+ }
60585
+ evaluateDoubleIntegrated(t) {
60586
+ let prevTimeValue = 0;
60587
+ for (let i = 0; i < this.segmentCount; i++) {
60588
+ if (t <= this.times[i]) {
60589
+ let time = t - prevTimeValue;
60590
+ return this.doubleIntegrationCache[i] + this.integrationCache[i] * time + Polynomial.EvalSegment(time, this.segments[i].coeff) * time * time;
60591
+ }
60592
+ prevTimeValue = this.times[i];
60593
+ }
60594
+ return 1;
60595
+ }
60596
+ // Evaluate integrated Polynomial curve.
60597
+ // Example: position = EvaluateIntegrated (normalizedTime) * startEnergy
60598
+ // Use Integrate function to for example turn a velocity curve into a position curve.
60599
+ // Expects that t is in the 0...1 range.
60600
+ evaluateIntegrated(t) {
60601
+ let prevTimeValue = 0;
60602
+ for (let i = 0; i < this.segmentCount; i++) {
60603
+ if (t <= this.times[i]) {
60604
+ let time = t - prevTimeValue;
60605
+ return this.integrationCache[i] + Polynomial.EvalSegment(time, this.segments[i].coeff) * time;
60606
+ }
60607
+ prevTimeValue = this.times[i];
60608
+ }
60609
+ return 1;
60610
+ }
60611
+ // Evaluate the curve
60612
+ // extects that t is in the 0...1 range
60613
+ evaluate(t) {
60614
+ let prevTimeValue = 0;
60615
+ for (let i = 0; i < this.segmentCount; i++) {
60616
+ if (t <= this.times[i]) {
60617
+ return Polynomial.EvalSegment(
60618
+ t - prevTimeValue,
60619
+ this.segments[i].coeff
60620
+ );
60621
+ }
60622
+ prevTimeValue = this.times[i];
60623
+ }
60624
+ return 1;
60625
+ }
60626
+ buildCurve(editorCurve, scale) {
60627
+ let keyCount = editorCurve.getKeyCount();
60628
+ this.segmentCount = 1;
60629
+ let kMaxTime = 1.01;
60630
+ this.segments.length = 0;
60631
+ this.integrationCache.length = 0;
60632
+ this.doubleIntegrationCache.length = 0;
60633
+ this.times.length = 0;
60634
+ this.times[0] = kMaxTime;
60635
+ if (keyCount == 0) ; else if (keyCount == 1) {
60636
+ this.segments[0] = new Polynomial();
60637
+ this.segments[0].coeff[3] = editorCurve.getKey(0).value * scale;
60638
+ } else {
60639
+ this.segmentCount = keyCount - 1;
60640
+ let segmentOffset = 0;
60641
+ if (editorCurve.getKey(0).time != 0) {
60642
+ this.segments[0].coeff[3] = editorCurve.getKey(0).value;
60643
+ this.times[0] = editorCurve.getKey(0).time;
60644
+ segmentOffset = 1;
60645
+ }
60646
+ for (let i = 0; i < this.segmentCount; i++) {
60647
+ let cache;
60648
+ editorCurve.calculateCacheData(cache, i, i + 1, 0);
60649
+ this.segments[i + segmentOffset].coeff = cache.coeff.concat();
60650
+ this.times[i + segmentOffset] = editorCurve.getKey(i + 1).time;
60651
+ }
60652
+ this.segmentCount += segmentOffset;
60653
+ if (editorCurve.getKey(keyCount - 1).time != 1) {
60654
+ this.segments[this.segmentCount].coeff[3] = editorCurve.getKey(
60655
+ keyCount - 1
60656
+ ).value;
60657
+ this.segmentCount++;
60658
+ }
60659
+ this.times[this.segmentCount - 1] = kMaxTime;
60660
+ for (let i = 0; i < this.segmentCount; i++) {
60661
+ this.segments[i].coeff[0] *= scale;
60662
+ this.segments[i].coeff[1] *= scale;
60663
+ this.segments[i].coeff[2] *= scale;
60664
+ this.segments[i].coeff[3] *= scale;
60665
+ }
60666
+ }
60667
+ return true;
60668
+ }
60669
+ }
60670
+ function doubleIntegrateSegment(coeff) {
60671
+ coeff[0] /= 20;
60672
+ coeff[1] /= 12;
60673
+ coeff[2] /= 6;
60674
+ coeff[3] /= 2;
60675
+ }
60676
+ function integrateSegment(coeff) {
60677
+ coeff[0] /= 4;
60678
+ coeff[1] /= 3;
60679
+ coeff[2] /= 2;
60680
+ coeff[3] /= 1;
60681
+ }
60682
+
60683
+ var ParticleSystemCurveEvalMode = /* @__PURE__ */ ((ParticleSystemCurveEvalMode2) => {
60684
+ ParticleSystemCurveEvalMode2[ParticleSystemCurveEvalMode2["kEMScalar"] = 0] = "kEMScalar";
60685
+ ParticleSystemCurveEvalMode2[ParticleSystemCurveEvalMode2["kEMOptimized"] = 1] = "kEMOptimized";
60686
+ ParticleSystemCurveEvalMode2[ParticleSystemCurveEvalMode2["kEMOptimizedMinMax"] = 2] = "kEMOptimizedMinMax";
60687
+ ParticleSystemCurveEvalMode2[ParticleSystemCurveEvalMode2["kEMSlow"] = 3] = "kEMSlow";
60688
+ return ParticleSystemCurveEvalMode2;
60689
+ })(ParticleSystemCurveEvalMode || {});
60690
+ var MinMaxCurveState = /* @__PURE__ */ ((MinMaxCurveState2) => {
60691
+ MinMaxCurveState2[MinMaxCurveState2["kMMCScalar"] = 0] = "kMMCScalar";
60692
+ MinMaxCurveState2[MinMaxCurveState2["kMMCCurve"] = 1] = "kMMCCurve";
60693
+ MinMaxCurveState2[MinMaxCurveState2["kMMCTwoCurves"] = 2] = "kMMCTwoCurves";
60694
+ MinMaxCurveState2[MinMaxCurveState2["kMMCTwoConstants"] = 3] = "kMMCTwoConstants";
60695
+ return MinMaxCurveState2;
60696
+ })(MinMaxCurveState || {});
60697
+ class MinMaxAnimationCurves {
60698
+ // public SupportsProcedural ();
60699
+ max;
60700
+ min;
60701
+ }
60702
+ class MinMaxPolyCurves {
60703
+ max;
60704
+ min;
60705
+ integrate() {
60706
+ this.max.integrate();
60707
+ this.min.integrate();
60708
+ }
60709
+ doubleIntegrate() {
60710
+ this.max.doubleIntegrate();
60711
+ this.min.doubleIntegrate();
60712
+ }
60713
+ findMinMaxIntegrated() {
60714
+ return null;
60715
+ }
60716
+ findMinMaxDoubleIntegrated() {
60717
+ return null;
60718
+ }
60719
+ }
60720
+ class MinMaxCurve {
60721
+ minMaxState;
60722
+ // see enum MinMaxCurveState
60723
+ minCurve;
60724
+ maxCurve;
60725
+ _scalar = 1;
60726
+ // Since scalar is baked into the optimized curve we use the setter function to modify it.
60727
+ _minScalar;
60728
+ constructor(scalarValue = 1) {
60729
+ this._scalar = scalarValue;
60730
+ this.minMaxState = 0 /* kMMCScalar */;
60731
+ this.minCurve = new AnimationCurve();
60732
+ this.maxCurve = new AnimationCurve();
60733
+ }
60734
+ setScalar(value) {
60735
+ this._scalar = value;
60736
+ }
60737
+ getScalar() {
60738
+ return this._scalar;
60739
+ }
60740
+ static evaluateSlow(curve, t, factor) {
60741
+ let v = curve.maxCurve.getValue(t) * curve.getScalar();
60742
+ if (curve.minMaxState == 2 /* kMMCTwoCurves */) {
60743
+ return lerp(curve.minCurve.getValue(t) * curve.getScalar(), v, factor);
60744
+ } else return v;
60745
+ }
60746
+ static evaluate(curve, t, randomValue = 1) {
60747
+ if (curve.minMaxState == 0 /* kMMCScalar */) {
60748
+ return curve.getScalar();
60749
+ }
60750
+ let v = curve.maxCurve.getValue(t) * curve.getScalar();
60751
+ if (curve.minMaxState == 1 /* kMMCCurve */) {
60752
+ return lerp(curve.minCurve.getValue(t) * curve.getScalar(), v, randomValue);
60753
+ }
60754
+ if (curve.minMaxState == 3 /* kMMCTwoConstants */) {
60755
+ return lerp(curve._minScalar, curve._scalar, randomValue);
60756
+ }
60757
+ if (curve.minMaxState == 2 /* kMMCTwoCurves */) {
60758
+ return lerp(curve.minCurve.getValue(t) * curve.getScalar(), v, 1 * Math.random());
60759
+ }
60760
+ return this.evaluateSlow(curve, t, 1);
60761
+ }
60762
+ unSerialized(data) {
60763
+ this.minMaxState = data["minMaxState"];
60764
+ this._scalar = data["scalar"];
60765
+ this._minScalar = data["minScalar"];
60766
+ this.maxCurve.unSerialized(data["maxCurve"]);
60767
+ this.minCurve.unSerialized(data["minCurve"]);
60768
+ }
60769
+ }
60770
+ class ValueSpread {
60771
+ value = 0;
60772
+ mode = 0;
60773
+ spread = 0;
60774
+ speed = new MinMaxCurve();
60775
+ unSerialized(data) {
60776
+ this.value = data["value"];
60777
+ this.mode = data["mode"];
60778
+ this.spread = data["spread"];
60779
+ this.speed.unSerialized(data["speed"]);
60780
+ }
60781
+ }
60782
+ function curvesSupportProcedural(editorCurves, minMaxState) {
60783
+ let isValid = PolynomialCurve.isValidCurve(editorCurves.max);
60784
+ if (minMaxState != 2 /* kMMCTwoCurves */ && minMaxState != 3 /* kMMCTwoConstants */) {
60785
+ return isValid;
60786
+ } else {
60787
+ return isValid && PolynomialCurve.isValidCurve(editorCurves.min);
60788
+ }
60789
+ }
60790
+ function buildCurves(polyCurves, editorCurves, scalar, minMaxState) {
60791
+ polyCurves.max.buildCurve(editorCurves.max, scalar);
60792
+ if (minMaxState != 2 /* kMMCTwoCurves */ && minMaxState != 3 /* kMMCTwoConstants */) {
60793
+ polyCurves.min.buildCurve(editorCurves.max, scalar);
60794
+ } else {
60795
+ polyCurves.min.buildCurve(editorCurves.min, scalar);
60796
+ }
60797
+ }
60798
+ function calculateCurveRangesValue(minMaxValue, curve) {
60799
+ let keyCount = curve.getKeyCount();
60800
+ if (keyCount == 0) {
60801
+ return;
60802
+ }
60803
+ if (keyCount == 1) {
60804
+ calculateMinMax(minMaxValue, curve.getKey(0).value);
60805
+ } else {
60806
+ let segmentCount = keyCount - 1;
60807
+ calculateMinMax(minMaxValue, curve.getKey(0).value);
60808
+ for (let i = 0; i < segmentCount; i++) {
60809
+ let cache = new FrameCache();
60810
+ curve.calculateCacheData(cache, i, i + 1, 0);
60811
+ let a = 3 * cache.coeff[0];
60812
+ let b = 2 * cache.coeff[1];
60813
+ let c = 1 * cache.coeff[2];
60814
+ let start = curve.getKey(i).time;
60815
+ let end = curve.getKey(i + 1).time;
60816
+ let roots = [];
60817
+ let numRoots = quadraticPolynomialRootsGeneric(a, b, c, { r0: roots[0], r1: roots[1] });
60818
+ for (let r = 0; r < numRoots; r++) {
60819
+ if (roots[r] >= 0 && roots[r] + start < end) {
60820
+ calculateMinMax(minMaxValue, Polynomial.EvalSegment(roots[r], cache.coeff));
60821
+ }
60822
+ }
60823
+ calculateMinMax(minMaxValue, Polynomial.EvalSegment(end - start, cache.coeff));
60824
+ }
60825
+ }
60826
+ }
60827
+ function calculateMinMax(minmax, value) {
60828
+ minmax.x = Math.min(minmax.x, value);
60829
+ minmax.y = Math.max(minmax.y, value);
60830
+ }
60831
+
58330
60832
  class PlaneClassification {
58331
60833
  /**
58332
60834
  * @language zh_CN
@@ -58575,282 +61077,6 @@ fn frag(){
58575
61077
  }
58576
61078
  }
58577
61079
 
58578
- class Polynomials {
58579
- }
58580
- function cubicPolynomialRoot(p, q, r) {
58581
- let rcp3 = 1 / 3;
58582
- let half = 0.5;
58583
- let po3 = p * rcp3;
58584
- let po3_2 = po3 * po3;
58585
- let po3_3 = po3_2 * po3;
58586
- let b = po3_3 - po3 * q * half + r * half;
58587
- let a = -po3_2 + q * rcp3;
58588
- let a3 = a * a * a;
58589
- let det = a3 + b * b;
58590
- if (det >= 0) {
58591
- let r0 = Math.sqrt(det) - b;
58592
- r0 = r0 > 0 ? Math.pow(r0, rcp3) : -Math.pow(-r0, rcp3);
58593
- return -po3 - a / r0 + r0;
58594
- }
58595
- let abs = Math.sqrt(-a3);
58596
- let arg = Math.acos(-b / abs);
58597
- abs = Math.pow(abs, rcp3);
58598
- abs = abs - a / abs;
58599
- arg = -po3 + abs * Math.cos(arg * rcp3);
58600
- return arg;
58601
- }
58602
- function quadraticPolynomialRootsGeneric(a, b, c, out) {
58603
- let eps = 1e-5;
58604
- if (Math.abs(a) < eps) {
58605
- if (Math.abs(b) > eps) {
58606
- out.r0 = -c / b;
58607
- return 1;
58608
- } else {
58609
- return 0;
58610
- }
58611
- }
58612
- let disc = b * b - 4 * a * c;
58613
- if (disc < 0) {
58614
- return 0;
58615
- }
58616
- let halfRcpA = 0.5 / a;
58617
- let sqrtDisc = Math.sqrt(disc);
58618
- out.r0 = (sqrtDisc - b) * halfRcpA;
58619
- out.r1 = (-sqrtDisc - b) * halfRcpA;
58620
- return 2;
58621
- }
58622
- function cubicPolynomialRootsGeneric(roots, a, b, c, d) {
58623
- let numRoots = 0;
58624
- if (Math.abs(a) >= 1e-4) {
58625
- let p = b / a;
58626
- let q = c / a;
58627
- let r = d / a;
58628
- roots[0] = cubicPolynomialRoot(p, q, r);
58629
- numRoots++;
58630
- let la = a;
58631
- let lb = b + a * roots[0];
58632
- let lc = c + b * roots[0] + a * roots[0] * roots[0];
58633
- numRoots += quadraticPolynomialRootsGeneric(la, lb, lc, {
58634
- r0: roots[1],
58635
- r1: roots[2]
58636
- });
58637
- } else {
58638
- numRoots += quadraticPolynomialRootsGeneric(b, c, d, {
58639
- r0: roots[1],
58640
- r1: roots[2]
58641
- });
58642
- }
58643
- return numRoots;
58644
- }
58645
-
58646
- class Polynomial {
58647
- coeff = [];
58648
- static EvalSegment(t, coeff) {
58649
- return t * (t * (t * coeff[0] + coeff[1]) + coeff[2]) + coeff[3];
58650
- }
58651
- }
58652
- class PolynomialCurve {
58653
- static kMaxNumSegments = 8;
58654
- segments = [];
58655
- integrationCache = [];
58656
- doubleIntegrationCache = [];
58657
- times = [];
58658
- segmentCount;
58659
- constructor() {
58660
- this.segments[PolynomialCurve.kMaxNumSegments] = new Polynomial();
58661
- this.integrationCache[PolynomialCurve.kMaxNumSegments] = 0;
58662
- this.doubleIntegrationCache[PolynomialCurve.kMaxNumSegments] = 0;
58663
- this.times[PolynomialCurve.kMaxNumSegments] = 0;
58664
- }
58665
- calculateMinMax(minmax, value) {
58666
- minmax.x = Math.min(minmax.x, value);
58667
- minmax.y = Math.max(minmax.y, value);
58668
- }
58669
- findMinMaxDoubleIntegrated() {
58670
- let result = Vector2.ZERO.clone();
58671
- let numSteps = 20;
58672
- let delta = 1 / numSteps;
58673
- let acc = delta;
58674
- for (let i = 0; i < numSteps; i++) {
58675
- this.calculateMinMax(result, this.evaluateDoubleIntegrated(acc));
58676
- acc += delta;
58677
- }
58678
- return result;
58679
- }
58680
- // Find the maximum of the integrated curve (x: min, y: max)
58681
- findMinMaxIntegrated() {
58682
- let result = Vector2.ZERO.clone();
58683
- let start = [];
58684
- let end = [];
58685
- for (let i = 0; i < this.segmentCount; i++) {
58686
- let a = 4 * this.segments[i].coeff[0];
58687
- let b = 3 * this.segments[i].coeff[1];
58688
- let c = 2 * this.segments[i].coeff[2];
58689
- let d = 1 * this.segments[i].coeff[3];
58690
- let roots = [];
58691
- let numRoots = cubicPolynomialRootsGeneric(roots, a, b, c, d);
58692
- for (let r = 0; r < numRoots; r++) {
58693
- let root = roots[r] + start[i];
58694
- if (root >= start[i] && root < end[i]) {
58695
- this.calculateMinMax(result, this.evaluateIntegrated(root));
58696
- }
58697
- }
58698
- this.calculateMinMax(result, this.evaluateIntegrated(end[i]));
58699
- this.times[i];
58700
- }
58701
- return result;
58702
- }
58703
- generateIntegrationCache(curve) {
58704
- curve.integrationCache[0] = 0;
58705
- let prevTimeValue0 = curve.times[0];
58706
- let prevTimeValue1 = 0;
58707
- for (let i = 1; i < curve.segmentCount; i++) {
58708
- let coeff = curve.segments[i - 1].coeff;
58709
- integrateSegment(coeff);
58710
- let time = prevTimeValue0 - prevTimeValue1;
58711
- curve.integrationCache[i] = curve.integrationCache[i - 1] + Polynomial.EvalSegment(time, coeff) * time;
58712
- prevTimeValue1 = prevTimeValue0;
58713
- prevTimeValue0 = curve.times[i];
58714
- }
58715
- }
58716
- generateDoubleIntegrationCache(curve) {
58717
- let sum = 0;
58718
- let prevTimeValue = 0;
58719
- for (let i = 0; i < curve.segmentCount; i++) {
58720
- curve.doubleIntegrationCache[i] = sum;
58721
- let time = curve.times[i] - prevTimeValue;
58722
- time = Math.max(time, 0);
58723
- sum += Polynomial.EvalSegment(time, curve.segments[i].coeff) * time * time + curve.integrationCache[i] * time;
58724
- prevTimeValue = curve.times[i];
58725
- }
58726
- }
58727
- // Integrates a velocity curve to be a position curve.
58728
- // You have to call EvaluateIntegrated to evaluate the curve
58729
- integrate() {
58730
- this.generateIntegrationCache(this);
58731
- for (let i = 0; i < this.segmentCount; i++) {
58732
- integrateSegment(this.segments[i].coeff);
58733
- }
58734
- }
58735
- // Integrates a velocity curve to be a position curve.
58736
- // You have to call EvaluateDoubleIntegrated to evaluate the curve
58737
- doubleIntegrate() {
58738
- this.generateIntegrationCache(this);
58739
- for (let i = 0; i < this.segmentCount; i++) {
58740
- doubleIntegrateSegment(this.segments[i].coeff);
58741
- }
58742
- this.generateDoubleIntegrationCache(this);
58743
- }
58744
- // Evaluates if it is possible to represent animation curve as PolynomialCurve
58745
- static isValidCurve(editorCurve) {
58746
- let keyCount = editorCurve.getKeyCount();
58747
- let segmentCount = keyCount - 1;
58748
- if (editorCurve.getKey(0).time != 0) {
58749
- segmentCount++;
58750
- }
58751
- if (editorCurve.getKey(keyCount - 1).time != 1) {
58752
- segmentCount++;
58753
- }
58754
- return segmentCount <= PolynomialCurve.kMaxNumSegments;
58755
- }
58756
- evaluateDoubleIntegrated(t) {
58757
- let prevTimeValue = 0;
58758
- for (let i = 0; i < this.segmentCount; i++) {
58759
- if (t <= this.times[i]) {
58760
- let time = t - prevTimeValue;
58761
- return this.doubleIntegrationCache[i] + this.integrationCache[i] * time + Polynomial.EvalSegment(time, this.segments[i].coeff) * time * time;
58762
- }
58763
- prevTimeValue = this.times[i];
58764
- }
58765
- return 1;
58766
- }
58767
- // Evaluate integrated Polynomial curve.
58768
- // Example: position = EvaluateIntegrated (normalizedTime) * startEnergy
58769
- // Use Integrate function to for example turn a velocity curve into a position curve.
58770
- // Expects that t is in the 0...1 range.
58771
- evaluateIntegrated(t) {
58772
- let prevTimeValue = 0;
58773
- for (let i = 0; i < this.segmentCount; i++) {
58774
- if (t <= this.times[i]) {
58775
- let time = t - prevTimeValue;
58776
- return this.integrationCache[i] + Polynomial.EvalSegment(time, this.segments[i].coeff) * time;
58777
- }
58778
- prevTimeValue = this.times[i];
58779
- }
58780
- return 1;
58781
- }
58782
- // Evaluate the curve
58783
- // extects that t is in the 0...1 range
58784
- evaluate(t) {
58785
- let prevTimeValue = 0;
58786
- for (let i = 0; i < this.segmentCount; i++) {
58787
- if (t <= this.times[i]) {
58788
- return Polynomial.EvalSegment(
58789
- t - prevTimeValue,
58790
- this.segments[i].coeff
58791
- );
58792
- }
58793
- prevTimeValue = this.times[i];
58794
- }
58795
- return 1;
58796
- }
58797
- buildCurve(editorCurve, scale) {
58798
- let keyCount = editorCurve.getKeyCount();
58799
- this.segmentCount = 1;
58800
- let kMaxTime = 1.01;
58801
- this.segments.length = 0;
58802
- this.integrationCache.length = 0;
58803
- this.doubleIntegrationCache.length = 0;
58804
- this.times.length = 0;
58805
- this.times[0] = kMaxTime;
58806
- if (keyCount == 0) ; else if (keyCount == 1) {
58807
- this.segments[0] = new Polynomial();
58808
- this.segments[0].coeff[3] = editorCurve.getKey(0).value * scale;
58809
- } else {
58810
- this.segmentCount = keyCount - 1;
58811
- let segmentOffset = 0;
58812
- if (editorCurve.getKey(0).time != 0) {
58813
- this.segments[0].coeff[3] = editorCurve.getKey(0).value;
58814
- this.times[0] = editorCurve.getKey(0).time;
58815
- segmentOffset = 1;
58816
- }
58817
- for (let i = 0; i < this.segmentCount; i++) {
58818
- let cache;
58819
- editorCurve.calculateCacheData(cache, i, i + 1, 0);
58820
- this.segments[i + segmentOffset].coeff = cache.coeff.concat();
58821
- this.times[i + segmentOffset] = editorCurve.getKey(i + 1).time;
58822
- }
58823
- this.segmentCount += segmentOffset;
58824
- if (editorCurve.getKey(keyCount - 1).time != 1) {
58825
- this.segments[this.segmentCount].coeff[3] = editorCurve.getKey(
58826
- keyCount - 1
58827
- ).value;
58828
- this.segmentCount++;
58829
- }
58830
- this.times[this.segmentCount - 1] = kMaxTime;
58831
- for (let i = 0; i < this.segmentCount; i++) {
58832
- this.segments[i].coeff[0] *= scale;
58833
- this.segments[i].coeff[1] *= scale;
58834
- this.segments[i].coeff[2] *= scale;
58835
- this.segments[i].coeff[3] *= scale;
58836
- }
58837
- }
58838
- return true;
58839
- }
58840
- }
58841
- function doubleIntegrateSegment(coeff) {
58842
- coeff[0] /= 20;
58843
- coeff[1] /= 12;
58844
- coeff[2] /= 6;
58845
- coeff[3] /= 2;
58846
- }
58847
- function integrateSegment(coeff) {
58848
- coeff[0] /= 4;
58849
- coeff[1] /= 3;
58850
- coeff[2] /= 2;
58851
- coeff[3] /= 1;
58852
- }
58853
-
58854
61080
  function uniform_real_distribution(min, max) {
58855
61081
  return Math.random() * max + Math.random() * min + (max - min) * Math.random();
58856
61082
  }
@@ -61831,86 +64057,6 @@ fn frag(){
61831
64057
  }
61832
64058
  }
61833
64059
 
61834
- class Float16ArrayTexture extends Texture {
61835
- uint16Array;
61836
- floatArray;
61837
- _dataBuffer;
61838
- /**
61839
- * 使用数字数组填充纹理,格式为[红0, 绿0, 蓝0, 透明度0, 红1, 绿1, 蓝1, 透明度1...]
61840
- * @param width 纹理宽度
61841
- * @param height 纹理高度
61842
- * @param numbers 每个像素的颜色值数组
61843
- * @param useMipmap 是否生成Mipmap
61844
- * @returns 返回纹理实例
61845
- */
61846
- create(width, height, numbers = null, mipmap = true) {
61847
- if (numbers == null) {
61848
- numbers = [];
61849
- for (let i = 0, c = width * height * 4; i < c; i++) {
61850
- numbers[i] = 0;
61851
- }
61852
- }
61853
- this.updateTexture(width, height, numbers, mipmap);
61854
- return this;
61855
- }
61856
- /**
61857
- * 更新纹理内容
61858
- * @param width 纹理宽度
61859
- * @param height 纹理高度
61860
- * @param numbers 像素数据数组
61861
- * @param mipmap 是否生成Mipmap
61862
- */
61863
- updateTexture(width, height, numbers, mipmap = true) {
61864
- if (width != this.width || height != this.height) {
61865
- this._dataBuffer && this._dataBuffer.destroy();
61866
- this._dataBuffer = null;
61867
- this.gpuTexture && this.gpuTexture.destroy();
61868
- this.gpuTexture = null;
61869
- }
61870
- this.floatArray = numbers;
61871
- let device = webGPUContext.device;
61872
- const bytesPerRow = width * 4 * 2;
61873
- this.format = GPUTextureFormat.rgba16float;
61874
- this.mipmapCount = Math.floor(mipmap ? Math.log2(width) : 1);
61875
- this.createTextureDescriptor(width, height, this.mipmapCount, this.format);
61876
- if (!this.uint16Array || this.uint16Array.length != numbers.length) {
61877
- this.uint16Array = new Uint16Array(numbers.length);
61878
- }
61879
- let uint16Array = this.uint16Array;
61880
- for (let i = 0, c = uint16Array.length; i < c; i++) {
61881
- uint16Array[i] = toHalfFloat(numbers[i]);
61882
- }
61883
- const textureDataBuffer = this._dataBuffer = device.createBuffer({
61884
- size: uint16Array.byteLength,
61885
- usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC
61886
- });
61887
- device.queue.writeBuffer(textureDataBuffer, 0, uint16Array);
61888
- const commandEncoder = GPUContext.beginCommandEncoder();
61889
- commandEncoder.copyBufferToTexture(
61890
- {
61891
- buffer: textureDataBuffer,
61892
- bytesPerRow
61893
- },
61894
- {
61895
- texture: this.getGPUTexture()
61896
- },
61897
- {
61898
- width,
61899
- height,
61900
- depthOrArrayLayers: 1
61901
- }
61902
- );
61903
- if (!this.useMipmap) {
61904
- this.samplerBindingLayout.type = `filtering`;
61905
- this.textureBindingLayout.sampleType = `float`;
61906
- }
61907
- GPUContext.endCommandEncoder(commandEncoder);
61908
- this.gpuSampler = device.createSampler(this);
61909
- this.gpuTexture = this.getGPUTexture();
61910
- if (this.mipmapCount > 1) TextureMipmapGenerator.webGPUGenerateMipmap(this);
61911
- }
61912
- }
61913
-
61914
64060
  class Float32ArrayTexture extends Texture {
61915
64061
  create(width, height, data, filtering = true) {
61916
64062
  let device = webGPUContext.device;
@@ -63547,6 +65693,10 @@ fn frag(){
63547
65693
  exports.GPUTextureFormat = GPUTextureFormat;
63548
65694
  exports.GPUVertexFormat = GPUVertexFormat;
63549
65695
  exports.GPUVertexStepMode = GPUVertexStepMode;
65696
+ exports.GSplatFormat = GSplatFormat;
65697
+ exports.GSplatMaterial = GSplatMaterial;
65698
+ exports.GSplat_FS = GSplat_FS;
65699
+ exports.GSplat_VS = GSplat_VS;
63550
65700
  exports.GTAOPost = GTAOPost;
63551
65701
  exports.GTAO_cs = GTAO_cs;
63552
65702
  exports.GUIAtlasTexture = GUIAtlasTexture;
@@ -63565,6 +65715,7 @@ fn frag(){
63565
65715
  exports.GUISpace = GUISpace;
63566
65716
  exports.GUISprite = GUISprite;
63567
65717
  exports.GUITexture = GUITexture;
65718
+ exports.GaussianSplatParser = GaussianSplatParser;
63568
65719
  exports.GenerayRandomDir = GenerayRandomDir;
63569
65720
  exports.GeoJsonParser = GeoJsonParser;
63570
65721
  exports.GeoJsonUtil = GeoJsonUtil;
@@ -63633,6 +65784,7 @@ fn frag(){
63633
65784
  exports.KHR_materials_emissive_strength = KHR_materials_emissive_strength;
63634
65785
  exports.KHR_materials_ior = KHR_materials_ior;
63635
65786
  exports.KHR_materials_unlit = KHR_materials_unlit;
65787
+ exports.KMZParser = KMZParser;
63636
65788
  exports.KV = KV;
63637
65789
  exports.KelvinUtil = KelvinUtil;
63638
65790
  exports.KeyCode = KeyCode;
@@ -63672,6 +65824,10 @@ fn frag(){
63672
65824
  exports.MergeRGBACreator = MergeRGBACreator;
63673
65825
  exports.MergeRGBA_cs = MergeRGBA_cs;
63674
65826
  exports.MeshColliderShape = MeshColliderShape;
65827
+ exports.MinMaxAnimationCurves = MinMaxAnimationCurves;
65828
+ exports.MinMaxCurve = MinMaxCurve;
65829
+ exports.MinMaxCurveState = MinMaxCurveState;
65830
+ exports.MinMaxPolyCurves = MinMaxPolyCurves;
63675
65831
  exports.MorePassParser = MorePassParser;
63676
65832
  exports.MorePassShader = MorePassShader;
63677
65833
  exports.MorphTargetBlender = MorphTargetBlender;
@@ -63719,6 +65875,8 @@ fn frag(){
63719
65875
  exports.PBRLitSSSShader = PBRLitSSSShader;
63720
65876
  exports.ParserBase = ParserBase;
63721
65877
  exports.ParserFormat = ParserFormat;
65878
+ exports.ParticleSystemCurveEvalMode = ParticleSystemCurveEvalMode;
65879
+ exports.ParticleSystemRandomnessIds = ParticleSystemRandomnessIds;
63722
65880
  exports.PassGenerate = PassGenerate;
63723
65881
  exports.PassShader = PassShader;
63724
65882
  exports.PassType = PassType;
@@ -63952,6 +66110,7 @@ fn frag(){
63952
66110
  exports.UITransform = UITransform;
63953
66111
  exports.UUID = UUID;
63954
66112
  exports.UV = UV;
66113
+ exports.Uint32ArrayTexture = Uint32ArrayTexture;
63955
66114
  exports.Uint8ArrayTexture = Uint8ArrayTexture;
63956
66115
  exports.UnLit = UnLit;
63957
66116
  exports.UnLitMaterial = UnLitMaterial;
@@ -63965,6 +66124,7 @@ fn frag(){
63965
66124
  exports.ValueEnumType = ValueEnumType;
63966
66125
  exports.ValueOp = ValueOp;
63967
66126
  exports.ValueParser = ValueParser;
66127
+ exports.ValueSpread = ValueSpread;
63968
66128
  exports.Vector2 = Vector2;
63969
66129
  exports.Vector3 = Vector3;
63970
66130
  exports.Vector3Ex = Vector3Ex;
@@ -63985,6 +66145,8 @@ fn frag(){
63985
66145
  exports.ViewQuad = ViewQuad;
63986
66146
  exports.VirtualTexture = VirtualTexture;
63987
66147
  exports.WGSLTranslator = WGSLTranslator;
66148
+ exports.WayLines3D = WayLines3D;
66149
+ exports.WayPoint3D = WayPoint3D;
63988
66150
  exports.WebGPUDescriptorCreator = WebGPUDescriptorCreator;
63989
66151
  exports.WorldMatrixUniform = WorldMatrixUniform;
63990
66152
  exports.WorldPanel = WorldPanel;
@@ -63998,14 +66160,21 @@ fn frag(){
63998
66160
  exports.append = append;
63999
66161
  exports.arrayToString = arrayToString;
64000
66162
  exports.blendComponent = blendComponent;
66163
+ exports.buildCurves = buildCurves;
66164
+ exports.byteSizeOfType = byteSizeOfType;
66165
+ exports.calculateCurveRangesValue = calculateCurveRangesValue;
66166
+ exports.calculateMinMax = calculateMinMax;
64001
66167
  exports.castPointShadowMap_vert = castPointShadowMap_vert;
64002
66168
  exports.clamp = clamp;
64003
66169
  exports.clampRepeat = clampRepeat;
66170
+ exports.computeAABBFromPositions = computeAABBFromPositions;
64004
66171
  exports.cos = cos;
64005
66172
  exports.crossProduct = crossProduct;
64006
66173
  exports.cubicPolynomialRoot = cubicPolynomialRoot;
64007
66174
  exports.cubicPolynomialRootsGeneric = cubicPolynomialRootsGeneric;
66175
+ exports.curvesSupportProcedural = curvesSupportProcedural;
64008
66176
  exports.deg2Rad = deg2Rad;
66177
+ exports.detectGSplatFormat = detectGSplatFormat;
64009
66178
  exports.directionShadowCastMap_frag = directionShadowCastMap_frag;
64010
66179
  exports.dot = dot;
64011
66180
  exports.doubleIntegrateSegment = doubleIntegrateSegment;
@@ -64025,8 +66194,10 @@ fn frag(){
64025
66194
  exports.grad2 = grad2;
64026
66195
  exports.grad3 = grad3;
64027
66196
  exports.grad4 = grad4;
66197
+ exports.inferSHOrder = inferSHOrder;
64028
66198
  exports.integrateSegment = integrateSegment;
64029
66199
  exports.irradianceDataReader = irradianceDataReader;
66200
+ exports.kPI = kPI;
64030
66201
  exports.lerp = lerp;
64031
66202
  exports.lerpByte = lerpByte;
64032
66203
  exports.lerpColor = lerpColor;
@@ -64047,6 +66218,8 @@ fn frag(){
64047
66218
  exports.normalizedToWord = normalizedToWord;
64048
66219
  exports.outlinePostData = outlinePostData;
64049
66220
  exports.outlinePostManager = outlinePostManager;
66221
+ exports.parsePlyGaussianSplat = parsePlyGaussianSplat;
66222
+ exports.parsePlyHeader = parsePlyHeader;
64050
66223
  exports.perm = perm;
64051
66224
  exports.post = post;
64052
66225
  exports.quadraticPolynomialRootsGeneric = quadraticPolynomialRootsGeneric;
@@ -64065,6 +66238,7 @@ fn frag(){
64065
66238
  exports.randomUnitVector2 = randomUnitVector2;
64066
66239
  exports.rangedRandomFloat = rangedRandomFloat;
64067
66240
  exports.rangedRandomInt = rangedRandomInt;
66241
+ exports.readByType = readByType;
64068
66242
  exports.readMagicBytes = readMagicBytes;
64069
66243
  exports.registerMaterial = registerMaterial;
64070
66244
  exports.repeat = repeat;