@needle-tools/engine 5.1.0-canary.db0c38f → 5.1.0-canary.e6680fa

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 (381) hide show
  1. package/.needle/generated/needle-bindings.gen.d.ts +5 -0
  2. package/CHANGELOG.md +133 -1
  3. package/SKILL.md +4 -1
  4. package/components.needle.json +1 -1
  5. package/dist/needle-engine.bundle-Bl_hyH5G.umd.cjs +1734 -0
  6. package/dist/needle-engine.bundle-Cduc1gj6.min.js +1734 -0
  7. package/dist/{needle-engine.bundle-B29kieh0.js → needle-engine.bundle-DNcqT8nJ.js} +13770 -12741
  8. package/dist/needle-engine.d.ts +1628 -402
  9. package/dist/needle-engine.js +591 -586
  10. package/dist/needle-engine.min.js +1 -1
  11. package/dist/needle-engine.umd.cjs +1 -1
  12. package/dist/three.js +1 -0
  13. package/dist/three.min.js +21 -21
  14. package/dist/three.umd.cjs +16 -16
  15. package/lib/engine/api.d.ts +9 -2
  16. package/lib/engine/api.js +7 -1
  17. package/lib/engine/api.js.map +1 -1
  18. package/lib/engine/codegen/register_types.js +10 -18
  19. package/lib/engine/codegen/register_types.js.map +1 -1
  20. package/lib/engine/debug/debug_spatial_console.d.ts +2 -0
  21. package/lib/engine/debug/debug_spatial_console.js +10 -7
  22. package/lib/engine/debug/debug_spatial_console.js.map +1 -1
  23. package/lib/engine/engine_addressables.d.ts +2 -0
  24. package/lib/engine/engine_addressables.js +6 -3
  25. package/lib/engine/engine_addressables.js.map +1 -1
  26. package/lib/engine/engine_audio.d.ts +68 -0
  27. package/lib/engine/engine_audio.js +172 -0
  28. package/lib/engine/engine_audio.js.map +1 -1
  29. package/lib/engine/engine_camera.fit.js +16 -4
  30. package/lib/engine/engine_camera.fit.js.map +1 -1
  31. package/lib/engine/engine_components.js +1 -1
  32. package/lib/engine/engine_components.js.map +1 -1
  33. package/lib/engine/engine_context.d.ts +41 -27
  34. package/lib/engine/engine_context.js +71 -30
  35. package/lib/engine/engine_context.js.map +1 -1
  36. package/lib/engine/engine_context_eventbus.d.ts +47 -0
  37. package/lib/engine/engine_context_eventbus.js +47 -0
  38. package/lib/engine/engine_context_eventbus.js.map +1 -0
  39. package/lib/engine/engine_disposable.d.ts +172 -0
  40. package/lib/engine/engine_disposable.js +136 -0
  41. package/lib/engine/engine_disposable.js.map +1 -0
  42. package/lib/engine/engine_gameobject.d.ts +1 -10
  43. package/lib/engine/engine_gameobject.js +22 -120
  44. package/lib/engine/engine_gameobject.js.map +1 -1
  45. package/lib/engine/engine_gltf_builtin_components.js +7 -69
  46. package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
  47. package/lib/engine/engine_init.js +16 -1
  48. package/lib/engine/engine_init.js.map +1 -1
  49. package/lib/engine/engine_input.d.ts +24 -5
  50. package/lib/engine/engine_input.js +3 -2
  51. package/lib/engine/engine_input.js.map +1 -1
  52. package/lib/engine/engine_instantiate_resolve.d.ts +42 -0
  53. package/lib/engine/engine_instantiate_resolve.js +372 -0
  54. package/lib/engine/engine_instantiate_resolve.js.map +1 -0
  55. package/lib/engine/engine_license.d.ts +8 -6
  56. package/lib/engine/engine_license.js +195 -59
  57. package/lib/engine/engine_license.js.map +1 -1
  58. package/lib/engine/engine_lifecycle_functions_internal.js +5 -0
  59. package/lib/engine/engine_lifecycle_functions_internal.js.map +1 -1
  60. package/lib/engine/engine_mainloop_utils.js +7 -4
  61. package/lib/engine/engine_mainloop_utils.js.map +1 -1
  62. package/lib/engine/engine_networking.d.ts +51 -37
  63. package/lib/engine/engine_networking.js +132 -82
  64. package/lib/engine/engine_networking.js.map +1 -1
  65. package/lib/engine/engine_networking.transport.websocket.d.ts +15 -0
  66. package/lib/engine/engine_networking.transport.websocket.js +38 -0
  67. package/lib/engine/engine_networking.transport.websocket.js.map +1 -0
  68. package/lib/engine/engine_networking_blob.js +4 -4
  69. package/lib/engine/engine_networking_blob.js.map +1 -1
  70. package/lib/engine/engine_networking_instantiate.js +2 -2
  71. package/lib/engine/engine_networking_instantiate.js.map +1 -1
  72. package/lib/engine/engine_networking_types.d.ts +39 -1
  73. package/lib/engine/engine_networking_types.js +7 -0
  74. package/lib/engine/engine_networking_types.js.map +1 -1
  75. package/lib/engine/engine_physics_rapier.d.ts +21 -3
  76. package/lib/engine/engine_physics_rapier.js +94 -25
  77. package/lib/engine/engine_physics_rapier.js.map +1 -1
  78. package/lib/engine/engine_pmrem.js +53 -5
  79. package/lib/engine/engine_pmrem.js.map +1 -1
  80. package/lib/engine/engine_scenedata.d.ts +13 -17
  81. package/lib/engine/engine_scenedata.js +58 -31
  82. package/lib/engine/engine_scenedata.js.map +1 -1
  83. package/lib/engine/engine_serialization_builtin_serializer.d.ts +10 -16
  84. package/lib/engine/engine_serialization_builtin_serializer.js +56 -46
  85. package/lib/engine/engine_serialization_builtin_serializer.js.map +1 -1
  86. package/lib/engine/engine_serialization_core.d.ts +1 -0
  87. package/lib/engine/engine_serialization_core.js +7 -0
  88. package/lib/engine/engine_serialization_core.js.map +1 -1
  89. package/lib/engine/engine_ssr.d.ts +2 -0
  90. package/lib/engine/engine_ssr.js +20 -0
  91. package/lib/engine/engine_ssr.js.map +1 -1
  92. package/lib/engine/engine_types.d.ts +31 -11
  93. package/lib/engine/engine_types.js +1 -1
  94. package/lib/engine/engine_types.js.map +1 -1
  95. package/lib/engine/engine_util_decorator.js +7 -2
  96. package/lib/engine/engine_util_decorator.js.map +1 -1
  97. package/lib/engine/engine_utils.d.ts +1 -1
  98. package/lib/engine/engine_utils.js +19 -5
  99. package/lib/engine/engine_utils.js.map +1 -1
  100. package/lib/engine/engine_utils_format.js +20 -14
  101. package/lib/engine/engine_utils_format.js.map +1 -1
  102. package/lib/engine/engine_utils_qrcode.js +2 -2
  103. package/lib/engine/engine_utils_qrcode.js.map +1 -1
  104. package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +1 -1
  105. package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js.map +1 -1
  106. package/lib/engine/webcomponents/jsx.d.ts +51 -0
  107. package/lib/engine/webcomponents/logo-element.js.map +1 -1
  108. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
  109. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
  110. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +3 -4
  111. package/lib/engine/webcomponents/needle menu/needle-menu.js +6 -6
  112. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  113. package/lib/engine/webcomponents/needle-button.js.map +1 -1
  114. package/lib/engine/webcomponents/needle-engine.d.ts +10 -4
  115. package/lib/engine/webcomponents/needle-engine.js +3 -3
  116. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  117. package/lib/engine/webcomponents/needle-engine.loading.js +2 -2
  118. package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
  119. package/lib/engine/xr/NeedleXRSession.d.ts +3 -2
  120. package/lib/engine/xr/NeedleXRSession.js +50 -14
  121. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  122. package/lib/engine/xr/TempXRContext.js +2 -2
  123. package/lib/engine/xr/TempXRContext.js.map +1 -1
  124. package/lib/engine/xr/events.d.ts +1 -1
  125. package/lib/engine/xr/events.js.map +1 -1
  126. package/lib/engine-components/Animation.js +17 -16
  127. package/lib/engine-components/Animation.js.map +1 -1
  128. package/lib/engine-components/AnimationBuilder.d.ts +158 -0
  129. package/lib/engine-components/AnimationBuilder.js +305 -0
  130. package/lib/engine-components/AnimationBuilder.js.map +1 -0
  131. package/lib/engine-components/Animator.d.ts +6 -0
  132. package/lib/engine-components/Animator.js +23 -13
  133. package/lib/engine-components/Animator.js.map +1 -1
  134. package/lib/engine-components/AnimatorController.builder.d.ts +191 -0
  135. package/lib/engine-components/AnimatorController.builder.js +263 -0
  136. package/lib/engine-components/AnimatorController.builder.js.map +1 -0
  137. package/lib/engine-components/AnimatorController.d.ts +4 -119
  138. package/lib/engine-components/AnimatorController.js +37 -233
  139. package/lib/engine-components/AnimatorController.js.map +1 -1
  140. package/lib/engine-components/AudioSource.d.ts +19 -3
  141. package/lib/engine-components/AudioSource.js +121 -68
  142. package/lib/engine-components/AudioSource.js.map +1 -1
  143. package/lib/engine-components/Camera.d.ts +6 -1
  144. package/lib/engine-components/Camera.js +16 -3
  145. package/lib/engine-components/Camera.js.map +1 -1
  146. package/lib/engine-components/CameraUtils.js +14 -6
  147. package/lib/engine-components/CameraUtils.js.map +1 -1
  148. package/lib/engine-components/Collider.d.ts +18 -9
  149. package/lib/engine-components/Collider.js +61 -14
  150. package/lib/engine-components/Collider.js.map +1 -1
  151. package/lib/engine-components/Component.d.ts +72 -9
  152. package/lib/engine-components/Component.js +114 -10
  153. package/lib/engine-components/Component.js.map +1 -1
  154. package/lib/engine-components/ContactShadows.d.ts +1 -0
  155. package/lib/engine-components/ContactShadows.js +14 -1
  156. package/lib/engine-components/ContactShadows.js.map +1 -1
  157. package/lib/engine-components/DragControls.d.ts +7 -0
  158. package/lib/engine-components/DragControls.js +19 -7
  159. package/lib/engine-components/DragControls.js.map +1 -1
  160. package/lib/engine-components/DropListener.js +4 -0
  161. package/lib/engine-components/DropListener.js.map +1 -1
  162. package/lib/engine-components/EventList.d.ts +31 -9
  163. package/lib/engine-components/EventList.js +37 -76
  164. package/lib/engine-components/EventList.js.map +1 -1
  165. package/lib/engine-components/Joints.d.ts +4 -2
  166. package/lib/engine-components/Joints.js +19 -3
  167. package/lib/engine-components/Joints.js.map +1 -1
  168. package/lib/engine-components/Light.d.ts +6 -8
  169. package/lib/engine-components/Light.js +48 -27
  170. package/lib/engine-components/Light.js.map +1 -1
  171. package/lib/engine-components/Networking.d.ts +1 -1
  172. package/lib/engine-components/Networking.js +1 -1
  173. package/lib/engine-components/OrbitControls.d.ts +1 -2
  174. package/lib/engine-components/OrbitControls.js +37 -14
  175. package/lib/engine-components/OrbitControls.js.map +1 -1
  176. package/lib/engine-components/ReflectionProbe.js +2 -0
  177. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  178. package/lib/engine-components/RigidBody.d.ts +12 -4
  179. package/lib/engine-components/RigidBody.js +18 -4
  180. package/lib/engine-components/RigidBody.js.map +1 -1
  181. package/lib/engine-components/SceneSwitcher.js +3 -0
  182. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  183. package/lib/engine-components/SeeThrough.js +2 -2
  184. package/lib/engine-components/SeeThrough.js.map +1 -1
  185. package/lib/engine-components/VideoPlayer.d.ts +8 -2
  186. package/lib/engine-components/VideoPlayer.js +42 -19
  187. package/lib/engine-components/VideoPlayer.js.map +1 -1
  188. package/lib/engine-components/Voip.d.ts +16 -7
  189. package/lib/engine-components/Voip.js +90 -53
  190. package/lib/engine-components/Voip.js.map +1 -1
  191. package/lib/engine-components/api.d.ts +3 -1
  192. package/lib/engine-components/api.js +3 -1
  193. package/lib/engine-components/api.js.map +1 -1
  194. package/lib/engine-components/codegen/components.d.ts +7 -13
  195. package/lib/engine-components/codegen/components.js +7 -13
  196. package/lib/engine-components/codegen/components.js.map +1 -1
  197. package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
  198. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  199. package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +1 -1
  200. package/lib/engine-components/postprocessing/VolumeParameter.d.ts +2 -0
  201. package/lib/engine-components/postprocessing/VolumeParameter.js +4 -1
  202. package/lib/engine-components/postprocessing/VolumeParameter.js.map +1 -1
  203. package/lib/engine-components/timeline/PlayableDirector.d.ts +21 -11
  204. package/lib/engine-components/timeline/PlayableDirector.js +75 -67
  205. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  206. package/lib/engine-components/timeline/SignalAsset.d.ts +3 -1
  207. package/lib/engine-components/timeline/SignalAsset.js +1 -0
  208. package/lib/engine-components/timeline/SignalAsset.js.map +1 -1
  209. package/lib/engine-components/timeline/TimelineBuilder.d.ts +413 -0
  210. package/lib/engine-components/timeline/TimelineBuilder.js +506 -0
  211. package/lib/engine-components/timeline/TimelineBuilder.js.map +1 -0
  212. package/lib/engine-components/timeline/TimelineModels.d.ts +2 -1
  213. package/lib/engine-components/timeline/TimelineModels.js +3 -0
  214. package/lib/engine-components/timeline/TimelineModels.js.map +1 -1
  215. package/lib/engine-components/timeline/TimelineTracks.d.ts +37 -6
  216. package/lib/engine-components/timeline/TimelineTracks.js +92 -26
  217. package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
  218. package/lib/engine-components/timeline/index.d.ts +2 -1
  219. package/lib/engine-components/timeline/index.js +2 -0
  220. package/lib/engine-components/timeline/index.js.map +1 -1
  221. package/lib/engine-components/ui/Canvas.d.ts +1 -1
  222. package/lib/engine-components/ui/Canvas.js +2 -8
  223. package/lib/engine-components/ui/Canvas.js.map +1 -1
  224. package/lib/engine-components/ui/Text.d.ts +1 -0
  225. package/lib/engine-components/ui/Text.js +10 -7
  226. package/lib/engine-components/ui/Text.js.map +1 -1
  227. package/lib/engine-components/web/CursorFollow.d.ts +0 -1
  228. package/lib/engine-components/web/CursorFollow.js +21 -13
  229. package/lib/engine-components/web/CursorFollow.js.map +1 -1
  230. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +62 -1
  231. package/lib/engine-components/webxr/WebXRImageTracking.js +59 -2
  232. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  233. package/lib/needle-engine.d.ts +2 -0
  234. package/lib/needle-engine.js +2 -0
  235. package/lib/needle-engine.js.map +1 -1
  236. package/package.json +4 -84
  237. package/plugins/common/cloud.js +6 -1
  238. package/plugins/common/license.js +55 -12
  239. package/plugins/common/worker.js +9 -4
  240. package/plugins/dts-generator/dts.codegen.js +255 -50
  241. package/plugins/dts-generator/dts.scan.js +37 -9
  242. package/plugins/dts-generator/dts.writer.js +1 -1
  243. package/plugins/dts-generator/glb.discovery.js +140 -23
  244. package/plugins/dts-generator/glb.extractor.js +48 -8
  245. package/plugins/dts-generator/glb.reader.js +80 -27
  246. package/plugins/dts-generator/index.js +1 -1
  247. package/plugins/types/needle-bindings.d.ts +25 -14
  248. package/plugins/types/userconfig.d.ts +16 -1
  249. package/plugins/vite/asap.js +18 -9
  250. package/plugins/vite/build-pipeline.js +57 -20
  251. package/plugins/vite/dependencies.js +29 -10
  252. package/plugins/vite/dependency-watcher.d.ts +2 -2
  253. package/plugins/vite/dependency-watcher.js +5 -6
  254. package/plugins/vite/drop.d.ts +2 -2
  255. package/plugins/vite/drop.js +3 -4
  256. package/plugins/vite/dts-generator.d.ts +2 -2
  257. package/plugins/vite/dts-generator.js +43 -9
  258. package/plugins/vite/editor-connection.js +3 -3
  259. package/plugins/vite/index.d.ts +9 -3
  260. package/plugins/vite/index.js +23 -10
  261. package/plugins/vite/license.js +42 -7
  262. package/plugins/vite/local-files-core.js +3 -3
  263. package/plugins/vite/local-files-utils.d.ts +3 -1
  264. package/plugins/vite/local-files-utils.js +29 -5
  265. package/plugins/vite/meta.js +4 -2
  266. package/plugins/vite/poster.d.ts +2 -2
  267. package/plugins/vite/poster.js +3 -5
  268. package/plugins/vite/reload.d.ts +2 -2
  269. package/plugins/vite/reload.js +23 -23
  270. package/plugins/vite/server.js +2 -1
  271. package/src/engine/api.ts +12 -2
  272. package/src/engine/codegen/register_types.ts +10 -18
  273. package/src/engine/debug/debug_spatial_console.ts +10 -7
  274. package/src/engine/engine_addressables.ts +6 -3
  275. package/src/engine/engine_audio.ts +184 -0
  276. package/src/engine/engine_camera.fit.ts +15 -4
  277. package/src/engine/engine_components.ts +1 -1
  278. package/src/engine/engine_context.ts +85 -38
  279. package/src/engine/engine_context_eventbus.ts +73 -0
  280. package/src/engine/engine_disposable.ts +214 -0
  281. package/src/engine/engine_gameobject.ts +54 -159
  282. package/src/engine/engine_gltf_builtin_components.ts +7 -76
  283. package/src/engine/engine_init.ts +15 -1
  284. package/src/engine/engine_input.ts +28 -7
  285. package/src/engine/engine_instantiate_resolve.ts +407 -0
  286. package/src/engine/engine_license.ts +209 -61
  287. package/src/engine/engine_lifecycle_functions_internal.ts +7 -0
  288. package/src/engine/engine_mainloop_utils.ts +7 -4
  289. package/src/engine/engine_networking.transport.websocket.ts +45 -0
  290. package/src/engine/engine_networking.ts +161 -137
  291. package/src/engine/engine_networking_blob.ts +4 -4
  292. package/src/engine/engine_networking_instantiate.ts +2 -2
  293. package/src/engine/engine_networking_types.ts +41 -1
  294. package/src/engine/engine_physics_rapier.ts +102 -33
  295. package/src/engine/engine_pmrem.ts +56 -6
  296. package/src/engine/engine_scenedata.ts +56 -30
  297. package/src/engine/engine_serialization_builtin_serializer.ts +64 -52
  298. package/src/engine/engine_serialization_core.ts +9 -0
  299. package/src/engine/engine_ssr.ts +29 -3
  300. package/src/engine/engine_types.ts +48 -27
  301. package/src/engine/engine_util_decorator.ts +7 -2
  302. package/src/engine/engine_utils.ts +16 -5
  303. package/src/engine/engine_utils_format.ts +20 -14
  304. package/src/engine/engine_utils_qrcode.ts +2 -2
  305. package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +1 -1
  306. package/src/engine/webcomponents/jsx.d.ts +51 -0
  307. package/src/engine/webcomponents/logo-element.ts +1 -0
  308. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
  309. package/src/engine/webcomponents/needle menu/needle-menu.ts +8 -7
  310. package/src/engine/webcomponents/needle-button.ts +1 -0
  311. package/src/engine/webcomponents/needle-engine.loading.ts +6 -6
  312. package/src/engine/webcomponents/needle-engine.ts +13 -6
  313. package/src/engine/xr/NeedleXRSession.ts +48 -13
  314. package/src/engine/xr/TempXRContext.ts +2 -2
  315. package/src/engine/xr/events.ts +1 -1
  316. package/src/engine-components/Animation.ts +19 -16
  317. package/src/engine-components/AnimationBuilder.ts +472 -0
  318. package/src/engine-components/Animator.ts +24 -12
  319. package/src/engine-components/AnimatorController.builder.ts +387 -0
  320. package/src/engine-components/AnimatorController.ts +24 -292
  321. package/src/engine-components/AudioSource.ts +130 -79
  322. package/src/engine-components/Camera.ts +16 -3
  323. package/src/engine-components/CameraUtils.ts +12 -5
  324. package/src/engine-components/Collider.ts +66 -18
  325. package/src/engine-components/Component.ts +118 -20
  326. package/src/engine-components/ContactShadows.ts +15 -1
  327. package/src/engine-components/DragControls.ts +18 -11
  328. package/src/engine-components/DropListener.ts +4 -0
  329. package/src/engine-components/EventList.ts +45 -83
  330. package/src/engine-components/Joints.ts +20 -4
  331. package/src/engine-components/Light.ts +49 -27
  332. package/src/engine-components/Networking.ts +1 -1
  333. package/src/engine-components/OrbitControls.ts +42 -16
  334. package/src/engine-components/ReflectionProbe.ts +2 -0
  335. package/src/engine-components/RigidBody.ts +18 -4
  336. package/src/engine-components/SceneSwitcher.ts +3 -0
  337. package/src/engine-components/SeeThrough.ts +2 -2
  338. package/src/engine-components/VideoPlayer.ts +40 -17
  339. package/src/engine-components/Voip.ts +88 -53
  340. package/src/engine-components/api.ts +3 -1
  341. package/src/engine-components/codegen/components.ts +7 -13
  342. package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
  343. package/src/engine-components/postprocessing/VolumeParameter.ts +4 -1
  344. package/src/engine-components/timeline/PlayableDirector.ts +83 -81
  345. package/src/engine-components/timeline/SignalAsset.ts +4 -1
  346. package/src/engine-components/timeline/TimelineBuilder.ts +824 -0
  347. package/src/engine-components/timeline/TimelineModels.ts +5 -1
  348. package/src/engine-components/timeline/TimelineTracks.ts +96 -27
  349. package/src/engine-components/timeline/index.ts +2 -1
  350. package/src/engine-components/ui/Canvas.ts +2 -8
  351. package/src/engine-components/ui/Text.ts +12 -8
  352. package/src/engine-components/web/CursorFollow.ts +21 -14
  353. package/src/engine-components/webxr/WebXRImageTracking.ts +79 -7
  354. package/src/needle-engine.ts +3 -0
  355. package/dist/needle-engine.bundle-Dq0Ly8fW.umd.cjs +0 -1732
  356. package/dist/needle-engine.bundle-YnpzzOPL.min.js +0 -1732
  357. package/lib/engine-components/AvatarLoader.d.ts +0 -80
  358. package/lib/engine-components/AvatarLoader.js +0 -232
  359. package/lib/engine-components/AvatarLoader.js.map +0 -1
  360. package/lib/engine-components/avatar/AvatarBlink_Simple.d.ts +0 -11
  361. package/lib/engine-components/avatar/AvatarBlink_Simple.js +0 -77
  362. package/lib/engine-components/avatar/AvatarBlink_Simple.js.map +0 -1
  363. package/lib/engine-components/avatar/AvatarEyeLook_Rotation.d.ts +0 -14
  364. package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js +0 -69
  365. package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js.map +0 -1
  366. package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +0 -29
  367. package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +0 -122
  368. package/lib/engine-components/avatar/Avatar_Brain_LookAt.js.map +0 -1
  369. package/lib/engine-components/avatar/Avatar_MouthShapes.d.ts +0 -15
  370. package/lib/engine-components/avatar/Avatar_MouthShapes.js +0 -80
  371. package/lib/engine-components/avatar/Avatar_MouthShapes.js.map +0 -1
  372. package/lib/engine-components/avatar/Avatar_MustacheShake.d.ts +0 -9
  373. package/lib/engine-components/avatar/Avatar_MustacheShake.js +0 -30
  374. package/lib/engine-components/avatar/Avatar_MustacheShake.js.map +0 -1
  375. package/src/engine-components/AvatarLoader.ts +0 -264
  376. package/src/engine-components/avatar/AvatarBlink_Simple.ts +0 -70
  377. package/src/engine-components/avatar/AvatarEyeLook_Rotation.ts +0 -64
  378. package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +0 -140
  379. package/src/engine-components/avatar/Avatar_MouthShapes.ts +0 -84
  380. package/src/engine-components/avatar/Avatar_MustacheShake.ts +0 -32
  381. package/src/vite-env.d.ts +0 -16
