@needle-tools/engine 5.1.0-alpha.3 → 5.1.0-alpha.5

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 (218) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/SKILL.md +4 -1
  3. package/components.needle.json +1 -1
  4. package/dist/{needle-engine.bundle-DF01sSGQ.js → needle-engine.bundle-C-LG00ZZ.js} +10681 -10100
  5. package/dist/needle-engine.bundle-D7tzaiYE.min.js +1733 -0
  6. package/dist/{needle-engine.bundle-C-ixARur.umd.cjs → needle-engine.bundle-OPkPmdUM.umd.cjs} +161 -161
  7. package/dist/needle-engine.d.ts +1349 -317
  8. package/dist/needle-engine.js +556 -555
  9. package/dist/needle-engine.min.js +1 -1
  10. package/dist/needle-engine.umd.cjs +1 -1
  11. package/dist/three.js +1 -0
  12. package/dist/three.min.js +21 -21
  13. package/dist/three.umd.cjs +16 -16
  14. package/lib/engine/api.d.ts +5 -0
  15. package/lib/engine/api.js +4 -0
  16. package/lib/engine/api.js.map +1 -1
  17. package/lib/engine/codegen/register_types.js +10 -18
  18. package/lib/engine/codegen/register_types.js.map +1 -1
  19. package/lib/engine/engine_camera.fit.js +16 -4
  20. package/lib/engine/engine_camera.fit.js.map +1 -1
  21. package/lib/engine/engine_context.d.ts +20 -7
  22. package/lib/engine/engine_context.js +31 -15
  23. package/lib/engine/engine_context.js.map +1 -1
  24. package/lib/engine/engine_context_eventbus.d.ts +47 -0
  25. package/lib/engine/engine_context_eventbus.js +47 -0
  26. package/lib/engine/engine_context_eventbus.js.map +1 -0
  27. package/lib/engine/engine_disposable.d.ts +172 -0
  28. package/lib/engine/engine_disposable.js +136 -0
  29. package/lib/engine/engine_disposable.js.map +1 -0
  30. package/lib/engine/engine_gameobject.d.ts +1 -10
  31. package/lib/engine/engine_gameobject.js +20 -118
  32. package/lib/engine/engine_gameobject.js.map +1 -1
  33. package/lib/engine/engine_gltf_builtin_components.js +7 -69
  34. package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
  35. package/lib/engine/engine_input.d.ts +23 -4
  36. package/lib/engine/engine_input.js +2 -1
  37. package/lib/engine/engine_input.js.map +1 -1
  38. package/lib/engine/engine_instantiate_resolve.d.ts +42 -0
  39. package/lib/engine/engine_instantiate_resolve.js +372 -0
  40. package/lib/engine/engine_instantiate_resolve.js.map +1 -0
  41. package/lib/engine/engine_mainloop_utils.js +2 -2
  42. package/lib/engine/engine_mainloop_utils.js.map +1 -1
  43. package/lib/engine/engine_networking.d.ts +51 -37
  44. package/lib/engine/engine_networking.js +132 -82
  45. package/lib/engine/engine_networking.js.map +1 -1
  46. package/lib/engine/engine_networking.transport.websocket.d.ts +15 -0
  47. package/lib/engine/engine_networking.transport.websocket.js +38 -0
  48. package/lib/engine/engine_networking.transport.websocket.js.map +1 -0
  49. package/lib/engine/engine_networking_instantiate.js +2 -2
  50. package/lib/engine/engine_networking_instantiate.js.map +1 -1
  51. package/lib/engine/engine_networking_types.d.ts +39 -1
  52. package/lib/engine/engine_networking_types.js +7 -0
  53. package/lib/engine/engine_networking_types.js.map +1 -1
  54. package/lib/engine/engine_physics_rapier.d.ts +21 -3
  55. package/lib/engine/engine_physics_rapier.js +94 -25
  56. package/lib/engine/engine_physics_rapier.js.map +1 -1
  57. package/lib/engine/engine_serialization_builtin_serializer.js +1 -5
  58. package/lib/engine/engine_serialization_builtin_serializer.js.map +1 -1
  59. package/lib/engine/engine_serialization_core.d.ts +1 -0
  60. package/lib/engine/engine_serialization_core.js +7 -0
  61. package/lib/engine/engine_serialization_core.js.map +1 -1
  62. package/lib/engine/engine_types.d.ts +29 -11
  63. package/lib/engine/engine_types.js +1 -1
  64. package/lib/engine/engine_types.js.map +1 -1
  65. package/lib/engine/engine_util_decorator.js +7 -2
  66. package/lib/engine/engine_util_decorator.js.map +1 -1
  67. package/lib/engine/engine_utils.d.ts +1 -1
  68. package/lib/engine/engine_utils.js +19 -5
  69. package/lib/engine/engine_utils.js.map +1 -1
  70. package/lib/engine-components/AnimationBuilder.d.ts +158 -0
  71. package/lib/engine-components/AnimationBuilder.js +305 -0
  72. package/lib/engine-components/AnimationBuilder.js.map +1 -0
  73. package/lib/engine-components/Animator.d.ts +6 -0
  74. package/lib/engine-components/Animator.js +23 -13
  75. package/lib/engine-components/Animator.js.map +1 -1
  76. package/lib/engine-components/AnimatorController.builder.d.ts +191 -0
  77. package/lib/engine-components/AnimatorController.builder.js +263 -0
  78. package/lib/engine-components/AnimatorController.builder.js.map +1 -0
  79. package/lib/engine-components/AnimatorController.d.ts +2 -119
  80. package/lib/engine-components/AnimatorController.js +33 -232
  81. package/lib/engine-components/AnimatorController.js.map +1 -1
  82. package/lib/engine-components/Collider.d.ts +18 -9
  83. package/lib/engine-components/Collider.js +61 -14
  84. package/lib/engine-components/Collider.js.map +1 -1
  85. package/lib/engine-components/Component.d.ts +72 -9
  86. package/lib/engine-components/Component.js +114 -10
  87. package/lib/engine-components/Component.js.map +1 -1
  88. package/lib/engine-components/ContactShadows.d.ts +1 -0
  89. package/lib/engine-components/ContactShadows.js +14 -1
  90. package/lib/engine-components/ContactShadows.js.map +1 -1
  91. package/lib/engine-components/DragControls.js +0 -7
  92. package/lib/engine-components/DragControls.js.map +1 -1
  93. package/lib/engine-components/DropListener.js +3 -0
  94. package/lib/engine-components/DropListener.js.map +1 -1
  95. package/lib/engine-components/EventList.d.ts +31 -9
  96. package/lib/engine-components/EventList.js +37 -76
  97. package/lib/engine-components/EventList.js.map +1 -1
  98. package/lib/engine-components/Joints.d.ts +4 -2
  99. package/lib/engine-components/Joints.js +19 -3
  100. package/lib/engine-components/Joints.js.map +1 -1
  101. package/lib/engine-components/Light.js +9 -1
  102. package/lib/engine-components/Light.js.map +1 -1
  103. package/lib/engine-components/OrbitControls.d.ts +0 -2
  104. package/lib/engine-components/OrbitControls.js +14 -1
  105. package/lib/engine-components/OrbitControls.js.map +1 -1
  106. package/lib/engine-components/RigidBody.d.ts +12 -4
  107. package/lib/engine-components/RigidBody.js +18 -4
  108. package/lib/engine-components/RigidBody.js.map +1 -1
  109. package/lib/engine-components/SceneSwitcher.js +3 -0
  110. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  111. package/lib/engine-components/api.d.ts +2 -1
  112. package/lib/engine-components/api.js +2 -1
  113. package/lib/engine-components/api.js.map +1 -1
  114. package/lib/engine-components/codegen/components.d.ts +7 -13
  115. package/lib/engine-components/codegen/components.js +7 -13
  116. package/lib/engine-components/codegen/components.js.map +1 -1
  117. package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +1 -1
  118. package/lib/engine-components/timeline/PlayableDirector.d.ts +21 -11
  119. package/lib/engine-components/timeline/PlayableDirector.js +75 -67
  120. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  121. package/lib/engine-components/timeline/SignalAsset.d.ts +3 -1
  122. package/lib/engine-components/timeline/SignalAsset.js +1 -0
  123. package/lib/engine-components/timeline/SignalAsset.js.map +1 -1
  124. package/lib/engine-components/timeline/TimelineBuilder.d.ts +413 -0
  125. package/lib/engine-components/timeline/TimelineBuilder.js +506 -0
  126. package/lib/engine-components/timeline/TimelineBuilder.js.map +1 -0
  127. package/lib/engine-components/timeline/TimelineModels.d.ts +2 -1
  128. package/lib/engine-components/timeline/TimelineModels.js +3 -0
  129. package/lib/engine-components/timeline/TimelineModels.js.map +1 -1
  130. package/lib/engine-components/timeline/TimelineTracks.d.ts +37 -6
  131. package/lib/engine-components/timeline/TimelineTracks.js +92 -26
  132. package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
  133. package/lib/engine-components/timeline/index.d.ts +2 -1
  134. package/lib/engine-components/timeline/index.js +2 -0
  135. package/lib/engine-components/timeline/index.js.map +1 -1
  136. package/lib/engine-components/web/CursorFollow.d.ts +0 -1
  137. package/lib/engine-components/web/CursorFollow.js +0 -1
  138. package/lib/engine-components/web/CursorFollow.js.map +1 -1
  139. package/package.json +2 -83
  140. package/plugins/common/cloud.js +6 -1
  141. package/plugins/common/license.js +5 -2
  142. package/plugins/common/worker.js +9 -4
  143. package/plugins/vite/dependencies.js +1 -11
  144. package/plugins/vite/dependency-watcher.js +2 -2
  145. package/plugins/vite/editor-connection.js +3 -3
  146. package/plugins/vite/license.js +19 -1
  147. package/plugins/vite/reload.js +1 -1
  148. package/plugins/vite/server.js +2 -1
  149. package/src/engine/api.ts +7 -0
  150. package/src/engine/codegen/register_types.ts +10 -18
  151. package/src/engine/engine_camera.fit.ts +15 -4
  152. package/src/engine/engine_context.ts +32 -16
  153. package/src/engine/engine_context_eventbus.ts +73 -0
  154. package/src/engine/engine_disposable.ts +214 -0
  155. package/src/engine/engine_gameobject.ts +52 -157
  156. package/src/engine/engine_gltf_builtin_components.ts +7 -76
  157. package/src/engine/engine_input.ts +27 -6
  158. package/src/engine/engine_instantiate_resolve.ts +407 -0
  159. package/src/engine/engine_mainloop_utils.ts +2 -2
  160. package/src/engine/engine_networking.transport.websocket.ts +45 -0
  161. package/src/engine/engine_networking.ts +161 -137
  162. package/src/engine/engine_networking_instantiate.ts +2 -2
  163. package/src/engine/engine_networking_types.ts +41 -1
  164. package/src/engine/engine_physics_rapier.ts +102 -33
  165. package/src/engine/engine_serialization_builtin_serializer.ts +1 -6
  166. package/src/engine/engine_serialization_core.ts +9 -0
  167. package/src/engine/engine_types.ts +46 -27
  168. package/src/engine/engine_util_decorator.ts +7 -2
  169. package/src/engine/engine_utils.ts +16 -5
  170. package/src/engine-components/AnimationBuilder.ts +472 -0
  171. package/src/engine-components/Animator.ts +24 -12
  172. package/src/engine-components/AnimatorController.builder.ts +387 -0
  173. package/src/engine-components/AnimatorController.ts +20 -291
  174. package/src/engine-components/Collider.ts +66 -18
  175. package/src/engine-components/Component.ts +118 -20
  176. package/src/engine-components/ContactShadows.ts +15 -1
  177. package/src/engine-components/DragControls.ts +0 -9
  178. package/src/engine-components/DropListener.ts +3 -0
  179. package/src/engine-components/EventList.ts +45 -83
  180. package/src/engine-components/Joints.ts +20 -4
  181. package/src/engine-components/Light.ts +10 -2
  182. package/src/engine-components/OrbitControls.ts +16 -5
  183. package/src/engine-components/RigidBody.ts +18 -4
  184. package/src/engine-components/SceneSwitcher.ts +3 -0
  185. package/src/engine-components/api.ts +2 -1
  186. package/src/engine-components/codegen/components.ts +7 -13
  187. package/src/engine-components/timeline/PlayableDirector.ts +83 -81
  188. package/src/engine-components/timeline/SignalAsset.ts +4 -1
  189. package/src/engine-components/timeline/TimelineBuilder.ts +824 -0
  190. package/src/engine-components/timeline/TimelineModels.ts +5 -1
  191. package/src/engine-components/timeline/TimelineTracks.ts +96 -27
  192. package/src/engine-components/timeline/index.ts +2 -1
  193. package/src/engine-components/web/CursorFollow.ts +0 -1
  194. package/dist/needle-engine.bundle-CHmXdnE1.min.js +0 -1733
  195. package/lib/engine-components/AvatarLoader.d.ts +0 -80
  196. package/lib/engine-components/AvatarLoader.js +0 -232
  197. package/lib/engine-components/AvatarLoader.js.map +0 -1
  198. package/lib/engine-components/avatar/AvatarBlink_Simple.d.ts +0 -11
  199. package/lib/engine-components/avatar/AvatarBlink_Simple.js +0 -77
  200. package/lib/engine-components/avatar/AvatarBlink_Simple.js.map +0 -1
  201. package/lib/engine-components/avatar/AvatarEyeLook_Rotation.d.ts +0 -14
  202. package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js +0 -69
  203. package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js.map +0 -1
  204. package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +0 -29
  205. package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +0 -122
  206. package/lib/engine-components/avatar/Avatar_Brain_LookAt.js.map +0 -1
  207. package/lib/engine-components/avatar/Avatar_MouthShapes.d.ts +0 -15
  208. package/lib/engine-components/avatar/Avatar_MouthShapes.js +0 -80
  209. package/lib/engine-components/avatar/Avatar_MouthShapes.js.map +0 -1
  210. package/lib/engine-components/avatar/Avatar_MustacheShake.d.ts +0 -9
  211. package/lib/engine-components/avatar/Avatar_MustacheShake.js +0 -30
  212. package/lib/engine-components/avatar/Avatar_MustacheShake.js.map +0 -1
  213. package/src/engine-components/AvatarLoader.ts +0 -264
  214. package/src/engine-components/avatar/AvatarBlink_Simple.ts +0 -70
  215. package/src/engine-components/avatar/AvatarEyeLook_Rotation.ts +0 -64
  216. package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +0 -140
  217. package/src/engine-components/avatar/Avatar_MouthShapes.ts +0 -84
  218. package/src/engine-components/avatar/Avatar_MustacheShake.ts +0 -32
