@zephyr3d/scene 0.9.4 → 0.9.6

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 (517) hide show
  1. package/dist/animation/animationmask.js +224 -0
  2. package/dist/animation/animationmask.js.map +1 -0
  3. package/dist/animation/animationset.js +268 -67
  4. package/dist/animation/animationset.js.map +1 -1
  5. package/dist/animation/animationtrack.js.map +1 -1
  6. package/dist/animation/eulerrotationtrack.js +3 -0
  7. package/dist/animation/eulerrotationtrack.js.map +1 -1
  8. package/dist/animation/fixed_geometry_cache_track.js +7 -0
  9. package/dist/animation/fixed_geometry_cache_track.js.map +1 -1
  10. package/dist/animation/ik_modifier.js.map +1 -1
  11. package/dist/animation/joint_dynamics/collision.js +6 -4
  12. package/dist/animation/joint_dynamics/collision.js.map +1 -1
  13. package/dist/animation/joint_dynamics/controller.js +390 -43
  14. package/dist/animation/joint_dynamics/controller.js.map +1 -1
  15. package/dist/animation/joint_dynamics/joint_dynamics_system.js +62 -3
  16. package/dist/animation/joint_dynamics/joint_dynamics_system.js.map +1 -1
  17. package/dist/animation/joint_dynamics/solver.js +4 -3
  18. package/dist/animation/joint_dynamics/solver.js.map +1 -1
  19. package/dist/animation/joint_dynamics/types.js.map +1 -1
  20. package/dist/animation/joint_dynamics_modifier.js +2 -0
  21. package/dist/animation/joint_dynamics_modifier.js.map +1 -1
  22. package/dist/animation/morphtarget.js +3 -72
  23. package/dist/animation/morphtarget.js.map +1 -1
  24. package/dist/animation/morphtrack.js +3 -0
  25. package/dist/animation/morphtrack.js.map +1 -1
  26. package/dist/animation/pca_geometry_cache_track.js +3 -0
  27. package/dist/animation/pca_geometry_cache_track.js.map +1 -1
  28. package/dist/animation/proptrack.js +3 -0
  29. package/dist/animation/proptrack.js.map +1 -1
  30. package/dist/animation/rotationtrack.js +3 -0
  31. package/dist/animation/rotationtrack.js.map +1 -1
  32. package/dist/animation/scaletrack.js +3 -0
  33. package/dist/animation/scaletrack.js.map +1 -1
  34. package/dist/animation/skeleton.js +254 -79
  35. package/dist/animation/skeleton.js.map +1 -1
  36. package/dist/animation/skeleton_modifier.js.map +1 -1
  37. package/dist/animation/spring_modifier.js.map +1 -1
  38. package/dist/animation/translationtrack.js +3 -0
  39. package/dist/animation/translationtrack.js.map +1 -1
  40. package/dist/app/engine.js +171 -107
  41. package/dist/app/engine.js.map +1 -1
  42. package/dist/app/scriptregistry.js +251 -80
  43. package/dist/app/scriptregistry.js.map +1 -1
  44. package/dist/asset/assetmanager.js +344 -365
  45. package/dist/asset/assetmanager.js.map +1 -1
  46. package/dist/asset/loaders/loader.js +1 -6
  47. package/dist/asset/loaders/loader.js.map +1 -1
  48. package/dist/asset/loaders/zabc/zabc_loader.js.map +1 -1
  49. package/dist/asset/model.js +1000 -131
  50. package/dist/asset/model.js.map +1 -1
  51. package/dist/avatar/wardrobe.js +474 -0
  52. package/dist/avatar/wardrobe.js.map +1 -0
  53. package/dist/index.d.ts +1126 -199
  54. package/dist/index.js +3 -2
  55. package/dist/index.js.map +1 -1
  56. package/dist/material/mixins/lightmodel/pbrmetallicroughness.js +6 -3
  57. package/dist/material/mixins/lightmodel/pbrmetallicroughness.js.map +1 -1
  58. package/dist/material/mixins/pbr/common.js +72 -15
  59. package/dist/material/mixins/pbr/common.js.map +1 -1
  60. package/dist/material/msdf_text.js +3 -3
  61. package/dist/material/msdf_text.js.map +1 -1
  62. package/dist/material/msdf_text_sprite.js +4 -4
  63. package/dist/material/msdf_text_sprite.js.map +1 -1
  64. package/dist/material/pbrblueprint.js +102 -102
  65. package/dist/material/pbrblueprint.js.map +1 -1
  66. package/dist/render/envlight.js +54 -1
  67. package/dist/render/envlight.js.map +1 -1
  68. package/dist/render/sky.js +9 -0
  69. package/dist/render/sky.js.map +1 -1
  70. package/dist/scene/batchgroup.js +11 -13
  71. package/dist/scene/batchgroup.js.map +1 -1
  72. package/dist/scene/environment.js +15 -2
  73. package/dist/scene/environment.js.map +1 -1
  74. package/dist/scene/mesh.js +79 -16
  75. package/dist/scene/mesh.js.map +1 -1
  76. package/dist/scene/scene.js +1 -0
  77. package/dist/scene/scene.js.map +1 -1
  78. package/dist/scene/scene_node.js +203 -2
  79. package/dist/scene/scene_node.js.map +1 -1
  80. package/dist/text/font/cff_font.js +890 -0
  81. package/dist/text/font/cff_font.js.map +1 -0
  82. package/dist/text/font/font_asset.js +17 -3
  83. package/dist/text/font/font_asset.js.map +1 -1
  84. package/dist/text/msdf/generator.js.map +1 -1
  85. package/dist/text/msdf/shape.js +4 -1
  86. package/dist/text/msdf/shape.js.map +1 -1
  87. package/dist/text/runtime/msdf_text_atlas_manager.js +4 -1
  88. package/dist/text/runtime/msdf_text_atlas_manager.js.map +1 -1
  89. package/dist/utility/blueprint/material/inputs.js +1157 -1154
  90. package/dist/utility/blueprint/material/inputs.js.map +1 -1
  91. package/dist/utility/bounding_volume.js.map +1 -1
  92. package/dist/utility/pmrem.js +34 -8
  93. package/dist/utility/pmrem.js.map +1 -1
  94. package/dist/utility/serialization/manager.js +22 -9
  95. package/dist/utility/serialization/manager.js.map +1 -1
  96. package/dist/utility/serialization/scene/animation.js +700 -7
  97. package/dist/utility/serialization/scene/animation.js.map +1 -1
  98. package/dist/utility/serialization/scene/mesh.js +64 -4
  99. package/dist/utility/serialization/scene/mesh.js.map +1 -1
  100. package/dist/utility/serialization/scene/node.js +187 -8
  101. package/dist/utility/serialization/scene/node.js.map +1 -1
  102. package/dist/utility/serialization/types.js.map +1 -1
  103. package/dist/utility/textures/sheenlut.js +138 -0
  104. package/dist/utility/textures/sheenlut.js.map +1 -0
  105. package/package.json +2 -2
  106. package/dist/animation/ik/ik_chain_builder.js +0 -68
  107. package/dist/animation/ik/ik_chain_builder.js.map +0 -1
  108. package/dist/animation/ik/ik_pole_constraint.js +0 -123
  109. package/dist/animation/ik/ik_pole_constraint.js.map +0 -1
  110. package/dist/animation/ik/ik_track.js +0 -96
  111. package/dist/animation/ik/ik_track.js.map +0 -1
  112. package/dist/animation/ik_postprocessor.js +0 -71
  113. package/dist/animation/ik_postprocessor.js.map +0 -1
  114. package/dist/animation/joint_dynamics/math.js +0 -16
  115. package/dist/animation/joint_dynamics/math.js.map +0 -1
  116. package/dist/animation/manual_transform_processor.js +0 -156
  117. package/dist/animation/manual_transform_processor.js.map +0 -1
  118. package/dist/animation/skeleton_postprocessor.js +0 -50
  119. package/dist/animation/skeleton_postprocessor.js.map +0 -1
  120. package/dist/animation/spring2/collision.js +0 -469
  121. package/dist/animation/spring2/collision.js.map +0 -1
  122. package/dist/animation/spring2/constraints.js +0 -329
  123. package/dist/animation/spring2/constraints.js.map +0 -1
  124. package/dist/animation/spring2/controller.js +0 -434
  125. package/dist/animation/spring2/controller.js.map +0 -1
  126. package/dist/animation/spring2/math.js +0 -16
  127. package/dist/animation/spring2/math.js.map +0 -1
  128. package/dist/animation/spring2/solver.js +0 -624
  129. package/dist/animation/spring2/solver.js.map +0 -1
  130. package/dist/animation/spring2/spring_system.js +0 -118
  131. package/dist/animation/spring2/spring_system.js.map +0 -1
  132. package/dist/animation/spring2/types.js +0 -19
  133. package/dist/animation/spring2/types.js.map +0 -1
  134. package/dist/animation/spring_postprocessor.js +0 -54
  135. package/dist/animation/spring_postprocessor.js.map +0 -1
  136. package/dist/asset/loaders/gltf/gltf_loader.js +0 -1273
  137. package/dist/asset/loaders/gltf/gltf_loader.js.map +0 -1
  138. package/dist/asset/loaders/gltf/helpers.js +0 -331
  139. package/dist/asset/loaders/gltf/helpers.js.map +0 -1
  140. package/dist/material/sprite3d.js +0 -301
  141. package/dist/material/sprite3d.js.map +0 -1
  142. package/dist/material/sprite3d_std.js +0 -116
  143. package/dist/material/sprite3d_std.js.map +0 -1
  144. package/dist/material/sprite3dblueprint.js +0 -235
  145. package/dist/material/sprite3dblueprint.js.map +0 -1
  146. package/dist/material/sprite_sdf.js +0 -106
  147. package/dist/material/sprite_sdf.js.map +0 -1
  148. package/dist/material/terrainmaterial.js +0 -368
  149. package/dist/material/terrainmaterial.js.map +0 -1
  150. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimemgr.js +0 -38
  151. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimemgr.js.map +0 -1
  152. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimescript.js +0 -10
  153. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimescript.js.map +0 -1
  154. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptingsystem.js +0 -127
  155. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptingsystem.js.map +0 -1
  156. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptregistry.js +0 -263
  157. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptregistry.js.map +0 -1
  158. package/dist/render/deferredlightpass.js +0 -510
  159. package/dist/render/deferredlightpass.js.map +0 -1
  160. package/dist/render/deferredshadowlightpass.js +0 -428
  161. package/dist/render/deferredshadowlightpass.js.map +0 -1
  162. package/dist/render/gbufferpass.js +0 -50
  163. package/dist/render/gbufferpass.js.map +0 -1
  164. package/dist/scene/sdftextsprite.js +0 -322
  165. package/dist/scene/sdftextsprite.js.map +0 -1
  166. package/dist/scene/sprite3d.js +0 -18
  167. package/dist/scene/sprite3d.js.map +0 -1
  168. package/dist/scene/terrain/grass.js +0 -280
  169. package/dist/scene/terrain/grass.js.map +0 -1
  170. package/dist/scene/terrain/heightfield.js +0 -475
  171. package/dist/scene/terrain/heightfield.js.map +0 -1
  172. package/dist/scene/terrain/patch.js +0 -532
  173. package/dist/scene/terrain/patch.js.map +0 -1
  174. package/dist/scene/terrain/quadtree.js +0 -461
  175. package/dist/scene/terrain/quadtree.js.map +0 -1
  176. package/dist/scene/terrain/terrain.js +0 -231
  177. package/dist/scene/terrain/terrain.js.map +0 -1
  178. package/dist/src/animation/animation.js +0 -127
  179. package/dist/src/animation/animation.js.map +0 -1
  180. package/dist/src/animation/animationset.js +0 -255
  181. package/dist/src/animation/animationset.js.map +0 -1
  182. package/dist/src/animation/animationtrack.js +0 -34
  183. package/dist/src/animation/animationtrack.js.map +0 -1
  184. package/dist/src/animation/eulerrotationtrack.js +0 -52
  185. package/dist/src/animation/eulerrotationtrack.js.map +0 -1
  186. package/dist/src/animation/morphtarget.js +0 -93
  187. package/dist/src/animation/morphtarget.js.map +0 -1
  188. package/dist/src/animation/morphtrack.js +0 -70
  189. package/dist/src/animation/morphtrack.js.map +0 -1
  190. package/dist/src/animation/proptrack.js +0 -161
  191. package/dist/src/animation/proptrack.js.map +0 -1
  192. package/dist/src/animation/rotationtrack.js +0 -51
  193. package/dist/src/animation/rotationtrack.js.map +0 -1
  194. package/dist/src/animation/scaletrack.js +0 -50
  195. package/dist/src/animation/scaletrack.js.map +0 -1
  196. package/dist/src/animation/skeleton.js +0 -204
  197. package/dist/src/animation/skeleton.js.map +0 -1
  198. package/dist/src/animation/translationtrack.js +0 -50
  199. package/dist/src/animation/translationtrack.js.map +0 -1
  200. package/dist/src/app/app.js +0 -129
  201. package/dist/src/app/app.js.map +0 -1
  202. package/dist/src/app/inputmgr.js +0 -267
  203. package/dist/src/app/inputmgr.js.map +0 -1
  204. package/dist/src/asset/assetmanager.js +0 -404
  205. package/dist/src/asset/assetmanager.js.map +0 -1
  206. package/dist/src/asset/builtin.js +0 -337
  207. package/dist/src/asset/builtin.js.map +0 -1
  208. package/dist/src/asset/loaders/dds/dds.js +0 -470
  209. package/dist/src/asset/loaders/dds/dds.js.map +0 -1
  210. package/dist/src/asset/loaders/dds/dds_loader.js +0 -28
  211. package/dist/src/asset/loaders/dds/dds_loader.js.map +0 -1
  212. package/dist/src/asset/loaders/gltf/gltf_loader.js +0 -1265
  213. package/dist/src/asset/loaders/gltf/gltf_loader.js.map +0 -1
  214. package/dist/src/asset/loaders/gltf/helpers.js +0 -327
  215. package/dist/src/asset/loaders/gltf/helpers.js.map +0 -1
  216. package/dist/src/asset/loaders/hdr/hdr.js +0 -180
  217. package/dist/src/asset/loaders/hdr/hdr.js.map +0 -1
  218. package/dist/src/asset/loaders/image/tga_Loader.js +0 -116
  219. package/dist/src/asset/loaders/image/tga_Loader.js.map +0 -1
  220. package/dist/src/asset/loaders/image/webimage_loader.js +0 -63
  221. package/dist/src/asset/loaders/image/webimage_loader.js.map +0 -1
  222. package/dist/src/asset/loaders/loader.js +0 -45
  223. package/dist/src/asset/loaders/loader.js.map +0 -1
  224. package/dist/src/asset/model.js +0 -414
  225. package/dist/src/asset/model.js.map +0 -1
  226. package/dist/src/blitter/bilateralblur.js +0 -221
  227. package/dist/src/blitter/bilateralblur.js.map +0 -1
  228. package/dist/src/blitter/blitter.js +0 -390
  229. package/dist/src/blitter/blitter.js.map +0 -1
  230. package/dist/src/blitter/box.js +0 -118
  231. package/dist/src/blitter/box.js.map +0 -1
  232. package/dist/src/blitter/copy.js +0 -22
  233. package/dist/src/blitter/copy.js.map +0 -1
  234. package/dist/src/blitter/gaussianblur.js +0 -228
  235. package/dist/src/blitter/gaussianblur.js.map +0 -1
  236. package/dist/src/camera/base.js +0 -92
  237. package/dist/src/camera/base.js.map +0 -1
  238. package/dist/src/camera/camera.js +0 -1005
  239. package/dist/src/camera/camera.js.map +0 -1
  240. package/dist/src/camera/fps.js +0 -238
  241. package/dist/src/camera/fps.js.map +0 -1
  242. package/dist/src/camera/orbit.js +0 -245
  243. package/dist/src/camera/orbit.js.map +0 -1
  244. package/dist/src/camera/orthocamera.js +0 -167
  245. package/dist/src/camera/orthocamera.js.map +0 -1
  246. package/dist/src/camera/perspectivecamera.js +0 -141
  247. package/dist/src/camera/perspectivecamera.js.map +0 -1
  248. package/dist/src/index.js +0 -120
  249. package/dist/src/index.js.map +0 -1
  250. package/dist/src/material/blinn.js +0 -81
  251. package/dist/src/material/blinn.js.map +0 -1
  252. package/dist/src/material/grassmaterial.js +0 -113
  253. package/dist/src/material/grassmaterial.js.map +0 -1
  254. package/dist/src/material/lambert.js +0 -92
  255. package/dist/src/material/lambert.js.map +0 -1
  256. package/dist/src/material/material.js +0 -301
  257. package/dist/src/material/material.js.map +0 -1
  258. package/dist/src/material/meshmaterial.js +0 -704
  259. package/dist/src/material/meshmaterial.js.map +0 -1
  260. package/dist/src/material/mixins/albedocolor.js +0 -76
  261. package/dist/src/material/mixins/albedocolor.js.map +0 -1
  262. package/dist/src/material/mixins/foliage.js +0 -47
  263. package/dist/src/material/mixins/foliage.js.map +0 -1
  264. package/dist/src/material/mixins/lightmodel/blinnphong.js +0 -112
  265. package/dist/src/material/mixins/lightmodel/blinnphong.js.map +0 -1
  266. package/dist/src/material/mixins/lightmodel/lambert.js +0 -58
  267. package/dist/src/material/mixins/lightmodel/lambert.js.map +0 -1
  268. package/dist/src/material/mixins/lightmodel/pbrmetallicroughness.js +0 -178
  269. package/dist/src/material/mixins/lightmodel/pbrmetallicroughness.js.map +0 -1
  270. package/dist/src/material/mixins/lightmodel/pbrspecularglossness.js +0 -139
  271. package/dist/src/material/mixins/lightmodel/pbrspecularglossness.js.map +0 -1
  272. package/dist/src/material/mixins/lit.js +0 -476
  273. package/dist/src/material/mixins/lit.js.map +0 -1
  274. package/dist/src/material/mixins/pbr/common.js +0 -918
  275. package/dist/src/material/mixins/pbr/common.js.map +0 -1
  276. package/dist/src/material/mixins/texture.js +0 -172
  277. package/dist/src/material/mixins/texture.js.map +0 -1
  278. package/dist/src/material/mixins/vertexcolor.js +0 -56
  279. package/dist/src/material/mixins/vertexcolor.js.map +0 -1
  280. package/dist/src/material/particle.js +0 -178
  281. package/dist/src/material/particle.js.map +0 -1
  282. package/dist/src/material/pbrmr.js +0 -97
  283. package/dist/src/material/pbrmr.js.map +0 -1
  284. package/dist/src/material/pbrsg.js +0 -97
  285. package/dist/src/material/pbrsg.js.map +0 -1
  286. package/dist/src/material/shader/helper.js +0 -1209
  287. package/dist/src/material/shader/helper.js.map +0 -1
  288. package/dist/src/material/terrain-cm.js +0 -606
  289. package/dist/src/material/terrain-cm.js.map +0 -1
  290. package/dist/src/material/terrainmaterial.js +0 -375
  291. package/dist/src/material/terrainmaterial.js.map +0 -1
  292. package/dist/src/material/unlit.js +0 -41
  293. package/dist/src/material/unlit.js.map +0 -1
  294. package/dist/src/material/water.js +0 -417
  295. package/dist/src/material/water.js.map +0 -1
  296. package/dist/src/posteffect/bloom.js +0 -361
  297. package/dist/src/posteffect/bloom.js.map +0 -1
  298. package/dist/src/posteffect/compositor.js +0 -226
  299. package/dist/src/posteffect/compositor.js.map +0 -1
  300. package/dist/src/posteffect/fxaa.js +0 -273
  301. package/dist/src/posteffect/fxaa.js.map +0 -1
  302. package/dist/src/posteffect/grayscale.js +0 -69
  303. package/dist/src/posteffect/grayscale.js.map +0 -1
  304. package/dist/src/posteffect/motionblur.js +0 -96
  305. package/dist/src/posteffect/motionblur.js.map +0 -1
  306. package/dist/src/posteffect/posteffect.js +0 -126
  307. package/dist/src/posteffect/posteffect.js.map +0 -1
  308. package/dist/src/posteffect/sao.js +0 -324
  309. package/dist/src/posteffect/sao.js.map +0 -1
  310. package/dist/src/posteffect/ssr.js +0 -489
  311. package/dist/src/posteffect/ssr.js.map +0 -1
  312. package/dist/src/posteffect/taa.js +0 -172
  313. package/dist/src/posteffect/taa.js.map +0 -1
  314. package/dist/src/posteffect/tonemap.js +0 -94
  315. package/dist/src/posteffect/tonemap.js.map +0 -1
  316. package/dist/src/render/abuffer_oit.js +0 -361
  317. package/dist/src/render/abuffer_oit.js.map +0 -1
  318. package/dist/src/render/clipmap.js +0 -851
  319. package/dist/src/render/clipmap.js.map +0 -1
  320. package/dist/src/render/cluster_light.js +0 -333
  321. package/dist/src/render/cluster_light.js.map +0 -1
  322. package/dist/src/render/cull_visitor.js +0 -187
  323. package/dist/src/render/cull_visitor.js.map +0 -1
  324. package/dist/src/render/depthpass.js +0 -68
  325. package/dist/src/render/depthpass.js.map +0 -1
  326. package/dist/src/render/drawable_mixin.js +0 -227
  327. package/dist/src/render/drawable_mixin.js.map +0 -1
  328. package/dist/src/render/envlight.js +0 -463
  329. package/dist/src/render/envlight.js.map +0 -1
  330. package/dist/src/render/fbm_wavegenerator.js +0 -251
  331. package/dist/src/render/fbm_wavegenerator.js.map +0 -1
  332. package/dist/src/render/fft_wavegenerator.js +0 -1006
  333. package/dist/src/render/fft_wavegenerator.js.map +0 -1
  334. package/dist/src/render/fullscreenquad.js +0 -38
  335. package/dist/src/render/fullscreenquad.js.map +0 -1
  336. package/dist/src/render/gerstner_wavegenerator.js +0 -314
  337. package/dist/src/render/gerstner_wavegenerator.js.map +0 -1
  338. package/dist/src/render/globalbindgroup_allocator.js +0 -60
  339. package/dist/src/render/globalbindgroup_allocator.js.map +0 -1
  340. package/dist/src/render/hzb.js +0 -273
  341. package/dist/src/render/hzb.js.map +0 -1
  342. package/dist/src/render/lightpass.js +0 -172
  343. package/dist/src/render/lightpass.js.map +0 -1
  344. package/dist/src/render/objectcolorpass.js +0 -51
  345. package/dist/src/render/objectcolorpass.js.map +0 -1
  346. package/dist/src/render/primitive.js +0 -364
  347. package/dist/src/render/primitive.js.map +0 -1
  348. package/dist/src/render/render_queue.js +0 -467
  349. package/dist/src/render/render_queue.js.map +0 -1
  350. package/dist/src/render/renderbundle_wrapper.js +0 -152
  351. package/dist/src/render/renderbundle_wrapper.js.map +0 -1
  352. package/dist/src/render/renderer.js +0 -455
  353. package/dist/src/render/renderer.js.map +0 -1
  354. package/dist/src/render/renderpass.js +0 -200
  355. package/dist/src/render/renderpass.js.map +0 -1
  356. package/dist/src/render/shadowmap_pass.js +0 -56
  357. package/dist/src/render/shadowmap_pass.js.map +0 -1
  358. package/dist/src/render/sky.js +0 -1103
  359. package/dist/src/render/sky.js.map +0 -1
  360. package/dist/src/render/weightedblended_oit.js +0 -168
  361. package/dist/src/render/weightedblended_oit.js.map +0 -1
  362. package/dist/src/scene/batchgroup.js +0 -162
  363. package/dist/src/scene/batchgroup.js.map +0 -1
  364. package/dist/src/scene/environment.js +0 -209
  365. package/dist/src/scene/environment.js.map +0 -1
  366. package/dist/src/scene/graph_node.js +0 -72
  367. package/dist/src/scene/graph_node.js.map +0 -1
  368. package/dist/src/scene/light.js +0 -416
  369. package/dist/src/scene/light.js.map +0 -1
  370. package/dist/src/scene/mesh.js +0 -341
  371. package/dist/src/scene/mesh.js.map +0 -1
  372. package/dist/src/scene/octree.js +0 -649
  373. package/dist/src/scene/octree.js.map +0 -1
  374. package/dist/src/scene/particlesys.js +0 -738
  375. package/dist/src/scene/particlesys.js.map +0 -1
  376. package/dist/src/scene/raycast_visitor.js +0 -103
  377. package/dist/src/scene/raycast_visitor.js.map +0 -1
  378. package/dist/src/scene/scene.js +0 -284
  379. package/dist/src/scene/scene.js.map +0 -1
  380. package/dist/src/scene/scene_node.js +0 -732
  381. package/dist/src/scene/scene_node.js.map +0 -1
  382. package/dist/src/scene/terrain/grass.js +0 -278
  383. package/dist/src/scene/terrain/grass.js.map +0 -1
  384. package/dist/src/scene/terrain/heightfield.js +0 -475
  385. package/dist/src/scene/terrain/heightfield.js.map +0 -1
  386. package/dist/src/scene/terrain/patch.js +0 -530
  387. package/dist/src/scene/terrain/patch.js.map +0 -1
  388. package/dist/src/scene/terrain/quadtree.js +0 -461
  389. package/dist/src/scene/terrain/quadtree.js.map +0 -1
  390. package/dist/src/scene/terrain/terrain.js +0 -246
  391. package/dist/src/scene/terrain/terrain.js.map +0 -1
  392. package/dist/src/scene/terrain-cm/grass.js +0 -594
  393. package/dist/src/scene/terrain-cm/grass.js.map +0 -1
  394. package/dist/src/scene/terrain-cm/grassmaterial.js +0 -159
  395. package/dist/src/scene/terrain-cm/grassmaterial.js.map +0 -1
  396. package/dist/src/scene/terrain-cm/terrain-cm.js +0 -538
  397. package/dist/src/scene/terrain-cm/terrain-cm.js.map +0 -1
  398. package/dist/src/scene/water.js +0 -374
  399. package/dist/src/scene/water.js.map +0 -1
  400. package/dist/src/shaders/atmosphere.js +0 -957
  401. package/dist/src/shaders/atmosphere.js.map +0 -1
  402. package/dist/src/shaders/fog.js +0 -112
  403. package/dist/src/shaders/fog.js.map +0 -1
  404. package/dist/src/shaders/misc.js +0 -266
  405. package/dist/src/shaders/misc.js.map +0 -1
  406. package/dist/src/shaders/noise.js +0 -222
  407. package/dist/src/shaders/noise.js.map +0 -1
  408. package/dist/src/shaders/pbr.js +0 -51
  409. package/dist/src/shaders/pbr.js.map +0 -1
  410. package/dist/src/shaders/shadow.js +0 -636
  411. package/dist/src/shaders/shadow.js.map +0 -1
  412. package/dist/src/shaders/ssr.js +0 -490
  413. package/dist/src/shaders/ssr.js.map +0 -1
  414. package/dist/src/shaders/temporal.js +0 -215
  415. package/dist/src/shaders/temporal.js.map +0 -1
  416. package/dist/src/shaders/water.js +0 -756
  417. package/dist/src/shaders/water.js.map +0 -1
  418. package/dist/src/shadow/esm.js +0 -237
  419. package/dist/src/shadow/esm.js.map +0 -1
  420. package/dist/src/shadow/pcf_opt.js +0 -181
  421. package/dist/src/shadow/pcf_opt.js.map +0 -1
  422. package/dist/src/shadow/pcf_pd.js +0 -189
  423. package/dist/src/shadow/pcf_pd.js.map +0 -1
  424. package/dist/src/shadow/shader.js +0 -37
  425. package/dist/src/shadow/shader.js.map +0 -1
  426. package/dist/src/shadow/shadow_impl.js +0 -15
  427. package/dist/src/shadow/shadow_impl.js.map +0 -1
  428. package/dist/src/shadow/shadowmapper.js +0 -790
  429. package/dist/src/shadow/shadowmapper.js.map +0 -1
  430. package/dist/src/shadow/ssm.js +0 -159
  431. package/dist/src/shadow/ssm.js.map +0 -1
  432. package/dist/src/shadow/vsm.js +0 -297
  433. package/dist/src/shadow/vsm.js.map +0 -1
  434. package/dist/src/shapes/box.js +0 -386
  435. package/dist/src/shapes/box.js.map +0 -1
  436. package/dist/src/shapes/cylinder.js +0 -125
  437. package/dist/src/shapes/cylinder.js.map +0 -1
  438. package/dist/src/shapes/plane.js +0 -88
  439. package/dist/src/shapes/plane.js.map +0 -1
  440. package/dist/src/shapes/shape.js +0 -87
  441. package/dist/src/shapes/shape.js.map +0 -1
  442. package/dist/src/shapes/sphere.js +0 -114
  443. package/dist/src/shapes/sphere.js.map +0 -1
  444. package/dist/src/shapes/tetrahedron.js +0 -188
  445. package/dist/src/shapes/tetrahedron.js.map +0 -1
  446. package/dist/src/shapes/torus.js +0 -111
  447. package/dist/src/shapes/torus.js.map +0 -1
  448. package/dist/src/utility/aabbtree.js +0 -400
  449. package/dist/src/utility/aabbtree.js.map +0 -1
  450. package/dist/src/utility/bounding_volume.js +0 -29
  451. package/dist/src/utility/bounding_volume.js.map +0 -1
  452. package/dist/src/utility/debug.js +0 -28
  453. package/dist/src/utility/debug.js.map +0 -1
  454. package/dist/src/utility/draco/decoder.js +0 -116
  455. package/dist/src/utility/draco/decoder.js.map +0 -1
  456. package/dist/src/utility/misc.js +0 -105
  457. package/dist/src/utility/misc.js.map +0 -1
  458. package/dist/src/utility/panorama.js +0 -163
  459. package/dist/src/utility/panorama.js.map +0 -1
  460. package/dist/src/utility/pmrem.js +0 -354
  461. package/dist/src/utility/pmrem.js.map +0 -1
  462. package/dist/src/utility/rendermipmap.js +0 -115
  463. package/dist/src/utility/rendermipmap.js.map +0 -1
  464. package/dist/src/utility/serialization/json.js +0 -402
  465. package/dist/src/utility/serialization/json.js.map +0 -1
  466. package/dist/src/utility/serialization/manager.js +0 -623
  467. package/dist/src/utility/serialization/manager.js.map +0 -1
  468. package/dist/src/utility/serialization/scene/animation.js +0 -248
  469. package/dist/src/utility/serialization/scene/animation.js.map +0 -1
  470. package/dist/src/utility/serialization/scene/batch.js +0 -59
  471. package/dist/src/utility/serialization/scene/batch.js.map +0 -1
  472. package/dist/src/utility/serialization/scene/camera.js +0 -790
  473. package/dist/src/utility/serialization/scene/camera.js.map +0 -1
  474. package/dist/src/utility/serialization/scene/common.js +0 -222
  475. package/dist/src/utility/serialization/scene/common.js.map +0 -1
  476. package/dist/src/utility/serialization/scene/light.js +0 -575
  477. package/dist/src/utility/serialization/scene/light.js.map +0 -1
  478. package/dist/src/utility/serialization/scene/material.js +0 -1111
  479. package/dist/src/utility/serialization/scene/material.js.map +0 -1
  480. package/dist/src/utility/serialization/scene/mesh.js +0 -148
  481. package/dist/src/utility/serialization/scene/mesh.js.map +0 -1
  482. package/dist/src/utility/serialization/scene/misc.js +0 -39
  483. package/dist/src/utility/serialization/scene/misc.js.map +0 -1
  484. package/dist/src/utility/serialization/scene/node.js +0 -451
  485. package/dist/src/utility/serialization/scene/node.js.map +0 -1
  486. package/dist/src/utility/serialization/scene/particle.js +0 -425
  487. package/dist/src/utility/serialization/scene/particle.js.map +0 -1
  488. package/dist/src/utility/serialization/scene/primitive.js +0 -692
  489. package/dist/src/utility/serialization/scene/primitive.js.map +0 -1
  490. package/dist/src/utility/serialization/scene/scene.js +0 -704
  491. package/dist/src/utility/serialization/scene/scene.js.map +0 -1
  492. package/dist/src/utility/serialization/scene/terrain.js +0 -488
  493. package/dist/src/utility/serialization/scene/terrain.js.map +0 -1
  494. package/dist/src/utility/serialization/scene/water.js +0 -465
  495. package/dist/src/utility/serialization/scene/water.js.map +0 -1
  496. package/dist/src/utility/shprojector.js +0 -297
  497. package/dist/src/utility/shprojector.js.map +0 -1
  498. package/dist/src/utility/textures/ggxlut.js +0 -213
  499. package/dist/src/utility/textures/ggxlut.js.map +0 -1
  500. package/dist/src/utility/textures/gradientnoise.js +0 -62
  501. package/dist/src/utility/textures/gradientnoise.js.map +0 -1
  502. package/dist/src/utility/textures/randomnoise.js +0 -41
  503. package/dist/src/utility/textures/randomnoise.js.map +0 -1
  504. package/dist/src/values.js +0 -162
  505. package/dist/src/values.js.map +0 -1
  506. package/dist/utility/blueprint/material/common.js +0 -7
  507. package/dist/utility/blueprint/material/common.js.map +0 -1
  508. package/dist/utility/serialization/blueprint/constants.js +0 -255
  509. package/dist/utility/serialization/blueprint/constants.js.map +0 -1
  510. package/dist/utility/serialization/blueprint/material/constants.js +0 -203
  511. package/dist/utility/serialization/blueprint/material/constants.js.map +0 -1
  512. package/dist/utility/serialization/blueprint/material/texture.js +0 -165
  513. package/dist/utility/serialization/blueprint/material/texture.js.map +0 -1
  514. package/dist/utility/serialization/scene/cloth_script.js +0 -834
  515. package/dist/utility/serialization/scene/cloth_script.js.map +0 -1
  516. package/dist/utility/serialization/scene/spring_script.js +0 -596
  517. package/dist/utility/serialization/scene/spring_script.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloth_script.js","sources":["../../../../src/utility/serialization/scene/cloth_script.ts"],"sourcesContent":["import type { Mesh } from '../../../scene/mesh';\r\nimport type { SceneNode } from '../../../scene/scene_node';\r\nimport { createGPUClothWrapBindingData } from '../../../animation/cloth/gpu_cloth_system';\r\nimport { defineProps, type SerializableClass } from '../types';\r\n\r\nexport type ClothColliderType = 'sphere' | 'capsule' | 'plane';\r\n\r\nconst clothConfigHostMap = new WeakMap<ClothScriptConfig, SceneNode>();\r\nconst clothTargetHostMap = new WeakMap<ClothTargetMeshConfig, SceneNode>();\r\nconst clothTargetOwnerMap = new WeakMap<ClothTargetMeshConfig, ClothScriptConfig>();\r\n\r\nfunction clamp01(value: number) {\r\n return Math.min(Math.max(value, 0), 1);\r\n}\r\n\r\nfunction normalizePlaneDirection(value: number) {\r\n return value < 0 ? -1 : 1;\r\n}\r\n\r\nfunction resolveClothHostScope(host: SceneNode) {\r\n return (\r\n (typeof (host as any)?.getPrefabNode === 'function' && (host as any).getPrefabNode()) ||\r\n host.scene?.rootNode ||\r\n host\r\n );\r\n}\r\n\r\nfunction resolveClothMeshById(host: SceneNode | null | undefined, meshId: string): Mesh | null {\r\n const id = String(meshId ?? '').trim();\r\n if (!host || !id) {\r\n return null;\r\n }\r\n const scope = resolveClothHostScope(host);\r\n const candidate = scope?.findNodeById?.(id);\r\n return candidate?.isMesh?.() && candidate.primitive ? (candidate as Mesh) : null;\r\n}\r\n\r\nfunction resolveClothMeshLabel(host: SceneNode | null | undefined, meshId: string) {\r\n const id = String(meshId ?? '').trim();\r\n if (!id) {\r\n return '';\r\n }\r\n const mesh = resolveClothMeshById(host, id);\r\n if (mesh) {\r\n const name = String(mesh.name ?? '').trim();\r\n return name || mesh.persistentId || id;\r\n }\r\n return `[Missing] ${id}`;\r\n}\r\n\r\nfunction getClothConfigHost(config: ClothScriptConfig) {\r\n return clothConfigHostMap.get(config) ?? null;\r\n}\r\n\r\nfunction getClothTargetHost(target: ClothTargetMeshConfig) {\r\n const owner = clothTargetOwnerMap.get(target);\r\n return clothTargetHostMap.get(target) ?? (owner ? clothConfigHostMap.get(owner) : null) ?? null;\r\n}\r\n\r\nfunction setClothTargetOwner(target: ClothTargetMeshConfig, owner: ClothScriptConfig, host?: SceneNode | null) {\r\n clothTargetOwnerMap.set(target, owner);\r\n if (host) {\r\n clothTargetHostMap.set(target, host);\r\n }\r\n}\r\n\r\nfunction clearClothTargetBinding(target: ClothTargetMeshConfig) {\r\n target.bindingData = '';\r\n target.bindingSignature = '';\r\n}\r\n\r\nfunction clearClothBindings(config: ClothScriptConfig) {\r\n for (const target of config.targetMeshes) {\r\n clearClothTargetBinding(target);\r\n }\r\n}\r\n\r\nfunction setClothBindingStatus(config: ClothScriptConfig, status: string) {\r\n config.bindingStatus = status;\r\n}\r\n\r\nfunction ensureDefaultTargetMeshEntry(config: ClothScriptConfig) {\r\n if (config.targetMeshes.length === 0) {\r\n const target = new ClothTargetMeshConfig();\r\n config.targetMeshes.push(target);\r\n setClothTargetOwner(target, config, getClothConfigHost(config));\r\n }\r\n}\r\n\r\nfunction invalidateClothBindings(config: ClothScriptConfig, status = 'Binding cache needs rebuild') {\r\n clearClothBindings(config);\r\n setClothBindingStatus(config, status);\r\n}\r\n\r\nasync function bindClothTargetMeshes(config: ClothScriptConfig) {\r\n const host = getClothConfigHost(config);\r\n if (config.bindingInProgress) {\r\n return;\r\n }\r\n const simulationMesh =\r\n resolveClothMeshById(host, config.simulationMeshId) || (host?.isMesh?.() && host.primitive ? (host as Mesh) : null);\r\n if (!simulationMesh) {\r\n setClothBindingStatus(config, 'Set Simulation Mesh before binding.');\r\n return;\r\n }\r\n const targetEntries = config.targetMeshes.filter((entry) => String(entry.meshId ?? '').trim().length > 0);\r\n if (targetEntries.length === 0) {\r\n setClothBindingStatus(config, 'Add at least one Target Mesh before binding.');\r\n return;\r\n }\r\n config.bindingInProgress = true;\r\n setClothBindingStatus(config, 'Binding target meshes...');\r\n let successCount = 0;\r\n const failedTargets: string[] = [];\r\n try {\r\n for (const entry of targetEntries) {\r\n const targetMesh = resolveClothMeshById(getClothTargetHost(entry), entry.meshId);\r\n if (!targetMesh) {\r\n clearClothTargetBinding(entry);\r\n failedTargets.push(resolveClothMeshLabel(host, entry.meshId));\r\n continue;\r\n }\r\n if (targetMesh === simulationMesh) {\r\n clearClothTargetBinding(entry);\r\n failedTargets.push(resolveClothMeshLabel(host, entry.meshId));\r\n continue;\r\n }\r\n try {\r\n const data = await createGPUClothWrapBindingData(simulationMesh, targetMesh);\r\n entry.bindingData = JSON.stringify(data);\r\n entry.bindingSignature =\r\n `${data.version}:${data.vertexCount}:${data.sourceVertexCount}:${data.influenceCount}`;\r\n successCount++;\r\n } catch (err) {\r\n clearClothTargetBinding(entry);\r\n failedTargets.push(\r\n `${resolveClothMeshLabel(host, entry.meshId)}: ${err instanceof Error ? err.message : String(err)}`\r\n );\r\n }\r\n }\r\n } finally {\r\n config.bindingInProgress = false;\r\n }\r\n if (successCount > 0 && failedTargets.length === 0) {\r\n setClothBindingStatus(config, `Bound ${successCount} target mesh(es).`);\r\n } else if (successCount > 0) {\r\n setClothBindingStatus(\r\n config,\r\n `Bound ${successCount} target mesh(es), ${failedTargets.length} failed: ${failedTargets.join('; ')}`\r\n );\r\n } else {\r\n setClothBindingStatus(config, failedTargets[0] || 'Binding failed.');\r\n }\r\n}\r\n\r\nexport function bindClothScriptConfigHost(config: ClothScriptConfig, host: SceneNode) {\r\n clothConfigHostMap.set(config, host);\r\n ensureDefaultTargetMeshEntry(config);\r\n for (const target of config.targetMeshes) {\r\n setClothTargetOwner(target, config, host);\r\n }\r\n}\r\n\r\nexport class ClothColliderConfig {\r\n type: ClothColliderType;\r\n enabled: boolean;\r\n bone: string;\r\n offsetX: number;\r\n offsetY: number;\r\n offsetZ: number;\r\n endOffsetX: number;\r\n endOffsetY: number;\r\n endOffsetZ: number;\r\n normalX: number;\r\n normalY: number;\r\n normalZ: number;\r\n radius: number;\r\n\r\n constructor(type: ClothColliderType = 'sphere') {\r\n this.type = type;\r\n this.enabled = true;\r\n this.bone = '';\r\n this.offsetX = 0;\r\n this.offsetY = 0;\r\n this.offsetZ = 0;\r\n this.endOffsetX = 0;\r\n this.endOffsetY = 0.2;\r\n this.endOffsetZ = 0;\r\n this.normalX = 0;\r\n this.normalY = 1;\r\n this.normalZ = 0;\r\n this.radius = 0.15;\r\n }\r\n}\r\n\r\nexport class ClothTargetMeshConfig {\r\n meshId: string;\r\n bindingData: string;\r\n bindingSignature: string;\r\n\r\n constructor() {\r\n this.meshId = '';\r\n this.bindingData = '';\r\n this.bindingSignature = '';\r\n }\r\n}\r\n\r\nexport class ClothScriptConfig {\r\n enabled: boolean;\r\n autoUpdate: boolean;\r\n simulationMeshId: string;\r\n targetMeshes: ClothTargetMeshConfig[];\r\n bindingStatus: string;\r\n bindingInProgress: boolean;\r\n damping: number;\r\n dynamicFriction: number;\r\n staticFriction: number;\r\n stiffness: number;\r\n poseFollow: number;\r\n substeps: number;\r\n gravityX: number;\r\n gravityY: number;\r\n gravityZ: number;\r\n solverIterations: number;\r\n vertexPinWeightsByTarget: string;\r\n pinnedVertexIndicesByTarget: string;\r\n maxNeighbors: number;\r\n maxTrianglesPerVertex: number;\r\n workgroupSize: number;\r\n rebuildNormals: boolean;\r\n colliders: ClothColliderConfig[];\r\n\r\n constructor() {\r\n this.enabled = true;\r\n this.autoUpdate = true;\r\n this.simulationMeshId = '';\r\n this.targetMeshes = [new ClothTargetMeshConfig()];\r\n this.bindingStatus = 'Binding cache needs rebuild';\r\n this.bindingInProgress = false;\r\n this.damping = 0.02;\r\n this.dynamicFriction = 0.15;\r\n this.staticFriction = 0.3;\r\n this.stiffness = 0.3;\r\n this.poseFollow = 0;\r\n this.substeps = 2;\r\n this.gravityX = 0;\r\n this.gravityY = -9.8;\r\n this.gravityZ = 0;\r\n this.solverIterations = 5;\r\n this.vertexPinWeightsByTarget = '';\r\n this.pinnedVertexIndicesByTarget = '';\r\n this.maxNeighbors = 8;\r\n this.maxTrianglesPerVertex = 16;\r\n this.workgroupSize = 64;\r\n this.rebuildNormals = true;\r\n this.colliders = [];\r\n }\r\n}\r\n\r\nexport function getClothColliderConfigClass(): SerializableClass {\r\n return {\r\n ctor: ClothColliderConfig,\r\n name: 'ClothColliderConfig',\r\n noTitle: true,\r\n createFunc() {\r\n return { obj: new ClothColliderConfig() };\r\n },\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Type',\r\n type: 'string',\r\n options: {\r\n group: 'Shape',\r\n enum: {\r\n labels: ['Sphere', 'Capsule', 'Plane'],\r\n values: ['sphere', 'capsule', 'plane']\r\n }\r\n },\r\n get(this: ClothColliderConfig, value) {\r\n value.str[0] = this.type;\r\n },\r\n set(this: ClothColliderConfig, value) {\r\n this.type = (value.str[0] as ClothColliderType) ?? 'sphere';\r\n }\r\n },\r\n {\r\n name: 'Enabled',\r\n type: 'bool',\r\n options: {\r\n group: 'General'\r\n },\r\n get(this: ClothColliderConfig, value) {\r\n value.bool[0] = this.enabled;\r\n },\r\n set(this: ClothColliderConfig, value) {\r\n this.enabled = !!value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'Bone',\r\n type: 'string',\r\n options: {\r\n group: 'General'\r\n },\r\n get(this: ClothColliderConfig, value) {\r\n value.str[0] = this.bone;\r\n },\r\n set(this: ClothColliderConfig, value) {\r\n this.bone = value.str[0] ?? '';\r\n }\r\n },\r\n {\r\n name: 'Offset',\r\n type: 'vec3',\r\n options: {\r\n group: 'Shape'\r\n },\r\n isValid(this: ClothColliderConfig) {\r\n return this.type !== 'plane';\r\n },\r\n get(this: ClothColliderConfig, value) {\r\n value.num[0] = this.offsetX;\r\n value.num[1] = this.offsetY;\r\n value.num[2] = this.offsetZ;\r\n },\r\n set(this: ClothColliderConfig, value) {\r\n this.offsetX = value.num[0];\r\n this.offsetY = value.num[1];\r\n this.offsetZ = value.num[2];\r\n }\r\n },\r\n {\r\n name: 'EndOffset',\r\n type: 'vec3',\r\n options: {\r\n group: 'Shape'\r\n },\r\n isValid(this: ClothColliderConfig) {\r\n return this.type === 'capsule';\r\n },\r\n get(this: ClothColliderConfig, value) {\r\n value.num[0] = this.endOffsetX;\r\n value.num[1] = this.endOffsetY;\r\n value.num[2] = this.endOffsetZ;\r\n },\r\n set(this: ClothColliderConfig, value) {\r\n this.endOffsetX = value.num[0];\r\n this.endOffsetY = value.num[1];\r\n this.endOffsetZ = value.num[2];\r\n }\r\n },\r\n {\r\n name: 'Radius',\r\n type: 'float',\r\n options: {\r\n group: 'Shape',\r\n minValue: 0\r\n },\r\n isValid(this: ClothColliderConfig) {\r\n return this.type !== 'plane';\r\n },\r\n get(this: ClothColliderConfig, value) {\r\n value.num[0] = this.radius;\r\n },\r\n set(this: ClothColliderConfig, value) {\r\n this.radius = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'Normal',\r\n type: 'float',\r\n options: {\r\n group: 'Shape',\r\n minValue: -1,\r\n maxValue: 1\r\n },\r\n isValid(this: ClothColliderConfig) {\r\n return this.type === 'plane';\r\n },\r\n get(this: ClothColliderConfig, value) {\r\n value.num[0] = this.normalY;\r\n },\r\n set(this: ClothColliderConfig, value) {\r\n this.normalX = 0;\r\n this.normalY = normalizePlaneDirection(value.num[0]);\r\n this.normalZ = 0;\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\nexport function getClothTargetMeshConfigClass(): SerializableClass {\r\n return {\r\n ctor: ClothTargetMeshConfig,\r\n name: 'ClothTargetMeshConfig',\r\n noTitle: true,\r\n createFunc() {\r\n return { obj: new ClothTargetMeshConfig() };\r\n },\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'TargetMesh',\r\n type: 'string',\r\n options: {\r\n sceneNode: {\r\n kind: 'mesh'\r\n }\r\n },\r\n isPersistent() {\r\n return false;\r\n },\r\n get(this: ClothTargetMeshConfig, value) {\r\n value.str[0] = resolveClothMeshLabel(getClothTargetHost(this), this.meshId);\r\n },\r\n set(this: ClothTargetMeshConfig, value) {\r\n const nextId = String(value.str[0] ?? '').trim();\r\n if (this.meshId !== nextId) {\r\n this.meshId = nextId;\r\n clearClothTargetBinding(this);\r\n const owner = clothTargetOwnerMap.get(this);\r\n if (owner) {\r\n setClothBindingStatus(owner, 'Binding cache needs rebuild');\r\n }\r\n }\r\n }\r\n },\r\n {\r\n name: 'MeshId',\r\n type: 'string',\r\n isHidden() {\r\n return true;\r\n },\r\n get(this: ClothTargetMeshConfig, value) {\r\n value.str[0] = this.meshId;\r\n },\r\n set(this: ClothTargetMeshConfig, value) {\r\n this.meshId = value.str[0] ?? '';\r\n }\r\n },\r\n {\r\n name: 'BindingData',\r\n type: 'string',\r\n isHidden() {\r\n return true;\r\n },\r\n get(this: ClothTargetMeshConfig, value) {\r\n value.str[0] = this.bindingData;\r\n },\r\n set(this: ClothTargetMeshConfig, value) {\r\n this.bindingData = value.str[0] ?? '';\r\n }\r\n },\r\n {\r\n name: 'BindingSignature',\r\n type: 'string',\r\n isHidden() {\r\n return true;\r\n },\r\n get(this: ClothTargetMeshConfig, value) {\r\n value.str[0] = this.bindingSignature;\r\n },\r\n set(this: ClothTargetMeshConfig, value) {\r\n this.bindingSignature = value.str[0] ?? '';\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\nexport function getClothScriptConfigClass(): SerializableClass {\r\n return {\r\n ctor: ClothScriptConfig,\r\n name: 'ClothScriptConfig',\r\n noTitle: true,\r\n createFunc() {\r\n return { obj: new ClothScriptConfig() };\r\n },\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Enabled',\r\n type: 'bool',\r\n options: {\r\n group: 'General'\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.bool[0] = this.enabled;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.enabled = !!value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'AutoUpdate',\r\n type: 'bool',\r\n options: {\r\n group: 'General'\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.bool[0] = this.autoUpdate;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.autoUpdate = !!value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'SimulationMesh',\r\n type: 'string',\r\n options: {\r\n group: 'General',\r\n sceneNode: {\r\n kind: 'mesh'\r\n }\r\n },\r\n isPersistent() {\r\n return false;\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.str[0] = resolveClothMeshLabel(getClothConfigHost(this), this.simulationMeshId);\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n const nextId = String(value.str[0] ?? '').trim();\r\n if (this.simulationMeshId !== nextId) {\r\n this.simulationMeshId = nextId;\r\n invalidateClothBindings(this);\r\n }\r\n }\r\n },\r\n {\r\n name: 'SimulationMeshId',\r\n type: 'string',\r\n isHidden() {\r\n return true;\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.str[0] = this.simulationMeshId;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.simulationMeshId = value.str[0] ?? '';\r\n }\r\n },\r\n {\r\n name: 'TargetMesh',\r\n type: 'object_array',\r\n options: {\r\n group: 'Binding',\r\n objectTypes: [ClothTargetMeshConfig],\r\n inlineObjectArray: true\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n ensureDefaultTargetMeshEntry(this);\r\n value.object = this.targetMeshes;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.targetMeshes = ((value.object ?? []) as ClothTargetMeshConfig[]).filter(\r\n (entry): entry is ClothTargetMeshConfig => entry instanceof ClothTargetMeshConfig\r\n );\r\n ensureDefaultTargetMeshEntry(this);\r\n const host = getClothConfigHost(this);\r\n for (const entry of this.targetMeshes) {\r\n setClothTargetOwner(entry, this, host);\r\n }\r\n },\r\n add(this: ClothScriptConfig, value, index) {\r\n const target = (value.object?.[0] as ClothTargetMeshConfig) ?? new ClothTargetMeshConfig();\r\n setClothTargetOwner(target, this, getClothConfigHost(this));\r\n this.targetMeshes.splice(index ?? this.targetMeshes.length, 0, target);\r\n setClothBindingStatus(this, 'Binding cache needs rebuild');\r\n },\r\n delete(this: ClothScriptConfig, index) {\r\n this.targetMeshes.splice(index, 1);\r\n ensureDefaultTargetMeshEntry(this);\r\n setClothBindingStatus(this, 'Binding cache needs rebuild');\r\n },\r\n create() {\r\n return new ClothTargetMeshConfig();\r\n }\r\n },\r\n {\r\n name: 'BindingStatus',\r\n type: 'string',\r\n readonly: true,\r\n options: {\r\n group: 'Binding'\r\n },\r\n isPersistent() {\r\n return false;\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.str[0] = this.bindingStatus;\r\n }\r\n },\r\n {\r\n name: 'Binding',\r\n type: 'command',\r\n options: {\r\n group: 'Binding'\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.str[0] = this.bindingInProgress ? 'Binding...' : 'Bind';\r\n value.str[1] = 'Clear';\r\n },\r\n command(this: ClothScriptConfig, index) {\r\n if (index === 0) {\r\n if (!this.bindingInProgress) {\r\n void bindClothTargetMeshes(this);\r\n }\r\n } else {\r\n clearClothBindings(this);\r\n setClothBindingStatus(this, 'Binding cache cleared.');\r\n }\r\n return true;\r\n }\r\n },\r\n {\r\n name: 'VertexPinWeightsByTarget',\r\n type: 'string',\r\n isHidden() {\r\n return true;\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.str[0] = this.vertexPinWeightsByTarget;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.vertexPinWeightsByTarget = value.str[0] ?? '';\r\n }\r\n },\r\n {\r\n name: 'PinnedVertexIndicesByTarget',\r\n type: 'string',\r\n isHidden() {\r\n return true;\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.str[0] = this.pinnedVertexIndicesByTarget;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.pinnedVertexIndicesByTarget = value.str[0] ?? '';\r\n }\r\n },\r\n {\r\n name: 'Gravity',\r\n type: 'vec3',\r\n options: {\r\n group: 'Simulation'\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.gravityX;\r\n value.num[1] = this.gravityY;\r\n value.num[2] = this.gravityZ;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.gravityX = value.num[0];\r\n this.gravityY = value.num[1];\r\n this.gravityZ = value.num[2];\r\n }\r\n },\r\n {\r\n name: 'Damping',\r\n type: 'float',\r\n options: {\r\n group: 'Simulation',\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.damping;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.damping = clamp01(value.num[0]);\r\n }\r\n },\r\n {\r\n name: 'Stiffness',\r\n type: 'float',\r\n options: {\r\n group: 'Simulation',\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.stiffness;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.stiffness = clamp01(value.num[0]);\r\n }\r\n },\r\n {\r\n name: 'DynamicFriction',\r\n type: 'float',\r\n options: {\r\n group: 'Simulation',\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.dynamicFriction;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.dynamicFriction = clamp01(value.num[0]);\r\n }\r\n },\r\n {\r\n name: 'PoseFollow',\r\n type: 'float',\r\n options: {\r\n group: 'PoseFollow',\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.poseFollow;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.poseFollow = clamp01(value.num[0]);\r\n }\r\n },\r\n {\r\n name: 'StaticFriction',\r\n type: 'float',\r\n options: {\r\n group: 'Simulation',\r\n minValue: 0,\r\n maxValue: 1\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.staticFriction;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.staticFriction = clamp01(value.num[0]);\r\n }\r\n },\r\n {\r\n name: 'SolverIterations',\r\n type: 'int',\r\n options: {\r\n group: 'Simulation',\r\n minValue: 1,\r\n maxValue: 32\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.solverIterations;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.solverIterations = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'Substeps',\r\n type: 'int',\r\n options: {\r\n group: 'Simulation',\r\n minValue: 1,\r\n maxValue: 8\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.substeps;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.substeps = Math.max(1, Math.min(8, value.num[0] | 0));\r\n }\r\n },\r\n {\r\n name: 'MaxNeighbors',\r\n type: 'int',\r\n options: {\r\n group: 'Advanced',\r\n minValue: 1,\r\n maxValue: 64\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.maxNeighbors;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.maxNeighbors = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'MaxTrianglesPerVertex',\r\n type: 'int',\r\n options: {\r\n group: 'Advanced',\r\n minValue: 1,\r\n maxValue: 64\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.maxTrianglesPerVertex;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.maxTrianglesPerVertex = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'WorkgroupSize',\r\n type: 'int',\r\n options: {\r\n group: 'Advanced',\r\n minValue: 1,\r\n maxValue: 256\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.num[0] = this.workgroupSize;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.workgroupSize = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'RebuildNormals',\r\n type: 'bool',\r\n options: {\r\n group: 'Advanced'\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.bool[0] = this.rebuildNormals;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.rebuildNormals = !!value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'Colliders',\r\n type: 'object_array',\r\n options: {\r\n group: 'Collider',\r\n objectTypes: [ClothColliderConfig]\r\n },\r\n get(this: ClothScriptConfig, value) {\r\n value.object = this.colliders;\r\n },\r\n set(this: ClothScriptConfig, value) {\r\n this.colliders = (value.object ?? []) as ClothColliderConfig[];\r\n },\r\n add(this: ClothScriptConfig, value, index) {\r\n this.colliders.splice(index ?? this.colliders.length, 0, value.object![0] as ClothColliderConfig);\r\n },\r\n delete(this: ClothScriptConfig, index) {\r\n this.colliders.splice(index, 1);\r\n },\r\n create() {\r\n return new ClothColliderConfig();\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n"],"names":["clothConfigHostMap","WeakMap","clothTargetHostMap","clothTargetOwnerMap","clamp01","value","Math","min","max","normalizePlaneDirection","resolveClothHostScope","host","getPrefabNode","scene","rootNode","resolveClothMeshById","meshId","id","String","trim","scope","candidate","findNodeById","isMesh","primitive","resolveClothMeshLabel","mesh","name","persistentId","getClothConfigHost","config","get","getClothTargetHost","target","owner","setClothTargetOwner","set","clearClothTargetBinding","bindingData","bindingSignature","clearClothBindings","targetMeshes","setClothBindingStatus","status","bindingStatus","ensureDefaultTargetMeshEntry","length","ClothTargetMeshConfig","push","invalidateClothBindings","bindClothTargetMeshes","bindingInProgress","simulationMesh","simulationMeshId","targetEntries","filter","entry","successCount","failedTargets","targetMesh","data","createGPUClothWrapBindingData","JSON","stringify","version","vertexCount","sourceVertexCount","influenceCount","err","Error","message","join","bindClothScriptConfigHost","ClothColliderConfig","type","enabled","bone","offsetX","offsetY","offsetZ","endOffsetX","endOffsetY","endOffsetZ","normalX","normalY","normalZ","radius","ClothScriptConfig","autoUpdate","damping","dynamicFriction","staticFriction","stiffness","poseFollow","substeps","gravityX","gravityY","gravityZ","solverIterations","vertexPinWeightsByTarget","pinnedVertexIndicesByTarget","maxNeighbors","maxTrianglesPerVertex","workgroupSize","rebuildNormals","colliders","getClothColliderConfigClass","ctor","noTitle","createFunc","obj","getProps","defineProps","options","group","enum","labels","values","str","bool","isValid","num","minValue","maxValue","getClothTargetMeshConfigClass","sceneNode","kind","isPersistent","nextId","isHidden","getClothScriptConfigClass","objectTypes","inlineObjectArray","object","add","index","splice","delete","create","readonly","command"],"mappings":"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"}