@zephyr3d/scene 0.9.2 → 0.9.3

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 (420) hide show
  1. package/dist/animation/animationset.js +135 -135
  2. package/dist/animation/animationset.js.map +1 -1
  3. package/dist/animation/ik/ik_chain_builder.js +68 -0
  4. package/dist/animation/ik/ik_chain_builder.js.map +1 -0
  5. package/dist/animation/ik/ik_pole_constraint.js +2 -7
  6. package/dist/animation/ik/ik_pole_constraint.js.map +1 -1
  7. package/dist/animation/joint_dynamics/controller.js +146 -146
  8. package/dist/animation/joint_dynamics/controller.js.map +1 -1
  9. package/dist/animation/joint_dynamics/math.js +16 -0
  10. package/dist/animation/joint_dynamics/math.js.map +1 -0
  11. package/dist/animation/spring/spring_particle.js +4 -4
  12. package/dist/animation/spring/spring_particle.js.map +1 -1
  13. package/dist/animation/spring/spring_system.js +75 -75
  14. package/dist/animation/spring/spring_system.js.map +1 -1
  15. package/dist/animation/spring2/constraints.js.map +1 -1
  16. package/dist/animation/spring2/controller.js +64 -64
  17. package/dist/animation/spring2/controller.js.map +1 -1
  18. package/dist/animation/spring2/math.js.map +1 -1
  19. package/dist/animation/spring2/spring_system.js +8 -8
  20. package/dist/animation/spring2/spring_system.js.map +1 -1
  21. package/dist/asset/model.js +57 -57
  22. package/dist/asset/model.js.map +1 -1
  23. package/dist/camera/camera.js +184 -184
  24. package/dist/camera/camera.js.map +1 -1
  25. package/dist/index.d.ts +2 -6
  26. package/dist/index.js +1 -1
  27. package/dist/material/material.js +288 -288
  28. package/dist/material/material.js.map +1 -1
  29. package/dist/material/shader/helper.js +281 -278
  30. package/dist/material/shader/helper.js.map +1 -1
  31. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimemgr.js +38 -0
  32. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimemgr.js.map +1 -0
  33. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimescript.js +10 -0
  34. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/runtimescript.js.map +1 -0
  35. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptingsystem.js +127 -0
  36. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptingsystem.js.map +1 -0
  37. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptregistry.js +263 -0
  38. package/dist/node_modules/@zephyr3d/runtime/dist/runtime/scriptregistry.js.map +1 -0
  39. package/dist/render/cluster_light.js +3 -4
  40. package/dist/render/cluster_light.js.map +1 -1
  41. package/dist/render/rendergraph/history_resource_manager.js +93 -93
  42. package/dist/render/rendergraph/history_resource_manager.js.map +1 -1
  43. package/dist/render/rendergraph/history_resources.js +3 -3
  44. package/dist/render/rendergraph/history_resources.js.map +1 -1
  45. package/dist/render/rendergraph/types.js +22 -22
  46. package/dist/render/rendergraph/types.js.map +1 -1
  47. package/dist/scene/mesh.js +80 -80
  48. package/dist/scene/mesh.js.map +1 -1
  49. package/dist/scene/scene_node.js +228 -228
  50. package/dist/scene/scene_node.js.map +1 -1
  51. package/dist/shapes/torus.js +90 -59
  52. package/dist/shapes/torus.js.map +1 -1
  53. package/dist/src/animation/animation.js +127 -0
  54. package/dist/src/animation/animation.js.map +1 -0
  55. package/dist/src/animation/animationset.js +255 -0
  56. package/dist/src/animation/animationset.js.map +1 -0
  57. package/dist/src/animation/animationtrack.js +34 -0
  58. package/dist/src/animation/animationtrack.js.map +1 -0
  59. package/dist/src/animation/eulerrotationtrack.js +52 -0
  60. package/dist/src/animation/eulerrotationtrack.js.map +1 -0
  61. package/dist/src/animation/morphtarget.js +93 -0
  62. package/dist/src/animation/morphtarget.js.map +1 -0
  63. package/dist/src/animation/morphtrack.js +70 -0
  64. package/dist/src/animation/morphtrack.js.map +1 -0
  65. package/dist/src/animation/proptrack.js +161 -0
  66. package/dist/src/animation/proptrack.js.map +1 -0
  67. package/dist/src/animation/rotationtrack.js +51 -0
  68. package/dist/src/animation/rotationtrack.js.map +1 -0
  69. package/dist/src/animation/scaletrack.js +50 -0
  70. package/dist/src/animation/scaletrack.js.map +1 -0
  71. package/dist/src/animation/skeleton.js +204 -0
  72. package/dist/src/animation/skeleton.js.map +1 -0
  73. package/dist/src/animation/translationtrack.js +50 -0
  74. package/dist/src/animation/translationtrack.js.map +1 -0
  75. package/dist/src/app/app.js +129 -0
  76. package/dist/src/app/app.js.map +1 -0
  77. package/dist/src/app/inputmgr.js +267 -0
  78. package/dist/src/app/inputmgr.js.map +1 -0
  79. package/dist/src/asset/assetmanager.js +404 -0
  80. package/dist/src/asset/assetmanager.js.map +1 -0
  81. package/dist/src/asset/builtin.js +337 -0
  82. package/dist/src/asset/builtin.js.map +1 -0
  83. package/dist/src/asset/loaders/dds/dds.js +470 -0
  84. package/dist/src/asset/loaders/dds/dds.js.map +1 -0
  85. package/dist/src/asset/loaders/dds/dds_loader.js +28 -0
  86. package/dist/src/asset/loaders/dds/dds_loader.js.map +1 -0
  87. package/dist/src/asset/loaders/gltf/gltf_loader.js +1265 -0
  88. package/dist/src/asset/loaders/gltf/gltf_loader.js.map +1 -0
  89. package/dist/src/asset/loaders/gltf/helpers.js +327 -0
  90. package/dist/src/asset/loaders/gltf/helpers.js.map +1 -0
  91. package/dist/src/asset/loaders/hdr/hdr.js +180 -0
  92. package/dist/src/asset/loaders/hdr/hdr.js.map +1 -0
  93. package/dist/src/asset/loaders/image/tga_Loader.js +116 -0
  94. package/dist/src/asset/loaders/image/tga_Loader.js.map +1 -0
  95. package/dist/src/asset/loaders/image/webimage_loader.js +63 -0
  96. package/dist/src/asset/loaders/image/webimage_loader.js.map +1 -0
  97. package/dist/src/asset/loaders/loader.js +45 -0
  98. package/dist/src/asset/loaders/loader.js.map +1 -0
  99. package/dist/src/asset/model.js +414 -0
  100. package/dist/src/asset/model.js.map +1 -0
  101. package/dist/src/blitter/bilateralblur.js +221 -0
  102. package/dist/src/blitter/bilateralblur.js.map +1 -0
  103. package/dist/src/blitter/blitter.js +390 -0
  104. package/dist/src/blitter/blitter.js.map +1 -0
  105. package/dist/src/blitter/box.js +118 -0
  106. package/dist/src/blitter/box.js.map +1 -0
  107. package/dist/src/blitter/copy.js +22 -0
  108. package/dist/src/blitter/copy.js.map +1 -0
  109. package/dist/src/blitter/gaussianblur.js +228 -0
  110. package/dist/src/blitter/gaussianblur.js.map +1 -0
  111. package/dist/src/camera/base.js +92 -0
  112. package/dist/src/camera/base.js.map +1 -0
  113. package/dist/src/camera/camera.js +1005 -0
  114. package/dist/src/camera/camera.js.map +1 -0
  115. package/dist/src/camera/fps.js +238 -0
  116. package/dist/src/camera/fps.js.map +1 -0
  117. package/dist/src/camera/orbit.js +245 -0
  118. package/dist/src/camera/orbit.js.map +1 -0
  119. package/dist/src/camera/orthocamera.js +167 -0
  120. package/dist/src/camera/orthocamera.js.map +1 -0
  121. package/dist/src/camera/perspectivecamera.js +141 -0
  122. package/dist/src/camera/perspectivecamera.js.map +1 -0
  123. package/dist/src/index.js +120 -0
  124. package/dist/src/index.js.map +1 -0
  125. package/dist/src/material/blinn.js +81 -0
  126. package/dist/src/material/blinn.js.map +1 -0
  127. package/dist/src/material/grassmaterial.js +113 -0
  128. package/dist/src/material/grassmaterial.js.map +1 -0
  129. package/dist/src/material/lambert.js +92 -0
  130. package/dist/src/material/lambert.js.map +1 -0
  131. package/dist/src/material/material.js +301 -0
  132. package/dist/src/material/material.js.map +1 -0
  133. package/dist/src/material/meshmaterial.js +704 -0
  134. package/dist/src/material/meshmaterial.js.map +1 -0
  135. package/dist/src/material/mixins/albedocolor.js +76 -0
  136. package/dist/src/material/mixins/albedocolor.js.map +1 -0
  137. package/dist/src/material/mixins/foliage.js +47 -0
  138. package/dist/src/material/mixins/foliage.js.map +1 -0
  139. package/dist/src/material/mixins/lightmodel/blinnphong.js +112 -0
  140. package/dist/src/material/mixins/lightmodel/blinnphong.js.map +1 -0
  141. package/dist/src/material/mixins/lightmodel/lambert.js +58 -0
  142. package/dist/src/material/mixins/lightmodel/lambert.js.map +1 -0
  143. package/dist/src/material/mixins/lightmodel/pbrmetallicroughness.js +178 -0
  144. package/dist/src/material/mixins/lightmodel/pbrmetallicroughness.js.map +1 -0
  145. package/dist/src/material/mixins/lightmodel/pbrspecularglossness.js +139 -0
  146. package/dist/src/material/mixins/lightmodel/pbrspecularglossness.js.map +1 -0
  147. package/dist/src/material/mixins/lit.js +476 -0
  148. package/dist/src/material/mixins/lit.js.map +1 -0
  149. package/dist/src/material/mixins/pbr/common.js +918 -0
  150. package/dist/src/material/mixins/pbr/common.js.map +1 -0
  151. package/dist/src/material/mixins/texture.js +172 -0
  152. package/dist/src/material/mixins/texture.js.map +1 -0
  153. package/dist/src/material/mixins/vertexcolor.js +56 -0
  154. package/dist/src/material/mixins/vertexcolor.js.map +1 -0
  155. package/dist/src/material/particle.js +178 -0
  156. package/dist/src/material/particle.js.map +1 -0
  157. package/dist/src/material/pbrmr.js +97 -0
  158. package/dist/src/material/pbrmr.js.map +1 -0
  159. package/dist/src/material/pbrsg.js +97 -0
  160. package/dist/src/material/pbrsg.js.map +1 -0
  161. package/dist/src/material/shader/helper.js +1209 -0
  162. package/dist/src/material/shader/helper.js.map +1 -0
  163. package/dist/src/material/terrain-cm.js +606 -0
  164. package/dist/src/material/terrain-cm.js.map +1 -0
  165. package/dist/src/material/terrainmaterial.js +375 -0
  166. package/dist/src/material/terrainmaterial.js.map +1 -0
  167. package/dist/src/material/unlit.js +41 -0
  168. package/dist/src/material/unlit.js.map +1 -0
  169. package/dist/src/material/water.js +417 -0
  170. package/dist/src/material/water.js.map +1 -0
  171. package/dist/src/posteffect/bloom.js +361 -0
  172. package/dist/src/posteffect/bloom.js.map +1 -0
  173. package/dist/src/posteffect/compositor.js +226 -0
  174. package/dist/src/posteffect/compositor.js.map +1 -0
  175. package/dist/src/posteffect/fxaa.js +273 -0
  176. package/dist/src/posteffect/fxaa.js.map +1 -0
  177. package/dist/src/posteffect/grayscale.js +69 -0
  178. package/dist/src/posteffect/grayscale.js.map +1 -0
  179. package/dist/src/posteffect/motionblur.js +96 -0
  180. package/dist/src/posteffect/motionblur.js.map +1 -0
  181. package/dist/src/posteffect/posteffect.js +126 -0
  182. package/dist/src/posteffect/posteffect.js.map +1 -0
  183. package/dist/src/posteffect/sao.js +324 -0
  184. package/dist/src/posteffect/sao.js.map +1 -0
  185. package/dist/src/posteffect/ssr.js +489 -0
  186. package/dist/src/posteffect/ssr.js.map +1 -0
  187. package/dist/src/posteffect/taa.js +172 -0
  188. package/dist/src/posteffect/taa.js.map +1 -0
  189. package/dist/src/posteffect/tonemap.js +94 -0
  190. package/dist/src/posteffect/tonemap.js.map +1 -0
  191. package/dist/src/render/abuffer_oit.js +361 -0
  192. package/dist/src/render/abuffer_oit.js.map +1 -0
  193. package/dist/src/render/clipmap.js +851 -0
  194. package/dist/src/render/clipmap.js.map +1 -0
  195. package/dist/src/render/cluster_light.js +333 -0
  196. package/dist/src/render/cluster_light.js.map +1 -0
  197. package/dist/src/render/cull_visitor.js +187 -0
  198. package/dist/src/render/cull_visitor.js.map +1 -0
  199. package/dist/src/render/depthpass.js +68 -0
  200. package/dist/src/render/depthpass.js.map +1 -0
  201. package/dist/src/render/drawable_mixin.js +227 -0
  202. package/dist/src/render/drawable_mixin.js.map +1 -0
  203. package/dist/src/render/envlight.js +463 -0
  204. package/dist/src/render/envlight.js.map +1 -0
  205. package/dist/src/render/fbm_wavegenerator.js +251 -0
  206. package/dist/src/render/fbm_wavegenerator.js.map +1 -0
  207. package/dist/src/render/fft_wavegenerator.js +1006 -0
  208. package/dist/src/render/fft_wavegenerator.js.map +1 -0
  209. package/dist/src/render/fullscreenquad.js +38 -0
  210. package/dist/src/render/fullscreenquad.js.map +1 -0
  211. package/dist/src/render/gerstner_wavegenerator.js +314 -0
  212. package/dist/src/render/gerstner_wavegenerator.js.map +1 -0
  213. package/dist/src/render/globalbindgroup_allocator.js +60 -0
  214. package/dist/src/render/globalbindgroup_allocator.js.map +1 -0
  215. package/dist/src/render/hzb.js +273 -0
  216. package/dist/src/render/hzb.js.map +1 -0
  217. package/dist/src/render/lightpass.js +172 -0
  218. package/dist/src/render/lightpass.js.map +1 -0
  219. package/dist/src/render/objectcolorpass.js +51 -0
  220. package/dist/src/render/objectcolorpass.js.map +1 -0
  221. package/dist/src/render/primitive.js +364 -0
  222. package/dist/src/render/primitive.js.map +1 -0
  223. package/dist/src/render/render_queue.js +467 -0
  224. package/dist/src/render/render_queue.js.map +1 -0
  225. package/dist/src/render/renderbundle_wrapper.js +152 -0
  226. package/dist/src/render/renderbundle_wrapper.js.map +1 -0
  227. package/dist/src/render/renderer.js +455 -0
  228. package/dist/src/render/renderer.js.map +1 -0
  229. package/dist/src/render/renderpass.js +200 -0
  230. package/dist/src/render/renderpass.js.map +1 -0
  231. package/dist/src/render/shadowmap_pass.js +56 -0
  232. package/dist/src/render/shadowmap_pass.js.map +1 -0
  233. package/dist/src/render/sky.js +1103 -0
  234. package/dist/src/render/sky.js.map +1 -0
  235. package/dist/src/render/weightedblended_oit.js +168 -0
  236. package/dist/src/render/weightedblended_oit.js.map +1 -0
  237. package/dist/src/scene/batchgroup.js +162 -0
  238. package/dist/src/scene/batchgroup.js.map +1 -0
  239. package/dist/src/scene/environment.js +209 -0
  240. package/dist/src/scene/environment.js.map +1 -0
  241. package/dist/src/scene/graph_node.js +72 -0
  242. package/dist/src/scene/graph_node.js.map +1 -0
  243. package/dist/src/scene/light.js +416 -0
  244. package/dist/src/scene/light.js.map +1 -0
  245. package/dist/src/scene/mesh.js +341 -0
  246. package/dist/src/scene/mesh.js.map +1 -0
  247. package/dist/src/scene/octree.js +649 -0
  248. package/dist/src/scene/octree.js.map +1 -0
  249. package/dist/src/scene/particlesys.js +738 -0
  250. package/dist/src/scene/particlesys.js.map +1 -0
  251. package/dist/src/scene/raycast_visitor.js +103 -0
  252. package/dist/src/scene/raycast_visitor.js.map +1 -0
  253. package/dist/src/scene/scene.js +284 -0
  254. package/dist/src/scene/scene.js.map +1 -0
  255. package/dist/src/scene/scene_node.js +732 -0
  256. package/dist/src/scene/scene_node.js.map +1 -0
  257. package/dist/src/scene/terrain/grass.js +278 -0
  258. package/dist/src/scene/terrain/grass.js.map +1 -0
  259. package/dist/src/scene/terrain/heightfield.js +475 -0
  260. package/dist/src/scene/terrain/heightfield.js.map +1 -0
  261. package/dist/src/scene/terrain/patch.js +530 -0
  262. package/dist/src/scene/terrain/patch.js.map +1 -0
  263. package/dist/src/scene/terrain/quadtree.js +461 -0
  264. package/dist/src/scene/terrain/quadtree.js.map +1 -0
  265. package/dist/src/scene/terrain/terrain.js +246 -0
  266. package/dist/src/scene/terrain/terrain.js.map +1 -0
  267. package/dist/src/scene/terrain-cm/grass.js +594 -0
  268. package/dist/src/scene/terrain-cm/grass.js.map +1 -0
  269. package/dist/src/scene/terrain-cm/grassmaterial.js +159 -0
  270. package/dist/src/scene/terrain-cm/grassmaterial.js.map +1 -0
  271. package/dist/src/scene/terrain-cm/terrain-cm.js +538 -0
  272. package/dist/src/scene/terrain-cm/terrain-cm.js.map +1 -0
  273. package/dist/src/scene/water.js +374 -0
  274. package/dist/src/scene/water.js.map +1 -0
  275. package/dist/src/shaders/atmosphere.js +957 -0
  276. package/dist/src/shaders/atmosphere.js.map +1 -0
  277. package/dist/src/shaders/fog.js +112 -0
  278. package/dist/src/shaders/fog.js.map +1 -0
  279. package/dist/src/shaders/misc.js +266 -0
  280. package/dist/src/shaders/misc.js.map +1 -0
  281. package/dist/src/shaders/noise.js +222 -0
  282. package/dist/src/shaders/noise.js.map +1 -0
  283. package/dist/src/shaders/pbr.js +51 -0
  284. package/dist/src/shaders/pbr.js.map +1 -0
  285. package/dist/src/shaders/shadow.js +636 -0
  286. package/dist/src/shaders/shadow.js.map +1 -0
  287. package/dist/src/shaders/ssr.js +490 -0
  288. package/dist/src/shaders/ssr.js.map +1 -0
  289. package/dist/src/shaders/temporal.js +215 -0
  290. package/dist/src/shaders/temporal.js.map +1 -0
  291. package/dist/src/shaders/water.js +756 -0
  292. package/dist/src/shaders/water.js.map +1 -0
  293. package/dist/src/shadow/esm.js +237 -0
  294. package/dist/src/shadow/esm.js.map +1 -0
  295. package/dist/src/shadow/pcf_opt.js +181 -0
  296. package/dist/src/shadow/pcf_opt.js.map +1 -0
  297. package/dist/src/shadow/pcf_pd.js +189 -0
  298. package/dist/src/shadow/pcf_pd.js.map +1 -0
  299. package/dist/src/shadow/shader.js +37 -0
  300. package/dist/src/shadow/shader.js.map +1 -0
  301. package/dist/src/shadow/shadow_impl.js +15 -0
  302. package/dist/src/shadow/shadow_impl.js.map +1 -0
  303. package/dist/src/shadow/shadowmapper.js +790 -0
  304. package/dist/src/shadow/shadowmapper.js.map +1 -0
  305. package/dist/src/shadow/ssm.js +159 -0
  306. package/dist/src/shadow/ssm.js.map +1 -0
  307. package/dist/src/shadow/vsm.js +297 -0
  308. package/dist/src/shadow/vsm.js.map +1 -0
  309. package/dist/src/shapes/box.js +386 -0
  310. package/dist/src/shapes/box.js.map +1 -0
  311. package/dist/src/shapes/cylinder.js +125 -0
  312. package/dist/src/shapes/cylinder.js.map +1 -0
  313. package/dist/src/shapes/plane.js +88 -0
  314. package/dist/src/shapes/plane.js.map +1 -0
  315. package/dist/src/shapes/shape.js +87 -0
  316. package/dist/src/shapes/shape.js.map +1 -0
  317. package/dist/src/shapes/sphere.js +114 -0
  318. package/dist/src/shapes/sphere.js.map +1 -0
  319. package/dist/src/shapes/tetrahedron.js +188 -0
  320. package/dist/src/shapes/tetrahedron.js.map +1 -0
  321. package/dist/src/shapes/torus.js +111 -0
  322. package/dist/src/shapes/torus.js.map +1 -0
  323. package/dist/src/utility/aabbtree.js +400 -0
  324. package/dist/src/utility/aabbtree.js.map +1 -0
  325. package/dist/src/utility/bounding_volume.js +29 -0
  326. package/dist/src/utility/bounding_volume.js.map +1 -0
  327. package/dist/src/utility/debug.js +28 -0
  328. package/dist/src/utility/debug.js.map +1 -0
  329. package/dist/src/utility/draco/decoder.js +116 -0
  330. package/dist/src/utility/draco/decoder.js.map +1 -0
  331. package/dist/src/utility/misc.js +105 -0
  332. package/dist/src/utility/misc.js.map +1 -0
  333. package/dist/src/utility/panorama.js +163 -0
  334. package/dist/src/utility/panorama.js.map +1 -0
  335. package/dist/src/utility/pmrem.js +354 -0
  336. package/dist/src/utility/pmrem.js.map +1 -0
  337. package/dist/src/utility/rendermipmap.js +115 -0
  338. package/dist/src/utility/rendermipmap.js.map +1 -0
  339. package/dist/src/utility/serialization/json.js +402 -0
  340. package/dist/src/utility/serialization/json.js.map +1 -0
  341. package/dist/src/utility/serialization/manager.js +623 -0
  342. package/dist/src/utility/serialization/manager.js.map +1 -0
  343. package/dist/src/utility/serialization/scene/animation.js +248 -0
  344. package/dist/src/utility/serialization/scene/animation.js.map +1 -0
  345. package/dist/src/utility/serialization/scene/batch.js +59 -0
  346. package/dist/src/utility/serialization/scene/batch.js.map +1 -0
  347. package/dist/src/utility/serialization/scene/camera.js +790 -0
  348. package/dist/src/utility/serialization/scene/camera.js.map +1 -0
  349. package/dist/src/utility/serialization/scene/common.js +222 -0
  350. package/dist/src/utility/serialization/scene/common.js.map +1 -0
  351. package/dist/src/utility/serialization/scene/light.js +575 -0
  352. package/dist/src/utility/serialization/scene/light.js.map +1 -0
  353. package/dist/src/utility/serialization/scene/material.js +1111 -0
  354. package/dist/src/utility/serialization/scene/material.js.map +1 -0
  355. package/dist/src/utility/serialization/scene/mesh.js +148 -0
  356. package/dist/src/utility/serialization/scene/mesh.js.map +1 -0
  357. package/dist/src/utility/serialization/scene/misc.js +39 -0
  358. package/dist/src/utility/serialization/scene/misc.js.map +1 -0
  359. package/dist/src/utility/serialization/scene/node.js +451 -0
  360. package/dist/src/utility/serialization/scene/node.js.map +1 -0
  361. package/dist/src/utility/serialization/scene/particle.js +425 -0
  362. package/dist/src/utility/serialization/scene/particle.js.map +1 -0
  363. package/dist/src/utility/serialization/scene/primitive.js +692 -0
  364. package/dist/src/utility/serialization/scene/primitive.js.map +1 -0
  365. package/dist/src/utility/serialization/scene/scene.js +704 -0
  366. package/dist/src/utility/serialization/scene/scene.js.map +1 -0
  367. package/dist/src/utility/serialization/scene/terrain.js +488 -0
  368. package/dist/src/utility/serialization/scene/terrain.js.map +1 -0
  369. package/dist/src/utility/serialization/scene/water.js +465 -0
  370. package/dist/src/utility/serialization/scene/water.js.map +1 -0
  371. package/dist/src/utility/shprojector.js +297 -0
  372. package/dist/src/utility/shprojector.js.map +1 -0
  373. package/dist/src/utility/textures/ggxlut.js +213 -0
  374. package/dist/src/utility/textures/ggxlut.js.map +1 -0
  375. package/dist/src/utility/textures/gradientnoise.js +62 -0
  376. package/dist/src/utility/textures/gradientnoise.js.map +1 -0
  377. package/dist/src/utility/textures/randomnoise.js +41 -0
  378. package/dist/src/utility/textures/randomnoise.js.map +1 -0
  379. package/dist/src/values.js +162 -0
  380. package/dist/src/values.js.map +1 -0
  381. package/dist/utility/blueprint/material/common.js +7 -0
  382. package/dist/utility/blueprint/material/common.js.map +1 -0
  383. package/dist/utility/blueprint/material/ir.js +489 -489
  384. package/dist/utility/blueprint/material/ir.js.map +1 -1
  385. package/dist/utility/serialization/blueprint/constants.js +255 -0
  386. package/dist/utility/serialization/blueprint/constants.js.map +1 -0
  387. package/dist/utility/serialization/blueprint/material/constants.js +203 -0
  388. package/dist/utility/serialization/blueprint/material/constants.js.map +1 -0
  389. package/dist/utility/serialization/blueprint/material/texture.js +165 -0
  390. package/dist/utility/serialization/blueprint/material/texture.js.map +1 -0
  391. package/dist/utility/serialization/manager.js +271 -271
  392. package/dist/utility/serialization/manager.js.map +1 -1
  393. package/dist/utility/serialization/scene/animation.js.map +1 -1
  394. package/dist/utility/serialization/scene/camera.js.map +1 -1
  395. package/dist/utility/serialization/scene/common.js.map +1 -1
  396. package/dist/utility/serialization/scene/light.js.map +1 -1
  397. package/dist/utility/serialization/scene/material.js.map +1 -1
  398. package/dist/utility/serialization/scene/mesh.js.map +1 -1
  399. package/dist/utility/serialization/scene/node.js.map +1 -1
  400. package/dist/utility/serialization/scene/particle.js.map +1 -1
  401. package/dist/utility/serialization/scene/primitive.js.map +1 -1
  402. package/dist/utility/serialization/scene/scene.js.map +1 -1
  403. package/dist/utility/serialization/scene/terrain.js.map +1 -1
  404. package/dist/utility/serialization/types.js +4 -4
  405. package/dist/utility/serialization/types.js.map +1 -1
  406. package/dist/values.js +49 -53
  407. package/dist/values.js.map +1 -1
  408. package/package.json +1 -1
  409. package/dist/animation/joint_dynamics/vrm_spring_bone.js +0 -46
  410. package/dist/animation/joint_dynamics/vrm_spring_bone.js.map +0 -1
  411. package/dist/animation/spring/spring_bone.js +0 -240
  412. package/dist/animation/spring/spring_bone.js.map +0 -1
  413. package/dist/animation/spring/spring_bone_collider.js +0 -198
  414. package/dist/animation/spring/spring_bone_collider.js.map +0 -1
  415. package/dist/animation/spring/spring_bone_constraint.js +0 -170
  416. package/dist/animation/spring/spring_bone_constraint.js.map +0 -1
  417. package/dist/animation/spring/spring_bone_system.js +0 -328
  418. package/dist/animation/spring/spring_bone_system.js.map +0 -1
  419. package/dist/render/sky_motion_vector.js +0 -85
  420. package/dist/render/sky_motion_vector.js.map +0 -1
