@graview/react 0.1.12 → 0.1.14

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 (87) hide show
  1. package/dist/activity.d.ts +0 -30
  2. package/dist/activity.d.ts.map +1 -1
  3. package/dist/activity.js +0 -54
  4. package/dist/activity.js.map +1 -1
  5. package/dist/attention.d.ts +33 -0
  6. package/dist/attention.d.ts.map +1 -0
  7. package/dist/attention.js +60 -0
  8. package/dist/attention.js.map +1 -0
  9. package/dist/context.d.ts.map +1 -1
  10. package/dist/context.js +13 -4
  11. package/dist/context.js.map +1 -1
  12. package/dist/drawing.d.ts +25 -0
  13. package/dist/drawing.d.ts.map +1 -0
  14. package/dist/drawing.js +22 -0
  15. package/dist/drawing.js.map +1 -0
  16. package/dist/drawn.d.ts +21 -0
  17. package/dist/drawn.d.ts.map +1 -1
  18. package/dist/drawn.js +40 -1
  19. package/dist/drawn.js.map +1 -1
  20. package/dist/edge-signs.js +2 -1
  21. package/dist/edge-signs.js.map +1 -1
  22. package/dist/editable-fields.d.ts +16 -0
  23. package/dist/editable-fields.d.ts.map +1 -0
  24. package/dist/editable-fields.js +23 -0
  25. package/dist/editable-fields.js.map +1 -0
  26. package/dist/emphasis.d.ts +25 -0
  27. package/dist/emphasis.d.ts.map +1 -0
  28. package/dist/emphasis.js +84 -0
  29. package/dist/emphasis.js.map +1 -0
  30. package/dist/error-report.d.ts +15 -0
  31. package/dist/error-report.d.ts.map +1 -0
  32. package/dist/error-report.js +4 -0
  33. package/dist/error-report.js.map +1 -0
  34. package/dist/hooks.d.ts +7 -68
  35. package/dist/hooks.d.ts.map +1 -1
  36. package/dist/hooks.js +5 -281
  37. package/dist/hooks.js.map +1 -1
  38. package/dist/index.d.ts +16 -8
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +12 -6
  41. package/dist/index.js.map +1 -1
  42. package/dist/occupants.js +1 -1
  43. package/dist/occupants.js.map +1 -1
  44. package/dist/picked.d.ts +3 -0
  45. package/dist/picked.d.ts.map +1 -0
  46. package/dist/picked.js +9 -0
  47. package/dist/picked.js.map +1 -0
  48. package/dist/picking.d.ts +7 -2
  49. package/dist/picking.d.ts.map +1 -1
  50. package/dist/picking.js +17 -3
  51. package/dist/picking.js.map +1 -1
  52. package/dist/placement.d.ts +59 -0
  53. package/dist/placement.d.ts.map +1 -0
  54. package/dist/placement.js +85 -0
  55. package/dist/placement.js.map +1 -0
  56. package/dist/plots.js +1 -1
  57. package/dist/plots.js.map +1 -1
  58. package/dist/presence.d.ts +0 -57
  59. package/dist/presence.d.ts.map +1 -1
  60. package/dist/presence.js +2 -85
  61. package/dist/presence.js.map +1 -1
  62. package/dist/provider.d.ts +12 -9
  63. package/dist/provider.d.ts.map +1 -1
  64. package/dist/provider.js +10 -6
  65. package/dist/provider.js.map +1 -1
  66. package/dist/resolved-view.d.ts.map +1 -1
  67. package/dist/resolved-view.js +2 -1
  68. package/dist/resolved-view.js.map +1 -1
  69. package/dist/scene-lines.d.ts.map +1 -1
  70. package/dist/scene-lines.js +39 -0
  71. package/dist/scene-lines.js.map +1 -1
  72. package/dist/scene-root.d.ts.map +1 -1
  73. package/dist/scene-root.js +128 -116
  74. package/dist/scene-root.js.map +1 -1
  75. package/dist/url-sync.d.ts +32 -0
  76. package/dist/url-sync.d.ts.map +1 -0
  77. package/dist/url-sync.js +205 -0
  78. package/dist/url-sync.js.map +1 -0
  79. package/dist/view-boundary.d.ts +2 -12
  80. package/dist/view-boundary.d.ts.map +1 -1
  81. package/dist/view-boundary.js +3 -3
  82. package/dist/view-boundary.js.map +1 -1
  83. package/dist/view-host.d.ts +2 -2
  84. package/dist/view-host.d.ts.map +1 -1
  85. package/dist/view-host.js +11 -7
  86. package/dist/view-host.js.map +1 -1
  87. package/package.json +9 -5
