@needle-tools/engine 4.2.5 → 4.3.0-alpha.1

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 (121) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/components.needle.json +1 -1
  3. package/dist/needle-engine.bundle.js +4245 -2977
  4. package/dist/needle-engine.bundle.light.js +4236 -2968
  5. package/dist/needle-engine.bundle.light.min.js +73 -73
  6. package/dist/needle-engine.bundle.light.umd.cjs +61 -61
  7. package/dist/needle-engine.bundle.min.js +62 -62
  8. package/dist/needle-engine.bundle.umd.cjs +61 -61
  9. package/dist/needle-engine.light.d.ts +9 -9
  10. package/dist/three-examples.js +825 -794
  11. package/dist/three-examples.light.js +825 -794
  12. package/dist/three-examples.light.min.js +12 -12
  13. package/dist/three-examples.light.umd.cjs +10 -10
  14. package/dist/three-examples.min.js +12 -12
  15. package/dist/three-examples.umd.cjs +10 -10
  16. package/lib/engine/engine_addressables.d.ts +3 -0
  17. package/lib/engine/engine_addressables.js +18 -0
  18. package/lib/engine/engine_addressables.js.map +1 -1
  19. package/lib/engine/engine_input.d.ts +20 -1
  20. package/lib/engine/engine_input.js.map +1 -1
  21. package/lib/engine/engine_types.d.ts +162 -17
  22. package/lib/engine-components/Animator.d.ts +129 -21
  23. package/lib/engine-components/Animator.js +115 -21
  24. package/lib/engine-components/Animator.js.map +1 -1
  25. package/lib/engine-components/AnimatorController.d.ts +161 -32
  26. package/lib/engine-components/AnimatorController.js +176 -29
  27. package/lib/engine-components/AnimatorController.js.map +1 -1
  28. package/lib/engine-components/AudioListener.d.ts +16 -5
  29. package/lib/engine-components/AudioListener.js +16 -5
  30. package/lib/engine-components/AudioListener.js.map +1 -1
  31. package/lib/engine-components/AudioSource.d.ts +120 -28
  32. package/lib/engine-components/AudioSource.js +120 -37
  33. package/lib/engine-components/AudioSource.js.map +1 -1
  34. package/lib/engine-components/AvatarLoader.d.ts +61 -0
  35. package/lib/engine-components/AvatarLoader.js +61 -1
  36. package/lib/engine-components/AvatarLoader.js.map +1 -1
  37. package/lib/engine-components/AxesHelper.d.ts +19 -1
  38. package/lib/engine-components/AxesHelper.js +19 -1
  39. package/lib/engine-components/AxesHelper.js.map +1 -1
  40. package/lib/engine-components/BoxHelperComponent.d.ts +26 -0
  41. package/lib/engine-components/BoxHelperComponent.js +26 -0
  42. package/lib/engine-components/BoxHelperComponent.js.map +1 -1
  43. package/lib/engine-components/Camera.d.ts +126 -37
  44. package/lib/engine-components/Camera.js +139 -37
  45. package/lib/engine-components/Camera.js.map +1 -1
  46. package/lib/engine-components/CameraUtils.js +20 -0
  47. package/lib/engine-components/CameraUtils.js.map +1 -1
  48. package/lib/engine-components/Collider.d.ts +95 -21
  49. package/lib/engine-components/Collider.js +100 -23
  50. package/lib/engine-components/Collider.js.map +1 -1
  51. package/lib/engine-components/Component.d.ts +554 -106
  52. package/lib/engine-components/Component.js +352 -81
  53. package/lib/engine-components/Component.js.map +1 -1
  54. package/lib/engine-components/DragControls.d.ts +95 -21
  55. package/lib/engine-components/DragControls.js +126 -32
  56. package/lib/engine-components/DragControls.js.map +1 -1
  57. package/lib/engine-components/DropListener.d.ts +99 -16
  58. package/lib/engine-components/DropListener.js +119 -14
  59. package/lib/engine-components/DropListener.js.map +1 -1
  60. package/lib/engine-components/Light.d.ts +102 -5
  61. package/lib/engine-components/Light.js +102 -44
  62. package/lib/engine-components/Light.js.map +1 -1
  63. package/lib/engine-components/NeedleMenu.d.ts +28 -11
  64. package/lib/engine-components/NeedleMenu.js +28 -11
  65. package/lib/engine-components/NeedleMenu.js.map +1 -1
  66. package/lib/engine-components/Networking.d.ts +37 -5
  67. package/lib/engine-components/Networking.js +37 -5
  68. package/lib/engine-components/Networking.js.map +1 -1
  69. package/lib/engine-components/SceneSwitcher.d.ts +8 -0
  70. package/lib/engine-components/SceneSwitcher.js +72 -8
  71. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  72. package/lib/engine-components/SpatialTrigger.d.ts +66 -1
  73. package/lib/engine-components/SpatialTrigger.js +74 -2
  74. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  75. package/lib/engine-components/SpectatorCamera.d.ts +66 -4
  76. package/lib/engine-components/SpectatorCamera.js +132 -6
  77. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  78. package/lib/engine-components/SyncedTransform.d.ts +45 -6
  79. package/lib/engine-components/SyncedTransform.js +45 -6
  80. package/lib/engine-components/SyncedTransform.js.map +1 -1
  81. package/lib/engine-components/TransformGizmo.d.ts +49 -3
  82. package/lib/engine-components/TransformGizmo.js +49 -3
  83. package/lib/engine-components/TransformGizmo.js.map +1 -1
  84. package/lib/engine-components/ui/EventSystem.d.ts +1 -0
  85. package/lib/engine-components/ui/EventSystem.js +8 -5
  86. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  87. package/lib/engine-components/webxr/WebXR.d.ts +131 -22
  88. package/lib/engine-components/webxr/WebXR.js +132 -23
  89. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  90. package/lib/engine-components-experimental/networking/PlayerSync.d.ts +82 -9
  91. package/lib/engine-components-experimental/networking/PlayerSync.js +76 -11
  92. package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
  93. package/package.json +1 -1
  94. package/plugins/vite/alias.js +6 -3
  95. package/src/engine/engine_addressables.ts +21 -0
  96. package/src/engine/engine_input.ts +20 -1
  97. package/src/engine/engine_types.ts +179 -18
  98. package/src/engine-components/Animator.ts +142 -22
  99. package/src/engine-components/AnimatorController.ts +184 -34
  100. package/src/engine-components/AudioListener.ts +16 -5
  101. package/src/engine-components/AudioSource.ts +126 -37
  102. package/src/engine-components/AvatarLoader.ts +61 -2
  103. package/src/engine-components/AxesHelper.ts +21 -1
  104. package/src/engine-components/BoxHelperComponent.ts +26 -0
  105. package/src/engine-components/Camera.ts +147 -41
  106. package/src/engine-components/CameraUtils.ts +20 -0
  107. package/src/engine-components/Collider.ts +102 -27
  108. package/src/engine-components/Component.ts +605 -129
  109. package/src/engine-components/DragControls.ts +134 -38
  110. package/src/engine-components/DropListener.ts +143 -23
  111. package/src/engine-components/Light.ts +105 -44
  112. package/src/engine-components/NeedleMenu.ts +29 -11
  113. package/src/engine-components/Networking.ts +37 -6
  114. package/src/engine-components/SceneSwitcher.ts +78 -9
  115. package/src/engine-components/SpatialTrigger.ts +80 -3
  116. package/src/engine-components/SpectatorCamera.ts +136 -18
  117. package/src/engine-components/SyncedTransform.ts +50 -7
  118. package/src/engine-components/TransformGizmo.ts +49 -4
  119. package/src/engine-components/ui/EventSystem.ts +9 -7
  120. package/src/engine-components/webxr/WebXR.ts +144 -27
  121. package/src/engine-components-experimental/networking/PlayerSync.ts +85 -13
