@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
@@ -2088,11 +2088,7 @@ function RegisterComponent(cls, key, p1, p2, p3) {
2088
2088
  if (!dic) {
2089
2089
  dic = window["__Component__"] = {};
2090
2090
  }
2091
- if (key) {
2092
- dic[key] = cls;
2093
- } else {
2094
- dic[cls.name] = cls;
2095
- }
2091
+ dic[key] = cls;
2096
2092
  }
2097
2093
  function GetComponentClass(name) {
2098
2094
  let coms = window["__Component__"];
@@ -2106,11 +2102,7 @@ function RegisterShader(cls, key, p1, p2, p3) {
2106
2102
  if (!dic) {
2107
2103
  dic = window["__shader__"] = {};
2108
2104
  }
2109
- if (key) {
2110
- dic[key] = cls;
2111
- } else {
2112
- dic[cls.name] = cls;
2113
- }
2105
+ dic[key] = cls;
2114
2106
  }
2115
2107
  function GetShader(name) {
2116
2108
  let coms = window["__shader__"];
@@ -2121,7 +2113,7 @@ function GetShader(name) {
2121
2113
  }
2122
2114
 
2123
2115
  var __defProp$2 = Object.defineProperty;
2124
- var __decorateClass$i = (decorators, target, key, kind) => {
2116
+ var __decorateClass$j = (decorators, target, key, kind) => {
2125
2117
  var result = void 0 ;
2126
2118
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
2127
2119
  if (decorator = decorators[i])
@@ -2132,6 +2124,10 @@ var __decorateClass$i = (decorators, target, key, kind) => {
2132
2124
  const _Struct = class _Struct {
2133
2125
  __refection;
2134
2126
  __size = 0;
2127
+ /**
2128
+ * get reflection name
2129
+ * @returns
2130
+ */
2135
2131
  getValueType() {
2136
2132
  if (!this.__refection) {
2137
2133
  let self = this;
@@ -2149,6 +2145,11 @@ const _Struct = class _Struct {
2149
2145
  }
2150
2146
  return this.__refection;
2151
2147
  }
2148
+ /**
2149
+ * get any type value memory size
2150
+ * @param value any type value
2151
+ * @returns
2152
+ */
2152
2153
  static getValueSize(value) {
2153
2154
  let type = value.constructor.name;
2154
2155
  switch (type) {
@@ -2195,6 +2196,10 @@ const _Struct = class _Struct {
2195
2196
  }
2196
2197
  return struct;
2197
2198
  }
2199
+ /**
2200
+ * get any struct memory size
2201
+ * @returns
2202
+ */
2198
2203
  static GetSize(c) {
2199
2204
  let struct = this.Get(c);
2200
2205
  if (struct.__size == 0) {
@@ -2211,10 +2216,10 @@ const _Struct = class _Struct {
2211
2216
  return struct.__size;
2212
2217
  }
2213
2218
  };
2214
- __decorateClass$i([
2219
+ __decorateClass$j([
2215
2220
  NonSerialize
2216
2221
  ], _Struct.prototype, "__refection");
2217
- __decorateClass$i([
2222
+ __decorateClass$j([
2218
2223
  NonSerialize
2219
2224
  ], _Struct.prototype, "__size");
2220
2225
  let Struct = _Struct;
@@ -11821,6 +11826,21 @@ class Matrix4 {
11821
11826
  target.transformDir(fromDirection, toDirection);
11822
11827
  return target;
11823
11828
  }
11829
+ /**
11830
+ * Create a matrix from an array of 16 numbers
11831
+ * @param array Array of 16 numbers
11832
+ * @returns Matrix4 result
11833
+ */
11834
+ static fromArray(array) {
11835
+ if (array.length !== 16) {
11836
+ throw new Error("Array must contain exactly 16 elements");
11837
+ }
11838
+ const matrix = new Matrix4();
11839
+ for (let i = 0; i < 16; i++) {
11840
+ matrix.rawData[i] = array[i];
11841
+ }
11842
+ return matrix;
11843
+ }
11824
11844
  /**
11825
11845
  * Generate a matrix (rotate degrees with x,y,z as the center axis)
11826
11846
  * @param x x on the central axis
@@ -16470,9 +16490,9 @@ class Entity extends CEventDispatcher {
16470
16490
  }
16471
16491
  }
16472
16492
 
16473
- var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
16474
- var __decorateClass$h = (decorators, target, key, kind) => {
16475
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
16493
+ var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
16494
+ var __decorateClass$i = (decorators, target, key, kind) => {
16495
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
16476
16496
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
16477
16497
  if (decorator = decorators[i])
16478
16498
  result = (decorator(result)) || result;
@@ -16737,7 +16757,7 @@ let Object3D = class extends Entity {
16737
16757
  super.destroy(force);
16738
16758
  }
16739
16759
  };
16740
- Object3D = __decorateClass$h([
16760
+ Object3D = __decorateClass$i([
16741
16761
  DecorateObject3D
16742
16762
  ], Object3D);
16743
16763
  function DecorateObject3D(ctor, _) {
@@ -22389,7 +22409,7 @@ class Reference {
22389
22409
  }
22390
22410
  /**
22391
22411
  * current instance attached from parent instance
22392
- * @param ref reference current
22412
+ * @param ref reference current
22393
22413
  * @param target reference parent
22394
22414
  */
22395
22415
  attached(ref, target) {
@@ -22401,7 +22421,7 @@ class Reference {
22401
22421
  }
22402
22422
  /**
22403
22423
  * current instance detached from parent instance
22404
- * @param ref reference current
22424
+ * @param ref reference current
22405
22425
  * @param target reference parent
22406
22426
  */
22407
22427
  detached(ref, target) {
@@ -22411,7 +22431,7 @@ class Reference {
22411
22431
  }
22412
22432
  }
22413
22433
  /**
22414
- * current instance has reference
22434
+ * current instance has reference
22415
22435
  */
22416
22436
  hasReference(ref) {
22417
22437
  let refMap = this.reference.get(ref);
@@ -22422,8 +22442,8 @@ class Reference {
22422
22442
  }
22423
22443
  /**
22424
22444
  * get current instance reference count
22425
- * @param ref
22426
- * @returns
22445
+ * @param ref
22446
+ * @returns
22427
22447
  */
22428
22448
  getReferenceCount(ref) {
22429
22449
  let refMap = this.reference.get(ref);
@@ -22433,10 +22453,10 @@ class Reference {
22433
22453
  return 0;
22434
22454
  }
22435
22455
  /**
22436
- * get current instance reference from where
22437
- * @param ref
22438
- * @returns
22439
- */
22456
+ * get current instance reference from where
22457
+ * @param ref
22458
+ * @returns
22459
+ */
22440
22460
  getReference(ref) {
22441
22461
  let refMap = this.reference.get(ref);
22442
22462
  if (refMap) {
@@ -23515,9 +23535,9 @@ class OctreeEntity {
23515
23535
  }
23516
23536
 
23517
23537
  var __defProp$1 = Object.defineProperty;
23518
- var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
23519
- var __decorateClass$g = (decorators, target, key, kind) => {
23520
- var result = __getOwnPropDesc$g(target, key) ;
23538
+ var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
23539
+ var __decorateClass$h = (decorators, target, key, kind) => {
23540
+ var result = __getOwnPropDesc$h(target, key) ;
23521
23541
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
23522
23542
  if (decorator = decorators[i])
23523
23543
  result = (decorator(target, key, result) ) || result;
@@ -24102,20 +24122,20 @@ class RenderNode extends ComponentBase {
24102
24122
  this._combineShaderRefection = void 0;
24103
24123
  }
24104
24124
  }
24105
- __decorateClass$g([
24125
+ __decorateClass$h([
24106
24126
  EditorInspector
24107
24127
  ], RenderNode.prototype, "materials");
24108
- __decorateClass$g([
24128
+ __decorateClass$h([
24109
24129
  EditorInspector
24110
24130
  ], RenderNode.prototype, "castShadow");
24111
- __decorateClass$g([
24131
+ __decorateClass$h([
24112
24132
  EditorInspector
24113
24133
  ], RenderNode.prototype, "castGI");
24114
24134
 
24115
24135
  var __defProp = Object.defineProperty;
24116
- var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
24117
- var __decorateClass$f = (decorators, target, key, kind) => {
24118
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
24136
+ var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
24137
+ var __decorateClass$g = (decorators, target, key, kind) => {
24138
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
24119
24139
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
24120
24140
  if (decorator = decorators[i])
24121
24141
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
@@ -24224,13 +24244,13 @@ let MeshRenderer = class extends RenderNode {
24224
24244
  super.destroy(force);
24225
24245
  }
24226
24246
  };
24227
- __decorateClass$f([
24247
+ __decorateClass$g([
24228
24248
  EditorInspector
24229
24249
  ], MeshRenderer.prototype, "geometry", 1);
24230
- __decorateClass$f([
24250
+ __decorateClass$g([
24231
24251
  EditorInspector
24232
24252
  ], MeshRenderer.prototype, "material", 1);
24233
- MeshRenderer = __decorateClass$f([
24253
+ MeshRenderer = __decorateClass$g([
24234
24254
  RegisterComponent(MeshRenderer, "MeshRenderer")
24235
24255
  ], MeshRenderer);
24236
24256
 
@@ -25068,8 +25088,7 @@ class GeometryIndicesBuffer {
25068
25088
  this.indicesGPUBuffer = new IndicesGPUBuffer(indicesData.data);
25069
25089
  }
25070
25090
  upload(data) {
25071
- const buffer = data.buffer instanceof ArrayBuffer ? data.buffer : new Uint8Array(data.buffer).buffer;
25072
- this.indicesGPUBuffer.indicesNode.setArrayBuffer(0, buffer);
25091
+ this.indicesGPUBuffer.indicesNode.setArrayBuffer(0, data);
25073
25092
  this.indicesGPUBuffer.apply();
25074
25093
  }
25075
25094
  compute() {
@@ -25082,6 +25101,22 @@ class GeometryIndicesBuffer {
25082
25101
  this.indicesGPUBuffer.destroy();
25083
25102
  this.indicesGPUBuffer = null;
25084
25103
  }
25104
+ /**
25105
+ * Get indices from geometry data
25106
+ * Get position attribute from geometry data
25107
+ * Get normal attribute from geometry data
25108
+ * Get tangent attribute from geometry data
25109
+ * Get uv0 attribute from geometry data
25110
+ * Get uv1 attribute from geometry data
25111
+ * Get uv2 attribute from geometry data
25112
+ *
25113
+ * Change position data to GPUBuffer and apply
25114
+ * Change normal data to GPUBuffer and apply
25115
+ * Change tangent data to GPUBuffer and apply
25116
+ * Change uv0 data to GPUBuffer and apply
25117
+ * Change uv1 data to GPUBuffer and apply
25118
+ * Change uv2 data to GPUBuffer and apply
25119
+ */
25085
25120
  }
25086
25121
 
25087
25122
  class SubGeometry {
@@ -25864,9 +25899,9 @@ class Shader {
25864
25899
  }
25865
25900
  }
25866
25901
 
25867
- var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
25868
- var __decorateClass$e = (decorators, target, key, kind) => {
25869
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
25902
+ var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
25903
+ var __decorateClass$f = (decorators, target, key, kind) => {
25904
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
25870
25905
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
25871
25906
  if (decorator = decorators[i])
25872
25907
  result = (decorator(result)) || result;
@@ -25890,8 +25925,8 @@ let QuadShader = class extends Shader {
25890
25925
  this.setUniformFloat(`height`, 100);
25891
25926
  }
25892
25927
  };
25893
- QuadShader = __decorateClass$e([
25894
- RegisterShader
25928
+ QuadShader = __decorateClass$f([
25929
+ RegisterShader(QuadShader, "QuadShader")
25895
25930
  ], QuadShader);
25896
25931
 
25897
25932
  class ViewQuad extends Object3D {
@@ -31300,6 +31335,7 @@ class FileLoader extends LoaderBase {
31300
31335
  parser.userData = userData;
31301
31336
  parser.baseUrl = this.baseUrl;
31302
31337
  parser.initUrl = url;
31338
+ parser.loaderFunctions = loaderFunctions;
31303
31339
  await parser.parseBuffer(data);
31304
31340
  if (parser.verification()) {
31305
31341
  succ(parser);
@@ -33163,9 +33199,9 @@ class LightBase extends ComponentBase {
33163
33199
  }
33164
33200
  }
33165
33201
 
33166
- var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
33167
- var __decorateClass$d = (decorators, target, key, kind) => {
33168
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
33202
+ var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
33203
+ var __decorateClass$e = (decorators, target, key, kind) => {
33204
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
33169
33205
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
33170
33206
  if (decorator = decorators[i])
33171
33207
  result = (decorator(result)) || result;
@@ -33207,13 +33243,13 @@ let DirectLight = class extends LightBase {
33207
33243
  debug() {
33208
33244
  }
33209
33245
  };
33210
- DirectLight = __decorateClass$d([
33246
+ DirectLight = __decorateClass$e([
33211
33247
  RegisterComponent(DirectLight, "DirectLight")
33212
33248
  ], DirectLight);
33213
33249
 
33214
- var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
33215
- var __decorateClass$c = (decorators, target, key, kind) => {
33216
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
33250
+ var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
33251
+ var __decorateClass$d = (decorators, target, key, kind) => {
33252
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
33217
33253
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
33218
33254
  if (decorator = decorators[i])
33219
33255
  result = (decorator(result)) || result;
@@ -33271,13 +33307,13 @@ let PointLight = class extends LightBase {
33271
33307
  debugDraw(show) {
33272
33308
  }
33273
33309
  };
33274
- PointLight = __decorateClass$c([
33310
+ PointLight = __decorateClass$d([
33275
33311
  RegisterComponent(PointLight, "PointLight")
33276
33312
  ], PointLight);
33277
33313
 
33278
- var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
33279
- var __decorateClass$b = (decorators, target, key, kind) => {
33280
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
33314
+ var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
33315
+ var __decorateClass$c = (decorators, target, key, kind) => {
33316
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
33281
33317
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
33282
33318
  if (decorator = decorators[i])
33283
33319
  result = (decorator(result)) || result;
@@ -33342,7 +33378,7 @@ let SpotLight = class extends LightBase {
33342
33378
  debugDraw(show) {
33343
33379
  }
33344
33380
  };
33345
- SpotLight = __decorateClass$b([
33381
+ SpotLight = __decorateClass$c([
33346
33382
  RegisterComponent(SpotLight, "SpotLight")
33347
33383
  ], SpotLight);
33348
33384
 
@@ -37987,6 +38023,826 @@ class AtlasParser extends ParserBase {
37987
38023
  }
37988
38024
  }
37989
38025
 
38026
+ // DEFLATE is a complex format; to read this code, you should probably check the RFC first:
38027
+ // https://tools.ietf.org/html/rfc1951
38028
+ // You may also wish to take a look at the guide I made about this program:
38029
+ // https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad
38030
+ // Some of the following code is similar to that of UZIP.js:
38031
+ // https://github.com/photopea/UZIP.js
38032
+ // However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.
38033
+ // Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint
38034
+ // is better for memory in most engines (I *think*).
38035
+
38036
+ // aliases for shorter compressed code (most minifers don't do this)
38037
+ var u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;
38038
+ // fixed length extra bits
38039
+ 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]);
38040
+ // fixed distance extra bits
38041
+ 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]);
38042
+ // code length index map
38043
+ var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
38044
+ // get base, reverse index map from extra bits
38045
+ var freb = function (eb, start) {
38046
+ var b = new u16(31);
38047
+ for (var i = 0; i < 31; ++i) {
38048
+ b[i] = start += 1 << eb[i - 1];
38049
+ }
38050
+ // numbers here are at max 18 bits
38051
+ var r = new i32(b[30]);
38052
+ for (var i = 1; i < 30; ++i) {
38053
+ for (var j = b[i]; j < b[i + 1]; ++j) {
38054
+ r[j] = ((j - b[i]) << 5) | i;
38055
+ }
38056
+ }
38057
+ return { b: b, r: r };
38058
+ };
38059
+ var _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;
38060
+ // we can ignore the fact that the other numbers are wrong; they never happen anyway
38061
+ fl[28] = 258, revfl[258] = 28;
38062
+ var _b = freb(fdeb, 0), fd = _b.b;
38063
+ // map of value to reverse (assuming 16 bits)
38064
+ var rev = new u16(32768);
38065
+ for (var i = 0; i < 32768; ++i) {
38066
+ // reverse table algorithm from SO
38067
+ var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1);
38068
+ x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2);
38069
+ x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4);
38070
+ rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1;
38071
+ }
38072
+ // create huffman tree from u8 "map": index -> code length for code index
38073
+ // mb (max bits) must be at most 15
38074
+ // TODO: optimize/split up?
38075
+ var hMap = (function (cd, mb, r) {
38076
+ var s = cd.length;
38077
+ // index
38078
+ var i = 0;
38079
+ // u16 "map": index -> # of codes with bit length = index
38080
+ var l = new u16(mb);
38081
+ // length of cd must be 288 (total # of codes)
38082
+ for (; i < s; ++i) {
38083
+ if (cd[i])
38084
+ ++l[cd[i] - 1];
38085
+ }
38086
+ // u16 "map": index -> minimum code for bit length = index
38087
+ var le = new u16(mb);
38088
+ for (i = 1; i < mb; ++i) {
38089
+ le[i] = (le[i - 1] + l[i - 1]) << 1;
38090
+ }
38091
+ var co;
38092
+ if (r) {
38093
+ // u16 "map": index -> number of actual bits, symbol for code
38094
+ co = new u16(1 << mb);
38095
+ // bits to remove for reverser
38096
+ var rvb = 15 - mb;
38097
+ for (i = 0; i < s; ++i) {
38098
+ // ignore 0 lengths
38099
+ if (cd[i]) {
38100
+ // num encoding both symbol and bits read
38101
+ var sv = (i << 4) | cd[i];
38102
+ // free bits
38103
+ var r_1 = mb - cd[i];
38104
+ // start value
38105
+ var v = le[cd[i] - 1]++ << r_1;
38106
+ // m is end value
38107
+ for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {
38108
+ // every 16 bit value starting with the code yields the same result
38109
+ co[rev[v] >> rvb] = sv;
38110
+ }
38111
+ }
38112
+ }
38113
+ }
38114
+ else {
38115
+ co = new u16(s);
38116
+ for (i = 0; i < s; ++i) {
38117
+ if (cd[i]) {
38118
+ co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]);
38119
+ }
38120
+ }
38121
+ }
38122
+ return co;
38123
+ });
38124
+ // fixed length tree
38125
+ var flt = new u8(288);
38126
+ for (var i = 0; i < 144; ++i)
38127
+ flt[i] = 8;
38128
+ for (var i = 144; i < 256; ++i)
38129
+ flt[i] = 9;
38130
+ for (var i = 256; i < 280; ++i)
38131
+ flt[i] = 7;
38132
+ for (var i = 280; i < 288; ++i)
38133
+ flt[i] = 8;
38134
+ // fixed distance tree
38135
+ var fdt = new u8(32);
38136
+ for (var i = 0; i < 32; ++i)
38137
+ fdt[i] = 5;
38138
+ // fixed length map
38139
+ var flrm = /*#__PURE__*/ hMap(flt, 9, 1);
38140
+ // fixed distance map
38141
+ var fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);
38142
+ // find max of array
38143
+ var max = function (a) {
38144
+ var m = a[0];
38145
+ for (var i = 1; i < a.length; ++i) {
38146
+ if (a[i] > m)
38147
+ m = a[i];
38148
+ }
38149
+ return m;
38150
+ };
38151
+ // read d, starting at bit p and mask with m
38152
+ var bits = function (d, p, m) {
38153
+ var o = (p / 8) | 0;
38154
+ return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m;
38155
+ };
38156
+ // read d, starting at bit p continuing for at least 16 bits
38157
+ var bits16 = function (d, p) {
38158
+ var o = (p / 8) | 0;
38159
+ return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7));
38160
+ };
38161
+ // get end of byte
38162
+ var shft = function (p) { return ((p + 7) / 8) | 0; };
38163
+ // typed array slice - allows garbage collector to free original reference,
38164
+ // while being more compatible than .slice
38165
+ var slc = function (v, s, e) {
38166
+ if (s == null || s < 0)
38167
+ s = 0;
38168
+ if (e == null || e > v.length)
38169
+ e = v.length;
38170
+ // can't use .constructor in case user-supplied
38171
+ return new u8(v.subarray(s, e));
38172
+ };
38173
+ // error codes
38174
+ var ec = [
38175
+ 'unexpected EOF',
38176
+ 'invalid block type',
38177
+ 'invalid length/literal',
38178
+ 'invalid distance',
38179
+ 'stream finished',
38180
+ 'no stream handler',
38181
+ ,
38182
+ 'no callback',
38183
+ 'invalid UTF-8 data',
38184
+ 'extra field too long',
38185
+ 'date not in range 1980-2099',
38186
+ 'filename too long',
38187
+ 'stream finishing',
38188
+ 'invalid zip data'
38189
+ // determined by unknown compression method
38190
+ ];
38191
+ var err = function (ind, msg, nt) {
38192
+ var e = new Error(msg || ec[ind]);
38193
+ e.code = ind;
38194
+ if (Error.captureStackTrace)
38195
+ Error.captureStackTrace(e, err);
38196
+ if (!nt)
38197
+ throw e;
38198
+ return e;
38199
+ };
38200
+ // expands raw DEFLATE data
38201
+ var inflt = function (dat, st, buf, dict) {
38202
+ // source length dict length
38203
+ var sl = dat.length, dl = dict ? dict.length : 0;
38204
+ if (!sl || st.f && !st.l)
38205
+ return buf || new u8(0);
38206
+ var noBuf = !buf;
38207
+ // have to estimate size
38208
+ var resize = noBuf || st.i != 2;
38209
+ // no state
38210
+ var noSt = st.i;
38211
+ // Assumes roughly 33% compression ratio average
38212
+ if (noBuf)
38213
+ buf = new u8(sl * 3);
38214
+ // ensure buffer can fit at least l elements
38215
+ var cbuf = function (l) {
38216
+ var bl = buf.length;
38217
+ // need to increase size to fit
38218
+ if (l > bl) {
38219
+ // Double or set to necessary, whichever is greater
38220
+ var nbuf = new u8(Math.max(bl * 2, l));
38221
+ nbuf.set(buf);
38222
+ buf = nbuf;
38223
+ }
38224
+ };
38225
+ // last chunk bitpos bytes
38226
+ 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;
38227
+ // total bits
38228
+ var tbts = sl * 8;
38229
+ do {
38230
+ if (!lm) {
38231
+ // BFINAL - this is only 1 when last chunk is next
38232
+ final = bits(dat, pos, 1);
38233
+ // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman
38234
+ var type = bits(dat, pos + 1, 3);
38235
+ pos += 3;
38236
+ if (!type) {
38237
+ // go to end of byte boundary
38238
+ var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;
38239
+ if (t > sl) {
38240
+ if (noSt)
38241
+ err(0);
38242
+ break;
38243
+ }
38244
+ // ensure size
38245
+ if (resize)
38246
+ cbuf(bt + l);
38247
+ // Copy over uncompressed data
38248
+ buf.set(dat.subarray(s, t), bt);
38249
+ // Get new bitpos, update byte count
38250
+ st.b = bt += l, st.p = pos = t * 8, st.f = final;
38251
+ continue;
38252
+ }
38253
+ else if (type == 1)
38254
+ lm = flrm, dm = fdrm, lbt = 9, dbt = 5;
38255
+ else if (type == 2) {
38256
+ // literal lengths
38257
+ var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;
38258
+ var tl = hLit + bits(dat, pos + 5, 31) + 1;
38259
+ pos += 14;
38260
+ // length+distance tree
38261
+ var ldt = new u8(tl);
38262
+ // code length tree
38263
+ var clt = new u8(19);
38264
+ for (var i = 0; i < hcLen; ++i) {
38265
+ // use index map to get real code
38266
+ clt[clim[i]] = bits(dat, pos + i * 3, 7);
38267
+ }
38268
+ pos += hcLen * 3;
38269
+ // code lengths bits
38270
+ var clb = max(clt), clbmsk = (1 << clb) - 1;
38271
+ // code lengths map
38272
+ var clm = hMap(clt, clb, 1);
38273
+ for (var i = 0; i < tl;) {
38274
+ var r = clm[bits(dat, pos, clbmsk)];
38275
+ // bits read
38276
+ pos += r & 15;
38277
+ // symbol
38278
+ var s = r >> 4;
38279
+ // code length to copy
38280
+ if (s < 16) {
38281
+ ldt[i++] = s;
38282
+ }
38283
+ else {
38284
+ // copy count
38285
+ var c = 0, n = 0;
38286
+ if (s == 16)
38287
+ n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];
38288
+ else if (s == 17)
38289
+ n = 3 + bits(dat, pos, 7), pos += 3;
38290
+ else if (s == 18)
38291
+ n = 11 + bits(dat, pos, 127), pos += 7;
38292
+ while (n--)
38293
+ ldt[i++] = c;
38294
+ }
38295
+ }
38296
+ // length tree distance tree
38297
+ var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);
38298
+ // max length bits
38299
+ lbt = max(lt);
38300
+ // max dist bits
38301
+ dbt = max(dt);
38302
+ lm = hMap(lt, lbt, 1);
38303
+ dm = hMap(dt, dbt, 1);
38304
+ }
38305
+ else
38306
+ err(1);
38307
+ if (pos > tbts) {
38308
+ if (noSt)
38309
+ err(0);
38310
+ break;
38311
+ }
38312
+ }
38313
+ // Make sure the buffer can hold this + the largest possible addition
38314
+ // Maximum chunk size (practically, theoretically infinite) is 2^17
38315
+ if (resize)
38316
+ cbuf(bt + 131072);
38317
+ var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;
38318
+ var lpos = pos;
38319
+ for (;; lpos = pos) {
38320
+ // bits read, code
38321
+ var c = lm[bits16(dat, pos) & lms], sym = c >> 4;
38322
+ pos += c & 15;
38323
+ if (pos > tbts) {
38324
+ if (noSt)
38325
+ err(0);
38326
+ break;
38327
+ }
38328
+ if (!c)
38329
+ err(2);
38330
+ if (sym < 256)
38331
+ buf[bt++] = sym;
38332
+ else if (sym == 256) {
38333
+ lpos = pos, lm = null;
38334
+ break;
38335
+ }
38336
+ else {
38337
+ var add = sym - 254;
38338
+ // no extra bits needed if less
38339
+ if (sym > 264) {
38340
+ // index
38341
+ var i = sym - 257, b = fleb[i];
38342
+ add = bits(dat, pos, (1 << b) - 1) + fl[i];
38343
+ pos += b;
38344
+ }
38345
+ // dist
38346
+ var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;
38347
+ if (!d)
38348
+ err(3);
38349
+ pos += d & 15;
38350
+ var dt = fd[dsym];
38351
+ if (dsym > 3) {
38352
+ var b = fdeb[dsym];
38353
+ dt += bits16(dat, pos) & (1 << b) - 1, pos += b;
38354
+ }
38355
+ if (pos > tbts) {
38356
+ if (noSt)
38357
+ err(0);
38358
+ break;
38359
+ }
38360
+ if (resize)
38361
+ cbuf(bt + 131072);
38362
+ var end = bt + add;
38363
+ if (bt < dt) {
38364
+ var shift = dl - dt, dend = Math.min(dt, end);
38365
+ if (shift + bt < 0)
38366
+ err(3);
38367
+ for (; bt < dend; ++bt)
38368
+ buf[bt] = dict[shift + bt];
38369
+ }
38370
+ for (; bt < end; ++bt)
38371
+ buf[bt] = buf[bt - dt];
38372
+ }
38373
+ }
38374
+ st.l = lm, st.p = lpos, st.b = bt, st.f = final;
38375
+ if (lm)
38376
+ final = 1, st.m = lbt, st.d = dm, st.n = dbt;
38377
+ } while (!final);
38378
+ // don't reallocate for streams or user buffers
38379
+ return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);
38380
+ };
38381
+ // empty
38382
+ var et = /*#__PURE__*/ new u8(0);
38383
+ // read 2 bytes
38384
+ var b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };
38385
+ // read 4 bytes
38386
+ var b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };
38387
+ var b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };
38388
+ /**
38389
+ * Expands DEFLATE data with no wrapper
38390
+ * @param data The data to decompress
38391
+ * @param opts The decompression options
38392
+ * @returns The decompressed version of the data
38393
+ */
38394
+ function inflateSync(data, opts) {
38395
+ return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);
38396
+ }
38397
+ // text decoder
38398
+ var td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();
38399
+ // text decoder stream
38400
+ var tds = 0;
38401
+ try {
38402
+ td.decode(et, { stream: true });
38403
+ tds = 1;
38404
+ }
38405
+ catch (e) { }
38406
+ // decode UTF8
38407
+ var dutf8 = function (d) {
38408
+ for (var r = '', i = 0;;) {
38409
+ var c = d[i++];
38410
+ var eb = (c > 127) + (c > 223) + (c > 239);
38411
+ if (i + eb > d.length)
38412
+ return { s: r, r: slc(d, i - 1) };
38413
+ if (!eb)
38414
+ r += String.fromCharCode(c);
38415
+ else if (eb == 3) {
38416
+ c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,
38417
+ r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));
38418
+ }
38419
+ else if (eb & 1)
38420
+ r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));
38421
+ else
38422
+ r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));
38423
+ }
38424
+ };
38425
+ /**
38426
+ * Converts a Uint8Array to a string
38427
+ * @param dat The data to decode to string
38428
+ * @param latin1 Whether or not to interpret the data as Latin-1. This should
38429
+ * not need to be true unless encoding to binary string.
38430
+ * @returns The original UTF-8/Latin-1 string
38431
+ */
38432
+ function strFromU8(dat, latin1) {
38433
+ if (latin1) {
38434
+ var r = '';
38435
+ for (var i = 0; i < dat.length; i += 16384)
38436
+ r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));
38437
+ return r;
38438
+ }
38439
+ else if (td) {
38440
+ return td.decode(dat);
38441
+ }
38442
+ else {
38443
+ var _a = dutf8(dat), s = _a.s, r = _a.r;
38444
+ if (r.length)
38445
+ err(8);
38446
+ return s;
38447
+ }
38448
+ }
38449
+ // skip local zip header
38450
+ var slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };
38451
+ // read zip header
38452
+ var zh = function (d, b, z) {
38453
+ 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);
38454
+ 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];
38455
+ return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];
38456
+ };
38457
+ // read zip64 extra field
38458
+ var z64e = function (d, b) {
38459
+ for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))
38460
+ ;
38461
+ return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)];
38462
+ };
38463
+ /**
38464
+ * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better
38465
+ * performance with more than one file.
38466
+ * @param data The raw compressed ZIP file
38467
+ * @param opts The ZIP extraction options
38468
+ * @returns The decompressed files
38469
+ */
38470
+ function unzipSync(data, opts) {
38471
+ var files = {};
38472
+ var e = data.length - 22;
38473
+ for (; b4(data, e) != 0x6054B50; --e) {
38474
+ if (!e || data.length - e > 65558)
38475
+ err(13);
38476
+ }
38477
+ var c = b2(data, e + 8);
38478
+ if (!c)
38479
+ return {};
38480
+ var o = b4(data, e + 16);
38481
+ var z = o == 4294967295 || c == 65535;
38482
+ if (z) {
38483
+ var ze = b4(data, e - 12);
38484
+ z = b4(data, ze) == 0x6064B50;
38485
+ if (z) {
38486
+ c = b4(data, ze + 32);
38487
+ o = b4(data, ze + 48);
38488
+ }
38489
+ }
38490
+ for (var i = 0; i < c; ++i) {
38491
+ 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);
38492
+ o = no;
38493
+ {
38494
+ if (!c_2)
38495
+ files[fn] = slc(data, b, b + sc);
38496
+ else if (c_2 == 8)
38497
+ files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) });
38498
+ else
38499
+ err(14, 'unknown compression type ' + c_2);
38500
+ }
38501
+ }
38502
+ return files;
38503
+ }
38504
+
38505
+ class UnLitMaterial extends Material {
38506
+ /**
38507
+ * @constructor
38508
+ */
38509
+ constructor() {
38510
+ super();
38511
+ this.shader = new UnLitShader();
38512
+ this.baseMap = Engine3D.res.whiteTexture;
38513
+ }
38514
+ set baseMap(texture) {
38515
+ this.shader.setTexture(`baseMap`, texture);
38516
+ }
38517
+ get baseMap() {
38518
+ return this.shader.getTexture(`baseMap`);
38519
+ }
38520
+ /**
38521
+ * set base color (tint color)
38522
+ */
38523
+ set baseColor(color) {
38524
+ this.shader.setUniformColor(`baseColor`, color);
38525
+ }
38526
+ /**
38527
+ * get base color (tint color)
38528
+ */
38529
+ get baseColor() {
38530
+ return this.shader.getUniformColor("baseColor");
38531
+ }
38532
+ /**
38533
+ * set environment texture, usually referring to cubemap
38534
+ */
38535
+ set envMap(texture) {
38536
+ }
38537
+ /**
38538
+ * @internal
38539
+ * set shadow map
38540
+ */
38541
+ set shadowMap(texture) {
38542
+ }
38543
+ }
38544
+
38545
+ class SphereGeometry extends GeometryBase {
38546
+ shape_vertices = [];
38547
+ shape_indices = [];
38548
+ radius;
38549
+ widthSegments;
38550
+ heightSegments;
38551
+ phiStart;
38552
+ phiLength;
38553
+ thetaStart;
38554
+ thetaLength;
38555
+ /**
38556
+ * 球体几何体
38557
+ * @constructor
38558
+ * @param radius 球体半径
38559
+ * @param widthSegments 定义水平分段数
38560
+ * @param heightSegments 定义垂直分段数
38561
+ * @param phiStart 球体赤道线起始点的弧度
38562
+ * @param phiLength 球体赤道线的弧长
38563
+ * @param thetaStart 球体经线起始点的弧度
38564
+ * @param thetaLength 球体经线的弧长
38565
+ */
38566
+ constructor(radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength) {
38567
+ super();
38568
+ this.radius = radius;
38569
+ this.widthSegments = widthSegments;
38570
+ this.heightSegments = heightSegments;
38571
+ this.phiStart = phiStart;
38572
+ this.phiLength = phiLength;
38573
+ this.thetaStart = thetaStart;
38574
+ this.thetaLength = thetaLength;
38575
+ this.buildGeometry();
38576
+ }
38577
+ buildGeometry() {
38578
+ var i, j, triIndex = 0;
38579
+ let _segmentsH = this.heightSegments;
38580
+ let _segmentsW = this.widthSegments;
38581
+ let _radius = this.radius;
38582
+ var vertexCount = (_segmentsH + 1) * (_segmentsW + 1);
38583
+ let position_arr = new Float32Array(vertexCount * 3);
38584
+ let normal_arr = new Float32Array(vertexCount * 3);
38585
+ let uv_arr = new Float32Array(vertexCount * 2);
38586
+ let indice_arr = new Uint16Array(_segmentsW * _segmentsH * 2 * 3);
38587
+ let pi = 0;
38588
+ let ni = 0;
38589
+ let ui = 0;
38590
+ for (j = 0; j <= _segmentsH; ++j) {
38591
+ var horAngle = Math.PI * j / _segmentsH;
38592
+ var y = _radius * Math.cos(horAngle);
38593
+ var ringRadius = _radius * Math.sin(horAngle);
38594
+ for (i = 0; i <= _segmentsW; ++i) {
38595
+ var verAngle = 2 * Math.PI * i / _segmentsW;
38596
+ var x = ringRadius * Math.cos(verAngle);
38597
+ var z = ringRadius * Math.sin(verAngle);
38598
+ var normLen = 1 / Math.sqrt(x * x + y * y + z * z);
38599
+ position_arr[pi++] = x;
38600
+ position_arr[pi++] = y;
38601
+ position_arr[pi++] = z;
38602
+ normal_arr[ni++] = x * normLen;
38603
+ normal_arr[ni++] = y * normLen;
38604
+ normal_arr[ni++] = z * normLen;
38605
+ uv_arr[ui++] = i / _segmentsW;
38606
+ uv_arr[ui++] = j / _segmentsH;
38607
+ if (i > 0 && j > 0) {
38608
+ var a = (_segmentsW + 1) * j + i;
38609
+ var b = (_segmentsW + 1) * j + i - 1;
38610
+ var c = (_segmentsW + 1) * (j - 1) + i - 1;
38611
+ var d = (_segmentsW + 1) * (j - 1) + i;
38612
+ if (j == _segmentsH) {
38613
+ indice_arr[triIndex++] = a;
38614
+ indice_arr[triIndex++] = c;
38615
+ indice_arr[triIndex++] = d;
38616
+ } else if (j == 1) {
38617
+ indice_arr[triIndex++] = a;
38618
+ indice_arr[triIndex++] = b;
38619
+ indice_arr[triIndex++] = c;
38620
+ } else {
38621
+ indice_arr[triIndex++] = a;
38622
+ indice_arr[triIndex++] = b;
38623
+ indice_arr[triIndex++] = c;
38624
+ indice_arr[triIndex++] = a;
38625
+ indice_arr[triIndex++] = c;
38626
+ indice_arr[triIndex++] = d;
38627
+ }
38628
+ }
38629
+ }
38630
+ }
38631
+ this.setIndices(indice_arr);
38632
+ this.setAttribute(VertexAttributeName.position, position_arr);
38633
+ this.setAttribute(VertexAttributeName.normal, normal_arr);
38634
+ this.setAttribute(VertexAttributeName.uv, uv_arr);
38635
+ this.setAttribute(VertexAttributeName.TEXCOORD_1, uv_arr);
38636
+ this.addSubGeometry({
38637
+ indexStart: 0,
38638
+ indexCount: indice_arr.length,
38639
+ vertexStart: 0,
38640
+ vertexCount: 0,
38641
+ firstStart: 0,
38642
+ index: 0,
38643
+ topology: 0
38644
+ });
38645
+ this.bounds = new BoundingBox(
38646
+ Vector3.ZERO,
38647
+ new Vector3(this.radius * 2, this.radius * 2, this.radius * 2)
38648
+ );
38649
+ }
38650
+ }
38651
+
38652
+ class WayPoint3D extends Object3D {
38653
+ static register3DRepresentation = null;
38654
+ positionIndex = -1;
38655
+ positionValid = false;
38656
+ marker;
38657
+ constructor(placemark) {
38658
+ super();
38659
+ this.parsePlacemark(placemark);
38660
+ this.setup3DRepresentation();
38661
+ }
38662
+ parsePlacemark(placemark) {
38663
+ if (!placemark.slamPositionInfo) {
38664
+ console.warn("WayPoint3D: slamPositionInfo is not found");
38665
+ return;
38666
+ }
38667
+ const slamPosition = placemark.slamPositionInfo.slamPosition.split(",").map(Number);
38668
+ this.localPosition = new Vector3(slamPosition[0], slamPosition[1], slamPosition[2]);
38669
+ this.positionIndex = Number(placemark.slamPositionInfo.slamPositionIndex);
38670
+ this.positionValid = placemark.slamPositionInfo.slamPositionValid === "1";
38671
+ }
38672
+ setup3DRepresentation() {
38673
+ if (this.marker) {
38674
+ this.removeChild(this.marker);
38675
+ this.marker = null;
38676
+ }
38677
+ if (WayPoint3D.register3DRepresentation) {
38678
+ this.marker = WayPoint3D.register3DRepresentation(this);
38679
+ if (this.marker) {
38680
+ this.addChild(this.marker);
38681
+ }
38682
+ } else {
38683
+ this.marker = new Object3D();
38684
+ const markerRenderer = this.marker.addComponent(MeshRenderer);
38685
+ markerRenderer.geometry = new SphereGeometry(0.1, 32, 16);
38686
+ markerRenderer.material = new LitMaterial();
38687
+ markerRenderer.material.baseColor = this.positionValid ? new Color(0, 1, 0, 1) : new Color(1, 0, 0, 1);
38688
+ this.addChild(this.marker);
38689
+ this.marker.name = "WayPoint3DMarker";
38690
+ }
38691
+ }
38692
+ }
38693
+
38694
+ class WayLines3D extends Object3D {
38695
+ static register3DRepresentation = null;
38696
+ line;
38697
+ constructor(wayLineFile) {
38698
+ super();
38699
+ this.parseWayLineFile(wayLineFile);
38700
+ this.setup3DRepresentation();
38701
+ }
38702
+ parseWayLineFile(wayLineFile) {
38703
+ for (const placemark of wayLineFile.Folder.Placemark) {
38704
+ const wayPoint3D = new WayPoint3D(placemark);
38705
+ this.addChild(wayPoint3D);
38706
+ }
38707
+ this.entityChildren = this.entityChildren.sort((a, b) => {
38708
+ return a.positionIndex - b.positionIndex;
38709
+ });
38710
+ }
38711
+ setup3DRepresentation() {
38712
+ if (this.line) {
38713
+ this.removeChild(this.line);
38714
+ this.line = null;
38715
+ }
38716
+ if (WayLines3D.register3DRepresentation) {
38717
+ this.line = WayLines3D.register3DRepresentation(this);
38718
+ if (this.line) {
38719
+ this.addChild(this.line);
38720
+ }
38721
+ } else {
38722
+ this.line = this.createMultiLine(this.entityChildren.map((child) => child.localPosition), new Color(1, 1, 1, 1));
38723
+ this.addChild(this.line);
38724
+ this.line.name = "WayLines3DLine";
38725
+ }
38726
+ }
38727
+ createMultiLine(positions, color) {
38728
+ if (positions.length < 2) {
38729
+ return null;
38730
+ }
38731
+ const lineGeometry = new GeometryBase();
38732
+ const vertices = new Float32Array(positions.length * 3);
38733
+ for (let i = 0; i < positions.length; i++) {
38734
+ vertices[i * 3] = positions[i].x;
38735
+ vertices[i * 3 + 1] = positions[i].y;
38736
+ vertices[i * 3 + 2] = positions[i].z;
38737
+ }
38738
+ const indices = new Uint16Array((positions.length - 1) * 2);
38739
+ for (let i = 0; i < positions.length - 1; i++) {
38740
+ indices[i * 2] = i;
38741
+ indices[i * 2 + 1] = i + 1;
38742
+ }
38743
+ lineGeometry.setIndices(indices);
38744
+ lineGeometry.setAttribute(VertexAttributeName.position, vertices);
38745
+ lineGeometry.addSubGeometry({
38746
+ indexStart: 0,
38747
+ indexCount: indices.length,
38748
+ vertexStart: 0,
38749
+ vertexCount: 0,
38750
+ firstStart: 0,
38751
+ index: 0,
38752
+ topology: 0
38753
+ });
38754
+ const lineObject = new Object3D();
38755
+ const lineRenderer = lineObject.addComponent(MeshRenderer);
38756
+ const material = new UnLitMaterial();
38757
+ material.topology = "line-list";
38758
+ material.baseColor = color;
38759
+ material.blendMode = BlendMode.ADD;
38760
+ material.castReflection = false;
38761
+ lineRenderer.geometry = lineGeometry;
38762
+ lineRenderer.material = material;
38763
+ return lineObject;
38764
+ }
38765
+ }
38766
+
38767
+ class KMZParser extends ParserBase {
38768
+ static format = ParserFormat.BIN;
38769
+ parseBuffer(buffer) {
38770
+ try {
38771
+ const kmzObj = {
38772
+ template: null,
38773
+ waylines: null
38774
+ };
38775
+ const zip = unzipSync(new Uint8Array(buffer));
38776
+ for (const path in zip) {
38777
+ const fileData = zip[path];
38778
+ const domParser = new DOMParser();
38779
+ const xmlDoc = domParser.parseFromString(strFromU8(fileData), "application/xml");
38780
+ const obj = {};
38781
+ this.parseNode(xmlDoc, obj);
38782
+ const objName = path.replace("wpmz/", "").split(".")[0];
38783
+ Object.assign(kmzObj, {
38784
+ [objName]: obj["#document"].kml.Document
38785
+ });
38786
+ }
38787
+ const wayline3D = new WayLines3D(kmzObj.waylines);
38788
+ this.data = wayline3D;
38789
+ } catch (error) {
38790
+ this.parserError(`KMZ parsing failed: ${error}`, -1);
38791
+ }
38792
+ }
38793
+ parseNode(xml, obj) {
38794
+ const arrayLikeName = ["Placemark", "actionGroup", "action"];
38795
+ const attr = xml.nodeName.replace("wpml:", "");
38796
+ if (!xml.childNodes.length) {
38797
+ obj[attr] = void 0;
38798
+ } else {
38799
+ let textValue = null;
38800
+ let hasElementChildren = false;
38801
+ for (let i = 0; i < xml.childNodes.length; ++i) {
38802
+ const childNode = xml.childNodes[i];
38803
+ if (childNode.nodeType == Node.TEXT_NODE) {
38804
+ const text = childNode.nodeValue?.trim();
38805
+ if (text && text.length > 0) {
38806
+ textValue = text;
38807
+ }
38808
+ } else if (childNode.nodeType == Node.ELEMENT_NODE) {
38809
+ hasElementChildren = true;
38810
+ }
38811
+ }
38812
+ if (textValue && !hasElementChildren) {
38813
+ obj[attr] = textValue;
38814
+ } else if (hasElementChildren) {
38815
+ if (arrayLikeName.includes(attr)) {
38816
+ if (obj[attr]?.length) {
38817
+ obj[attr].push({});
38818
+ } else {
38819
+ obj[attr] = [{}];
38820
+ }
38821
+ } else {
38822
+ obj[attr] = {};
38823
+ }
38824
+ for (let i = 0; i < xml.childNodes.length; ++i) {
38825
+ const childNode = xml.childNodes[i];
38826
+ if (childNode.nodeType == Node.ELEMENT_NODE) {
38827
+ this.parseNode(
38828
+ childNode,
38829
+ !Array.isArray(obj[attr]) ? obj[attr] : obj[attr].at(-1)
38830
+ );
38831
+ }
38832
+ }
38833
+ } else {
38834
+ obj[attr] = void 0;
38835
+ }
38836
+ }
38837
+ }
38838
+ verification() {
38839
+ if (this.data) {
38840
+ return true;
38841
+ }
38842
+ throw new Error("verify failed.");
38843
+ }
38844
+ }
38845
+
37990
38846
  class Res {
37991
38847
  _texturePool;
37992
38848
  _materialPool;
@@ -38216,6 +39072,11 @@ class Res {
38216
39072
  let parser = await loader.load(url, AtlasParser, loaderFunctions, url);
38217
39073
  return parser.data;
38218
39074
  }
39075
+ async loadKMZ(url, loaderFunctions) {
39076
+ let loader = new FileLoader();
39077
+ let parser = await loader.load(url, KMZParser, loaderFunctions);
39078
+ return parser.data;
39079
+ }
38219
39080
  normalTexture;
38220
39081
  maskTexture;
38221
39082
  whiteTexture;
@@ -38409,7 +39270,7 @@ class PostProcessingComponent extends ComponentBase {
38409
39270
  }
38410
39271
  }
38411
39272
 
38412
- const version = "1.0.1";
39273
+ const version = "1.0.4";
38413
39274
 
38414
39275
  class Engine3D {
38415
39276
  /**
@@ -41718,6 +42579,267 @@ let GIProbeShader = (
41718
42579
  `
41719
42580
  );
41720
42581
 
42582
+ const GSplat_VS = (
42583
+ /* wgsl */
42584
+ `
42585
+ #include "GlobalUniform"
42586
+
42587
+ struct VSOut {
42588
+ @location(auto) vColor : vec4f,
42589
+ @location(auto) vTexCoord : vec2f,
42590
+ @builtin(position) member : vec4f
42591
+ };
42592
+
42593
+ // ===== SPLAT CORE VS (from PlayCanvas shader-generator-gsplat.js) =====
42594
+
42595
+ // Uniforms (mapped to WebGPU bindings)
42596
+ // matrix_model, matrix_view, matrix_projection -> GlobalUniform + MaterialUniform
42597
+ // viewport -> calculated from globalUniform.windowWidth/Height
42598
+ // tex_params -> materialUniform.tex_params
42599
+
42600
+ @group(1) @binding(0) var splatColor : texture_2d<f32>;
42601
+ @group(1) @binding(1) var transformA : texture_2d<u32>;
42602
+ @group(1) @binding(2) var transformB : texture_2d<f32>;
42603
+ @group(1) @binding(4) var splatOrder : texture_2d<u32>;
42604
+
42605
+ struct MaterialUniform {
42606
+ tex_params: vec4f, // numSplats, textureWidth, validCount, visBoost
42607
+ modelMatrix: mat4x4<f32>,
42608
+ };
42609
+ @group(1) @binding(3) var<uniform> materialUniform : MaterialUniform;
42610
+
42611
+ // Global variables (like PlayCanvas)
42612
+ var<private> orderId: u32;
42613
+ var<private> splatId: u32;
42614
+ var<private> splatUV: vec2<i32>;
42615
+ var<private> tA: vec4<u32>;
42616
+
42617
+ // Helper: decode 16-bit half float
42618
+ fn unpackHalf(h: u32) -> f32 {
42619
+ let s = (h >> 15u) & 0x1u;
42620
+ let e = (h >> 10u) & 0x1fu;
42621
+ let m = h & 0x3ffu;
42622
+ let sign = select(1.0, -1.0, s == 1u);
42623
+ if (e == 0u) {
42624
+ if (m == 0u) { return 0.0; }
42625
+ return sign * (f32(m) * exp2(-24.0));
42626
+ } else if (e == 31u) {
42627
+ return sign * 65504.0;
42628
+ } else {
42629
+ return sign * (1.0 + f32(m) / 1024.0) * exp2(f32(i32(e) - 15));
42630
+ }
42631
+ }
42632
+
42633
+ // === calcSplatUV() - returns bool ===
42634
+ fn calcSplatUV(instance_id: u32) -> bool {
42635
+ let numSplats = u32(materialUniform.tex_params.x);
42636
+ let textureWidth = u32(materialUniform.tex_params.y);
42637
+
42638
+ // calculate splat index
42639
+ orderId = instance_id;
42640
+
42641
+ if (orderId >= numSplats) {
42642
+ return false;
42643
+ }
42644
+
42645
+ let orderUV = vec2<i32>(
42646
+ i32(orderId % textureWidth),
42647
+ i32(orderId / textureWidth)
42648
+ );
42649
+
42650
+ // calculate splatUV
42651
+ splatId = textureLoad(splatOrder, orderUV, 0).r;
42652
+ splatUV = vec2<i32>(
42653
+ i32(splatId % textureWidth),
42654
+ i32(splatId / textureWidth)
42655
+ );
42656
+
42657
+ return true;
42658
+ }
42659
+
42660
+ // === getCenter() - returns vec3 ===
42661
+ fn getCenter() -> vec3f {
42662
+ tA = textureLoad(transformA, splatUV, 0);
42663
+ return vec3f(bitcast<f32>(tA.x), bitcast<f32>(tA.y), bitcast<f32>(tA.z));
42664
+ }
42665
+
42666
+ // Struct to return covA and covB
42667
+ struct CovarianceData {
42668
+ covA: vec3f,
42669
+ covB: vec3f,
42670
+ };
42671
+
42672
+ // === getCovariance() - returns struct ===
42673
+ fn getCovariance() -> CovarianceData {
42674
+ let tB = textureLoad(transformB, splatUV, 0);
42675
+
42676
+ // unpackHalf2x16 equivalent
42677
+ let h1 = tA.w & 0xFFFFu;
42678
+ let h2 = (tA.w >> 16u) & 0xFFFFu;
42679
+ let tCx = unpackHalf(h1);
42680
+ let tCy = unpackHalf(h2);
42681
+
42682
+ var result: CovarianceData;
42683
+ result.covA = tB.xyz;
42684
+ result.covB = vec3f(tCx, tCy, tB.w);
42685
+
42686
+ return result;
42687
+ }
42688
+
42689
+ // === calcV1V2() - returns vec4 ===
42690
+ fn calcV1V2(splat_cam: vec3f, covA: vec3f, covB: vec3f, W: mat3x3f, viewport: vec2f, projMat: mat4x4f) -> vec4f {
42691
+ let Vrk = mat3x3f(
42692
+ vec3f(covA.x, covA.y, covA.z),
42693
+ vec3f(covA.y, covB.x, covB.y),
42694
+ vec3f(covA.z, covB.y, covB.z)
42695
+ );
42696
+
42697
+ let focal = viewport.x * abs(projMat[0][0]);
42698
+
42699
+ let J1 = focal / abs(splat_cam.z);
42700
+ let J2 = -J1 / abs(splat_cam.z) * splat_cam.xy;
42701
+ let J = mat3x3f(
42702
+ vec3f(J1, 0.0, J2.x),
42703
+ vec3f(0.0, J1, J2.y),
42704
+ vec3f(0.0, 0.0, 0.0)
42705
+ );
42706
+
42707
+ let T = W * J;
42708
+ let cov = transpose(T) * Vrk * T;
42709
+
42710
+ let diagonal1 = cov[0][0] + 0.3;
42711
+ let offDiagonal = cov[0][1];
42712
+ let diagonal2 = cov[1][1] + 0.3;
42713
+
42714
+ let mid = 0.5 * (diagonal1 + diagonal2);
42715
+ let radius = length(vec2f((diagonal1 - diagonal2) / 2.0, offDiagonal));
42716
+ let lambda1 = mid + radius;
42717
+ let lambda2 = max(mid - radius, 0.1);
42718
+ let diagonalVector = normalize(vec2f(offDiagonal, lambda1 - diagonal1));
42719
+
42720
+ let v1 = min(sqrt(2.0 * lambda1), 1024.0) * diagonalVector;
42721
+ let v2 = min(sqrt(2.0 * lambda2), 1024.0) * vec2f(diagonalVector.y, -diagonalVector.x);
42722
+
42723
+ return vec4f(v1, v2);
42724
+ }
42725
+
42726
+ // ===== SPLAT MAIN VS (from PlayCanvas gsplat-material.js) =====
42727
+
42728
+ @vertex
42729
+ fn VertMain(
42730
+ @builtin(vertex_index) vid : u32,
42731
+ @builtin(instance_index) iid : u32
42732
+ ) -> VSOut {
42733
+ var o: VSOut;
42734
+ let discardVec = vec4f(0.0, 0.0, 2.0, 1.0);
42735
+
42736
+ // Vertex position array (PlayCanvas uses attribute vec3 with x,y in [-1,1])
42737
+ let vertex_position = array<vec2f, 4>(
42738
+ vec2f(-2.0, -2.0),
42739
+ vec2f( 2.0, -2.0),
42740
+ vec2f(-2.0, 2.0),
42741
+ vec2f( 2.0, 2.0)
42742
+ );
42743
+ let vertex_pos = vertex_position[vid & 3u];
42744
+
42745
+ // calculate splat uv
42746
+ if (!calcSplatUV(iid)) {
42747
+ o.member = discardVec;
42748
+ o.vColor = vec4f(0.0);
42749
+ o.vTexCoord = vec2f(0.0);
42750
+ return o;
42751
+ }
42752
+
42753
+ // get center
42754
+ let center = getCenter();
42755
+
42756
+ // handle transforms
42757
+ let matrix_view = globalUniform.viewMat;
42758
+ let matrix_projection = globalUniform.projMat;
42759
+ let matrix_model = materialUniform.modelMatrix;
42760
+
42761
+ let model_view = matrix_view * matrix_model;
42762
+ let splat_cam = model_view * vec4f(center, 1.0);
42763
+ let splat_proj = matrix_projection * splat_cam;
42764
+
42765
+ // cull behind camera (WebGPU: NDC z in [0,1], cull if z/w < 0)
42766
+ if (splat_proj.z < 0.0) {
42767
+ o.member = discardVec;
42768
+ o.vColor = vec4f(0.0);
42769
+ o.vTexCoord = vec2f(0.0);
42770
+ return o;
42771
+ }
42772
+
42773
+ // get covariance
42774
+ let cov_data = getCovariance();
42775
+
42776
+ let viewport = vec2f(globalUniform.windowWidth, globalUniform.windowHeight);
42777
+ 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);
42778
+
42779
+ // get color
42780
+ let color = textureLoad(splatColor, splatUV, 0);
42781
+
42782
+ // calculate scale based on alpha
42783
+ let scale = min(1.0, sqrt(-log(1.0 / 255.0 / color.a)) / 2.0);
42784
+
42785
+ // apply visBoost (size multiplier)
42786
+ let visBoost = materialUniform.tex_params.w;
42787
+ var v1v2_scaled = v1v2 * scale * visBoost;
42788
+
42789
+ // early out tiny splats
42790
+ if (dot(v1v2_scaled.xy, v1v2_scaled.xy) < 4.0 && dot(v1v2_scaled.zw, v1v2_scaled.zw) < 4.0) {
42791
+ o.member = discardVec;
42792
+ o.vColor = vec4f(0.0);
42793
+ o.vTexCoord = vec2f(0.0);
42794
+ return o;
42795
+ }
42796
+
42797
+ // gl_Position = splat_proj + vec4((vertex_position.x * v1v2.xy + vertex_position.y * v1v2.zw) / viewport * splat_proj.w, 0, 0);
42798
+ 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);
42799
+
42800
+ // texCoord = vertex_position.xy * scale / 2.0;
42801
+ o.vTexCoord = vertex_pos * scale / 2.0;
42802
+
42803
+ o.vColor = color;
42804
+
42805
+ return o;
42806
+ }
42807
+ `
42808
+ );
42809
+ const GSplat_FS = (
42810
+ /* wgsl */
42811
+ `
42812
+ #include "FragmentOutput"
42813
+
42814
+ // === evalSplat() - like PlayCanvas splatCoreFS ===
42815
+ fn evalSplat(texCoord: vec2f, color: vec4f) -> vec4f {
42816
+ let A = dot(texCoord, texCoord);
42817
+ if (A > 1.0) {
42818
+ discard;
42819
+ }
42820
+
42821
+ let B = exp(-A * 4.0) * color.a;
42822
+ if (B < 1.0 / 255.0) {
42823
+ discard;
42824
+ }
42825
+
42826
+ // TONEMAP_ENABLED branch not implemented (would call toneMap() and gammaCorrectOutput())
42827
+ return vec4f(color.rgb, B);
42828
+ }
42829
+
42830
+ // === main() - like PlayCanvas splatMainFS ===
42831
+ @fragment
42832
+ fn FragMain(@location(auto) vColor: vec4f, @location(auto) vTexCoord: vec2f) -> FragmentOutput {
42833
+ let result = evalSplat(vTexCoord, vColor);
42834
+
42835
+ var o: FragmentOutput;
42836
+ o.color = result;
42837
+ o.gBuffer = vec4f(0.0);
42838
+ return o;
42839
+ }
42840
+ `
42841
+ );
42842
+
41721
42843
  let GlassShader = (
41722
42844
  /*wgsl */
41723
42845
  `
@@ -42858,14 +43980,16 @@ class AtmosphericScatteringSky extends LDRTextureCube {
42858
43980
  _internalTexture;
42859
43981
  _cubeSize;
42860
43982
  setting;
43983
+ /**
43984
+ * @constructor
43985
+ * @param setting AtmosphericScatteringSkySetting
43986
+ * @returns
43987
+ */
42861
43988
  constructor(setting) {
42862
43989
  super();
42863
43990
  this.setting = setting;
42864
43991
  this._cubeSize = setting.defaultTextureCubeSize;
42865
- this._internalTexture = new AtmosphericTexture2D(
42866
- setting.defaultTexture2DSize,
42867
- setting.defaultTexture2DSize * 0.5
42868
- );
43992
+ this._internalTexture = new AtmosphericTexture2D(setting.defaultTexture2DSize, setting.defaultTexture2DSize * 0.5);
42869
43993
  this._internalTexture.update(this.setting);
42870
43994
  this.createFromTexture(this._cubeSize, this._internalTexture);
42871
43995
  return this;
@@ -42873,6 +43997,10 @@ class AtmosphericScatteringSky extends LDRTextureCube {
42873
43997
  get texture2D() {
42874
43998
  return this._internalTexture;
42875
43999
  }
44000
+ /**
44001
+ * @internal
44002
+ * @returns
44003
+ */
42876
44004
  apply() {
42877
44005
  this._internalTexture.update(this.setting);
42878
44006
  this._faceData.uploadErpTexture(this._internalTexture);
@@ -42883,13 +44011,7 @@ class AtmosphericTexture2D extends VirtualTexture {
42883
44011
  _computeShader;
42884
44012
  _uniformBuffer;
42885
44013
  constructor(width, height) {
42886
- super(
42887
- width,
42888
- height,
42889
- GPUTextureFormat.rgba16float,
42890
- false,
42891
- GPUTextureUsage.STORAGE_BINDING | GPUTextureUsage.TEXTURE_BINDING
42892
- );
44014
+ super(width, height, GPUTextureFormat.rgba16float, false, GPUTextureUsage.STORAGE_BINDING | GPUTextureUsage.TEXTURE_BINDING);
42893
44015
  this.initCompute(width, height);
42894
44016
  }
42895
44017
  initCompute(w, h) {
@@ -42922,9 +44044,9 @@ class AtmosphericTexture2D extends VirtualTexture {
42922
44044
  }
42923
44045
  }
42924
44046
 
42925
- var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
42926
- var __decorateClass$a = (decorators, target, key, kind) => {
42927
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
44047
+ var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
44048
+ var __decorateClass$b = (decorators, target, key, kind) => {
44049
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
42928
44050
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
42929
44051
  if (decorator = decorators[i])
42930
44052
  result = (decorator(result)) || result;
@@ -42948,8 +44070,8 @@ let SkyShader = class extends Shader {
42948
44070
  shaderState.depthCompare = GPUCompareFunction.less;
42949
44071
  }
42950
44072
  };
42951
- SkyShader = __decorateClass$a([
42952
- RegisterShader
44073
+ SkyShader = __decorateClass$b([
44074
+ RegisterShader(SkyShader, "SkyShader")
42953
44075
  ], SkyShader);
42954
44076
 
42955
44077
  class SkyMaterial extends Material {
@@ -42993,113 +44115,6 @@ class SkyMaterial extends Material {
42993
44115
  }
42994
44116
  }
42995
44117
 
42996
- class SphereGeometry extends GeometryBase {
42997
- shape_vertices = [];
42998
- shape_indices = [];
42999
- radius;
43000
- widthSegments;
43001
- heightSegments;
43002
- phiStart;
43003
- phiLength;
43004
- thetaStart;
43005
- thetaLength;
43006
- /**
43007
- * 球体几何体
43008
- * @constructor
43009
- * @param radius 球体半径
43010
- * @param widthSegments 定义水平分段数
43011
- * @param heightSegments 定义垂直分段数
43012
- * @param phiStart 球体赤道线起始点的弧度
43013
- * @param phiLength 球体赤道线的弧长
43014
- * @param thetaStart 球体经线起始点的弧度
43015
- * @param thetaLength 球体经线的弧长
43016
- */
43017
- constructor(radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength) {
43018
- super();
43019
- this.radius = radius;
43020
- this.widthSegments = widthSegments;
43021
- this.heightSegments = heightSegments;
43022
- this.phiStart = phiStart;
43023
- this.phiLength = phiLength;
43024
- this.thetaStart = thetaStart;
43025
- this.thetaLength = thetaLength;
43026
- this.buildGeometry();
43027
- }
43028
- buildGeometry() {
43029
- var i, j, triIndex = 0;
43030
- let _segmentsH = this.heightSegments;
43031
- let _segmentsW = this.widthSegments;
43032
- let _radius = this.radius;
43033
- var vertexCount = (_segmentsH + 1) * (_segmentsW + 1);
43034
- let position_arr = new Float32Array(vertexCount * 3);
43035
- let normal_arr = new Float32Array(vertexCount * 3);
43036
- let uv_arr = new Float32Array(vertexCount * 2);
43037
- let indice_arr = new Uint16Array(_segmentsW * _segmentsH * 2 * 3);
43038
- let pi = 0;
43039
- let ni = 0;
43040
- let ui = 0;
43041
- for (j = 0; j <= _segmentsH; ++j) {
43042
- var horAngle = Math.PI * j / _segmentsH;
43043
- var y = _radius * Math.cos(horAngle);
43044
- var ringRadius = _radius * Math.sin(horAngle);
43045
- for (i = 0; i <= _segmentsW; ++i) {
43046
- var verAngle = 2 * Math.PI * i / _segmentsW;
43047
- var x = ringRadius * Math.cos(verAngle);
43048
- var z = ringRadius * Math.sin(verAngle);
43049
- var normLen = 1 / Math.sqrt(x * x + y * y + z * z);
43050
- position_arr[pi++] = x;
43051
- position_arr[pi++] = y;
43052
- position_arr[pi++] = z;
43053
- normal_arr[ni++] = x * normLen;
43054
- normal_arr[ni++] = y * normLen;
43055
- normal_arr[ni++] = z * normLen;
43056
- uv_arr[ui++] = i / _segmentsW;
43057
- uv_arr[ui++] = j / _segmentsH;
43058
- if (i > 0 && j > 0) {
43059
- var a = (_segmentsW + 1) * j + i;
43060
- var b = (_segmentsW + 1) * j + i - 1;
43061
- var c = (_segmentsW + 1) * (j - 1) + i - 1;
43062
- var d = (_segmentsW + 1) * (j - 1) + i;
43063
- if (j == _segmentsH) {
43064
- indice_arr[triIndex++] = a;
43065
- indice_arr[triIndex++] = c;
43066
- indice_arr[triIndex++] = d;
43067
- } else if (j == 1) {
43068
- indice_arr[triIndex++] = a;
43069
- indice_arr[triIndex++] = b;
43070
- indice_arr[triIndex++] = c;
43071
- } else {
43072
- indice_arr[triIndex++] = a;
43073
- indice_arr[triIndex++] = b;
43074
- indice_arr[triIndex++] = c;
43075
- indice_arr[triIndex++] = a;
43076
- indice_arr[triIndex++] = c;
43077
- indice_arr[triIndex++] = d;
43078
- }
43079
- }
43080
- }
43081
- }
43082
- this.setIndices(indice_arr);
43083
- this.setAttribute(VertexAttributeName.position, position_arr);
43084
- this.setAttribute(VertexAttributeName.normal, normal_arr);
43085
- this.setAttribute(VertexAttributeName.uv, uv_arr);
43086
- this.setAttribute(VertexAttributeName.TEXCOORD_1, uv_arr);
43087
- this.addSubGeometry({
43088
- indexStart: 0,
43089
- indexCount: indice_arr.length,
43090
- vertexStart: 0,
43091
- vertexCount: 0,
43092
- firstStart: 0,
43093
- index: 0,
43094
- topology: 0
43095
- });
43096
- this.bounds = new BoundingBox(
43097
- Vector3.ZERO,
43098
- new Vector3(this.radius * 2, this.radius * 2, this.radius * 2)
43099
- );
43100
- }
43101
- }
43102
-
43103
44118
  class Reflection extends RenderNode {
43104
44119
  gid = 0;
43105
44120
  needUpdate = true;
@@ -43853,9 +44868,9 @@ class SkeletonAnimationClipState {
43853
44868
  }
43854
44869
  }
43855
44870
 
43856
- var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
43857
- var __decorateClass$9 = (decorators, target, key, kind) => {
43858
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
44871
+ var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
44872
+ var __decorateClass$a = (decorators, target, key, kind) => {
44873
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
43859
44874
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
43860
44875
  if (decorator = decorators[i])
43861
44876
  result = (decorator(result)) || result;
@@ -44059,7 +45074,7 @@ let SkeletonAnimationComponent = class extends ComponentBase {
44059
45074
  this._currentClipState.weight = 1;
44060
45075
  }
44061
45076
  };
44062
- SkeletonAnimationComponent = __decorateClass$9([
45077
+ SkeletonAnimationComponent = __decorateClass$a([
44063
45078
  RegisterComponent(SkeletonAnimationComponent, "SkeletonAnimationComponent")
44064
45079
  ], SkeletonAnimationComponent);
44065
45080
  class SkeletonAnimationCrossFadeState {
@@ -44095,9 +45110,9 @@ class SkeletonAnimationCrossFadeState {
44095
45110
  }
44096
45111
  }
44097
45112
 
44098
- var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
44099
- var __decorateClass$8 = (decorators, target, key, kind) => {
44100
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
45113
+ var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
45114
+ var __decorateClass$9 = (decorators, target, key, kind) => {
45115
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
44101
45116
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
44102
45117
  if (decorator = decorators[i])
44103
45118
  result = (decorator(result)) || result;
@@ -44508,7 +45523,7 @@ let AnimatorComponent = class extends ComponentBase {
44508
45523
  return dst;
44509
45524
  }
44510
45525
  };
44511
- AnimatorComponent = __decorateClass$8([
45526
+ AnimatorComponent = __decorateClass$9([
44512
45527
  RegisterComponent(AnimatorComponent, "AnimatorComponent")
44513
45528
  ], AnimatorComponent);
44514
45529
  class PropertyAnimationClipState {
@@ -45265,9 +46280,9 @@ class PropertyAnimation extends ComponentBase {
45265
46280
  }
45266
46281
  }
45267
46282
 
45268
- var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
45269
- var __decorateClass$7 = (decorators, target, key, kind) => {
45270
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
46283
+ var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
46284
+ var __decorateClass$8 = (decorators, target, key, kind) => {
46285
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
45271
46286
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
45272
46287
  if (decorator = decorators[i])
45273
46288
  result = (decorator(result)) || result;
@@ -45416,7 +46431,7 @@ let SkinnedMeshRenderer2 = class extends MeshRenderer {
45416
46431
  super.nodeUpdate(view, passType, renderPassState, clusterLightingBuffer);
45417
46432
  }
45418
46433
  };
45419
- SkinnedMeshRenderer2 = __decorateClass$7([
46434
+ SkinnedMeshRenderer2 = __decorateClass$8([
45420
46435
  RegisterComponent(SkinnedMeshRenderer2, "SkinnedMeshRenderer2")
45421
46436
  ], SkinnedMeshRenderer2);
45422
46437
 
@@ -50546,9 +51561,9 @@ class UITextField extends UIRenderAble {
50546
51561
  }
50547
51562
  }
50548
51563
 
50549
- var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
50550
- var __decorateClass$6 = (decorators, target, key, kind) => {
50551
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
51564
+ var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
51565
+ var __decorateClass$7 = (decorators, target, key, kind) => {
51566
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
50552
51567
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
50553
51568
  if (decorator = decorators[i])
50554
51569
  result = (decorator(result)) || result;
@@ -50625,10 +51640,802 @@ let Light = class extends LightBase {
50625
51640
  debugDraw(show) {
50626
51641
  }
50627
51642
  };
50628
- Light = __decorateClass$6([
51643
+ Light = __decorateClass$7([
50629
51644
  RegisterComponent(Light, "Light")
50630
51645
  ], Light);
50631
51646
 
51647
+ class GSplatMaterial extends Material {
51648
+ constructor() {
51649
+ super();
51650
+ ShaderLib.register("gsplat_vs_dc", GSplat_VS);
51651
+ ShaderLib.register("gsplat_fs_dc", GSplat_FS);
51652
+ const pass = new RenderShaderPass("gsplat_vs_dc", "gsplat_fs_dc");
51653
+ pass.passType = PassType.COLOR;
51654
+ pass.setShaderEntry("VertMain", "FragMain");
51655
+ pass.topology = GPUPrimitiveTopology.triangle_strip;
51656
+ pass.depthWriteEnabled = false;
51657
+ pass.cullMode = "none";
51658
+ pass.shaderState.transparent = true;
51659
+ pass.shaderState.blendMode = BlendMode.NORMAL;
51660
+ pass.shaderState.writeMasks = [15, 15];
51661
+ const shader = new Shader();
51662
+ shader.addRenderPass(pass);
51663
+ this.shader = shader;
51664
+ }
51665
+ setSplatTextures(splatColor, transformA, transformB, texParams, splatOrder) {
51666
+ const pass = this.shader.getDefaultColorShader();
51667
+ pass.setTexture("splatColor", splatColor);
51668
+ pass.setTexture("transformA", transformA);
51669
+ pass.setTexture("transformB", transformB);
51670
+ pass.setUniformArray("tex_params", texParams);
51671
+ if (splatOrder) {
51672
+ pass.setTexture("splatOrder", splatOrder);
51673
+ }
51674
+ }
51675
+ /**
51676
+ * Set the model matrix for transforming splats to world space
51677
+ */
51678
+ setTransformMatrix(matrix) {
51679
+ const pass = this.shader.getDefaultColorShader();
51680
+ pass.setUniform("modelMatrix", matrix.rawData);
51681
+ }
51682
+ }
51683
+
51684
+ class Uint32ArrayTexture extends Texture {
51685
+ _dataBuffer;
51686
+ create(width, height, data) {
51687
+ let device = webGPUContext.device;
51688
+ const bytesPerRow = width * 4 * 4;
51689
+ this.format = GPUTextureFormat.rgba32uint;
51690
+ const mipmapCount = 1;
51691
+ this.createTextureDescriptor(width, height, mipmapCount, this.format);
51692
+ const textureDataBuffer = this._dataBuffer = device.createBuffer({
51693
+ size: data.byteLength,
51694
+ usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC
51695
+ });
51696
+ device.queue.writeBuffer(textureDataBuffer, 0, data.buffer);
51697
+ const encoder = device.createCommandEncoder();
51698
+ encoder.copyBufferToTexture(
51699
+ { buffer: textureDataBuffer, bytesPerRow },
51700
+ { texture: this.getGPUTexture() },
51701
+ { width, height, depthOrArrayLayers: 1 }
51702
+ );
51703
+ device.queue.submit([encoder.finish()]);
51704
+ this.samplerBindingLayout.type = `non-filtering`;
51705
+ this.textureBindingLayout.sampleType = `uint`;
51706
+ this.gpuSampler = device.createSampler({});
51707
+ return this;
51708
+ }
51709
+ updateTexture(width, height, data) {
51710
+ let device = webGPUContext.device;
51711
+ const bytesPerRow = width * 4 * 4;
51712
+ const staging = device.createBuffer({
51713
+ size: data.byteLength,
51714
+ usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC
51715
+ });
51716
+ device.queue.writeBuffer(staging, 0, data.buffer);
51717
+ const encoder = device.createCommandEncoder();
51718
+ encoder.copyBufferToTexture(
51719
+ { buffer: staging, bytesPerRow },
51720
+ { texture: this.getGPUTexture() },
51721
+ { width, height, depthOrArrayLayers: 1 }
51722
+ );
51723
+ device.queue.submit([encoder.finish()]);
51724
+ }
51725
+ }
51726
+
51727
+ class Float16ArrayTexture extends Texture {
51728
+ uint16Array;
51729
+ floatArray;
51730
+ _dataBuffer;
51731
+ /**
51732
+ * 使用数字数组填充纹理,格式为[红0, 绿0, 蓝0, 透明度0, 红1, 绿1, 蓝1, 透明度1...]
51733
+ * @param width 纹理宽度
51734
+ * @param height 纹理高度
51735
+ * @param numbers 每个像素的颜色值数组
51736
+ * @param useMipmap 是否生成Mipmap
51737
+ * @returns 返回纹理实例
51738
+ */
51739
+ create(width, height, numbers = null, mipmap = true) {
51740
+ if (numbers == null) {
51741
+ numbers = [];
51742
+ for (let i = 0, c = width * height * 4; i < c; i++) {
51743
+ numbers[i] = 0;
51744
+ }
51745
+ }
51746
+ this.updateTexture(width, height, numbers, mipmap);
51747
+ return this;
51748
+ }
51749
+ /**
51750
+ * 更新纹理内容
51751
+ * @param width 纹理宽度
51752
+ * @param height 纹理高度
51753
+ * @param numbers 像素数据数组
51754
+ * @param mipmap 是否生成Mipmap
51755
+ */
51756
+ updateTexture(width, height, numbers, mipmap = true) {
51757
+ if (width != this.width || height != this.height) {
51758
+ this._dataBuffer && this._dataBuffer.destroy();
51759
+ this._dataBuffer = null;
51760
+ this.gpuTexture && this.gpuTexture.destroy();
51761
+ this.gpuTexture = null;
51762
+ }
51763
+ this.floatArray = numbers;
51764
+ let device = webGPUContext.device;
51765
+ const bytesPerRow = width * 4 * 2;
51766
+ this.format = GPUTextureFormat.rgba16float;
51767
+ this.mipmapCount = Math.floor(mipmap ? Math.log2(width) : 1);
51768
+ this.createTextureDescriptor(width, height, this.mipmapCount, this.format);
51769
+ if (!this.uint16Array || this.uint16Array.length != numbers.length) {
51770
+ this.uint16Array = new Uint16Array(numbers.length);
51771
+ }
51772
+ let uint16Array = this.uint16Array;
51773
+ for (let i = 0, c = uint16Array.length; i < c; i++) {
51774
+ uint16Array[i] = toHalfFloat(numbers[i]);
51775
+ }
51776
+ const textureDataBuffer = this._dataBuffer = device.createBuffer({
51777
+ size: uint16Array.byteLength,
51778
+ usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC
51779
+ });
51780
+ device.queue.writeBuffer(textureDataBuffer, 0, uint16Array);
51781
+ const commandEncoder = GPUContext.beginCommandEncoder();
51782
+ commandEncoder.copyBufferToTexture(
51783
+ {
51784
+ buffer: textureDataBuffer,
51785
+ bytesPerRow
51786
+ },
51787
+ {
51788
+ texture: this.getGPUTexture()
51789
+ },
51790
+ {
51791
+ width,
51792
+ height,
51793
+ depthOrArrayLayers: 1
51794
+ }
51795
+ );
51796
+ if (!this.useMipmap) {
51797
+ this.samplerBindingLayout.type = `filtering`;
51798
+ this.textureBindingLayout.sampleType = `float`;
51799
+ }
51800
+ GPUContext.endCommandEncoder(commandEncoder);
51801
+ this.gpuSampler = device.createSampler(this);
51802
+ this.gpuTexture = this.getGPUTexture();
51803
+ if (this.mipmapCount > 1) TextureMipmapGenerator.webGPUGenerateMipmap(this);
51804
+ }
51805
+ }
51806
+
51807
+ var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
51808
+ var __decorateClass$6 = (decorators, target, key, kind) => {
51809
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
51810
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
51811
+ if (decorator = decorators[i])
51812
+ result = (decorator(result)) || result;
51813
+ return result;
51814
+ };
51815
+ let GSplatRenderer = class extends RenderNode {
51816
+ // Splat count and texture dimensions
51817
+ count = 0;
51818
+ size = new Vector2();
51819
+ // GPU textures for splat data
51820
+ splatColor;
51821
+ transformA;
51822
+ transformB;
51823
+ texParams;
51824
+ // [numSplats, texWidth, validCount, visBoost]
51825
+ splatOrder;
51826
+ // Material and geometry
51827
+ gsplatMaterial;
51828
+ // CPU-side data for sorting
51829
+ _positions;
51830
+ // xyz per splat (local space)
51831
+ _worldPositions;
51832
+ // xyz per splat (world space, cached)
51833
+ _orderData;
51834
+ // RGBA32U backing: size.x * size.y * 4
51835
+ // Web Worker for sorting
51836
+ _sortWorker;
51837
+ _lastSentTime = 0;
51838
+ _minIntervalMs = 0;
51839
+ // No throttle for immediate sorting
51840
+ _centersSent = false;
51841
+ _lastViewMatrixHash = 0;
51842
+ // Mapping support (optional subset rendering)
51843
+ _mapping = null;
51844
+ _fullCount = 0;
51845
+ // Original total count
51846
+ constructor() {
51847
+ super();
51848
+ }
51849
+ /**
51850
+ * Initialize from Gaussian Splat asset
51851
+ */
51852
+ initAsset(asset) {
51853
+ this.count = asset.count;
51854
+ this._fullCount = asset.count;
51855
+ this.size = this.evalTextureSize(asset.count);
51856
+ this.buildColor(asset);
51857
+ this.buildTransform(asset);
51858
+ this.texParams = new Float32Array([this.count, this.size.x, this.count, 1]);
51859
+ this._positions = asset.position;
51860
+ const total = this.size.x * this.size.y;
51861
+ this._orderData = new Uint32Array(total * 4);
51862
+ for (let i = 0; i < total; i++) {
51863
+ const src = i < this.count ? i : this.count > 0 ? this.count - 1 : 0;
51864
+ const base = i * 4;
51865
+ this._orderData[base + 0] = src;
51866
+ this._orderData[base + 1] = 0;
51867
+ this._orderData[base + 2] = 0;
51868
+ this._orderData[base + 3] = 0;
51869
+ }
51870
+ this.splatOrder = new Uint32ArrayTexture().create(this.size.x, this.size.y, this._orderData);
51871
+ this.splatOrder.name = "splatOrder";
51872
+ this.splatOrder.minFilter = "nearest";
51873
+ this.splatOrder.magFilter = "nearest";
51874
+ this.splatOrder.addressModeU = "clamp-to-edge";
51875
+ this.splatOrder.addressModeV = "clamp-to-edge";
51876
+ this.gsplatMaterial = new GSplatMaterial();
51877
+ this.geometry = new PlaneGeometry(1, 1, 1, 1);
51878
+ this.materials = [this.gsplatMaterial];
51879
+ }
51880
+ /**
51881
+ * Update splat sorting before rendering
51882
+ * This runs every frame to ensure correct depth ordering for alpha blending
51883
+ */
51884
+ onBeforeUpdate(view) {
51885
+ if (this.count > 0 && view?.camera?.viewMatrix) {
51886
+ this.scheduleOrder(view.camera.viewMatrix);
51887
+ }
51888
+ }
51889
+ /**
51890
+ * Set rendering subset mapping
51891
+ * Pass null/undefined to cancel mapping
51892
+ */
51893
+ setMapping(mapping) {
51894
+ this._mapping = mapping && mapping.length > 0 ? mapping : null;
51895
+ this.count = this._mapping ? this._mapping.length : this._fullCount;
51896
+ this.texParams[0] = this.count;
51897
+ this.texParams[2] = Math.min(this.texParams[0], this.count);
51898
+ const total = this.size.x * this.size.y;
51899
+ for (let i = 0; i < total; i++) {
51900
+ const src = i < this.count ? i : this.count > 0 ? this.count - 1 : 0;
51901
+ const base = i * 4;
51902
+ this._orderData[base + 0] = src;
51903
+ this._orderData[base + 1] = 0;
51904
+ this._orderData[base + 2] = 0;
51905
+ this._orderData[base + 3] = 0;
51906
+ }
51907
+ this.splatOrder.updateTexture(this.size.x, this.size.y, this._orderData);
51908
+ if (this._sortWorker) {
51909
+ const worldPos = this._worldPositions || this._positions;
51910
+ const centers = this._mapping ? new Float32Array(this._mapping.length * 3) : new Float32Array(worldPos);
51911
+ if (this._mapping) {
51912
+ for (let i = 0; i < this._mapping.length; ++i) {
51913
+ const src = this._mapping[i] * 3;
51914
+ const dst = i * 3;
51915
+ centers[dst + 0] = worldPos[src + 0];
51916
+ centers[dst + 1] = worldPos[src + 1];
51917
+ centers[dst + 2] = worldPos[src + 2];
51918
+ }
51919
+ }
51920
+ this._sortWorker.postMessage(
51921
+ {
51922
+ type: "centers",
51923
+ centers: centers.buffer,
51924
+ mapping: this._mapping ? this._mapping : null
51925
+ },
51926
+ [centers.buffer]
51927
+ );
51928
+ this._centersSent = true;
51929
+ } else {
51930
+ this._centersSent = false;
51931
+ }
51932
+ }
51933
+ /**
51934
+ * Set visibility boost factor (material uniform tex_params.w)
51935
+ */
51936
+ setVisBoost(v) {
51937
+ this.texParams[3] = Math.max(0, v);
51938
+ }
51939
+ /**
51940
+ * Set sort throttle interval (milliseconds)
51941
+ */
51942
+ setSortThrottle(ms) {
51943
+ this._minIntervalMs = Math.max(0, ms | 0);
51944
+ }
51945
+ /**
51946
+ * Calculate texture size for given splat count
51947
+ */
51948
+ evalTextureSize(count) {
51949
+ let w = Math.ceil(Math.sqrt(count));
51950
+ const align = 64;
51951
+ w = Math.ceil(w / align) * align;
51952
+ const h = Math.ceil(count / w);
51953
+ return new Vector2(w, h);
51954
+ }
51955
+ /**
51956
+ * Build color texture from asset
51957
+ */
51958
+ buildColor(asset) {
51959
+ const w = this.size.x | 0;
51960
+ const h = this.size.y | 0;
51961
+ const data = new Uint8Array(w * h * 4);
51962
+ const SH_C0 = 0.28209479177387814;
51963
+ const count = asset.count;
51964
+ const coeffs = asset.sh?.coeffs;
51965
+ const coeffsPerColor = coeffs ? coeffs.length / (3 * count) : 1;
51966
+ for (let i = 0; i < count; i++) {
51967
+ let r = 0.5, g = 0.5, b = 0.5;
51968
+ if (coeffs && coeffsPerColor >= 1) {
51969
+ const baseIndex = i * coeffsPerColor * 3;
51970
+ r = 0.5 + coeffs[baseIndex + 0] * SH_C0;
51971
+ g = 0.5 + coeffs[baseIndex + coeffsPerColor + 0] * SH_C0;
51972
+ b = 0.5 + coeffs[baseIndex + 2 * coeffsPerColor + 0] * SH_C0;
51973
+ }
51974
+ const a = asset.opacity ? 1 / (1 + Math.exp(-asset.opacity[i])) : 1;
51975
+ const idx = i * 4;
51976
+ data[idx + 0] = Math.max(0, Math.min(255, Math.floor(r * 255)));
51977
+ data[idx + 1] = Math.max(0, Math.min(255, Math.floor(g * 255)));
51978
+ data[idx + 2] = Math.max(0, Math.min(255, Math.floor(b * 255)));
51979
+ data[idx + 3] = Math.max(0, Math.min(255, Math.floor(a * 255)));
51980
+ }
51981
+ this.splatColor = new Uint8ArrayTexture().create(w, h, data, false);
51982
+ this.splatColor.name = "splatColor";
51983
+ this.splatColor.minFilter = "nearest";
51984
+ this.splatColor.magFilter = "nearest";
51985
+ this.splatColor.mipmapFilter = "nearest";
51986
+ this.splatColor.addressModeU = "clamp-to-edge";
51987
+ this.splatColor.addressModeV = "clamp-to-edge";
51988
+ }
51989
+ /**
51990
+ * Build transform textures from asset
51991
+ */
51992
+ buildTransform(asset) {
51993
+ const w = this.size.x | 0;
51994
+ const h = this.size.y | 0;
51995
+ const count = asset.count;
51996
+ const tA = new Uint32Array(w * h * 4);
51997
+ const tB = new Array(w * h * 4).fill(0);
51998
+ const fb = new ArrayBuffer(4);
51999
+ const f32 = new Float32Array(fb);
52000
+ const u32 = new Uint32Array(fb);
52001
+ const setFloatBits = (v) => {
52002
+ f32[0] = v;
52003
+ return u32[0];
52004
+ };
52005
+ const pos = asset.position;
52006
+ const rot = asset.rotation;
52007
+ const scl = asset.scale;
52008
+ let maxScale = 0;
52009
+ let minScale = Infinity;
52010
+ let maxCov = 0;
52011
+ for (let i = 0; i < count; i++) {
52012
+ const idx = i * 4;
52013
+ const x = pos[i * 3 + 0];
52014
+ const y = pos[i * 3 + 1];
52015
+ const z = pos[i * 3 + 2];
52016
+ tA[idx + 0] = setFloatBits(x);
52017
+ tA[idx + 1] = setFloatBits(y);
52018
+ tA[idx + 2] = setFloatBits(z);
52019
+ let qx = 0, qy = 0, qz = 0, qw = 1;
52020
+ if (rot) {
52021
+ qx = rot[i * 4 + 0];
52022
+ qy = rot[i * 4 + 1];
52023
+ qz = rot[i * 4 + 2];
52024
+ qw = rot[i * 4 + 3];
52025
+ const inv = 1 / Math.hypot(qx, qy, qz, qw);
52026
+ qx *= inv;
52027
+ qy *= inv;
52028
+ qz *= inv;
52029
+ qw *= inv;
52030
+ }
52031
+ let sx = 1, sy = 1, sz = 1;
52032
+ if (scl) {
52033
+ sx = Math.exp(scl[i * 3 + 0]);
52034
+ sy = Math.exp(scl[i * 3 + 1]);
52035
+ sz = Math.exp(scl[i * 3 + 2]);
52036
+ maxScale = Math.max(maxScale, sx, sy, sz);
52037
+ minScale = Math.min(minScale, sx, sy, sz);
52038
+ }
52039
+ const xx = qx * qx, yy = qy * qy, zz = qz * qz;
52040
+ const xy = qx * qy, xz = qx * qz, yz = qy * qz;
52041
+ const wx = qw * qx, wy = qw * qy, wz = qw * qz;
52042
+ const m00 = 1 - 2 * (yy + zz);
52043
+ const m01 = 2 * (xy + wz);
52044
+ const m02 = 2 * (xz - wy);
52045
+ const m10 = 2 * (xy - wz);
52046
+ const m11 = 1 - 2 * (xx + zz);
52047
+ const m12 = 2 * (yz + wx);
52048
+ const m20 = 2 * (xz + wy);
52049
+ const m21 = 2 * (yz - wx);
52050
+ const m22 = 1 - 2 * (xx + yy);
52051
+ const r00 = m00 * sx, r01 = m01 * sx, r02 = m02 * sx;
52052
+ const r10 = m10 * sy, r11 = m11 * sy, r12 = m12 * sy;
52053
+ const r20 = m20 * sz, r21 = m21 * sz, r22 = m22 * sz;
52054
+ const cAx = r00 * r00 + r10 * r10 + r20 * r20;
52055
+ const cAy = r00 * r01 + r10 * r11 + r20 * r21;
52056
+ const cAz = r00 * r02 + r10 * r12 + r20 * r22;
52057
+ const cBx = r01 * r01 + r11 * r11 + r21 * r21;
52058
+ const cBy = r01 * r02 + r11 * r12 + r21 * r22;
52059
+ const cBz = r02 * r02 + r12 * r12 + r22 * r22;
52060
+ maxCov = Math.max(
52061
+ maxCov,
52062
+ Math.abs(cAx),
52063
+ Math.abs(cAy),
52064
+ Math.abs(cAz),
52065
+ Math.abs(cBx),
52066
+ Math.abs(cBy),
52067
+ Math.abs(cBz)
52068
+ );
52069
+ const bidx = idx;
52070
+ tB[bidx + 0] = cAx;
52071
+ tB[bidx + 1] = cAy;
52072
+ tB[bidx + 2] = cAz;
52073
+ tB[bidx + 3] = cBz;
52074
+ const hx = toHalfFloat(cBx) & 65535;
52075
+ const hy = toHalfFloat(cBy) & 65535;
52076
+ tA[idx + 3] = hx | hy << 16;
52077
+ }
52078
+ console.group("🔍 GSplat Data Statistics");
52079
+ console.log("Splat count:", count);
52080
+ console.log("Scale range:", minScale.toFixed(4), "~", maxScale.toFixed(4));
52081
+ console.log("Max covariance:", maxCov.toFixed(4));
52082
+ if (maxScale > 50) {
52083
+ console.error("❌ CRITICAL: Scale values are too large! This causes spikes.");
52084
+ console.log("💡 Try reducing visBoost or clamping scale values");
52085
+ } else if (maxScale > 20) {
52086
+ console.warn("⚠️ WARNING: Scale values are large. May cause rendering issues.");
52087
+ } else {
52088
+ console.log("✅ Scale values look normal");
52089
+ }
52090
+ if (maxCov > 100) {
52091
+ console.error("❌ CRITICAL: Covariance values are too large!");
52092
+ } else if (maxCov > 50) {
52093
+ console.warn("⚠️ WARNING: Covariance values are large.");
52094
+ } else {
52095
+ console.log("✅ Covariance values look normal");
52096
+ }
52097
+ console.groupEnd();
52098
+ this.transformA = new Uint32ArrayTexture().create(w, h, tA);
52099
+ this.transformA.name = "transformA";
52100
+ this.transformA.minFilter = "nearest";
52101
+ this.transformA.magFilter = "nearest";
52102
+ this.transformA.addressModeU = "clamp-to-edge";
52103
+ this.transformA.addressModeV = "clamp-to-edge";
52104
+ this.transformB = new Float16ArrayTexture().create(w, h, tB, false);
52105
+ this.transformB.name = "transformB";
52106
+ this.transformB.minFilter = "nearest";
52107
+ this.transformB.magFilter = "nearest";
52108
+ this.transformB.mipmapFilter = "nearest";
52109
+ this.transformB.addressModeU = "clamp-to-edge";
52110
+ this.transformB.addressModeV = "clamp-to-edge";
52111
+ }
52112
+ /**
52113
+ * Update world space positions when transform changes
52114
+ */
52115
+ updateWorldPositions() {
52116
+ if (!this._positions) return;
52117
+ const worldMatrix = this.object3D.transform.worldMatrix;
52118
+ const localPos = this._positions;
52119
+ const count = this._fullCount;
52120
+ if (!this._worldPositions) {
52121
+ this._worldPositions = new Float32Array(localPos.length);
52122
+ }
52123
+ const m = worldMatrix.rawData;
52124
+ for (let i = 0; i < count; i++) {
52125
+ const idx = i * 3;
52126
+ const x = localPos[idx + 0];
52127
+ const y = localPos[idx + 1];
52128
+ const z = localPos[idx + 2];
52129
+ this._worldPositions[idx + 0] = m[0] * x + m[4] * y + m[8] * z + m[12];
52130
+ this._worldPositions[idx + 1] = m[1] * x + m[5] * y + m[9] * z + m[13];
52131
+ this._worldPositions[idx + 2] = m[2] * x + m[6] * y + m[10] * z + m[14];
52132
+ }
52133
+ this._centersSent = false;
52134
+ }
52135
+ /**
52136
+ * Schedule Web Worker-based sorting task
52137
+ */
52138
+ scheduleOrder(viewMatrix) {
52139
+ if (this.count === 0) return;
52140
+ const transformChanged = this.object3D.transform.localChange;
52141
+ if (transformChanged || !this._worldPositions) {
52142
+ this.updateWorldPositions();
52143
+ }
52144
+ const r = viewMatrix.rawData;
52145
+ const vx = r[2], vy = r[6], vz = r[10];
52146
+ const px = -(r[0] * r[12] + r[1] * r[13] + r[2] * r[14]);
52147
+ const py = -(r[4] * r[12] + r[5] * r[13] + r[6] * r[14]);
52148
+ const pz = -(r[8] * r[12] + r[9] * r[13] + r[10] * r[14]);
52149
+ const posHash = Math.floor(px * 1e3) ^ Math.floor(py * 1e3) ^ Math.floor(pz * 1e3);
52150
+ const dirHash = Math.floor(vx * 1e3) ^ Math.floor(vy * 1e3) ^ Math.floor(vz * 1e3);
52151
+ const hash = posHash ^ dirHash;
52152
+ if (hash === this._lastViewMatrixHash && !transformChanged) {
52153
+ return;
52154
+ }
52155
+ this._lastViewMatrixHash = hash;
52156
+ const now = performance.now();
52157
+ if (now - this._lastSentTime < this._minIntervalMs) return;
52158
+ this._lastSentTime = now;
52159
+ if (!this._sortWorker) {
52160
+ this._sortWorker = this.createSortWorker();
52161
+ this._sortWorker.onmessage = (ev) => {
52162
+ const newOrder = ev.data.order;
52163
+ const oldOrder = this._orderData.buffer;
52164
+ this._sortWorker.postMessage({
52165
+ order: oldOrder
52166
+ }, [oldOrder]);
52167
+ const indices = new Uint32Array(newOrder);
52168
+ const total = this.size.x * this.size.y;
52169
+ const count = this.count;
52170
+ this._orderData = new Uint32Array(total * 4);
52171
+ for (let i = 0; i < total; i++) {
52172
+ const src = i < count ? indices[i] : count > 0 ? count - 1 : 0;
52173
+ const base = i * 4;
52174
+ this._orderData[base + 0] = src;
52175
+ this._orderData[base + 1] = 0;
52176
+ this._orderData[base + 2] = 0;
52177
+ this._orderData[base + 3] = 0;
52178
+ }
52179
+ this.splatOrder.updateTexture(this.size.x, this.size.y, this._orderData);
52180
+ const valid = Math.max(0, Math.min(this.count, ev.data.count | 0));
52181
+ this.texParams[2] = valid;
52182
+ };
52183
+ const worldPos = this._worldPositions || this._positions;
52184
+ const centers = this._mapping ? new Float32Array(this._mapping.length * 3) : new Float32Array(worldPos);
52185
+ if (this._mapping) {
52186
+ for (let i = 0; i < this._mapping.length; ++i) {
52187
+ const src = this._mapping[i] * 3;
52188
+ const dst = i * 3;
52189
+ centers[dst + 0] = worldPos[src + 0];
52190
+ centers[dst + 1] = worldPos[src + 1];
52191
+ centers[dst + 2] = worldPos[src + 2];
52192
+ }
52193
+ }
52194
+ const orderBuffer = new Uint32Array(this.count);
52195
+ for (let i = 0; i < this.count; i++) {
52196
+ orderBuffer[i] = i;
52197
+ }
52198
+ this._sortWorker.postMessage({
52199
+ order: orderBuffer.buffer,
52200
+ centers: centers.buffer,
52201
+ mapping: this._mapping
52202
+ }, [orderBuffer.buffer, centers.buffer]);
52203
+ this._centersSent = true;
52204
+ }
52205
+ if (!this._centersSent && this._sortWorker) {
52206
+ const worldPos = this._worldPositions || this._positions;
52207
+ const centers = this._mapping ? new Float32Array(this._mapping.length * 3) : new Float32Array(worldPos);
52208
+ if (this._mapping) {
52209
+ for (let i = 0; i < this._mapping.length; ++i) {
52210
+ const src = this._mapping[i] * 3;
52211
+ const dst = i * 3;
52212
+ centers[dst + 0] = worldPos[src + 0];
52213
+ centers[dst + 1] = worldPos[src + 1];
52214
+ centers[dst + 2] = worldPos[src + 2];
52215
+ }
52216
+ }
52217
+ this._sortWorker.postMessage({
52218
+ type: "centers",
52219
+ centers: centers.buffer,
52220
+ mapping: this._mapping ? this._mapping : null
52221
+ }, [centers.buffer]);
52222
+ this._centersSent = true;
52223
+ }
52224
+ this._sortWorker.postMessage({
52225
+ cameraPosition: { x: px, y: py, z: pz },
52226
+ cameraDirection: { x: -vx, y: -vy, z: -vz }
52227
+ });
52228
+ }
52229
+ /**
52230
+ * Create Web Worker for sorting
52231
+ */
52232
+ createSortWorker() {
52233
+ function SortWorker() {
52234
+ const compareBits = 16;
52235
+ const bucketCount = 2 ** compareBits + 1;
52236
+ let order;
52237
+ let centers;
52238
+ let mapping;
52239
+ let cameraPosition;
52240
+ let cameraDirection;
52241
+ let forceUpdate = false;
52242
+ const lastCameraPosition = { x: 0, y: 0, z: 0 };
52243
+ const lastCameraDirection = { x: 0, y: 0, z: 0 };
52244
+ const boundMin = { x: 0, y: 0, z: 0 };
52245
+ const boundMax = { x: 0, y: 0, z: 0 };
52246
+ let distances;
52247
+ let countBuffer;
52248
+ const binarySearch = (m, n, compare_fn) => {
52249
+ while (m <= n) {
52250
+ const k = n + m >> 1;
52251
+ const cmp = compare_fn(k);
52252
+ if (cmp > 0) {
52253
+ m = k + 1;
52254
+ } else if (cmp < 0) {
52255
+ n = k - 1;
52256
+ } else {
52257
+ return k;
52258
+ }
52259
+ }
52260
+ return ~m;
52261
+ };
52262
+ const update = () => {
52263
+ if (!order || !centers || !cameraPosition || !cameraDirection) return;
52264
+ const px = cameraPosition.x;
52265
+ const py = cameraPosition.y;
52266
+ const pz = cameraPosition.z;
52267
+ const dx = cameraDirection.x;
52268
+ const dy = cameraDirection.y;
52269
+ const dz = cameraDirection.z;
52270
+ const epsilon = 1e-3;
52271
+ 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) {
52272
+ return;
52273
+ }
52274
+ forceUpdate = false;
52275
+ lastCameraPosition.x = px;
52276
+ lastCameraPosition.y = py;
52277
+ lastCameraPosition.z = pz;
52278
+ lastCameraDirection.x = dx;
52279
+ lastCameraDirection.y = dy;
52280
+ lastCameraDirection.z = dz;
52281
+ const numVertices = centers.length / 3;
52282
+ if (distances?.length !== numVertices) {
52283
+ distances = new Uint32Array(numVertices);
52284
+ }
52285
+ let minDist;
52286
+ let maxDist;
52287
+ for (let i = 0; i < 8; ++i) {
52288
+ const x = (i & 1 ? boundMin.x : boundMax.x) - px;
52289
+ const y = (i & 2 ? boundMin.y : boundMax.y) - py;
52290
+ const z = (i & 4 ? boundMin.z : boundMax.z) - pz;
52291
+ const d = x * dx + y * dy + z * dz;
52292
+ if (i === 0) {
52293
+ minDist = maxDist = d;
52294
+ } else {
52295
+ minDist = Math.min(minDist, d);
52296
+ maxDist = Math.max(maxDist, d);
52297
+ }
52298
+ }
52299
+ if (!countBuffer) {
52300
+ countBuffer = new Uint32Array(bucketCount);
52301
+ } else {
52302
+ countBuffer.fill(0);
52303
+ }
52304
+ const range = maxDist - minDist;
52305
+ const divider = range < 1e-6 ? 0 : 1 / range * 2 ** compareBits;
52306
+ for (let i = 0; i < numVertices; ++i) {
52307
+ const istride = i * 3;
52308
+ const x = centers[istride + 0] - px;
52309
+ const y = centers[istride + 1] - py;
52310
+ const z = centers[istride + 2] - pz;
52311
+ const d = x * dx + y * dy + z * dz;
52312
+ const sortKey = Math.floor((d - minDist) * divider);
52313
+ distances[i] = sortKey;
52314
+ countBuffer[sortKey]++;
52315
+ }
52316
+ for (let i = 1; i < bucketCount; i++) {
52317
+ countBuffer[i] += countBuffer[i - 1];
52318
+ }
52319
+ for (let i = 0; i < numVertices; i++) {
52320
+ const distance = distances[i];
52321
+ const destIndex = --countBuffer[distance];
52322
+ order[destIndex] = i;
52323
+ }
52324
+ const dist = (i) => distances[order[i]] / divider + minDist;
52325
+ const findZero = () => {
52326
+ const result = binarySearch(0, numVertices - 1, (i) => -dist(i));
52327
+ return Math.min(numVertices, Math.abs(result));
52328
+ };
52329
+ const count = dist(numVertices - 1) >= 0 ? findZero() : numVertices;
52330
+ if (mapping) {
52331
+ for (let i = 0; i < numVertices; ++i) {
52332
+ order[i] = mapping[order[i]];
52333
+ }
52334
+ }
52335
+ self.postMessage({
52336
+ order: order.buffer,
52337
+ count
52338
+ }, [order.buffer]);
52339
+ order = null;
52340
+ };
52341
+ self.onmessage = (message) => {
52342
+ if (message.data.order) {
52343
+ order = new Uint32Array(message.data.order);
52344
+ }
52345
+ if (message.data.centers) {
52346
+ centers = new Float32Array(message.data.centers);
52347
+ boundMin.x = boundMax.x = centers[0];
52348
+ boundMin.y = boundMax.y = centers[1];
52349
+ boundMin.z = boundMax.z = centers[2];
52350
+ const numVertices = centers.length / 3;
52351
+ for (let i = 1; i < numVertices; ++i) {
52352
+ const x = centers[i * 3 + 0];
52353
+ const y = centers[i * 3 + 1];
52354
+ const z = centers[i * 3 + 2];
52355
+ boundMin.x = Math.min(boundMin.x, x);
52356
+ boundMin.y = Math.min(boundMin.y, y);
52357
+ boundMin.z = Math.min(boundMin.z, z);
52358
+ boundMax.x = Math.max(boundMax.x, x);
52359
+ boundMax.y = Math.max(boundMax.y, y);
52360
+ boundMax.z = Math.max(boundMax.z, z);
52361
+ }
52362
+ forceUpdate = true;
52363
+ }
52364
+ if (message.data.hasOwnProperty("mapping")) {
52365
+ mapping = message.data.mapping ? new Uint32Array(message.data.mapping) : null;
52366
+ forceUpdate = true;
52367
+ }
52368
+ if (message.data.cameraPosition) cameraPosition = message.data.cameraPosition;
52369
+ if (message.data.cameraDirection) cameraDirection = message.data.cameraDirection;
52370
+ update();
52371
+ };
52372
+ }
52373
+ const code = `(${SortWorker.toString()})()`;
52374
+ const blob = new Blob([code], { type: "application/javascript" });
52375
+ const url = URL.createObjectURL(blob);
52376
+ return new Worker(url);
52377
+ }
52378
+ /**
52379
+ * Update node before rendering
52380
+ */
52381
+ nodeUpdate(view, passType, renderPassState, clusterLightingBuffer) {
52382
+ const worldMatrix = this.object3D.transform.worldMatrix;
52383
+ this.gsplatMaterial.setTransformMatrix(worldMatrix);
52384
+ this.gsplatMaterial.setSplatTextures(
52385
+ this.splatColor,
52386
+ this.transformA,
52387
+ this.transformB,
52388
+ this.texParams,
52389
+ this.splatOrder
52390
+ );
52391
+ super.nodeUpdate(view, passType, renderPassState, clusterLightingBuffer);
52392
+ }
52393
+ /**
52394
+ * Render pass
52395
+ */
52396
+ renderPass2(view, passType, rendererPassState, clusterLightingBuffer, encoder, useBundle = false) {
52397
+ for (let mat of this.materials) {
52398
+ const passes = mat.getPass(passType);
52399
+ if (!passes || passes.length === 0) continue;
52400
+ for (const pass of passes) {
52401
+ if (!pass.pipeline) continue;
52402
+ pass.apply(this.geometry, rendererPassState);
52403
+ GPUContext.bindPipeline(encoder, pass);
52404
+ GPUContext.draw(encoder, 4, this.count, 0, 0);
52405
+ }
52406
+ }
52407
+ }
52408
+ /**
52409
+ * Render pass (fallback)
52410
+ */
52411
+ renderPass(view, passType, renderContext) {
52412
+ const encoder = renderContext.encoder;
52413
+ for (let mat of this.materials) {
52414
+ const passes = mat.getPass(passType);
52415
+ if (!passes || passes.length === 0) continue;
52416
+ for (const pass of passes) {
52417
+ if (!pass.pipeline) continue;
52418
+ pass.apply(this.geometry, renderContext.rendererPassState || renderContext);
52419
+ GPUContext.bindPipeline(encoder, pass);
52420
+ GPUContext.draw(encoder, 4, this.count, 0, 0);
52421
+ }
52422
+ }
52423
+ }
52424
+ /**
52425
+ * Clean up resources
52426
+ */
52427
+ destroy(force) {
52428
+ if (this._sortWorker) {
52429
+ this._sortWorker.terminate();
52430
+ this._sortWorker = null;
52431
+ }
52432
+ super.destroy(force);
52433
+ }
52434
+ };
52435
+ GSplatRenderer = __decorateClass$6([
52436
+ RegisterComponent(GSplatRenderer, "GSplatRenderer")
52437
+ ], GSplatRenderer);
52438
+
50632
52439
  class Probe extends Object3D {
50633
52440
  index = 0;
50634
52441
  drawCallFrame = -1;
@@ -55884,6 +57691,298 @@ class LoaderManager extends CEventDispatcher {
55884
57691
  }
55885
57692
  }
55886
57693
 
57694
+ function computeAABBFromPositions(position) {
57695
+ const min = [Infinity, Infinity, Infinity];
57696
+ const max = [-Infinity, -Infinity, -Infinity];
57697
+ for (let i = 0; i < position.length; i += 3) {
57698
+ const x = position[i + 0];
57699
+ const y = position[i + 1];
57700
+ const z = position[i + 2];
57701
+ if (x < min[0]) min[0] = x;
57702
+ if (y < min[1]) min[1] = y;
57703
+ if (z < min[2]) min[2] = z;
57704
+ if (x > max[0]) max[0] = x;
57705
+ if (y > max[1]) max[1] = y;
57706
+ if (z > max[2]) max[2] = z;
57707
+ }
57708
+ return { min, max };
57709
+ }
57710
+
57711
+ var GSplatFormat = /* @__PURE__ */ ((GSplatFormat2) => {
57712
+ GSplatFormat2["PLY"] = "ply";
57713
+ GSplatFormat2["SPLAT"] = "splat";
57714
+ GSplatFormat2["KSPLAT"] = "ksplat";
57715
+ GSplatFormat2["UNKNOWN"] = "unknown";
57716
+ return GSplatFormat2;
57717
+ })(GSplatFormat || {});
57718
+ function detectGSplatFormat(buffer) {
57719
+ if (buffer.byteLength < 16) {
57720
+ return "unknown" /* UNKNOWN */;
57721
+ }
57722
+ const headerBytes = new Uint8Array(buffer, 0, Math.min(512, buffer.byteLength));
57723
+ const headerText = new TextDecoder("utf-8").decode(headerBytes);
57724
+ if (headerText.startsWith("ply")) {
57725
+ return "ply" /* PLY */;
57726
+ }
57727
+ return "unknown" /* UNKNOWN */;
57728
+ }
57729
+
57730
+ function byteSizeOfType(t) {
57731
+ switch (t) {
57732
+ case "char":
57733
+ case "uchar":
57734
+ case "uint8":
57735
+ case "int8":
57736
+ return 1;
57737
+ case "short":
57738
+ case "ushort":
57739
+ case "int16":
57740
+ case "uint16":
57741
+ return 2;
57742
+ case "int":
57743
+ case "uint":
57744
+ case "int32":
57745
+ case "uint32":
57746
+ case "float":
57747
+ case "float32":
57748
+ return 4;
57749
+ case "double":
57750
+ case "float64":
57751
+ return 8;
57752
+ default:
57753
+ return 4;
57754
+ }
57755
+ }
57756
+ function readByType(view, offset, type) {
57757
+ switch (type) {
57758
+ case "char":
57759
+ case "int8":
57760
+ return view.getInt8(offset);
57761
+ case "uchar":
57762
+ case "uint8":
57763
+ return view.getUint8(offset);
57764
+ case "short":
57765
+ case "int16":
57766
+ return view.getInt16(offset, true);
57767
+ case "ushort":
57768
+ case "uint16":
57769
+ return view.getUint16(offset, true);
57770
+ case "int":
57771
+ case "int32":
57772
+ return view.getInt32(offset, true);
57773
+ case "uint":
57774
+ case "uint32":
57775
+ return view.getUint32(offset, true);
57776
+ case "double":
57777
+ case "float64":
57778
+ return view.getFloat64(offset, true);
57779
+ case "float":
57780
+ case "float32":
57781
+ default:
57782
+ return view.getFloat32(offset, true);
57783
+ }
57784
+ }
57785
+ function inferSHOrder(coeffsPerColor) {
57786
+ const root = Math.round(Math.sqrt(coeffsPerColor));
57787
+ return Math.max(0, root - 1);
57788
+ }
57789
+
57790
+ function parsePlyHeader(buffer) {
57791
+ const ascii = new TextDecoder("utf-8").decode(
57792
+ new Uint8Array(buffer, 0, Math.min(4096, buffer.byteLength))
57793
+ );
57794
+ if (!ascii.startsWith("ply")) {
57795
+ throw new Error("PLY: Unsupported format. Expecting PLY file.");
57796
+ }
57797
+ const headerEnd = ascii.indexOf("end_header\n");
57798
+ if (headerEnd < 0) {
57799
+ throw new Error("PLY: Invalid PLY header");
57800
+ }
57801
+ const headerText = ascii.substring(0, headerEnd + "end_header\n".length);
57802
+ const lines = headerText.split(/\r?\n/);
57803
+ let format = "";
57804
+ let vertexCount = 0;
57805
+ const properties = [];
57806
+ let inVertexElement = false;
57807
+ for (const line of lines) {
57808
+ if (line.startsWith("format ")) {
57809
+ format = line.split(/\s+/)[1];
57810
+ } else if (line.startsWith("element ")) {
57811
+ const toks = line.split(/\s+/);
57812
+ inVertexElement = toks[1] === "vertex";
57813
+ if (inVertexElement) vertexCount = parseInt(toks[2]);
57814
+ } else if (inVertexElement && line.startsWith("property ")) {
57815
+ const toks = line.split(/\s+/);
57816
+ const type = toks[1];
57817
+ const name = toks[2];
57818
+ properties.push({ name, type });
57819
+ }
57820
+ }
57821
+ if (format !== "binary_little_endian") {
57822
+ throw new Error("PLY: Only binary_little_endian PLY is supported");
57823
+ }
57824
+ return {
57825
+ format,
57826
+ vertexCount,
57827
+ properties,
57828
+ headerByteLength: headerText.length
57829
+ };
57830
+ }
57831
+ function parsePlyGaussianSplat(buffer) {
57832
+ const header = parsePlyHeader(buffer);
57833
+ const { vertexCount, properties, headerByteLength } = header;
57834
+ const payload = new DataView(buffer, headerByteLength);
57835
+ const has = (n) => properties.find((p) => p.name === n) != null;
57836
+ const propIndex = (n) => properties.findIndex((p) => p.name === n);
57837
+ const position = new Float32Array(vertexCount * 3);
57838
+ const scale = has("scale_0") ? new Float32Array(vertexCount * 3) : void 0;
57839
+ const rotation = has("rot_0") ? new Float32Array(vertexCount * 4) : void 0;
57840
+ const opacity = has("opacity") ? new Float32Array(vertexCount) : void 0;
57841
+ const dcIdx = [propIndex("f_dc_0"), propIndex("f_dc_1"), propIndex("f_dc_2")];
57842
+ const restIndices = [];
57843
+ for (let i = 0; i < properties.length; i++) {
57844
+ if (properties[i].name.startsWith("f_rest_")) restIndices.push(i);
57845
+ }
57846
+ const hasSH = dcIdx[0] >= 0 && dcIdx[1] >= 0 && dcIdx[2] >= 0;
57847
+ let shCoeffs = void 0;
57848
+ let shOrder = 0;
57849
+ if (hasSH) {
57850
+ const coeffsPerColor = 1 + restIndices.length / 3;
57851
+ shOrder = inferSHOrder(coeffsPerColor);
57852
+ shCoeffs = new Float32Array(vertexCount * coeffsPerColor * 3);
57853
+ }
57854
+ const propOffsets = [];
57855
+ let stride = 0;
57856
+ for (const p of properties) {
57857
+ propOffsets.push(stride);
57858
+ stride += byteSizeOfType(p.type);
57859
+ }
57860
+ let base = 0;
57861
+ for (let v = 0; v < vertexCount; v++) {
57862
+ const vOffset = base;
57863
+ const ix = propIndex("x");
57864
+ const iy = propIndex("y");
57865
+ const iz = propIndex("z");
57866
+ if (ix < 0 || iy < 0 || iz < 0) {
57867
+ throw new Error("PLY: Missing x/y/z for vertex");
57868
+ }
57869
+ position[v * 3 + 0] = readByType(payload, vOffset + propOffsets[ix], properties[ix].type);
57870
+ position[v * 3 + 1] = readByType(payload, vOffset + propOffsets[iy], properties[iy].type);
57871
+ position[v * 3 + 2] = readByType(payload, vOffset + propOffsets[iz], properties[iz].type);
57872
+ if (scale) {
57873
+ const s0 = propIndex("scale_0");
57874
+ const s1 = propIndex("scale_1");
57875
+ const s2 = propIndex("scale_2");
57876
+ scale[v * 3 + 0] = readByType(payload, vOffset + propOffsets[s0], properties[s0].type);
57877
+ scale[v * 3 + 1] = readByType(payload, vOffset + propOffsets[s1], properties[s1].type);
57878
+ scale[v * 3 + 2] = readByType(payload, vOffset + propOffsets[s2], properties[s2].type);
57879
+ }
57880
+ if (rotation) {
57881
+ const r0 = propIndex("rot_0");
57882
+ const r1 = propIndex("rot_1");
57883
+ const r2 = propIndex("rot_2");
57884
+ const r3 = propIndex("rot_3");
57885
+ rotation[v * 4 + 0] = readByType(payload, vOffset + propOffsets[r0], properties[r0].type);
57886
+ rotation[v * 4 + 1] = readByType(payload, vOffset + propOffsets[r1], properties[r1].type);
57887
+ rotation[v * 4 + 2] = readByType(payload, vOffset + propOffsets[r2], properties[r2].type);
57888
+ rotation[v * 4 + 3] = readByType(payload, vOffset + propOffsets[r3], properties[r3].type);
57889
+ }
57890
+ if (opacity) {
57891
+ const oi = propIndex("opacity");
57892
+ opacity[v] = readByType(payload, vOffset + propOffsets[oi], properties[oi].type);
57893
+ }
57894
+ if (hasSH && shCoeffs) {
57895
+ const coeffsPerColor = 1 + restIndices.length / 3;
57896
+ const baseIndex = v * coeffsPerColor * 3;
57897
+ shCoeffs[baseIndex + 0] = readByType(
57898
+ payload,
57899
+ vOffset + propOffsets[dcIdx[0]],
57900
+ properties[dcIdx[0]].type
57901
+ );
57902
+ shCoeffs[baseIndex + coeffsPerColor + 0] = readByType(
57903
+ payload,
57904
+ vOffset + propOffsets[dcIdx[1]],
57905
+ properties[dcIdx[1]].type
57906
+ );
57907
+ shCoeffs[baseIndex + 2 * coeffsPerColor + 0] = readByType(
57908
+ payload,
57909
+ vOffset + propOffsets[dcIdx[2]],
57910
+ properties[dcIdx[2]].type
57911
+ );
57912
+ let rPtr = 1;
57913
+ let gPtr = 1;
57914
+ let bPtr = 1;
57915
+ for (let i = 0; i < restIndices.length; i += 3) {
57916
+ const ri = restIndices[i + 0];
57917
+ const gi = restIndices[i + 1];
57918
+ const bi = restIndices[i + 2];
57919
+ shCoeffs[baseIndex + rPtr] = readByType(
57920
+ payload,
57921
+ vOffset + propOffsets[ri],
57922
+ properties[ri].type
57923
+ );
57924
+ shCoeffs[baseIndex + coeffsPerColor + gPtr] = readByType(
57925
+ payload,
57926
+ vOffset + propOffsets[gi],
57927
+ properties[gi].type
57928
+ );
57929
+ shCoeffs[baseIndex + 2 * coeffsPerColor + bPtr] = readByType(
57930
+ payload,
57931
+ vOffset + propOffsets[bi],
57932
+ properties[bi].type
57933
+ );
57934
+ rPtr++;
57935
+ gPtr++;
57936
+ bPtr++;
57937
+ }
57938
+ }
57939
+ base += stride;
57940
+ }
57941
+ return {
57942
+ vertexCount,
57943
+ position,
57944
+ scale,
57945
+ rotation,
57946
+ opacity,
57947
+ sh: hasSH && shCoeffs ? { order: shOrder, coeffs: shCoeffs } : void 0
57948
+ };
57949
+ }
57950
+
57951
+ class GaussianSplatParser extends ParserBase {
57952
+ static format = ParserFormat.BIN;
57953
+ async parseBuffer(buffer) {
57954
+ const format = detectGSplatFormat(buffer);
57955
+ let asset;
57956
+ switch (format) {
57957
+ case GSplatFormat.PLY: {
57958
+ const plyData = parsePlyGaussianSplat(buffer);
57959
+ asset = {
57960
+ count: plyData.vertexCount,
57961
+ position: plyData.position,
57962
+ rotation: plyData.rotation,
57963
+ scale: plyData.scale,
57964
+ opacity: plyData.opacity,
57965
+ sh: plyData.sh
57966
+ };
57967
+ asset.bbox = computeAABBFromPositions(plyData.position);
57968
+ break;
57969
+ }
57970
+ case GSplatFormat.SPLAT:
57971
+ throw new Error("SPLAT format is not yet supported");
57972
+ case GSplatFormat.KSPLAT:
57973
+ throw new Error("KSPLAT format is not yet supported");
57974
+ case GSplatFormat.UNKNOWN:
57975
+ default:
57976
+ throw new Error("Unknown or unsupported Gaussian Splatting file format");
57977
+ }
57978
+ this.data = asset;
57979
+ return asset;
57980
+ }
57981
+ verification() {
57982
+ return !!this.data && this.data.count > 0;
57983
+ }
57984
+ }
57985
+
55887
57986
  var GeoType = /* @__PURE__ */ ((GeoType2) => {
55888
57987
  GeoType2["Point"] = "Point";
55889
57988
  GeoType2["LineString"] = "LineString";
@@ -57015,7 +59114,7 @@ let LitSSSShader = class extends Shader {
57015
59114
  }
57016
59115
  };
57017
59116
  LitSSSShader = __decorateClass$3([
57018
- RegisterShader
59117
+ RegisterShader(LitSSSShader, "LitSSSShader")
57019
59118
  ], LitSSSShader);
57020
59119
 
57021
59120
  var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
@@ -57117,7 +59216,7 @@ let LitShader = class extends Shader {
57117
59216
  }
57118
59217
  };
57119
59218
  LitShader = __decorateClass$2([
57120
- RegisterShader
59219
+ RegisterShader(LitShader, "LitShader")
57121
59220
  ], LitShader);
57122
59221
 
57123
59222
  class ComData {
@@ -57353,7 +59452,7 @@ let UnLitShader = class extends Shader {
57353
59452
  }
57354
59453
  };
57355
59454
  UnLitShader = __decorateClass$1([
57356
- RegisterShader
59455
+ RegisterShader(UnLitShader, "UnLitShader")
57357
59456
  ], UnLitShader);
57358
59457
 
57359
59458
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -57442,7 +59541,7 @@ let UnLitTexArrayShader = class extends Shader {
57442
59541
  }
57443
59542
  };
57444
59543
  UnLitTexArrayShader = __decorateClass([
57445
- RegisterShader
59544
+ RegisterShader(UnLitTexArrayShader, "UnLitTexArrayShader")
57446
59545
  ], UnLitTexArrayShader);
57447
59546
 
57448
59547
  class TileSet {
@@ -57675,46 +59774,6 @@ class LambertMaterial extends Material {
57675
59774
  function registerMaterial(name, cls) {
57676
59775
  }
57677
59776
 
57678
- class UnLitMaterial extends Material {
57679
- /**
57680
- * @constructor
57681
- */
57682
- constructor() {
57683
- super();
57684
- this.shader = new UnLitShader();
57685
- this.baseMap = Engine3D.res.whiteTexture;
57686
- }
57687
- set baseMap(texture) {
57688
- this.shader.setTexture(`baseMap`, texture);
57689
- }
57690
- get baseMap() {
57691
- return this.shader.getTexture(`baseMap`);
57692
- }
57693
- /**
57694
- * set base color (tint color)
57695
- */
57696
- set baseColor(color) {
57697
- this.shader.setUniformColor(`baseColor`, color);
57698
- }
57699
- /**
57700
- * get base color (tint color)
57701
- */
57702
- get baseColor() {
57703
- return this.shader.getUniformColor("baseColor");
57704
- }
57705
- /**
57706
- * set environment texture, usually referring to cubemap
57707
- */
57708
- set envMap(texture) {
57709
- }
57710
- /**
57711
- * @internal
57712
- * set shadow map
57713
- */
57714
- set shadowMap(texture) {
57715
- }
57716
- }
57717
-
57718
59777
  class UnLitTexArrayMaterial extends Material {
57719
59778
  /**
57720
59779
  * @constructor
@@ -58320,6 +60379,449 @@ class OrderMap extends Map {
58320
60379
  }
58321
60380
  }
58322
60381
 
60382
+ var ParticleSystemRandomnessIds = /* @__PURE__ */ ((ParticleSystemRandomnessIds2) => {
60383
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemClampVelocityCurveId"] = 322376503] = "kParticleSystemClampVelocityCurveId";
60384
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemForceCurveId"] = 306581307] = "kParticleSystemForceCurveId";
60385
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemRotationCurveId"] = 1793934638] = "kParticleSystemRotationCurveId";
60386
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemRotationBySpeedCurveId"] = 3737431713] = "kParticleSystemRotationBySpeedCurveId";
60387
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemStartSpeedCurveId"] = 2527743459] = "kParticleSystemStartSpeedCurveId";
60388
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemSizeCurveId"] = 2368504881] = "kParticleSystemSizeCurveId";
60389
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemSizeBySpeedCurveId"] = 4085612399] = "kParticleSystemSizeBySpeedCurveId";
60390
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemVelocityCurveId"] = 3774601268] = "kParticleSystemVelocityCurveId";
60391
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemUVCurveId"] = 326370691] = "kParticleSystemUVCurveId";
60392
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemColorGradientId"] = 1494990940] = "kParticleSystemColorGradientId";
60393
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemColorByVelocityGradientId"] = 1089181156] = "kParticleSystemColorByVelocityGradientId";
60394
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemMeshSelectionId"] = 3159510623] = "kParticleSystemMeshSelectionId";
60395
+ ParticleSystemRandomnessIds2[ParticleSystemRandomnessIds2["kParticleSystemUVRowSelectionId"] = 2941263940] = "kParticleSystemUVRowSelectionId";
60396
+ return ParticleSystemRandomnessIds2;
60397
+ })(ParticleSystemRandomnessIds || {});
60398
+ const kPI = 3.141592653589793;
60399
+
60400
+ class Polynomials {
60401
+ }
60402
+ function cubicPolynomialRoot(p, q, r) {
60403
+ let rcp3 = 1 / 3;
60404
+ let half = 0.5;
60405
+ let po3 = p * rcp3;
60406
+ let po3_2 = po3 * po3;
60407
+ let po3_3 = po3_2 * po3;
60408
+ let b = po3_3 - po3 * q * half + r * half;
60409
+ let a = -po3_2 + q * rcp3;
60410
+ let a3 = a * a * a;
60411
+ let det = a3 + b * b;
60412
+ if (det >= 0) {
60413
+ let r0 = Math.sqrt(det) - b;
60414
+ r0 = r0 > 0 ? Math.pow(r0, rcp3) : -Math.pow(-r0, rcp3);
60415
+ return -po3 - a / r0 + r0;
60416
+ }
60417
+ let abs = Math.sqrt(-a3);
60418
+ let arg = Math.acos(-b / abs);
60419
+ abs = Math.pow(abs, rcp3);
60420
+ abs = abs - a / abs;
60421
+ arg = -po3 + abs * Math.cos(arg * rcp3);
60422
+ return arg;
60423
+ }
60424
+ function quadraticPolynomialRootsGeneric(a, b, c, out) {
60425
+ let eps = 1e-5;
60426
+ if (Math.abs(a) < eps) {
60427
+ if (Math.abs(b) > eps) {
60428
+ out.r0 = -c / b;
60429
+ return 1;
60430
+ } else {
60431
+ return 0;
60432
+ }
60433
+ }
60434
+ let disc = b * b - 4 * a * c;
60435
+ if (disc < 0) {
60436
+ return 0;
60437
+ }
60438
+ let halfRcpA = 0.5 / a;
60439
+ let sqrtDisc = Math.sqrt(disc);
60440
+ out.r0 = (sqrtDisc - b) * halfRcpA;
60441
+ out.r1 = (-sqrtDisc - b) * halfRcpA;
60442
+ return 2;
60443
+ }
60444
+ function cubicPolynomialRootsGeneric(roots, a, b, c, d) {
60445
+ let numRoots = 0;
60446
+ if (Math.abs(a) >= 1e-4) {
60447
+ let p = b / a;
60448
+ let q = c / a;
60449
+ let r = d / a;
60450
+ roots[0] = cubicPolynomialRoot(p, q, r);
60451
+ numRoots++;
60452
+ let la = a;
60453
+ let lb = b + a * roots[0];
60454
+ let lc = c + b * roots[0] + a * roots[0] * roots[0];
60455
+ numRoots += quadraticPolynomialRootsGeneric(la, lb, lc, {
60456
+ r0: roots[1],
60457
+ r1: roots[2]
60458
+ });
60459
+ } else {
60460
+ numRoots += quadraticPolynomialRootsGeneric(b, c, d, {
60461
+ r0: roots[1],
60462
+ r1: roots[2]
60463
+ });
60464
+ }
60465
+ return numRoots;
60466
+ }
60467
+
60468
+ class Polynomial {
60469
+ coeff = [];
60470
+ static EvalSegment(t, coeff) {
60471
+ return t * (t * (t * coeff[0] + coeff[1]) + coeff[2]) + coeff[3];
60472
+ }
60473
+ }
60474
+ class PolynomialCurve {
60475
+ static kMaxNumSegments = 8;
60476
+ segments = [];
60477
+ integrationCache = [];
60478
+ doubleIntegrationCache = [];
60479
+ times = [];
60480
+ segmentCount;
60481
+ constructor() {
60482
+ this.segments[PolynomialCurve.kMaxNumSegments] = new Polynomial();
60483
+ this.integrationCache[PolynomialCurve.kMaxNumSegments] = 0;
60484
+ this.doubleIntegrationCache[PolynomialCurve.kMaxNumSegments] = 0;
60485
+ this.times[PolynomialCurve.kMaxNumSegments] = 0;
60486
+ }
60487
+ calculateMinMax(minmax, value) {
60488
+ minmax.x = Math.min(minmax.x, value);
60489
+ minmax.y = Math.max(minmax.y, value);
60490
+ }
60491
+ findMinMaxDoubleIntegrated() {
60492
+ let result = Vector2.ZERO.clone();
60493
+ let numSteps = 20;
60494
+ let delta = 1 / numSteps;
60495
+ let acc = delta;
60496
+ for (let i = 0; i < numSteps; i++) {
60497
+ this.calculateMinMax(result, this.evaluateDoubleIntegrated(acc));
60498
+ acc += delta;
60499
+ }
60500
+ return result;
60501
+ }
60502
+ // Find the maximum of the integrated curve (x: min, y: max)
60503
+ findMinMaxIntegrated() {
60504
+ let result = Vector2.ZERO.clone();
60505
+ let start = [];
60506
+ let end = [];
60507
+ for (let i = 0; i < this.segmentCount; i++) {
60508
+ let a = 4 * this.segments[i].coeff[0];
60509
+ let b = 3 * this.segments[i].coeff[1];
60510
+ let c = 2 * this.segments[i].coeff[2];
60511
+ let d = 1 * this.segments[i].coeff[3];
60512
+ let roots = [];
60513
+ let numRoots = cubicPolynomialRootsGeneric(roots, a, b, c, d);
60514
+ for (let r = 0; r < numRoots; r++) {
60515
+ let root = roots[r] + start[i];
60516
+ if (root >= start[i] && root < end[i]) {
60517
+ this.calculateMinMax(result, this.evaluateIntegrated(root));
60518
+ }
60519
+ }
60520
+ this.calculateMinMax(result, this.evaluateIntegrated(end[i]));
60521
+ this.times[i];
60522
+ }
60523
+ return result;
60524
+ }
60525
+ generateIntegrationCache(curve) {
60526
+ curve.integrationCache[0] = 0;
60527
+ let prevTimeValue0 = curve.times[0];
60528
+ let prevTimeValue1 = 0;
60529
+ for (let i = 1; i < curve.segmentCount; i++) {
60530
+ let coeff = curve.segments[i - 1].coeff;
60531
+ integrateSegment(coeff);
60532
+ let time = prevTimeValue0 - prevTimeValue1;
60533
+ curve.integrationCache[i] = curve.integrationCache[i - 1] + Polynomial.EvalSegment(time, coeff) * time;
60534
+ prevTimeValue1 = prevTimeValue0;
60535
+ prevTimeValue0 = curve.times[i];
60536
+ }
60537
+ }
60538
+ generateDoubleIntegrationCache(curve) {
60539
+ let sum = 0;
60540
+ let prevTimeValue = 0;
60541
+ for (let i = 0; i < curve.segmentCount; i++) {
60542
+ curve.doubleIntegrationCache[i] = sum;
60543
+ let time = curve.times[i] - prevTimeValue;
60544
+ time = Math.max(time, 0);
60545
+ sum += Polynomial.EvalSegment(time, curve.segments[i].coeff) * time * time + curve.integrationCache[i] * time;
60546
+ prevTimeValue = curve.times[i];
60547
+ }
60548
+ }
60549
+ // Integrates a velocity curve to be a position curve.
60550
+ // You have to call EvaluateIntegrated to evaluate the curve
60551
+ integrate() {
60552
+ this.generateIntegrationCache(this);
60553
+ for (let i = 0; i < this.segmentCount; i++) {
60554
+ integrateSegment(this.segments[i].coeff);
60555
+ }
60556
+ }
60557
+ // Integrates a velocity curve to be a position curve.
60558
+ // You have to call EvaluateDoubleIntegrated to evaluate the curve
60559
+ doubleIntegrate() {
60560
+ this.generateIntegrationCache(this);
60561
+ for (let i = 0; i < this.segmentCount; i++) {
60562
+ doubleIntegrateSegment(this.segments[i].coeff);
60563
+ }
60564
+ this.generateDoubleIntegrationCache(this);
60565
+ }
60566
+ // Evaluates if it is possible to represent animation curve as PolynomialCurve
60567
+ static isValidCurve(editorCurve) {
60568
+ let keyCount = editorCurve.getKeyCount();
60569
+ let segmentCount = keyCount - 1;
60570
+ if (editorCurve.getKey(0).time != 0) {
60571
+ segmentCount++;
60572
+ }
60573
+ if (editorCurve.getKey(keyCount - 1).time != 1) {
60574
+ segmentCount++;
60575
+ }
60576
+ return segmentCount <= PolynomialCurve.kMaxNumSegments;
60577
+ }
60578
+ evaluateDoubleIntegrated(t) {
60579
+ let prevTimeValue = 0;
60580
+ for (let i = 0; i < this.segmentCount; i++) {
60581
+ if (t <= this.times[i]) {
60582
+ let time = t - prevTimeValue;
60583
+ return this.doubleIntegrationCache[i] + this.integrationCache[i] * time + Polynomial.EvalSegment(time, this.segments[i].coeff) * time * time;
60584
+ }
60585
+ prevTimeValue = this.times[i];
60586
+ }
60587
+ return 1;
60588
+ }
60589
+ // Evaluate integrated Polynomial curve.
60590
+ // Example: position = EvaluateIntegrated (normalizedTime) * startEnergy
60591
+ // Use Integrate function to for example turn a velocity curve into a position curve.
60592
+ // Expects that t is in the 0...1 range.
60593
+ evaluateIntegrated(t) {
60594
+ let prevTimeValue = 0;
60595
+ for (let i = 0; i < this.segmentCount; i++) {
60596
+ if (t <= this.times[i]) {
60597
+ let time = t - prevTimeValue;
60598
+ return this.integrationCache[i] + Polynomial.EvalSegment(time, this.segments[i].coeff) * time;
60599
+ }
60600
+ prevTimeValue = this.times[i];
60601
+ }
60602
+ return 1;
60603
+ }
60604
+ // Evaluate the curve
60605
+ // extects that t is in the 0...1 range
60606
+ evaluate(t) {
60607
+ let prevTimeValue = 0;
60608
+ for (let i = 0; i < this.segmentCount; i++) {
60609
+ if (t <= this.times[i]) {
60610
+ return Polynomial.EvalSegment(
60611
+ t - prevTimeValue,
60612
+ this.segments[i].coeff
60613
+ );
60614
+ }
60615
+ prevTimeValue = this.times[i];
60616
+ }
60617
+ return 1;
60618
+ }
60619
+ buildCurve(editorCurve, scale) {
60620
+ let keyCount = editorCurve.getKeyCount();
60621
+ this.segmentCount = 1;
60622
+ let kMaxTime = 1.01;
60623
+ this.segments.length = 0;
60624
+ this.integrationCache.length = 0;
60625
+ this.doubleIntegrationCache.length = 0;
60626
+ this.times.length = 0;
60627
+ this.times[0] = kMaxTime;
60628
+ if (keyCount == 0) ; else if (keyCount == 1) {
60629
+ this.segments[0] = new Polynomial();
60630
+ this.segments[0].coeff[3] = editorCurve.getKey(0).value * scale;
60631
+ } else {
60632
+ this.segmentCount = keyCount - 1;
60633
+ let segmentOffset = 0;
60634
+ if (editorCurve.getKey(0).time != 0) {
60635
+ this.segments[0].coeff[3] = editorCurve.getKey(0).value;
60636
+ this.times[0] = editorCurve.getKey(0).time;
60637
+ segmentOffset = 1;
60638
+ }
60639
+ for (let i = 0; i < this.segmentCount; i++) {
60640
+ let cache;
60641
+ editorCurve.calculateCacheData(cache, i, i + 1, 0);
60642
+ this.segments[i + segmentOffset].coeff = cache.coeff.concat();
60643
+ this.times[i + segmentOffset] = editorCurve.getKey(i + 1).time;
60644
+ }
60645
+ this.segmentCount += segmentOffset;
60646
+ if (editorCurve.getKey(keyCount - 1).time != 1) {
60647
+ this.segments[this.segmentCount].coeff[3] = editorCurve.getKey(
60648
+ keyCount - 1
60649
+ ).value;
60650
+ this.segmentCount++;
60651
+ }
60652
+ this.times[this.segmentCount - 1] = kMaxTime;
60653
+ for (let i = 0; i < this.segmentCount; i++) {
60654
+ this.segments[i].coeff[0] *= scale;
60655
+ this.segments[i].coeff[1] *= scale;
60656
+ this.segments[i].coeff[2] *= scale;
60657
+ this.segments[i].coeff[3] *= scale;
60658
+ }
60659
+ }
60660
+ return true;
60661
+ }
60662
+ }
60663
+ function doubleIntegrateSegment(coeff) {
60664
+ coeff[0] /= 20;
60665
+ coeff[1] /= 12;
60666
+ coeff[2] /= 6;
60667
+ coeff[3] /= 2;
60668
+ }
60669
+ function integrateSegment(coeff) {
60670
+ coeff[0] /= 4;
60671
+ coeff[1] /= 3;
60672
+ coeff[2] /= 2;
60673
+ coeff[3] /= 1;
60674
+ }
60675
+
60676
+ var ParticleSystemCurveEvalMode = /* @__PURE__ */ ((ParticleSystemCurveEvalMode2) => {
60677
+ ParticleSystemCurveEvalMode2[ParticleSystemCurveEvalMode2["kEMScalar"] = 0] = "kEMScalar";
60678
+ ParticleSystemCurveEvalMode2[ParticleSystemCurveEvalMode2["kEMOptimized"] = 1] = "kEMOptimized";
60679
+ ParticleSystemCurveEvalMode2[ParticleSystemCurveEvalMode2["kEMOptimizedMinMax"] = 2] = "kEMOptimizedMinMax";
60680
+ ParticleSystemCurveEvalMode2[ParticleSystemCurveEvalMode2["kEMSlow"] = 3] = "kEMSlow";
60681
+ return ParticleSystemCurveEvalMode2;
60682
+ })(ParticleSystemCurveEvalMode || {});
60683
+ var MinMaxCurveState = /* @__PURE__ */ ((MinMaxCurveState2) => {
60684
+ MinMaxCurveState2[MinMaxCurveState2["kMMCScalar"] = 0] = "kMMCScalar";
60685
+ MinMaxCurveState2[MinMaxCurveState2["kMMCCurve"] = 1] = "kMMCCurve";
60686
+ MinMaxCurveState2[MinMaxCurveState2["kMMCTwoCurves"] = 2] = "kMMCTwoCurves";
60687
+ MinMaxCurveState2[MinMaxCurveState2["kMMCTwoConstants"] = 3] = "kMMCTwoConstants";
60688
+ return MinMaxCurveState2;
60689
+ })(MinMaxCurveState || {});
60690
+ class MinMaxAnimationCurves {
60691
+ // public SupportsProcedural ();
60692
+ max;
60693
+ min;
60694
+ }
60695
+ class MinMaxPolyCurves {
60696
+ max;
60697
+ min;
60698
+ integrate() {
60699
+ this.max.integrate();
60700
+ this.min.integrate();
60701
+ }
60702
+ doubleIntegrate() {
60703
+ this.max.doubleIntegrate();
60704
+ this.min.doubleIntegrate();
60705
+ }
60706
+ findMinMaxIntegrated() {
60707
+ return null;
60708
+ }
60709
+ findMinMaxDoubleIntegrated() {
60710
+ return null;
60711
+ }
60712
+ }
60713
+ class MinMaxCurve {
60714
+ minMaxState;
60715
+ // see enum MinMaxCurveState
60716
+ minCurve;
60717
+ maxCurve;
60718
+ _scalar = 1;
60719
+ // Since scalar is baked into the optimized curve we use the setter function to modify it.
60720
+ _minScalar;
60721
+ constructor(scalarValue = 1) {
60722
+ this._scalar = scalarValue;
60723
+ this.minMaxState = 0 /* kMMCScalar */;
60724
+ this.minCurve = new AnimationCurve();
60725
+ this.maxCurve = new AnimationCurve();
60726
+ }
60727
+ setScalar(value) {
60728
+ this._scalar = value;
60729
+ }
60730
+ getScalar() {
60731
+ return this._scalar;
60732
+ }
60733
+ static evaluateSlow(curve, t, factor) {
60734
+ let v = curve.maxCurve.getValue(t) * curve.getScalar();
60735
+ if (curve.minMaxState == 2 /* kMMCTwoCurves */) {
60736
+ return lerp(curve.minCurve.getValue(t) * curve.getScalar(), v, factor);
60737
+ } else return v;
60738
+ }
60739
+ static evaluate(curve, t, randomValue = 1) {
60740
+ if (curve.minMaxState == 0 /* kMMCScalar */) {
60741
+ return curve.getScalar();
60742
+ }
60743
+ let v = curve.maxCurve.getValue(t) * curve.getScalar();
60744
+ if (curve.minMaxState == 1 /* kMMCCurve */) {
60745
+ return lerp(curve.minCurve.getValue(t) * curve.getScalar(), v, randomValue);
60746
+ }
60747
+ if (curve.minMaxState == 3 /* kMMCTwoConstants */) {
60748
+ return lerp(curve._minScalar, curve._scalar, randomValue);
60749
+ }
60750
+ if (curve.minMaxState == 2 /* kMMCTwoCurves */) {
60751
+ return lerp(curve.minCurve.getValue(t) * curve.getScalar(), v, 1 * Math.random());
60752
+ }
60753
+ return this.evaluateSlow(curve, t, 1);
60754
+ }
60755
+ unSerialized(data) {
60756
+ this.minMaxState = data["minMaxState"];
60757
+ this._scalar = data["scalar"];
60758
+ this._minScalar = data["minScalar"];
60759
+ this.maxCurve.unSerialized(data["maxCurve"]);
60760
+ this.minCurve.unSerialized(data["minCurve"]);
60761
+ }
60762
+ }
60763
+ class ValueSpread {
60764
+ value = 0;
60765
+ mode = 0;
60766
+ spread = 0;
60767
+ speed = new MinMaxCurve();
60768
+ unSerialized(data) {
60769
+ this.value = data["value"];
60770
+ this.mode = data["mode"];
60771
+ this.spread = data["spread"];
60772
+ this.speed.unSerialized(data["speed"]);
60773
+ }
60774
+ }
60775
+ function curvesSupportProcedural(editorCurves, minMaxState) {
60776
+ let isValid = PolynomialCurve.isValidCurve(editorCurves.max);
60777
+ if (minMaxState != 2 /* kMMCTwoCurves */ && minMaxState != 3 /* kMMCTwoConstants */) {
60778
+ return isValid;
60779
+ } else {
60780
+ return isValid && PolynomialCurve.isValidCurve(editorCurves.min);
60781
+ }
60782
+ }
60783
+ function buildCurves(polyCurves, editorCurves, scalar, minMaxState) {
60784
+ polyCurves.max.buildCurve(editorCurves.max, scalar);
60785
+ if (minMaxState != 2 /* kMMCTwoCurves */ && minMaxState != 3 /* kMMCTwoConstants */) {
60786
+ polyCurves.min.buildCurve(editorCurves.max, scalar);
60787
+ } else {
60788
+ polyCurves.min.buildCurve(editorCurves.min, scalar);
60789
+ }
60790
+ }
60791
+ function calculateCurveRangesValue(minMaxValue, curve) {
60792
+ let keyCount = curve.getKeyCount();
60793
+ if (keyCount == 0) {
60794
+ return;
60795
+ }
60796
+ if (keyCount == 1) {
60797
+ calculateMinMax(minMaxValue, curve.getKey(0).value);
60798
+ } else {
60799
+ let segmentCount = keyCount - 1;
60800
+ calculateMinMax(minMaxValue, curve.getKey(0).value);
60801
+ for (let i = 0; i < segmentCount; i++) {
60802
+ let cache = new FrameCache();
60803
+ curve.calculateCacheData(cache, i, i + 1, 0);
60804
+ let a = 3 * cache.coeff[0];
60805
+ let b = 2 * cache.coeff[1];
60806
+ let c = 1 * cache.coeff[2];
60807
+ let start = curve.getKey(i).time;
60808
+ let end = curve.getKey(i + 1).time;
60809
+ let roots = [];
60810
+ let numRoots = quadraticPolynomialRootsGeneric(a, b, c, { r0: roots[0], r1: roots[1] });
60811
+ for (let r = 0; r < numRoots; r++) {
60812
+ if (roots[r] >= 0 && roots[r] + start < end) {
60813
+ calculateMinMax(minMaxValue, Polynomial.EvalSegment(roots[r], cache.coeff));
60814
+ }
60815
+ }
60816
+ calculateMinMax(minMaxValue, Polynomial.EvalSegment(end - start, cache.coeff));
60817
+ }
60818
+ }
60819
+ }
60820
+ function calculateMinMax(minmax, value) {
60821
+ minmax.x = Math.min(minmax.x, value);
60822
+ minmax.y = Math.max(minmax.y, value);
60823
+ }
60824
+
58323
60825
  class PlaneClassification {
58324
60826
  /**
58325
60827
  * @language zh_CN
@@ -58568,282 +61070,6 @@ class Plane3D {
58568
61070
  }
58569
61071
  }
58570
61072
 
58571
- class Polynomials {
58572
- }
58573
- function cubicPolynomialRoot(p, q, r) {
58574
- let rcp3 = 1 / 3;
58575
- let half = 0.5;
58576
- let po3 = p * rcp3;
58577
- let po3_2 = po3 * po3;
58578
- let po3_3 = po3_2 * po3;
58579
- let b = po3_3 - po3 * q * half + r * half;
58580
- let a = -po3_2 + q * rcp3;
58581
- let a3 = a * a * a;
58582
- let det = a3 + b * b;
58583
- if (det >= 0) {
58584
- let r0 = Math.sqrt(det) - b;
58585
- r0 = r0 > 0 ? Math.pow(r0, rcp3) : -Math.pow(-r0, rcp3);
58586
- return -po3 - a / r0 + r0;
58587
- }
58588
- let abs = Math.sqrt(-a3);
58589
- let arg = Math.acos(-b / abs);
58590
- abs = Math.pow(abs, rcp3);
58591
- abs = abs - a / abs;
58592
- arg = -po3 + abs * Math.cos(arg * rcp3);
58593
- return arg;
58594
- }
58595
- function quadraticPolynomialRootsGeneric(a, b, c, out) {
58596
- let eps = 1e-5;
58597
- if (Math.abs(a) < eps) {
58598
- if (Math.abs(b) > eps) {
58599
- out.r0 = -c / b;
58600
- return 1;
58601
- } else {
58602
- return 0;
58603
- }
58604
- }
58605
- let disc = b * b - 4 * a * c;
58606
- if (disc < 0) {
58607
- return 0;
58608
- }
58609
- let halfRcpA = 0.5 / a;
58610
- let sqrtDisc = Math.sqrt(disc);
58611
- out.r0 = (sqrtDisc - b) * halfRcpA;
58612
- out.r1 = (-sqrtDisc - b) * halfRcpA;
58613
- return 2;
58614
- }
58615
- function cubicPolynomialRootsGeneric(roots, a, b, c, d) {
58616
- let numRoots = 0;
58617
- if (Math.abs(a) >= 1e-4) {
58618
- let p = b / a;
58619
- let q = c / a;
58620
- let r = d / a;
58621
- roots[0] = cubicPolynomialRoot(p, q, r);
58622
- numRoots++;
58623
- let la = a;
58624
- let lb = b + a * roots[0];
58625
- let lc = c + b * roots[0] + a * roots[0] * roots[0];
58626
- numRoots += quadraticPolynomialRootsGeneric(la, lb, lc, {
58627
- r0: roots[1],
58628
- r1: roots[2]
58629
- });
58630
- } else {
58631
- numRoots += quadraticPolynomialRootsGeneric(b, c, d, {
58632
- r0: roots[1],
58633
- r1: roots[2]
58634
- });
58635
- }
58636
- return numRoots;
58637
- }
58638
-
58639
- class Polynomial {
58640
- coeff = [];
58641
- static EvalSegment(t, coeff) {
58642
- return t * (t * (t * coeff[0] + coeff[1]) + coeff[2]) + coeff[3];
58643
- }
58644
- }
58645
- class PolynomialCurve {
58646
- static kMaxNumSegments = 8;
58647
- segments = [];
58648
- integrationCache = [];
58649
- doubleIntegrationCache = [];
58650
- times = [];
58651
- segmentCount;
58652
- constructor() {
58653
- this.segments[PolynomialCurve.kMaxNumSegments] = new Polynomial();
58654
- this.integrationCache[PolynomialCurve.kMaxNumSegments] = 0;
58655
- this.doubleIntegrationCache[PolynomialCurve.kMaxNumSegments] = 0;
58656
- this.times[PolynomialCurve.kMaxNumSegments] = 0;
58657
- }
58658
- calculateMinMax(minmax, value) {
58659
- minmax.x = Math.min(minmax.x, value);
58660
- minmax.y = Math.max(minmax.y, value);
58661
- }
58662
- findMinMaxDoubleIntegrated() {
58663
- let result = Vector2.ZERO.clone();
58664
- let numSteps = 20;
58665
- let delta = 1 / numSteps;
58666
- let acc = delta;
58667
- for (let i = 0; i < numSteps; i++) {
58668
- this.calculateMinMax(result, this.evaluateDoubleIntegrated(acc));
58669
- acc += delta;
58670
- }
58671
- return result;
58672
- }
58673
- // Find the maximum of the integrated curve (x: min, y: max)
58674
- findMinMaxIntegrated() {
58675
- let result = Vector2.ZERO.clone();
58676
- let start = [];
58677
- let end = [];
58678
- for (let i = 0; i < this.segmentCount; i++) {
58679
- let a = 4 * this.segments[i].coeff[0];
58680
- let b = 3 * this.segments[i].coeff[1];
58681
- let c = 2 * this.segments[i].coeff[2];
58682
- let d = 1 * this.segments[i].coeff[3];
58683
- let roots = [];
58684
- let numRoots = cubicPolynomialRootsGeneric(roots, a, b, c, d);
58685
- for (let r = 0; r < numRoots; r++) {
58686
- let root = roots[r] + start[i];
58687
- if (root >= start[i] && root < end[i]) {
58688
- this.calculateMinMax(result, this.evaluateIntegrated(root));
58689
- }
58690
- }
58691
- this.calculateMinMax(result, this.evaluateIntegrated(end[i]));
58692
- this.times[i];
58693
- }
58694
- return result;
58695
- }
58696
- generateIntegrationCache(curve) {
58697
- curve.integrationCache[0] = 0;
58698
- let prevTimeValue0 = curve.times[0];
58699
- let prevTimeValue1 = 0;
58700
- for (let i = 1; i < curve.segmentCount; i++) {
58701
- let coeff = curve.segments[i - 1].coeff;
58702
- integrateSegment(coeff);
58703
- let time = prevTimeValue0 - prevTimeValue1;
58704
- curve.integrationCache[i] = curve.integrationCache[i - 1] + Polynomial.EvalSegment(time, coeff) * time;
58705
- prevTimeValue1 = prevTimeValue0;
58706
- prevTimeValue0 = curve.times[i];
58707
- }
58708
- }
58709
- generateDoubleIntegrationCache(curve) {
58710
- let sum = 0;
58711
- let prevTimeValue = 0;
58712
- for (let i = 0; i < curve.segmentCount; i++) {
58713
- curve.doubleIntegrationCache[i] = sum;
58714
- let time = curve.times[i] - prevTimeValue;
58715
- time = Math.max(time, 0);
58716
- sum += Polynomial.EvalSegment(time, curve.segments[i].coeff) * time * time + curve.integrationCache[i] * time;
58717
- prevTimeValue = curve.times[i];
58718
- }
58719
- }
58720
- // Integrates a velocity curve to be a position curve.
58721
- // You have to call EvaluateIntegrated to evaluate the curve
58722
- integrate() {
58723
- this.generateIntegrationCache(this);
58724
- for (let i = 0; i < this.segmentCount; i++) {
58725
- integrateSegment(this.segments[i].coeff);
58726
- }
58727
- }
58728
- // Integrates a velocity curve to be a position curve.
58729
- // You have to call EvaluateDoubleIntegrated to evaluate the curve
58730
- doubleIntegrate() {
58731
- this.generateIntegrationCache(this);
58732
- for (let i = 0; i < this.segmentCount; i++) {
58733
- doubleIntegrateSegment(this.segments[i].coeff);
58734
- }
58735
- this.generateDoubleIntegrationCache(this);
58736
- }
58737
- // Evaluates if it is possible to represent animation curve as PolynomialCurve
58738
- static isValidCurve(editorCurve) {
58739
- let keyCount = editorCurve.getKeyCount();
58740
- let segmentCount = keyCount - 1;
58741
- if (editorCurve.getKey(0).time != 0) {
58742
- segmentCount++;
58743
- }
58744
- if (editorCurve.getKey(keyCount - 1).time != 1) {
58745
- segmentCount++;
58746
- }
58747
- return segmentCount <= PolynomialCurve.kMaxNumSegments;
58748
- }
58749
- evaluateDoubleIntegrated(t) {
58750
- let prevTimeValue = 0;
58751
- for (let i = 0; i < this.segmentCount; i++) {
58752
- if (t <= this.times[i]) {
58753
- let time = t - prevTimeValue;
58754
- return this.doubleIntegrationCache[i] + this.integrationCache[i] * time + Polynomial.EvalSegment(time, this.segments[i].coeff) * time * time;
58755
- }
58756
- prevTimeValue = this.times[i];
58757
- }
58758
- return 1;
58759
- }
58760
- // Evaluate integrated Polynomial curve.
58761
- // Example: position = EvaluateIntegrated (normalizedTime) * startEnergy
58762
- // Use Integrate function to for example turn a velocity curve into a position curve.
58763
- // Expects that t is in the 0...1 range.
58764
- evaluateIntegrated(t) {
58765
- let prevTimeValue = 0;
58766
- for (let i = 0; i < this.segmentCount; i++) {
58767
- if (t <= this.times[i]) {
58768
- let time = t - prevTimeValue;
58769
- return this.integrationCache[i] + Polynomial.EvalSegment(time, this.segments[i].coeff) * time;
58770
- }
58771
- prevTimeValue = this.times[i];
58772
- }
58773
- return 1;
58774
- }
58775
- // Evaluate the curve
58776
- // extects that t is in the 0...1 range
58777
- evaluate(t) {
58778
- let prevTimeValue = 0;
58779
- for (let i = 0; i < this.segmentCount; i++) {
58780
- if (t <= this.times[i]) {
58781
- return Polynomial.EvalSegment(
58782
- t - prevTimeValue,
58783
- this.segments[i].coeff
58784
- );
58785
- }
58786
- prevTimeValue = this.times[i];
58787
- }
58788
- return 1;
58789
- }
58790
- buildCurve(editorCurve, scale) {
58791
- let keyCount = editorCurve.getKeyCount();
58792
- this.segmentCount = 1;
58793
- let kMaxTime = 1.01;
58794
- this.segments.length = 0;
58795
- this.integrationCache.length = 0;
58796
- this.doubleIntegrationCache.length = 0;
58797
- this.times.length = 0;
58798
- this.times[0] = kMaxTime;
58799
- if (keyCount == 0) ; else if (keyCount == 1) {
58800
- this.segments[0] = new Polynomial();
58801
- this.segments[0].coeff[3] = editorCurve.getKey(0).value * scale;
58802
- } else {
58803
- this.segmentCount = keyCount - 1;
58804
- let segmentOffset = 0;
58805
- if (editorCurve.getKey(0).time != 0) {
58806
- this.segments[0].coeff[3] = editorCurve.getKey(0).value;
58807
- this.times[0] = editorCurve.getKey(0).time;
58808
- segmentOffset = 1;
58809
- }
58810
- for (let i = 0; i < this.segmentCount; i++) {
58811
- let cache;
58812
- editorCurve.calculateCacheData(cache, i, i + 1, 0);
58813
- this.segments[i + segmentOffset].coeff = cache.coeff.concat();
58814
- this.times[i + segmentOffset] = editorCurve.getKey(i + 1).time;
58815
- }
58816
- this.segmentCount += segmentOffset;
58817
- if (editorCurve.getKey(keyCount - 1).time != 1) {
58818
- this.segments[this.segmentCount].coeff[3] = editorCurve.getKey(
58819
- keyCount - 1
58820
- ).value;
58821
- this.segmentCount++;
58822
- }
58823
- this.times[this.segmentCount - 1] = kMaxTime;
58824
- for (let i = 0; i < this.segmentCount; i++) {
58825
- this.segments[i].coeff[0] *= scale;
58826
- this.segments[i].coeff[1] *= scale;
58827
- this.segments[i].coeff[2] *= scale;
58828
- this.segments[i].coeff[3] *= scale;
58829
- }
58830
- }
58831
- return true;
58832
- }
58833
- }
58834
- function doubleIntegrateSegment(coeff) {
58835
- coeff[0] /= 20;
58836
- coeff[1] /= 12;
58837
- coeff[2] /= 6;
58838
- coeff[3] /= 2;
58839
- }
58840
- function integrateSegment(coeff) {
58841
- coeff[0] /= 4;
58842
- coeff[1] /= 3;
58843
- coeff[2] /= 2;
58844
- coeff[3] /= 1;
58845
- }
58846
-
58847
61073
  function uniform_real_distribution(min, max) {
58848
61074
  return Math.random() * max + Math.random() * min + (max - min) * Math.random();
58849
61075
  }
@@ -61824,86 +64050,6 @@ class TriGeometry extends GeometryBase {
61824
64050
  }
61825
64051
  }
61826
64052
 
61827
- class Float16ArrayTexture extends Texture {
61828
- uint16Array;
61829
- floatArray;
61830
- _dataBuffer;
61831
- /**
61832
- * 使用数字数组填充纹理,格式为[红0, 绿0, 蓝0, 透明度0, 红1, 绿1, 蓝1, 透明度1...]
61833
- * @param width 纹理宽度
61834
- * @param height 纹理高度
61835
- * @param numbers 每个像素的颜色值数组
61836
- * @param useMipmap 是否生成Mipmap
61837
- * @returns 返回纹理实例
61838
- */
61839
- create(width, height, numbers = null, mipmap = true) {
61840
- if (numbers == null) {
61841
- numbers = [];
61842
- for (let i = 0, c = width * height * 4; i < c; i++) {
61843
- numbers[i] = 0;
61844
- }
61845
- }
61846
- this.updateTexture(width, height, numbers, mipmap);
61847
- return this;
61848
- }
61849
- /**
61850
- * 更新纹理内容
61851
- * @param width 纹理宽度
61852
- * @param height 纹理高度
61853
- * @param numbers 像素数据数组
61854
- * @param mipmap 是否生成Mipmap
61855
- */
61856
- updateTexture(width, height, numbers, mipmap = true) {
61857
- if (width != this.width || height != this.height) {
61858
- this._dataBuffer && this._dataBuffer.destroy();
61859
- this._dataBuffer = null;
61860
- this.gpuTexture && this.gpuTexture.destroy();
61861
- this.gpuTexture = null;
61862
- }
61863
- this.floatArray = numbers;
61864
- let device = webGPUContext.device;
61865
- const bytesPerRow = width * 4 * 2;
61866
- this.format = GPUTextureFormat.rgba16float;
61867
- this.mipmapCount = Math.floor(mipmap ? Math.log2(width) : 1);
61868
- this.createTextureDescriptor(width, height, this.mipmapCount, this.format);
61869
- if (!this.uint16Array || this.uint16Array.length != numbers.length) {
61870
- this.uint16Array = new Uint16Array(numbers.length);
61871
- }
61872
- let uint16Array = this.uint16Array;
61873
- for (let i = 0, c = uint16Array.length; i < c; i++) {
61874
- uint16Array[i] = toHalfFloat(numbers[i]);
61875
- }
61876
- const textureDataBuffer = this._dataBuffer = device.createBuffer({
61877
- size: uint16Array.byteLength,
61878
- usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC
61879
- });
61880
- device.queue.writeBuffer(textureDataBuffer, 0, uint16Array);
61881
- const commandEncoder = GPUContext.beginCommandEncoder();
61882
- commandEncoder.copyBufferToTexture(
61883
- {
61884
- buffer: textureDataBuffer,
61885
- bytesPerRow
61886
- },
61887
- {
61888
- texture: this.getGPUTexture()
61889
- },
61890
- {
61891
- width,
61892
- height,
61893
- depthOrArrayLayers: 1
61894
- }
61895
- );
61896
- if (!this.useMipmap) {
61897
- this.samplerBindingLayout.type = `filtering`;
61898
- this.textureBindingLayout.sampleType = `float`;
61899
- }
61900
- GPUContext.endCommandEncoder(commandEncoder);
61901
- this.gpuSampler = device.createSampler(this);
61902
- this.gpuTexture = this.getGPUTexture();
61903
- if (this.mipmapCount > 1) TextureMipmapGenerator.webGPUGenerateMipmap(this);
61904
- }
61905
- }
61906
-
61907
64053
  class Float32ArrayTexture extends Texture {
61908
64054
  create(width, height, data, filtering = true) {
61909
64055
  let device = webGPUContext.device;
@@ -63343,4 +65489,4 @@ const __viteBrowserExternal = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.def
63343
65489
  __proto__: null
63344
65490
  }, Symbol.toStringTag, { value: 'Module' }));
63345
65491
 
63346
- export { AccelerateDecelerateInterpolator, AccelerateInterpolator, AnimationCurve, AnimationCurveT, AnimationMonitor, AnimatorComponent, AnimatorEventKeyframe, AnticipateInterpolator, AnticipateOvershootInterpolator, ArrayHas, ArrayItemIndex, AtlasParser, AtmosphericComponent, AtmosphericScatteringSky, AtmosphericScatteringSkySetting, AtmosphericScatteringSky_shader, AttributeAnimCurve, AxisObject, B3DMLoader, B3DMLoaderBase, B3DMParseUtil, B3DMParser, BRDFLUT, BRDFLUTGenerate, BRDF_frag, BatchTable, BiMap, BillboardComponent, BillboardType, BitUtil, BitmapTexture2D, BitmapTexture2DArray, BitmapTextureCube, Blend, BlendFactor, BlendMode, BlendShapeData, BlendShapePropertyData, BloomPost, BlurEffectCreatorBlur_cs, BlurEffectCreatorSample_cs, BlurTexture2DBufferCreator, BounceInterpolator, BoundUtil, BoundingBox, BoundingSphere, BoxColliderShape, BoxGeometry, BrdfLut_frag, BsDF_frag, BxDF_frag, BxdfDebug_frag, BytesArray, CEvent, CEventDispatcher, CEventListener, CResizeEvent, CSM, Camera3D, CameraControllerBase, CameraType, CameraUtil, CapsuleColliderShape, CastPointShadowMaterialPass, CastShadowMaterialPass, Clearcoat_frag, ClusterBoundsSource_cs, ClusterConfig, ClusterDebug_frag, ClusterLight, ClusterLightingBuffer, ClusterLightingRender, ClusterLighting_cs, CollectInfo, ColliderComponent, ColliderShape, ColliderShapeType, Color, ColorGradient, ColorLitMaterial, ColorLitShader, ColorPassFragmentOutput, ColorPassRenderer, ColorUtil, ComData, Combine_cs, Common_frag, Common_vert, ComponentBase, ComponentCollect, ComputeGPUBuffer, ComputeShader, Context3D, CubeCamera, CubeMapFaceEnum, CubeSky_Shader, CubicBezierCurve, CubicBezierPath, CubicBezierType, CycleInterpolator, CylinderGeometry, DDGIIrradianceComputePass, DDGIIrradianceGPUBufferReader, DDGIIrradianceVolume, DDGIIrradiance_shader, DDGILightingPass, DDGILighting_shader, DDGIMultiBouncePass, DDGIProbeRenderer, DEGREES_TO_RADIANS, DecelerateInterpolator, Denoising_cs, Depth2DTextureArray, DepthCubeArrayTexture, DepthMaterialPass, DepthOfFieldPost, DepthOfView_cs, DirectLight, DoubleArray, EditorInspector, Engine3D, Entity, EntityBatchCollect, EntityCollect, EnvMap_frag, ErpImage2CubeMap, ErpImage2CubeMapCreateCube_cs, ErpImage2CubeMapRgbe2rgba_cs, ExtrudeGeometry, FASTFLOOR, FXAAPost, FXAAShader, FastMathShader, FeatureTable, FileLoader, FirstPersonCameraController, Float16ArrayTexture, Float32ArrayTexture, FlyCameraController, FontChar, FontInfo, FontPage, FontParser, ForwardRenderJob, FragmentOutput, FragmentVarying, FrameCache, Frustum, FrustumCSM, FrustumCulling_cs, FullQuad_vert_wgsl, GBufferFrame, GBufferPass, GBufferPost, GBufferStand, GBuffer_pass, GILighting, GIProbeMaterial, GIProbeMaterialType, GIProbeShader, GIRenderCompleteEvent, GIRenderStartEvent, GLBChunk, GLBHeader, GLBParser, GLSLLexer, GLSLLexerToken, GLSLPreprocessor, GLSLSyntax, GLTFBinaryExtension, GLTFMaterial, GLTFParser, GLTFSubParser, GLTFSubParserCamera, GLTFSubParserConverter, GLTFSubParserMaterial, GLTFSubParserMesh, GLTFSubParserSkeleton, GLTFSubParserSkin, GLTFType, GLTF_Accessors, GLTF_Info, GLTF_Light, GLTF_Mesh, GLTF_Node, GLTF_Primitives, GLTF_Scene, GPUAddressMode, GPUBlendFactor, GPUBufferBase, GPUBufferType, GPUCompareFunction, GPUContext, GPUCullMode, GPUFilterMode, GPUPrimitiveTopology, GPUTextureFormat, GPUVertexFormat, GPUVertexStepMode, GTAOPost, GTAO_cs, GUIAtlasTexture, GUICanvas, GUIConfig, GUIGeometry, GUIGeometryRebuild, GUIMaterial, GUIPassRenderer, GUIPick, GUIPickHelper, GUIQuad, GUIQuadAttrEnum, GUIRenderer, GUIShader, GUISpace, GUISprite, GUITexture, GenerayRandomDir, GeoJsonParser, GeoJsonUtil, GeoType, GeometryBase, GeometryIndicesBuffer, GeometryUtil, GeometryVertexBuffer, GeometryVertexType, GetComponentClass, GetCountInstanceID, GetRepeat, GetShader, GlassShader, GlobalBindGroup, GlobalBindGroupLayout, GlobalFog, GlobalFog_shader, GlobalIlluminationComponent, GlobalUniform, GlobalUniformGroup, GodRayPost, GodRay_cs, GridObject, HDRTexture, HDRTextureCube, Hair_frag, Hair_shader_op, Hair_shader_tr, HaltonSeq, Horizontal, HoverCameraController, I3DMLoader, I3DMLoaderBase, I3DMParser, IBLEnvMapCreator, IBLEnvMapCreator_cs, IESProfiles, IESProfiles_frag, IKDTreeUserData, ImageType, IndicesGPUBuffer, Inline_vert, InputSystem, InstanceDrawComponent, InstanceUniform, InstancedMesh, Interpolator, InterpolatorEnum, IrradianceDataReaderCompleteEvent, IrradianceVolumeData_frag, Irradiance_frag, IsEditorInspector, IsNonSerialize, Joint, JointPose, JumperInterpolator, KDTreeEntity, KDTreeNode, KDTreeRange, KDTreeSpace, KDTreeUUID, KHR_draco_mesh_compression, KHR_lights_punctual, KHR_materials_clearcoat, KHR_materials_emissive_strength, KHR_materials_ior, KHR_materials_unlit, KV, KelvinUtil, KeyCode, KeyEvent, Keyframe, KeyframeT, LDRTextureCube, LambertMaterial, Lambert_shader, Light, LightBase, LightData, LightEntries, LightType, LightingFunction_frag, Line, LineClassification, LinearInterpolator, LitMaterial, LitSSSShader, LitShader, Lit_shader, LoaderBase, LoaderEvent, LoaderManager, MAX_VALUE, MIN_VALUE, Material, MaterialDataUniformGPUBuffer, MaterialUtilities, MathShader, MathUtil, Matrix3, Matrix4, MatrixBindGroup, MatrixGPUBuffer, MatrixShader, MemoryDO, MemoryInfo, MergeRGBACreator, MergeRGBA_cs, MeshColliderShape, MeshFilter, MeshRenderer, MorePassParser, MorePassShader, MorphTargetBlender, MorphTargetData, MorphTargetFrame, MorphTargetTransformKey, MorphTarget_shader, MouseCode, MultiBouncePass_cs, Navi3DAstar, Navi3DConst, Navi3DEdge, Navi3DFunnel, Navi3DMaskType, Navi3DMesh, Navi3DPoint, Navi3DPoint2D, Navi3DPointFat, Navi3DRouter, Navi3DTriangle, NonSerialize, NormalMap_frag, OAnimationEvent, OBJParser, Object3D, Object3DEvent, Object3DTransformTools, Object3DUtil, ObjectAnimClip, OcclusionSystem, Octree, OctreeEntity, OrbitController, OrderMap, Orientation3D, OutLineBlendColor_cs, OutlineCalcOutline_cs, OutlinePass, OutlinePost, OutlinePostData, OutlinePostManager, OutlinePostSlot, Outline_cs, OvershootInterpolator, PBRLItShader, PBRLitSSSShader, ParserBase, ParserFormat, PassGenerate, PassShader, PassType, PhysicMaterialUniform_frag, PickCompute, PickFire, PickGUIEvent3D, PickResult, Picker_cs, PingPong, PipelinePool, Plane3D, PlaneClassification, PlaneGeometry, PointClassification, PointLight, PointLightShadowRenderer, PointShadowCubeCamera, PointerEvent3D, Polynomial, PolynomialCurve, Polynomials, PoolNode, PostBase, PostProcessingComponent, PostRenderer, PreDepthPassRenderer, PreFilteredEnvironment_cs, PreFilteredEnvironment_cs2, PreIntegratedLut, PreIntegratedLutCompute, PrefabAvatarData, PrefabAvatarParser, PrefabBoneData, PrefabMaterialParser, PrefabMeshData, PrefabMeshParser, PrefabNode, PrefabParser, PrefabStringUtil, PrefabTextureData, PrefabTextureParser, Preprocessor, Probe, ProbeEntries, ProbeGBufferFrame, ProfilerUtil, PropertyAnimClip, PropertyAnimTag, PropertyAnimation, PropertyAnimationClip, PropertyAnimationClipState, PropertyAnimationEvent, PropertyHelp, QuadAABB, QuadGlsl_fs, QuadGlsl_vs, QuadRoot, QuadShader, QuadTree, QuadTreeCell, Quad_depth2dArray_frag_wgsl, Quad_depth2d_frag_wgsl, Quad_depthCube_frag_wgsl, Quad_frag_wgsl, Quad_vert_wgsl, Quaternion, RADIANS_TO_DEGREES, RGBEErrorCode, RGBEHeader, RGBEParser, RTDescriptor, RTFrame, RTResourceConfig, RTResourceMap, Rand, RandomSeed, Ray, RayCastMeshDetail, Reader, Rect, Reference, Reflection, ReflectionCG, ReflectionEntries, ReflectionMaterial, ReflectionRenderer, ReflectionShader, ReflectionShader_shader, RegisterComponent, RegisterShader, RenderContext, RenderLayer, RenderLayerUtil, RenderNode, RenderShaderCollect, RenderShaderCompute, RenderShaderPass, RenderTexture, RendererBase, RendererJob, RendererMap, RendererMask, RendererMaskUtil, RendererPassState, RepeatSE, Res, RotationControlComponents, SHCommon_frag, SN_ArrayConstant, SN_BinaryOperation, SN_Break, SN_CodeBlock, SN_Constant, SN_Continue, SN_Declaration, SN_Discard, SN_DoWhileLoop, SN_Expression, SN_ForLoop, SN_Function, SN_FunctionArgs, SN_FunctionCall, SN_IFBranch, SN_Identifier, SN_IndexOperation, SN_Layout, SN_ParenExpression, SN_Precision, SN_Return, SN_SelectOperation, SN_Struct, SN_TernaryOperation, SN_UnaryOperation, SN_WhileLoop, SSAO_cs, SSGI2_cs, SSGIPost, SSRPost, SSR_BlendColor_cs, SSR_IS_Kernel, SSR_IS_cs, SSR_RayTrace_cs, ScaleControlComponents, Scene3D, Shader, ShaderAttributeInfo, ShaderConverter, ShaderConverterResult, ShaderLib, ShaderPassBase, ShaderReflection, ShaderStage, ShaderState, ShaderUniformInfo, ShaderUtil, ShadingInput, ShadowLightsCollect, ShadowMapPassRenderer, ShadowMapping_frag, Skeleton, SkeletonAnimationClip, SkeletonAnimationClipState, SkeletonAnimationComponent, SkeletonAnimationCompute, SkeletonAnimation_shader, SkeletonBlendComputeArgs, SkeletonPose, SkeletonTransformComputeArgs, SkinnedMeshRenderer, SkinnedMeshRenderer2, SkyGBufferPass, SkyGBuffer_pass, SkyMaterial, SkyRenderer, SkyShader, SolidColorSky, SphereColliderShape, SphereGeometry, SphereReflection, SpotLight, StandShader, StatementNode, StorageGPUBuffer, StringUtil, Struct, StructStorageGPUBuffer, SubGeometry, TAACopyTex_cs, TAAPost, TAASharpTex_cs, TAA_cs, TestComputeLoadBuffer, TextAnchor, TextFieldLayout, TextFieldLine, Texture, TextureCube, TextureCubeFaceData, TextureCubeStdCreator, TextureCubeUtils, TextureMipmapCompute, TextureMipmapGenerator, TextureScaleCompute, ThirdPersonCameraController, TileSet, TileSetChild, TileSetChildContent, TileSetChildContentMetaData, TileSetRoot, TilesRenderer, Time, TokenType, TorusGeometry, TouchData, TrailGeometry, Transform, TransformAxisEnum, TransformControllerBaseComponent, TransformMode, TransformSpaceMode, TranslationControlComponents, TranslatorContext, TriGeometry, Triangle, UIButton, UIButtonTransition, UIComponentBase, UIEvent, UIImage, UIImageGroup, UIInteractive, UIInteractiveStyle, UIPanel, UIRenderAble, UIShadow, UITextField, UITransform, UUID, UV, Uint8ArrayTexture, UnLit, UnLitMaterial, UnLitMaterialUniform_frag, UnLitShader, UnLitTexArrayMaterial, UnLitTexArrayShader, UnLitTextureArray, UnLit_frag, UniformGPUBuffer, UniformNode, UniformType, ValueEnumType, ValueOp, ValueParser, Vector2, Vector3, Vector3Ex, Vector4, VertexAttribute, VertexAttributeIndexShader, VertexAttributeName, VertexAttributeSize, VertexAttributeStride, VertexAttributes_vert, VertexBufferLayout, VertexFormat, VertexGPUBuffer, Vertical, VideoUniform_frag, View3D, ViewPanel, ViewQuad, VirtualTexture, WGSLTranslator, WebGPUDescriptorCreator, WorldMatrixUniform, WorldPanel, WrapMode, WrapTimeMode, ZCullingCompute, ZPassShader_cs, ZPassShader_fs, ZPassShader_vs, ZSorterUtil, append, arrayToString, blendComponent, castPointShadowMap_vert, clamp, clampRepeat, cos, crossProduct, cubicPolynomialRoot, cubicPolynomialRootsGeneric, deg2Rad, directionShadowCastMap_frag, dot, doubleIntegrateSegment, downSample, fastInvSqrt, floorfToIntPos, fonts, generateRandom, generateRandom3, getFloatFromInt, getGLTypeFromTypedArray, getGLTypeFromTypedArrayType, getGlobalRandomSeed, getTypedArray, getTypedArrayTypeFromGLType, grad1, grad2, grad3, grad4, integrateSegment, irradianceDataReader, lerp, lerpByte, lerpColor, lerpVector3, magnitude, makeAloneSprite, makeGUISprite, makeMatrix44, matrixMultiply, matrixRotate, matrixRotateY, mergeFunctions, multiplyMatrices4x4REF, normal_distribution, normalizeFast, normalizeSafe, normalizedToByte, normalizedToWord, outlinePostData, outlinePostManager, perm, post, quadraticPolynomialRootsGeneric, rad2Deg, random01, randomBarycentricCoord, randomPointBetweenEllipsoid, randomPointBetweenSphere, randomPointInsideCube, randomPointInsideEllipsoid, randomPointInsideUnitCircle, randomPointInsideUnitSphere, randomQuaternion, randomQuaternionUniformDistribution, randomSeed, randomUnitVector, randomUnitVector2, rangedRandomFloat, rangedRandomInt, readMagicBytes, registerMaterial, repeat, rotMatrix, rotateVectorByQuat, roundfToIntPos, scale, shadowCastMap_frag, shadowCastMap_vert, simplex, sin, snoise1, snoise2, snoise3, snoise4, sqrMagnitude, sqrtImpl, stencilStateFace, swap, textureCompress, threshold, toHalfFloat, tw, uniform_real_distribution, uniform_real_distribution2, upSample$1 as upSample, webGPUContext, zSorterUtil };
65492
+ export { AccelerateDecelerateInterpolator, AccelerateInterpolator, AnimationCurve, AnimationCurveT, AnimationMonitor, AnimatorComponent, AnimatorEventKeyframe, AnticipateInterpolator, AnticipateOvershootInterpolator, ArrayHas, ArrayItemIndex, AtlasParser, AtmosphericComponent, AtmosphericScatteringSky, AtmosphericScatteringSkySetting, AtmosphericScatteringSky_shader, AttributeAnimCurve, AxisObject, B3DMLoader, B3DMLoaderBase, B3DMParseUtil, B3DMParser, BRDFLUT, BRDFLUTGenerate, BRDF_frag, BatchTable, BiMap, BillboardComponent, BillboardType, BitUtil, BitmapTexture2D, BitmapTexture2DArray, BitmapTextureCube, Blend, BlendFactor, BlendMode, BlendShapeData, BlendShapePropertyData, BloomPost, BlurEffectCreatorBlur_cs, BlurEffectCreatorSample_cs, BlurTexture2DBufferCreator, BounceInterpolator, BoundUtil, BoundingBox, BoundingSphere, BoxColliderShape, BoxGeometry, BrdfLut_frag, BsDF_frag, BxDF_frag, BxdfDebug_frag, BytesArray, CEvent, CEventDispatcher, CEventListener, CResizeEvent, CSM, Camera3D, CameraControllerBase, CameraType, CameraUtil, CapsuleColliderShape, CastPointShadowMaterialPass, CastShadowMaterialPass, Clearcoat_frag, ClusterBoundsSource_cs, ClusterConfig, ClusterDebug_frag, ClusterLight, ClusterLightingBuffer, ClusterLightingRender, ClusterLighting_cs, CollectInfo, ColliderComponent, ColliderShape, ColliderShapeType, Color, ColorGradient, ColorLitMaterial, ColorLitShader, ColorPassFragmentOutput, ColorPassRenderer, ColorUtil, ComData, Combine_cs, Common_frag, Common_vert, ComponentBase, ComponentCollect, ComputeGPUBuffer, ComputeShader, Context3D, CubeCamera, CubeMapFaceEnum, CubeSky_Shader, CubicBezierCurve, CubicBezierPath, CubicBezierType, CycleInterpolator, CylinderGeometry, DDGIIrradianceComputePass, DDGIIrradianceGPUBufferReader, DDGIIrradianceVolume, DDGIIrradiance_shader, DDGILightingPass, DDGILighting_shader, DDGIMultiBouncePass, DDGIProbeRenderer, DEGREES_TO_RADIANS, DecelerateInterpolator, Denoising_cs, Depth2DTextureArray, DepthCubeArrayTexture, DepthMaterialPass, DepthOfFieldPost, DepthOfView_cs, DirectLight, DoubleArray, EditorInspector, Engine3D, Entity, EntityBatchCollect, EntityCollect, EnvMap_frag, ErpImage2CubeMap, ErpImage2CubeMapCreateCube_cs, ErpImage2CubeMapRgbe2rgba_cs, ExtrudeGeometry, FASTFLOOR, FXAAPost, FXAAShader, FastMathShader, FeatureTable, FileLoader, FirstPersonCameraController, Float16ArrayTexture, Float32ArrayTexture, FlyCameraController, FontChar, FontInfo, FontPage, FontParser, ForwardRenderJob, FragmentOutput, FragmentVarying, FrameCache, Frustum, FrustumCSM, FrustumCulling_cs, FullQuad_vert_wgsl, GBufferFrame, GBufferPass, GBufferPost, GBufferStand, GBuffer_pass, GILighting, GIProbeMaterial, GIProbeMaterialType, GIProbeShader, GIRenderCompleteEvent, GIRenderStartEvent, GLBChunk, GLBHeader, GLBParser, GLSLLexer, GLSLLexerToken, GLSLPreprocessor, GLSLSyntax, GLTFBinaryExtension, GLTFMaterial, GLTFParser, GLTFSubParser, GLTFSubParserCamera, GLTFSubParserConverter, GLTFSubParserMaterial, GLTFSubParserMesh, GLTFSubParserSkeleton, GLTFSubParserSkin, GLTFType, GLTF_Accessors, GLTF_Info, GLTF_Light, GLTF_Mesh, GLTF_Node, GLTF_Primitives, GLTF_Scene, GPUAddressMode, GPUBlendFactor, GPUBufferBase, GPUBufferType, GPUCompareFunction, GPUContext, GPUCullMode, GPUFilterMode, GPUPrimitiveTopology, GPUTextureFormat, GPUVertexFormat, GPUVertexStepMode, GSplatFormat, GSplatMaterial, GSplatRenderer, GSplat_FS, GSplat_VS, GTAOPost, GTAO_cs, GUIAtlasTexture, GUICanvas, GUIConfig, GUIGeometry, GUIGeometryRebuild, GUIMaterial, GUIPassRenderer, GUIPick, GUIPickHelper, GUIQuad, GUIQuadAttrEnum, GUIRenderer, GUIShader, GUISpace, GUISprite, GUITexture, GaussianSplatParser, GenerayRandomDir, GeoJsonParser, GeoJsonUtil, GeoType, GeometryBase, GeometryIndicesBuffer, GeometryUtil, GeometryVertexBuffer, GeometryVertexType, GetComponentClass, GetCountInstanceID, GetRepeat, GetShader, GlassShader, GlobalBindGroup, GlobalBindGroupLayout, GlobalFog, GlobalFog_shader, GlobalIlluminationComponent, GlobalUniform, GlobalUniformGroup, GodRayPost, GodRay_cs, GridObject, HDRTexture, HDRTextureCube, Hair_frag, Hair_shader_op, Hair_shader_tr, HaltonSeq, Horizontal, HoverCameraController, I3DMLoader, I3DMLoaderBase, I3DMParser, IBLEnvMapCreator, IBLEnvMapCreator_cs, IESProfiles, IESProfiles_frag, IKDTreeUserData, ImageType, IndicesGPUBuffer, Inline_vert, InputSystem, InstanceDrawComponent, InstanceUniform, InstancedMesh, Interpolator, InterpolatorEnum, IrradianceDataReaderCompleteEvent, IrradianceVolumeData_frag, Irradiance_frag, IsEditorInspector, IsNonSerialize, Joint, JointPose, JumperInterpolator, KDTreeEntity, KDTreeNode, KDTreeRange, KDTreeSpace, KDTreeUUID, KHR_draco_mesh_compression, KHR_lights_punctual, KHR_materials_clearcoat, KHR_materials_emissive_strength, KHR_materials_ior, KHR_materials_unlit, KMZParser, KV, KelvinUtil, KeyCode, KeyEvent, Keyframe, KeyframeT, LDRTextureCube, LambertMaterial, Lambert_shader, Light, LightBase, LightData, LightEntries, LightType, LightingFunction_frag, Line, LineClassification, LinearInterpolator, LitMaterial, LitSSSShader, LitShader, Lit_shader, LoaderBase, LoaderEvent, LoaderManager, MAX_VALUE, MIN_VALUE, Material, MaterialDataUniformGPUBuffer, MaterialUtilities, MathShader, MathUtil, Matrix3, Matrix4, MatrixBindGroup, MatrixGPUBuffer, MatrixShader, MemoryDO, MemoryInfo, MergeRGBACreator, MergeRGBA_cs, MeshColliderShape, MeshFilter, MeshRenderer, MinMaxAnimationCurves, MinMaxCurve, MinMaxCurveState, MinMaxPolyCurves, MorePassParser, MorePassShader, MorphTargetBlender, MorphTargetData, MorphTargetFrame, MorphTargetTransformKey, MorphTarget_shader, MouseCode, MultiBouncePass_cs, Navi3DAstar, Navi3DConst, Navi3DEdge, Navi3DFunnel, Navi3DMaskType, Navi3DMesh, Navi3DPoint, Navi3DPoint2D, Navi3DPointFat, Navi3DRouter, Navi3DTriangle, NonSerialize, NormalMap_frag, OAnimationEvent, OBJParser, Object3D, Object3DEvent, Object3DTransformTools, Object3DUtil, ObjectAnimClip, OcclusionSystem, Octree, OctreeEntity, OrbitController, OrderMap, Orientation3D, OutLineBlendColor_cs, OutlineCalcOutline_cs, OutlinePass, OutlinePost, OutlinePostData, OutlinePostManager, OutlinePostSlot, Outline_cs, OvershootInterpolator, PBRLItShader, PBRLitSSSShader, ParserBase, ParserFormat, ParticleSystemCurveEvalMode, ParticleSystemRandomnessIds, PassGenerate, PassShader, PassType, PhysicMaterialUniform_frag, PickCompute, PickFire, PickGUIEvent3D, PickResult, Picker_cs, PingPong, PipelinePool, Plane3D, PlaneClassification, PlaneGeometry, PointClassification, PointLight, PointLightShadowRenderer, PointShadowCubeCamera, PointerEvent3D, Polynomial, PolynomialCurve, Polynomials, PoolNode, PostBase, PostProcessingComponent, PostRenderer, PreDepthPassRenderer, PreFilteredEnvironment_cs, PreFilteredEnvironment_cs2, PreIntegratedLut, PreIntegratedLutCompute, PrefabAvatarData, PrefabAvatarParser, PrefabBoneData, PrefabMaterialParser, PrefabMeshData, PrefabMeshParser, PrefabNode, PrefabParser, PrefabStringUtil, PrefabTextureData, PrefabTextureParser, Preprocessor, Probe, ProbeEntries, ProbeGBufferFrame, ProfilerUtil, PropertyAnimClip, PropertyAnimTag, PropertyAnimation, PropertyAnimationClip, PropertyAnimationClipState, PropertyAnimationEvent, PropertyHelp, QuadAABB, QuadGlsl_fs, QuadGlsl_vs, QuadRoot, QuadShader, QuadTree, QuadTreeCell, Quad_depth2dArray_frag_wgsl, Quad_depth2d_frag_wgsl, Quad_depthCube_frag_wgsl, Quad_frag_wgsl, Quad_vert_wgsl, Quaternion, RADIANS_TO_DEGREES, RGBEErrorCode, RGBEHeader, RGBEParser, RTDescriptor, RTFrame, RTResourceConfig, RTResourceMap, Rand, RandomSeed, Ray, RayCastMeshDetail, Reader, Rect, Reference, Reflection, ReflectionCG, ReflectionEntries, ReflectionMaterial, ReflectionRenderer, ReflectionShader, ReflectionShader_shader, RegisterComponent, RegisterShader, RenderContext, RenderLayer, RenderLayerUtil, RenderNode, RenderShaderCollect, RenderShaderCompute, RenderShaderPass, RenderTexture, RendererBase, RendererJob, RendererMap, RendererMask, RendererMaskUtil, RendererPassState, RepeatSE, Res, RotationControlComponents, SHCommon_frag, SN_ArrayConstant, SN_BinaryOperation, SN_Break, SN_CodeBlock, SN_Constant, SN_Continue, SN_Declaration, SN_Discard, SN_DoWhileLoop, SN_Expression, SN_ForLoop, SN_Function, SN_FunctionArgs, SN_FunctionCall, SN_IFBranch, SN_Identifier, SN_IndexOperation, SN_Layout, SN_ParenExpression, SN_Precision, SN_Return, SN_SelectOperation, SN_Struct, SN_TernaryOperation, SN_UnaryOperation, SN_WhileLoop, SSAO_cs, SSGI2_cs, SSGIPost, SSRPost, SSR_BlendColor_cs, SSR_IS_Kernel, SSR_IS_cs, SSR_RayTrace_cs, ScaleControlComponents, Scene3D, Shader, ShaderAttributeInfo, ShaderConverter, ShaderConverterResult, ShaderLib, ShaderPassBase, ShaderReflection, ShaderStage, ShaderState, ShaderUniformInfo, ShaderUtil, ShadingInput, ShadowLightsCollect, ShadowMapPassRenderer, ShadowMapping_frag, Skeleton, SkeletonAnimationClip, SkeletonAnimationClipState, SkeletonAnimationComponent, SkeletonAnimationCompute, SkeletonAnimation_shader, SkeletonBlendComputeArgs, SkeletonPose, SkeletonTransformComputeArgs, SkinnedMeshRenderer, SkinnedMeshRenderer2, SkyGBufferPass, SkyGBuffer_pass, SkyMaterial, SkyRenderer, SkyShader, SolidColorSky, SphereColliderShape, SphereGeometry, SphereReflection, SpotLight, StandShader, StatementNode, StorageGPUBuffer, StringUtil, Struct, StructStorageGPUBuffer, SubGeometry, TAACopyTex_cs, TAAPost, TAASharpTex_cs, TAA_cs, TestComputeLoadBuffer, TextAnchor, TextFieldLayout, TextFieldLine, Texture, TextureCube, TextureCubeFaceData, TextureCubeStdCreator, TextureCubeUtils, TextureMipmapCompute, TextureMipmapGenerator, TextureScaleCompute, ThirdPersonCameraController, TileSet, TileSetChild, TileSetChildContent, TileSetChildContentMetaData, TileSetRoot, TilesRenderer, Time, TokenType, TorusGeometry, TouchData, TrailGeometry, Transform, TransformAxisEnum, TransformControllerBaseComponent, TransformMode, TransformSpaceMode, TranslationControlComponents, TranslatorContext, TriGeometry, Triangle, UIButton, UIButtonTransition, UIComponentBase, UIEvent, UIImage, UIImageGroup, UIInteractive, UIInteractiveStyle, UIPanel, UIRenderAble, UIShadow, UITextField, UITransform, UUID, UV, Uint32ArrayTexture, Uint8ArrayTexture, UnLit, UnLitMaterial, UnLitMaterialUniform_frag, UnLitShader, UnLitTexArrayMaterial, UnLitTexArrayShader, UnLitTextureArray, UnLit_frag, UniformGPUBuffer, UniformNode, UniformType, ValueEnumType, ValueOp, ValueParser, ValueSpread, Vector2, Vector3, Vector3Ex, Vector4, VertexAttribute, VertexAttributeIndexShader, VertexAttributeName, VertexAttributeSize, VertexAttributeStride, VertexAttributes_vert, VertexBufferLayout, VertexFormat, VertexGPUBuffer, Vertical, VideoUniform_frag, View3D, ViewPanel, ViewQuad, VirtualTexture, WGSLTranslator, WayLines3D, WayPoint3D, WebGPUDescriptorCreator, WorldMatrixUniform, WorldPanel, WrapMode, WrapTimeMode, ZCullingCompute, ZPassShader_cs, ZPassShader_fs, ZPassShader_vs, ZSorterUtil, append, arrayToString, blendComponent, buildCurves, byteSizeOfType, calculateCurveRangesValue, calculateMinMax, castPointShadowMap_vert, clamp, clampRepeat, computeAABBFromPositions, cos, crossProduct, cubicPolynomialRoot, cubicPolynomialRootsGeneric, curvesSupportProcedural, deg2Rad, detectGSplatFormat, directionShadowCastMap_frag, dot, doubleIntegrateSegment, downSample, fastInvSqrt, floorfToIntPos, fonts, generateRandom, generateRandom3, getFloatFromInt, getGLTypeFromTypedArray, getGLTypeFromTypedArrayType, getGlobalRandomSeed, getTypedArray, getTypedArrayTypeFromGLType, grad1, grad2, grad3, grad4, inferSHOrder, integrateSegment, irradianceDataReader, kPI, lerp, lerpByte, lerpColor, lerpVector3, magnitude, makeAloneSprite, makeGUISprite, makeMatrix44, matrixMultiply, matrixRotate, matrixRotateY, mergeFunctions, multiplyMatrices4x4REF, normal_distribution, normalizeFast, normalizeSafe, normalizedToByte, normalizedToWord, outlinePostData, outlinePostManager, parsePlyGaussianSplat, parsePlyHeader, perm, post, quadraticPolynomialRootsGeneric, rad2Deg, random01, randomBarycentricCoord, randomPointBetweenEllipsoid, randomPointBetweenSphere, randomPointInsideCube, randomPointInsideEllipsoid, randomPointInsideUnitCircle, randomPointInsideUnitSphere, randomQuaternion, randomQuaternionUniformDistribution, randomSeed, randomUnitVector, randomUnitVector2, rangedRandomFloat, rangedRandomInt, readByType, readMagicBytes, registerMaterial, repeat, rotMatrix, rotateVectorByQuat, roundfToIntPos, scale, shadowCastMap_frag, shadowCastMap_vert, simplex, sin, snoise1, snoise2, snoise3, snoise4, sqrMagnitude, sqrtImpl, stencilStateFace, swap, textureCompress, threshold, toHalfFloat, tw, uniform_real_distribution, uniform_real_distribution2, upSample$1 as upSample, webGPUContext, zSorterUtil };