@@ -1,13 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { beginning, orderKinds, SCENE_LAYERS, touchWeights } from "@graview/core";
3
3
  import { toIso } from "@graview/core/scene";
4
- import { aggregateId, cameraLimit, panForZoom, kindOfCard, kindsOf, layout, withFocus, withOverview, withPan, withPin, panLayout, withRelation, withJackIn, holdLayout, isBandAggregate, toggleExpanded, withWithin, } from "@graview/layout";
4
+ import { aggregateId, cameraLimit, panForZoom, kindOfCard, kindsOf, layout, marqueeHeightFor, withFocus, withOverview, withPan, withPin, panLayout, withRelation, withJackIn, holdLayout, isBandAggregate, toggleExpanded, withWithin, } from "@graview/layout";
5
5
  import { useCallback, useEffect, useMemo, useRef, useState, } from "react";
6
- import { useActivity } from "./activity.js";
6
+ import { useActivity } from "./attention.js";
7
7
  import { useAnimatedLayout, useSeatWork, useTouched } from "./animation.js";
8
8
  import { SeatMarks } from "./seat-marks.js";
9
9
  import { useViolations } from "./hooks.js";
10
10
  import { useFound, useGraph, useGraview } from "./context.js";
11
+ import { MarqueeRoomContext, useMarqueeNameWidth } from "./drawn.js";
11
12
  import { isDefaultView } from "./view-registry.js";
12
13
  import { Plots } from "./plots.js";
13
14
  import { Occupants } from "./occupants.js";
@@ -40,6 +41,10 @@ export function Scene({ options, renderer = "auto", attachRenderer, className, s
40
41
  const wrapperRef = useRef(null);
41
42
  const size = useElementSize(wrapperRef);
42
43
  const unit = useRootUnit();
44
+ // The marquee's names measured in the face the scene draws them in (FR-118), for the room under each signpost.
45
+ const nameWidth = useMarqueeNameWidth(wrapperRef, unit, brand);
46
+ // The room the layout reserves for a marquee of those names, handed to the districts that draw one (132: the district's own width, unused).
47
+ const marqueeRoom = useMemo(() => (titles) => marqueeHeightFor(titles, 132, nameWidth), [nameWidth]);
43
48
  // Pinch and ctrl+wheel: altitude from the ground, zoom about the pointer from above; the plain wheel pans. See scene-hand.ts.
44
49
  const { zoomAbout, panBy } = useWheelAndPinch({ stage: wrapperRef, view, setView });
45
50
  // `nodes` is a cached snapshot that only changes when the graph does, so
@@ -175,6 +180,7 @@ export function Scene({ options, renderer = "auto", attachRenderer, className, s
175
180
  (held[place.kind] ??= []).push({ as: place.as, title: place.title, ...(place.across ? { across: place.across } : {}) });
176
181
  return held;
177
182
  }, {}),
183
+ nameWidth,
178
184
  ...(size
179
185
  ? {
180
186
  width: size.width,
@@ -188,7 +194,7 @@ export function Scene({ options, renderer = "auto", attachRenderer, className, s
188
194
  height: size.height,
189
195
  }
190
196
  : {}),
191
- }), [options, size, unit, store, views, hiddenKinds, judged, relevance, cityZoom, screenHeight, railLeft]);
197
+ }), [options, size, unit, store, views, hiddenKinds, judged, relevance, cityZoom, screenHeight, railLeft, nameWidth]);
192
198
  /*
193
199
  * THE CAMERA IS NOT A MOVE. A drive-in on the far side of a large city
194
200
  * lights up off-screen unless the camera goes to it, and the camera's
@@ -599,11 +605,17 @@ export function Scene({ options, renderer = "auto", attachRenderer, className, s
599
605
  * being thrown into a detail view to do it costs you the context that
600
606
  * made the decision obvious. Travel is the deliberate second gesture.
601
607
  */
