@needle-tools/engine 2.66.1-pre → 2.67.0-pre

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 (230) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/needle-engine.js +34306 -26230
  3. package/dist/needle-engine.umd.cjs +743 -298
  4. package/lib/engine/api.d.ts +4 -0
  5. package/lib/engine/api.js +10 -0
  6. package/lib/engine/api.js.map +1 -1
  7. package/lib/engine/codegen/register_types.js +23 -7
  8. package/lib/engine/codegen/register_types.js.map +1 -1
  9. package/lib/engine/debug/debug_overlay.js +7 -1
  10. package/lib/engine/debug/debug_overlay.js.map +1 -1
  11. package/lib/engine/engine_addressables.js +2 -2
  12. package/lib/engine/engine_addressables.js.map +1 -1
  13. package/lib/engine/engine_assetdatabase.d.ts +17 -51
  14. package/lib/engine/engine_assetdatabase.js +252 -126
  15. package/lib/engine/engine_assetdatabase.js.map +1 -1
  16. package/lib/engine/engine_components.js +13 -1
  17. package/lib/engine/engine_components.js.map +1 -1
  18. package/lib/engine/engine_components_internal.d.ts +8 -0
  19. package/lib/engine/engine_components_internal.js +29 -0
  20. package/lib/engine/engine_components_internal.js.map +1 -0
  21. package/lib/engine/engine_constants.d.ts +1 -0
  22. package/lib/engine/engine_constants.js +1 -0
  23. package/lib/engine/engine_constants.js.map +1 -1
  24. package/lib/engine/engine_context_registry.d.ts +2 -0
  25. package/lib/engine/engine_context_registry.js +6 -0
  26. package/lib/engine/engine_context_registry.js.map +1 -1
  27. package/lib/engine/engine_editor-sync.d.ts +9 -0
  28. package/lib/engine/engine_editor-sync.js +8 -0
  29. package/lib/engine/engine_editor-sync.js.map +1 -0
  30. package/lib/engine/engine_element_loading.js +1 -1
  31. package/lib/engine/engine_element_loading.js.map +1 -1
  32. package/lib/engine/engine_gameobject.js +15 -20
  33. package/lib/engine/engine_gameobject.js.map +1 -1
  34. package/lib/engine/engine_gltf_builtin_components.d.ts +2 -3
  35. package/lib/engine/engine_gltf_builtin_components.js +23 -6
  36. package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
  37. package/lib/engine/engine_networking_auto.d.ts +1 -0
  38. package/lib/engine/engine_networking_auto.js +42 -9
  39. package/lib/engine/engine_networking_auto.js.map +1 -1
  40. package/lib/engine/engine_patcher.d.ts +8 -0
  41. package/lib/engine/engine_patcher.js +98 -0
  42. package/lib/engine/engine_patcher.js.map +1 -0
  43. package/lib/engine/engine_physics.d.ts +5 -1
  44. package/lib/engine/engine_physics.js +11 -1
  45. package/lib/engine/engine_physics.js.map +1 -1
  46. package/lib/engine/engine_scenetools.js +0 -1
  47. package/lib/engine/engine_scenetools.js.map +1 -1
  48. package/lib/engine/engine_serialization_core.js +4 -0
  49. package/lib/engine/engine_serialization_core.js.map +1 -1
  50. package/lib/engine/engine_setup.d.ts +1 -1
  51. package/lib/engine/engine_setup.js +9 -5
  52. package/lib/engine/engine_setup.js.map +1 -1
  53. package/lib/engine/engine_texture.d.ts +6 -1
  54. package/lib/engine/engine_texture.js +39 -1
  55. package/lib/engine/engine_texture.js.map +1 -1
  56. package/lib/engine/engine_types.d.ts +4 -0
  57. package/lib/engine/engine_types.js.map +1 -1
  58. package/lib/engine/engine_utils.js +3 -2
  59. package/lib/engine/engine_utils.js.map +1 -1
  60. package/lib/engine/extensions/NEEDLE_progressive.d.ts +0 -1
  61. package/lib/engine/extensions/NEEDLE_progressive.js +24 -26
  62. package/lib/engine/extensions/NEEDLE_progressive.js.map +1 -1
  63. package/lib/engine/extensions/extensions.d.ts +4 -1
  64. package/lib/engine/extensions/extensions.js +16 -0
  65. package/lib/engine/extensions/extensions.js.map +1 -1
  66. package/lib/engine/extensions/usage_tracker.d.ts +12 -0
  67. package/lib/engine/extensions/usage_tracker.js +59 -0
  68. package/lib/engine/extensions/usage_tracker.js.map +1 -0
  69. package/lib/engine-components/AnimatorController.js +4 -0
  70. package/lib/engine-components/AnimatorController.js.map +1 -1
  71. package/lib/engine-components/AudioSource.js +2 -1
  72. package/lib/engine-components/AudioSource.js.map +1 -1
  73. package/lib/engine-components/Camera.d.ts +6 -0
  74. package/lib/engine-components/Camera.js +70 -31
  75. package/lib/engine-components/Camera.js.map +1 -1
  76. package/lib/engine-components/Component.d.ts +52 -0
  77. package/lib/engine-components/Component.js +55 -14
  78. package/lib/engine-components/Component.js.map +1 -1
  79. package/lib/engine-components/Networking.js +19 -0
  80. package/lib/engine-components/Networking.js.map +1 -1
  81. package/lib/engine-components/OrbitControls.d.ts +2 -0
  82. package/lib/engine-components/OrbitControls.js +9 -0
  83. package/lib/engine-components/OrbitControls.js.map +1 -1
  84. package/lib/engine-components/ParticleSystem.js +11 -1
  85. package/lib/engine-components/ParticleSystem.js.map +1 -1
  86. package/lib/engine-components/ReflectionProbe.js +18 -6
  87. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  88. package/lib/engine-components/Renderer.d.ts +1 -1
  89. package/lib/engine-components/Renderer.js +24 -6
  90. package/lib/engine-components/Renderer.js.map +1 -1
  91. package/lib/engine-components/Skybox.js +2 -0
  92. package/lib/engine-components/Skybox.js.map +1 -1
  93. package/lib/engine-components/SmoothFollow.js +1 -2
  94. package/lib/engine-components/SmoothFollow.js.map +1 -1
  95. package/lib/engine-components/WebARCameraBackground.d.ts +19 -0
  96. package/lib/engine-components/WebARCameraBackground.js +185 -0
  97. package/lib/engine-components/WebARCameraBackground.js.map +1 -0
  98. package/lib/engine-components/WebXR.d.ts +4 -0
  99. package/lib/engine-components/WebXR.js +11 -8
  100. package/lib/engine-components/WebXR.js.map +1 -1
  101. package/lib/engine-components/WebXRAvatar.js +1 -0
  102. package/lib/engine-components/WebXRAvatar.js.map +1 -1
  103. package/lib/engine-components/codegen/components.d.ts +14 -6
  104. package/lib/engine-components/codegen/components.js +14 -6
  105. package/lib/engine-components/codegen/components.js.map +1 -1
  106. package/lib/engine-components/js-extensions/Object3D.js +4 -1
  107. package/lib/engine-components/js-extensions/Object3D.js.map +1 -1
  108. package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +13 -0
  109. package/lib/engine-components/postprocessing/Effects/Antialiasing.js +46 -0
  110. package/lib/engine-components/postprocessing/Effects/Antialiasing.js.map +1 -0
  111. package/lib/engine-components/postprocessing/Effects/Bloom.d.ts +12 -0
  112. package/lib/engine-components/postprocessing/Effects/Bloom.js +76 -0
  113. package/lib/engine-components/postprocessing/Effects/Bloom.js.map +1 -0
  114. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +8 -0
  115. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +39 -0
  116. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js.map +1 -0
  117. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +12 -0
  118. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +96 -0
  119. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js.map +1 -0
  120. package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +21 -0
  121. package/lib/engine-components/postprocessing/Effects/DepthOfField.js +87 -0
  122. package/lib/engine-components/postprocessing/Effects/DepthOfField.js.map +1 -0
  123. package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +7 -0
  124. package/lib/engine-components/postprocessing/Effects/Pixelation.js +30 -0
  125. package/lib/engine-components/postprocessing/Effects/Pixelation.js.map +1 -0
  126. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +11 -0
  127. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +70 -0
  128. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js.map +1 -0
  129. package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +16 -0
  130. package/lib/engine-components/postprocessing/Effects/Tonemapping.js +52 -0
  131. package/lib/engine-components/postprocessing/Effects/Tonemapping.js.map +1 -0
  132. package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +11 -0
  133. package/lib/engine-components/postprocessing/Effects/Vignette.js +57 -0
  134. package/lib/engine-components/postprocessing/Effects/Vignette.js.map +1 -0
  135. package/lib/engine-components/postprocessing/PostProcessingEffect.d.ts +29 -0
  136. package/lib/engine-components/postprocessing/PostProcessingEffect.js +89 -0
  137. package/lib/engine-components/postprocessing/PostProcessingEffect.js.map +1 -0
  138. package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +13 -0
  139. package/lib/engine-components/postprocessing/PostProcessingHandler.js +119 -0
  140. package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -0
  141. package/lib/engine-components/postprocessing/Volume.d.ts +23 -0
  142. package/lib/engine-components/postprocessing/Volume.js +176 -0
  143. package/lib/engine-components/postprocessing/Volume.js.map +1 -0
  144. package/lib/engine-components/postprocessing/VolumeParameter.d.ts +21 -0
  145. package/lib/engine-components/postprocessing/VolumeParameter.js +75 -0
  146. package/lib/engine-components/postprocessing/VolumeParameter.js.map +1 -0
  147. package/lib/engine-components/postprocessing/VolumeProfile.d.ts +7 -0
  148. package/lib/engine-components/postprocessing/VolumeProfile.js +42 -0
  149. package/lib/engine-components/postprocessing/VolumeProfile.js.map +1 -0
  150. package/lib/engine-components/timeline/TimelineTracks.js +14 -15
  151. package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
  152. package/lib/engine-components/ui/Text.js +28 -170
  153. package/lib/engine-components/ui/Text.js.map +1 -1
  154. package/lib/engine-components-experimental/networking/PlayerSync.d.ts +18 -0
  155. package/lib/engine-components-experimental/networking/PlayerSync.js +61 -7
  156. package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
  157. package/lib/include/three/ARButton.d.ts +1 -1
  158. package/lib/include/three/ARButton.js +11 -19
  159. package/lib/include/three/ARButton.js.map +1 -1
  160. package/lib/include/three/VRButton.js +1 -4
  161. package/lib/include/three/VRButton.js.map +1 -1
  162. package/package.json +3 -2
  163. package/plugins/vite/drop-client.js +77 -0
  164. package/plugins/vite/drop.js +81 -0
  165. package/plugins/vite/editor-connection.js +121 -0
  166. package/plugins/vite/index.js +9 -4
  167. package/src/engine/api.ts +30 -1
  168. package/src/engine/codegen/register_types.js +25 -9
  169. package/src/engine/debug/debug_overlay.ts +7 -1
  170. package/src/engine/engine_addressables.ts +2 -2
  171. package/src/engine/engine_assetdatabase.ts +291 -184
  172. package/src/engine/engine_components.ts +20 -1
  173. package/src/engine/engine_components_internal.ts +30 -0
  174. package/src/engine/engine_constants.ts +4 -1
  175. package/src/engine/engine_context_registry.ts +7 -0
  176. package/src/engine/engine_editor-sync.ts +21 -0
  177. package/src/engine/engine_element_loading.ts +1 -1
  178. package/src/engine/engine_gameobject.ts +16 -21
  179. package/src/engine/engine_gltf_builtin_components.ts +30 -15
  180. package/src/engine/engine_networking_auto.ts +48 -11
  181. package/src/engine/engine_patcher.ts +113 -0
  182. package/src/engine/engine_physics.ts +15 -2
  183. package/src/engine/engine_scenetools.ts +0 -1
  184. package/src/engine/engine_serialization_core.ts +6 -0
  185. package/src/engine/engine_setup.ts +11 -5
  186. package/src/engine/engine_texture.ts +54 -5
  187. package/src/engine/engine_types.ts +6 -1
  188. package/src/engine/engine_utils.ts +6 -5
  189. package/src/engine/extensions/NEEDLE_progressive.ts +32 -32
  190. package/src/engine/extensions/extensions.ts +22 -1
  191. package/src/engine/extensions/usage_tracker.ts +91 -0
  192. package/src/engine-components/AnimatorController.ts +2 -0
  193. package/src/engine-components/AudioSource.ts +1 -1
  194. package/src/engine-components/Camera.ts +77 -37
  195. package/src/engine-components/Component.ts +74 -30
  196. package/src/engine-components/Networking.ts +9 -1
  197. package/src/engine-components/OrbitControls.ts +11 -2
  198. package/src/engine-components/ParticleSystem.ts +9 -1
  199. package/src/engine-components/ReflectionProbe.ts +17 -7
  200. package/src/engine-components/Renderer.ts +22 -5
  201. package/src/engine-components/Skybox.ts +2 -0
  202. package/src/engine-components/SmoothFollow.ts +4 -4
  203. package/src/engine-components/WebARCameraBackground.ts +215 -0
  204. package/src/engine-components/WebXR.ts +12 -8
  205. package/src/engine-components/WebXRAvatar.ts +1 -0
  206. package/src/engine-components/codegen/components.ts +14 -6
  207. package/src/engine-components/js-extensions/Object3D.ts +6 -1
  208. package/src/engine-components/postprocessing/Effects/Antialiasing.ts +52 -0
  209. package/src/engine-components/postprocessing/Effects/Bloom.ts +75 -0
  210. package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +36 -0
  211. package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +114 -0
  212. package/src/engine-components/postprocessing/Effects/DepthOfField.ts +90 -0
  213. package/src/engine-components/postprocessing/Effects/Pixelation.ts +28 -0
  214. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +71 -0
  215. package/src/engine-components/postprocessing/Effects/Tonemapping.ts +55 -0
  216. package/src/engine-components/postprocessing/Effects/Vignette.ts +55 -0
  217. package/src/engine-components/postprocessing/PostProcessingEffect.ts +112 -0
  218. package/src/engine-components/postprocessing/PostProcessingHandler.ts +148 -0
  219. package/src/engine-components/postprocessing/Volume.ts +194 -0
  220. package/src/engine-components/postprocessing/VolumeParameter.ts +85 -0
  221. package/src/engine-components/postprocessing/VolumeProfile.ts +40 -0
  222. package/src/engine-components/timeline/TimelineTracks.ts +16 -17
  223. package/src/engine-components/ui/Text.ts +37 -174
  224. package/src/engine-components-experimental/networking/PlayerSync.ts +68 -7
  225. package/src/include/three/ARButton.js +13 -24
  226. package/src/include/three/VRButton.js +1 -7
  227. package/lib/engine-components/Volume.d.ts +0 -34
  228. package/lib/engine-components/Volume.js +0 -140
  229. package/lib/engine-components/Volume.js.map +0 -1
  230. package/src/engine-components/Volume.ts +0 -141
