@graview/react 0.1.62 → 0.1.64
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.
- package/dist/context.d.ts +45 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +7 -3
- package/dist/context.js.map +1 -1
- package/dist/drawing.d.ts +1 -1
- package/dist/drawing.d.ts.map +1 -1
- package/dist/edge-signs.d.ts +25 -0
- package/dist/edge-signs.d.ts.map +1 -1
- package/dist/edge-signs.js +25 -0
- package/dist/edge-signs.js.map +1 -1
- package/dist/editable-fields.d.ts.map +1 -1
- package/dist/editable-fields.js +3 -1
- package/dist/editable-fields.js.map +1 -1
- package/dist/files.d.ts +11 -0
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +11 -0
- package/dist/files.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/menu-types.d.ts +14 -0
- package/dist/menu-types.d.ts.map +1 -1
- package/dist/plots.d.ts +1 -0
- package/dist/plots.d.ts.map +1 -1
- package/dist/plots.js +2 -0
- package/dist/plots.js.map +1 -1
- package/dist/provider.d.ts +3 -3
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +1 -1
- package/dist/provider.js.map +1 -1
- package/dist/scene-aim.d.ts +7 -0
- package/dist/scene-aim.d.ts.map +1 -0
- package/dist/scene-aim.js +166 -0
- package/dist/scene-aim.js.map +1 -0
- package/dist/scene-hand.d.ts +28 -2
- package/dist/scene-hand.d.ts.map +1 -1
- package/dist/scene-hand.js +262 -32
- package/dist/scene-hand.js.map +1 -1
- package/dist/scene-helpers.d.ts +22 -0
- package/dist/scene-helpers.d.ts.map +1 -1
- package/dist/scene-helpers.js +31 -1
- package/dist/scene-helpers.js.map +1 -1
- package/dist/scene-root.d.ts.map +1 -1
- package/dist/scene-root.js +93 -13
- package/dist/scene-root.js.map +1 -1
- package/dist/view-host.d.ts +3 -1
- package/dist/view-host.d.ts.map +1 -1
- package/dist/view-host.js +2 -2
- package/dist/view-host.js.map +1 -1
- package/dist/workflows-layer.d.ts +30 -0
- package/dist/workflows-layer.d.ts.map +1 -0
- package/dist/workflows-layer.js +63 -0
- package/dist/workflows-layer.js.map +1 -0
- package/package.json +5 -5
package/dist/scene-hand.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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
|
-
|
|
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", `${
|
|
182
|
-
grid.style.setProperty("--graview-hand-y", `${
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
package/dist/scene-hand.js.map
CHANGED
|
@@ -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":"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"}
|
package/dist/scene-helpers.d.ts
CHANGED
|
@@ -33,6 +33,28 @@ export declare function useElementSize(ref: {
|
|
|
33
33
|
width: number;
|
|
34
34
|
height: number;
|
|
35
35
|
} | null;
|
|
36
|
+
/** The most a browser's own toolbars give back to the page when they collapse: Safari's, on an iPad and on a phone. */
|
|
37
|
+
export declare const TOOLBAR_HEIGHT = 120;
|
|
38
|
+
/**
|
|
39
|
+
* THE SCENE HOLDS STILL WHEN SAFARI'S TOOLBAR COLLAPSES. On a touch screen
|
|
40
|
+
* the browser's toolbar folds away and the window grows by its height —
|
|
41
|
+
* the width the same, the box the window's height taller — and the scene
|
|
42
|
+
* laid itself out again for the taller box: the city slid down by half of
|
|
43
|
+
* it, a picture under a finger moved, and a glide a tap had begun was
|
|
44
|
+
* begun again from somewhere else. A box that grows by no more than a
|
|
45
|
+
* toolbar, by just what the window grew, its width the same, on a touch
|
|
46
|
+
* screen, keeps the box the scene was laid out for: the ground is painted
|
|
47
|
+
* into the new room and nothing moves. Narrower or shorter is followed at
|
|
48
|
+
* once — what is laid out never stands past the box — and so is a turn,
|
|
49
|
+
* and growth the page made itself (a line over the scene put away).
|
|
50
|
+
*/
|
|
51
|
+
export declare function useBoxHeldThroughToolbars(size: {
|
|
52
|
+
width: number;
|
|
53
|
+
height: number;
|
|
54
|
+
} | null): {
|
|
55
|
+
width: number;
|
|
56
|
+
height: number;
|
|
57
|
+
} | null;
|
|
36
58
|
/**
|
|
37
59
|
* A plane's elevation, in the idiom of its scheme.
|
|
38
60
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-helpers.d.ts","sourceRoot":"","sources":["../src/scene-helpers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,QAAQ,EAAE,OAAO,GAChB,MAAM,EAAE,CAOV;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAyBpC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE;IAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACnC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA+C1C;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAO5E;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAGvD"}
|
|
1
|
+
{"version":3,"file":"scene-helpers.d.ts","sourceRoot":"","sources":["../src/scene-helpers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,QAAQ,EAAE,OAAO,GAChB,MAAM,EAAE,CAOV;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAyBpC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE;IAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACnC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA+C1C;AAED,uHAAuH;AACvH,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAWlI;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAO5E;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAGvD"}
|
package/dist/scene-helpers.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useEffect, useLayoutEffect, useState } from "react";
|
|
1
|
+
import { useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
2
2
|
/**
|
|
3
3
|
* What a click on a view selects.
|
|
4
4
|
*
|
|
@@ -109,6 +109,36 @@ export function useElementSize(ref) {
|
|
|
109
109
|
}, [ref]);
|
|
110
110
|
return size;
|
|
111
111
|
}
|
|
112
|
+
/** The most a browser's own toolbars give back to the page when they collapse: Safari's, on an iPad and on a phone. */
|
|
113
|
+
export const TOOLBAR_HEIGHT = 120;
|
|
114
|
+
/**
|
|
115
|
+
* THE SCENE HOLDS STILL WHEN SAFARI'S TOOLBAR COLLAPSES. On a touch screen
|
|
116
|
+
* the browser's toolbar folds away and the window grows by its height —
|
|
117
|
+
* the width the same, the box the window's height taller — and the scene
|
|
118
|
+
* laid itself out again for the taller box: the city slid down by half of
|
|
119
|
+
* it, a picture under a finger moved, and a glide a tap had begun was
|
|
120
|
+
* begun again from somewhere else. A box that grows by no more than a
|
|
121
|
+
* toolbar, by just what the window grew, its width the same, on a touch
|
|
122
|
+
* screen, keeps the box the scene was laid out for: the ground is painted
|
|
123
|
+
* into the new room and nothing moves. Narrower or shorter is followed at
|
|
124
|
+
* once — what is laid out never stands past the box — and so is a turn,
|
|
125
|
+
* and growth the page made itself (a line over the scene put away).
|
|
126
|
+
*/
|
|
127
|
+
export function useBoxHeldThroughToolbars(size) {
|
|
128
|
+
const laid = useRef(null);
|
|
129
|
+
if (size === null)
|
|
130
|
+
return laid.current?.size ?? null;
|
|
131
|
+
const was = laid.current;
|
|
132
|
+
const screen = typeof innerHeight === "number" ? innerHeight : 0;
|
|
133
|
+
if (was && was.size.width === size.width && was.size.height === size.height)
|
|
134
|
+
return was.size;
|
|
135
|
+
const grew = was ? size.height - was.size.height : 0;
|
|
136
|
+
const touch = typeof navigator !== "undefined" && (navigator.maxTouchPoints > 0 || (typeof matchMedia === "function" && matchMedia("(pointer: coarse)").matches));
|
|
137
|
+
if (was && touch && size.width === was.size.width && grew > 0 && grew <= TOOLBAR_HEIGHT && Math.abs(screen - was.screen - grew) <= 1)
|
|
138
|
+
return was.size;
|
|
139
|
+
laid.current = { size, screen };
|
|
140
|
+
return size;
|
|
141
|
+
}
|
|
112
142
|
/**
|
|
113
143
|
* A plane's elevation, in the idiom of its scheme.
|
|
114
144
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-helpers.js","sourceRoot":"","sources":["../src/scene-helpers.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"scene-helpers.js","sourceRoot":"","sources":["../src/scene-helpers.tsx"],"names":[],"mappings":"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"}
|
package/dist/scene-root.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-root.d.ts","sourceRoot":"","sources":["../src/scene-root.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"scene-root.d.ts","sourceRoot":"","sources":["../src/scene-root.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,eAAe,CAAC;AAGlE,OAAO,EAWL,KAAK,kBAAkB,EAEvB,KAAK,aAAa,EAOnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAQL,KAAK,aAAa,EAClB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AA+Bf,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,SAAS,EAAE,CAAC;AAKrB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAChC,MAAM,EAAE,iBAAiB,CAAC;QAC1B;;;WAGG;QACH,MAAM,EAAE,kBAAkB,CAAC;QAC3B;;;;;;WAMG;QACH,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3B,kEAAkE;QAClE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;QACvC;;;;WAIG;QACH,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAC1C,qGAAqG;QACrG,IAAI,EAAE,OAAO,CAAC;QACd,+FAA+F;QAC/F,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;QACzB;;;WAGG;QACH,QAAQ,IAAI,IAAI,CAAC;KAClB,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B;AAwrBD,eAAO,MAAM,UAAU,kEAAyD,CAAC;AAmDjF;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,SAAS,EAAE,EACzC,OAAO,EACP,QAAiB,EACjB,cAAc,EACd,IAAW,EACX,SAAS,EACT,KAAK,EACL,OAAc,EACd,QAAQ,GACT,EAAE,UAAU,+BAqlBZ"}
|