602
- onPick: (id, additive) => setSelection((current) => additive
603
- ? current.includes(id)
604
- ? current.filter((other) => other !== id)
605
- : [...current, id]
606
- : [id]),
608
+ onPick: (id, additive, joins) => setSelection((current) =>
609
+ /* A mark of a relation chooses what it joins (FR-111): a coverage cell, its row, its column and the records between. */
610
+ joins
611
+ ? additive
612
+ ? [...new Set([...current, ...joins])]
613
+ : [...joins]
614
+ : additive
615
+ ? current.includes(id)
616
+ ? current.filter((other) => other !== id)
617
+ : [...current, id]
618
+ : [id]),
607
619
  /*
608
620
  * Double click means GO DEEPER, whatever it lands on: into the node a
609
621
  * view nominated, or — where a view nominated nothing — into the view
@@ -676,119 +688,119 @@ export function Scene({ options, renderer = "auto", attachRenderer, className, s
676
688
  event.stopPropagation();
677
689
  setView((current) => withOverview(current, false));
678
690
  }, onPointerDown: (event) => event.stopPropagation(), onDoubleClick: (event) => event.stopPropagation(), children: "Open \u2197" })] })) : null, node.beyond ? (_jsx(BeyondCard, { kinds: node.beyond })) : node.aggregate?.opens ? (_jsx(BandCard, { node: node })) : (_jsx(SettledView, { node: node, mode: "scene", selected: selection.includes(node.id), ...(crowded(node) ? { fidelity: "glyph" } : {}) }))] }, node.id)));
679
- return (_jsxs("div", { ref: wrapperRef, className: `graview-ground${className ? ` ${className}` : ""}`, "data-graview-altitude": view.overview ? "" : undefined, "data-graview-reach": frame.city ? `${Math.round(cameraLimit(result).x)} ${Math.round(cameraLimit(result).y)}` : undefined, "data-graview-settled": frame.t >= 1 && !flights.gliding() ? "" : undefined, onPointerDown: onGroundDown, onPointerMove: onDragMove, onPointerUp: onDragUp, onPointerCancel: onDragUp,
680
- /*
681
- * CLICKING EMPTY GROUND puts the selection down — the gesture every
682
- * canvas tool teaches, and the graceful half of deselection the ×
683
- * and Escape were carrying alone. Only the bare ground: a card, a
684
- * control or a piece of chrome keeps its own meaning, and a drag
685
- * that ends on the ground is still a pan, not a deselection.
686
- */
687
- onClick: (event) => {
688
- if (swallow.current)
689
- return;
690
- const target = event.target;
691
- // The panes are labelled sections now, not asides (FR-40); chrome is chrome either way.
692
- if (target.closest("[data-graview-view], button, aside, section[aria-label], [data-graview-offstage], a, input, select"))
693
- return;
694
- setSelection([]);
695
- setMenuAt(null);
696
- }, style: {
697
- position: "relative",
698
- width: "100%",
699
- height: "100%",
700
- cursor: dragging ? "grabbing" : "grab",
701
- touchAction: "none",
702
- ["--graview-altitude"]: view.overview ? 1 : 0,
703
- /*
704
- * THE LATTICE THE CITY STANDS ON. The ground draws its diamonds at
705
- * the cell the map was placed with, anchored where cell (0,0) meets
706
- * the canvas — and the anchor pans with the picture, since the pan
707
- * is baked into every coordinate — so a plot sits on a grid line a
708
- * person can see. The kit's own size stands when no city is drawn.
709
- */
710
- ...(frame.city
711
- ? {
712
- ["--graview-lattice-cell"]: `${frame.city.cell.toFixed(2)}px`,
713
- // The tween's own pan, not the live one: the ground moves with the cards it is under.
714
- ["--graview-lattice-x"]: `${(frame.city.originX + frame.city.pan.x).toFixed(1)}px`,
715
- ["--graview-lattice-y"]: `${(frame.city.originY + frame.city.pan.y).toFixed(1)}px`,
716
- }
717
- : {}),
718
- ...(dragging ? { userSelect: "none" } : {}),
719
- // The stage is sized to the measurement, but a stale measurement
720
- // during a resize can briefly exceed it. Clipping keeps the scene
721
- // inside its own bounds instead of pushing the page taller and
722
- // cutting off anything floating over it.
723
- overflow: "hidden",
724
- ...style,
725
- }, children: [_jsx(Plots, { frame: frame, width: result.width, height: result.height,
726
- // The tween's own pan: the tiles, the villages and the roads move with the cards on them.
727
- pan: frame.city ? frame.city.pan : panned, brand: brand, pinned: pinnedIds, swallowed: swallow,
728
- // A tile is its district: focusing it means the kind's aggregate, never the card's own id.
729
- onFocus: (id) => {
730
- const kind = kindOfCard(id);
731
- if (kind !== null)
732
- setView((current) => withFocus(current, aggregateId(kind)));
733
- } }), useDom ? (
691
+ return (_jsx(MarqueeRoomContext.Provider, { value: marqueeRoom, children: _jsxs("div", { ref: wrapperRef, className: `graview-ground${className ? ` ${className}` : ""}`, "data-graview-altitude": view.overview ? "" : undefined, "data-graview-reach": frame.city ? `${Math.round(cameraLimit(result).x)} ${Math.round(cameraLimit(result).y)}` : undefined, "data-graview-settled": frame.t >= 1 && !flights.gliding() ? "" : undefined, onPointerDown: onGroundDown, onPointerMove: onDragMove, onPointerUp: onDragUp, onPointerCancel: onDragUp,
734
692
  /*
735
- * The DOM path uses an ORDINARY container, not a capture canvas.
736
- *
737
- * `layoutsubtree` exists so the GPU can capture these elements, and
738
- * it changes how the browser lays them out. Combining it with the CSS
739
- * transforms and filters this path applies crashes the renderer
740
- * process in Chromium 154 — silently, on first paint. Since the DOM
741
- * path never captures anything, the canvas has no job here, and not
742
- * creating one removes the whole interaction.
693
+ * CLICKING EMPTY GROUND puts the selection down — the gesture every
694
+ * canvas tool teaches, and the graceful half of deselection the ×
695
+ * and Escape were carrying alone. Only the bare ground: a card, a
696
+ * control or a piece of chrome keeps its own meaning, and a drag
697
+ * that ends on the ground is still a pan, not a deselection.
743
698
  */
744
- _jsx("div", { "data-graview-stage": "dom", "data-graview-world": "", style: {
745
- position: "relative",
746
- zIndex: SCENE_LAYERS.stage,
747
- width: result.width,
748
- height: result.height,
749
- overflow: "hidden",
750
- }, children: hosts })) : (_jsx("canvas", { ref: canvasRef, "data-graview-stage": "gpu", layoutsubtree: "", width: result.width, height: result.height, style: {
751
- display: "block",
752
- position: "relative",
753
- zIndex: SCENE_LAYERS.stage,
754
- width: result.width,
755
- height: result.height,
756
- }, children: hosts })), view.overview && !dragging ? (
757
- /* What the window does not reach, named on the edge it lies past (see edge-signs.tsx). */
758
- _jsx(EdgeSigns, { result: result, schema: store.schema, onGo: (by) => {
759
- const limit = cameraLimit(result);
760
- setView((current) => withPan(current, panWithin(limit, { x: (current.pan?.x ?? 0) + by.x, y: (current.pan?.y ?? 0) + by.y })));
761
- noteMoved();
762
- } })) : null, view.overview ? (
763
- /* SCENE FURNITURE in the ground's other corner: the way a map carries its own zoom. */
764
- _jsxs("div", { className: "graview-zoom", role: "group", "aria-label": "Zoom", onPointerDown: (event) => event.stopPropagation(), onClick: (event) => event.stopPropagation(), children: [_jsx("button", { type: "button", className: "graview-zoom-button", "data-testid": "zoom-out", "aria-label": "Zoom out", title: "Zoom out \u2014 or pinch, or ctrl+wheel", disabled: zoom <= ZOOM_MIN + 1e-6, onClick: () => zoomAbout.current(1 / 1.25), children: "\u2212" }), _jsxs("span", { className: "graview-zoom-level", "data-testid": "zoom-level", "aria-live": "polite", children: [Math.round(zoom * 100), "%"] }), _jsx("button", { type: "button", className: "graview-zoom-button", "data-testid": "zoom-in", "aria-label": "Zoom in", title: "Zoom in \u2014 or pinch, or ctrl+wheel", disabled: zoom >= ZOOM_MAX - 1e-6, onClick: () => zoomAbout.current(1.25), children: "+" })] })) : null, _jsx(Lines, { frame: frame, holding: inPlace, width: result.width, height: result.height, scheme: scheme, overview: view.overview ?? false, selection: selection, emphasis: emphasis, stageRef: wrapperRef, store: store, graphNodes: nodes,
699
+ onClick: (event) => {
700
+ if (swallow.current)
701
+ return;
702
+ const target = event.target;
703
+ // The panes are labelled sections now, not asides (FR-40); chrome is chrome either way.
704
+ if (target.closest("[data-graview-view], button, aside, section[aria-label], [data-graview-offstage], a, input, select"))
705
+ return;
706
+ setSelection([]);
707
+ setMenuAt(null);
708
+ }, style: {
709
+ position: "relative",
710
+ width: "100%",
711
+ height: "100%",
712
+ cursor: dragging ? "grabbing" : "grab",
713
+ touchAction: "none",
714
+ ["--graview-altitude"]: view.overview ? 1 : 0,
715
+ /*
716
+ * THE LATTICE THE CITY STANDS ON. The ground draws its diamonds at
717
+ * the cell the map was placed with, anchored where cell (0,0) meets
718
+ * the canvas — and the anchor pans with the picture, since the pan
719
+ * is baked into every coordinate — so a plot sits on a grid line a
720
+ * person can see. The kit's own size stands when no city is drawn.
721
+ */
722
+ ...(frame.city
723
+ ? {
724
+ ["--graview-lattice-cell"]: `${frame.city.cell.toFixed(2)}px`,
725
+ // The tween's own pan, not the live one: the ground moves with the cards it is under.
726
+ ["--graview-lattice-x"]: `${(frame.city.originX + frame.city.pan.x).toFixed(1)}px`,
727
+ ["--graview-lattice-y"]: `${(frame.city.originY + frame.city.pan.y).toFixed(1)}px`,
728
+ }
729
+ : {}),
730
+ ...(dragging ? { userSelect: "none" } : {}),
731
+ // The stage is sized to the measurement, but a stale measurement
732
+ // during a resize can briefly exceed it. Clipping keeps the scene
733
+ // inside its own bounds instead of pushing the page taller and
734
+ // cutting off anything floating over it.
735
+ overflow: "hidden",
736
+ ...style,
737
+ }, children: [_jsx(Plots, { frame: frame, width: result.width, height: result.height,
738
+ // The tween's own pan: the tiles, the villages and the roads move with the cards on them.
739
+ pan: frame.city ? frame.city.pan : panned, brand: brand, pinned: pinnedIds, swallowed: swallow,
740
+ // A tile is its district: focusing it means the kind's aggregate, never the card's own id.
741
+ onFocus: (id) => {
742
+ const kind = kindOfCard(id);
743
+ if (kind !== null)
744
+ setView((current) => withFocus(current, aggregateId(kind)));
745
+ } }), useDom ? (
765
746
  /*
766
- * A LINE IS A THING. Clicking one that stands for exactly one edge
767
- * selects the relation itself — the inspector then says what it is
768
- * and what may lawfully be done to it; right-click opens the same
769
- * actions at the pointer. Bundled lines stay scenery: "some of
770
- * these" is not an honest thing to act on.
747
+ * The DOM path uses an ORDINARY container, not a capture canvas.
748
+ *
749
+ * `layoutsubtree` exists so the GPU can capture these elements, and
750
+ * it changes how the browser lays them out. Combining it with the CSS
751
+ * transforms and filters this path applies crashes the renderer
752
+ * process in Chromium 154 — silently, on first paint. Since the DOM
753
+ * path never captures anything, the canvas has no job here, and not
754
+ * creating one removes the whole interaction.
771
755
  */
772
- onPickEdge: (edgeId, at) => {
773
- // A pan that happened to start on a line is a pan, not a pick.
774
- if (swallow.current)
775
- return;
776
- setSelection([edgeId]);
777
- setMenuAt(at ? { ...at, on: edgeId } : null);
778
- }, liveOf: (connector) => {
756
+ _jsx("div", { "data-graview-stage": "dom", "data-graview-world": "", style: {
757
+ position: "relative",
758
+ zIndex: SCENE_LAYERS.stage,
759
+ width: result.width,
760
+ height: result.height,
761
+ overflow: "hidden",
762
+ }, children: hosts })) : (_jsx("canvas", { ref: canvasRef, "data-graview-stage": "gpu", layoutsubtree: "", width: result.width, height: result.height, style: {
763
+ display: "block",
764
+ position: "relative",
765
+ zIndex: SCENE_LAYERS.stage,
766
+ width: result.width,
767
+ height: result.height,
768
+ }, children: hosts })), view.overview && !dragging ? (
769
+ /* What the window does not reach, named on the edge it lies past (see edge-signs.tsx). */
770
+ _jsx(EdgeSigns, { result: result, schema: store.schema, onGo: (by) => {
771
+ const limit = cameraLimit(result);
772
+ setView((current) => withPan(current, panWithin(limit, { x: (current.pan?.x ?? 0) + by.x, y: (current.pan?.y ?? 0) + by.y })));
773
+ noteMoved();
774
+ } })) : null, view.overview ? (
775
+ /* SCENE FURNITURE in the ground's other corner: the way a map carries its own zoom. */
776
+ _jsxs("div", { className: "graview-zoom", role: "group", "aria-label": "Zoom", onPointerDown: (event) => event.stopPropagation(), onClick: (event) => event.stopPropagation(), children: [_jsx("button", { type: "button", className: "graview-zoom-button", "data-testid": "zoom-out", "aria-label": "Zoom out", title: "Zoom out \u2014 or pinch, or ctrl+wheel", disabled: zoom <= ZOOM_MIN + 1e-6, onClick: () => zoomAbout.current(1 / 1.25), children: "\u2212" }), _jsxs("span", { className: "graview-zoom-level", "data-testid": "zoom-level", "aria-live": "polite", children: [Math.round(zoom * 100), "%"] }), _jsx("button", { type: "button", className: "graview-zoom-button", "data-testid": "zoom-in", "aria-label": "Zoom in", title: "Zoom in \u2014 or pinch, or ctrl+wheel", disabled: zoom >= ZOOM_MAX - 1e-6, onClick: () => zoomAbout.current(1.25), children: "+" })] })) : null, _jsx(Lines, { frame: frame, holding: inPlace, width: result.width, height: result.height, scheme: scheme, overview: view.overview ?? false, selection: selection, emphasis: emphasis, stageRef: wrapperRef, store: store, graphNodes: nodes,
779
777
  /*
780
- * A relation PULSES where it was just made or broken.
781
- *
782
- * An edge write touches both of its ends, so a connector is live
783
- * exactly when both of the things it joins were written in the same
784
- * window — which is what making or breaking a relation looks like in
785
- * the log, and is not what changing one node's field looks like.
778
+ * A LINE IS A THING. Clicking one that stands for exactly one edge
779
+ * selects the relation itself — the inspector then says what it is
780
+ * and what may lawfully be done to it; right-click opens the same
781
+ * actions at the pointer. Bundled lines stay scenery: "some of
782
+ * these" is not an honest thing to act on.
786
783
  */
787
- const from = activityOf(frame.nodes.find((node) => node.id === connector.from));
788
- const to = activityOf(frame.nodes.find((node) => node.id === connector.to));
789
- return from?.wrote && to?.wrote ? (from.at > to.at ? from : to) : undefined;
790
- } }), _jsx(Occupants, { width: result.width, whereIs: (id) => whereIsIn(frame, wrapperRef.current, scheme, views, id) }), _jsx(SeatMarks, { marks: seatWork.marks, questions: [...robots.values()]
791
- .filter((one) => one.mode === "asking" && one.at !== null && one.say)
792
- .map((one) => ({ id: one.at, who: one.who, asks: one.say })), whereIs: (id) => whereIsIn(frame, wrapperRef.current, scheme, views, id), stageRef: wrapperRef, width: result.width, height: result.height }), _jsx(RelationCaptions, { nodes: frame.nodes, moving: frame.t < 1, holding: inPlace, scheme: scheme, width: result.width, stageRef: wrapperRef }), children] }));
784
+ onPickEdge: (edgeId, at) => {
785
+ // A pan that happened to start on a line is a pan, not a pick.
786
+ if (swallow.current)
787
+ return;
788
+ setSelection([edgeId]);
789
+ setMenuAt(at ? { ...at, on: edgeId } : null);
790
+ }, liveOf: (connector) => {
791
+ /*
792
+ * A relation PULSES where it was just made or broken.
793
+ *
794
+ * An edge write touches both of its ends, so a connector is live
795
+ * exactly when both of the things it joins were written in the same
796
+ * window — which is what making or breaking a relation looks like in
797
+ * the log, and is not what changing one node's field looks like.
798
+ */
799
+ const from = activityOf(frame.nodes.find((node) => node.id === connector.from));
800
+ const to = activityOf(frame.nodes.find((node) => node.id === connector.to));
801
+ return from?.wrote && to?.wrote ? (from.at > to.at ? from : to) : undefined;
802
+ } }), _jsx(Occupants, { width: result.width, whereIs: (id) => whereIsIn(frame, wrapperRef.current, scheme, views, id) }), _jsx(SeatMarks, { marks: seatWork.marks, questions: [...robots.values()]
803
+ .filter((one) => one.mode === "asking" && one.at !== null && one.say)
804
+ .map((one) => ({ id: one.at, who: one.who, asks: one.say })), whereIs: (id) => whereIsIn(frame, wrapperRef.current, scheme, views, id), stageRef: wrapperRef, width: result.width, height: result.height }), _jsx(RelationCaptions, { nodes: frame.nodes, moving: frame.t < 1, holding: inPlace, scheme: scheme, width: result.width, stageRef: wrapperRef }), children] }) }));
793
805
  }
