@graview/react 0.1.63 → 0.1.65

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 (79) hide show
  1. package/dist/connectors.d.ts.map +1 -1
  2. package/dist/connectors.js +3 -0
  3. package/dist/connectors.js.map +1 -1
  4. package/dist/context.d.ts +29 -2
  5. package/dist/context.d.ts.map +1 -1
  6. package/dist/context.js +9 -4
  7. package/dist/context.js.map +1 -1
  8. package/dist/drawing.d.ts +2 -0
  9. package/dist/drawing.d.ts.map +1 -1
  10. package/dist/drawing.js +2 -0
  11. package/dist/drawing.js.map +1 -1
  12. package/dist/edge-signs.d.ts +25 -0
  13. package/dist/edge-signs.d.ts.map +1 -1
  14. package/dist/edge-signs.js +34 -0
  15. package/dist/edge-signs.js.map +1 -1
  16. package/dist/files.d.ts +11 -0
  17. package/dist/files.d.ts.map +1 -1
  18. package/dist/files.js +11 -0
  19. package/dist/files.js.map +1 -1
  20. package/dist/index.d.ts +4 -2
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +2 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/menu-types.d.ts +3 -0
  25. package/dist/menu-types.d.ts.map +1 -1
  26. package/dist/occupants.d.ts.map +1 -1
  27. package/dist/occupants.js +58 -2
  28. package/dist/occupants.js.map +1 -1
  29. package/dist/popover.d.ts.map +1 -1
  30. package/dist/popover.js +19 -2
  31. package/dist/popover.js.map +1 -1
  32. package/dist/presence.d.ts +12 -1
  33. package/dist/presence.d.ts.map +1 -1
  34. package/dist/presence.js +29 -2
  35. package/dist/presence.js.map +1 -1
  36. package/dist/provider.d.ts +3 -2
  37. package/dist/provider.d.ts.map +1 -1
  38. package/dist/provider.js +1 -1
  39. package/dist/provider.js.map +1 -1
  40. package/dist/resolved-view.d.ts.map +1 -1
  41. package/dist/resolved-view.js +2 -2
  42. package/dist/resolved-view.js.map +1 -1
  43. package/dist/scene-aim.d.ts +7 -0
  44. package/dist/scene-aim.d.ts.map +1 -0
  45. package/dist/scene-aim.js +166 -0
  46. package/dist/scene-aim.js.map +1 -0
  47. package/dist/scene-covered.d.ts.map +1 -1
  48. package/dist/scene-covered.js +41 -5
  49. package/dist/scene-covered.js.map +1 -1
  50. package/dist/scene-ground-menu.js +2 -2
  51. package/dist/scene-ground-menu.js.map +1 -1
  52. package/dist/scene-hand.d.ts +28 -2
  53. package/dist/scene-hand.d.ts.map +1 -1
  54. package/dist/scene-hand.js +262 -32
  55. package/dist/scene-hand.js.map +1 -1
  56. package/dist/scene-lines.d.ts.map +1 -1
  57. package/dist/scene-lines.js +3 -0
  58. package/dist/scene-lines.js.map +1 -1
  59. package/dist/scene-options.d.ts.map +1 -1
  60. package/dist/scene-options.js +16 -4
  61. package/dist/scene-options.js.map +1 -1
  62. package/dist/scene-root.d.ts.map +1 -1
  63. package/dist/scene-root.js +79 -9
  64. package/dist/scene-root.js.map +1 -1
  65. package/dist/seat-talk.d.ts +2 -2
  66. package/dist/seat-talk.d.ts.map +1 -1
  67. package/dist/view-host.d.ts +6 -1
  68. package/dist/view-host.d.ts.map +1 -1
  69. package/dist/view-host.js +18 -3
  70. package/dist/view-host.js.map +1 -1
  71. package/dist/view-places.d.ts +62 -0
  72. package/dist/view-places.d.ts.map +1 -0
  73. package/dist/view-places.js +54 -0
  74. package/dist/view-places.js.map +1 -0
  75. package/dist/view-sections.d.ts +8 -0
  76. package/dist/view-sections.d.ts.map +1 -0
  77. package/dist/view-sections.js +85 -0
  78. package/dist/view-sections.js.map +1 -0
  79. package/package.json +5 -5
