@typeonce/ritmo-browser 0.9.0 → 0.11.0

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 (58) hide show
  1. package/CHANGELOG.md +285 -0
  2. package/README.md +6 -3
  3. package/dist/Controls.d.ts +495 -0
  4. package/dist/Controls.d.ts.map +1 -0
  5. package/dist/Controls.js +343 -0
  6. package/dist/Controls.js.map +1 -0
  7. package/dist/Gamepad.d.ts +375 -0
  8. package/dist/Gamepad.d.ts.map +1 -0
  9. package/dist/Gamepad.js +452 -0
  10. package/dist/Gamepad.js.map +1 -0
  11. package/dist/InputCapture.d.ts +47 -14
  12. package/dist/InputCapture.d.ts.map +1 -1
  13. package/dist/InputCapture.js +1 -1
  14. package/dist/InputCapture.js.map +1 -1
  15. package/dist/Keyboard.d.ts +184 -21
  16. package/dist/Keyboard.d.ts.map +1 -1
  17. package/dist/Keyboard.js +257 -91
  18. package/dist/Keyboard.js.map +1 -1
  19. package/dist/Pointer.d.ts +231 -62
  20. package/dist/Pointer.d.ts.map +1 -1
  21. package/dist/Pointer.js +205 -145
  22. package/dist/Pointer.js.map +1 -1
  23. package/dist/Touch.d.ts +73 -27
  24. package/dist/Touch.d.ts.map +1 -1
  25. package/dist/Touch.js +25 -30
  26. package/dist/Touch.js.map +1 -1
  27. package/dist/index.d.ts +10 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +10 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/internal/buttons.d.ts +52 -0
  32. package/dist/internal/buttons.d.ts.map +1 -0
  33. package/dist/internal/buttons.js +211 -0
  34. package/dist/internal/buttons.js.map +1 -0
  35. package/dist/internal/introspect.d.ts +14 -0
  36. package/dist/internal/introspect.d.ts.map +1 -0
  37. package/dist/internal/introspect.js +19 -0
  38. package/dist/internal/introspect.js.map +1 -0
  39. package/dist/internal/used.d.ts +8 -0
  40. package/dist/internal/used.d.ts.map +1 -0
  41. package/dist/internal/used.js +14 -0
  42. package/dist/internal/used.js.map +1 -0
  43. package/dist/internal/vectors.d.ts +24 -0
  44. package/dist/internal/vectors.d.ts.map +1 -0
  45. package/dist/internal/vectors.js +22 -0
  46. package/dist/internal/vectors.js.map +1 -0
  47. package/package.json +5 -3
  48. package/src/Controls.ts +799 -0
  49. package/src/Gamepad.ts +747 -0
  50. package/src/InputCapture.ts +44 -22
  51. package/src/Keyboard.ts +395 -68
  52. package/src/Pointer.ts +392 -164
  53. package/src/Touch.ts +111 -54
  54. package/src/index.ts +10 -1
  55. package/src/internal/buttons.ts +222 -0
  56. package/src/internal/introspect.ts +23 -0
  57. package/src/internal/used.ts +14 -0
  58. package/src/internal/vectors.ts +36 -0
package/dist/Touch.d.ts CHANGED
@@ -28,8 +28,9 @@
28
28
  *
29
29
  * @example
30
30
  * ```ts
31
- * const touch = Touch.track(canvas, window, ({ width, height }) => ({
32
- * stick: { region: { left: 0, top: 0, width: width / 2, height }, radius: 60 },
31
+ * const touch = Touch.actions(canvas, window, ({ width, height }) => ({
32
+ * // `vector` names the action the stick drives, so it merges into `Controls`.
33
+ * stick: { region: { left: 0, top: 0, width: width / 2, height }, radius: 60, vector: "move" },
33
34
  * buttons: {
34
35
  * attack: { center: { x: width - 90, y: height - 90 }, radius: 55, aimRadius: 80 },
35
36
  * dash: { center: { x: width - 200, y: height - 60 }, radius: 36 }
@@ -37,14 +38,15 @@
37
38
  * }))
38
39
  *
39
40
  * // Once per update:
40
- * const { stick, buttons } = touch.snapshot()
41
- * move(stick.vector)
42
- * if (buttons.attack.released && !buttons.attack.cancelled) fire(buttons.attack.aim)
41
+ * const { vectors, actions } = touch.snapshot()
42
+ * move(vectors.move)
43
+ * if (actions.attack.released && !actions.attack.cancelled) fire(actions.attack.aim)
43
44
  * ```
44
45
  *
45
46
  * For tests and headless runs, `scripted(...)` plays a timeline of stick
46
47
  * vectors, presses, drags, and releases.
47
48
  */
49
+ import type * as System from "@typeonce/ritmo/System";
48
50
  import type { ActionState } from "./Keyboard.ts";