@@ -6,8 +6,11 @@ import { isDevEnvironment } from './debug/index.js';
6
6
  import { Telemetry } from './engine_license.js';
7
7
  import { PeerNetworking } from './engine_networking_peer.js';
8
8
  import { SendQueue } from './engine_networking_types.js';
9
+ import { WebsocketTransport } from './engine_networking.transport.websocket.js';
9
10
  import { isHostedOnGlitch } from './engine_networking_utils.js';
10
11
  import * as utils from "./engine_utils.js";
12
+ /** @internal Symbol used to attach the original callback to unsubscribe functions returned by beginListen/beginListenBinary */
13
+ const $originalCallback = Symbol("originalCallback");
11
14
  export const debugNet = utils.getParam("debugnet") ? true : false;
12
15
  export const debugOwner = debugNet || utils.getParam("debugowner") ? true : false;
13
16
  const debugnetBin = utils.getParam("debugnetbin");
@@ -442,8 +445,7 @@ export class NetworkConnection {
442
445
  * The current server url that the networking backend is connected to (e.g. the url of the websocket server)
443
446
  */
444
447
  get currentServerUrl() {
445
- // @ts-ignore (in ts-websocket 2.x this property is exposed)
446
- return this._ws?.url ?? null;
448
+ return this._transport?.url ?? null;
447
449
  }
448
450
  /** A ping is sent to the server at a regular interval while the browser tab is active. This method can be used to send additional ping messages when needed so that the user doesn't get disconnected from the networking backend */
449
451
  sendPing() {
@@ -494,20 +496,11 @@ export class NetworkConnection {
494
496
  this.send(RoomEvents.Leave, { room: room });
495
497
  return true;
496
498
  }
497
- send(key, data = null, queue = SendQueue.Queued) {
498
- //@ts-ignore
499
- if (data === null)
500
- data = {};
499
+ send(key, data, queue = SendQueue.Queued) {
501
500
  if (queue === SendQueue.Queued) {
502
501
  this._defaultMessagesBuffer.push({ key: key, value: data });
503
502
  return;
504
503
  }
505
- // if (!this.connected) return;
506
- // if (this.channelId)
507
- // data["__id"] = this.channelId;
508
- // else if (this.connectionId)
509
- // data["__id"] = this.connectionId;
510
- // this.sendGeckosIo(key, data);
511
504
  return this.sendWithWebsocket(key, data, queue);
512
505
  }
513
506
  /**
@@ -535,12 +528,12 @@ export class NetworkConnection {
535
528
  sendBinary(bin) {
536
529
  if (debugnetBin)
537
530
  console.log("<< send binary", this.context.time.frame, (bin.length / 1024) + " KB");
538
- this._ws?.send(bin);
531
+ this._transport?.send(bin);
539
532
  }
540
533
  _defaultMessagesBuffer = [];
541
534
  _defaultMessagesBufferArray = [];
542
535
  sendBufferedMessagesNow() {
543
- if (!this._ws)
536
+ if (!this._transport)
544
537
  return;
545
538
  this._defaultMessagesBufferArray.length = 0;
546
539
  const count = Object.keys(this._defaultMessagesBuffer).length;
@@ -560,31 +553,42 @@ export class NetworkConnection {
560
553
  if (this._defaultMessagesBufferArray.length <= 0)
561
554
  return;
562
555
  const message = JSON.stringify(this._defaultMessagesBufferArray);
563
- this._ws?.send(message);
556
+ this._transport?.send(message);
564
557
  }
565
558
  /** Use to start listening to networking events.
566
- * To unsubscribe from events use the `{@link stopListen}` method.
559
+ * Returns an unsubscribe function that removes the listener when called.
560
+ * The returned function can also be passed to {@link stopListen} or {@link Component.autoCleanup} for automatic lifecycle management.
567
561
  *
568
- * @example Custom event example
562
+ * @example With autoCleanup (recommended)
569
563
  * ```ts
570
- * // Listen to a custom event sent by the server
571
- * this.context.connection.beginListen<MyDataType>("my-custom-event", (data) => {
572
- * console.log("Received custom event:", data);
573
- * });
564
+ * export class MyComponent extends Behaviour {
565
+ * onEnable() {
566
+ * this.autoCleanup(this.context.connection.beginListen("joined-room", () => {
567
+ * console.log("I joined a networked room");
568
+ * }));
569
+ * }
570
+ * // Automatically unsubscribed on disable — no manual cleanup needed!
571
+ * }
574
572
  * ```
575
573
  *
576
- * @example Listening to room events
574
+ * @example Manual unsubscribe
575
+ * ```ts
576
+ * const unsub = this.context.connection.beginListen("joined-room", () => { });
577
+ * // Later:
578
+ * unsub(); // removes the listener
579
+ * ```
580
+ *
581
+ * @example With stopListen (legacy pattern, still supported)
577
582
  * ```ts
578
- * // Make sure to unsubscribe from events when the component is disabled
579
583
  * export class MyComponent extends Behaviour {
580
584
  * onEnable() {
581
- * this.connection.beginListen("joined-room", this.onJoinedRoom)
585
+ * this.context.connection.beginListen("joined-room", this.onJoinedRoom);
582
586
  * }
583
587
  * onDisable() {
584
- * this.connection.stopListen("joined-room", this.onJoinedRoom)
588
+ * this.context.connection.stopListen("joined-room", this.onJoinedRoom);
585
589
  * }
586
590
  * onJoinedRoom = () => {
587
- * console.log("I joined a networked room")
591
+ * console.log("I joined a networked room");
588
592
  * }
589
593
  * }
590
594
  * ```
@@ -595,33 +599,62 @@ export class NetworkConnection {
595
599
  if (!this._listeners[key])
596
600
  this._listeners[key] = [];
597
601
  this._listeners[key].push(callback);
598
- // TODO: for a breaking change it would be easier to return a function to unsubscribe directly
599
- return callback;
602
+ const unsub = () => this.stopListen(key, callback);
603
+ unsub[$originalCallback] = callback;
604
+ return unsub;
600
605
  }
601
606
  /**@deprecated please use stopListen instead (2.65.2-pre) */
602
607
  stopListening(key, callback) { return this.stopListen(key, callback); }
608
+ /** Use to stop listening to networking events.
609
+ * Accepts either the original callback or the unsubscribe function returned by {@link beginListen}.
610
+ * To subscribe to events use the `{@link beginListen}` method.
611
+ *
612
+ * @example
613
+ * ```ts
614
+ * // Both patterns work:
615
+ * this.context.connection.stopListen("joined-room", this.onJoinedRoom); // original callback
616
+ * this.context.connection.stopListen("joined-room", unsub); // unsubscribe fn from beginListen
617
+ * ```
618
+ */
619
+ static _didLogStopListenHint = false;
603
620
  stopListen(key, callback) {
604
621
  if (!callback)
605
622
  return;
606
623
  if (!this._listeners[key])
607
624
  return;
608
- const index = this._listeners[key].indexOf(callback);
625
+ // Backwards compat: if an unsubscribe function returned by beginListen was passed to stopListen,
626
+ // resolve it to the original callback via symbol so the listener can be found and removed.
627
+ const original = callback[$originalCallback] ?? callback;
628
+ if (original !== callback && isDevEnvironment() && !NetworkConnection._didLogStopListenHint) {
629
+ NetworkConnection._didLogStopListenHint = true;
630
+ console.warn("[Needle Engine] Tip: beginListen() returns an unsubscribe function — you can call it directly instead of using stopListen().");
631
+ }
632
+ const index = this._listeners[key].indexOf(original);
609
633
  if (index >= 0) {
610
634
  this._listeners[key].splice(index, 1);
611
635
  }
612
636
  }
613
- /** Use to start listening to networking binary events */
637
+ /** Use to start listening to networking binary events.
638
+ * Returns an unsubscribe function that removes the listener when called.
639
+ * The returned function can also be passed to {@link stopListenBinary} or {@link Component.autoCleanup}.
640
+ */
614
641
  beginListenBinary(identifier, callback) {
615
642
  if (!this._listenersBinary[identifier])
616
643
  this._listenersBinary[identifier] = [];
617
644
  this._listenersBinary[identifier].push(callback);
618
- return callback;
645
+ const unsub = () => this.stopListenBinary(identifier, callback);
646
+ unsub[$originalCallback] = callback;
647
+ return unsub;
619
648
  }
620
- /** Use to stop listening to networking binary events */
649
+ /** Use to stop listening to networking binary events.
650
+ * Accepts either the original callback or the unsubscribe function returned by {@link beginListenBinary}.
651
+ */
621
652
  stopListenBinary(identifier, callback) {
622
653
  if (!this._listenersBinary[identifier])
623
654
  return;
624
- const index = this._listenersBinary[identifier].indexOf(callback);
655
+ // Backwards compat: resolve unsubscribe function to original callback via symbol
656
+ const original = callback?.[$originalCallback] ?? callback;
657
+ const index = this._listenersBinary[identifier].indexOf(original);
625
658
  if (index >= 0) {
626
659
  this._listenersBinary[identifier].splice(index, 1);
627
660
  }
@@ -635,14 +668,18 @@ export class NetworkConnection {
635
668
  }
636
669
  /** Used to connect to the networking server
637
670
  * @param url Optional url to connect to. If not provided, it will use the url from the registered `INetworkingWebsocketUrlProvider` or the default backend networking url. If you want to change the url after connecting, you need to disconnect first and then connect again with the new url.
671
+ * @param transport Optional custom transport to use instead of the default websocket. Useful for testing or alternative transports.
638
672
  */
639
- async connect(url) {
673
+ async connect(url, transport) {
640
674
  if (this.connected && url && url !== networkingServerUrl) {
641
675
  return Promise.reject("Can not connect to different server url. Please disconnect first.");
642
676
  }
643
677
  if (this.connected) {
644
678
  return Promise.resolve(true);
645
679
  }
680
+ if (transport) {
681
+ return this.connectTransport(transport);
682
+ }
646
683
  if (url)
647
684
  console.debug("Connecting to user provided url " + url);
648
685
  const overrideUrl = url || this.netWebSocketUrlProvider?.getWebsocketUrl();
@@ -657,10 +694,19 @@ export class NetworkConnection {
657
694
  ;
658
695
  /** Disconnect from the networking backend + reset internal state */
659
696
  disconnect() {
660
- this._ws?.close();
661
- this._ws = undefined;
697
+ if (this._transport) {
698
+ // Clear callbacks before closing so the onClose handler doesn't fire
699
+ this._transport.onOpen = null;
700
+ this._transport.onClose = null;
701
+ this._transport.onError = null;
702
+ this._transport.onMessage = null;
703
+ this._transport.close();
704
+ this._transport = undefined;
705
+ }
662
706
  networkingServerUrl = undefined;
663
- // Reset all state
707
+ // Reset all state synchronously so callers can rely on isConnected/isInRoom immediately
708
+ this.connected = false;
709
+ this._connectionId = null;
664
710
  this._currentRoomAllowEditing = true;
665
711
  this._currentRoomName = null;
666
712
  this._currentRoomViewId = null;
@@ -668,14 +714,23 @@ export class NetworkConnection {
668
714
  this._currentInRoom.length = 0;
669
715
  this._state = {};
670
716
  this._currentDelay = -1;
717
+ this._connectingToWebsocketPromise = null;
718
+ }
719
+ /** Full teardown: disconnect, clear all listeners, and release all resources.
720
+ * Called when the owning Context is destroyed. After dispose(), this instance should not be reused. */
721
+ dispose() {
722
+ this.disconnect();
723
+ this._listeners = {};
724
+ this._listenersBinary = {};
725
+ this._waitingForSocket = {};
726
+ this._peer = null;
671
727
  }
672
728
  _listeners = {};
673
729
  _listenersBinary = {};
674
730
  connected = false;
675
- channelId;
676
731
  _connectionId = null;
677
- // Websocket ------------------------------------------------------------
678
- _ws;
732
+ // Transport ------------------------------------------------------------
733
+ _transport;
679
734
  _waitingForSocket = {};
680
735
  _isInRoom = false;
681
736
  _currentRoomName = null;
@@ -685,10 +740,11 @@ export class NetworkConnection {
685
740
  _state = {};
686
741
  _currentDelay = -1;
687
742
  _connectingToWebsocketPromise = null;
688
- connectWebsocket() {
743
+ /** Wire up a transport's event callbacks and start it */
744
+ connectTransport(transport) {
689
745
  if (this._connectingToWebsocketPromise)
690
746
  return this._connectingToWebsocketPromise;
691
- return this._connectingToWebsocketPromise = new Promise(async (res, _) => {
747
+ return this._connectingToWebsocketPromise = new Promise((res) => {
692
748
  let didResolve = false;
693
749
  const resolve = (val) => {
694
750
  if (didResolve)
@@ -696,63 +752,57 @@ export class NetworkConnection {
696
752
  didResolve = true;
697
753
  res(val);
698
754
  };
699
- if (networkingServerUrl === undefined) {
700
- console.log("Fetch default backend url: " + defaultNetworkingBackendUrlProvider);
701
- const failed = false;
702
- const defaultUrlResponse = await fetch(defaultNetworkingBackendUrlProvider);
703
- networkingServerUrl = await defaultUrlResponse.text();
704
- if (failed)
705
- return;
706
- }
707
- if (networkingServerUrl === undefined) {
708
- resolve(false);
709
- return;
710
- }
711
- console.debug("Connecting to networking backend on\n" + networkingServerUrl);
712
- const pkg = await import('websocket-ts');
713
- // @ts-ignore
714
- const WebsocketBuilder = pkg.default?.WebsocketBuilder ?? pkg.WebsocketBuilder;
715
- const ExponentialBackoff = pkg.default?.ExponentialBackoff ?? pkg.ExponentialBackoff;
716
- const ws = new WebsocketBuilder(networkingServerUrl)
717
- .withMaxRetries(10)
718
- .withBackoff(new ExponentialBackoff(2000, 4))
719
- .onOpen(() => {
755
+ transport.onOpen = () => {
720
756
  this._connectingToWebsocketPromise = null;
721
- this._ws = ws;
757
+ this._transport = transport;
722
758
  this.connected = true;
723
759
  if (isDevEnvironment() || debugNet)
724
- console.log("Connected to networking backend\n" + networkingServerUrl);
760
+ console.log("Connected to networking backend\n" + (transport.url ?? ""));
725
761
  else
726
- console.debug("Connected to networking backend", networkingServerUrl);
762
+ console.debug("Connected to networking backend", transport.url ?? "");
727
763
  resolve(true);
728
764
  this.onSendQueued(SendQueue.OnConnection);
729
- })
730
- .onClose((_evt) => {
765
+ };
766
+ transport.onClose = () => {
731
767
  this._connectingToWebsocketPromise = null;
732
768
  this.connected = false;
733
769
  this._isInRoom = false;
734
770
  resolve(false);
735
771
  let msg = "Websocket connection closed...";
736
- if (!networkingServerUrl?.includes("/socket"))
737
- msg += ` Do you perhaps mean to connect to \"/socket\"?`;
772
+ if (!transport.url?.includes("/socket"))
773
+ msg += ` Do you perhaps mean to connect to "/socket"?`;
738
774
  console.error(msg);
739
- })
740
- .onError((_e) => {
775
+ };
776
+ transport.onError = () => {
741
777
  console.error("Websocket connection failed...");
742
778
  resolve(false);
743
779
  Telemetry.sendEvent(this.context, "networking", {
744
780
  event: "connection_error",
745
781
  });
746
- })
747
- .onRetry(() => { console.log("Retry connecting to networking websocket"); })
748
- .build();
749
- ws.addEventListener(pkg.WebsocketEvent.message, (socket, msg) => {
750
- this.onMessage(socket, msg);
751
- });
782
+ };
783
+ transport.onMessage = (data) => {
784
+ this.onMessage(data);
785
+ };
786
+ transport.start();
752
787
  });
753
788
  }
754
- onMessage(_, ev) {
755
- const msg = ev.data;
789
+ async connectWebsocket() {
790
+ if (this._connectingToWebsocketPromise)
791
+ return this._connectingToWebsocketPromise;
792
+ if (networkingServerUrl === undefined) {
793
+ console.log("Fetch default backend url: " + defaultNetworkingBackendUrlProvider);
794
+ const defaultUrlResponse = await fetch(defaultNetworkingBackendUrlProvider);
795
+ networkingServerUrl = await defaultUrlResponse.text();
796
+ }
797
+ if (networkingServerUrl === undefined) {
798
+ return false;
799
+ }
800
+ console.debug("Connecting to networking backend on\n" + networkingServerUrl);
801
+ const transport = new WebsocketTransport(networkingServerUrl);
802
+ return this.connectTransport(transport);
803
+ }
804
+ onMessage(data) {
805
+ const msg = data;
756
806
  try {
757
807
  if (typeof msg !== "string") {
758
808
  if (msg.size) {
@@ -927,7 +977,7 @@ export class NetworkConnection {
927
977
  }
928
978
  sendWithWebsocket(key, data, queue = SendQueue.OnRoomJoin) {
929
979
  // console.log(key);
930
- if (!this._ws) {
980
+ if (!this._transport) {
931
981
  const arr = this._waitingForSocket[queue] || [];
932
982
  arr.push(() => this.sendWithWebsocket(key, data, queue));
933
983
  this._waitingForSocket[queue] = arr;
@@ -937,7 +987,7 @@ export class NetworkConnection {
937
987
  const str = JSON.stringify(this.toMessage(key, data));
938
988
  if (debugNet)
939
989
  console.log(">>", key);
940
- this._ws.send(str);
990
+ this._transport.send(str);
941
991
  }
942
992
  onSendQueued(queue) {
943
993
  const queued = this._waitingForSocket[queue];
@@ -1 +1 @@
1
- {"version":3,"file":"engine_networking.js","sourceRoot":"","sources":["../../src/engine/engine_networking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_networking.js","sourceRoot":"","sources":["../../src/engine/engine_networking.ts"],"names":[],"mappings":"AAAA,MAAM,mCAAmC,GAAG,4DAA4D,CAAC;AACzG,IAAI,mBAAmB,GAAuB,wCAAwC,CAAC;AAEvF,OAAO,KAAK,WAAW,MAAM,aAAa,CAAC;AAI3C,OAAO,KAAK,OAAO,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAgE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACvH,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAE3C,+HAA+H;AAC/H,MAAM,iBAAiB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAClE,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAClF,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAgBlD,iFAAiF;AACjF,MAAM,CAAN,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IACxB,4DAAwC,CAAA;AAC5C,CAAC,EAFW,gBAAgB,KAAhB,gBAAgB,QAE3B;AAED;;;KAGK;AACL,MAAM,CAAN,IAAY,UAeX;AAfD,WAAY,UAAU;IAClB,kEAAkE;IAClE,gCAAkB,CAAA;IAClB,mEAAmE;IACnE,kCAAoB,CAAA;IACpB,sDAAsD;IACtD,wCAA0B,CAAA;IAC1B,oDAAoD;IACpD,oCAAsB,CAAA;IACtB,sDAAsD;IACtD,iDAAmC,CAAA;IACnC,oDAAoD;IACpD,6CAA+B,CAAA;IAC/B,gIAAgI;IAChI,+CAAiC,CAAA;AACrC,CAAC,EAfW,UAAU,KAAV,UAAU,QAerB;AACD,+DAA+D;AAC/D,MAAM,OAAO,kBAAkB;IAC3B,IAAI,CAAU,CAAC,YAAY;IAC3B,MAAM,CAAU;IAChB,YAAY,CAAW;IACvB,MAAM,CAAY,CAAC,iBAAiB;CACvC;AAED,MAAM,OAAO,gBAAgB;IACzB,IAAI,CAAU,CAAC,YAAY;CAC9B;AAED,MAAM,OAAO,yBAAyB;IAClC,MAAM,CAAU;CACnB;AAED;;;mHAGmH;AACnH,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACtB,uDAAqC,CAAA;IACrC,yDAAuC,CAAA;IACvC,qDAAmC,CAAA;IACnC,uDAAqC,CAAA;IACrC,wDAAsC,CAAA;IACtC,sDAAoC,CAAA;IACpC,sDAAoC,CAAA;IACpC,kDAAgC,CAAA;IAChC,yEAAuD,CAAA;IACvD,qEAAmD,CAAA;AACvD,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AA+CD,yBAAyB;AACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,OAAO,cAAc;IAEvB,8EAA8E;IACvE,IAAI,CAAS;IACZ,UAAU,CAAoB;IAEtC;;;OAGG;IACH,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,+CAA+C;IAE/C;;;OAGG;IACH,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IACvC,CAAC;IAEO,aAAa,GAAY,KAAK,CAAC;IAC/B,QAAQ,GAAwB,SAAS,CAAC;IAC1C,iBAAiB,CAAuD;IACxE,iBAAiB,CAAyB;IAC1C,iBAAiB,CAAwC;IACzD,wBAAwB,GAAsC,IAAI,CAAC;IAE3E,YAAY,UAA6B,EAAE,IAAY;QACnD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7E,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,wBAAwB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAExF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACpF,CAAC;IAEO,sCAAsC,GAAmD,IAAI,CAAC;IAEtG;;;OAGG;IACI,aAAa;QAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAEO,kBAAkB,CAAC,GAAsB;QAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;QAC9B,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,0BAA0B;QAC7B,IAAI,IAAI,CAAC,sCAAsC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACtE,IAAI,CAAC,sCAAsC,GAAG,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAC1G,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,kCAAkC,CAAC,GAAsB;QAC7D,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,sCAAsC,EAAE,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,sCAAsC,CAAC,CAAC;gBACzG,IAAI,CAAC,sCAAsC,GAAG,IAAI,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,UAAU;oBACV,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC;IACL,CAAC;IAID;;;;;;;;;;;OAWG;IACH;;;;;OAKG;IACI,gBAAgB;QACnB,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAErD,sCAAsC;QACtC,IAAI,CAAC,wBAAwB,EAAE,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QAErC,IAAI,UAAU;YAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC;YAExC,2BAA2B;YAC3B,UAAU,CAAC,GAAG,EAAE;gBACZ,IAAI,IAAI,CAAC,wBAAwB,KAAK,OAAO,EAAE,CAAC;oBAC5C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;oBACrC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC;YACL,CAAC,EAAE,IAAI,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,qBAAqB;QAC9B,IAAI,UAAU;YAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,aAAa;QAChB,2CAA2C;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,sCAAsC,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACzG,IAAI,CAAC,sCAAsC,GAAG,IAAI,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,OAAO;QACV,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACpF,IAAI,IAAI,CAAC,sCAAsC,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACzG,IAAI,CAAC,sCAAsC,GAAG,IAAI,CAAC;QACvD,CAAC;QACD,qCAAqC;QACrC,IAAI,CAAC,wBAAwB,EAAE,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACzC,CAAC;IAEO,iBAAiB,CAAC,GAAqC;QAC3D,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC7C,IAAI,UAAU;oBACV,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,oCAAoC;gBACpC,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBAChC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;oBACpC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;gBACzC,CAAC;YACL,CAAC;;gBACI,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QACpC,CAAC;IACL,CAAC;IACO,eAAe,CAAC,IAAY;QAChC,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,UAAU;gBACV,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YAC5C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,8CAA8C;YAC9C,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAChC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBACrC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACzC,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,OAAO,iBAAiB;IAElB,OAAO,CAAU;IACjB,KAAK,GAA0B,IAAI,CAAC;IAE5C,YAAY,OAAgB;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,0CAA0C;IAC1C,IAAW,IAAI;QACX,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,WAAW,CAAC,IAAY;QAC3B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,yGAAyG;IACzG,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QACrB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,8DAA8D;IAC9D,IAAW,eAAe,KAAoB,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC7E,oKAAoK;IACpK,IAAW,YAAY,KAAc,OAAO,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC5E;;OAEG;IACH,IAAW,iBAAiB,KAAoB,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACjF;;;;OAIG;IACI,cAAc;QACjB,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC,IAAI,CAAC;IACpB,CAAC;IAED,mGAAmG;IACnG,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,oDAAoD;IACpD,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,IAAI,CAAC;IACxC,CAAC;IAED,qOAAqO;IAC9N,QAAQ;QACX,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,wEAAwE;IACjE,YAAY,CAAC,EAAU;QAC1B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IAEO,gBAAgB,GAAG,EAAE,CAAC;IAC9B,yDAAyD;IAClD,WAAW,CAAC,SAA0B,IAAI;QAC7C,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC5C,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc;YAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,qIAAqI;IAC9H,QAAQ,CAAC,IAAY,EAAE,WAAoB,KAAK;QACnD,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,CAAC,KAAK,CAAC,qCAAqC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;YACnE,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,4DAA4D;QAC5D,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,sCAAsC,GAAG,IAAI,GAAG,oCAAoC,CAAC,CAAC;YACpG,OAAO,KAAK,CAAC;QACjB,CAAC;aACI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,wGAAwG,CAAC,CAAC;QAC3H,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,IAAI,QAAQ;YACR,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oKAAoK;IAC7J,SAAS,CAAC,OAAsB,IAAI;QACvC,IAAI,CAAC,IAAI;YAAE,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,CAAC,KAAK,CAAC,qCAAqC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;YACnE,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAQM,IAAI,CAAC,GAAW,EAAE,IAAwB,EAAE,QAAmB,SAAS,CAAC,MAAM;QAElF,IAAI,KAAK,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,OAAO;QACX,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;OAWG;IACI,qBAAqB,CAAC,IAAY;QACrC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,4EAA4E;IACrE,wBAAwB;QAC3B,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,+EAA+E;IACxE,UAAU,CAAC,GAAe;QAC7B,IAAI,WAAW;YAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACrG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAEO,sBAAsB,GAAuC,EAAE,CAAC;IAChE,2BAA2B,GAAsC,EAAE,CAAC;IACrE,uBAAuB;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,IAAI,CAAC,2BAA2B,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC;QAC9D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;YAC9C,wEAAwE;YACxE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACb,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;gBAClE,MAAM;YACV,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,2BAA2B,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ;YACvD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,2BAA2B,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuCE;IACK,WAAW,CACd,GAAM,EACN,QAAyF;QAEzF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAe,CAAC,CAAC;QACzD,KAAa,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC;QAC7C,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,4DAA4D;IACrD,aAAa,CAChB,GAAM,EACN,QAAkG,IAClG,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAe,CAAC,CAAC,CAAC,CAAC;IAEnD;;;;;;;;;;OAUG;IACK,MAAM,CAAC,qBAAqB,GAAG,KAAK,CAAC;IAKtC,UAAU,CAAC,GAAW,EAAE,QAAyB;QACpD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO;QAClC,iGAAiG;QACjG,2FAA2F;QAC3F,MAAM,QAAQ,GAAI,QAAgB,CAAC,iBAAiB,CAAC,IAAI,QAAQ,CAAC;QAClE,IAAI,QAAQ,KAAK,QAAQ,IAAI,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC1F,iBAAiB,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,8HAA8H,CAAC,CAAC;QACjJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,UAAkB,EAAE,QAAwB;QACjE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/D,KAAa,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC;QAC7C,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,UAAkB,EAAE,QAAa;QACrD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;YAAE,OAAO;QAC/C,iFAAiF;QACjF,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC,iBAAiB,CAAC,IAAI,QAAQ,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACb,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAEO,uBAAuB,CAAmC;IAElE;;QAEI;IACG,gBAAgB,CAAC,IAAqC;QACzD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACxC,CAAC;IAED;;;MAGE;IACK,KAAK,CAAC,OAAO,CAAC,GAAY,EAAE,SAA6B;QAC5D,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;YACvD,OAAO,OAAO,CAAC,MAAM,CAAC,mEAAmE,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,GAAG;YACH,OAAO,CAAC,KAAK,CAAC,kCAAkC,GAAG,GAAG,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,GAAG,IAAI,IAAI,CAAC,uBAAuB,EAAE,eAAe,EAAE,CAAC;QAC3E,IAAI,WAAW,EAAE,CAAC;YACd,mBAAmB,GAAG,WAAW,CAAC;QACtC,CAAC;aACI,IAAI,gBAAgB,EAAE,EAAE,CAAC;YAC1B,mBAAmB,GAAG,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;QACtE,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACnC,CAAC;IAAA,CAAC;IAEF,oEAAoE;IAC7D,UAAU;QACb,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,qEAAqE;YACrE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAChC,CAAC;QACD,mBAAmB,GAAG,SAAS,CAAC;QAEhC,wFAAwF;QACxF,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;IAC9C,CAAC;IAED;2GACuG;IAChG,OAAO;QACV,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAEO,UAAU,GAAkC,EAAE,CAAC;IAC/C,gBAAgB,GAAwC,EAAE,CAAC;IAC3D,SAAS,GAAY,KAAK,CAAC;IAC3B,aAAa,GAAkB,IAAI,CAAC;IAE5C,yEAAyE;IACjE,UAAU,CAAgC;IAC1C,iBAAiB,GAAuC,EAAE,CAAC;IAC3D,SAAS,GAAY,KAAK,CAAC;IAC3B,gBAAgB,GAAkB,IAAI,CAAC;IACvC,kBAAkB,GAAkB,IAAI,CAAC;IACzC,wBAAwB,GAAY,IAAI,CAAC;IACzC,cAAc,GAAa,EAAE,CAAC;IAC9B,MAAM,GAA2B,EAAE,CAAC;IACpC,aAAa,GAAW,CAAC,CAAC,CAAC;IAE3B,6BAA6B,GAA4B,IAAI,CAAC;IAEtE,yDAAyD;IACjD,gBAAgB,CAAC,SAA4B;QACjD,IAAI,IAAI,CAAC,6BAA6B;YAAE,OAAO,IAAI,CAAC,6BAA6B,CAAC;QAClF,OAAO,IAAI,CAAC,6BAA6B,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5D,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,MAAM,OAAO,GAAG,CAAC,GAAY,EAAE,EAAE;gBAC7B,IAAI,UAAU;oBAAE,OAAO;gBACvB,UAAU,GAAG,IAAI,CAAC;gBAClB,GAAG,CAAC,GAAG,CAAC,CAAC;YACb,CAAC,CAAC;YAEF,SAAS,CAAC,MAAM,GAAG,GAAG,EAAE;gBACpB,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;gBAC1C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,gBAAgB,EAAE,IAAI,QAAQ;oBAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;;oBACxG,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC3E,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC,CAAC;YACF,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;gBACrB,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;gBAC1C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,IAAI,GAAG,GAAG,gCAAgC,CAAC;gBAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC;oBAAE,GAAG,IAAI,+CAA+C,CAAC;gBAChG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC;YACF,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;gBACrB,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBAChD,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE;oBAC5C,KAAK,EAAE,kBAAkB;iBAC5B,CAAC,CAAC;YACP,CAAC,CAAC;YACF,SAAS,CAAC,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE;gBAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC;YAEF,SAAS,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC1B,IAAI,IAAI,CAAC,6BAA6B;YAAE,OAAO,IAAI,CAAC,6BAA6B,CAAC;QAElF,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,mCAAmC,CAAC,CAAC;YACjF,MAAM,kBAAkB,GAAG,MAAM,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAC5E,mBAAmB,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,CAAC;QAC1D,CAAC;QAED,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,uCAAuC,GAAG,mBAAmB,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAEO,SAAS,CAAC,IAAmB;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC;YACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC1B,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;oBACX,iBAAiB;oBACjB,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;gBAC1C,CAAC;gBACD,OAAO;YACX,CAAC;YACD,MAAM,OAAO,GAA+C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,oEAAoE;gBACpE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;oBACxB,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;gBAC1C,CAAC;YACL,CAAC;;gBACI,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO;QACX,CAAC;QACD,OAAO,GAAG,EAAE,CAAC;YACT,IAAI,QAAQ,IAAI,GAAG,KAAK,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;iBAClD,IAAI,gBAAgB,EAAE;gBAAE,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,IAAU;QAChD,IAAI,WAAW;YAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC5C,0EAA0E;QAC1E,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,yDAAyD;QAChF,gDAAgD;QAChD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YACzB,EAAE,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;IAEO,2BAA2B,CAAC,OAAyB;QAEzD,IAAI,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC;gBAClB,KAAK,gBAAgB,CAAC,cAAc;oBAChC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;wBACf,MAAM,UAAU,GAAG,OAAO,CAAC,IAAuB,CAAC;wBACnD,IAAI,UAAU,EAAE,CAAC;4BACb,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,SAAS,IAAI,UAAU,CAAC,EAAE,KAAK,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,EAC5F,mCAAmC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;4BACxD,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;4BACxE,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,EAAE,CAAC;4BACnC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE;gCAC5C,KAAK,EAAE,WAAW;6BACrB,CAAC,CAAC;wBACP,CAAC;oBACL,CAAC;;wBACI,OAAO,CAAC,IAAI,CAAC,4BAA4B,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC9D,MAAM;gBACV,KAAK,UAAU,CAAC,UAAU;oBACtB,IAAI,QAAQ;wBACR,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACzB,IAAI,OAAO,EAAE,CAAC;wBACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM,KAAK,GAAG,OAAwC,CAAC;wBACvD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC;wBACnC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC;wBACvC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC;wBAE3D,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC1C,IAAI,WAAW,IAAI,gBAAgB,EAAE;4BAAE,OAAO,CAAC,KAAK,CAAC,6BAA6B,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;wBAEjG,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAC9C,IAAI,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;4BACnC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACxC,CAAC;wBACD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;wBAC1D,OAAO,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,kBAAkB,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC/E,CAAC;oBAED,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;oBACxC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE;wBAC5C,KAAK,EAAE,aAAa;wBACpB,IAAI,EAAE,IAAI,CAAC,gBAAgB;qBAC9B,CAAC,CAAC;oBACH,MAAM;gBAEV,KAAK,UAAU,CAAC,QAAQ;oBACpB,MAAM,KAAK,GAAG,OAAsC,CAAC;oBACrD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;wBACtC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;wBAC7B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;wBACrC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC/B,IAAI,WAAW,IAAI,gBAAgB,EAAE;4BAAE,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;oBACnG,CAAC;oBACD,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE;wBAC5C,KAAK,EAAE,WAAW;wBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;qBACnB,CAAC,CAAC;oBACH,MAAM;gBACV,KAAK,UAAU,CAAC,cAAc;oBAC1B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;wBACf,MAAM,KAAK,GAAG,OAAO,CAAC,IAA4C,CAAC;wBACnE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBACvC,IAAI,QAAQ;4BACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;oBACnF,CAAC;oBACD,MAAM;gBACV,KAAK,UAAU,CAAC,YAAY;oBACxB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;wBACf,MAAM,KAAK,GAAG,OAAO,CAAC,IAA4C,CAAC;wBACnE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBACxD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;4BACb,IAAI,QAAQ;gCACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;4BAC7E,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;wBACzC,CAAC;wBACD,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;4BACrC,oBAAoB;4BACpB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;wBACrC,CAAC;oBACL,CAAC;oBACD,MAAM;gBAEV,KAAK,wBAAwB;oBACzB,IAAI,QAAQ;wBAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;oBAC7D,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;oBACjB,MAAM;gBAEV,KAAK,MAAM,CAAC;gBACZ,KAAK,MAAM;oBACP,MAAM,IAAI,GAAI,OAAe,CAAC,IAAI,EAAE,IAAI,CAAC;oBACzC,IAAI,IAAI,EAAE,CAAC;wBACP,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBACvD,CAAC;oBACD,IAAI,QAAQ;wBACR,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;oBACnI,MAAM;YACd,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAc,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACpC,CAAC;QAED,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,SAAS,EAAE,CAAC;YACZ,qEAAqE;YACrE,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;YAC3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;gBACD,OAAO,GAAG,EAAE,CAAC;oBACT,OAAO,CAAC,KAAK,CAAC,gCAAgC,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC9E,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,GAAW,EAAE,IAAS;QACpC,OAAO;YACH,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,IAAI;SACb,CAAC;IACN,CAAC;IAEO,iBAAiB,CAAC,GAAW,EAAE,IAAmC,EAAE,QAAmB,SAAS,CAAC,UAAU;QAC/G,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChD,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;YACpC,sCAAsC;YACtC,OAAO;QACX,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEO,YAAY,CAAC,KAAgB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC7C,sCAAsC;QACtC,IAAI,MAAM,EAAE,CAAC;YACT,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;gBAC5B,QAAQ,EAAE,CAAC;YACf,CAAC;YACD,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,CAAC;IACL,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { INetworkTransport } from './engine_networking_types.js';
2
+ /** Default transport that wraps the `websocket-ts` library */
3
+ export declare class WebsocketTransport implements INetworkTransport {
4
+ private _url;
5
+ private _ws;
6
+ onOpen: (() => void) | null;
7
+ onClose: (() => void) | null;
8
+ onError: ((err: any) => void) | null;
9
+ onMessage: ((data: string | Blob) => void) | null;
10
+ get url(): string;
11
+ constructor(url: string);
12
+ start(): Promise<void>;
13
+ send(data: string | Uint8Array): void;
14
+ close(): void;
15
+ }
@@ -0,0 +1,38 @@
1
+ /** Default transport that wraps the `websocket-ts` library */
2
+ export class WebsocketTransport {
3
+ _url;
4
+ _ws;
5
+ onOpen = null;
6
+ onClose = null;
7
+ onError = null;
8
+ onMessage = null;
9
+ get url() { return this._ws?.url ?? this._url; }
10
+ constructor(url) {
11
+ this._url = url;
12
+ }
13
+ async start() {
14
+ const pkg = await import('websocket-ts');
15
+ // @ts-ignore
16
+ const WebsocketBuilder = pkg.default?.WebsocketBuilder ?? pkg.WebsocketBuilder;
17
+ const ExponentialBackoff = pkg.default?.ExponentialBackoff ?? pkg.ExponentialBackoff;
18
+ const ws = new WebsocketBuilder(this._url)
19
+ .withMaxRetries(10)
20
+ .withBackoff(new ExponentialBackoff(2000, 4))
21
+ .onOpen(() => { this._ws = ws; this.onOpen?.(); })
22
+ .onClose(() => { this.onClose?.(); })
23
+ .onError(() => { this.onError?.(new Error("Websocket connection failed")); })
24
+ .onRetry(() => { console.log("Retry connecting to networking websocket"); })
25
+ .build();
26
+ ws.addEventListener(pkg.WebsocketEvent.message, (_, msg) => {
27
+ this.onMessage?.(msg.data);
28
+ });
29
+ }
30
+ send(data) {
31
+ this._ws?.send(data);
32
+ }
33
+ close() {
34
+ this._ws?.close();
35
+ this._ws = undefined;
36
+ }
37
+ }
38
+ //# sourceMappingURL=engine_networking.transport.websocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine_networking.transport.websocket.js","sourceRoot":"","sources":["../../src/engine/engine_networking.transport.websocket.ts"],"names":[],"mappings":"AAEA,8DAA8D;AAC9D,MAAM,OAAO,kBAAkB;IACnB,IAAI,CAAS;IACb,GAAG,CAA+C;IAE1D,MAAM,GAAwB,IAAI,CAAC;IACnC,OAAO,GAAwB,IAAI,CAAC;IACpC,OAAO,GAAgC,IAAI,CAAC;IAC5C,SAAS,GAA2C,IAAI,CAAC;IAEzD,IAAI,GAAG,KAAK,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhD,YAAY,GAAW;QACnB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACzC,aAAa;QACb,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,EAAE,gBAAgB,IAAI,GAAG,CAAC,gBAAgB,CAAC;QAC/E,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,EAAE,kBAAkB,IAAI,GAAG,CAAC,kBAAkB,CAAC;QACrF,MAAM,EAAE,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;aACrC,cAAc,CAAC,EAAE,CAAC;aAClB,WAAW,CAAC,IAAI,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;aAC5C,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;aACjD,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;aACpC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5E,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3E,KAAK,EAAE,CAAC;QACb,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACvD,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,IAAyB;QAC1B,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;IACzB,CAAC;CACJ"}
@@ -429,8 +429,8 @@ export function beginListenInstantiate(context) {
429
429
  syncedInstantiated.length = 0;
430
430
  });
431
431
  return () => {
432
- context.connection.stopListen(InstantiateEvent.NewInstanceCreated, cb1);
433
- context.connection.stopListen("left-room", cb2);
432
+ cb1();
433
+ cb2();
434
434
  };
435
435
  }
436
436
  function instantiateSeeded(obj, opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"engine_networking_instantiate.js","sourceRoot":"","sources":["../../src/engine/engine_networking_instantiate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_networking_instantiate.js","sourceRoot":"","sources":["../../src/engine/engine_networking_instantiate.ts"],"names":[],"mappings":"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"}