@@ -111,29 +111,29 @@ const defaultValues = {
111
111
  ],
112
112
  command: null
113
113
  };
114
- /**
115
- * Manages serialization and deserialization of engine objects to/from JSON,
116
- * including asset resolution via a virtual file system (VFS) and asset manager.
117
- *
118
- * @remarks
119
- * - Keeps a registry of serializable classes and their properties.
120
- * - Converts object graphs to JSON using per-class metadata and property accessors.
121
- * - Supports async asset embedding/export and lazy deserialization via phases.
122
- * - Maps loaded assets/objects back to their source IDs for caching and deduplication.
123
- *
124
- * Typical workflow:
125
- * 1. Construct with a `VFS`.
126
- * 2. Optionally `registerClass` for custom types.
127
- * 3. Use `serializeObject` and `deserializeObject` to convert between runtime objects and JSON.
128
- * 4. Use `saveScene` / `loadScene` for scene I/O.
129
- *
130
- * Caching:
131
- * - `getAssetId` returns the known source ID for an allocated asset when available.
132
- *
133
- * Threading:
134
- * - Methods returning Promises perform async I/O using the provided `VFS`/AssetManager.
135
- *
136
- * @public
114
+ /**
115
+ * Manages serialization and deserialization of engine objects to/from JSON,
116
+ * including asset resolution via a virtual file system (VFS) and asset manager.
117
+ *
118
+ * @remarks
119
+ * - Keeps a registry of serializable classes and their properties.
120
+ * - Converts object graphs to JSON using per-class metadata and property accessors.
121
+ * - Supports async asset embedding/export and lazy deserialization via phases.
122
+ * - Maps loaded assets/objects back to their source IDs for caching and deduplication.
123
+ *
124
+ * Typical workflow:
125
+ * 1. Construct with a `VFS`.
126
+ * 2. Optionally `registerClass` for custom types.
127
+ * 3. Use `serializeObject` and `deserializeObject` to convert between runtime objects and JSON.
128
+ * 4. Use `saveScene` / `loadScene` for scene I/O.
129
+ *
130
+ * Caching:
131
+ * - `getAssetId` returns the known source ID for an allocated asset when available.
132
+ *
133
+ * Threading:
134
+ * - Methods returning Promises perform async I/O using the provided `VFS`/AssetManager.
135
+ *
136
+ * @public
137
137
  */ class ResourceManager {
138
138
  _classMap;
139
139
  _vfs;
@@ -143,10 +143,10 @@ const defaultValues = {
143
143
  _assetManager;
144
144
  _editorMode;
145
145
  _allocated;
146
- /**
147
- * Create a ResourceManager bound to a virtual file system.
148
- *
149
- * @param vfs - Virtual file system used for reading/writing assets and scenes.
146
+ /**
147
+ * Create a ResourceManager bound to a virtual file system.
148
+ *
149
+ * @param vfs - Virtual file system used for reading/writing assets and scenes.
150
150
  */ constructor(vfs, editorMode = false){
151
151
  this._vfs = vfs;
152
152
  this._editorMode = editorMode;
@@ -330,49 +330,49 @@ const defaultValues = {
330
330
  this.registerProps(k[1]);
331
331
  }
332
332
  }
333
- /**
334
- * The virtual file system used by this manager.
335
- *
336
- * @remarks
337
- * Used by asset fetchers and scene save/load operations.
333
+ /**
334
+ * The virtual file system used by this manager.
335
+ *
336
+ * @remarks
337
+ * Used by asset fetchers and scene save/load operations.
338
338
  */ get VFS() {
339
339
  return this._vfs;
340
340
  }
341
341
  set VFS(vfs) {
342
342
  this._vfs = vfs;
343
343
  }
344
- /**
345
- * Wethether editor mode is enabled
346
- *
347
- * @remarks
348
- * In editor mode, some properties will be disabled
344
+ /**
345
+ * Wethether editor mode is enabled
346
+ *
347
+ * @remarks
348
+ * In editor mode, some properties will be disabled
349
349
  */ get editorMode() {
350
350
  return this._editorMode;
351
351
  }
352
- /**
353
- * AssetManager
352
+ /**
353
+ * AssetManager
354
354
  */ get assetManager() {
355
355
  return this._assetManager;
356
356
  }
357
- /**
358
- * Get the list of all registered serializable classes.
359
- *
360
- * @remarks
361
- * Includes built-in classes registered during construction and any custom classes
362
- * registered via `registerClass`.
363
- *
364
- * @returns An array of `SerializableClass` metadata.
357
+ /**
358
+ * Get the list of all registered serializable classes.
359
+ *
360
+ * @remarks
361
+ * Includes built-in classes registered during construction and any custom classes
362
+ * registered via `registerClass`.
363
+ *
364
+ * @returns An array of `SerializableClass` metadata.
365
365
  */ getClasses() {
366
366
  return [
367
367
  ...this._classMap.values()
368
368
  ];
369
369
  }
370
- /**
371
- * Get serialization metadata by a constructor function.
372
- *
373
- * @param ctor - The class constructor to look up.
374
- *
375
- * @returns The `SerializableClass` metadata, or `null` if not found.
370
+ /**
371
+ * Get serialization metadata by a constructor function.
372
+ *
373
+ * @param ctor - The class constructor to look up.
374
+ *
375
+ * @returns The `SerializableClass` metadata, or `null` if not found.
376
376
  */ getClassByConstructor(ctor) {
377
377
  let current = ctor;
378
378
  while(typeof current === 'function' && current !== Function.prototype){
@@ -384,21 +384,21 @@ const defaultValues = {
384
384
  }
385
385
  return null;
386
386
  }
387
- /**
388
- * Get serialization metadata by an object instance.
389
- *
390
- * @param obj - The object whose constructor will be used for the lookup.
391
- *
392
- * @returns The `SerializableClass` metadata, or `null` if not found.
387
+ /**
388
+ * Get serialization metadata by an object instance.
389
+ *
390
+ * @param obj - The object whose constructor will be used for the lookup.
391
+ *
392
+ * @returns The `SerializableClass` metadata, or `null` if not found.
393
393
  */ getClassByObject(obj) {
394
394
  return this.getClassByConstructor(obj.constructor);
395
395
  }
396
- /**
397
- * Get serialization metadata by class name.
398
- *
399
- * @param className - Fully qualified class name as stored in JSON.
400
- *
401
- * @returns The `SerializableClass` metadata, or `null` if not found.
396
+ /**
397
+ * Get serialization metadata by class name.
398
+ *
399
+ * @param className - Fully qualified class name as stored in JSON.
400
+ *
401
+ * @returns The `SerializableClass` metadata, or `null` if not found.
402
402
  */ getClassByName(className) {
403
403
  for (const val of this._classMap){
404
404
  if (val[0].name === className) {
@@ -407,12 +407,12 @@ const defaultValues = {
407
407
  }
408
408
  return null;
409
409
  }
410
- /**
411
- * Find the class that owns a given property accessor.
412
- *
413
- * @param prop - Property accessor to search for.
414
- *
415
- * @returns The `SerializableClass` that declares the property, or `null` if unknown.
410
+ /**
411
+ * Find the class that owns a given property accessor.
412
+ *
413
+ * @param prop - Property accessor to search for.
414
+ *
415
+ * @returns The `SerializableClass` that declares the property, or `null` if unknown.
416
416
  */ getClassByProperty(prop) {
417
417
  for (const k of this._clsPropMap){
418
418
  if (k[1].indexOf(prop) >= 0) {
@@ -421,21 +421,21 @@ const defaultValues = {
421
421
  }
422
422
  return null;
423
423
  }
424
- /**
425
- * Get the properties declared on a given class.
426
- *
427
- * @param cls - Serializable class metadata.
428
- *
429
- * @returns An array of `PropertyAccessor` entries, or `null` if none.
424
+ /**
425
+ * Get the properties declared on a given class.
426
+ *
427
+ * @param cls - Serializable class metadata.
428
+ *
429
+ * @returns An array of `PropertyAccessor` entries, or `null` if none.
430
430
  */ getPropertiesByClass(cls) {
431
431
  return this._clsPropMap.get(cls) ?? null;
432
432
  }
433
- /**
434
- * Get all properties declared on a given class and its ancestors.
435
- *
436
- * @param cls - Serializable class metadata.
437
- *
438
- * @returns An array of `PropertyAccessor` entries, or `null` if none.
433
+ /**
434
+ * Get all properties declared on a given class and its ancestors.
435
+ *
436
+ * @param cls - Serializable class metadata.
437
+ *
438
+ * @returns An array of `PropertyAccessor` entries, or `null` if none.
439
439
  */ getAllPropertiesByClass(cls) {
440
440
  const props = new Map();
441
441
  while(cls){
@@ -453,72 +453,72 @@ const defaultValues = {
453
453
  ...props.values()
454
454
  ];
455
455
  }
456
- /**
457
- * Get a property accessor by class and property name.
458
- *
459
- * @param cls - Serializable class metadata.
460
- * @param name - Property name to search for.
461
- *
462
- * @returns The `PropertyAccessor`, or `null` if not found.
456
+ /**
457
+ * Get a property accessor by class and property name.
458
+ *
459
+ * @param cls - Serializable class metadata.
460
+ * @param name - Property name to search for.
461
+ *
462
+ * @returns The `PropertyAccessor`, or `null` if not found.
463
463
  */ getPropertyByClass(cls, name) {
464
464
  return this.getPropertiesByClass(cls)?.find((value)=>value.name === name) ?? null;
465
465
  }
466
- /**
467
- * Get a property accessor by its canonical path.
468
- *
469
- * @remarks
470
- * The canonical path format is `/ClassName/propName`.
471
- *
472
- * @param name - Canonical property path.
473
- *
474
- * @returns The `PropertyAccessor`, or `null` if not found.
466
+ /**
467
+ * Get a property accessor by its canonical path.
468
+ *
469
+ * @remarks
470
+ * The canonical path format is `/ClassName/propName`.
471
+ *
472
+ * @param name - Canonical property path.
473
+ *
474
+ * @returns The `PropertyAccessor`, or `null` if not found.
475
475
  */ getPropertyByName(name) {
476
476
  return this._propMap[name] ?? null;
477
477
  }
478
- /**
479
- * Get the canonical path for a property accessor.
480
- *
481
- * @remarks
482
- * Returns a string like `/ClassName/propName` if the property is registered.
483
- *
484
- * @param prop - Property accessor.
485
- *
486
- * @returns The canonical path, or `null` if unknown.
478
+ /**
479
+ * Get the canonical path for a property accessor.
480
+ *
481
+ * @remarks
482
+ * Returns a string like `/ClassName/propName` if the property is registered.
483
+ *
484
+ * @param prop - Property accessor.
485
+ *
486
+ * @returns The canonical path, or `null` if unknown.
487
487
  */ getPropertyName(prop) {
488
488
  return this._propNameMap.get(prop) ?? null;
489
489
  }
490
- /**
491
- * Register a serializable class and its properties.
492
- *
493
- * @remarks
494
- * - No effect if the class is already registered.
495
- * - Also registers the class's properties with canonical paths.
496
- *
497
- * @param cls - Serializable class metadata to register.
490
+ /**
491
+ * Register a serializable class and its properties.
492
+ *
493
+ * @remarks
494
+ * - No effect if the class is already registered.
495
+ * - Also registers the class's properties with canonical paths.
496
+ *
497
+ * @param cls - Serializable class metadata to register.
498
498
  */ registerClass(cls) {
499
499
  if (!this._classMap.has(cls.ctor)) {
500
500
  this._classMap.set(cls.ctor, cls);
501
501
  this.registerProps(cls);
502
502
  }
503
503
  }
504
- /**
505
- * Get the known asset ID previously associated with a loaded/allocated asset.
506
- *
507
- * @remarks
508
- * Returns `null` if the asset was not loaded or tracked by this manager.
509
- *
510
- * @param asset - Asset instance (e.g., texture, model group) to look up.
511
- *
512
- * @returns The asset ID string, or `null` if unknown.
504
+ /**
505
+ * Get the known asset ID previously associated with a loaded/allocated asset.
506
+ *
507
+ * @remarks
508
+ * Returns `null` if the asset was not loaded or tracked by this manager.
509
+ *
510
+ * @param asset - Asset instance (e.g., texture, model group) to look up.
511
+ *
512
+ * @returns The asset ID string, or `null` if unknown.
513
513
  */ getAssetId(asset) {
514
514
  return this._allocated.get(asset) ?? null;
515
515
  }
516
- /**
517
- * Associate an asset ID to a loaded/allocated asset.
518
- *
519
- * @param asset - Asset instance (e.g., texture, model group) to set Id.
520
- * @param id - Asset ID to associated to this asset.
521
- *
516
+ /**
517
+ * Associate an asset ID to a loaded/allocated asset.
518
+ *
519
+ * @param asset - Asset instance (e.g., texture, model group) to set Id.
520
+ * @param id - Asset ID to associated to this asset.
521
+ *
522
522
  */ setAssetId(asset, id) {
523
523
  if (asset) {
524
524
  if (id) {
@@ -528,16 +528,16 @@ const defaultValues = {
528
528
  }
529
529
  }
530
530
  }
531
- /**
532
- * Fetch a binary asset by ID via the asset manager.
533
- *
534
- * @remarks
535
- * - Associates the returned data with the given ID for future reverse lookup.
536
- * - The ID is typically a VFS path or locator.
537
- *
538
- * @param id - Asset identifier or path.
539
- *
540
- * @returns A Promise that resolves to the binary content, or `null` if not found.
531
+ /**
532
+ * Fetch a binary asset by ID via the asset manager.
533
+ *
534
+ * @remarks
535
+ * - Associates the returned data with the given ID for future reverse lookup.
536
+ * - The ID is typically a VFS path or locator.
537
+ *
538
+ * @param id - Asset identifier or path.
539
+ *
540
+ * @returns A Promise that resolves to the binary content, or `null` if not found.
541
541
  */ async fetchBinary(id) {
542
542
  const data = await this._assetManager.fetchBinaryData(id);
543
543
  if (data) {
@@ -545,18 +545,18 @@ const defaultValues = {
545
545
  }
546
546
  return data;
547
547
  }
548
- /**
549
- * Serialize an object to a JSON structure using registered class metadata.
550
- *
551
- * @remarks
552
- * - Throws if the object's class is not registered.
553
- * - Populates `asyncTasks` with pending I/O tasks for embedded resources.
554
- *
555
- * @param obj - The object to serialize.
556
- * @param json - Optional existing JSON object to fill.
557
- * @param asyncTasks - Optional list to collect async tasks for embedded asset export.
558
- *
559
- * @returns The serialized JSON structure.
548
+ /**
549
+ * Serialize an object to a JSON structure using registered class metadata.
550
+ *
551
+ * @remarks
552
+ * - Throws if the object's class is not registered.
553
+ * - Populates `asyncTasks` with pending I/O tasks for embedded resources.
554
+ *
555
+ * @param obj - The object to serialize.
556
+ * @param json - Optional existing JSON object to fill.
557
+ * @param asyncTasks - Optional list to collect async tasks for embedded asset export.
558
+ *
559
+ * @returns The serialized JSON structure.
560
560
  */ async serializeObject(obj, json, asyncTasks) {
561
561
  if (obj === null || obj === undefined) {
562
562
  return obj;
@@ -582,14 +582,14 @@ const defaultValues = {
582
582
  }
583
583
  return json;
584
584
  }
585
- /**
586
- * Serialize object properties into a JSON structure.
587
- *
588
- * @param obj - The target object to serialize.
589
- * @param json - The JSON structure to populate.
590
- * @param asyncTasks - Optional list to collect async tasks for embedded asset export.
591
- * @param info - Optional serialization metadata for the object's class.
592
- * @returns A Promise that resolves when serialization is complete.
585
+ /**
586
+ * Serialize object properties into a JSON structure.
587
+ *
588
+ * @param obj - The target object to serialize.
589
+ * @param json - The JSON structure to populate.
590
+ * @param asyncTasks - Optional list to collect async tasks for embedded asset export.
591
+ * @param info - Optional serialization metadata for the object's class.
592
+ * @returns A Promise that resolves when serialization is complete.
593
593
  */ async serializeObjectProps(obj, json, asyncTasks, info) {
594
594
  if (!info) {
595
595
  const cls = this.getClasses();
@@ -606,17 +606,17 @@ const defaultValues = {
606
606
  }
607
607
  return json;
608
608
  }
609
- /**
610
- * Deserialize a JSON structure into an object instance.
611
- *
612
- * @remarks
613
- * - Uses the `ClassName` field to locate the registered class.
614
- * - Supports custom `createFunc` and phased property loading.
615
- *
616
- * @param ctx - Context object passed to custom constructors/resolvers.
617
- * @param json - The serialized JSON structure.
618
- *
619
- * @returns A Promise resolving to the reconstructed object instance, or `null` on failure.
609
+ /**
610
+ * Deserialize a JSON structure into an object instance.
611
+ *
612
+ * @remarks
613
+ * - Uses the `ClassName` field to locate the registered class.
614
+ * - Supports custom `createFunc` and phased property loading.
615
+ *
616
+ * @param ctx - Context object passed to custom constructors/resolvers.
617
+ * @param json - The serialized JSON structure.
618
+ *
619
+ * @returns A Promise resolving to the reconstructed object instance, or `null` on failure.
620
620
  */ async deserializeObject(ctx, json) {
621
621
  const cls = this.getClasses();
622
622
  const className = json['ClassName'];
@@ -649,12 +649,12 @@ const defaultValues = {
649
649
  }
650
650
  return obj;
651
651
  }
652
- /**
653
- * Deserialize object properties from JSON into an existing object instance.
654
- *
655
- * @param obj - The target object to populate.
656
- * @param json - The JSON structure containing serialized properties.
657
- * @param info - Optional serialization metadata for the object's class.
652
+ /**
653
+ * Deserialize object properties from JSON into an existing object instance.
654
+ *
655
+ * @param obj - The target object to populate.
656
+ * @param json - The JSON structure containing serialized properties.
657
+ * @param info - Optional serialization metadata for the object's class.
658
658
  */ async deserializeObjectProps(obj, json, info) {
659
659
  if (!info) {
660
660
  const cls = this.getClasses();
@@ -669,14 +669,14 @@ const defaultValues = {
669
669
  info = this.getClassByConstructor(info.parent);
670
670
  }
671
671
  }
672
- /**
673
- * Load a model by ID and track the allocation for reverse lookup.
674
- *
675
- * @param id - Model identifier or path.
676
- * @param scene - Scene into which the model is loaded.
677
- * @param options - Optional model fetch options.
678
- *
679
- * @returns A Promise resolving to the loaded model object, or `null` if failed.
672
+ /**
673
+ * Load a model by ID and track the allocation for reverse lookup.
674
+ *
675
+ * @param id - Model identifier or path.
676
+ * @param scene - Scene into which the model is loaded.
677
+ * @param options - Optional model fetch options.
678
+ *
679
+ * @returns A Promise resolving to the loaded model object, or `null` if failed.
680
680
  */ async fetchModel(id, scene, options) {
681
681
  const model = await this._assetManager.fetchModel(scene, id, options);
682
682
  if (model) {
@@ -684,29 +684,29 @@ const defaultValues = {
684
684
  }
685
685
  return model;
686
686
  }
687
- /**
688
- * Load a texture directly from an ArrayBuffer or typed array.
689
- *
690
- * - Chooses an appropriate loader based on the provided MIME type.
691
- * - Can upload into an existing texture if `texture` is specified.
692
- *
693
- * @typeParam T - Expected concrete texture type.
694
- * @param arrayBuffer - Raw texture data buffer.
695
- * @param mimeType - MIME type of the texture (must be supported by a registered loader).
696
- * @param srgb - If true, treat image as sRGB; otherwise linear.
697
- * @param samplerOptions - Optional sampler options passed to the loader path.
698
- * @param texture - Optional destination texture to populate.
699
- * @returns A promise that resolves to the created or populated texture.
687
+ /**
688
+ * Load a texture directly from an ArrayBuffer or typed array.
689
+ *
690
+ * - Chooses an appropriate loader based on the provided MIME type.
691
+ * - Can upload into an existing texture if `texture` is specified.
692
+ *
693
+ * @typeParam T - Expected concrete texture type.
694
+ * @param arrayBuffer - Raw texture data buffer.
695
+ * @param mimeType - MIME type of the texture (must be supported by a registered loader).
696
+ * @param srgb - If true, treat image as sRGB; otherwise linear.
697
+ * @param samplerOptions - Optional sampler options passed to the loader path.
698
+ * @param texture - Optional destination texture to populate.
699
+ * @returns A promise that resolves to the created or populated texture.
700
700
  */ async loadTextureFromBuffer(arrayBuffer, mimeType, srgb, samplerOptions, texture) {
701
701
  return this._assetManager.loadTextureFromBuffer(arrayBuffer, mimeType, srgb, samplerOptions, texture);
702
702
  }
703
- /**
704
- * Load a texture by ID and track the allocation for reverse lookup.
705
- *
706
- * @param id - Texture identifier or path.
707
- * @param options - Optional texture fetch options.
708
- *
709
- * @returns A Promise resolving to the loaded texture, or `null` if failed.
703
+ /**
704
+ * Load a texture by ID and track the allocation for reverse lookup.
705
+ *
706
+ * @param id - Texture identifier or path.
707
+ * @param options - Optional texture fetch options.
708
+ *
709
+ * @returns A Promise resolving to the loaded texture, or `null` if failed.
710
710
  */ async fetchTexture(id, options) {
711
711
  const texture = await this._assetManager.fetchTexture(id, options);
712
712
  if (texture) {
@@ -714,12 +714,12 @@ const defaultValues = {
714
714
  }
715
715
  return texture;
716
716
  }
717
- /**
718
- * Load a material by ID and track the allocation for reverse lookup.
719
- *
720
- * @param id - Material identifier or path.
721
- *
722
- * @returns A Promise resolving to the loaded material, or `null` if failed.
717
+ /**
718
+ * Load a material by ID and track the allocation for reverse lookup.
719
+ *
720
+ * @param id - Material identifier or path.
721
+ *
722
+ * @returns A Promise resolving to the loaded material, or `null` if failed.
723
723
  */ async fetchMaterial(id) {
724
724
  const material = await this._assetManager.fetchMaterial(id);
725
725
  if (material) {
@@ -727,26 +727,26 @@ const defaultValues = {
727
727
  }
728
728
  return material;
729
729
  }
730
- /**
731
- * Reload specific blue print materials
732
- *
733
- * @param filter - Determine whether a blue print material should reload.
734
- *
730
+ /**
731
+ * Reload specific blue print materials
732
+ *
733
+ * @param filter - Determine whether a blue print material should reload.
734
+ *
735
735
  */ async reloadBluePrintMaterials(filter) {
736
736
  await this._assetManager.reloadBluePrintMaterials(filter);
737
737
  }
738
- /**
739
- * Mark specific blue print as changed
740
- * @param path - BluePrint file path
738
+ /**
739
+ * Mark specific blue print as changed
740
+ * @param path - BluePrint file path
741
741
  */ invalidateBluePrint(path) {
742
742
  this._assetManager.invalidateBluePrint(path);
743
743
  }
744
- /**
745
- * Load a primitive by ID and track the allocation for reverse lookup.
746
- *
747
- * @param id - Primitive identifier or path.
748
- *
749
- * @returns A Promise resolving to the loaded primitive, or `null` if failed.
744
+ /**
745
+ * Load a primitive by ID and track the allocation for reverse lookup.
746
+ *
747
+ * @param id - Primitive identifier or path.
748
+ *
749
+ * @returns A Promise resolving to the loaded primitive, or `null` if failed.
750
750
  */ async fetchPrimitive(id) {
751
751
  const primitive = await this._assetManager.fetchPrimitive(id);
752
752
  if (primitive) {
@@ -754,10 +754,10 @@ const defaultValues = {
754
754
  }
755
755
  return primitive;
756
756
  }
757
- /**
758
- * Load a prefab content.
759
- * @param path - Path to the prefab JSON file in VFS.
760
- * @returns A Promise resolving to the prefab json object, or `null` on failure.
757
+ /**
758
+ * Load a prefab content.
759
+ * @param path - Path to the prefab JSON file in VFS.
760
+ * @returns A Promise resolving to the prefab json object, or `null` on failure.
761
761
  */ async loadPrefabContent(path) {
762
762
  try {
763
763
  const content = await this._vfs.readFile(path, {
@@ -770,11 +770,11 @@ const defaultValues = {
770
770
  return null;
771
771
  }
772
772
  }
773
- /**
774
- * Instantiate a prefab from a JSON file via VFS.
775
- * @param parent - Parent node to attach the instantiated prefab to.
776
- * @param path - Path to the prefab JSON file in VFS.
777
- * @returns A Promise resolving to the instantiated `SceneNode`, or `null` on failure.
773
+ /**
774
+ * Instantiate a prefab from a JSON file via VFS.
775
+ * @param parent - Parent node to attach the instantiated prefab to.
776
+ * @param path - Path to the prefab JSON file in VFS.
777
+ * @returns A Promise resolving to the instantiated `SceneNode`, or `null` on failure.
778
778
  */ async instantiatePrefab(parent, path) {
779
779
  try {
780
780
  const json = await this.loadPrefabContent(path);
@@ -793,16 +793,16 @@ const defaultValues = {
793
793
  return null;
794
794
  }
795
795
  }
796
- /**
797
- * Load a scene from a JSON file via VFS.
798
- *
799
- * @remarks
800
- * - Deserializes the scene graph.
801
- * - Attaches scripts referenced by nodes after load (asynchronous).
802
- *
803
- * @param filename - Path to the scene JSON file in VFS.
804
- *
805
- * @returns A Promise resolving to the loaded `Scene`.
796
+ /**
797
+ * Load a scene from a JSON file via VFS.
798
+ *
799
+ * @remarks
800
+ * - Deserializes the scene graph.
801
+ * - Attaches scripts referenced by nodes after load (asynchronous).
802
+ *
803
+ * @param filename - Path to the scene JSON file in VFS.
804
+ *
805
+ * @returns A Promise resolving to the loaded `Scene`.
806
806
  */ async loadScene(filename) {
807
807
  const content = await this._vfs.readFile(filename, {
808
808
  encoding: 'utf8'
@@ -810,15 +810,15 @@ const defaultValues = {
810
810
  const json = JSON.parse(content);
811
811
  return await this.deserializeObject(null, json);
812
812
  }
813
- /**
814
- * Save a scene to a JSON file via VFS.
815
- *
816
- * @remarks
817
- * - Collects async export tasks for embedded resources and awaits them.
818
- * - Writes a UTF-8 JSON representation to VFS.
819
- *
820
- * @param scene - Scene to serialize and save.
821
- * @param filename - Destination path in VFS.
813
+ /**
814
+ * Save a scene to a JSON file via VFS.
815
+ *
816
+ * @remarks
817
+ * - Collects async export tasks for embedded resources and awaits them.
818
+ * - Writes a UTF-8 JSON representation to VFS.
819
+ *
820
+ * @param scene - Scene to serialize and save.
821
+ * @param filename - Destination path in VFS.
822
822
  */ async saveScene(scene, filename) {
823
823
  const asyncTasks = [];
824
824
  const content = await this.serializeObject(scene, null, asyncTasks);
@@ -950,11 +950,11 @@ const defaultValues = {
950
950
  async loadBluePrint(path) {
951
951
  return this._assetManager.loadBluePrint(path);
952
952
  }
953
- /**
954
- * Clear cached allocations and asset-manager caches.
955
- *
956
- * @remarks
957
- * Useful when reloading content or changing VFS mounts.
953
+ /**
954
+ * Clear cached allocations and asset-manager caches.
955
+ *
956
+ * @remarks
957
+ * Useful when reloading content or changing VFS mounts.
958
958
  */ clearCache() {
959
959
  this._allocated = new WeakMap();
960
960
  this._assetManager.clearCache();
@@ -973,18 +973,18 @@ const defaultValues = {
973
973
  }
974
974
  return null;
975
975
  }
976
- /**
977
- * Find the object targeted by an animation track starting from a node.
978
- *
979
- * @remarks
980
- * - Parses a target path like `prop/subprop[0]/child` where indexed entries
981
- * require `object_array` type and non-indexed entries require `object` type.
982
- * - Returns `null` if any segment cannot be resolved through registered metadata.
983
- *
984
- * @param node - Root node used as the starting point.
985
- * @param track - Property track containing a target path.
986
- *
987
- * @returns The resolved target object, or `null` if not found.
976
+ /**
977
+ * Find the object targeted by an animation track starting from a node.
978
+ *
979
+ * @remarks
980
+ * - Parses a target path like `prop/subprop[0]/child` where indexed entries
981
+ * require `object_array` type and non-indexed entries require `object` type.
982
+ * - Returns `null` if any segment cannot be resolved through registered metadata.
983
+ *
984
+ * @param node - Root node used as the starting point.
985
+ * @param track - Property track containing a target path.
986
+ *
987
+ * @returns The resolved target object, or `null` if not found.
988
988
  */ findAnimationTarget(node, track) {
989
989
  const target = track.target ?? '';
990
990
  const value = {