@graview/react 0.1.29 → 0.1.32

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 (92) hide show
  1. package/dist/ai-desk.d.ts +45 -0
  2. package/dist/ai-desk.d.ts.map +1 -0
  3. package/dist/ai-desk.js +52 -0
  4. package/dist/ai-desk.js.map +1 -0
  5. package/dist/connectors.d.ts.map +1 -1
  6. package/dist/connectors.js +9 -2
  7. package/dist/connectors.js.map +1 -1
  8. package/dist/context.d.ts +83 -3
  9. package/dist/context.d.ts.map +1 -1
  10. package/dist/context.js +58 -4
  11. package/dist/context.js.map +1 -1
  12. package/dist/drawing.d.ts +2 -0
  13. package/dist/drawing.d.ts.map +1 -1
  14. package/dist/drawing.js +2 -0
  15. package/dist/drawing.js.map +1 -1
  16. package/dist/edge-signs.d.ts +28 -2
  17. package/dist/edge-signs.d.ts.map +1 -1
  18. package/dist/edge-signs.js +112 -13
  19. package/dist/edge-signs.js.map +1 -1
  20. package/dist/go.d.ts +34 -10
  21. package/dist/go.d.ts.map +1 -1
  22. package/dist/go.js +14 -5
  23. package/dist/go.js.map +1 -1
  24. package/dist/index.d.ts +10 -4
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +7 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/linked-reads.d.ts +3 -0
  29. package/dist/linked-reads.d.ts.map +1 -0
  30. package/dist/linked-reads.js +50 -0
  31. package/dist/linked-reads.js.map +1 -0
  32. package/dist/menu-sections.d.ts +69 -0
  33. package/dist/menu-sections.d.ts.map +1 -0
  34. package/dist/menu-sections.js +35 -0
  35. package/dist/menu-sections.js.map +1 -0
  36. package/dist/occupants.d.ts +1 -1
  37. package/dist/occupants.d.ts.map +1 -1
  38. package/dist/occupants.js +3 -1
  39. package/dist/occupants.js.map +1 -1
  40. package/dist/past.d.ts +58 -0
  41. package/dist/past.d.ts.map +1 -0
  42. package/dist/past.js +70 -0
  43. package/dist/past.js.map +1 -0
  44. package/dist/placement.d.ts +4 -0
  45. package/dist/placement.d.ts.map +1 -1
  46. package/dist/placement.js +7 -2
  47. package/dist/placement.js.map +1 -1
  48. package/dist/popover.d.ts +9 -1
  49. package/dist/popover.d.ts.map +1 -1
  50. package/dist/popover.js +3 -1
  51. package/dist/popover.js.map +1 -1
  52. package/dist/provider.d.ts +9 -4
  53. package/dist/provider.d.ts.map +1 -1
  54. package/dist/provider.js +6 -2
  55. package/dist/provider.js.map +1 -1
  56. package/dist/rails.d.ts +7 -7
  57. package/dist/rails.d.ts.map +1 -1
  58. package/dist/rails.js +7 -7
  59. package/dist/rails.js.map +1 -1
  60. package/dist/robot.d.ts +2 -2
  61. package/dist/routes.d.ts +6 -0
  62. package/dist/routes.d.ts.map +1 -1
  63. package/dist/routes.js +8 -0
  64. package/dist/routes.js.map +1 -1
  65. package/dist/scene-blur.d.ts +25 -0
  66. package/dist/scene-blur.d.ts.map +1 -0
  67. package/dist/scene-blur.js +92 -0
  68. package/dist/scene-blur.js.map +1 -0
  69. package/dist/scene-lines.d.ts.map +1 -1
  70. package/dist/scene-lines.js +91 -2
  71. package/dist/scene-lines.js.map +1 -1
  72. package/dist/scene-options.d.ts +10 -4
  73. package/dist/scene-options.d.ts.map +1 -1
  74. package/dist/scene-options.js +36 -17
  75. package/dist/scene-options.js.map +1 -1
  76. package/dist/scene-root.d.ts +31 -6
  77. package/dist/scene-root.d.ts.map +1 -1
  78. package/dist/scene-root.js +105 -32
  79. package/dist/scene-root.js.map +1 -1
  80. package/dist/seat-talk.d.ts +6 -17
  81. package/dist/seat-talk.d.ts.map +1 -1
  82. package/dist/seat-talk.js +3 -22
  83. package/dist/seat-talk.js.map +1 -1
  84. package/dist/tie-labels.d.ts +83 -0
  85. package/dist/tie-labels.d.ts.map +1 -0
  86. package/dist/tie-labels.js +98 -0
  87. package/dist/tie-labels.js.map +1 -0
  88. package/dist/view-host.d.ts +3 -1
  89. package/dist/view-host.d.ts.map +1 -1
  90. package/dist/view-host.js +10 -18
  91. package/dist/view-host.js.map +1 -1
  92. package/package.json +5 -5