@@ -1,17 +1,15 @@
1
- import { getComponent } from "./engine_components.js";
2
- import { TypeStore } from "./engine_typestore.js";
3
1
  import { isDevEnvironment } from "./debug/index.js";
2
+ import { getComponent } from "./engine_components.js";
4
3
  import { ContextRegistry } from "./engine_context_registry.js";
4
+ import { TypeStore } from "./engine_typestore.js";
5
5
  /**
6
- * Global proxy for the primary Needle Engine context.
7
- * Resolves lazily on property access via `ContextRegistry.Current` —
8
- * safe to import at module level, including in SSR environments
9
- * (returns a silent error proxy when no context is active).
6
+ * Quick access to the current Needle Engine context from anywhere — no need to pass `ctx` around.
7
+ * Use it in React/Svelte/Vue components, button handlers, or plain JavaScript.
10
8
  *
11
- * Use this outside of Needle component lifecycle (e.g. in Svelte/React/Vue
12
- * components, button handlers, or vanilla JS) instead of threading `ctx` around.
9
+ * Safe to import at module level, including in SSR environments.
10
+ * For pages with multiple `<needle-engine>` elements, use `ctx` directly instead.
13
11
  *
14
- * For multiple `<needle-engine>` elements on the same page, use `ctx` directly.
12
+ * @experimental This API may change in future releases.
15
13
  *
16
14
  * @example
17
15
  * import { needle } from "@needle-tools/engine";
@@ -26,7 +24,7 @@ export const needle = new Proxy({}, {
26
24
  const ctx = ContextRegistry.Current;
27
25
  if (!ctx) {
28
26
  const fn = isDevEnvironment() ? console.error : console.warn;
29
- fn(`[needle] needle.${prop} accessed before scene started`);
27
+ fn(`[needle] needle.${prop} was accessed before the scene started. Use "needle" inside event handlers or callbacks, not at module top-level. For setup code use: onStart(ctx => { ... })`);
30
28
  return makeErrorProxy(`needle not ready — scene hasn't started yet`);
31
29
  }
32
30
  const val = ctx[prop];
@@ -36,7 +34,7 @@ export const needle = new Proxy({}, {
36
34
  const ctx = ContextRegistry.Current;
37
35
  if (!ctx) {
38
36
  const fn = isDevEnvironment() ? console.error : console.warn;
39
- fn(`[needle] needle.${prop} set before scene started`);
37
+ fn(`[needle] needle.${prop} was set before the scene started. Use "needle" inside event handlers or callbacks, not at module top-level. For setup code use: onStart(ctx => { ... })`);
40
38
  return true;
41
39
  }
42
40
  ctx[prop] = value;
@@ -66,40 +64,69 @@ function makeErrorProxy(message) {
66
64
  };
67
65
  return new Proxy({}, handler);
68
66
  }
67
+ /**
68
+ * Returns a proxy for a scene node that exposes `$object`, `$components`,
69
+ * and child nodes as nested properties.
70
+ */
71
+ function makeNodeProxy(ctx, node) {
72
+ return new Proxy({}, {
73
+ get(_t, prop) {
74
+ if (prop === "$object")
75
+ return node;
76
+ if (prop === "$components") {
77
+ return new Proxy({}, {
78
+ get(_t2, compName) {
79
+ if (compName === "then")
80
+ return undefined;
81
+ const ctor = TypeStore.get(compName);
82
+ if (!ctor)
83
+ return makeErrorProxy(`Component type "${compName}" not registered (node "${node.name}")`);
84
+ const comp = getComponent(node, ctor);
85
+ if (!comp)
86
+ return makeErrorProxy(`Component "${compName}" not found on node "${node.name}"`);
87
+ return comp;
88
+ }
89
+ });
90
+ }
91
+ if (prop === "then")
92
+ return undefined; // not a Promise
93
+ // Child node lookup by name
94
+ const child = node.children.find(c => c.name === prop) ?? null;
95
+ if (!child) {
96
+ const fn = isDevEnvironment() ? console.error : console.warn;
97
+ fn(`[SceneData] "${prop}" is not a child of "${node.name}". Use .$object to get the Three.js object or .$components.Name to access a component.`);
98
+ return makeErrorProxy(`"${prop}" not found on node "${node.name}"`);
99
+ }
100
+ return makeNodeProxy(ctx, child);
101
+ }
102
+ });
103
+ }
69
104
  /**
70
105
  * Returns a lazily-resolved proxy typed as {@link SceneData}.
71
106
  * The proxy is cached per context — each context gets exactly one instance.
72
107
  *
73
- * Accessing a property traverses the scene graph on demand:
74
- * - First level → find Object3D by node name
75
- * - Second level getComponent by component name (via TypeStore)
76
- * - Third level read/write a field on the real component instance
108
+ * Shape mirrors the generated `needle-bindings.gen.d.ts`:
109
+ * ctx.sceneData.MyGlb.Camera.$components.OrbitControls.autoRotate = true;
110
+ * ctx.sceneData.MyGlb.Camera.$object //THREE.Camera
111
+ * ctx.sceneData.MyGlb.UI.Button.$components.Button //Needle Button component
77
112
  *
78
- * If a node or component is not found, property accesses log a warning
79
- * instead of throwing, so chained access never crashes.
80
- *
81
- * @example
82
- * ctx.sceneData.Camera.OrbitControls.autoRotate = true;
113
+ * GLB name is ignored at runtime (scene is already loaded).
114
+ * Node lookup starts at the scene root.
83
115
  */