@@ -0,0 +1,8 @@
1
+ // let editorCache = new Map<string, EditorModification>();
2
+ // export function setEditorModificationCache(cache: Map<string, EditorModification>) {
3
+ // cache = editorCache;
4
+ // }
5
+ export function getEditorModificationCache() {
6
+ return globalThis["NeedleEditorSync.ModificationCache"];
7
+ }
8
+ //# sourceMappingURL=engine_editor-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine_editor-sync.js","sourceRoot":"","sources":["../../../src/engine/engine_editor-sync.ts"],"names":[],"mappings":"AAcA,2DAA2D;AAC3D,uFAAuF;AACvF,2BAA2B;AAC3B,IAAI;AACJ,MAAM,UAAU,0BAA0B;IACtC,OAAO,UAAU,CAAC,oCAAoC,CAAuD,CAAC;AAClH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { showBalloonWarning } from "./api";
1
+ import { showBalloonWarning } from "./debug";
2
2
  import { Mathf } from "./engine_math";
3
3
  import { getParam } from "./engine_utils";
4
4
  import { logoSVG } from "./assets";
@@ -1 +1 @@
1
- {"version":3,"file":"engine_element_loading.js","sourceRoot":"","sources":["../../../src/engine/engine_element_loading.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_element_loading.js","sourceRoot":"","sources":["../../../src/engine/engine_element_loading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,MAAM,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAC1C,MAAM,cAAc,GAAG,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAE5D,MAAM,OAAO,qBAAqB;IAC9B,SAAS,CAAU;IACnB,iBAAiB,CAAY;CAChC;AAQD,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAC5B,IAAI,eAAuB,CAAC;AAC5B,MAAM,UAAU,mBAAmB,CAAC,QAA6B;IAC7D,IAAI,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEjH,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7B,MAAM,KAAK,GAAuB,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC1D,+DAA+D;IAC/D,0CAA0C;IAC1C,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE;QACpC,oDAAoD;QACpD,IAAI,eAAe,KAAK,QAAQ,CAAC,IAAI;YACjC,mBAAmB,GAAG,CAAC,CAAC;QAC5B,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC;QAChC,uCAAuC;QACvC,mBAAmB,IAAI,CAAC,CAAC,GAAG,mBAAmB,CAAC,GAAG,IAAI,CAAC;QACxD,IAAI,KAAK;YAAE,kBAAkB,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,GAAG,4BAA4B,CAAC,CAAC;KAC5F;SACI;QACD,mBAAmB,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC;KAC1D;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,GAAG,KAAK,GAAG,mBAAmB,GAAG,KAAK,CAAC;IAClE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,OAAO,iBAAiB;IAE1B,MAAM,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAE7C,mBAAmB;IACnB,eAAe,GAAW,CAAC,CAAC;IAEpB,SAAS,CAAc;IACvB,SAAS,GAAW,CAAC,CAAC;IACtB,0BAA0B,GAAY,IAAI,CAAC;IAC3C,eAAe,CAAe;IAC9B,qBAAqB,GAAuB,IAAI,CAAC;IACjD,WAAW,GAAuB,IAAI,CAAC;IACvC,iBAAiB,GAAuB,IAAI,CAAC;IAC7C,sBAAsB,CAAyB;IAEvD,YAAY,SAAsB,EAAE,IAA4B;QAC5D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACvC,CAAC;IAED,cAAc,CAAC,OAAgB;QAC3B,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACvC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAgB,CAAC;gBACrD,IAAI,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,EAAE;oBACpE,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;wBAClC,IAAI,KAAK;4BAAE,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;wBAC1D,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;wBAC/B,SAAS;qBACZ;oBACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;iBACxD;aACJ;YACD,IAAI,CAAC,IAAI,CAAC,eAAe;gBACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC1D;QACD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,eAAe,CAAC,QAAsD,EAAE,OAAgB;QACpF,iDAAiD;QACjD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,EAAE;YACtC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;SAChC;QACD,yHAAyH;QACzH,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC9B,OAAO,GAAG,QAAQ,CAAC;SACtB;aACI;YACD,IAAI,OAAO,IAAI,QAAQ;gBACnB,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,QAAQ;gBAC9B,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;SACnD;QACD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAC/B,IAAI,OAAO;YAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,iBAAiB;QACb,IAAI,KAAK;YACL,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,OAAe;QACtB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,SAAS,GAAG,OAAO,CAAC;SAC9C;IACL,CAAC;IAEO,aAAa,CAAM;IACnB,kBAAkB;QACtB,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAC/B,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAChB,IAAI,cAAc,EAAE;YAChB,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;YACb,IAAI,OAAO,cAAc,KAAK,QAAQ;gBAAE,EAAE,IAAI,cAAc,CAAC;SAChE;QACD,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,0CAA0C;YAC1C,IAAI,IAAI,CAAC,eAAe,IAAI,GAAG;gBAAE,EAAE,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;YAC7F,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC;IAEO,aAAa;QACjB,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACjD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC5C,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,aAAa;YAClB,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC9B,CAAC;IAEO,aAAa;QACjB,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACzB,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAC3C,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;SAChD;QAED,IAAI,IAAI,CAAC,qBAAqB;YAC1B,IAAI,CAAC,qBAAqB,CAAC,WAAW,GAAG,OAAO,CAAC;IACzD,CAAC;IAEO,oBAAoB,CAAC,QAAsB;QAC/C,IAAI,KAAK,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe,GAAG,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE;YACX,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;YAC1C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAC3C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC5C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;YACjD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAC3C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC;YACpD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;YAClD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;SAC9C;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,EAAE,SAAS,IAAI,iBAAiB,CAAC,yBAAyB,CAAC;QACxG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,sBAAsB,EAAE,iBAAiB,EAAE;YAChD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,EAAE;gBAC3D,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACzC;SACJ;QAGD,MAAM,mBAAmB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,mBAAmB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC3C,mBAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,GAAG,GAAG,CAAC;QACjD,mBAAmB,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QACzC,mBAAmB,CAAC,KAAK,CAAC,UAAU,GAAG,sBAAsB,CAAA;QAC7D,mDAAmD;QACnD,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QAEtD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,QAAQ,IAAI,CAAC;QACzC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,QAAQ,IAAI,CAAC;QAC1C,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACvC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QAC9B,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,cAAc,QAAQ,GAAG,EAAE,QAAQ,QAAQ,GAAG,EAAE,KAAK,CAAC;QACnF,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC1F,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACpC,UAAU,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;QACvC,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC;QACzB,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,UAAU,CAAS;YACtC,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,EAAE,GAAG,GAAG,QAAQ,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;QACnE,CAAC,CAAA;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU;YAC7B,kCAAkC,cAAc,CAAC,CAAC,CAAC,aAAa,cAAc,CAAC,EAAE,CAAC,aAAa,cAAc,CAAC,EAAE,CAAC,aAAa,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;QACvJ,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,oBAAoB,GAAG,OAAO,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAEvC,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAClD,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC3D,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAE7D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,gBAAgB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACxC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;QACzC,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QAC3C,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,sBAAsB,CAAC;QACtD,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1C,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,oBAAoB,CAAC;QACzD,oEAAoE;QACpE,gBAAgB,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC"}
@@ -7,6 +7,9 @@ import { apply } from "../engine-components/js-extensions/Object3D";
7
7
  import { $isUsingInstancing, InstancingUtil } from "./engine_instancing";
8
8
  import { activeInHierarchyFieldName } from "./engine_constants";
9
9
  import { assign } from "./engine_serialization_core";
10
+ import { disposeObjectResources, __internalNotifyObjectDestroyed as __internalRemoveReferences } from "./engine_assetdatabase";
11
+ import { $originalGuid } from "./engine_constants";
12
+ import { __internalDispatchComponentLifecycleEvent, ComponentEvents } from "./engine_components_internal";
10
13
  const debug = getParam("debuggetcomponent");
11
14
  const debugInstantiate = getParam("debuginstantiate");
12
15
  export var HideFlags;
@@ -94,14 +97,16 @@ function internalDestroy(instance, recursive = true, dispose = false, isRoot = t
94
97
  return;
95
98
  }
96
99
  const obj = instance;
97
- if (dispose)
98
- disposeObject(obj);
99
100
  setDestroyed(obj, true);
101
+ if (dispose)
102
+ disposeObjectResources(obj);
103
+ // This needs to be called after disposing because it removes the references to resources
104
+ __internalRemoveReferences(obj);
100
105
  if (debug)
101
106
  console.log(obj);
102
107
  if (recursive && obj.children) {
103
108
  for (const ch of obj.children) {
104
- internalDestroy(ch, recursive, false, false);
109
+ internalDestroy(ch, recursive, dispose, false);
105
110
  }
106
111
  }
107
112
  const components = obj.userData.components;
@@ -125,22 +130,6 @@ function internalDestroy(instance, recursive = true, dispose = false, isRoot = t
125
130
  if (isRoot)
126
131
  obj.removeFromParent();
127
132
  }
128
- function disposeObject(obj) {
129
- if (!obj)
130
- return;
131
- const mesh = obj;
132
- if (mesh.geometry) {
133
- mesh.geometry.dispose();
134
- }
135
- if (mesh.material) {
136
- if (Array.isArray(mesh.material)) {
137
- mesh.material.forEach(m => m.dispose());
138
- }
139
- else {
140
- mesh.material.dispose();
141
- }
142
- }
143
- }
144
133
  export function foreachComponent(instance, cb, recursive = true) {
145
134
  return internalForEachComponent(instance, cb, recursive);
146
135
  }
@@ -258,6 +247,8 @@ function internalInstantiate(context, instance, opts, componentsList, newGameObj
258
247
  let clone;
259
248
  clone = instance.clone(false);
260
249
  apply(clone);
250
+ // if(instance[$originalGuid])
251
+ // clone[$originalGuid] = instance[$originalGuid];
261
252
  instance.userData = userData;
262
253
  instance.children = children;
263
254
  // make reference from old id to new object
@@ -331,12 +322,16 @@ function internalInstantiate(context, instance, opts, componentsList, newGameObj
331
322
  clone.userData.components = newComponents;
332
323
  for (let i = 0; i < components.length; i++) {
333
324
  const comp = components[i];
334
- const copy = Object.create(comp);
325
+ const copy = new comp.constructor();
335
326
  assign(copy, comp);
327
+ // make sure the original guid stays intact
328
+ if (comp[$originalGuid] !== undefined)
329
+ copy[$originalGuid] = comp[$originalGuid];
336
330
  newComponents.push(copy);
337
331
  copy.gameObject = clone;
338
332
  // copy.transform = clone;
339
333
  componentsList.push(copy);
334
+ __internalDispatchComponentLifecycleEvent(ComponentEvents.Added, copy);
340
335
  }
341
336
  }
342
337
  // children should just clone the original transform
@@ -1 +1 @@
1
- {"version":3,"file":"engine_gameobject.js","sourceRoot":"","sources":["../../../src/engine/engine_gameobject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_gameobject.js","sourceRoot":"","sources":["../../../src/engine/engine_gameobject.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import "./codegen/register_types";
2
- import { Component } from "../engine-components/Component";
3
2
  import { Context } from "./engine_setup";
4
3
  import { SerializationContext } from "./engine_serialization_core";
5
4
  import { NEEDLE_components } from "./extensions/NEEDLE_components";
6
- import { SourceIdentifier } from "./engine_types";
5
+ import { IComponent, SourceIdentifier } from "./engine_types";
7
6
  import { UIDProvider } from "./engine_types";
8
- export declare function writeBuiltinComponentData(comp: Component, context: SerializationContext): object | null;
7
+ export declare function writeBuiltinComponentData(comp: IComponent, context: SerializationContext): object | null;
9
8
  export declare function createBuiltinComponents(context: Context, gltfId: SourceIdentifier, gltf: any, seed?: number | null | UIDProvider, extension?: NEEDLE_components): Promise<void>;
@@ -1,10 +1,11 @@
1
1
  import "./codegen/register_types";
2
2
  import { TypeStore } from "./engine_typestore";
3
+ // import { GameObject } from "../engine-components/Component";
3
4
  import { InstantiateIdProvider } from "./engine_networking_instantiate";
4
5
  import { deserializeObject, serializeObject } from "./engine_serialization";
5
6
  import { assign, ImplementationInformation, SerializationContext } from "./engine_serialization_core";
6
7
  import { debugExtension } from "./engine_default_parameters";
7
- import { builtinComponentKeyName } from "./engine_constants";
8
+ import { $originalGuid, builtinComponentKeyName } from "./engine_constants";
8
9
  import { addNewComponent } from "./engine_components";
9
10
  import { getParam } from "./engine_utils";
10
11
  import { LogType, showBalloonMessage } from "./debug/debug";
@@ -30,6 +31,7 @@ export function writeBuiltinComponentData(comp, context) {
30
31
  return null;
31
32
  }
32
33
  const typeImplementationInformation = new ImplementationInformation();
34
+ const $context_deserialize_queue = Symbol("deserialize-queue");
33
35
  export async function createBuiltinComponents(context, gltfId, gltf, seed = null, extension) {
34
36
  if (!gltf)
35
37
  return;
@@ -44,20 +46,32 @@ export async function createBuiltinComponents(context, gltfId, gltf, seed = null
44
46
  serializationContext.gltf = gltf;
45
47
  serializationContext.nodeToObject = extension?.nodeToObjectMap;
46
48
  serializationContext.implementationInformation = typeImplementationInformation;
47
- const deserialize = [];
49
+ // If we're loading multiple gltf files in one scene we need to make sure we deserialize all of them in one go
50
+ // for that we collect them in one list per context
51
+ let deserializeQueue = context[$context_deserialize_queue];
52
+ if (!deserializeQueue)
53
+ deserializeQueue = context[$context_deserialize_queue] = [];
48
54
  if (gltf.scenes) {
49
55
  for (const scene of gltf.scenes) {
50
- await onCreateBuiltinComponents(serializationContext, scene, deserialize, lateResolve);
56
+ await onCreateBuiltinComponents(serializationContext, scene, deserializeQueue, lateResolve);
51
57
  }
52
58
  }
53
59
  if (gltf.children) {
54
60
  for (const ch of gltf.children) {
55
- await onCreateBuiltinComponents(serializationContext, ch, deserialize, lateResolve);
61
+ await onCreateBuiltinComponents(serializationContext, ch, deserializeQueue, lateResolve);
56
62
  }
57
63
  }
58
64
  context.new_scripts_pre_setup_callbacks.push(() => {
59
- for (const des of deserialize) {
60
- handleDeserialization(des, serializationContext);
65
+ // First deserialize ALL components that were loaded before pre setup
66
+ // Down below they get new guids assigned so we have to do all of them first
67
+ // E.g. in cases where we load multiple glb files on startup from one scene
68
+ // and they might have cross-glb references
69
+ const queue = context[$context_deserialize_queue];
70
+ if (queue) {
71
+ for (const des of queue) {
72
+ handleDeserialization(des, serializationContext);
73
+ }
74
+ queue.length = 0;
61
75
  }
62
76
  // when dropping the same file multiple times we need to generate new guids
63
77
  // e.g. SyncTransform sends its own guid to the server to know about ownership
@@ -124,6 +138,9 @@ async function onCreateBuiltinComponents(context, obj, deserialize, lateResolve)
124
138
  instance.sourceId = context.gltfId;
125
139
  // assign basic fields
126
140
  assign(instance, compData, context.implementationInformation);
141
+ // assign the guid of the original instance
142
+ if ("guid" in compData)
143
+ instance[$originalGuid] = compData.guid;
127
144
  // Object.assign(instance, compData);
128
145
  // dont call awake here because some references might not be resolved yet and components that access those fields in awake will throw
129
146
  // for example Duplicatable reference to object might still be { node: id }
@@ -1 +1 @@
1
- {"version":3,"file":"engine_gltf_builtin_components.js","sourceRoot":"","sources":["../../../src/engine/engine_gltf_builtin_components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_gltf_builtin_components.js","sourceRoot":"","sources":["../../../src/engine/engine_gltf_builtin_components.ts"],"names":[],"mappings":"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"}
@@ -15,4 +15,5 @@ export declare type SyncOptions = {
15
15
  key?: string;
16
16
  fieldName?: string;
17
17
  };
18
+ /** experimental - use syncField instead */
18
19
  export declare const sync: (_options?: SyncOptions) => <T>(target: any, _propertyKey: string, descriptor: PropertyDescriptor) => void;
@@ -1,5 +1,6 @@
1
1
  import { getParam } from "./engine_utils";
2
2
  const debug = getParam("debugautosync");
3
+ const $syncerId = Symbol("syncerId");
3
4
  class ComponentsSyncerManager {
4
5
  _syncers = {};
5
6
  getOrCreateSyncer(comp) {
@@ -8,9 +9,13 @@ class ComponentsSyncerManager {
8
9
  if (this._syncers[comp.guid])
9
10
  return this._syncers[comp.guid];
10
11
  const syncer = new ComponentPropertiesSyncer(comp);
11
- this._syncers[comp.guid] = syncer;
12
+ syncer[$syncerId] = comp.guid;
13
+ this._syncers[syncer[$syncerId]] = syncer;
12
14
  return syncer;
13
15
  }
16
+ removeSyncer(syncer) {
17
+ delete this._syncers[syncer[$syncerId]];
18
+ }
14
19
  }
15
20
  const syncerHandler = new ComponentsSyncerManager();
16
21
  /**
@@ -27,6 +32,7 @@ class ComponentPropertiesSyncer {
27
32
  changedProperties = {};
28
33
  data = {};
29
34
  _boundEvent;
35
+ _handleReceivingMethod;
30
36
  get networkingKey() {
31
37
  const obj = this.comp;
32
38
  const key = obj.constructor.name;
@@ -43,11 +49,23 @@ class ComponentPropertiesSyncer {
43
49
  // console.log("INIT", this.comp.name, this.networkingKey);
44
50
  this._boundEvent = this.onHandleSending.bind(this);
45
51
  this.comp.context.post_render_callbacks.push(this._boundEvent);
46
- this.comp.context.connection.beginListen(this.networkingKey, this.onHandleReceiving.bind(this));
52
+ this._handleReceivingMethod = this.onHandleReceiving.bind(this);
53
+ this.comp.context.connection.beginListen(this.networkingKey, this._handleReceivingMethod);
47
54
  const state = this.comp.context.connection.tryGetState(this.comp.guid);
48
55
  if (state)
49
56
  this.onHandleReceiving(state);
50
57
  }
58
+ destroy() {
59
+ if (!this._isInit)
60
+ return;
61
+ if (this._boundEvent)
62
+ this.comp.context.post_render_callbacks.splice(this.comp.context.post_render_callbacks.indexOf(this._boundEvent), 1);
63
+ if (this._handleReceivingMethod)
64
+ this.comp.context.connection.stopListen(this.networkingKey, this._handleReceivingMethod);
65
+ //@ts-ignore
66
+ this.comp = null;
67
+ this._isInit = false;
68
+ }
51
69
  notifyChanged(propertyName, value) {
52
70
  if (this._isReceiving)
53
71
  return;
@@ -138,15 +156,24 @@ function testValueChanged(newValue, previousValue) {
138
156
  }
139
157
  return valueChanged;
140
158
  }
159
+ const $syncer = Symbol("AutoSyncHandler");
141
160
  function getSyncer(instance) {
142
- if (instance["__autoPropertySyncHandler"]) {
143
- return instance["__autoPropertySyncHandler"];
161
+ if (instance[$syncer]) {
162
+ return instance[$syncer];
144
163
  }
145
164
  const syncer = syncerHandler.getOrCreateSyncer(instance);
146
165
  syncer?.init(instance);
147
- instance["__autoPropertySyncHandler"] = syncer;
166
+ instance[$syncer] = syncer;
148
167
  return syncer;
149
168
  }
169
+ function destroySyncer(instance) {
170
+ const syncer = instance[$syncer];
171
+ if (syncer) {
172
+ syncerHandler.removeSyncer(syncer);
173
+ syncer.destroy();
174
+ delete instance[$syncer];
175
+ }
176
+ }
150
177
  /**
151
178
  * Decorate a field to be automatically networked synced
152
179
  * @param onFieldChanged name of a callback function that will be called when the field is changed.
@@ -164,7 +191,7 @@ export const syncField = function (onFieldChanged) {
164
191
  const internalAwake = t.__internalAwake;
165
192
  if (debug)
166
193
  console.log(propertyKey);
167
- const backingFieldName = propertyKey + "k__BackingField";
194
+ const backingFieldName = Symbol(propertyKey);
168
195
  t.__internalAwake = function () {
169
196
  if (this[backingFieldName] !== undefined) {
170
197
  return;
@@ -192,8 +219,14 @@ export const syncField = function (onFieldChanged) {
192
219
  }
193
220
  syncer?.init(this);
194
221
  };
222
+ const internalDestroy = t.__internalDestroy;
223
+ t.__internalDestroy = function () {
224
+ destroySyncer(this);
225
+ internalDestroy.call(this);
226
+ };
195
227
  };
196
228
  };
229
+ /** experimental - use syncField instead */
197
230
  export const sync = function (_options) {
198
231
  return function (target, _propertyKey, descriptor) {
199
232
  // override awake
@@ -212,14 +245,14 @@ export const sync = function (_options) {
212
245
  // inject getter and setter
213
246
  if (!descriptor.get) {
214
247
  const previousSetter = descriptor.set;
215
- const backingFieldName = _propertyKey + "k__BackingField";
248
+ const $backingField = Symbol(_propertyKey);
216
249
  Object.defineProperty(target, _propertyKey, {
217
250
  set: function (value) {
218
- this[backingFieldName] = value;
251
+ this[$backingField] = value;
219
252
  previousSetter?.call(this, value);
220
253
  },
221
254
  get: function () {
222
- return this[backingFieldName];
255
+ return this[$backingField];
223
256
  }
224
257
  });
225
258
  const newDescriptor = Object.getOwnPropertyDescriptor(target, _propertyKey);
@@ -1 +1 @@
1
- {"version":3,"file":"engine_networking_auto.js","sourceRoot":"","sources":["../../../src/engine/engine_networking_auto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI1C,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAExC,MAAM,uBAAuB;IACjB,QAAQ,GAAiD,EAAE,CAAC;IAEpE,iBAAiB,CAAC,IAAe;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QAClC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD,MAAM,aAAa,GAAG,IAAI,uBAAuB,EAAE,CAAC;AAEpD;;GAEG;AACH,MAAM,yBAAyB;IAE3B,IAAI,CAAY;IAEhB,YAAY,IAAe;QACvB,wDAAwD;QACxD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,qDAAqD;IAC7C,UAAU,GAAY,KAAK,CAAC;IAC5B,iBAAiB,GAA2B,EAAE,CAAC;IAC/C,IAAI,GAAG,EAAE,CAAC;IAEV,WAAW,CAAY;IAE/B,IAAI,aAAa;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,IAAc,CAAC;QAChC,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;QACjC,OAAO,GAAG,CAAC;IACf,CAAC;IAED,kEAAkE;IAC1D,YAAY,GAAY,KAAK,CAAC;IAC9B,OAAO,GAAG,KAAK,CAAC;IAExB,IAAI,CAAC,IAAI;QACL,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,2DAA2D;QAC3D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhG,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,IAAG,KAAK;YAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,YAAoB,EAAE,KAAU;QAC1C,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,2DAA2D;QAC3D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IACjD,CAAC;IAEO,eAAe;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,uCAAuC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;YAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,iBAAiB;gBACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO;SACV;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACzB;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC3C,sBAAsB;YACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SAC3B;QACD,sEAAsE;QACtE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAEO,iBAAiB,CAAC,GAAG;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QAC5C,IAAI,KAAK;YACL,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjE,IAAI;YACA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;gBACnB,IAAI,GAAG,KAAK,MAAM;oBAAE,SAAS;gBAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACvB,6DAA6D;gBAC7D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC1B;SACJ;QACD,OAAO,GAAG,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACtB;gBACO;YACJ,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC7B;IACL,CAAC;CAUJ;AAED,SAAS,gBAAgB,CAAC,QAAQ,EAAE,aAAa;IAC7C,IAAI,YAAY,GAAG,aAAa,KAAK,QAAQ,CAAC;IAC9C,IAAI,CAAC,YAAY,IAAI,QAAQ,IAAI,aAAa,EAAE;QAC5C,mCAAmC;QACnC,wEAAwE;QACxE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YACzD,YAAY,GAAG,IAAI,CAAC;YACpB,+CAA+C;YAC/C,yBAAyB;YACzB,IAAI;YACJ,SAAS;YACT,+CAA+C;YAC/C,+CAA+C;YAC/C,iCAAiC;YACjC,qBAAqB;YACrB,YAAY;YACZ,QAAQ;YACR,IAAI;SACP;aACI,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YACxE,oEAAoE;YACpE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACrC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC,GAAG,CAAC,EAAE;oBACtC,YAAY,GAAG,IAAI,CAAC;oBACpB,MAAM;iBACT;aACJ;SACJ;KACJ;IACD,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,SAAS,SAAS,CAAC,QAAQ;IACvB,IAAI,QAAQ,CAAC,2BAA2B,CAAC,EAAE;QACvC,OAAO,QAAQ,CAAC,2BAA2B,CAAC,CAAC;KAChD;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,QAAQ,CAAC,2BAA2B,CAAC,GAAG,MAAM,CAAC;IAC/C,OAAO,MAAM,CAAC;AAClB,CAAC;AAMD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,cAAuB;IAEtD,OAAO,UAAU,MAAW,EAAE,WAAmB;QAE7C,IAAI,MAAM,GAAqC,IAAI,CAAC;QACpD,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/D,MAAM,CAAC,GAAG,MAAM,CAAC;QACjB,MAAM,aAAa,GAAG,CAAC,CAAC,eAAe,CAAC;QACxC,IAAI,KAAK;YACL,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7B,MAAM,gBAAgB,GAAG,WAAW,GAAG,iBAAiB,CAAC;QAEzD,CAAC,CAAC,eAAe,GAAG;YAChB,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAAE;gBACtC,OAAO;aACV;YACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEzB,MAAM,GAAG,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAE/C,MAAM,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAChE,IAAI,IAAI,EAAE,GAAG,KAAK,SAAS,EAAE;gBACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE;oBACrC,GAAG,EAAE,UAAU,KAAK;wBAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;wBACxC,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;wBAC/B,IAAI,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;4BACnC,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,KAAK;gCACzC,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;yBAC1D;oBACL,CAAC;oBACD,GAAG,EAAE;wBACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAClC,CAAC;oBACD,YAAY,EAAE,IAAI;oBAClB,UAAU,EAAE,IAAI;iBACnB,CAAC,CAAC;aACN;YAED,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvB,CAAC,CAAA;IAEL,CAAC,CAAA;AACL,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,QAAsB;IAEhD,OAAO,UAAa,MAAW,EAAE,YAAoB,EAAE,UAA8B;QACjF,iBAAiB;QACjB,MAAM,IAAI,GAAG,MAAmB,CAAC;QACjC,IAAI,MAAwC,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG;YACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACZ,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,OAAO;aACV;YACD,aAAa,EAAE,CAAC;YAChB,MAAM,GAAG,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAA;QAED,2BAA2B;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YACjB,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC;YACtC,MAAM,gBAAgB,GAAG,YAAY,GAAG,iBAAiB,CAAC;YAC1D,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;gBACxC,GAAG,EAAE,UAAU,KAAK;oBAChB,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;oBAC/B,cAAc,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACtC,CAAC;gBACD,GAAG,EAAE;oBACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAClC,CAAC;aACJ,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC5E,IAAI,aAAa,EAAE;gBACf,UAAU,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;gBACnC,UAAU,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;aACtC;SACJ;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC;QAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC;QAC9B,IAAI,aAAa,GAAkB,SAAS,CAAC;QAE7C,IAAI,MAAM,EAAE;YACR,UAAU,CAAC,GAAG,GAAG,UAAU,KAAQ;gBAC/B,IAAI,YAAY,GAAG,KAAK,CAAC;gBAEzB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;gBAE/B,cAAc;gBACd,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE;oBAChE,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;iBAC1C;gBAED,IAAI,YAAY,EAAE;oBACd,gBAAgB;oBAChB,aAAa,GAAG,KAAK,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACzB,MAAM,EAAE,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;iBAC9C;YACL,CAAC,CAAC;SACL;IACL,CAAC,CAAA;AAEL,CAAC,CAAC"}
1
+ {"version":3,"file":"engine_networking_auto.js","sourceRoot":"","sources":["../../../src/engine/engine_networking_auto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare type FieldPatch = (instance: object, oldValue: any, newValue: any) => any;
2
+ export type MethodPatch<T> = (instance: T, result: any, ...args: any[]) => any;
3
+ /**
4
+ * Use patcher for patching properties insteadof calling Object.defineProperty individually
5
+ * since this will cause conflicts if multiple patches need to be applied to the same property
6
+ */
7
+ export declare function addPatch<TType extends object, TCallback extends (FieldPatch | MethodPatch<any>)>(prototype: TType, fieldName: string, cb: TCallback): void;
8
+ export declare function removePatch(prototype: object, fieldName: string, cb: Function): void;
@@ -0,0 +1,98 @@
1
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwn
2
+ const _wrappedMethods = new WeakSet();
3
+ /**
4
+ * Use patcher for patching properties insteadof calling Object.defineProperty individually
5
+ * since this will cause conflicts if multiple patches need to be applied to the same property
6
+ */
7
+ export function addPatch(prototype, fieldName, cb) {
8
+ // TODO: we probably want to turn this into a symbol to prevent anyone from overriding it
9
+ // But when we need to store the symbol per prototype to allow e.g. material disposing to iterate those and dispose all
10
+ const backingField = fieldName + "__needle"; // Symbol(fieldName);// + " (patched)";
11
+ internalAddPatch(prototype, fieldName, cb);
12
+ const desc = Object.getOwnPropertyDescriptor(prototype, fieldName);
13
+ if (desc) {
14
+ // TODO: check if the property is writable
15
+ // the property might be a method in which case we want to wrap it
16
+ if (typeof desc.value === "function") {
17
+ const method = desc.value;
18
+ if (method) {
19
+ if (_wrappedMethods.has(method)) {
20
+ return;
21
+ }
22
+ _wrappedMethods.add(method);
23
+ prototype[fieldName] = function (...args) {
24
+ // call the original method
25
+ const result = method.apply(this, args);
26
+ // call the patches
27
+ const patches = getPatches(prototype, fieldName);
28
+ if (patches) {
29
+ for (const patch of patches) {
30
+ patch(this, result, ...args);
31
+ }
32
+ }
33
+ return result;
34
+ };
35
+ }
36
+ else {
37
+ // TODO: declare method?
38
+ }
39
+ }
40
+ }
41
+ else if (prototype.hasOwnProperty(backingField)) {
42
+ }
43
+ else {
44
+ Object.defineProperty(prototype, fieldName, {
45
+ set: function (value) {
46
+ const prev = this[backingField];
47
+ this[backingField] = value;
48
+ executePatches(prototype, fieldName, this, prev, value);
49
+ },
50
+ get: function () {
51
+ return this[backingField];
52
+ }
53
+ });
54
+ }
55
+ }
56
+ export function removePatch(prototype, fieldName, cb) {
57
+ const patches = getPatches(prototype, fieldName);
58
+ if (patches) {
59
+ for (let i = patches.length - 1; i >= 0; i--) {
60
+ if (patches[i] === cb) {
61
+ patches.splice(i, 1);
62
+ }
63
+ }
64
+ }
65
+ }
66
+ const patches = new WeakMap();
67
+ function getPatches(prototype, fieldName) {
68
+ let patchesMap = patches.get(prototype);
69
+ if (!patchesMap) {
70
+ return;
71
+ }
72
+ return patchesMap.get(fieldName);
73
+ ;
74
+ }
75
+ function internalAddPatch(prototype, fieldName, cb) {
76
+ let patchesMap = patches.get(prototype);
77
+ if (!patchesMap) {
78
+ patchesMap = new Map();
79
+ patches.set(prototype, patchesMap);
80
+ }
81
+ let patchList = patchesMap.get(fieldName);
82
+ if (!patchList) {
83
+ patchList = [];
84
+ patchesMap.set(fieldName, patchList);
85
+ }
86
+ patchList.push(cb);
87
+ }
88
+ function executePatches(prototype, fieldName, instance, oldValue, newValue) {
89
+ if (!instance)
90
+ return;
91
+ const patches = getPatches(prototype, fieldName);
92
+ if (patches) {
93
+ for (const patch of patches) {
94
+ patch(instance, oldValue, newValue);
95
+ }
96
+ }
97
+ }
98
+ //# sourceMappingURL=engine_patcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine_patcher.js","sourceRoot":"","sources":["../../../src/engine/engine_patcher.ts"],"names":[],"mappings":"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"}