@@ -46,12 +46,19 @@ export declare function useHeldDistrict(): {
46
46
  * and combining that with CSS transforms crashes the renderer. It is not
47
47
  * the default path and it is not the measured one.
48
48
  */
49
- export declare function useWorldShift({ stage, pan, setView, settled, }: {
49
+ export declare function useWorldShift({ stage, pan, zoom, setView, settled, zoomTo, }: {
50
50
  readonly stage: RefObject<HTMLElement | null>;
51
51
  /** The view's pan: the transform comes off when this has taken the offset. */
52
52
  readonly pan: ViewState["pan"];
53
+ /** The city's zoom: the transform comes off when this has taken a hand's zoom, too. */
54
+ readonly zoom: number;
53
55
  readonly setView: (update: (current: ViewState) => ViewState) => void;
54
56
  readonly settled: () => void;
57
+ /** Letting go of a zoom: the city zoomed by `ratio` about `about` (in the ground's pixels), written into the view once. */
58
+ readonly zoomTo: RefObject<(ratio: number, about: {
59
+ x: number;
60
+ y: number;
61
+ }) => void>;
55
62
  }): {
56
63
  shiftTo: (wanted: {
57
64
  x: number;
@@ -60,20 +67,33 @@ export declare function useWorldShift({ stage, pan, setView, settled, }: {
60
67
  x: number;
61
68
  y: number;
62
69
  }) => void;
70
+ zoomBy: (ratio: number, about: {
71
+ x: number;
72
+ y: number;
73
+ }, dx: number, dy: number, least: number, most: number) => void;
63
74
  settle: () => boolean;
75
+ drop: () => void;
64
76
  settling: RefObject<boolean>;
65
77
  offset: () => {
66
78
  x: number;
67
79
  y: number;
80
+ s: number;
68
81
  };
69
82
  };
83
+ /**
84
+ * WHETHER A PRESS LANDED IN SOMETHING OF A CARD'S THAT SCROLLS ON ITS OWN —
85
+ * a focused district's list, a long preview. A finger there scrolls it, and
86
+ * the browser takes the touch to do so; the card began to move under the
87
+ * same finger first, and was pinned wherever the scroll left it.
88
+ */
89
+ export declare function inScroller(target: Element | null, card: Element): boolean;
70
90
  /**
71
91
  * THE GESTURES THEMSELVES. The threshold is what keeps a click a click:
72
92
  * below it nothing has happened and the pointer-up is an ordinary
73
93
  * selection; above it the gesture owns the pointer and the click that
74
94
  * follows is swallowed.
75
95
  */
76
- export declare function useSceneDrag({ view, panned, limit, panWithin, moveByTransform, setView, setDragging, noteMoved, shift, district, }: {
96
+ export declare function useSceneDrag({ view, panned, limit, panWithin, moveByTransform, setView, setDragging, noteMoved, shift, district, pinching, }: {
77
97
  readonly view: ViewState;
78
98
  /** The pan baked into the drawn cards: a card's pin is stored without it. */
79
99
  readonly panned: {
@@ -102,11 +122,14 @@ export declare function useSceneDrag({ view, panned, limit, panWithin, moveByTra
102
122
  readonly noteMoved: () => void;
103
123
  readonly shift: ReturnType<typeof useWorldShift>;
104
124
  readonly district: ReturnType<typeof useHeldDistrict>;
125
+ /** Two fingers are on the scene (`useWheelAndPinch`): they zoom, and no one finger's drag is begun or carried on. */
126
+ readonly pinching: RefObject<boolean>;
105
127
  }): {
106
128
  onGroundDown: (event: ReactPointerEvent<HTMLDivElement>) => void;
107
129
  onCardDown: (node: SceneNode, event: ReactPointerEvent<HTMLElement>) => void;
108
130
  onDragMove: (event: ReactPointerEvent<HTMLElement>) => void;
109
131
  onDragUp: () => void;
132
+ onDragCancel: () => void;
110
133
  swallow: RefObject<boolean>;
111
134
  };
112
135
  /**
@@ -121,5 +144,8 @@ export declare function useWheelAndPinch({ stage, view, setView, }: {
121
144
  }): {
122
145
  zoomAbout: RefObject<(factor: number, clientX?: number, clientY?: number) => void>;
123
146
  panBy: RefObject<(dx: number, dy: number) => void>;
147
+ pinchBy: RefObject<(factor: number, clientX: number, clientY: number, dx: number, dy: number) => void>;
148
+ pinchDone: RefObject<() => void>;
149
+ pinching: RefObject<boolean>;
124
150
  };
125
151
  //# sourceMappingURL=scene-hand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-hand.d.ts","sourceRoot":"","sources":["../src/scene-hand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-hand.d.ts","sourceRoot":"","sources":["../src/scene-hand.ts"],"names":[],"mappings":"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"}
@@ -75,18 +75,27 @@ export function useHeldDistrict() {
75
75
  * and combining that with CSS transforms crashes the renderer. It is not
76
76
  * the default path and it is not the measured one.
77
77
  */
78
- export function useWorldShift({ stage, pan, setView, settled, }) {
79
- const live = useRef({ x: 0, y: 0 });
78
+ export function useWorldShift({ stage, pan, zoom, setView, settled, zoomTo, }) {
79
+ /*
80
+ * WHAT THE HAND HAS DONE TO THE PICTURE: moved it by (x, y), and — a pinch
81
+ * or a ctrl+wheel from altitude — grown it by `s` about the ground's
82
+ * corner. A zoom was a new layout per frame, thirty milliseconds of work
83
+ * each on a thousand records at a phone's speed; the picture grows under
84
+ * the fingers now, and only letting go draws the city at its new size.
85
+ */
86
+ const live = useRef({ x: 0, y: 0, s: 1 });
80
87
  const painting = useRef(0);
81
88
  const settling = useRef(false);
82
89
  const settledLive = useRef(settled);
83
90
  settledLive.current = settled;
84
91
  const layers = useCallback(() => [...(stage.current?.querySelectorAll("[data-graview-world]") ?? [])], [stage]);
85
- const put = useCallback(({ x, y }) => {
86
- const move = x === 0 && y === 0 ? "" : `translate3d(${x}px, ${y}px, 0)`;
87
- for (const layer of layers())
92
+ const put = useCallback(({ x, y, s }) => {
93
+ const move = s !== 1 ? `translate3d(${x}px, ${y}px, 0) scale(${s})` : x === 0 && y === 0 ? "" : `translate3d(${x}px, ${y}px, 0)`;
94
+ for (const layer of layers()) {
88
95
  layer.style.transform = move;
89
- handOnTheGround(stage.current, x, y);
96
+ layer.style.transformOrigin = s !== 1 ? "0 0" : "";
97
+ }
98
+ handOnTheGround(stage.current, x, y, s);
90
99
  }, [layers, stage]);
91
100
  const paint = useCallback(() => {
92
101
  if (painting.current !== 0)
@@ -98,20 +107,33 @@ export function useWorldShift({ stage, pan, setView, settled, }) {
98
107
  }, [put]);
99
108
  const clear = useCallback(() => {
100
109
  settling.current = false;
101
- for (const layer of layers())
110
+ for (const layer of layers()) {
102
111
  layer.style.transform = "";
103
- handOnTheGround(stage.current, 0, 0);
112
+ layer.style.transformOrigin = "";
113
+ }
114
+ handOnTheGround(stage.current, 0, 0, 1);
104
115
  settledLive.current();
105
116
  }, [layers, stage]);
106
117
  /** Where the hand has taken the picture, against where the view says it is. */
107
118
  const shiftTo = useCallback((wanted, from) => {
108
- live.current = { x: wanted.x - from.x, y: wanted.y - from.y };
119
+ live.current = { x: wanted.x - from.x, y: wanted.y - from.y, s: live.current.s };
120
+ paint();
121
+ }, [paint]);
122
+ /**
123
+ * The picture grown by `ratio` about `about` (the ground's pixels) and moved by (dx, dy) — held to `least`…`most`
124
+ * of the size the view has — painted, and not yet in the view.
125
+ */
126
+ const zoomBy = useCallback((ratio, about, dx, dy, least, most) => {
127
+ const { x, y, s } = live.current;
128
+ const next = Math.max(least, Math.min(most, s * ratio));
129
+ const r = next / s;
130
+ live.current = { x: x * r + about.x * (1 - r) + dx, y: y * r + about.y * (1 - r) + dy, s: next };
109
131
  paint();
110
132
  }, [paint]);
111
133
  /** Letting go: the offset becomes the view's own pan. False when there was none. */
112
134
  const settle = useCallback(() => {
113
- const { x, y } = live.current;
114
- if (x === 0 && y === 0)
135
+ const { x, y, s } = live.current;
136
+ if (x === 0 && y === 0 && s === 1)
115
137
  return false;
116
138
  /*
117
139
  * WHERE THE HAND LAST WAS, PAINTED NOW: a move after the last frame is
@@ -122,13 +144,19 @@ export function useWorldShift({ stage, pan, setView, settled, }) {
122
144
  if (painting.current !== 0)
123
145
  cancelAnimationFrame(painting.current);
124
146
  painting.current = 0;
125
- put({ x, y });
126
- live.current = { x: 0, y: 0 };
147
+ put({ x, y, s });
148
+ live.current = { x: 0, y: 0, s: 1 };
127
149
  settling.current = true;
128
- setView((current) => {
129
- const at = current.pan ?? { x: 0, y: 0 };
130
- return withPan(current, { x: at.x + x, y: at.y + y });
131
- });
150
+ if (Math.abs(s - 1) > 1e-4) {
151
+ // A picture grown by s and moved by (x, y) is the city zoomed by s about the one point that stayed where it was.
152
+ zoomTo.current(s, { x: x / (1 - s), y: y / (1 - s) });
153
+ }
154
+ else {
155
+ setView((current) => {
156
+ const at = current.pan ?? { x: 0, y: 0 };
157
+ return withPan(current, { x: at.x + x, y: at.y + y });
158
+ });
159
+ }
132
160
  /*
133
161
  * AND IF THE VIEW NEVER ARRIVES, LET GO ANYWAY. A scene whose view is
134
162
  * controlled from outside may decline the change, and then nothing
@@ -141,7 +169,7 @@ export function useWorldShift({ stage, pan, setView, settled, }) {
141
169
  clear();
142
170
  }, 300);
143
171
  return true;
144
- }, [setView, clear, put]);
172
+ }, [setView, clear, put, zoomTo]);
145
173
  /*
146
174
  * CLEARED ONLY ONCE THE WORLD HAS ACTUALLY MOVED. Clearing the transform
147
175
  * in the same breath as the state change put the picture back where it
@@ -150,10 +178,23 @@ export function useWorldShift({ stage, pan, setView, settled, }) {
150
178
  useLayoutEffect(() => {
151
179
  if (settling.current)
152
180
  clear();
153
- }, [pan, clear]);
181
+ }, [pan, zoom, clear]);
182
+ /*
183
+ * THE BROWSER TOOK THE HAND. A `pointercancel` says the touch became the
184
+ * browser's — a list inside a card scrolling under the finger — and what
185
+ * the hand had moved so far was never meant: the picture goes back to
186
+ * where the view has it, and nothing is written.
187
+ */
188
+ const drop = useCallback(() => {
189
+ if (painting.current !== 0)
190
+ cancelAnimationFrame(painting.current);
191
+ painting.current = 0;
192
+ live.current = { x: 0, y: 0, s: 1 };
193
+ clear();
194
+ }, [clear]);
154
195
  /** The offset the hand has made so far, not yet in the view. */
155
196
  const offset = useCallback(() => live.current, []);
156
- return { shiftTo, settle, settling, offset };
197
+ return { shiftTo, zoomBy, settle, drop, settling, offset };
157
198
  }
158
199
  /**
159
200
  * THE GROUND MOVES WITH THE PICTURE. The lattice the city stands on is
@@ -170,27 +211,62 @@ export function useWorldShift({ stage, pan, setView, settled, }) {
170
211
  * ground it recalculated the style of every element in the scene each
171
212
  * frame — six hundred milliseconds of a forty-move drag at a quarter speed.
172
213
  */
173
- function handOnTheGround(ground, x, y) {
214
+ function handOnTheGround(ground, x, y, s) {
174
215
  // Both grids under the picture: the lattice from altitude and the fine measure on the ground (`.graview-measure`).
175
216
  for (const grid of ground?.querySelectorAll(":scope > .graview-lattice, :scope > .graview-measure") ?? []) {
176
- if (x === 0 && y === 0) {
217
+ /*
218
+ * A ZOOM GROWS THE LATTICE WITH THE CITY: its cell by as much, and its
219
+ * anchor — where cell (0,0) meets the canvas — carried where the
220
+ * transform carries that point. Said on the lattice alone, as the move is.
221
+ */
222
+ const lattice = s !== 1 && grid.classList.contains("graview-lattice") && ground ? latticeOf(ground) : null;
223
+ if (lattice)
224
+ grid.style.setProperty("--graview-lattice-cell", `${(lattice.cell * s).toFixed(2)}px`);
225
+ else
226
+ grid.style.removeProperty("--graview-lattice-cell");
227
+ const hx = lattice ? lattice.x * (s - 1) + x : x;
228
+ const hy = lattice ? lattice.y * (s - 1) + y : y;
229
+ if (hx === 0 && hy === 0) {
177
230
  grid.style.removeProperty("--graview-hand-x");
178
231
  grid.style.removeProperty("--graview-hand-y");
179
232
  continue;
180
233
  }
181
- grid.style.setProperty("--graview-hand-x", `${x}px`);
182
- grid.style.setProperty("--graview-hand-y", `${y}px`);
234
+ grid.style.setProperty("--graview-hand-x", `${hx}px`);
235
+ grid.style.setProperty("--graview-hand-y", `${hy}px`);
183
236
  }
184
237
  }
238
+ /** The lattice as the ground says it: its cell and its anchor, in pixels; none when the ground draws no city. */
239
+ function latticeOf(ground) {
240
+ const cell = parseFloat(ground.style.getPropertyValue("--graview-lattice-cell"));
241
+ if (!Number.isFinite(cell))
242
+ return null;
243
+ return { cell, x: parseFloat(ground.style.getPropertyValue("--graview-lattice-x")) || 0, y: parseFloat(ground.style.getPropertyValue("--graview-lattice-y")) || 0 };
244
+ }
185
245
  /** How far a pointer has to travel before a press is a drag: below it, a click is a click. */
186
246
  const DRAG_THRESHOLD = 4;
247
+ /**
248
+ * WHETHER A PRESS LANDED IN SOMETHING OF A CARD'S THAT SCROLLS ON ITS OWN —
249
+ * a focused district's list, a long preview. A finger there scrolls it, and
250
+ * the browser takes the touch to do so; the card began to move under the
251
+ * same finger first, and was pinned wherever the scroll left it.
252
+ */
253
+ export function inScroller(target, card) {
254
+ for (let at = target; at && at !== card; at = at.parentElement) {
255
+ const style = getComputedStyle(at);
256
+ if (/(auto|scroll)/.test(style.overflowY) && at.scrollHeight > at.clientHeight + 1)
257
+ return true;
258
+ if (/(auto|scroll)/.test(style.overflowX) && at.scrollWidth > at.clientWidth + 1)
259
+ return true;
260
+ }
261
+ return false;
262
+ }
187
263
  /**
188
264
  * THE GESTURES THEMSELVES. The threshold is what keeps a click a click:
189
265
  * below it nothing has happened and the pointer-up is an ordinary
190
266
  * selection; above it the gesture owns the pointer and the click that
191
267
  * follows is swallowed.
192
268
  */
193
- export function useSceneDrag({ view, panned, limit, panWithin, moveByTransform, setView, setDragging, noteMoved, shift, district, }) {
269
+ export function useSceneDrag({ view, panned, limit, panWithin, moveByTransform, setView, setDragging, noteMoved, shift, district, pinching, }) {
194
270
  /** Set for the click a drag is about to produce, so a drag that ends on a card does not also select it. */
195
271
  const swallow = useRef(false);
196
272
  const gesture = useRef(null);
@@ -199,7 +275,7 @@ export function useSceneDrag({ view, panned, limit, panWithin, moveByTransform,
199
275
  gesture.current = { kind: "pan", fromX: event.clientX, fromY: event.clientY, baseX: pan.x, baseY: pan.y, moved: false };
200
276
  };
201
277
  const onGroundDown = (event) => {
202
- if (event.button !== 0)
278
+ if (event.button !== 0 || pinching.current)
203
279
  return;
204
280
  // Only the ground itself. A card, a chip or anything a view drew keeps
205
281
  // whatever meaning it already had.
@@ -208,7 +284,15 @@ export function useSceneDrag({ view, panned, limit, panWithin, moveByTransform,
208
284
  panFrom(event);
209
285
  };
210
286
  const onCardDown = (node, event) => {
211
- if (event.button !== 0)
287
+ if (event.button !== 0 || pinching.current)
288
+ return;
289
+ /*
290
+ * A FINGER IN A LIST THAT SCROLLS SCROLLS IT. The card moving under the
291
+ * same finger, and pinned where the scroll left it, was a focused
292
+ * district's list that could not be read on a phone without dragging
293
+ * the district about. A mouse keeps its drag: it scrolls with the wheel.
294
+ */
295
+ if (event.pointerType !== "mouse" && inScroller(event.target, event.currentTarget))
212
296
  return;
213
297
  /*
214
298
  * A PICTURE IS NOT A THING YOU REARRANGE — you look around it. A drag
@@ -246,10 +330,35 @@ export function useSceneDrag({ view, panned, limit, panWithin, moveByTransform,
246
330
  moved: false,
247
331
  };
248
332
  };
333
+ /*
334
+ * A GESTURE LET GO OF WITHOUT ENDING: a second finger came down, and the
335
+ * two of them zoom (`keep` — what the first finger panned stays panned),
336
+ * or the browser took the touch (`pointercancel`), and nothing it moved
337
+ * is kept. Either way no click that follows chooses anything.
338
+ */
339
+ const abandon = (keep) => {
340
+ const drag = gesture.current;
341
+ gesture.current = null;
342
+ district.release();
343
+ if (keep)
344
+ shift.settle();
345
+ else
346
+ shift.drop();
347
+ if (drag) {
348
+ swallow.current = true;
349
+ setTimeout(() => (swallow.current = false), 0);
350
+ }
351
+ if (!shift.settling.current)
352
+ setDragging(false);
353
+ };
249
354
  const onDragMove = (event) => {
250
355
  const drag = gesture.current;
251
356
  if (!drag)
252
357
  return;
358
+ if (pinching.current) {
359
+ abandon(true);
360
+ return;
361
+ }
253
362
  const dx = event.clientX - drag.fromX;
254
363
  const dy = event.clientY - drag.fromY;
255
364
  if (!drag.moved) {
@@ -262,7 +371,12 @@ export function useSceneDrag({ view, panned, limit, panWithin, moveByTransform,
262
371
  * the click and double-click that followed to the host, and
263
372
  * double-clicking a task opened the card instead of traveling into it.
264
373
  */
265
- event.currentTarget.setPointerCapture(event.pointerId);
374
+ try {
375
+ event.currentTarget.setPointerCapture(event.pointerId);
376
+ }
377
+ catch {
378
+ // A pointer the browser no longer holds (lifted already, or never its own): the drag goes on without the capture.
379
+ }
266
380
  }
267
381
  if (drag.kind === "pan") {
268
382
  // A little way over a picture that fits, and as far as the city reaches when it is bigger.
@@ -300,7 +414,12 @@ export function useSceneDrag({ view, panned, limit, panWithin, moveByTransform,
300
414
  return;
301
415
  setDragging(false);
302
416
  };
303
- return { onGroundDown, onCardDown, onDragMove, onDragUp, swallow };
417
+ /** The browser took the touch: whatever the hand moved goes back, and nothing is written. */
418
+ const onDragCancel = () => {
419
+ if (gesture.current)
420
+ abandon(false);
421
+ };
422
+ return { onGroundDown, onCardDown, onDragMove, onDragUp, onDragCancel, swallow };
304
423
  }
305
424
  /**
306
425
  * THE WHEEL AND THE PINCH. `zoomAbout` and `panBy` are filled in by the
@@ -327,6 +446,14 @@ export function useWheelAndPinch({ stage, view, setView, }) {
327
446
  */
328
447
  const zoomAbout = useRef(() => { });
329
448
  const panBy = useRef(() => { });
449
+ /** Two fingers' move from altitude: zoomed by `factor` about where they were, then moved as far as their middle moved. */
450
+ const pinchBy = useRef(() => { });
451
+ /** The last finger lifted: what the fingers did to the picture goes into the view. */
452
+ const pinchDone = useRef(() => { });
453
+ /** Whether two fingers are on the scene, from the second one down until the last one lifts. */
454
+ const pinching = useRef(false);
455
+ /** The fingers on the scene, where they last were, and what their moves owe the view this frame. */
456
+ const touch = useRef({ fingers: new Map(), pinch: null, owed: null, owing: 0 });
330
457
  useEffect(() => {
331
458
  const element = stage.current;
332
459
  if (!element)
@@ -357,8 +484,8 @@ export function useWheelAndPinch({ stage, view, setView, }) {
357
484
  held.charge = 0;
358
485
  return;
359
486
  }
360
- // A mouse notch (a hundred) is a step and a half; a trackpad's few units are a nudge.
361
- zoomAbout.current(Math.exp(-event.deltaY * 0.004), event.clientX, event.clientY);
487
+ // A mouse notch (a hundred) is a step and a half; a trackpad's few units are a nudge. Held as the hand's until the wheel rests.
488
+ pinchBy.current(Math.exp(-event.deltaY * 0.004), event.clientX, event.clientY, 0, 0);
362
489
  return;
363
490
  }
364
491
  if (!up)
@@ -370,12 +497,102 @@ export function useWheelAndPinch({ stage, view, setView, }) {
370
497
  event.preventDefault();
371
498
  panBy.current(-event.deltaX, -event.deltaY);
372
499
  };
500
+ /*
501
+ * TWO FINGERS ON A TOUCH SCREEN, read from their pointers. Chrome on a
502
+ * phone hands a pinch over as nothing but two touches — no ctrl+wheel,
503
+ * no GestureEvent — so with `touch-action: none` on the ground a pinch
504
+ * did not zoom at all: the first finger panned the city, and a second
505
+ * finger coming down re-based the pan under it. Safari speaks
506
+ * GestureEvent as well as the pointers; while two fingers are down the
507
+ * pointers are the one reading, so the city is not zoomed twice.
508
+ *
509
+ * Read here, on the stage itself, so it is heard before React's own
510
+ * handlers on the cards and the ground: by the time a card hears the
511
+ * second finger, `pinching` already says it is a pinch.
512
+ */
513
+ /*
514
+ * KEPT ACROSS THE LISTENERS BEING ATTACHED AGAIN: the effect runs again
515
+ * when the scene's `setView` does, which the pinch's own first change of
516
+ * the view can bring about, and fingers held in the effect were then
517
+ * forgotten after the first frame of a pinch.
518
+ */
519
+ const hand = touch.current;
520
+ const fingers = hand.fingers;
521
+ const pay = () => {
522
+ hand.owing = 0;
523
+ const due = hand.owed;
524
+ hand.owed = null;
525
+ if (due)
526
+ pinchBy.current(due.factor, due.x, due.y, due.dx, due.dy);
527
+ };
528
+ const spread = () => {
529
+ const [a, b] = [...fingers.values()];
530
+ return { apart: Math.max(1, Math.hypot(a.x - b.x, a.y - b.y)), mid: { x: (a.x + b.x) / 2, y: (a.y + b.y) / 2 } };
531
+ };
532
+ const onFingerDown = (event) => {
533
+ if (event.pointerType !== "touch")
534
+ return;
535
+ // The first finger of a new touch: whatever an earlier touch left behind (a lift never heard) is gone.
536
+ if (event.isPrimary) {
537
+ fingers.clear();
538
+ hand.pinch = null;
539
+ pinching.current = false;
540
+ }
541
+ fingers.set(event.pointerId, { x: event.clientX, y: event.clientY });
542
+ if (fingers.size !== 2)
543
+ return;
544
+ const { apart, mid } = spread();
545
+ hand.pinch = { from: apart, last: apart, mid };
546
+ pinching.current = true;
547
+ };
548
+ const onFingerMove = (event) => {
549
+ if (!fingers.has(event.pointerId))
550
+ return;
551
+ fingers.set(event.pointerId, { x: event.clientX, y: event.clientY });
552
+ const pinch = hand.pinch;
553
+ if (!pinch || fingers.size !== 2)
554
+ return;
555
+ const { apart, mid } = spread();
556
+ const held = altitude.current;
557
+ if (!(held.view.overview ?? false)) {
558
+ // From the ground, fingers together rise, as the trackpad's pinch does.
559
+ if (apart / pinch.from < 0.72)
560
+ step(true, performance.now());
561
+ }
562
+ else {
563
+ const owed = (hand.owed ??= { factor: 1, x: pinch.mid.x, y: pinch.mid.y, dx: 0, dy: 0 });
564
+ owed.factor *= apart / pinch.last;
565
+ owed.dx += mid.x - pinch.mid.x;
566
+ owed.dy += mid.y - pinch.mid.y;
567
+ if (hand.owing === 0)
568
+ hand.owing = requestAnimationFrame(pay);
569
+ }
570
+ pinch.last = apart;
571
+ pinch.mid = mid;
572
+ };
573
+ const onFingerUp = (event) => {
574
+ if (!fingers.delete(event.pointerId))
575
+ return;
576
+ if (fingers.size < 2)
577
+ hand.pinch = null;
578
+ if (fingers.size > 0)
579
+ return;
580
+ // The last finger lifted: what is owed lands now, and the next finger down is a drag again.
581
+ if (hand.owing !== 0)
582
+ cancelAnimationFrame(hand.owing);
583
+ pay();
584
+ pinching.current = false;
585
+ pinchDone.current();
586
+ };
373
587
  const onGestureStart = (event) => {
374
588
  event.preventDefault();
375
589
  altitude.current.lastScale = 1;
376
590
  };
377
591
  const onGesture = (event) => {
378
592
  event.preventDefault();
593
+ // Two fingers on a touch screen are read from their pointers (above).
594
+ if (pinching.current || fingers.size > 1)
595
+ return;
379
596
  const held = altitude.current;
380
597
  const scale = event.scale ?? 1;
381
598
  if (!(held.view.overview ?? false)) {
@@ -391,12 +608,25 @@ export function useWheelAndPinch({ stage, view, setView, }) {
391
608
  element.addEventListener("wheel", onWheel, { passive: false });
392
609
  element.addEventListener("gesturestart", onGestureStart);
393
610
  element.addEventListener("gesturechange", onGesture);
611
+ element.addEventListener("pointerdown", onFingerDown);
612
+ element.addEventListener("pointermove", onFingerMove);
613
+ element.addEventListener("pointerup", onFingerUp);
614
+ element.addEventListener("pointercancel", onFingerUp);
394
615
  return () => {
616
+ // What the fingers owe still lands: the next listeners pick up the same hand.
617
+ if (hand.owing !== 0) {
618
+ cancelAnimationFrame(hand.owing);
619
+ pay();
620
+ }
621
+ element.removeEventListener("pointerdown", onFingerDown);
622
+ element.removeEventListener("pointermove", onFingerMove);
623
+ element.removeEventListener("pointerup", onFingerUp);
624
+ element.removeEventListener("pointercancel", onFingerUp);
395
625
  element.removeEventListener("wheel", onWheel);
396
626
  element.removeEventListener("gesturestart", onGestureStart);
397
627
  element.removeEventListener("gesturechange", onGesture);
398
628
  };
399
629
  }, [setView, stage]);
400
- return { zoomAbout, panBy };
630
+ return { zoomAbout, panBy, pinchBy, pinchDone, pinching };
401
631
  }
402
632
  //# sourceMappingURL=scene-hand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-hand.js","sourceRoot":"","sources":["../src/scene-hand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-hand.js","sourceRoot":"","sources":["../src/scene-hand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAkB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAA0D,MAAM,OAAO,CAAC;AA0B1I;;;;GAIG;AACH;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,KAAK,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1D,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,GAAG,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9E,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1F,CAAC,CAAC;QACF,IAAI,EAAE,CAAC;QACP,IAAI,OAAO,cAAc,KAAK,WAAW;YAAE,OAAO;QAClD,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAc,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,IAAU,EAAE,EAAE;QACvC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC;YAAE,OAAO;QAChC,KAAK,CAAC,OAAO,GAAG,qBAAqB,CAAC,GAAG,EAAE;YACzC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YAClB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,qEAAqE;IACrE,MAAM,OAAO,GAAG,WAAW,CAAC,GAAgB,EAAE;QAC5C,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC;YAAE,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7D,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QAClB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QAC5B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,IAAI,GAAG;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,OAAO,EACP,MAAM,GAWP;IACC;;;;;;OAMG;IACH,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;IAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAc,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7H,MAAM,GAAG,GAAG,WAAW,CACrB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAuC,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC;QACjI,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,EAAE,CAAC;YAC7B,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;YAC7B,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,CAAC;QACD,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC,EACD,CAAC,MAAM,EAAE,KAAK,CAAC,CAChB,CAAC;IACF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC;YAAE,OAAO;QACnC,QAAQ,CAAC,OAAO,GAAG,qBAAqB,CAAC,GAAG,EAAE;YAC5C,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;YACrB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACV,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,EAAE,CAAC;YAC7B,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;YAC3B,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;QACnC,CAAC;QACD,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,WAAW,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAEpB,+EAA+E;IAC/E,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,MAAgC,EAAE,IAA8B,EAAE,EAAE;QACnE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACjF,KAAK,EAAE,CAAC;IACV,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF;;;OAGG;IACH,MAAM,MAAM,GAAG,WAAW,CACxB,CAAC,KAAa,EAAE,KAA+B,EAAE,EAAU,EAAE,EAAU,EAAE,KAAa,EAAE,IAAY,EAAE,EAAE;QACtG,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QACjG,KAAK,EAAE,CAAC;IACV,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,oFAAoF;IACpF,MAAM,MAAM,GAAG,WAAW,CAAC,GAAY,EAAE;QACvC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAChD;;;;;WAKG;QACH,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC;YAAE,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnE,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;QACrB,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACpC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;YAC3B,iHAAiH;YACjH,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAClB,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzC,OAAO,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACL,CAAC;QACD;;;;;;WAMG;QACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACrB,IAAI,QAAQ,CAAC,OAAO;gBAAE,KAAK,EAAE,CAAC;QAChC,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAElC;;;;OAIG;IACH,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,QAAQ,CAAC,OAAO;YAAE,KAAK,EAAE,CAAC;IAChC,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAEvB;;;;;OAKG;IACH,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC;YAAE,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnE,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACpC,KAAK,EAAE,CAAC;IACV,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,gEAAgE;IAChE,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACnD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,eAAe,CAAC,MAA0B,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IAClF,mHAAmH;IACnH,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,gBAAgB,CAAc,sDAAsD,CAAC,IAAI,EAAE,EAAE,CAAC;QACvH;;;;WAIG;QACH,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3G,IAAI,OAAO;YAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;;YAC/F,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QACzD,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,iHAAiH;AACjH,SAAS,SAAS,CAAC,MAAmB;IACpC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACjF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACtK,CAAC;AAED,8FAA8F;AAC9F,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAsB,EAAE,IAAa;IAC9D,KAAK,IAAI,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAChG,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IAChG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,IAAI,EACJ,MAAM,EACN,KAAK,EACL,SAAS,EACT,eAAe,EACf,OAAO,EACP,WAAW,EACX,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,GAiBT;IACC,2GAA2G;IAC3G,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,MAAM,CAQZ,IAAI,CAAC,CAAC;IAChB,MAAM,OAAO,GAAG,CAAC,KAAqC,EAAE,EAAE;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1H,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,KAAwC,EAAE,EAAE;QAChE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO;YAAE,OAAO;QACnD,uEAAuE;QACvE,mCAAmC;QACnC,IAAK,KAAK,CAAC,MAAsB,CAAC,OAAO,CAAC,qBAAqB,CAAC;YAAE,OAAO;QACzE,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,IAAe,EAAE,KAAqC,EAAE,EAAE;QAC5E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO;YAAE,OAAO;QACnD;;;;;WAKG;QACH,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,MAAiB,EAAE,KAAK,CAAC,aAAa,CAAC;YAAE,OAAO;QACtG;;;;;;WAMG;QACH,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAE,KAAK,CAAC,MAAsB,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACjG,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QACD;;;;;;;;;WASG;QACH,IAAI,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YAClD,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QACD,OAAO,CAAC,OAAO,GAAG;YAChB,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,0DAA0D;YAC1D,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;YACxB,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;YACxB,KAAK,EAAE,KAAK;SACb,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,OAAO,GAAG,CAAC,IAAa,EAAE,EAAE;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnB,IAAI,IAAI;YAAE,KAAK,CAAC,MAAM,EAAE,CAAC;;YACpB,KAAK,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO;YAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,KAAqC,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QACD,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;QACtC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,cAAc;gBAAE,OAAO;YAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB;;;;eAIG;YACH,IAAI,CAAC;gBACF,KAAK,CAAC,aAA6B,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1E,CAAC;YAAC,MAAM,CAAC;gBACP,kHAAkH;YACpH,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,2FAA2F;YAC3F,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9E,IAAI,eAAe;gBAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;gBAClE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACnB,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,6FAA6F;QAC7F,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,GAAG;YAAE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChF,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,uEAAuE;YACvE,SAAS,EAAE,CAAC;QACd,CAAC;QACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB;;;;;;WAMG;QACH,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QACnC,WAAW,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,6FAA6F;IAC7F,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,KAAK,EACL,IAAI,EACJ,OAAO,GAKR;IACC;;;;;;;OAOG;IACH,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IACzE,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAC7B;;;;;;OAMG;IACH,MAAM,SAAS,GAAG,MAAM,CAA+D,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACjG,MAAM,KAAK,GAAG,MAAM,CAAmC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACjE,0HAA0H;IAC1H,MAAM,OAAO,GAAG,MAAM,CAAqF,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrH,sFAAsF;IACtF,MAAM,SAAS,GAAG,MAAM,CAAa,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/C,+FAA+F;IAC/F,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,oGAAoG;IACpG,MAAM,KAAK,GAAG,MAAM,CAKjB,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,IAAI,GAAG,CAAC,MAAe,EAAE,KAAa,EAAE,EAAE;YAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS;gBAAE,OAAO;YACnC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;YACvC,IAAI,MAAM,KAAK,EAAE;gBAAE,OAAO;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,GAAG,GAAG,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAE,EAAE;YACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;YACvC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;oBAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;wBAAE,OAAO;oBACvC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;wBAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;;wBAC9C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;oBACrB,OAAO;gBACT,CAAC;gBACD,gIAAgI;gBAChI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrF,OAAO;YACT,CAAC;YACD,IAAI,CAAC,EAAE;gBAAE,OAAO;YAChB,+EAA+E;YAC/E,MAAM,MAAM,GAAG,KAAK,CAAC,MAA4B,CAAC;YAClD,IAAI,MAAM,EAAE,OAAO,CAAC,6EAA6E,CAAC;gBAAE,OAAO;YAC3G,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF;;;;;;;;;;;;WAYG;QACH;;;;;WAKG;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,GAAG,GAAG,GAAG,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,GAAG;gBAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAyD,CAAC;YAC7F,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACnH,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,KAAmB,EAAE,EAAE;YAC3C,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO;gBAAE,OAAO;YAC1C,uGAAuG;YACvG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;YAC3B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACrE,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO;YAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YAC/C,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,KAAmB,EAAE,EAAE;YAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;gBAAE,OAAO;YAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO;YACzC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC;gBACnC,wEAAwE;gBACxE,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI;oBAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzF,IAAI,CAAC,MAAM,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;gBAClC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/B,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;oBAAE,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAChE,CAAC;YACD,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;YACnB,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QAClB,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,CAAC,KAAmB,EAAE,EAAE;YACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;gBAAE,OAAO;YAC7C,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC;gBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YACxC,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC;gBAAE,OAAO;YAC7B,4FAA4F;YAC5F,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;gBAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvD,GAAG,EAAE,CAAC;YACN,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;YACzB,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAC;QACF,MAAM,cAAc,GAAG,CAAC,KAAY,EAAE,EAAE;YACtC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE;YACjC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,sEAAsE;YACtE,IAAI,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC;gBAAE,OAAO;YACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC9B,MAAM,KAAK,GAAI,KAAwE,CAAC,KAAK,IAAI,CAAC,CAAC;YACnG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC;gBACnC,IAAI,KAAK,GAAG,IAAI;oBAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,MAAM,EAAE,GAAG,KAAuD,CAAC;YACnE,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC;QACF,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QACzD,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACrD,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACtD,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACtD,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAClD,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,GAAG,EAAE;YACV,8EAA8E;YAC9E,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBACrB,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjC,GAAG,EAAE,CAAC;YACR,CAAC;YACD,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YACzD,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YACzD,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACrD,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YACzD,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,CAAC,mBAAmB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAC5D,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAC5D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scene-lines.d.ts","sourceRoot":"","sources":["../src/scene-lines.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-lines.d.ts","sourceRoot":"","sources":["../src/scene-lines.tsx"],"names":[],"mappings":"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"}
@@ -824,6 +824,9 @@ function SelectionTies({ stageRef, nodes, scheme, selection, store, graphNodes,
824
824
  event.stopPropagation();
825
825
  onPickEdge(line.edgeId, { x: event.clientX, y: event.clientY });
826
826
  }, onContextMenu: (event) => {
827
+ // Option held: the browser's own menu.
828
+ if (event.altKey)
829
+ return;
827
830
  event.preventDefault();
828
831
  event.stopPropagation();
829
832
  onPickEdge(line.edgeId, { x: event.clientX, y: event.clientY });