84
116
  export function getSceneData(ctx) {
85
117
  let proxy = cache.get(ctx);
86
118
  if (!proxy) {
87
119
  proxy = new Proxy({}, {
88
- get(_target, nodeName) {
120
+ get(_target, _glbName) {
121
+ // GLB name level — ignored at runtime, return node-name proxy
89
122
  return new Proxy({}, {
90
- get(_target, compName) {
123
+ get(_target, nodeName) {
124
+ if (nodeName === "then")
125
+ return undefined;
91
126
  const node = ctx.scene.getObjectByName(nodeName) ?? null;
92
127
  if (!node)
93
128
  return makeErrorProxy(`Node "${nodeName}" not found in scene`);
94
- if (compName === "$node")
95
- return node;
96
- const ctor = TypeStore.get(compName);
97
- if (!ctor)
98
- return makeErrorProxy(`Component type "${compName}" not registered (node "${nodeName}")`);
99
- const comp = getComponent(node, ctor);
100
- if (!comp)
101
- return makeErrorProxy(`Component "${compName}" not found on node "${nodeName}"`);
102
- return comp;
129
+ return makeNodeProxy(ctx, node);
103
130
  }
104
131
  });
105
132
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine_scenedata.js","sourceRoot":"","sources":["../../src/engine/engine_scenedata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,MAAM,GAAa,IAAI,KAAK,CAAC,EAAc,EAAE;IACtD,GAAG,CAAC,OAAO,EAAE,IAAY;QACrB,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,SAAS,CAAC,CAAC,gBAAgB;QACvD,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YAC7D,EAAE,CAAC,mBAAmB,IAAI,gCAAgC,CAAC,CAAC;YAC5D,OAAO,cAAc,CAAC,6CAA6C,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,GAAG,GAAI,GAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3D,CAAC;IACD,GAAG,CAAC,OAAO,EAAE,IAAY,EAAE,KAAc;QACrC,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YAC7D,EAAE,CAAC,mBAAmB,IAAI,2BAA2B,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QAChB,CAAC;QACA,GAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,IAAI,OAAO,EAAuB,CAAC;AAEjD;;;;GAIG;AACH,SAAS,cAAc,CAAC,OAAe;IACnC,MAAM,OAAO,GAAyB;QAClC,GAAG,CAAC,EAAE,EAAE,IAAY;YAChB,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAC,CAAC,gBAAgB;YACvD,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YAC7D,EAAE,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;YAC7B,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,GAAG,CAAC,EAAE,EAAE,IAAY;YAChB,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YAC7D,EAAE,CAAC,eAAe,OAAO,mBAAmB,IAAI,IAAI,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,CAAC,qBAAqB;QACtC,CAAC;KACJ,CAAC;IACF,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,YAAY,CAAC,GAAa;IACtC,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,KAAK,GAAG,IAAI,KAAK,CAAC,EAAe,EAAE;YAC/B,GAAG,CAAC,OAAO,EAAE,QAAgB;gBACzB,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE;oBACjB,GAAG,CAAC,OAAO,EAAE,QAAgB;wBACzB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;wBACzD,IAAI,CAAC,IAAI;4BAAE,OAAO,cAAc,CAAC,SAAS,QAAQ,sBAAsB,CAAC,CAAC;wBAC1E,IAAI,QAAQ,KAAK,OAAO;4BAAE,OAAO,IAAI,CAAC;wBACtC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACrC,IAAI,CAAC,IAAI;4BAAE,OAAO,cAAc,CAAC,mBAAmB,QAAQ,2BAA2B,QAAQ,IAAI,CAAC,CAAC;wBACrG,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACtC,IAAI,CAAC,IAAI;4BAAE,OAAO,cAAc,CAAC,cAAc,QAAQ,wBAAwB,QAAQ,GAAG,CAAC,CAAC;wBAC5F,OAAO,IAAI,CAAC;oBAChB,CAAC;iBACJ,CAAC,CAAC;YACP,CAAC;SACJ,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"engine_scenedata.js","sourceRoot":"","sources":["../../src/engine/engine_scenedata.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Color, Euler, Object3D } from "three";
1
+ import { Color, Object3D } from "three";
2
2
  import { Behaviour } from "../engine-components/Component.js";
3
3
  import { EventList } from "../engine-components/EventList.js";
4
4
  import { SerializationContext, TypeSerializer } from "./engine_serialization_core.js";
@@ -9,18 +9,6 @@ declare class ColorSerializer extends TypeSerializer {
9
9
  onDeserialize(data: any): Color | RGBAColor | void;
10
10
  onSerialize(data: any): any | void;
11
11
  }
12
- export declare const colorSerializer: ColorSerializer;
13
- declare class EulerSerializer extends TypeSerializer {
14
- constructor();
15
- onDeserialize(data: any, _context: SerializationContext): Euler | undefined;
16
- onSerialize(data: any, _context: SerializationContext): {
17
- x: any;
18
- y: any;
19
- z: any;
20
- order: any;
21
- };
22
- }
23
- export declare const euler: EulerSerializer;
24
12
  declare type ObjectData = {
25
13
  node?: number;
26
14
  guid?: string;
@@ -32,7 +20,6 @@ declare class ObjectSerializer extends TypeSerializer {
32
20
  } | undefined;
33
21
  onDeserialize(data: ObjectData | string | null, context: SerializationContext): Object3D<import("three").Object3DEventMap> | Behaviour | null | undefined;
34
22
  }
35
- export declare const objectSerializer: ObjectSerializer;
36
23
  declare class ComponentSerializer extends TypeSerializer {
37
24
  constructor();
38
25
  onSerialize(data: any, _context: SerializationContext): {
@@ -41,7 +28,6 @@ declare class ComponentSerializer extends TypeSerializer {
41
28
  onDeserialize(data: any, context: SerializationContext): any;
42
29
  findObjectForGuid(guid: string, root: Object3D): any;
43
30
  }
44
- export declare const componentSerializer: ComponentSerializer;
45
31
  declare class EventListData {
46
32
  type: string;
47
33
  calls: Array<EventListCall>;
@@ -58,7 +44,6 @@ declare class EventListSerializer extends TypeSerializer {
58
44
  onSerialize(_data: EventList<any>, _context: SerializationContext): EventListData | undefined;
59
45
  onDeserialize(data: EventListData, context: SerializationContext): EventList<any> | undefined | null;
60
46
  }
61
- export declare const eventListSerializer: EventListSerializer;
62
47
  export declare class RenderTextureSerializer extends TypeSerializer {
63
48
  constructor();
64
49
  onSerialize(_data: any, _context: SerializationContext): void;
@@ -69,4 +54,13 @@ export declare class UriSerializer extends TypeSerializer {
69
54
  onSerialize(_data: string, _context: SerializationContext): null;
70
55
  onDeserialize(data: string, _context: SerializationContext): string | undefined;
71
56
  }
57
+ export declare let colorSerializer: ColorSerializer;
58
+ export declare let objectSerializer: ObjectSerializer;
59
+ export declare let componentSerializer: ComponentSerializer;
60
+ export declare let eventListSerializer: EventListSerializer;
61
+ /** Register all builtin serializers and prototype patches.
62
+ * Must be called from {@link initEngine} so the registrations survive tree-shaking
63
+ * when the package declares `sideEffects: false`.
64
+ */
65
+ export declare function initBuiltinSerializers(): void;
72
66
  export {};
@@ -3,27 +3,13 @@ import { isDevEnvironment, showBalloonWarning } from "../engine/debug/index.js";
3
3
  import { Behaviour, Component, GameObject } from "../engine-components/Component.js";
4
4
  import { CallInfo, EventList } from "../engine-components/EventList.js";
5
5
  import { AssetReference } from "./engine_addressables.js";
6
+ import { AudioClip } from "./engine_audio.js";
6
7
  import { debugExtension } from "./engine_default_parameters.js";
7
8
  import { TypeSerializer } from "./engine_serialization_core.js";
8
9
  import { RenderTexture } from "./engine_texture.js";
9
10
  import { resolveUrl } from "./engine_utils.js";
10
11
  import { RGBAColor } from "./js-extensions/index.js";
11
- // export class SourcePath {
12
- // src?:string
13
- // };
14
- // class SourcePathSerializer extends TypeSerializer{
15
- // constructor(){
16
- // super(SourcePath);
17
- // }
18
- // onDeserialize(data: any, _context: SerializationContext) {
19
- // if(data.src && typeof data.src === "string"){
20
- // return data.src;
21
- // }
22
- // }
23
- // onSerialize(_data: any, _context: SerializationContext) {
24
- // }
25
- // }
26
- // new SourcePathSerializer();
12
+ // #region Color
27
13
  class ColorSerializer extends TypeSerializer {
28
14
  constructor() {
29
15
  super([Color, RGBAColor], "ColorSerializer");
@@ -48,7 +34,7 @@ class ColorSerializer extends TypeSerializer {
48
34
  return { r: data.r, g: data.g, b: data.b };
49
35
  }
50
36
  }
51
- export const colorSerializer = new ColorSerializer();
37
+ // #region Euler
52
38
  class EulerSerializer extends TypeSerializer {
53
39
  constructor() {
54
40
  super([Euler], "EulerSerializer");
@@ -68,7 +54,7 @@ class EulerSerializer extends TypeSerializer {
68
54
  return { x: data.x, y: data.y, z: data.z, order: data.order };
69
55
  }
70
56
  }
71
- export const euler = new EulerSerializer();
57
+ // #region ObjectSerializer
72
58
  class ObjectSerializer extends TypeSerializer {
73
59
  constructor() {
74
60
  super(Object3D, "ObjectSerializer");
@@ -96,16 +82,6 @@ class ObjectSerializer extends TypeSerializer {
96
82
  console.warn(`Wrong usage of @serializable detected in your script \"${scriptname}\"\n\nIt looks like you used @serializable(Object3D) or @serializable(GameObject) for a prefab or scene reference which is exported to a separate glTF file.\n\nTo fix this please change your code to:\n\n@serializable(AssetReference)\n${context.path}! : AssetReference;\n\0`);
97
83
  }
98
84
  // ACTUALLY: this is already handled by the extension_utils where we resolve json pointers recursively
99
- // if(data.startsWith("/nodes/")){
100
- // const node = parseInt(data.substring("/nodes/".length));
101
- // if (context.nodeToObject) {
102
- // const res = context.nodeToObject[node];
103
- // if (debugExtension)
104
- // console.log("Deserialized object reference?", data, res, context?.nodeToObject);
105
- // if (!res) console.warn("Did not find node: " + data, context.nodeToObject, context.object);
106
- // return res;
107
- // }
108
- // }
109
85
  return undefined;
110
86
  }
111
87
  if (data) {
@@ -138,7 +114,7 @@ class ObjectSerializer extends TypeSerializer {
138
114
  }
139
115
  if (!res) {
140
116
  if (isDevEnvironment() || debugExtension)
141
- console.warn("Could not resolve object reference", context.path, data, context.target, context.context.scene);
117
+ console.warn(`Could not resolve object reference \"${context.path}\" (guid: ${data.guid}). The referenced object may have been deleted — check if the reference is still valid in your scene.`);
142
118
  data["could_not_resolve"] = true;
143
119
  }
144
120
  else {
@@ -156,7 +132,7 @@ class ObjectSerializer extends TypeSerializer {
156
132
  return undefined;
157
133
  }
158
134
  }
159
- export const objectSerializer = new ObjectSerializer();
135
+ // #region ComponentSerializer
160
136
  class ComponentSerializer extends TypeSerializer {
161
137
  constructor() {
162
138
  super([Component, Behaviour], "ComponentSerializer");
@@ -226,8 +202,8 @@ class ComponentSerializer extends TypeSerializer {
226
202
  }
227
203
  }
228
204
  }
229
- export const componentSerializer = new ComponentSerializer();
230
205
  const $eventListDebugInfo = Symbol("eventListDebugInfo");
206
+ // #region EventListSerializer
231
207
  class EventListSerializer extends TypeSerializer {
232
208
  constructor() {
233
209
  super([EventList]);
@@ -326,28 +302,16 @@ class EventListSerializer extends TypeSerializer {
326
302
  const evt = new EventList(fns);
327
303
  if (debugExtension)
328
304
  console.log(evt);
329
- const eventListOwner = context.target;
330
- if (eventListOwner !== undefined && context.path !== undefined) {
331
- evt.setEventTarget(context.path, eventListOwner);
332
- }
333
305
  return evt;
334
306
  }
335
307
  return undefined;
336
308
  }
337
309
  }
338
- export const eventListSerializer = new EventListSerializer();
339
310
  /** Map<Clone, Original> texture. This is used for compressed textures (or when the GLTFLoader is cloning RenderTextures)
340
311
  * It's a weak map so we don't have to worry about memory leaks
341
312
  */
342
313
  const cloneOriginalMap = new WeakMap();
343
- const textureClone = Texture.prototype.clone;
344
- Texture.prototype.clone = function () {
345
- const clone = textureClone.call(this);
346
- if (!cloneOriginalMap.has(clone)) {
347
- cloneOriginalMap.set(clone, this);
348
- }
349
- return clone;
350
- };
314
+ // #region RenderTextureSerializer
351
315
  export class RenderTextureSerializer extends TypeSerializer {
352
316
  constructor() {
353
317
  super([RenderTexture, WebGLRenderTarget]);
@@ -385,7 +349,7 @@ export class RenderTextureSerializer extends TypeSerializer {
385
349
  return undefined;
386
350
  }
387
351
  }
388
- new RenderTextureSerializer();
352
+ // #region UriSerializer
389
353
  export class UriSerializer extends TypeSerializer {
390
354
  constructor() {
391
355
  super([URL]);
@@ -400,5 +364,51 @@ export class UriSerializer extends TypeSerializer {
400
364
  return undefined;
401
365
  }
402
366
  }
403
- new UriSerializer();
367
+ // #region AudioClipSerializer
368
+ class AudioClipSerializer extends TypeSerializer {
369
+ constructor() {
370
+ super([AudioClip]);
371
+ }
372
+ onSerialize(_data, _context) {
373
+ return null;
374
+ }
375
+ onDeserialize(data, context) {
376
+ if (typeof data === "string" && data.length > 0) {
377
+ const url = resolveUrl(context.gltfId, data);
378
+ if (url)
379
+ return new AudioClip(url);
380
+ }
381
+ return undefined;
382
+ }
383
+ }
384
+ // #region Init serializer
385
+ // Module-level references used by EventListSerializer internally
386
+ export let colorSerializer;
387
+ export let objectSerializer;
388
+ export let componentSerializer;
389
+ export let eventListSerializer;
390
+ /** Register all builtin serializers and prototype patches.
391
+ * Must be called from {@link initEngine} so the registrations survive tree-shaking
392
+ * when the package declares `sideEffects: false`.
393
+ */
394
+ export function initBuiltinSerializers() {
395
+ // Prototype patches
396
+ const textureClone = Texture.prototype.clone;
397
+ Texture.prototype.clone = function () {
398
+ const clone = textureClone.call(this);
399
+ if (!cloneOriginalMap.has(clone)) {
400
+ cloneOriginalMap.set(clone, this);
401
+ }
402
+ return clone;
403
+ };
404
+ // Register all serializers
405
+ colorSerializer = new ColorSerializer();
406
+ new EulerSerializer();
407
+ objectSerializer = new ObjectSerializer();
408
+ componentSerializer = new ComponentSerializer();
409
+ eventListSerializer = new EventListSerializer();
410
+ new RenderTextureSerializer();
411
+ new UriSerializer();
412
+ new AudioClipSerializer();
413
+ }
404
414
  //# sourceMappingURL=engine_serialization_builtin_serializer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine_serialization_builtin_serializer.js","sourceRoot":"","sources":["../../src/engine/engine_serialization_builtin_serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_serialization_builtin_serializer.js","sourceRoot":"","sources":["../../src/engine/engine_serialization_builtin_serializer.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,7 @@ export interface ISerializable {
75
75
  onAfterDeserializeMember?(key: string, data: any, context: SerializationContext): void;
76
76
  onAfterDeserialize?(data: any, context: SerializationContext): void;
77
77
  }
78
+ export declare function isSerializable(obj: any): obj is ISerializable;
78
79
  export declare function serializeObject(obj: ISerializable, context: SerializationContext): object | null;
79
80
  export declare function deserializeObject(obj: ISerializable, serializedData: object, context: SerializationContext): boolean;
80
81
  /** set to true while assigning properties during instantiation.
@@ -146,6 +146,13 @@ export class SerializationContext {
146
146
  }
147
147
  }
148
148
  ;
149
+ export function isSerializable(obj) {
150
+ return obj && typeof obj === "object" && (typeof obj.$serializedTypes === "object" ||
151
+ typeof obj.onBeforeDeserialize === "function" ||
152
+ typeof obj.onBeforeDeserializeMember === "function" ||
153
+ typeof obj.onAfterDeserializeMember === "function" ||
154
+ typeof obj.onAfterDeserialize === "function");
155
+ }
149
156
  export function serializeObject(obj, context) {
150
157
  const types = obj.$serializedTypes;
151
158
  if (types === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"engine_serialization_core.js","sourceRoot":"","sources":["../../src/engine/engine_serialization_core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_serialization_core.js","sourceRoot":"","sources":["../../src/engine/engine_serialization_core.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@
8
8
  * In browser environments each constant is the real global; in SSR it falls back
9
9
  * to a plain empty class so that `class Foo extends HTMLElementBase` is valid.
10
10
  */
11
+ /** True when running in an SSR/Node environment (no browser globals). */
12
+ export declare const SSR: boolean;
11
13
  /** SSR-safe base class for web components. */
12
14
  export declare const HTMLElementBase: typeof HTMLElement;
13
15
  /** SSR-safe base class for pointer events. */
@@ -8,6 +8,8 @@
8
8
  * In browser environments each constant is the real global; in SSR it falls back
9
9
  * to a plain empty class so that `class Foo extends HTMLElementBase` is valid.
10
10
  */
11
+ /** True when running in an SSR/Node environment (no browser globals). */
12
+ export const SSR = typeof window === "undefined";
11
13
  /** SSR-safe base class for web components. */
12
14
  export const HTMLElementBase = typeof HTMLElement !== "undefined" ? HTMLElement : class {
13
15
  };
@@ -17,4 +19,22 @@ export const PointerEventBase = typeof PointerEvent !== "undefined" ? PointerEve
17
19
  /** SSR-safe base class for keyboard events. */
18
20
  export const KeyboardEventBase = typeof KeyboardEvent !== "undefined" ? KeyboardEvent : class {
19
21
  };
22
+ // #region minimal polyfills
23
+ // Three.js FileLoader uses ProgressEvent in fetch stream callbacks.
24
+ // It doesn't exist in Node — install a minimal stub so SSR doesn't crash.
25
+ if (typeof globalThis.ProgressEvent === "undefined") {
26
+ globalThis.ProgressEvent = class ProgressEvent {
27
+ type;
28
+ lengthComputable;
29
+ loaded;
30
+ total;
31
+ constructor(type, init) {
32
+ this.type = type;
33
+ this.lengthComputable = init?.lengthComputable ?? false;
34
+ this.loaded = init?.loaded ?? 0;
35
+ this.total = init?.total ?? 0;
36
+ }
37
+ };
38
+ }
39
+ // #endregion
20
40
  //# sourceMappingURL=engine_ssr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine_ssr.js","sourceRoot":"","sources":["../../src/engine/engine_ssr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,eAAe,GACxB,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE;CAA0C,CAAC;AAEnG,8CAA8C;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GACzB,OAAO,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE;CAA2C,CAAC;AAEtG,+CAA+C;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAC1B,OAAO,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAE;CAA4C,CAAC"}
1
+ {"version":3,"file":"engine_ssr.js","sourceRoot":"","sources":["../../src/engine/engine_ssr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,yEAAyE;AACzE,MAAM,CAAC,MAAM,GAAG,GAAY,OAAO,MAAM,KAAK,WAAW,CAAC;AAE1D,8CAA8C;AAC9C,MAAM,CAAC,MAAM,eAAe,GACxB,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE;CAA2C,CAAC;AAEpG,8CAA8C;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GACzB,OAAO,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE;CAA4C,CAAC;AAEvG,+CAA+C;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAC1B,OAAO,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAE;CAA6C,CAAC;AAK1G,4BAA4B;AAC5B,oEAAoE;AACpE,0EAA0E;AAC1E,IAAI,OAAO,UAAU,CAAC,aAAa,KAAK,WAAW,EAAE,CAAC;IACjD,UAAkB,CAAC,aAAa,GAAG,MAAM,aAAa;QAC1C,IAAI,CAAS;QACb,gBAAgB,CAAU;QAC1B,MAAM,CAAS;QACf,KAAK,CAAS;QACvB,YAAY,IAAY,EAAE,IAAsE;YAC5F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,KAAK,CAAC;YACxD,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;QAClC,CAAC;KACJ,CAAC;AACN,CAAC;AACD,aAAa"}