49
51
  /** A position in CSS pixels relative to the element's top-left corner. */
50
52
  export interface Position {
@@ -56,20 +58,25 @@ export interface Vector {
56
58
  readonly x: number;
57
59
  readonly y: number;
58
60
  }
61
+ /** A rectangle in CSS pixels relative to the element's top-left corner. */
59
62
  export interface Rect {
60
63
  readonly left: number;
61
64
  readonly top: number;
62
65
  readonly width: number;
63
66
  readonly height: number;
64
67
  }
65
- export interface StickZone {
68
+ /** The floating stick of a {@link Layout}. */
69
+ export interface StickZone<V extends string = never> {
66
70
  /** Where a touch starts the stick. The stick is centered where the thumb lands. */
67
71
  readonly region: Rect;
68
72
  /** Drag distance in CSS pixels for full tilt. */
69
73
  readonly radius: number;
70
74
  /** Fraction of `radius` that reads as zero. Defaults to 0.15. */
71
75
  readonly deadZone?: number;
76
+ /** The vector action the stick drives (`"move"`), reported in the snapshot's `vectors`. */
77
+ readonly vector?: V;
72
78
  }
79
+ /** A round on-screen button of a {@link Layout}; it reports the action named like its key. */
73
80
  export interface ButtonZone {
74
81
  readonly center: Position;
75
82
  /** Touch radius in CSS pixels. */
@@ -79,12 +86,17 @@ export interface ButtonZone {
79
86
  /** Fraction of `aimRadius` that counts as a tap (no aim). Defaults to 0.2. */
80
87
  readonly aimDeadZone?: number;
81
88
  }
89
+ /** The swipe area of a {@link Layout}. */
82
90
  export interface SwipeZone {
83
91
  /** Where a touch that is not on a button or the stick starts a swipe. */
84
92
  readonly region: Rect;
85
93
  }
86
- export interface Layout<B extends string> {
87
- readonly stick: StickZone;
94
+ /**
95
+ * The touch controls, returned by the layout function {@link actions} calls
96
+ * with the element's size. The button names are fixed by the first layout.
97
+ */
98
+ export interface Layout<B extends string, V extends string = never> {
99
+ readonly stick: StickZone<V>;
88
100
  readonly buttons: {
89
101
  readonly [K in B]: ButtonZone;
90
102
  };
@@ -96,12 +108,14 @@ export interface Size {
96
108
  readonly width: number;
97
109
  readonly height: number;
98
110
  }
111
+ /** The stick's state in a snapshot. */
99
112
  export interface Stick {
100
113
  /** Whether a thumb is on the stick. */
101
114
  readonly active: boolean;
102
115
  /** Tilt with the dead zone removed: zero at rest, length 1 at full tilt. */
103
116
  readonly vector: Vector;
104
117
  }
118
+ /** One button's state: its action's edges, plus the drag aim and whether the release was cancelled. */
105
119
  export interface ButtonState extends ActionState {
106
120
  /**
107
121
  * The drag from the button's center as a fraction of `aimRadius` (length at
@@ -112,24 +126,38 @@ export interface ButtonState extends ActionState {
112
126
  /** The release came from a cancelled touch, not a finger lifting. */
113
127
  readonly cancelled: boolean;
114
128
  }
129
+ /** The swipe area's state in a snapshot. */
115
130
  export interface Swipe {
116
131
  /** Whether a finger is on the swipe area. */
117
132
  readonly active: boolean;
118
133
  /** How far the finger moved since the previous snapshot, in CSS pixels. */
119
134
  readonly delta: Vector;
120
135
  }
121
- export interface Snapshot<B extends string> {
136
+ /**
137
+ * The controls' state. Each button is an action named like it, and the
138
+ * stick drives the vector action its layout names, so the snapshot has the
139
+ * same core as the other devices' (`actions`, `vectors`, and `used`) and
140
+ * `Controls` can merge it.
141
+ */
142
+ export interface Snapshot<B extends string, V extends string = never> {
122
143
  readonly stick: Stick;
123
- readonly buttons: {
144
+ readonly actions: {
124
145
  readonly [K in B]: ButtonState;
125
146
  };
147
+ /** The vector action the stick drives, when the layout names one: the stick's vector. */
148
+ readonly vectors: {
149
+ readonly [K in V]: Vector;
150
+ };
126
151
  readonly swipe: Swipe;
127
- /** Whether any tracked touch has been seen, for switching controls on. */
128
- readonly touched: boolean;
152
+ /**
153
+ * A button was pressed in this window or is held, or a finger is on the
154
+ * stick or the swipe area: the player is using the touch controls.
155
+ */
156
+ readonly used: boolean;
129
157
  }
130
158
  /** Live control positions for drawing, in CSS pixels. Reading it consumes nothing. */
131
- export interface View<B extends string> {
132
- readonly layout: Layout<B>;
159
+ export interface View<B extends string, V extends string = never> {
160
+ readonly layout: Layout<B, V>;
133
161
  /** Where the stick was centered and where the thumb is, while it is held. */
134
162
  readonly stick: {
135
163
  readonly origin: Position;
@@ -142,11 +170,17 @@ export interface View<B extends string> {
142
170
  };
143
171
  };
144
172
  }
145
- export interface Touch<B extends string> {
173
+ /**
174
+ * Touch controls, built with {@link actions} (live) or {@link scripted}.
175
+ * Capture them with `InputCapture.system(...)`, or merge them with
176
+ * `Controls` (through `lacking(...)` for actions with no on-screen
177
+ * control). There is no `rebind`: the layout is the binding.
178
+ */
179
+ export interface Actions<B extends string, V extends string = never> extends System.Consumes<"snapshot"> {
146
180
  /** Returns the controls' state and starts a new press/release window. */
147
- snapshot(): Snapshot<B>;
181
+ snapshot(): Snapshot<B, V>;
148
182
  /** The live state for drawing. */
149
- view(): View<B>;
183
+ view(): View<B, V>;
150
184
  /** Removes the event listeners and restores the element's `touch-action`. */
151
185
  dispose(): void;
152
186
  }
@@ -178,19 +212,31 @@ export interface BlurHost {
178
212
  addEventListener(type: "blur", listener: () => void): void;
179
213
  removeEventListener(type: "blur", listener: () => void): void;
180
214
  }
181
- export interface TrackOptions {
215
+ /** Options for {@link actions}. */
216
+ export interface ActionsOptions {
182
217
  /** `PointerEvent.pointerType`s that drive the controls. Defaults to `["touch"]`. */
183
218
  readonly pointerTypes?: ReadonlyArray<string>;
184
219
  }
185
- /** A snapshot with nothing held, for initializing an input resource before the first capture. */
186
- export declare const idle: <const B extends string>(buttons: ReadonlyArray<B>) => Snapshot<B>;
220
+ /** The names a layout's controls report, for {@link idle} and {@link scripted}. */
221
+ export interface Names<B extends string, V extends string = never> {
222
+ readonly buttons: ReadonlyArray<B>;
223
+ /** The vector action the stick drives, as the layout's `stick.vector`. */
224
+ readonly vector?: V;
225
+ }
226
+ /**
227
+ * A snapshot with nothing held, for initializing an input resource before
228
+ * the first capture: pass the layout's button names and stick vector, as
229
+ * `Touch.idle({ buttons: ["attack", "dash"], vector: "move" })`.
230
+ */
231
+ export declare const idle: <const B extends string, const V extends string = never>(names: Names<B, V>) => Snapshot<B, V>;
187
232
  /**
188
233
  * Starts tracking touches over `target` with the controls `layout` returns
189
234
  * for the element's current size (it is read again on every new touch, so a
190
235
  * resize takes effect at the next touch). `blurHost` (usually `window`)
191
- * cancels held controls when the page loses focus.
236
+ * cancels held controls when the page loses focus. Use `Pointer.actions`
237
+ * for mouse and pen input.
192
238
  */
193
- export declare const track: <const B extends string>(target: TouchTarget, blurHost: BlurHost, layout: (size: Size) => Layout<B>, options?: TrackOptions) => Touch<B>;
239
+ export declare const actions: <const B extends string, const V extends string = never>(target: TouchTarget, blurHost: BlurHost, layout: (size: Size) => Layout<B, V>, options?: ActionsOptions) => Actions<B, V>;
194
240
  /**
195
241
  * Control changes applied just before one snapshot, in this order: the stick
196
242
  * and swipe, presses, aims, releases. `frame` is the snapshot's index, counting from 0 at
@@ -215,14 +261,14 @@ export interface TimelineEntry<B extends string> {
215
261
  /** Control changes by snapshot index. Plain data, so it round-trips through JSON. */
216
262
  export type Timeline<B extends string> = ReadonlyArray<TimelineEntry<B>>;
217
263
  /** Touch controls driven by a timeline instead of an element. */
218
- export interface Scripted<B extends string> extends Touch<B> {
264
+ export interface Scripted<B extends string, V extends string = never> extends Actions<B, V> {
219
265
  /** Number of snapshots taken so far, which is the next frame index. */
220
266
  readonly frames: () => number;
221
267
  }
222
268
  /**
223
- * Plays `timeline` over controls named `buttons`: before the snapshot at index
224
- * `frame`, every entry for that frame is applied. Vectors longer than 1 are
225
- * clamped. Scripted controls report `touched` from the first entry on.
269
+ * Plays `timeline` over controls with `names` (the buttons, and the vector
270
+ * action the stick drives): before the snapshot at index `frame`, every
271
+ * entry for that frame is applied. Vectors longer than 1 are clamped.
226
272
  */
227
- export declare const scripted: <const B extends string>(buttons: ReadonlyArray<B>, timeline: Timeline<NoInfer<B>>) => Scripted<B>;
273
+ export declare const scripted: <const B extends string, const V extends string = never>(names: Names<B, V>, timeline: Timeline<NoInfer<B>>) => Scripted<B, V>;
228
274
  //# sourceMappingURL=Touch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Touch.d.ts","sourceRoot":"","sources":["../src/Touch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Touch.d.ts","sourceRoot":"","sources":["../src/Touch.ts"],"names":[],"mappings":"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"}
package/dist/Touch.js CHANGED
@@ -1,12 +1,19 @@
1
+ import { anyUsed } from "./internal/used.js";
2
+ const snapshotOf = (vector, stick, actions, swipe) => ({
3
+ stick,
4
+ actions,
5
+ vectors: (vector === undefined ? {} : { [vector]: stick.vector }),
6
+ swipe,
7
+ used: stick.active || swipe.active || anyUsed(actions)
8
+ });
1
9
  const zero = { x: 0, y: 0 };
2
10
  const released = () => ({ held: false, pressed: false, released: false, aim: null, cancelled: false });
3
- /** A snapshot with nothing held, for initializing an input resource before the first capture. */
4
- export const idle = (buttons) => ({
5
- stick: { active: false, vector: zero },
6
- buttons: Object.fromEntries(buttons.map((button) => [button, released()])),
7
- swipe: { active: false, delta: zero },
8
- touched: false
9
- });
11
+ /**
12
+ * A snapshot with nothing held, for initializing an input resource before
13
+ * the first capture: pass the layout's button names and stick vector, as
14
+ * `Touch.idle({ buttons: ["attack", "dash"], vector: "move" })`.
15
+ */
16
+ export const idle = (names) => snapshotOf(names.vector, { active: false, vector: zero }, Object.fromEntries(names.buttons.map((button) => [button, released()])), { active: false, delta: zero });
10
17
  /** `offset / radius`, clamped to length 1, with the inner `deadZone` fraction mapped to zero. */
11
18
  const tilt = (offset, radius, deadZone) => {
12
19
  const length = Math.sqrt(offset.x * offset.x + offset.y * offset.y);
@@ -59,9 +66,10 @@ const lift = (track, cancelled) => {
59
66
  * Starts tracking touches over `target` with the controls `layout` returns
60
67
  * for the element's current size (it is read again on every new touch, so a
61
68
  * resize takes effect at the next touch). `blurHost` (usually `window`)
62
- * cancels held controls when the page loses focus.
69
+ * cancels held controls when the page loses focus. Use `Pointer.actions`
70
+ * for mouse and pen input.
63
71
  */
64
- export const track = (target, blurHost, layout, options = {}) => {
72
+ export const actions = (target, blurHost, layout, options = {}) => {
65
73
  const pointerTypes = options.pointerTypes ?? ["touch"];
66
74
  const sizeOf = () => {
67
75
  const rect = target.getBoundingClientRect();
@@ -70,7 +78,6 @@ export const track = (target, blurHost, layout, options = {}) => {
70
78
  let current = layout(sizeOf());
71
79
  const names = Object.keys(current.buttons);
72
80
  const buttons = makeButtonTracks(names);
73
- let touched = false;
74
81
  let stick;
75
82
  /** Which button each finger holds. */
76
83
  const fingers = new Map();
@@ -89,7 +96,6 @@ export const track = (target, blurHost, layout, options = {}) => {
89
96
  // A pointer id that comes down again without an up in between (the up
90
97
  // was lost) releases what it held first, as a cancel.
91
98
  end(event, true);
92
- touched = true;
93
99
  current = layout(sizeOf());
94
100
  const at = locate(event);
95
101
  for (const name of names) {
@@ -176,12 +182,7 @@ export const track = (target, blurHost, layout, options = {}) => {
176
182
  };
177
183
  return {
178
184
  snapshot() {
179
- const snapshot = {
180
- stick: stickState(),
181
- buttons: Object.fromEntries(names.map((name) => [name, buttonSnapshot(buttons.get(name))])),
182
- swipe: { active: swipe !== undefined, delta: swiped },
183
- touched
184
- };
185
+ const snapshot = snapshotOf(current.stick.vector, stickState(), Object.fromEntries(names.map((name) => [name, buttonSnapshot(buttons.get(name))])), { active: swipe !== undefined, delta: swiped });
185
186
  for (const button of buttons.values())
186
187
  startWindow(button);
187
188
  swiped = zero;
@@ -217,11 +218,12 @@ export const track = (target, blurHost, layout, options = {}) => {
217
218
  };
218
219
  };
219
220
  /**
220
- * Plays `timeline` over controls named `buttons`: before the snapshot at index
221
- * `frame`, every entry for that frame is applied. Vectors longer than 1 are
222
- * clamped. Scripted controls report `touched` from the first entry on.
221
+ * Plays `timeline` over controls with `names` (the buttons, and the vector
222
+ * action the stick drives): before the snapshot at index `frame`, every
223
+ * entry for that frame is applied. Vectors longer than 1 are clamped.
223
224
  */
224
- export const scripted = (buttons, timeline) => {
225
+ export const scripted = (names, timeline) => {
226
+ const buttons = names.buttons;
225
227
  const byFrame = new Map();
226
228
  for (const entry of timeline) {
227
229
  const entries = byFrame.get(entry.frame);
@@ -236,10 +238,9 @@ export const scripted = (buttons, timeline) => {
236
238
  };
237
239
  const tracks = makeButtonTracks(buttons);
238
240
  let stick = null;
239
- let touched = false;
240
241
  let frame = 0;
241
242
  const layout = {
242
- stick: { region: { left: 0, top: 0, width: 0, height: 0 }, radius: 1 },
243
+ stick: { region: { left: 0, top: 0, width: 0, height: 0 }, radius: 1, ...(names.vector === undefined ? {} : { vector: names.vector }) },
243
244
  buttons: Object.fromEntries(buttons.map((button) => [button, { center: zero, radius: 0 }]))
244
245
  };
245
246
  return {
@@ -248,7 +249,6 @@ export const scripted = (buttons, timeline) => {
248
249
  startWindow(track);
249
250
  const swipe = { active: false, x: 0, y: 0 };
250
251
  for (const entry of byFrame.get(frame) ?? []) {
251
- touched = true;
252
252
  if (entry.swipe !== undefined) {
253
253
  swipe.active = true;
254
254
  swipe.x += entry.swipe.x;
@@ -269,12 +269,7 @@ export const scripted = (buttons, timeline) => {
269
269
  lift(tracks.get(name), true);
270
270
  }
271
271
  frame += 1;
272
- return {
273
- stick: { active: stick !== null, vector: stick ?? zero },
274
- buttons: Object.fromEntries(buttons.map((name) => [name, buttonSnapshot(tracks.get(name))])),
275
- swipe: { active: swipe.active, delta: { x: swipe.x, y: swipe.y } },
276
- touched
277
- };
272
+ return snapshotOf(names.vector, { active: stick !== null, vector: stick ?? zero }, Object.fromEntries(buttons.map((name) => [name, buttonSnapshot(tracks.get(name))])), { active: swipe.active, delta: { x: swipe.x, y: swipe.y } });
278
273
  },
279
274
  view() {
280
275
  return {
package/dist/Touch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Touch.js","sourceRoot":"","sources":["../src/Touch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Touch.js","sourceRoot":"","sources":["../src/Touch.ts"],"names":[],"mappings":"AAiDA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAoH5C,MAAM,UAAU,GAAG,CACjB,MAAqB,EACrB,KAAY,EACZ,OAA2C,EAC3C,KAAY,EACI,EAAE,CAAC,CAAC;IACpB,KAAK;IACL,OAAO;IACP,OAAO,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,CAAkC;IAClG,KAAK;IACL,IAAI,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CACvD,CAAC,CAAA;AAuDF,MAAM,IAAI,GAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;AAEnC,MAAM,QAAQ,GAAG,GAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;AASnH;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAyD,KAAkB,EAAkB,EAAE,CACjH,UAAU,CACR,KAAK,CAAC,MAAM,EACZ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAC/B,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAuC,EAC7G,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAC/B,CAAA;AAEH,iGAAiG;AACjG,MAAM,IAAI,GAAG,CAAC,MAAgB,EAAE,MAAc,EAAE,QAAgB,EAAU,EAAE;IAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACnE,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,QAAQ,GAAG,MAAM;QAAE,OAAO,IAAI,CAAA;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAA;IAC3E,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAA;AACjF,CAAC,CAAA;AAED,oFAAoF;AACpF,MAAM,KAAK,GAAG,CAAC,IAAgB,EAAE,EAAY,EAAiB,EAAE;IAC9D,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAC7C,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACnE,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IACrE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,CAAA;IAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAA;AACrD,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,IAAU,EAAE,EAAY,EAAW,EAAE,CACnD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAA;AAY3G,MAAM,gBAAgB,GAAG,CAAmB,KAAuB,EAAuB,EAAE,CAC1F,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAErH,MAAM,cAAc,GAAG,CAAC,KAAkB,EAAe,EAAE,CAAC,CAAC;IAC3D,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,OAAO,EAAE,KAAK,CAAC,OAAO;IACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI;IACvC,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,SAAS,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS;CAC5D,CAAC,CAAA;AAEF,gFAAgF;AAChF,MAAM,WAAW,GAAG,CAAC,KAAkB,EAAQ,EAAE;IAC/C,KAAK,CAAC,OAAO,GAAG,KAAK,CAAA;IACrB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAA;IACtB,KAAK,CAAC,SAAS,GAAG,KAAK,CAAA;IACvB,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAA;AACnC,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,CAAC,KAAkB,EAAE,GAAkB,EAAQ,EAAE;IAC7D,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;IACjB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAA;IACpB,KAAK,CAAC,GAAG,GAAG,GAAG,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,CAAC,KAAkB,EAAE,SAAkB,EAAQ,EAAE;IAC5D,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,OAAM;IACvB,KAAK,CAAC,IAAI,GAAG,KAAK,CAAA;IAClB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;IACrB,KAAK,CAAC,SAAS,GAAG,SAAS,CAAA;AAC7B,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,MAAmB,EACnB,QAAkB,EAClB,MAAoC,EACpC,OAAO,GAAmB,EAAE,EACb,EAAE;IACjB,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAA;QAC3C,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;IACnD,CAAC,CAAA;IACD,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAa,CAAA;IACtD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,KAA4F,CAAA;IAChG,sCAAsC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAa,CAAA;IACpC,IAAI,KAAiE,CAAA;IACrE,oFAAoF;IACpF,IAAI,MAAM,GAAW,IAAI,CAAA;IAEzB,MAAM,MAAM,GAAG,CAAC,KAAqB,EAAY,EAAE;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAA;QAC3C,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtE,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,CAAC,KAAqB,EAAW,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAE5F,MAAM,MAAM,GAAG,CAAC,KAAqB,EAAQ,EAAE;QAC7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAM;QAC3B,KAAK,CAAC,cAAc,EAAE,CAAA;QACtB,sEAAsE;QACtE,sDAAsD;QACtD,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAChB,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAClC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;YACjC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;YAC/B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;YAC/B,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;gBAAE,SAAQ;YAC1E,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;YAClC,MAAM,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAC3C,OAAM;QACR,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC5D,KAAK,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;YAC5D,MAAM,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAC3C,OAAM;QACR,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC3F,KAAK,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;YAChD,MAAM,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,CAAC,KAAqB,EAAQ,EAAE;QAC7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAM;QAC3B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACxB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YAC/D,KAAK,CAAC,IAAI,GAAG,EAAE,CAAA;YACf,OAAM;QACR,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YAC/D,MAAM,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAA;YACjF,KAAK,CAAC,IAAI,GAAG,EAAE,CAAA;YACf,OAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACzC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IACnF,CAAC,CAAA;IAED,MAAM,GAAG,GAAG,CAAC,KAAqB,EAAE,SAAkB,EAAQ,EAAE;QAC9D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAM;QAC3B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YAC/D,KAAK,GAAG,SAAS,CAAA;YACjB,OAAM;QACR,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YAC/D,KAAK,GAAG,SAAS,CAAA;YACjB,OAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACzC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAM;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;QACjC,IAAI,CAAC,SAAS;YAAE,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACxE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACzB,CAAC,CAAA;IAED,MAAM,IAAI,GAAG,CAAC,KAAqB,EAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/D,MAAM,QAAQ,GAAG,CAAC,KAAqB,EAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,KAAK,GAAG,SAAS,CAAA;QACjB,KAAK,GAAG,SAAS,CAAA;QACjB,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;YAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC3D,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,EAAE,WAAW,CAAA;IACrD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAA;IACjE,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC9C,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC9C,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAC1C,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;IAClD,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEzC,MAAM,UAAU,GAAG,GAAU,EAAE;QAC7B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAC/D,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;QACrF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAA;IACrG,CAAC,CAAA;IAED,OAAO;QACL,QAAQ;YACN,MAAM,QAAQ,GAAG,UAAU,CACzB,OAAO,CAAC,KAAK,CAAC,MAAM,EACpB,UAAU,EAAE,EACZ,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,CAAuC,EACzH,EAAE,MAAM,EAAE,KAAK,KAAK,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAC/C,CAAA;YACD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;gBAAE,WAAW,CAAC,MAAM,CAAC,CAAA;YAC1D,MAAM,GAAG,IAAI,CAAA;YACb,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,IAAI;YACF,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAA;YACnC,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,KAAK,KAAK,SAAS;oBACxB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,CAAC,GAAG,EAAE;wBACN,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;wBACrF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;wBACnE,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;wBACnD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,CAAA;oBACvH,CAAC,CAAC,EAAE;gBACN,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;oBACjC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC5E,CAAC,CAAC,CAA0B;aAC7B,CAAA;QACH,CAAC;QACD,OAAO;YACL,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;YACjD,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;YACjD,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;YAC7C,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;YACrD,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAC5C,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,mBAAmB,KAAK,SAAS;gBAAE,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,mBAAmB,CAAA;QACrH,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AA+BD;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAyD,KAAkB,EAAE,QAA8B,EAAkB,EAAE;IACrJ,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAC7B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAA;IAC1D,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACxC,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,MAAc,EAAU,EAAE;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACnE,OAAO,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,CAAA;IAC9E,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACxC,IAAI,KAAK,GAAkB,IAAI,CAAA;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,MAAM,MAAM,GAAiB;QAC3B,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QACvI,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAyB;KACpH,CAAA;IACD,OAAO;QACL,QAAQ;YACN,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;gBAAE,WAAW,CAAC,KAAK,CAAC,CAAA;YACvD,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;YAC3C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC7C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC9B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;oBACnB,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;oBACxB,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC1B,CAAC;gBACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;oBAAE,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBACvF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE;oBAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,IAAI,CAAC,CAAA;gBACpE,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAA0C,EAAE,CAAC;oBACnG,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;wBAAE,KAAK,CAAC,GAAG,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC5F,CAAC;gBACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE;oBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,KAAK,CAAC,CAAA;gBACtE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;oBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,IAAI,CAAC,CAAA;YACtE,CAAC;YACD,KAAK,IAAI,CAAC,CAAA;YACV,OAAO,UAAU,CACf,KAAK,CAAC,MAAM,EACZ,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,EACjD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,CAAuC,EAC1H,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAC5D,CAAA;QACH,CAAC;QACD,IAAI;YACF,OAAO;gBACL,MAAM;gBACN,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;oBAC/B,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;gBACzE,CAAC,CAAC,CAAuB;aAC1B,CAAA;QACH,CAAC;QACD,OAAO,KAAI,CAAC;QACZ,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK;KACpB,CAAA;AACH,CAAC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,18 @@
1
- /** Browser host integrations kept outside the renderer-agnostic ECS core. */
1
+ /**
2
+ * Browser host integrations kept outside the renderer-agnostic ECS core:
3
+ * animation-frame timing (`BrowserTickSource`, `BrowserHostClock`), input
4
+ * devices bound to actions (`Keyboard`, `Gamepad`, `Pointer`, `Touch`),
5
+ * merging and local multiplayer (`Controls`), and the system that copies
6
+ * input into a resource (`InputCapture`).
7
+ */
2
8
  export * as BrowserHostClock from "./BrowserHostClock.ts";
3
9
  export * as BrowserTickSource from "./BrowserTickSource.ts";
10
+ export * as Controls from "./Controls.ts";
11
+ export * as Gamepad from "./Gamepad.ts";
4
12
  export * as InputCapture from "./InputCapture.ts";
5
13
  export * as Keyboard from "./Keyboard.ts";
6
14
  export * as Pointer from "./Pointer.ts";
7
15
  export * as Touch from "./Touch.ts";
16
+ /** The package's tag, `"browser"`. */
8
17
  export declare const packageTag: "browser";
9
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,eAAO,MAAM,UAAU,EAAG,SAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,sCAAsC;AACtC,eAAO,MAAM,UAAU,EAAG,SAAkB,CAAA"}
package/dist/index.js CHANGED
@@ -1,9 +1,18 @@
1
- /** Browser host integrations kept outside the renderer-agnostic ECS core. */
1
+ /**
2
+ * Browser host integrations kept outside the renderer-agnostic ECS core:
3
+ * animation-frame timing (`BrowserTickSource`, `BrowserHostClock`), input
4
+ * devices bound to actions (`Keyboard`, `Gamepad`, `Pointer`, `Touch`),
5
+ * merging and local multiplayer (`Controls`), and the system that copies
6
+ * input into a resource (`InputCapture`).
7
+ */
2
8
  export * as BrowserHostClock from "./BrowserHostClock.js";
3
9
  export * as BrowserTickSource from "./BrowserTickSource.js";
10
+ export * as Controls from "./Controls.js";
11
+ export * as Gamepad from "./Gamepad.js";
4
12
  export * as InputCapture from "./InputCapture.js";
5
13
  export * as Keyboard from "./Keyboard.js";
6
14
  export * as Pointer from "./Pointer.js";
7
15
  export * as Touch from "./Touch.js";
16
+ /** The package's tag, `"browser"`. */
8
17
  export const packageTag = "browser";
9
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,MAAM,CAAC,MAAM,UAAU,GAAG,SAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,sCAAsC;AACtC,MAAM,CAAC,MAAM,UAAU,GAAG,SAAkB,CAAA"}
@@ -0,0 +1,52 @@
1
+ import * as Result from "@typeonce/ritmo/Result";
2
+ import type { ActionState } from "../Keyboard.ts";
3
+ import type { Direction, Vector } from "./vectors.ts";
4
+ /** Action name to the buttons that trigger it, for a device with named buttons. */
5
+ type ButtonBindings<Button extends string> = Readonly<Record<string, readonly [Button, ...Array<Button>]>>;
6
+ /**
7
+ * The held buttons, the bound actions, and the edges since the previous
8
+ * take, shared by devices with named buttons (`Gamepad`, `Pointer`) and by
9
+ * their live and scripted forms, so all of them build snapshots the same way.
10
+ */
11
+ export declare const buttonTracker: <Button extends string, B extends ButtonBindings<Button>>(buttonNames: ReadonlyArray<Button>, initial: B) => {
12
+ held: Set<Button>;
13
+ down(button: Button): void;
14
+ up: (button: Button) => void;
15
+ upAll(): void;
16
+ rebind(next: Readonly<Record<keyof B, ReadonlyArray<Button>>>): void;
17
+ /** The buttons and actions since the previous take; starts a new press/release window. */
18
+ take(): {
19
+ readonly actions: Record<keyof B, ActionState>;
20
+ readonly buttons: Record<Button, ActionState>;
21
+ };
22
+ };
23
+ /** Every button idle, by name. */
24
+ export declare const idleButtons: <Button extends string>(buttonNames: ReadonlyArray<Button>) => Record<Button, ActionState>;
25
+ /** Every button action of `bindings` idle (vector actions are in {@link idleVectors}). */
26
+ export declare const idleActions: <B extends object>(bindings: B) => Record<keyof B, ActionState>;
27
+ /** Every vector action of `bindings` at rest. */
28
+ export declare const idleVectors: (bindings: object) => Record<string, Vector>;
29
+ /**
30
+ * Each action's buttons for the button tracker, with the digital part of
31
+ * every vector action split into its four directions (`move.up`, ...).
32
+ */
33
+ export declare const flattenButtons: <Button extends string>(bindings: object) => Record<string, readonly [Button, ...Array<Button>]>;
34
+ /** Splits taken flat actions into the button actions of `bindings`, and whether each vector direction is held. */
35
+ export declare const splitActions: (bindings: object, taken: Readonly<Record<string, ActionState>>) => {
36
+ readonly actions: Record<string, ActionState>;
37
+ readonly held: (vector: string, direction: Direction) => boolean;
38
+ };
39
+ /** Why loaded data is not a rebinding; the devices export it under their own name. */
40
+ export interface InvalidRebinding {
41
+ readonly _tag: "InvalidRebinding";
42
+ readonly path: string;
43
+ readonly message: string;
44
+ }
45
+ /**
46
+ * Validates `data` as new buttons for exactly the actions of `bindings`:
47
+ * an object with the same action names, each a non-empty array of button
48
+ * names.
49
+ */
50
+ export declare const parseButtonRebinding: <Button extends string>(buttonNames: ReadonlyArray<Button>, bindings: object, data: unknown, sticks?: ReadonlyArray<string>) => Result.Result<Readonly<Record<string, unknown>>, InvalidRebinding>;
51
+ export {};
52
+ //# sourceMappingURL=buttons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buttons.d.ts","sourceRoot":"","sources":["../../src/internal/buttons.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAIrD,mFAAmF;AACnF,KAAK,cAAc,CAAC,MAAM,SAAS,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1G;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,CAAC,MAAM,CAAC,eACtE,aAAa,CAAC,MAAM,CAAC,WACzB,CAAC;;iBAoCK,MAAM;iBARD,MAAM,KAAG,IAAI;;iBAoBlB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAW7D,0FAA0F;YAClF;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;KAAE;CAoB5G,CAAA;AAED,kCAAkC;AAClC,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,MAAM,eAAe,aAAa,CAAC,MAAM,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAIjH,CAAA;AAED,0FAA0F;AAC1F,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,YAAY,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,CAItF,CAAA;AAED,iDAAiD;AACjD,eAAO,MAAM,WAAW,aAAc,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAInE,CAAA;AAWD;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,MAAM,YAAY,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAa1H,CAAA;AAED,kHAAkH;AAClH,eAAO,MAAM,YAAY,aACb,MAAM,SACT,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,KAC3C;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,KAAK,OAAO,CAAA;CAInH,CAAA;AAED,sFAAsF;AACtF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,SAAS,MAAM,eAC3C,aAAa,CAAC,MAAM,CAAC,YACxB,MAAM,QACV,OAAO,WACL,aAAa,CAAC,MAAM,CAAC,KAC5B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,gBAAgB,CA6CnE,CAAA"}