@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,834 +0,0 @@
1
- import { createGPUClothWrapBindingData } from '../../../animation/cloth/gpu_cloth_system.js';
2
- import { defineProps } from '../types.js';
3
-
4
- const clothConfigHostMap = new WeakMap();
5
- const clothTargetHostMap = new WeakMap();
6
- const clothTargetOwnerMap = new WeakMap();
7
- function clamp01(value) {
8
- return Math.min(Math.max(value, 0), 1);
9
- }
10
- function normalizePlaneDirection(value) {
11
- return value < 0 ? -1 : 1;
12
- }
13
- function resolveClothHostScope(host) {
14
- return typeof host?.getPrefabNode === 'function' && host.getPrefabNode() || host.scene?.rootNode || host;
15
- }
16
- function resolveClothMeshById(host, meshId) {
17
- const id = String(meshId ?? '').trim();
18
- if (!host || !id) {
19
- return null;
20
- }
21
- const scope = resolveClothHostScope(host);
22
- const candidate = scope?.findNodeById?.(id);
23
- return candidate?.isMesh?.() && candidate.primitive ? candidate : null;
24
- }
25
- function resolveClothMeshLabel(host, meshId) {
26
- const id = String(meshId ?? '').trim();
27
- if (!id) {
28
- return '';
29
- }
30
- const mesh = resolveClothMeshById(host, id);
31
- if (mesh) {
32
- const name = String(mesh.name ?? '').trim();
33
- return name || mesh.persistentId || id;
34
- }
35
- return `[Missing] ${id}`;
36
- }
37
- function getClothConfigHost(config) {
38
- return clothConfigHostMap.get(config) ?? null;
39
- }
40
- function getClothTargetHost(target) {
41
- const owner = clothTargetOwnerMap.get(target);
42
- return clothTargetHostMap.get(target) ?? (owner ? clothConfigHostMap.get(owner) : null) ?? null;
43
- }
44
- function setClothTargetOwner(target, owner, host) {
45
- clothTargetOwnerMap.set(target, owner);
46
- if (host) {
47
- clothTargetHostMap.set(target, host);
48
- }
49
- }
50
- function clearClothTargetBinding(target) {
51
- target.bindingData = '';
52
- target.bindingSignature = '';
53
- }
54
- function clearClothBindings(config) {
55
- for (const target of config.targetMeshes){
56
- clearClothTargetBinding(target);
57
- }
58
- }
59
- function setClothBindingStatus(config, status) {
60
- config.bindingStatus = status;
61
- }
62
- function ensureDefaultTargetMeshEntry(config) {
63
- if (config.targetMeshes.length === 0) {
64
- const target = new ClothTargetMeshConfig();
65
- config.targetMeshes.push(target);
66
- setClothTargetOwner(target, config, getClothConfigHost(config));
67
- }
68
- }
69
- function invalidateClothBindings(config, status = 'Binding cache needs rebuild') {
70
- clearClothBindings(config);
71
- setClothBindingStatus(config, status);
72
- }
73
- async function bindClothTargetMeshes(config) {
74
- const host = getClothConfigHost(config);
75
- if (config.bindingInProgress) {
76
- return;
77
- }
78
- const simulationMesh = resolveClothMeshById(host, config.simulationMeshId) || (host?.isMesh?.() && host.primitive ? host : null);
79
- if (!simulationMesh) {
80
- setClothBindingStatus(config, 'Set Simulation Mesh before binding.');
81
- return;
82
- }
83
- const targetEntries = config.targetMeshes.filter((entry)=>String(entry.meshId ?? '').trim().length > 0);
84
- if (targetEntries.length === 0) {
85
- setClothBindingStatus(config, 'Add at least one Target Mesh before binding.');
86
- return;
87
- }
88
- config.bindingInProgress = true;
89
- setClothBindingStatus(config, 'Binding target meshes...');
90
- let successCount = 0;
91
- const failedTargets = [];
92
- try {
93
- for (const entry of targetEntries){
94
- const targetMesh = resolveClothMeshById(getClothTargetHost(entry), entry.meshId);
95
- if (!targetMesh) {
96
- clearClothTargetBinding(entry);
97
- failedTargets.push(resolveClothMeshLabel(host, entry.meshId));
98
- continue;
99
- }
100
- if (targetMesh === simulationMesh) {
101
- clearClothTargetBinding(entry);
102
- failedTargets.push(resolveClothMeshLabel(host, entry.meshId));
103
- continue;
104
- }
105
- try {
106
- const data = await createGPUClothWrapBindingData(simulationMesh, targetMesh);
107
- entry.bindingData = JSON.stringify(data);
108
- entry.bindingSignature = `${data.version}:${data.vertexCount}:${data.sourceVertexCount}:${data.influenceCount}`;
109
- successCount++;
110
- } catch (err) {
111
- clearClothTargetBinding(entry);
112
- failedTargets.push(`${resolveClothMeshLabel(host, entry.meshId)}: ${err instanceof Error ? err.message : String(err)}`);
113
- }
114
- }
115
- } finally{
116
- config.bindingInProgress = false;
117
- }
118
- if (successCount > 0 && failedTargets.length === 0) {
119
- setClothBindingStatus(config, `Bound ${successCount} target mesh(es).`);
120
- } else if (successCount > 0) {
121
- setClothBindingStatus(config, `Bound ${successCount} target mesh(es), ${failedTargets.length} failed: ${failedTargets.join('; ')}`);
122
- } else {
123
- setClothBindingStatus(config, failedTargets[0] || 'Binding failed.');
124
- }
125
- }
126
- function bindClothScriptConfigHost(config, host) {
127
- clothConfigHostMap.set(config, host);
128
- ensureDefaultTargetMeshEntry(config);
129
- for (const target of config.targetMeshes){
130
- setClothTargetOwner(target, config, host);
131
- }
132
- }
133
- class ClothColliderConfig {
134
- type;
135
- enabled;
136
- bone;
137
- offsetX;
138
- offsetY;
139
- offsetZ;
140
- endOffsetX;
141
- endOffsetY;
142
- endOffsetZ;
143
- normalX;
144
- normalY;
145
- normalZ;
146
- radius;
147
- constructor(type = 'sphere'){
148
- this.type = type;
149
- this.enabled = true;
150
- this.bone = '';
151
- this.offsetX = 0;
152
- this.offsetY = 0;
153
- this.offsetZ = 0;
154
- this.endOffsetX = 0;
155
- this.endOffsetY = 0.2;
156
- this.endOffsetZ = 0;
157
- this.normalX = 0;
158
- this.normalY = 1;
159
- this.normalZ = 0;
160
- this.radius = 0.15;
161
- }
162
- }
163
- class ClothTargetMeshConfig {
164
- meshId;
165
- bindingData;
166
- bindingSignature;
167
- constructor(){
168
- this.meshId = '';
169
- this.bindingData = '';
170
- this.bindingSignature = '';
171
- }
172
- }
173
- class ClothScriptConfig {
174
- enabled;
175
- autoUpdate;
176
- simulationMeshId;
177
- targetMeshes;
178
- bindingStatus;
179
- bindingInProgress;
180
- damping;
181
- dynamicFriction;
182
- staticFriction;
183
- stiffness;
184
- poseFollow;
185
- substeps;
186
- gravityX;
187
- gravityY;
188
- gravityZ;
189
- solverIterations;
190
- vertexPinWeightsByTarget;
191
- pinnedVertexIndicesByTarget;
192
- maxNeighbors;
193
- maxTrianglesPerVertex;
194
- workgroupSize;
195
- rebuildNormals;
196
- colliders;
197
- constructor(){
198
- this.enabled = true;
199
- this.autoUpdate = true;
200
- this.simulationMeshId = '';
201
- this.targetMeshes = [
202
- new ClothTargetMeshConfig()
203
- ];
204
- this.bindingStatus = 'Binding cache needs rebuild';
205
- this.bindingInProgress = false;
206
- this.damping = 0.02;
207
- this.dynamicFriction = 0.15;
208
- this.staticFriction = 0.3;
209
- this.stiffness = 0.3;
210
- this.poseFollow = 0;
211
- this.substeps = 2;
212
- this.gravityX = 0;
213
- this.gravityY = -9.8;
214
- this.gravityZ = 0;
215
- this.solverIterations = 5;
216
- this.vertexPinWeightsByTarget = '';
217
- this.pinnedVertexIndicesByTarget = '';
218
- this.maxNeighbors = 8;
219
- this.maxTrianglesPerVertex = 16;
220
- this.workgroupSize = 64;
221
- this.rebuildNormals = true;
222
- this.colliders = [];
223
- }
224
- }
225
- function getClothColliderConfigClass() {
226
- return {
227
- ctor: ClothColliderConfig,
228
- name: 'ClothColliderConfig',
229
- noTitle: true,
230
- createFunc () {
231
- return {
232
- obj: new ClothColliderConfig()
233
- };
234
- },
235
- getProps () {
236
- return defineProps([
237
- {
238
- name: 'Type',
239
- type: 'string',
240
- options: {
241
- group: 'Shape',
242
- enum: {
243
- labels: [
244
- 'Sphere',
245
- 'Capsule',
246
- 'Plane'
247
- ],
248
- values: [
249
- 'sphere',
250
- 'capsule',
251
- 'plane'
252
- ]
253
- }
254
- },
255
- get (value) {
256
- value.str[0] = this.type;
257
- },
258
- set (value) {
259
- this.type = value.str[0] ?? 'sphere';
260
- }
261
- },
262
- {
263
- name: 'Enabled',
264
- type: 'bool',
265
- options: {
266
- group: 'General'
267
- },
268
- get (value) {
269
- value.bool[0] = this.enabled;
270
- },
271
- set (value) {
272
- this.enabled = !!value.bool[0];
273
- }
274
- },
275
- {
276
- name: 'Bone',
277
- type: 'string',
278
- options: {
279
- group: 'General'
280
- },
281
- get (value) {
282
- value.str[0] = this.bone;
283
- },
284
- set (value) {
285
- this.bone = value.str[0] ?? '';
286
- }
287
- },
288
- {
289
- name: 'Offset',
290
- type: 'vec3',
291
- options: {
292
- group: 'Shape'
293
- },
294
- isValid () {
295
- return this.type !== 'plane';
296
- },
297
- get (value) {
298
- value.num[0] = this.offsetX;
299
- value.num[1] = this.offsetY;
300
- value.num[2] = this.offsetZ;
301
- },
302
- set (value) {
303
- this.offsetX = value.num[0];
304
- this.offsetY = value.num[1];
305
- this.offsetZ = value.num[2];
306
- }
307
- },
308
- {
309
- name: 'EndOffset',
310
- type: 'vec3',
311
- options: {
312
- group: 'Shape'
313
- },
314
- isValid () {
315
- return this.type === 'capsule';
316
- },
317
- get (value) {
318
- value.num[0] = this.endOffsetX;
319
- value.num[1] = this.endOffsetY;
320
- value.num[2] = this.endOffsetZ;
321
- },
322
- set (value) {
323
- this.endOffsetX = value.num[0];
324
- this.endOffsetY = value.num[1];
325
- this.endOffsetZ = value.num[2];
326
- }
327
- },
328
- {
329
- name: 'Radius',
330
- type: 'float',
331
- options: {
332
- group: 'Shape',
333
- minValue: 0
334
- },
335
- isValid () {
336
- return this.type !== 'plane';
337
- },
338
- get (value) {
339
- value.num[0] = this.radius;
340
- },
341
- set (value) {
342
- this.radius = value.num[0];
343
- }
344
- },
345
- {
346
- name: 'Normal',
347
- type: 'float',
348
- options: {
349
- group: 'Shape',
350
- minValue: -1,
351
- maxValue: 1
352
- },
353
- isValid () {
354
- return this.type === 'plane';
355
- },
356
- get (value) {
357
- value.num[0] = this.normalY;
358
- },
359
- set (value) {
360
- this.normalX = 0;
361
- this.normalY = normalizePlaneDirection(value.num[0]);
362
- this.normalZ = 0;
363
- }
364
- }
365
- ]);
366
- }
367
- };
368
- }
369
- function getClothTargetMeshConfigClass() {
370
- return {
371
- ctor: ClothTargetMeshConfig,
372
- name: 'ClothTargetMeshConfig',
373
- noTitle: true,
374
- createFunc () {
375
- return {
376
- obj: new ClothTargetMeshConfig()
377
- };
378
- },
379
- getProps () {
380
- return defineProps([
381
- {
382
- name: 'TargetMesh',
383
- type: 'string',
384
- options: {
385
- sceneNode: {
386
- kind: 'mesh'
387
- }
388
- },
389
- isPersistent () {
390
- return false;
391
- },
392
- get (value) {
393
- value.str[0] = resolveClothMeshLabel(getClothTargetHost(this), this.meshId);
394
- },
395
- set (value) {
396
- const nextId = String(value.str[0] ?? '').trim();
397
- if (this.meshId !== nextId) {
398
- this.meshId = nextId;
399
- clearClothTargetBinding(this);
400
- const owner = clothTargetOwnerMap.get(this);
401
- if (owner) {
402
- setClothBindingStatus(owner, 'Binding cache needs rebuild');
403
- }
404
- }
405
- }
406
- },
407
- {
408
- name: 'MeshId',
409
- type: 'string',
410
- isHidden () {
411
- return true;
412
- },
413
- get (value) {
414
- value.str[0] = this.meshId;
415
- },
416
- set (value) {
417
- this.meshId = value.str[0] ?? '';
418
- }
419
- },
420
- {
421
- name: 'BindingData',
422
- type: 'string',
423
- isHidden () {
424
- return true;
425
- },
426
- get (value) {
427
- value.str[0] = this.bindingData;
428
- },
429
- set (value) {
430
- this.bindingData = value.str[0] ?? '';
431
- }
432
- },
433
- {
434
- name: 'BindingSignature',
435
- type: 'string',
436
- isHidden () {
437
- return true;
438
- },
439
- get (value) {
440
- value.str[0] = this.bindingSignature;
441
- },
442
- set (value) {
443
- this.bindingSignature = value.str[0] ?? '';
444
- }
445
- }
446
- ]);
447
- }
448
- };
449
- }
450
- function getClothScriptConfigClass() {
451
- return {
452
- ctor: ClothScriptConfig,
453
- name: 'ClothScriptConfig',
454
- noTitle: true,
455
- createFunc () {
456
- return {
457
- obj: new ClothScriptConfig()
458
- };
459
- },
460
- getProps () {
461
- return defineProps([
462
- {
463
- name: 'Enabled',
464
- type: 'bool',
465
- options: {
466
- group: 'General'
467
- },
468
- get (value) {
469
- value.bool[0] = this.enabled;
470
- },
471
- set (value) {
472
- this.enabled = !!value.bool[0];
473
- }
474
- },
475
- {
476
- name: 'AutoUpdate',
477
- type: 'bool',
478
- options: {
479
- group: 'General'
480
- },
481
- get (value) {
482
- value.bool[0] = this.autoUpdate;
483
- },
484
- set (value) {
485
- this.autoUpdate = !!value.bool[0];
486
- }
487
- },
488
- {
489
- name: 'SimulationMesh',
490
- type: 'string',
491
- options: {
492
- group: 'General',
493
- sceneNode: {
494
- kind: 'mesh'
495
- }
496
- },
497
- isPersistent () {
498
- return false;
499
- },
500
- get (value) {
501
- value.str[0] = resolveClothMeshLabel(getClothConfigHost(this), this.simulationMeshId);
502
- },
503
- set (value) {
504
- const nextId = String(value.str[0] ?? '').trim();
505
- if (this.simulationMeshId !== nextId) {
506
- this.simulationMeshId = nextId;
507
- invalidateClothBindings(this);
508
- }
509
- }
510
- },
511
- {
512
- name: 'SimulationMeshId',
513
- type: 'string',
514
- isHidden () {
515
- return true;
516
- },
517
- get (value) {
518
- value.str[0] = this.simulationMeshId;
519
- },
520
- set (value) {
521
- this.simulationMeshId = value.str[0] ?? '';
522
- }
523
- },
524
- {
525
- name: 'TargetMesh',
526
- type: 'object_array',
527
- options: {
528
- group: 'Binding',
529
- objectTypes: [
530
- ClothTargetMeshConfig
531
- ],
532
- inlineObjectArray: true
533
- },
534
- get (value) {
535
- ensureDefaultTargetMeshEntry(this);
536
- value.object = this.targetMeshes;
537
- },
538
- set (value) {
539
- this.targetMeshes = (value.object ?? []).filter((entry)=>entry instanceof ClothTargetMeshConfig);
540
- ensureDefaultTargetMeshEntry(this);
541
- const host = getClothConfigHost(this);
542
- for (const entry of this.targetMeshes){
543
- setClothTargetOwner(entry, this, host);
544
- }
545
- },
546
- add (value, index) {
547
- const target = value.object?.[0] ?? new ClothTargetMeshConfig();
548
- setClothTargetOwner(target, this, getClothConfigHost(this));
549
- this.targetMeshes.splice(index ?? this.targetMeshes.length, 0, target);
550
- setClothBindingStatus(this, 'Binding cache needs rebuild');
551
- },
552
- delete (index) {
553
- this.targetMeshes.splice(index, 1);
554
- ensureDefaultTargetMeshEntry(this);
555
- setClothBindingStatus(this, 'Binding cache needs rebuild');
556
- },
557
- create () {
558
- return new ClothTargetMeshConfig();
559
- }
560
- },
561
- {
562
- name: 'BindingStatus',
563
- type: 'string',
564
- readonly: true,
565
- options: {
566
- group: 'Binding'
567
- },
568
- isPersistent () {
569
- return false;
570
- },
571
- get (value) {
572
- value.str[0] = this.bindingStatus;
573
- }
574
- },
575
- {
576
- name: 'Binding',
577
- type: 'command',
578
- options: {
579
- group: 'Binding'
580
- },
581
- get (value) {
582
- value.str[0] = this.bindingInProgress ? 'Binding...' : 'Bind';
583
- value.str[1] = 'Clear';
584
- },
585
- command (index) {
586
- if (index === 0) {
587
- if (!this.bindingInProgress) {
588
- void bindClothTargetMeshes(this);
589
- }
590
- } else {
591
- clearClothBindings(this);
592
- setClothBindingStatus(this, 'Binding cache cleared.');
593
- }
594
- return true;
595
- }
596
- },
597
- {
598
- name: 'VertexPinWeightsByTarget',
599
- type: 'string',
600
- isHidden () {
601
- return true;
602
- },
603
- get (value) {
604
- value.str[0] = this.vertexPinWeightsByTarget;
605
- },
606
- set (value) {
607
- this.vertexPinWeightsByTarget = value.str[0] ?? '';
608
- }
609
- },
610
- {
611
- name: 'PinnedVertexIndicesByTarget',
612
- type: 'string',
613
- isHidden () {
614
- return true;
615
- },
616
- get (value) {
617
- value.str[0] = this.pinnedVertexIndicesByTarget;
618
- },
619
- set (value) {
620
- this.pinnedVertexIndicesByTarget = value.str[0] ?? '';
621
- }
622
- },
623
- {
624
- name: 'Gravity',
625
- type: 'vec3',
626
- options: {
627
- group: 'Simulation'
628
- },
629
- get (value) {
630
- value.num[0] = this.gravityX;
631
- value.num[1] = this.gravityY;
632
- value.num[2] = this.gravityZ;
633
- },
634
- set (value) {
635
- this.gravityX = value.num[0];
636
- this.gravityY = value.num[1];
637
- this.gravityZ = value.num[2];
638
- }
639
- },
640
- {
641
- name: 'Damping',
642
- type: 'float',
643
- options: {
644
- group: 'Simulation',
645
- minValue: 0,
646
- maxValue: 1
647
- },
648
- get (value) {
649
- value.num[0] = this.damping;
650
- },
651
- set (value) {
652
- this.damping = clamp01(value.num[0]);
653
- }
654
- },
655
- {
656
- name: 'Stiffness',
657
- type: 'float',
658
- options: {
659
- group: 'Simulation',
660
- minValue: 0,
661
- maxValue: 1
662
- },
663
- get (value) {
664
- value.num[0] = this.stiffness;
665
- },
666
- set (value) {
667
- this.stiffness = clamp01(value.num[0]);
668
- }
669
- },
670
- {
671
- name: 'DynamicFriction',
672
- type: 'float',
673
- options: {
674
- group: 'Simulation',
675
- minValue: 0,
676
- maxValue: 1
677
- },
678
- get (value) {
679
- value.num[0] = this.dynamicFriction;
680
- },
681
- set (value) {
682
- this.dynamicFriction = clamp01(value.num[0]);
683
- }
684
- },
685
- {
686
- name: 'PoseFollow',
687
- type: 'float',
688
- options: {
689
- group: 'PoseFollow',
690
- minValue: 0,
691
- maxValue: 1
692
- },
693
- get (value) {
694
- value.num[0] = this.poseFollow;
695
- },
696
- set (value) {
697
- this.poseFollow = clamp01(value.num[0]);
698
- }
699
- },
700
- {
701
- name: 'StaticFriction',
702
- type: 'float',
703
- options: {
704
- group: 'Simulation',
705
- minValue: 0,
706
- maxValue: 1
707
- },
708
- get (value) {
709
- value.num[0] = this.staticFriction;
710
- },
711
- set (value) {
712
- this.staticFriction = clamp01(value.num[0]);
713
- }
714
- },
715
- {
716
- name: 'SolverIterations',
717
- type: 'int',
718
- options: {
719
- group: 'Simulation',
720
- minValue: 1,
721
- maxValue: 32
722
- },
723
- get (value) {
724
- value.num[0] = this.solverIterations;
725
- },
726
- set (value) {
727
- this.solverIterations = value.num[0];
728
- }
729
- },
730
- {
731
- name: 'Substeps',
732
- type: 'int',
733
- options: {
734
- group: 'Simulation',
735
- minValue: 1,
736
- maxValue: 8
737
- },
738
- get (value) {
739
- value.num[0] = this.substeps;
740
- },
741
- set (value) {
742
- this.substeps = Math.max(1, Math.min(8, value.num[0] | 0));
743
- }
744
- },
745
- {
746
- name: 'MaxNeighbors',
747
- type: 'int',
748
- options: {
749
- group: 'Advanced',
750
- minValue: 1,
751
- maxValue: 64
752
- },
753
- get (value) {
754
- value.num[0] = this.maxNeighbors;
755
- },
756
- set (value) {
757
- this.maxNeighbors = value.num[0];
758
- }
759
- },
760
- {
761
- name: 'MaxTrianglesPerVertex',
762
- type: 'int',
763
- options: {
764
- group: 'Advanced',
765
- minValue: 1,
766
- maxValue: 64
767
- },
768
- get (value) {
769
- value.num[0] = this.maxTrianglesPerVertex;
770
- },
771
- set (value) {
772
- this.maxTrianglesPerVertex = value.num[0];
773
- }
774
- },
775
- {
776
- name: 'WorkgroupSize',
777
- type: 'int',
778
- options: {
779
- group: 'Advanced',
780
- minValue: 1,
781
- maxValue: 256
782
- },
783
- get (value) {
784
- value.num[0] = this.workgroupSize;
785
- },
786
- set (value) {
787
- this.workgroupSize = value.num[0];
788
- }
789
- },
790
- {
791
- name: 'RebuildNormals',
792
- type: 'bool',
793
- options: {
794
- group: 'Advanced'
795
- },
796
- get (value) {
797
- value.bool[0] = this.rebuildNormals;
798
- },
799
- set (value) {
800
- this.rebuildNormals = !!value.bool[0];
801
- }
802
- },
803
- {
804
- name: 'Colliders',
805
- type: 'object_array',
806
- options: {
807
- group: 'Collider',
808
- objectTypes: [
809
- ClothColliderConfig
810
- ]
811
- },
812
- get (value) {
813
- value.object = this.colliders;
814
- },
815
- set (value) {
816
- this.colliders = value.object ?? [];
817
- },
818
- add (value, index) {
819
- this.colliders.splice(index ?? this.colliders.length, 0, value.object[0]);
820
- },
821
- delete (index) {
822
- this.colliders.splice(index, 1);
823
- },
824
- create () {
825
- return new ClothColliderConfig();
826
- }
827
- }
828
- ]);
829
- }
830
- };
831
- }
832
-
833
- export { ClothColliderConfig, ClothScriptConfig, ClothTargetMeshConfig, bindClothScriptConfigHost, getClothColliderConfigClass, getClothScriptConfigClass, getClothTargetMeshConfigClass };
834
- //# sourceMappingURL=cloth_script.js.map