@@ -15,7 +15,12 @@ const debug = utils.getParam("debugsync");
15
15
  export const SyncedTransformIdentifier = "STRS";
16
16
  registerBinaryType(SyncedTransformIdentifier, SyncedTransformModel.getRootAsSyncedTransformModel);
17
17
  const builder = new flatbuffers.Builder();
18
- /** Creates a flatbuffer model containing the transform data of a game object. Used by {@link SyncedTransform}
18
+ /**
19
+ * Creates a flatbuffer model containing the transform data of a game object. Used by {@link SyncedTransform}
20
+ * @param guid The unique identifier of the object to sync
21
+ * @param b The behavior component containing transform data
22
+ * @param fast Whether to use fast mode synchronization (syncs more frequently)
23
+ * @returns A Uint8Array containing the serialized transform data
19
24
  */
20
25
  export function createTransformModel(guid, b, fast = true) {
21
26
  builder.clear();
@@ -44,16 +49,22 @@ onUpdate((ctx) => {
44
49
  console.log("Sync Transform Fast Interval", FAST_INTERVAL);
45
50
  });
46
51
  /**
47
- * SyncedTransform is a behaviour that syncs the transform of a game object over the network.
52
+ * SyncedTransform synchronizes the position and rotation of a game object over the network.
53
+ * It handles ownership transfer, interpolation, and network state updates automatically.
48
54
  * @category Networking
49
55
  * @group Components
50
56
  */
51
57
  export class SyncedTransform extends Behaviour {
52
58
  // public autoOwnership: boolean = true;
59
+ /** When true, overrides physics behavior when this object is owned by the local user */
53
60
  overridePhysics = true;
61
+ /** Whether to smoothly interpolate position changes when receiving updates */
54
62
  interpolatePosition = true;
63
+ /** Whether to smoothly interpolate rotation changes when receiving updates */
55
64
  interpolateRotation = true;
65
+ /** When true, sends updates at a higher frequency, useful for fast-moving objects */
56
66
  fastMode = false;
67
+ /** When true, notifies other clients when this object is destroyed */
57
68
  syncDestroy = false;
58
69
  // private _state!: SyncedTransformModel;
59
70
  _model = null;
@@ -65,7 +76,10 @@ export class SyncedTransform extends Behaviour {
65
76
  _targetRotation;
66
77
  _receivedFastUpdate = false;
67
78
  _shouldRequestOwnership = false;
68
- /** Request ownership of an object - you need to be connected to a room */
79
+ /**
80
+ * Requests ownership of this object on the network.
81
+ * You need to be connected to a room for this to work.
82
+ */
69
83
  requestOwnership() {
70
84
  if (debug)
71
85
  console.log("Request ownership");
@@ -76,9 +90,17 @@ export class SyncedTransform extends Behaviour {
76
90
  else
77
91
  this._model.requestOwnership();
78
92
  }
93
+ /**
94
+ * Checks if this client has ownership of the object
95
+ * @returns true if this client has ownership, false if not, undefined if ownership state is unknown
96
+ */
79
97
  hasOwnership() {
80
98
  return this._model?.hasOwnership ?? undefined;
81
99
  }
100
+ /**
101
+ * Checks if the object is owned by any client
102
+ * @returns true if the object is owned, false if not, undefined if ownership state is unknown
103
+ */
82
104
  isOwned() {
83
105
  return this._model?.isOwned;
84
106
  }
@@ -118,12 +140,19 @@ export class SyncedTransform extends Behaviour {
118
140
  this.context.connection.stopListen(RoomEvents.JoinedRoom, this.joinedRoomCallback);
119
141
  this.context.connection.stopListenBinary(SyncedTransformIdentifier, this.receivedDataCallback);
120
142
  }
143
+ /**
144
+ * Attempts to retrieve and apply the last known network state for this transform
145
+ */
121
146
  tryGetLastState() {
122
147
  const model = this.context.connection.tryGetState(this.guid);
123
148
  if (model)
124
149
  this.onReceivedData(model);
125
150
  }
126
151
  tempEuler = new Euler();
152
+ /**
153
+ * Handles incoming network data for this transform
154
+ * @param data The model containing transform information
155
+ */
127
156
  onReceivedData(data) {
128
157
  if (this.destroyed)
129
158
  return;
@@ -158,7 +187,10 @@ export class SyncedTransform extends Behaviour {
158
187
  // }
159
188
  }
160
189
  }
161
- /** @internal */
190
+ /**
191
+ * @internal
192
+ * Initializes tracking of position and rotation when component is enabled
193
+ */
162
194
  onEnable() {
163
195
  this.lastWorldPos.copy(this.worldPosition);
164
196
  this.lastWorldRotation.copy(this.worldQuaternion);
@@ -168,7 +200,10 @@ export class SyncedTransform extends Behaviour {
168
200
  this._model.updateIsOwned();
169
201
  }
170
202
  }
171
- /** @internal */
203
+ /**
204
+ * @internal
205
+ * Releases ownership when component is disabled
206
+ */
172
207
  onDisable() {
173
208
  if (this._model)
174
209
  this._model.freeOwnership();
@@ -176,7 +211,11 @@ export class SyncedTransform extends Behaviour {
176
211
  receivedUpdate = false;
177
212
  lastWorldPos;
178
213
  lastWorldRotation;
179
- /** @internal */
214
+ /**
215
+ * @internal
216
+ * Handles transform synchronization before each render frame
217
+ * Sends updates when owner, receives and applies updates when not owner
218
+ */
180
219
  onBeforeRender() {
181
220
  if (!this.activeAndEnabled || !this.context.connection.isConnected)
182
221
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"SyncedTransform.js","sourceRoot":"","sources":["../../src/engine-components/SyncedTransform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncedTransform.js","sourceRoot":"","sources":["../../src/engine-components/SyncedTransform.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,34 @@
1
1
  import { TransformControls } from "three/examples/jsm/controls/TransformControls.js";
2
2
  import { Behaviour } from "./Component.js";
3
3
  /**
4
- * TransformGizmo is a component that displays a gizmo for transforming the object in the scene.
4
+ * TransformGizmo displays manipulation controls for translating, rotating, and scaling objects in the scene.
5
+ * It wraps three.js {@link TransformControls} and provides keyboard shortcuts for changing modes and settings.
5
6
  * @category Helpers
6
7
  * @group Components
7
8
  */
8
9
  export declare class TransformGizmo extends Behaviour {
10
+ /**
11
+ * When true, this is considered a helper gizmo and will only be shown if showGizmos is enabled in engine parameters.
12
+ */
9
13
  isGizmo: boolean;
14
+ /**
15
+ * Specifies the translation grid snap value in world units.
16
+ * Applied when holding Shift while translating an object.
17
+ */
10
18
  translationSnap: number;
19
+ /**
20
+ * Specifies the rotation snap angle in degrees.
21
+ * Applied when holding Shift while rotating an object.
22
+ */
11
23
  rotationSnapAngle: number;
24
+ /**
25
+ * Specifies the scale snapping value.
26
+ * Applied when holding Shift while scaling an object.
27
+ */
12
28
  scaleSnap: number;
13
29
  /**
14
- * Get the underlying three.js TransformControls instance.
15
- * @returns The TransformControls instance.
30
+ * Gets the underlying three.js {@link TransformControls} instance.
31
+ * @returns The TransformControls instance or undefined if not initialized.
16
32
  */
17
33
  get control(): TransformControls | undefined;
18
34
  private _control?;
@@ -21,9 +37,39 @@ export declare class TransformGizmo extends Behaviour {
21
37
  onEnable(): void;
22
38
  /** @internal */
23
39
  onDisable(): void;
40
+ /**
41
+ * Enables grid snapping for transform operations according to set snap values.
42
+ * This applies the translationSnap, rotationSnapAngle, and scaleSnap properties to the controls.
43
+ */
24
44
  enableSnapping(): void;
45
+ /**
46
+ * Disables grid snapping for transform operations.
47
+ * Removes all snapping constraints from the transform controls.
48
+ */
25
49
  disableSnapping(): void;
50
+ /**
51
+ * Event handler for when dragging state changes.
52
+ * Disables orbit controls during dragging and requests ownership of the transform if it's synchronized.
53
+ * @param event The drag change event
54
+ */
26
55
  private onControlChangedEvent;
56
+ /**
57
+ * Handles keyboard shortcuts for transform operations:
58
+ * - Q: Toggle local/world space
59
+ * - W: Translation mode
60
+ * - E: Rotation mode
61
+ * - R: Scale mode
62
+ * - Shift: Enable snapping (while held)
63
+ * - +/-: Adjust gizmo size
64
+ * - X/Y/Z: Toggle visibility of respective axis
65
+ * - Spacebar: Toggle controls enabled state
66
+ * @param event The keyboard event
67
+ */
27
68
  private windowKeyDownListener;
69
+ /**
70
+ * Handles keyboard key release events.
71
+ * Currently only handles releasing Shift key to disable snapping.
72
+ * @param event The keyboard event
73
+ */
28
74
  private windowKeyUpListener;
29
75
  }
@@ -12,18 +12,34 @@ import { Behaviour, GameObject } from "./Component.js";
12
12
  import { OrbitControls } from "./OrbitControls.js";
13
13
  import { SyncedTransform } from "./SyncedTransform.js";
14
14
  /**
15
- * TransformGizmo is a component that displays a gizmo for transforming the object in the scene.
15
+ * TransformGizmo displays manipulation controls for translating, rotating, and scaling objects in the scene.
16
+ * It wraps three.js {@link TransformControls} and provides keyboard shortcuts for changing modes and settings.
16
17
  * @category Helpers
17
18
  * @group Components
18
19
  */
19
20
  export class TransformGizmo extends Behaviour {
21
+ /**
22
+ * When true, this is considered a helper gizmo and will only be shown if showGizmos is enabled in engine parameters.
23
+ */
20
24
  isGizmo = false;
25
+ /**
26
+ * Specifies the translation grid snap value in world units.
27
+ * Applied when holding Shift while translating an object.
28
+ */
21
29
  translationSnap = 1;
30
+ /**
31
+ * Specifies the rotation snap angle in degrees.
32
+ * Applied when holding Shift while rotating an object.
33
+ */
22
34
  rotationSnapAngle = 15;
35
+ /**
36
+ * Specifies the scale snapping value.
37
+ * Applied when holding Shift while scaling an object.
38
+ */
23
39
  scaleSnap = .25;
24
40
  /**
25
- * Get the underlying three.js TransformControls instance.
26
- * @returns The TransformControls instance.
41
+ * Gets the underlying three.js {@link TransformControls} instance.
42
+ * @returns The TransformControls instance or undefined if not initialized.
27
43
  */
28
44
  get control() {
29
45
  return this._control;
@@ -70,6 +86,10 @@ export class TransformGizmo extends Behaviour {
70
86
  window.removeEventListener('keydown', this.windowKeyDownListener);
71
87
  window.removeEventListener('keyup', this.windowKeyUpListener);
72
88
  }
89
+ /**
90
+ * Enables grid snapping for transform operations according to set snap values.
91
+ * This applies the translationSnap, rotationSnapAngle, and scaleSnap properties to the controls.
92
+ */
73
93
  enableSnapping() {
74
94
  if (this._control) {
75
95
  this._control.setTranslationSnap(this.translationSnap);
@@ -77,6 +97,10 @@ export class TransformGizmo extends Behaviour {
77
97
  this._control.setScaleSnap(this.scaleSnap);
78
98
  }
79
99
  }
100
+ /**
101
+ * Disables grid snapping for transform operations.
102
+ * Removes all snapping constraints from the transform controls.
103
+ */
80
104
  disableSnapping() {
81
105
  if (this._control) {
82
106
  this._control.setTranslationSnap(null);
@@ -84,6 +108,11 @@ export class TransformGizmo extends Behaviour {
84
108
  this._control.setScaleSnap(null);
85
109
  }
86
110
  }
111
+ /**
112
+ * Event handler for when dragging state changes.
113
+ * Disables orbit controls during dragging and requests ownership of the transform if it's synchronized.
114
+ * @param event The drag change event
115
+ */
87
116
  onControlChangedEvent = (event) => {
88
117
  const orbit = this.orbit;
89
118
  if (orbit)
@@ -96,6 +125,18 @@ export class TransformGizmo extends Behaviour {
96
125
  }
97
126
  }
98
127
  };
128
+ /**
129
+ * Handles keyboard shortcuts for transform operations:
130
+ * - Q: Toggle local/world space
131
+ * - W: Translation mode
132
+ * - E: Rotation mode
133
+ * - R: Scale mode
134
+ * - Shift: Enable snapping (while held)
135
+ * - +/-: Adjust gizmo size
136
+ * - X/Y/Z: Toggle visibility of respective axis
137
+ * - Spacebar: Toggle controls enabled state
138
+ * @param event The keyboard event
139
+ */
99
140
  windowKeyDownListener = (event) => {
100
141
  if (!this.enabled)
101
142
  return;
@@ -139,6 +180,11 @@ export class TransformGizmo extends Behaviour {
139
180
  break;
140
181
  }
141
182
  };
183
+ /**
184
+ * Handles keyboard key release events.
185
+ * Currently only handles releasing Shift key to disable snapping.
186
+ * @param event The keyboard event
187
+ */
142
188
  windowKeyUpListener = (event) => {
143
189
  if (!this.enabled)
144
190
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"TransformGizmo.js","sourceRoot":"","sources":["../../src/engine-components/TransformGizmo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransformGizmo.js","sourceRoot":"","sources":["../../src/engine-components/TransformGizmo.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAqC,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAErF,OAAO,KAAK,MAAM,MAAM,wCAAwC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,OAAO,cAAe,SAAQ,SAAS;IAEzC;;OAEG;IAEI,OAAO,GAAY,KAAK,CAAC;IAEhC;;;OAGG;IAEI,eAAe,GAAW,CAAC,CAAC;IAEnC;;;OAGG;IAEI,iBAAiB,GAAW,EAAE,CAAC;IAEtC;;;OAGG;IAEI,SAAS,GAAW,GAAG,CAAC;IAE/B;;;OAGG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEO,QAAQ,CAAqB;IAC7B,KAAK,CAAiB;IAE9B,gBAAgB;IAChB,QAAQ;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO;QAE/C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YAAE,OAAO;QAErC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACjG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;YACvB,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAa,CAAC;YACzF,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBACb,MAAM,IAAI,GAAG,CAAS,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,IAAI,EAAE;oBACN,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA6B,CAAC;oBACpD,IAAI,QAAQ,EAAE;wBACV,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;qBAC1B;iBACJ;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,SAAS,CAAC;SACrG;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEtC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAChF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC/D,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAC9D;IACL,CAAC;IAED,gBAAgB;IAChB,SAAS;QACL,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnF,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,cAAc;QACV,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC9C;IACL,CAAC;IAED;;;OAGG;IACH,eAAe;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACpC;IACL,CAAC;IAED;;;;OAIG;IACK,qBAAqB,GAAG,CAAC,KAAK,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK;YAAE,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QACxC,IAAI,KAAK,CAAC,KAAK,EAAE;YACb,kCAAkC;YAClC,MAAM,IAAI,GAAG,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YAC/E,IAAI,IAAI,EAAE;gBACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAC3B;SACJ;IACL,CAAC,CAAA;IAED;;;;;;;;;;;OAWG;IACK,qBAAqB,GAAG,CAAC,KAAK,EAAE,EAAE;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,QAAQ,KAAK,CAAC,OAAO,EAAE;YAEnB,KAAK,EAAE,EAAE,IAAI;gBACT,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC5E,MAAM;YAEV,KAAK,EAAE,EAAE,QAAQ;gBACb,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;YAEV,KAAK,EAAE,EAAE,IAAI;gBACT,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACnC,MAAM;YAEV,KAAK,EAAE,EAAE,IAAI;gBACT,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAChC,MAAM;YAEV,KAAK,EAAE,EAAE,IAAI;gBACT,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC/B,MAAM;YACV,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,EAAE,aAAa;gBACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;gBAChD,MAAM;YAEV,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,EAAE,aAAa;gBACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC/D,MAAM;YAEV,KAAK,EAAE,EAAE,IAAI;gBACT,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC3C,MAAM;YAEV,KAAK,EAAE,EAAE,IAAI;gBACT,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC3C,MAAM;YAEV,KAAK,EAAE,EAAE,IAAI;gBACT,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC3C,MAAM;YAEV,KAAK,EAAE,EAAE,WAAW;gBAChB,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC/C,MAAM;SACb;IACL,CAAC,CAAA;IAED;;;;OAIG;IACK,mBAAmB,GAAG,CAAC,KAAK,EAAE,EAAE;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,QAAQ,KAAK,CAAC,OAAO,EAAE;YACnB,KAAK,EAAE,EAAE,QAAQ;gBACb,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,MAAM;SAEb;IAEL,CAAC,CAAA;CACJ;AAtMG;IADC,YAAY,EAAE;+CACiB;AAOhC;IADC,YAAY,EAAE;uDACoB;AAOnC;IADC,YAAY,EAAE;yDACuB;AAOtC;IADC,YAAY,EAAE;iDACgB"}
@@ -20,6 +20,7 @@ export declare class EventSystem extends Behaviour {
20
20
  static markUIDirty(_context: Context): void;
21
21
  static createIfNoneExists(context: Context): void;
22
22
  static get(ctx: Context): EventSystem | null;
23
+ /** Get the currently active event system */
23
24
  static get instance(): EventSystem | null;
24
25
  private readonly raycaster;
25
26
  register(rc: Raycaster): void;
@@ -41,6 +41,7 @@ export class EventSystem extends Behaviour {
41
41
  this.createIfNoneExists(ctx);
42
42
  return ctx.scene.getComponent(EventSystem);
43
43
  }
44
+ /** Get the currently active event system */
44
45
  static get instance() {
45
46
  return this.get(Context.Current);
46
47
  }
@@ -55,7 +56,9 @@ export class EventSystem extends Behaviour {
55
56
  this.raycaster?.splice(i, 1);
56
57
  }
57
58
  }
58
- get hasActiveUI() { return this.currentActiveMeshUIComponents.length > 0; }
59
+ get hasActiveUI() {
60
+ return this.currentActiveMeshUIComponents.length > 0;
61
+ }
59
62
  get isHoveringObjects() { return this.hoveredByID.size > 0; }
60
63
  awake() {
61
64
  // We only want ONE eventsystem on the root scene
@@ -725,7 +728,7 @@ class MeshUIHelper {
725
728
  static updateState(intersect, _selectState) {
726
729
  let foundBlock = null;
727
730
  if (intersect) {
728
- foundBlock = this.findBlockInParent(intersect);
731
+ foundBlock = this.findBlockOrTextInParent(intersect);
729
732
  // console.log(intersect, "-- found block:", foundBlock)
730
733
  if (foundBlock && foundBlock !== this.lastSelected) {
731
734
  const interactable = foundBlock["interactable"];
@@ -748,15 +751,15 @@ class MeshUIHelper {
748
751
  return;
749
752
  this.needsUpdate = true;
750
753
  }
751
- static findBlockInParent(elem) {
754
+ static findBlockOrTextInParent(elem) {
752
755
  if (!elem)
753
756
  return null;
754
- if (elem.isBlock) {
757
+ if (elem.isBlock || (elem.isText)) {
755
758
  // @TODO : Replace states managements
756
759
  // if (Object.keys(elem.states).length > 0)
757
760
  return elem;
758
761
  }
759
- return this.findBlockInParent(elem.parent);
762
+ return this.findBlockOrTextInParent(elem.parent);
760
763
  }
761
764
  }
762
765
  //# sourceMappingURL=EventSystem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventSystem.js","sourceRoot":"","sources":["../../../src/engine-components/ui/EventSystem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAwB,WAAW,EAA8C,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC1I,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,cAAc,EAAoC,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,wBAAwB,EAAqD,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnI,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,KAAK,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAE3C,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,4DAAuC,CAAA;IACvC,0DAAqC,CAAA;AACzC,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AAUD,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE;IAClB,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IACtC,YAAY;IACZ,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAgB,EAAE,QAAiB,KAAK;QACxE,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,QAAiB;QAChC,YAAY,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,OAAgB;QACtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;YAC1C,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;SAC3C;IACL,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAY;QACnB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,KAAK,QAAQ;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEgB,SAAS,GAAgB,EAAE,CAAC;IAC7C,QAAQ,CAAC,EAAa;QAClB,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,UAAU,CAAC,EAAa;QACpB,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;YAC7B,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAChC;IACL,CAAC;IAED,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,6BAA6B,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAI,iBAAiB,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAE7D,KAAK;QACD,iDAAiD;QACjD,kFAAkF;QAClF,IAAI,IAAI,CAAC,UAAsB,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACpD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACxB;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;SACpD;IACL,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAChF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACtF,CAAC;IAED,SAAS;QACL,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACrF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACzF,CAAC;IAED;;;;;MAKE;IACM,WAAW,GAAuG,IAAI,GAAG,EAAE,CAAC;IACpI;;;;;OAKG;IACK,WAAW,GAA2D,IAAI,GAAG,EAAE,CAAC;IAExF,cAAc;QACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,cAAc,GAAG,CAAC,YAA4B,EAAE,EAAE;QACtD,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO;QACvC,IAAI,YAAY,CAAC,kBAAkB;YAAE,OAAO;QAC5C,IAAI,YAAY,CAAC,gBAAgB;YAAE,OAAO;QAC1C,IAAI,YAAY,CAAC,IAAI;YAAE,OAAO;QAE9B,wIAAwI;QACxI,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,wBAAwB,GAAG,YAAY,CAAC,IAAI,CAAC;QAElD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;QAChD,wHAAwH;QACxH,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,IAAI,WAAW,CAAC,WAAW,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,WAAW,CAAC,SAAS,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE9E,IAAI,KAAK,EAAE;YACP,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;iBAChD,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1D;QAED,UAAU;QACV,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;QACrC,IAAI,YAAY,CAAC,MAAM,EAAE;YACrB,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;SAClC;aACI;YACD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,YAAY,CAAC,SAAS,CAAE,CAAC;SAC1F;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAsC,CAAC;QAC/E,IAAI,IAAI,EAAE;YACN,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACpB,GAAG,CAAC,KAAK,GAAG,YAAY,CAAC;gBACzB,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACxC;YACD,IAAI,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE;gBACnC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC;oBAC9B,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,YAAY;oBACnB,IAAI;iBACP,CAAC,CAAC;aACN;SACJ;QAGD,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YACvB,kBAAkB,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;SAC1I;QAED,MAAM,GAAG,GAA0B;YAC/B,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,IAAI,CAAC,6BAA6B,CAAC,MAAM,GAAG,CAAC;SAC7D,CAAA;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAE1F,8EAA8E;QAC9E,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAwB,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACpH,CAAC,CAAA;IAEgB,WAAW,GAAmB,EAAE,CAAC;IAElD;;OAEG;IACc,iBAAiB,GAAG,IAAI,GAAG,EAAqB,CAAC;IAClE,kHAAkH;IAC1G,yBAAyB,GAAqB,IAAI,CAAC;IACnD,wBAAwB,GAA2B,IAAI,CAAC;IAEhE;;;;;;;;;SASK;IACG,mBAAmB,GAAG,CAAC,GAAa,EAA+B,EAAE;QACzE,2IAA2I;QAC3I,2IAA2I;QAE3I,MAAM,iBAAiB,GAAG,GAAG,IAAI,cAAc,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5F,IAAI,iBAAiB,IAAI,iBAAiB,IAAI,IAAI,CAAC,yBAAyB,EAAE;YAC1E,OAAO,KAAK,CAAC;SAChB;QACD,wDAAwD;QACxD,yEAAyE;QACzE,IAAI;QAEJ,gEAAgE;QAChE,IAAI,OAAO,GAAoB,IAAI,CAAC;QACpC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,+EAA+E;QAC/E,gDAAgD;QAChD,IAAI,IAAI,EAAE;YACN,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;SAC9C;QAED,0CAA0C;QAC1C,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE;YACrF,+EAA+E;YAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YAC9C,IAAI,IAAI,KAAK,KAAK;gBAAE,OAAO,sBAAsB,CAAA;YACjD,OAAO,IAAI,CAAC;SACf;aACI;YAED,+GAA+G;YAC/G,8EAA8E;YAC9E,sDAAsD;YACtD,mFAAmF;YAEnF,sEAAsE;YACtE,IAAI,iBAAiB,GAAG,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACrF,IAAI,CAAC,iBAAiB,IAAI,OAAO;gBAAE,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAExH,IAAI,iBAAiB,EAAE;gBACnB,yEAAyE;gBACzE,mEAAmE;gBACnE,wFAAwF;gBACxF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACtC,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,QAAQ;oBAAE,IAAI,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;gBAC1E,OAAO,IAAI,CAAC;aACf;YACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACvC,OAAO,sBAAsB,CAAA;SAChC;IACL,CAAC,CAAA;IACO,iCAAiC,CAAC,GAAa;QACnD,+GAA+G;QAC/G,8EAA8E;QAC9E,sDAAsD;QACtD,6EAA6E;QAE7E,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtC,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE;YAC3B,IAAI,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;SAC9C;IACL,CAAC;IAED,6CAA6C;IACrC,cAAc,CAAC,IAA2B;QAC9C,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QACjC,gDAAgD;QAChD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAE5B,IAAI,CAAC,IAAI;YAAE,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAE3C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE;YAC7B,IAAI,CAAC,EAAE,CAAC,gBAAgB;gBAAE,SAAS;YAEnC,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YAEtC,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,wDAAwD;gBACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;aACjC;SACJ;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3B,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAEO,oBAAoB,CAAC,IAAsB,EAAE,GAAkB;QACnE,IAAI,CAAC,GAAG,EAAE;YACN,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;SAC/B;aACI;YACD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YACxB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YACzB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;SACpC;IACL,CAAC;IAEO,mBAAmB,CAAC,IAAuC,EAAE,IAAsB;QAEvF,IAAI,IAAI,EAAE,MAAM,EAAE;YACd,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACpB,IAAI,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE;oBACxC,OAAO,KAAK,CAAC;iBAChB;gBACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACrC,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;oBAC5C,OAAO,IAAI,CAAC;iBACf;aACJ;SACJ;QAED,iCAAiC;QACjC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAEhC,2CAA2C;QAE3C,qCAAqC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,WAAW,EAAE;YACb,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACtE;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAExC,wEAAwE;QACxE,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7F,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3C;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,cAAc,GAAmB,EAAE,CAAC;IACpC,sBAAsB,GAAmB,EAAE,CAAC;IAE5C,cAAc,CAAC,IAAoB;QACvC,8EAA8E;QAC9E,uEAAuE;QACvE,qEAAqE;QACrE,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAc,CAAC;YAClC,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACjB,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;oBACxC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtC,SAAS;iBACZ;aACJ;YACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACjC;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE;YACnC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IAEO,GAAG,GAAmC,EAAE,CAAC;IAEjD;;;OAGG;IACK,mBAAmB,CAAC,MAAgB,EAAE,IAAsB;QAChE,6CAA6C;QAC7C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YAC7B,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK;gBACrB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC;SAChB;QAED,yCAAyC;QACzC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAC9B,IAAI,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,IAAI,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC;SAChB;QAED,4EAA4E;QAC5E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAa,CAAC;QACpC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QAEtC,IAAI,WAAW,GAAwB,IAAI,CAAC;QAE5C,uDAAuD;QACvD,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;YACvB,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;YACnE,IAAI,MAAM,CAAC,eAAe,CAAC,EAAE;gBACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC;gBACpD,IAAI,QAAQ,EAAE;oBACV,MAAM,GAAG,GAAG,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC9D,IAAI,CAAC,GAAG;wBAAE,OAAO,KAAK,CAAC;oBACvB,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC;oBAE3C,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBACxE,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;wBACrB,eAAe;qBAClB;oBACD,MAAM,GAAG,QAAQ,CAAC;oBAClB,QAAQ,GAAG,IAAI,CAAC;iBACnB;aACJ;YAED,qGAAqG;YACrG,gDAAgD;YAChD,iEAAiE;YACjE,IAAI;YACJ,wBAAwB;YACxB,qFAAqF;YACrF,4BAA4B;YAC5B,IAAI;SACP;QAED,IAAI,OAAO,IAAI,KAAK;YAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEjD,2EAA2E;QAC3E,2RAA2R;QAC3R,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,QAAQ,EAAE,GAAG,CAAC;QACnC,MAAM,eAAe,GAAG,YAAY,KAAK,MAAM,CAAC;QAEhD,wBAAwB;QACxB,IAAI,eAAe,IAAI,YAAY,EAAE;YACjC,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAClE;QAED,sBAAsB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK;YACN,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aACjE;YACD,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC;YACnB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;SACrB;QAED,gCAAgC;QAChC,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI;gBACL,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAwB,EAAE,CAAC,CAAC;iBAC5G;gBACD,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;gBAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;aACpB;SACJ;QACD,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,CAAC,YAAY,EAAE;YAClD,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,IAAI,IAAI,CAAC,CAAC;SAClE;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,MAAuB,EAAE,WAA2C;QAElF,OAAO,IAAI,EAAE;YAET,IAAI,CAAC,MAAM;gBAAE,MAAM;YAEnB,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBACvC,6CAA6C;gBAC7C,WAAW,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC,EAAE,KAAK,CAAC,CAAC;YAEV,UAAU;YACV,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;SAC1B;IAEL,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,MAAgB,EAAE,IAAsB,EAAE,YAA6B;QACjG,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,oBAAoB,GAAG,YAAY,KAAK,MAAM,CAAC;QAErD,sJAAsJ;QACtJ,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,QAAQ,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAC5B,KAAK,OAAO,CAAC;YACb,KAAK,OAAO;gBACR,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,SAAU,CAAE,CAAC;gBACtF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAU,CAAE,CAAC;gBAC7E,QAAQ,GAAG,YAAY,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBAC5E,MAAM;YACV,KAAK,YAAY,CAAC;YAClB,KAAK,MAAM;gBACP,sGAAsG;gBACtG,mGAAmG;gBACnG,wCAAwC;gBACxC,MAAM;SACb;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,SAA4C,CAAC;YAE1D,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK;gBAAE,OAAO;YACxC,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAEpD,IAAI,IAAI,CAAC,cAAc,EAAE;gBACrB,IAAI,oBAAoB,EAAE;oBACtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBACvC;aACJ;YAED,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,IAAI,CAAC,aAAa,EAAE;oBACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBACzB,mDAAmD;oBACnD,mDAAmD;oBACnD,8DAA8D;oBAC9D,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBACzC;aACJ;YAED,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,QAAQ;oBACR,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACzC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,IAAI,CAAC,WAAW,EAAE;oBAClB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAEnC,sEAAsE;oBACtE,sFAAsF;oBACtF,2DAA2D;oBAC3D,uFAAuF;oBACvF,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACvC;gBAED,iEAAiE;gBACjE,mFAAmF;gBACnF,+BAA+B;gBAC/B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,EAAE,WAAW,KAAK,WAAW,CAAC,KAAK,EAAE;oBACrE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACnC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAU,CAAC,CAAC;iBAC5C;aACJ;YAED,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,IAAI,CAAC,cAAc,EAAE;oBACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;iBAC7B;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,gHAAgH;QAChH,uEAAuE;QACvE,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3C;IACL,CAAC;IAED,uDAAuD;IAC/C,oBAAoB,CAAC,MAAgB,EAAE,IAAsB,EAAE,SAA0B;QAC7F,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE;YACjC,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,SAAS;gBAAE,OAAO;YAEzD,MAAM,IAAI,GAAQ,SAAS,CAAC;YAC5B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE;gBAC3C,oGAAoG;gBACpG,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE;oBAC5D,OAAO;iBACV;gBACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACtC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,sEAAsE;IAC9D,iBAAiB,CAAC,GAAqB,EAAE,OAA0B;QACvE,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,+HAA+H;IACvH,kBAAkB,CAAC,IAAqC,EAAE,IAAsB;QACpF,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE;gBAC9E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aAC7B;SACJ;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,8HAA8H;IACtH,iBAAiB,CAAC,IAAqC,EAAE,GAAqB;QAClF,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE;gBAC5E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAC3B;SACJ;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CAAC,IAAqC,EAAE,SAAiB,EAAE,MAAc,EAAE,GAAY;QAC7G,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAEzB,IAAI,GAAG,EAAE;YACL,2CAA2C;YAC3C,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrD,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACrB,OAAO,IAAI,CAAC;SACf;aACI;YACD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO,KAAK,CAAC;YACvD,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;gBACV,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACtB;YACD,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IAED,4FAA4F;IAC3E,gBAAgB,GAA6C,EAAE,CAAC;IAEjF,0GAA0G;IAClG,oBAAoB,CAAC,GAAqB,EAAE,IAA0B;QAC1E,IAAI,GAAG,CAAC,iBAAiB,EAAE;YACvB,GAAG,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC9B,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;YACzB,4IAA4I;YAC5I,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;aACpC;iBACI;gBACD,IAAI,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE;oBACzD,IAAI,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,wHAAwH,CAAC,CAAC;iBAC1I;aACJ;SACJ;aACI,IAAI,GAAG,CAAC,wBAAwB,EAAE;YACnC,GAAG,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACzC;IACL,CAAC;IAED,0DAA0D;IAC1D,qBAAqB,CAAC,GAAqB,EAAE,SAA+B;QACxE,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;QACzB,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE;YAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;gBACV,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvC,IAAI,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;aAC3F;SACJ;IACL,CAAC;IACD,4DAA4D;IACpD,oBAAoB,CAAC,GAAqB;QAC9C,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,WAAW,EAAE;YAC5C,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,QAAQ,EAAE;gBACV,IAAI,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;gBAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC5B,4BAA4B;oBAC5B,MAAM,IAAI,GAAG,OAAqB,CAAC;oBACnC,IAAI,IAAI,CAAC,SAAS,EAAE;wBAChB,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACtB,CAAC,EAAE,CAAC;wBACJ,SAAS;qBACZ;oBACD,sBAAsB;oBACtB,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;iBAC7C;aACJ;SACJ;IACL,CAAC;IAEgB,kBAAkB,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAC5C,iBAAiB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAEnD,OAAO,CAAC,GAAa,EAAE,aAAuB;QAClD,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACzC,IAAI,GAAG,KAAK,aAAa;YAAE,OAAO,IAAI,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC;IAEO,kCAAkC,CAAC,GAAQ,EAAE,OAAgB;QACjE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAExD,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,6BAA6B,GAAe,EAAE,CAAC;IAE/C,wBAAwB,CAAC,YAAsB,EAAE,OAAgB;QACrE,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,GAAG,EAAE;YACL,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChD;QACD,OAAO,GAAG,KAAK,IAAI,CAAC;IACxB,CAAC;IAEO,iBAAiB;QAErB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,EAAE;YACjD,YAAY,CAAC,iBAAiB,EAAE,CAAC;SACpC;QAED,IAAI,CAAC,IAAI,CAAC,6BAA6B,IAAI,IAAI,CAAC,6BAA6B,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QAClG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,6BAA6B,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChE,MAAM,IAAI,GAAG,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;YACnD,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,6BAA6B,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,CAAC;IAEO,aAAa,CAAC,GAAoB;QACtC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;CACJ;AAGD,MAAM,YAAY;IAEN,MAAM,CAAC,YAAY,GAAoB,IAAI,CAAC;IAC5C,MAAM,CAAC,eAAe,GAA8D,EAAE,CAAC;IACvF,MAAM,CAAC,WAAW,GAAY,KAAK,CAAC;IAE5C,MAAM,CAAC,SAAS;QACZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,WAAgB,EAAE,OAAgB,EAAE,QAAiB,KAAK;QACpE,IAAI,KAAK,EAAE;YACP,WAAW,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO;SACV;QACD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QAC7C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE;YACnC,IAAI,EAAE,CAAC,OAAO,KAAK,OAAO,EAAE;gBACxB,IAAI,YAAY,KAAK,EAAE,CAAC,KAAK;oBAAE,OAAO;gBACtC,EAAE,CAAC,KAAK,GAAG,YAAY,CAAC;gBACxB,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,IAAI,YAAY,GAAG,CAAC,CAAC;gBACxD,IAAI,EAAE,CAAC,UAAU,IAAI,YAAY;oBAAE,YAAY,GAAG,IAAI,CAAC;gBACvD,0DAA0D;gBAC1D,IAAI,YAAY,EAAE;oBACd,8DAA8D;oBAC9D,IAAI,KAAK;wBAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oBAC7C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;oBACzB,EAAE,CAAC,UAAU,GAAG,YAAY,GAAG,EAAE,CAAC;oBAClC,WAAW,CAAC,MAAM,EAAE,CAAC;iBACxB;gBACD,OAAO;aACV;SACJ;QACD,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,GAAG,EAAE,EAAE,CAAC,CAAC;QACzF,WAAW,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,SAAmB,EAAE,YAAqB;QACzD,IAAI,UAAU,GAAoB,IAAI,CAAC;QAEvC,IAAI,SAAS,EAAE;YACX,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC/C,wDAAwD;YACxD,IAAI,UAAU,IAAI,UAAU,KAAK,IAAI,CAAC,YAAY,EAAE;gBAChD,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;gBAChD,IAAI,YAAY,KAAK,KAAK;oBAAE,OAAO,IAAI,CAAC;gBACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aAC3B;SACJ;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,iBAAiB;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/B,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAQ;QACtB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,IAAS;QAC9B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,qCAAqC;YACrC,2CAA2C;YAC3C,OAAO,IAAI,CAAC;SACf;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC"}
1
+ {"version":3,"file":"EventSystem.js","sourceRoot":"","sources":["../../../src/engine-components/ui/EventSystem.ts"],"names":[],"mappings":"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"}