794
806
  //# sourceMappingURL=scene-root.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-root.js","sourceRoot":"","sources":["../src/scene-root.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-root.js","sourceRoot":"","sources":["../src/scene-root.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { type ViewState } from "@graview/layout/view";
2
+ /**
3
+ * Keeps the view in the URL fragment and honours the back button.
4
+ *
5
+ * The back button returning to the exact prior view is not a nicety here: it
6
+ * is the thing that makes a spatial interface navigable at all, because it
7
+ * means no arrangement is ever unreachable once you have left it.
8
+ */
9
+ /**
10
+ * `useUrlSync` as a component, for shells that make syncing conditional —
11
+ * a hook inside `if (syncUrl)` is a Rules-of-Hooks trap the moment the
12
+ * flag ever changes; a conditionally RENDERED component is not.
13
+ */
14
+ export declare function UrlSync(): null;
15
+ export declare function useUrlSync(): void;
16
+ /**
17
+ * Whether one view differs from another only in what the user MOVED.
18
+ *
19
+ * Where you are is the focus, the relation, what is expanded and whether you
20
+ * have risen above the stack. Where you dragged things to is not a different
21
+ * place; it is the same place, rearranged.
22
+ */
23
+ /**
24
+ * WHETHER A CHANGE IS A STOP OR JUST A NUDGE OF THE ONE YOU ARE ON.
25
+ *
26
+ * Exported so it can be read and held to: what belongs in here is the
27
+ * difference between the back button meaning something and meaning "one
28
+ * pixel ago", and the two things that went wrong went wrong silently — the
29
+ * address changed, no entry was pushed, and the arrows stayed grey.
30
+ */
31
+ export declare function adjustment(before: ViewState | null, after: ViewState): boolean;
32
+ //# sourceMappingURL=url-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-sync.d.ts","sourceRoot":"","sources":["../src/url-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqD,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAYzG;;;;;;GAMG;AACH;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAG9B;AAED,wBAAgB,UAAU,IAAI,IAAI,CAoHjC;AAED;;;;;;GAMG;AACH;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CA8B9E"}