@@ -5,6 +5,8 @@ import { aggregateId, cameraLimit, panForZoom, kindOfCard, kindsOf, layout, with
5
5
  import { withPan, withPin } from "@graview/layout/view-moves";
6
6
  import { Suspense, useCallback, useContext, useEffect, useMemo, useRef, useState, } from "react";
7
7
  import { retryingImport } from "@graview/core/retry";
8
+ import { chooseRenderer, gpuCapturePresent, rendererAsked } from "@graview/render";
9
+ import { useDomBlurWithinBudget, usePlaneBlur } from "./scene-blur.js";
8
10
  import { lazyModule } from "./lazy-part.js";
9
11
  import { BesideTheMap } from "./beside-the-map.js";
10
12
  import { mapChoice } from "./map-choice.js";
@@ -17,7 +19,7 @@ import { kitConnector, useKit } from "./kit.js";
17
19
  // The scene searches: it hands the provider the matcher as it is fetched (FR-179).
18
20
  matchWith({ search, touchWeights });
19
21
  import { Occupants } from "./occupants.js";
20
- import { EdgeSigns } from "./edge-signs.js";
22
+ import { EdgeSigns, useTrailBox } from "./edge-signs.js";
21
23
  import { useCameraFlights } from "./scene-camera.js";
22
24
  import { useKeyboardKeepsToWhatIsSeen } from "./scene-covered.js";
23
25
  import { useDock, useHeldDistrict, useSceneDrag, useWheelAndPinch, useWorldShift } from "./scene-hand.js";
@@ -26,7 +28,6 @@ import { BandCard, BeyondCard, SettledView } from "./resolved-view.js";
26
28
  import { selectionFor, useElementSize, useRootUnit } from "./scene-helpers.js";
27
29
  import { Lines, provisionalLines, RelationCaptions } from "./scene-lines.js";
28
30
  import { railInset } from "./rails.js";
29
- import { useSeatDrawn } from "./seat-talk.js";
30
31
  import { useLayoutOptions } from "./scene-options.js";
31
32
  export { railInset };
32
33
  import { SceneViewHost } from "./view-host.js";
@@ -288,10 +289,8 @@ function usePointerReport(pointer, stage) {
288
289
  * A group is stale when any of its members changed, since its own view
289
290
  * is a summary of them.
290
291
  */
291
- function useAttachedRenderer(renderer, attachRenderer, canvasRef, frame, touched) {
292
+ function useAttachedRenderer(attachRenderer, canvasRef, frame, touched, drawOnDom, blur, scheme, fallBack) {
292
293
  useEffect(() => {
293
- if (renderer === "dom")
294
- return;
295
294
  const canvas = canvasRef.current;
296
295
  if (!canvas || !attachRenderer)
297
296
  return;
@@ -306,12 +305,68 @@ function useAttachedRenderer(renderer, attachRenderer, canvasRef, frame, touched
306
305
  canvas,
307
306
  layout: frame,
308
307
  dirty,
309
- hostOf: (id) => canvas.querySelector(`[data-graview-view="${CSS.escape(id)}"]`),
308
+ // In the canvas, or on the DOM path beside it.
309
+ hostOf: (id) => (canvas.parentElement ?? canvas).querySelector(`[data-graview-view="${CSS.escape(id)}"]`),
310
+ drawOnDom,
311
+ blur,
312
+ scheme,
313
+ fallBack,
310
314
  });
311
315
  return () => {
312
316
  detach?.();
313
317
  };
314
- }, [renderer, attachRenderer, frame, touched]);
318
+ }, [attachRenderer, frame, touched, drawOnDom, blur, scheme, fallBack]);
319
+ }
320
+ /** The capture path, fetched only once a page is to draw on it. */
321
+ const gpuPath = retryingImport(() => import("@graview/render/gpu"));
322
+ /**
323
+ * WHICH PATH THIS PAGE DRAWS ON. Decided once, before anything is fetched:
324
+ * the host's ask, an operator's `?renderer=`, and whether the browser can
325
+ * capture at all. A page that can is drawn on the DOM path while the
326
+ * capture path arrives, and moves onto the canvas when it has; a page whose
327
+ * GPU then fails its first frames falls back for good. Nothing is said
328
+ * either way — the picture is the same.
329
+ */
330
+ function useRendererPath(renderer, attachRenderer) {
331
+ const [startsOn] = useState(() => {
332
+ const operator = rendererAsked();
333
+ // A host's own renderer is the capture path it chose, attached as it is.
334
+ if (attachRenderer)
335
+ return renderer === "dom" || (renderer === "auto" && operator === "dom") ? "dom" : "gpu";
336
+ return chooseRenderer(renderer, { operator, present: gpuCapturePresent() });
337
+ });
338
+ const [fellBack, setFellBack] = useState(false);
339
+ const fallBack = useCallback(() => setFellBack(true), []);
340
+ const [own, setOwn] = useState(null);
341
+ const fetches = startsOn === "gpu" && !attachRenderer && !fellBack && own === null;
342
+ useEffect(() => {
343
+ if (!fetches)
344
+ return;
345
+ let live = true;
346
+ gpuPath().then((gpu) => {
347
+ if (live)
348
+ setOwn(() => gpu.attachGpu());
349
+ }, () => {
350
+ if (live)
351
+ setFellBack(true);
352
+ });
353
+ return () => {
354
+ live = false;
355
+ };
356
+ }, [fetches]);
357
+ const attach = startsOn === "gpu" && !fellBack ? (attachRenderer ?? own) : null;
358
+ return { attach: attach ?? null, fallBack };
359
+ }
360
+ /**
361
+ * The views a renderer handed to the DOM path, as state. A set equal to the
362
+ * last one is not a new render: only a change of hands should cost one.
363
+ */
364
+ function useDrawnOnDom() {
365
+ const [onDom, setOnDom] = useState(() => new Set());
366
+ const drawOnDom = useCallback((ids) => {
367
+ setOnDom((current) => (current.size === ids.size && [...ids].every((id) => current.has(id)) ? current : new Set(ids)));
368
+ }, []);
369
+ return [onDom, drawOnDom];
315
370
  }
316
371
  /**
317
372
  * What just happened, resolved onto whatever is DRAWN.
@@ -547,13 +602,11 @@ function ZoomControls({ zoom, zoomBy, above, setAbove }) {
547
602
  * anything deeper than a direct child of the canvas. Nesting happens inside a
548
603
  * view, never between views.
549
604
  */
550
- export function Scene({ options, renderer = "auto", attachRenderer, className, style, animate = true, children, }) {
605
+ export function Scene({ options, renderer = "auto", attachRenderer, blur = true, className, style, animate = true, children, }) {
551
606
  const context = useGraview();
552
- const { store, scheme, views, view, setView, selection, setSelection, setMenuAt, emphasis, brand, noteMoved, robots, seatTalk, motion } = context;
607
+ const { store, scheme, views, view, setView, selection, setSelection, setMenuAt, emphasis, brand, noteMoved, robots, motion } = context;
553
608
  // A panel beside the map shows what is chosen from altitude, a record in focus among it (`mapChoice`).
554
609
  const besideTheMap = useContext(BesideTheMap);
555
- /* Whether an ask field stands at the picture's foot: the layout keeps that strip clear of cards. */
556
- const seated = useSeatDrawn(seatTalk);
557
610
  const canvasRef = useRef(null);
558
611
  const wrapperRef = useRef(null);
559
612
  const size = useElementSize(wrapperRef);
@@ -580,7 +633,17 @@ export function Scene({ options, renderer = "auto", attachRenderer, className, s
580
633
  const [above, setAbove] = useFromAbove();
581
634
  const seenFrom = useMemo(() => (above ? { ...options, tilt: TOP_DOWN } : options), [options, above]);
582
635
  const { probe: dockProbe, dock } = useDock();
583
- const sized = useLayoutOptions(seenFrom, size, unit, seated, closer * zoom, dock, nodes);
636
+ /*
637
+ * THE TRAIL'S ROOM. On the ground, where the picture's trail says
638
+ * something — "zoomed in ×", "the past ×", a raised kind — the focused
639
+ * card begins below it rather than under it: its top, 14 pixels down, and
640
+ * a chip of the reader's text size (the tenth walk: "Shifts ×" over "Sort").
641
+ */
642
+ const headroom = !view.overview && (view.zoom || view.past || view.relation) ? Math.ceil(14 + (34 * unit) / 16 + 6) : 0;
643
+ // On the ground what stands over the foot (the timeline) is the layout's to keep clear; from altitude the city is fitted above it itself.
644
+ const sized = useLayoutOptions(seenFrom, size, unit, closer * zoom, dock, nodes, headroom, view.overview ? 0 : dock.bottom);
645
+ // What the picture's trail covers, for the signs at the top edge to step past.
646
+ const trailBox = useTrailBox(wrapperRef);
584
647
  const [panned, seen, panWithin, cameraLive, setCamera] = useCamera(view);
585
648
  // A district cannot be placed by hand from altitude, so no plot wears the pinned curb for one (a pin in an old bookmark is ignored).
586
649
  const pinnedIds = useMemo(() => new Set(Object.keys(view.pins).filter((id) => kindOfCard(id) === null)), [view.pins]);
@@ -601,8 +664,13 @@ export function Scene({ options, renderer = "auto", attachRenderer, className, s
601
664
  const flights = useCameraFlights({ view, result, frame, panned, closer, screenId: null, setCamera });
602
665
  useLentWhereIs(context, frame, wrapperRef);
603
666
  usePointerReport(context.pointer, wrapperRef);
604
- useAttachedRenderer(renderer, attachRenderer, canvasRef, frame, touched);
605
- const useDom = renderer === "dom" || (renderer === "auto" && !attachRenderer);
667
+ const [onDom, drawOnDom] = useDrawnOnDom();
668
+ const { attach, fallBack } = useRendererPath(renderer, attachRenderer);
669
+ const blurred = usePlaneBlur(blur);
670
+ useAttachedRenderer(attach, canvasRef, frame, touched, drawOnDom, blurred, scheme, fallBack);
671
+ const useDom = attach === null;
672
+ // The DOM path's blur, only while its frames keep to the budget (scene-blur.ts).
673
+ const domBlur = useDomBlurWithinBudget(blurred && useDom, dragging || steering || frame.t < 1);
606
674
  const activityOf = useActivityOf();
607
675
  /* THE HAND: dragging the ground to look around and a district to place it — see scene-hand.ts. */
608
676
  const shift = useWorldShift({
@@ -618,7 +686,8 @@ export function Scene({ options, renderer = "auto", attachRenderer, className, s
618
686
  panned,
619
687
  limit: () => cameraLimit(result),
620
688
  panWithin,
621
- moveByTransform: useDom,
689
+ // Both paths: on the GPU the canvas is one of the layers the hand moves, its pixels with it.
690
+ moveByTransform: true,
622
691
  setView,
623
692
  setDragging,
624
693
  noteMoved,
@@ -658,19 +727,15 @@ export function Scene({ options, renderer = "auto", attachRenderer, className, s
658
727
  steer();
659
728
  const limit = cameraLimit(result);
660
729
  const pan = view.pan ?? { x: 0, y: 0 };
661
- if (useDom) {
662
- /*
663
- * THE WHEEL IS A HAND TOO — so it moves the picture, and only the
664
- * wheel coming to rest moves the world. It was left on the old road
665
- * when the drag came off it: a `setView` per tick, which is a layout,
666
- * a render of every context consumer and a DOM re-measure for each
667
- * notch of a wheel.
668
- */
669
- const live = shift.offset();
670
- shift.shiftTo(panWithin(limit, { x: pan.x + live.x + dx, y: pan.y + live.y + dy }), pan);
671
- }
672
- else
673
- nudge(dx, dy, limit);
730
+ /*
731
+ * THE WHEEL IS A HAND TOO — so it moves the picture, and only the
732
+ * wheel coming to rest moves the world. It was left on the old road
733
+ * when the drag came off it: a `setView` per tick, which is a layout,
734
+ * a render of every context consumer and a DOM re-measure for each
735
+ * notch of a wheel.
736
+ */
737
+ const live = shift.offset();
738
+ shift.shiftTo(panWithin(limit, { x: pan.x + live.x + dx, y: pan.y + live.y + dy }), pan);
674
739
  noteMoved();
675
740
  };
676
741
  const actsOn = useCardActs();
@@ -691,10 +756,12 @@ export function Scene({ options, renderer = "auto", attachRenderer, className, s
691
756
  * at full size (the lens panel); the stop is the same, so an address, the
692
757
  * bar and Back still name it.
693
758
  */
694
- const hosts = frame.nodes.filter((node) => node.screenOf === undefined).map((node) => (_jsx(SceneViewHost, { node: node, crowded: crowded(node), useDom: useDom, ...(node.plot && frame.city && Math.round(node.plane) === 2
759
+ // On the capture path a view the renderer handed on is drawn as the DOM path draws it.
760
+ const hostedOnDom = (id) => useDom || onDom.has(id);
761
+ const hosts = frame.nodes.filter((node) => node.screenOf === undefined).map((node) => (_jsx(SceneViewHost, { node: node, crowded: crowded(node), useDom: hostedOnDom(node.id), blur: domBlur || (!useDom && blurred), ...(node.plot && frame.city && Math.round(node.plane) === 2
695
762
  ? { frontY: plotY(frame.city, node, node.plot, 1), centerY: plotY(frame.city, node, node.plot, 2) }
696
763
  : {}), touched: touched.has(node.id), ...withActivity(activityOf(node)), scheme: scheme, canvasWidth: result.width, canvasHeight: result.height, selected: selection.includes(node.id), ...actsOn(node), onMenu: setMenuAt, selection: selection, onDragStart: (event) => onCardDown(node, event), onDragMove: onDragMove, onDragEnd: onDragUp, swallowClick: swallow, children: 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)));
697
- return (_jsxs("div", { ref: wrapperRef, className: `graview-ground${className ? ` ${className}` : ""}`, "data-graview-altitude": view.overview ? "" : undefined, "data-graview-reach": frame.city ? reachOf(cameraLimit(result)) : undefined, "data-graview-settled": frame.t >= 1 && !flights.gliding() ? "" : undefined, "data-graview-box": size ? `${size.width}x${size.height}` : undefined, onPointerDown: onGroundDown, onPointerMove: onDragMove, onPointerUp: onDragUp, onPointerCancel: onDragUp,
764
+ return (_jsxs("div", { ref: wrapperRef, className: `graview-ground${className ? ` ${className}` : ""}`, "data-graview-altitude": view.overview ? "" : undefined, "data-graview-reach": frame.city ? reachOf(cameraLimit(result)) : undefined, "data-graview-settled": frame.t >= 1 && !flights.gliding() ? "" : undefined, "data-graview-box": size ? `${size.width}x${size.height}` : undefined, "data-graview-renderer": useDom ? "dom" : "gpu", "data-graview-blur": (useDom ? domBlur : blurred) ? "" : undefined, onPointerDown: onGroundDown, onPointerMove: onDragMove, onPointerUp: onDragUp, onPointerCancel: onDragUp,
698
765
  /*
699
766
  * CLICKING EMPTY GROUND puts the selection down — the gesture every
700
767
  * canvas tool teaches, and the graceful half of deselection the ×
@@ -767,9 +834,15 @@ export function Scene({ options, renderer = "auto", attachRenderer, className, s
767
834
  * path never captures anything, the canvas has no job here, and not
768
835
  * creating one removes the whole interaction.
769
836
  */
770
- _jsx("div", { "data-graview-stage": "dom", "data-graview-world": "", style: { ...stage, overflow: "hidden" }, children: hosts })) : (_jsx("canvas", { ref: canvasRef, "data-graview-stage": "gpu", layoutsubtree: "", ...extent, style: { display: "block", ...stage }, children: hosts })), view.overview && !dragging ? (
837
+ _jsx("div", { "data-graview-stage": "dom", "data-graview-world": "", style: { ...stage, overflow: "hidden" }, children: hosts })) : (
838
+ /*
839
+ * One of the layers the hand moves as a unit (`liveShift`): a pan
840
+ * moves the canvas and what is under it by a transform, as it moves
841
+ * the DOM path's stage, and the GPU redraws nothing until it lands.
842
+ */
843
+ _jsxs("div", { "data-graview-world": "", style: stage, children: [_jsx("div", { "data-graview-stage": "dom", "data-graview-under-canvas": "", style: { position: "absolute", left: 0, top: 0, ...extent, overflow: "hidden" }, children: hosts.filter((host) => onDom.has(String(host.key))) }), _jsx("canvas", { ref: canvasRef, "data-graview-stage": "gpu", content: "drawable", layoutsubtree: "", ...extent, style: { display: "block", position: "relative", ...extent }, children: hosts.filter((host) => !onDom.has(String(host.key))) })] })), view.overview && !dragging ? (
771
844
  /* What the window does not reach, named on the edge it lies past (see edge-signs.tsx). */
772
- _jsx(EdgeSigns, { result: result, schema: store.schema, onGo: (by) => {
845
+ _jsx(EdgeSigns, { result: result, schema: store.schema, chrome: trailBox ? [...(sized.chrome ?? []), trailBox] : (sized.chrome ?? []), onGo: (by) => {
773
846
  nudge(by.x, by.y);
774
847
  noteMoved();
775
848
  } })) : null, view.overview ? _jsx(ZoomControls, { zoom: zoom, zoomBy: (factor) => zoomAbout.current(factor), above: above, setAbove: setAbove }) : null, _jsx(Lines, { frame: frame, focusId: view.focusId, beside: besideTheMap, holding: inPlace, ...extent, scheme: scheme, overview: !!view.overview, selection: selection, emphasis: emphasis, stageRef: wrapperRef, store: store, graphNodes: nodes, ...((provisional) => (provisional ? { provisional } : {}))(provisionalLines(store)),
@@ -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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"}
@@ -6,9 +6,10 @@ import type { AddLensEdit, RemoveLensEdit, SeatDraft } from "@graview/tools/draf
6
6
  * The seat's turns lived in the panel that drew them, so a person who asked
7
7
  * on the scene and switched to Pages met an empty seat: the panel on the
8
8
  * other face was a second one, and the first had taken what was said with
9
- * it when it went. The turns, what became of each proposal, whether the
10
- * seat is open and which foot it stands at are held here, by the provider,
11
- * so every face that draws the seat draws the same one.
9
+ * it when it went. The turns, what became of each proposal and the view
10
+ * it drew are held here, by the provider, so every face that draws a
11
+ * conversation (`ChatPanel`, where a product places one) draws the same
12
+ * one, and a panel the inline AI drew stands on both faces.
12
13
  *
13
14
  * A face that is a page of its own (the whole-page Shell at `/`, the routed
14
15
  * face at `/pages`) is a second provider in a second document, so the same
@@ -73,18 +74,12 @@ export type SeatOutcome = {
73
74
  readonly state: "refused";
74
75
  readonly error: string;
75
76
  };
76
- /** Which foot of the picture the seat stands at on a desk. */
77
- export type SeatSide = "left" | "right";
78
77
  export interface SeatTalkState {
79
78
  readonly turns: readonly SeatTurn[];
80
79
  readonly outcomes: ReadonlyMap<string, SeatOutcome>;
81
80
  readonly busy: boolean;
82
- readonly open: boolean;
83
- readonly side: SeatSide;
84
- /** A question asked from somewhere else (Find's "Ask:" row), waiting for the seat to send it. */
81
+ /** A question asked from somewhere else (a suggestion, a conversation's own composer), waiting for it to be sent. */
85
82
  readonly pending: string | null;
86
- /** How many seats are drawn: Find offers "Ask:" only where one is. */
87
- readonly drawn: number;
88
83
  /** The view the seat drew, shown in place of the picture until it is kept or put away. */
89
84
  readonly draft: SeatDraft | null;
90
85
  /** Why the last ask could not be drawn, said over the last good draft. */
@@ -96,14 +91,10 @@ export interface SeatTalk {
96
91
  setTurns(next: (current: readonly SeatTurn[]) => readonly SeatTurn[]): void;
97
92
  settle(key: string, outcome: SeatOutcome): void;
98
93
  setBusy(busy: boolean): void;
99
- setOpen(open: boolean): void;
100
- setSide(side: SeatSide): void;
101
- /** Opens the seat with this question, to be sent by whichever seat is drawn. */
94
+ /** This question, to be sent by the conversation that is drawn. */
102
95
  ask(question: string): void;
103
96
  /** The waiting question, taken once. */
104
97
  takePending(): string | null;
105
- /** A seat is drawn; the returned function says it is gone. */
106
- drawn(): () => void;
107
98
  /** Shows a drawn view (or puts it away, with null), and what to say over it. */
108
99
  setDraft(draft: SeatDraft | null, note?: string | null): void;
109
100
  }
@@ -111,8 +102,6 @@ export interface SeatTalk {
111
102
  export declare const seatTalkKey: (app: string) => string;
112
103
  /** One app's conversation; `app` names where the tab keeps it, null to keep it in memory only. */
113
104
  export declare function createSeatTalk(app: string | null): SeatTalk;
114
- /** Whether a seat is drawn, re-rendering only when that changes: the scene keeps its foot clear for it. */
115
- export declare function useSeatDrawn(talk: SeatTalk): boolean;
116
105
  /** The conversation as it is now, re-rendering when it changes. */
117
106
  export declare function useSeatTalkState(talk: SeatTalk): SeatTalkState;
118
107
  //# sourceMappingURL=seat-talk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seat-talk.d.ts","sourceRoot":"","sources":["../src/seat-talk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seat-talk.d.ts","sourceRoot":"","sources":["../src/seat-talk.ts"],"names":[],"mappings":"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"}
package/dist/seat-talk.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { useSyncExternalStore } from "react";
2
- const EMPTY = { turns: [], outcomes: new Map(), busy: false, open: false, side: "left", pending: null, drawn: 0, draft: null, draftNote: null };
2
+ const EMPTY = { turns: [], outcomes: new Map(), busy: false, pending: null, draft: null, draftNote: null };
3
3
  /** The key the tab keeps an app's conversation under. */
4
4
  export const seatTalkKey = (app) => `graview:seat:${app}`;
5
5
  function read(key) {
@@ -13,8 +13,6 @@ function read(key) {
13
13
  return {
14
14
  ...(Array.isArray(parsed.turns) ? { turns: parsed.turns } : {}),
15
15
  ...(Array.isArray(parsed.outcomes) ? { outcomes: new Map(parsed.outcomes) } : {}),
16
- ...(typeof parsed.open === "boolean" ? { open: parsed.open } : {}),
17
- ...(parsed.side === "left" || parsed.side === "right" ? { side: parsed.side } : {}),
18
16
  ...(parsed.draft?.drawn ? { draft: parsed.draft } : {}),
19
17
  };
20
18
  }
@@ -27,7 +25,7 @@ function write(key, state) {
27
25
  if (!key)
28
26
  return;
29
27
  try {
30
- sessionStorage.setItem(key, JSON.stringify({ turns: state.turns.slice(-40), outcomes: [...state.outcomes], open: state.open, side: state.side, draft: state.draft }));
28
+ sessionStorage.setItem(key, JSON.stringify({ turns: state.turns.slice(-40), outcomes: [...state.outcomes], draft: state.draft }));
31
29
  }
32
30
  catch {
33
31
  // Kept for this page only.
@@ -54,33 +52,16 @@ export function createSeatTalk(app) {
54
52
  setTurns: (next) => set({ ...state, turns: next(state.turns) }),
55
53
  settle: (at, outcome) => set({ ...state, outcomes: new Map(state.outcomes).set(at, outcome) }),
56
54
  setBusy: (busy) => set({ ...state, busy }, false),
57
- setOpen: (open) => {
58
- if (state.open !== open)
59
- set({ ...state, open });
60
- },
61
- setSide: (side) => {
62
- if (state.side !== side)
63
- set({ ...state, side });
64
- },
65
- ask: (question) => set({ ...state, open: true, pending: question.trim() || null }),
55
+ ask: (question) => set({ ...state, pending: question.trim() || null }),
66
56
  takePending() {
67
57
  const pending = state.pending;
68
58
  if (pending !== null)
69
59
  set({ ...state, pending: null }, false);
70
60
  return pending;
71
61
  },
72
- drawn() {
73
- set({ ...state, drawn: state.drawn + 1 }, false);
74
- return () => set({ ...state, drawn: Math.max(0, state.drawn - 1) }, false);
75
- },
76
62
  setDraft: (draft, note = null) => set({ ...state, draft, draftNote: note }),
77
63
  };
78
64
  }
79
- /** Whether a seat is drawn, re-rendering only when that changes: the scene keeps its foot clear for it. */
80
- export function useSeatDrawn(talk) {
81
- const drawn = () => talk.get().drawn > 0;
82
- return useSyncExternalStore(talk.subscribe, drawn, drawn);
83
- }
84
65
  /** The conversation as it is now, re-rendering when it changes. */
85
66
  export function useSeatTalkState(talk) {
86
67
  return useSyncExternalStore(talk.subscribe, talk.get, talk.get);
@@ -1 +1 @@
1
- {"version":3,"file":"seat-talk.js","sourceRoot":"","sources":["../src/seat-talk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seat-talk.js","sourceRoot":"","sources":["../src/seat-talk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * WHERE A CHOSEN RECORD'S TIES SAY THEIR WORDS, AND WHEN.
3
+ *
4
+ * Every tie on the ground said its relation at its far end, all the time:
5
+ * "the findings in it: 7 findings" hung at the end of each line, and with a
6
+ * few of them drawn a row of floating labels stood over the cards — over a
7
+ * finding's title, over a district's name — saying what the lines already
8
+ * showed. Now a tie's words wait to be asked for: they show while the tie,
9
+ * or a card at either end of it, is under the pointer or holds the keyboard
10
+ * (`tiesReached`). Shown, they stand in open ground beside the far end
11
+ * rather than on it, clear of every card's title where there is room
12
+ * (`placeTieLabels`), and words two ties would both say are said once.
13
+ *
14
+ * Pure: boxes in, places out, in the stage's pixels.
15
+ */
16
+ export interface TieBox {
17
+ readonly x: number;
18
+ readonly y: number;
19
+ readonly width: number;
20
+ readonly height: number;
21
+ }
22
+ /** A tie as its words need it: what it says, where it ends, and the box it ends on. */
23
+ export interface TieToLabel {
24
+ readonly key: string;
25
+ readonly said: string;
26
+ readonly end: {
27
+ readonly x: number;
28
+ readonly y: number;
29
+ };
30
+ readonly far: TieBox;
31
+ }
32
+ /** One label, standing for every tie that says the same words. */
33
+ export interface TieLabel {
34
+ readonly said: string;
35
+ /** The ties it speaks for: shown when any of them is reached. */
36
+ readonly keys: readonly string[];
37
+ readonly x: number;
38
+ readonly y: number;
39
+ readonly width: number;
40
+ readonly height: number;
41
+ }
42
+ /** About how wide the words are drawn at the label's size, capped where the label cuts them. */
43
+ export declare function labelWidth(said: string): number;
44
+ /**
45
+ * Each set of words once, beside its far end: above the box the tie ends
46
+ * on, else below it, else to its right or left — the first place that
47
+ * stands on no card's title and no label already placed, inside the stage.
48
+ * Where every place stands on something, the one standing on least, a
49
+ * title costing far more than the rest of a card.
50
+ */
51
+ export declare function placeTieLabels(ties: readonly TieToLabel[],
52
+ /** The cards on the stage, and the strip at the top of each that says its title. */
53
+ cards: readonly {
54
+ readonly box: TieBox;
55
+ readonly title: TieBox;
56
+ }[], stage: {
57
+ readonly width: number;
58
+ readonly height: number;
59
+ }): TieLabel[];
60
+ /** A tie as the pointer and the keyboard reach it: its two ends' boxes and the records at them. */
61
+ export interface TieReach {
62
+ readonly key: string;
63
+ readonly fromBox: TieBox;
64
+ readonly toBox: TieBox;
65
+ readonly ids: readonly string[];
66
+ readonly edgeId: string | null;
67
+ }
68
+ /**
69
+ * The ties a person is reaching for: the one whose line is under the
70
+ * pointer (`edgeId`), every tie with an end where the pointer is, and every
71
+ * tie with an end on the record that holds the keyboard (`ids`) or whose
72
+ * box the focused element stands in (`box`).
73
+ */
74
+ export declare function tiesReached(ties: readonly TieReach[], at: {
75
+ readonly point?: {
76
+ readonly x: number;
77
+ readonly y: number;
78
+ };
79
+ readonly edgeId?: string | null;
80
+ readonly ids?: readonly string[];
81
+ readonly box?: TieBox;
82
+ }): Set<string>;
83
+ //# sourceMappingURL=tie-labels.d.ts.map