@graview/react 0.1.28 → 0.1.29

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 (106) hide show
  1. package/dist/affordances.d.ts +2 -1
  2. package/dist/affordances.d.ts.map +1 -1
  3. package/dist/affordances.js +2 -1
  4. package/dist/affordances.js.map +1 -1
  5. package/dist/beside-the-map.d.ts +13 -0
  6. package/dist/beside-the-map.d.ts.map +1 -0
  7. package/dist/beside-the-map.js +14 -0
  8. package/dist/beside-the-map.js.map +1 -0
  9. package/dist/channels.d.ts +2 -1
  10. package/dist/channels.d.ts.map +1 -1
  11. package/dist/channels.js +121 -22
  12. package/dist/channels.js.map +1 -1
  13. package/dist/connectors.d.ts +27 -2
  14. package/dist/connectors.d.ts.map +1 -1
  15. package/dist/connectors.js +135 -21
  16. package/dist/connectors.js.map +1 -1
  17. package/dist/context.d.ts +38 -2
  18. package/dist/context.d.ts.map +1 -1
  19. package/dist/context.js +63 -14
  20. package/dist/context.js.map +1 -1
  21. package/dist/drawn.d.ts +1 -1
  22. package/dist/drawn.d.ts.map +1 -1
  23. package/dist/drawn.js +1 -1
  24. package/dist/drawn.js.map +1 -1
  25. package/dist/edge-signs.d.ts +1 -1
  26. package/dist/edge-signs.d.ts.map +1 -1
  27. package/dist/edge-signs.js +52 -7
  28. package/dist/edge-signs.js.map +1 -1
  29. package/dist/index.d.ts +6 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +5 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/last-visit.d.ts +18 -0
  34. package/dist/last-visit.d.ts.map +1 -0
  35. package/dist/last-visit.js +79 -0
  36. package/dist/last-visit.js.map +1 -0
  37. package/dist/map-choice.d.ts +55 -0
  38. package/dist/map-choice.d.ts.map +1 -0
  39. package/dist/map-choice.js +73 -0
  40. package/dist/map-choice.js.map +1 -0
  41. package/dist/plots.d.ts +30 -24
  42. package/dist/plots.d.ts.map +1 -1
  43. package/dist/plots.js +168 -149
  44. package/dist/plots.js.map +1 -1
  45. package/dist/provider.d.ts +2 -1
  46. package/dist/provider.d.ts.map +1 -1
  47. package/dist/provider.js +3 -1
  48. package/dist/provider.js.map +1 -1
  49. package/dist/record-links-layer.d.ts +80 -0
  50. package/dist/record-links-layer.d.ts.map +1 -0
  51. package/dist/record-links-layer.js +127 -0
  52. package/dist/record-links-layer.js.map +1 -0
  53. package/dist/record-links.d.ts +58 -0
  54. package/dist/record-links.d.ts.map +1 -0
  55. package/dist/record-links.js +72 -0
  56. package/dist/record-links.js.map +1 -0
  57. package/dist/resolved-view.d.ts.map +1 -1
  58. package/dist/resolved-view.js +4 -0
  59. package/dist/resolved-view.js.map +1 -1
  60. package/dist/ribbon-width.d.ts +8 -0
  61. package/dist/ribbon-width.d.ts.map +1 -0
  62. package/dist/ribbon-width.js +15 -0
  63. package/dist/ribbon-width.js.map +1 -0
  64. package/dist/ribbons-layer.d.ts +56 -0
  65. package/dist/ribbons-layer.d.ts.map +1 -0
  66. package/dist/ribbons-layer.js +167 -0
  67. package/dist/ribbons-layer.js.map +1 -0
  68. package/dist/ribbons.d.ts +70 -0
  69. package/dist/ribbons.d.ts.map +1 -0
  70. package/dist/ribbons.js +400 -0
  71. package/dist/ribbons.js.map +1 -0
  72. package/dist/scene-camera.d.ts.map +1 -1
  73. package/dist/scene-camera.js +10 -4
  74. package/dist/scene-camera.js.map +1 -1
  75. package/dist/scene-covered.d.ts +8 -0
  76. package/dist/scene-covered.d.ts.map +1 -0
  77. package/dist/scene-covered.js +118 -0
  78. package/dist/scene-covered.js.map +1 -0
  79. package/dist/scene-hand.d.ts +15 -0
  80. package/dist/scene-hand.d.ts.map +1 -1
  81. package/dist/scene-hand.js +45 -1
  82. package/dist/scene-hand.js.map +1 -1
  83. package/dist/scene-lines.d.ts +15 -2
  84. package/dist/scene-lines.d.ts.map +1 -1
  85. package/dist/scene-lines.js +215 -85
  86. package/dist/scene-lines.js.map +1 -1
  87. package/dist/scene-options.d.ts +7 -2
  88. package/dist/scene-options.d.ts.map +1 -1
  89. package/dist/scene-options.js +22 -8
  90. package/dist/scene-options.js.map +1 -1
  91. package/dist/scene-root.d.ts +1 -0
  92. package/dist/scene-root.d.ts.map +1 -1
  93. package/dist/scene-root.js +197 -154
  94. package/dist/scene-root.js.map +1 -1
  95. package/dist/view-host.d.ts.map +1 -1
  96. package/dist/view-host.js +6 -1
  97. package/dist/view-host.js.map +1 -1
  98. package/dist/view-registry.d.ts +5 -0
  99. package/dist/view-registry.d.ts.map +1 -1
  100. package/dist/view-registry.js +2 -6
  101. package/dist/view-registry.js.map +1 -1
  102. package/dist/where-drawn.d.ts +3 -1
  103. package/dist/where-drawn.d.ts.map +1 -1
  104. package/dist/where-drawn.js +10 -16
  105. package/dist/where-drawn.js.map +1 -1
  106. package/package.json +5 -5
@@ -1,14 +1,21 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { humanizeField, SCENE_LAYERS } from "@graview/core";
3
- import { edgeSelectionId, edgeOfSelection } from "@graview/layout";
4
- import { CONNECTOR_DASH, connectorStroke, styleFor } from "@graview/render";
5
- import { useMemo, useLayoutEffect, useState } from "react";
2
+ import { counted, humanizeField, labelOf, SCENE_LAYERS } from "@graview/core";
3
+ import { edgeWords } from "@graview/core/words";
4
+ import { provenanceWords, provisionalLinks } from "@graview/core/provenance";
5
+ import { edgeOfSelection } from "@graview/layout";
6
+ import { edgeSelectionId } from "@graview/layout/view-moves";
7
+ import { CONNECTOR_DASH, PROVISIONAL_DASH, PROVISIONAL_OPACITY, connectorStroke, styleFor } from "@graview/render";
8
+ import { Suspense, useEffect, useMemo, useLayoutEffect, useRef, useState } from "react";
6
9
  import { kitConnector, useKit } from "./kit.js";
7
- import { orthogonalPoints, polylineD, routePoint, routedQuadratic } from "./routes.js";
8
- import { Connectors, connectorStrands, tieRoute } from "./connectors.js";
10
+ import { orthogonalPoints, polylineD, roundedPolylineD, routePoint, routedQuadratic } from "./routes.js";
11
+ import { channelRoute } from "./channels.js";
12
+ import { clipQuadratic, Connectors, connectorStrands, movedBy, tieRoute } from "./connectors.js";
9
13
  import { drawnBox, measureVisible, visibleRect } from "./where-drawn.js";
10
14
  import { captionRuns } from "./captions.js";
11
15
  import { railInset } from "./rails.js";
16
+ import { retryingImport } from "@graview/core/retry";
17
+ import { lazyModule } from "./lazy-part.js";
18
+ import { mapChoice } from "./map-choice.js";
12
19
  /**
13
20
  * EVERY LINE IN THE SCENE, measured against the DOM it is drawn over.
14
21
  *
@@ -32,7 +39,16 @@ import { railInset } from "./rails.js";
32
39
  * center, so selecting the session lit three of its four drills and left
33
40
  * the fourth to a faint line from nowhere.
34
41
  */
35
- export function Lines({ frame, width, height, scheme, overview, selection, emphasis, stageRef, store, graphNodes, onPickEdge, liveOf, holding = false, }) {
42
+ /**
43
+ * THE LINKS STILL PROVISIONAL, as the lines read them (FR-172): each by its
44
+ * selection id, with the sentence its hover says — who made it and what it
45
+ * was based on. Undefined when there are none, which is nearly always.
46
+ */
47
+ export function provisionalLines(store) {
48
+ const links = provisionalLinks(store);
49
+ return links.length > 0 ? new Map(links.map((link) => [edgeSelectionId(link.edge.kind, link.edge.from, link.edge.to), provenanceWords(link)])) : undefined;
50
+ }
51
+ export function Lines({ frame, width, height, scheme, overview, selection, emphasis, stageRef, store, graphNodes, onPickEdge, liveOf, holding = false, provisional, focusId = null, beside = false, }) {
36
52
  const [asked, remeasure] = useState(0);
37
53
  /*
38
54
  * MEASURED ONCE, AFTER THE DOM IS THERE. Measuring during render read the
@@ -51,11 +67,35 @@ export function Lines({ frame, width, height, scheme, overview, selection, empha
51
67
  * with the world, which is not a new frame, so they follow the hand.
52
68
  */
53
69
  const moving = frame.t < 1;
70
+ /*
71
+ * THE CAPTIONS ARE PLACED IN THE SAME COMMIT, measured from the same
72
+ * boxes, so the first measurement can come before them: a road along a
73
+ * gutter went behind words that were not there yet. Where they stood is
74
+ * kept with each measurement, and a frame later, if they stand elsewhere,
75
+ * the lines are measured again.
76
+ */
77
+ const captionsAt = useRef("");
78
+ /* Where the layout had every card when the lines were measured: a held card's lines move by what it has moved since. */
79
+ const measuredAt = useRef([]);
80
+ const captionsNow = () => [...(stageRef.current?.querySelectorAll("[data-graview-relation] > span") ?? [])].map((el) => { const r = el.getBoundingClientRect(); return `${Math.round(r.left)},${Math.round(r.top)},${Math.round(r.width)}`; }).join(" ");
54
81
  useLayoutEffect(() => {
55
82
  if (moving || holding)
56
83
  return;
84
+ captionsAt.current = captionsNow();
85
+ measuredAt.current = frame.nodes;
57
86
  setMeasured(connectorStrands(frame.nodes, frame.connectors, stageRef.current, overview, scheme));
87
+ // eslint-disable-next-line react-hooks/exhaustive-deps
58
88
  }, [frame, moving, holding, selection, overview, graphNodes, scheme, asked, stageRef]);
89
+ useEffect(() => {
90
+ if (moving || holding || overview || typeof requestAnimationFrame === "undefined")
91
+ return;
92
+ const later = requestAnimationFrame(() => {
93
+ if (captionsNow() !== captionsAt.current)
94
+ remeasure((n) => n + 1);
95
+ });
96
+ return () => cancelAnimationFrame(later);
97
+ // eslint-disable-next-line react-hooks/exhaustive-deps
98
+ }, [measured]);
59
99
  /*
60
100
  * A LINE POINTS AT WHERE A THING IS, NOT AT WHERE IT WAS.
61
101
  *
@@ -111,14 +151,45 @@ export function Lines({ frame, width, height, scheme, overview, selection, empha
111
151
  watch?.disconnect();
112
152
  };
113
153
  }, [stageRef, views]);
154
+ /*
155
+ * WHICH RECORD A PERSON IS AT: the pointer on it, or the keyboard. A tie
156
+ * the record's card has already said is drawn for that one (`said`);
157
+ * nobody is listened to while no tie waits on it.
158
+ */
159
+ const [pointed, point] = useState(null);
160
+ const waiting = (measured ?? []).some((strand) => strand.tie !== undefined);
161
+ useEffect(() => {
162
+ const stage = stageRef.current;
163
+ if (!waiting || stage === null)
164
+ return;
165
+ const at = (event) => {
166
+ const mark = event.target?.closest?.("[data-graview-pick], [data-graview-view]");
167
+ point(mark?.getAttribute("data-graview-pick") ?? mark?.getAttribute("data-graview-view") ?? null);
168
+ };
169
+ const away = () => point(null);
170
+ stage.addEventListener("pointerover", at);
171
+ stage.addEventListener("focusin", at);
172
+ stage.addEventListener("pointerleave", away);
173
+ stage.addEventListener("focusout", away);
174
+ return () => {
175
+ stage.removeEventListener("pointerover", at);
176
+ stage.removeEventListener("focusin", at);
177
+ stage.removeEventListener("pointerleave", away);
178
+ stage.removeEventListener("focusout", away);
179
+ };
180
+ }, [waiting, stageRef]);
114
181
  if (moving)
115
182
  return null;
116
183
  /*
117
184
  * Without a DOM — the first render, a server — the lines stand on the
118
- * layout's own boxes; and so they do while a card is held, following the
119
- * hand from the layout rather than measuring the page on every move.
185
+ * layout's own boxes. While a card is held they stand on what was
186
+ * measured, moved by as far as the hand has moved each card since: the
187
+ * page is not measured on every move, and a line still starts on the
188
+ * card's drawn edge rather than on the edge of the slot the layout gave
189
+ * it (a gap as tall as the slot is taller), and a tie the card has said
190
+ * stays waiting.
120
191
  */
121
- const strands = (holding ? null : measured) ?? connectorStrands(frame.nodes, frame.connectors, null, overview, scheme);
192
+ const strands = (measured && holding ? movedBy(measured, measuredAt.current, frame.nodes) : measured) ?? connectorStrands(frame.nodes, frame.connectors, null, overview, scheme);
122
193
  const drawnSingles = new Set();
123
194
  for (const strand of strands) {
124
195
  if (strand.edges.length !== 1)
@@ -126,9 +197,18 @@ export function Lines({ frame, width, height, scheme, overview, selection, empha
126
197
  const edge = strand.edges[0];
127
198
  drawnSingles.add(`${strand.connector.kind}|${edge.from}|${edge.to}`);
128
199
  }
129
- return (_jsxs(_Fragment, { children: [_jsx(Connectors, { strands: strands, result: frame, scheme: scheme, overview: overview, selection: selection, emphasis: emphasis, stageRef: stageRef, onPickEdge: onPickEdge, liveOf: liveOf }), _jsx(SelectionTies, { stageRef: stageRef, nodes: frame.nodes, scheme: scheme, selection: selection, store: store, graphNodes: graphNodes, overview: overview, width: width, height: height, onPickEdge: onPickEdge, alreadyDrawn: drawnSingles, tick: asked })] }));
200
+ return (_jsxs(_Fragment, { children: [_jsx(Connectors, { strands: strands, result: frame, scheme: scheme, overview: overview, selection: selection, emphasis: emphasis, stageRef: stageRef, onPickEdge: onPickEdge, liveOf: liveOf, pointed: pointed, ...(provisional ? { provisional } : {}) }), overview && mapChoice(selection, { overview, focusId, beside }, (id) => store.graph.getNode(id)?.kind).records.length > 0 ? (_jsx(Suspense, { fallback: null, children: _jsx(RecordLinks, { frame: frame, width: width, height: height, stageRef: stageRef, tick: asked, store: store, graphVersion: graphNodes, selection: selection, view: { overview, focusId, beside }, rulers: provisional ? { ...RULERS, unsureOf: (edge, from, to) => provisional.get(edgeSelectionId(edge, from, to)) } : RULERS }) })) : null, overview ? null : _jsx(SelectionTies, { ...(provisional ? { provisional } : {}), stageRef: stageRef, nodes: frame.nodes, scheme: scheme, selection: selection, store: store, graphNodes: graphNodes, overview: overview, width: width, height: height, onPickEdge: onPickEdge, alreadyDrawn: drawnSingles, tick: asked })] }));
130
201
  }
131
- function SelectionTies({ stageRef, nodes, scheme, selection, store, graphNodes, overview, width, height, onPickEdge, alreadyDrawn, tick, }) {
202
+ /*
203
+ * A CHOSEN RECORD'S LINKS FROM ALTITUDE (`record-links-layer.tsx`), fetched
204
+ * the first time a record is chosen up there: a page nobody chooses
205
+ * anything on carries none of it.
206
+ */
207
+ /* The scene's rulers, handed to the links rather than imported by them: a part fetched apart reaching into the scene's own modules splits them around it. */
208
+ const RULERS = { visibleRect, clipQuadratic, unsureDash: PROVISIONAL_DASH, unsureOpacity: PROVISIONAL_OPACITY };
209
+ const recordLinks = /* @__PURE__ */ lazyModule(retryingImport(() => import("./record-links-layer.js")));
210
+ const RecordLinks = /* @__PURE__ */ recordLinks.part((module, props) => _jsx(module.RecordLinks, { ...props }), { what: "The links", quiet: true });
211
+ function SelectionTies({ stageRef, nodes, scheme, selection, store, graphNodes, overview, width, height, onPickEdge, alreadyDrawn, tick, provisional, }) {
132
212
  const kit = useKit();
133
213
  const ties = useMemo(() => {
134
214
  if (selection.length === 0 || selection.length > 4)
@@ -224,7 +304,7 @@ function SelectionTies({ stageRef, nodes, scheme, selection, store, graphNodes,
224
304
  if (!box || !route)
225
305
  continue;
226
306
  const edge = [...store.graph.allEdges()].find((one) => (one.from === id && selection.includes(one.to)) || (one.to === id && selection.includes(one.from)));
227
- joined.push({ key: `join:${id}`, kind: edge?.kind ?? "", endX: route.to.x, endY: route.to.y, ...route, fromBox: cellBox, toBox: box, proxy: false, edgeId: edge ? edgeSelectionId(edge.kind, edge.from, edge.to) : null });
307
+ joined.push({ key: `join:${id}`, self: id, other: "", others: 1, kind: edge?.kind ?? "", endX: route.to.x, endY: route.to.y, ...route, fromBox: cellBox, toBox: box, proxy: false, edgeId: edge ? edgeSelectionId(edge.kind, edge.from, edge.to) : null });
228
308
  }
229
309
  return joined;
230
310
  }
@@ -319,7 +399,23 @@ function SelectionTies({ stageRef, nodes, scheme, selection, store, graphNodes,
319
399
  }
320
400
  return false;
321
401
  };
322
- const seen = new Set();
402
+ /* The band's chips and the words over them, which a road from a chip goes round. */
403
+ const band = [];
404
+ if (!overview && stageRef.current) {
405
+ for (const node of nodes) {
406
+ if (Math.round(node.plane) !== 1)
407
+ continue;
408
+ const box = measureVisible(stageRef.current, node.id, false);
409
+ if (box)
410
+ band.push(box);
411
+ }
412
+ for (const caption of stageRef.current.querySelectorAll("[data-graview-relation] > span")) {
413
+ const r = caption.getBoundingClientRect();
414
+ if (r.width > 0 && r.height > 0)
415
+ band.push({ x: r.left - stage.left, y: r.top - stage.top, width: r.width, height: r.height });
416
+ }
417
+ }
418
+ const seen = new Map();
323
419
  const found = [];
324
420
  for (const tie of ties) {
325
421
  if (someViewDrawsBoth(tie.self, tie.other))
@@ -328,7 +424,13 @@ function SelectionTies({ stageRef, nodes, scheme, selection, store, graphNodes,
328
424
  const selfHostEl = selfHost
329
425
  ? stageRef.current?.querySelector(`[data-graview-view="${CSS.escape(selfHost.id)}"]`)
330
426
  : null;
331
- const fromCandidates = elementBoxes(tie.self, () => false);
427
+ /*
428
+ * A CHIP OF THE BAND IS THE THING: chosen there, its tie leaves the chip,
429
+ * not a mention of it in the record's card above, whose line then ran
430
+ * down through the card's own chips and across the band.
431
+ */
432
+ const ownChip = !overview && selfHost?.id === tie.self && Math.round(selfHost.plane) === 1 ? measureVisible(stageRef.current, selfHost.id, false) : null;
433
+ const fromCandidates = ownChip ? [ownChip] : elementBoxes(tie.self, () => false);
332
434
  const hasFromEl = fromCandidates.length > 0;
333
435
  if (!hasFromEl && selfHost) {
334
436
  const box = measureVisible(stageRef.current, selfHost.id, false) ?? drawnBox(selfHost, scheme);
@@ -430,19 +532,28 @@ function SelectionTies({ stageRef, nodes, scheme, selection, store, graphNodes,
430
532
  */
431
533
  const key = `${tie.kind}:${Math.round(fromBox.x)},${Math.round(fromBox.y)}` +
432
534
  `:${Math.round(toBox.x)},${Math.round(toBox.y)}`;
433
- if (seen.has(key))
535
+ const twin = seen.get(key);
536
+ if (twin) {
537
+ // Several records of one district on one line: the line counts them.
538
+ twin.others += 1;
434
539
  continue;
435
- seen.add(key);
540
+ }
436
541
  const route = tieRoute(fromBox, toBox);
437
542
  if (!route)
438
543
  continue;
439
- const { from, to, control } = route;
544
+ const { from, control } = route;
545
+ // From a chip of the band, the road runs whole through its gutters, under nothing and over nothing.
546
+ const points = ownChip && fromBox === ownChip ? channelRoute(fromBox, toBox, band, found.length) : undefined;
547
+ const to = points ? points[points.length - 1] : route.to;
440
548
  // The real edge this tie stands for, oriented the way the graph holds it.
441
549
  const oriented = [...store.graph.allEdges()].find((edge) => edge.kind === tie.kind &&
442
550
  ((edge.from === tie.self && edge.to === tie.other) ||
443
551
  (edge.from === tie.other && edge.to === tie.self)));
444
- found.push({
552
+ const line = {
445
553
  key: `${tie.kind}:${tie.self}:${tie.other}`,
554
+ self: tie.self,
555
+ other: tie.other,
556
+ others: 1,
446
557
  kind: tie.kind,
447
558
  endX: to.x,
448
559
  endY: to.y,
@@ -451,9 +562,23 @@ function SelectionTies({ stageRef, nodes, scheme, selection, store, graphNodes,
451
562
  control,
452
563
  fromBox,
453
564
  toBox,
565
+ ...(points ? { points } : {}),
454
566
  proxy: toProxy,
455
567
  edgeId: oriented ? edgeSelectionId(oriented.kind, oriented.from, oriented.to) : null,
456
- });
568
+ };
569
+ seen.set(key, line);
570
+ found.push(line);
571
+ }
572
+ // EVERY LINE SAYS ITS RELATION at its far end, in the chosen record's kind's words, as the same record's links do from altitude.
573
+ for (const line of found) {
574
+ const edge = [...store.graph.allEdges()].find((one) => one.kind === line.kind && ((one.from === line.self && one.to === line.other) || (one.from === line.other && one.to === line.self)));
575
+ const selfNode = store.graph.getNode(line.self);
576
+ const otherNode = store.graph.getNode(line.other);
577
+ if (!edge || !selfNode || !otherNode)
578
+ continue;
579
+ const direction = edge.from === line.self ? "out" : "in";
580
+ const words = edgeWords(store.schema, direction === "out" ? selfNode.kind : otherNode.kind, line.kind, direction);
581
+ line.said = line.proxy ? `${words}: ${counted(store.schema, otherNode.kind, line.others)}` : `${words}: ${labelOf(store.schema.tryDefinition(otherNode.kind), otherNode)}`;
457
582
  }
458
583
  return found;
459
584
  };
@@ -466,70 +591,74 @@ function SelectionTies({ stageRef, nodes, scheme, selection, store, graphNodes,
466
591
  }, [ties, nodes, overview, scheme, width, height, alreadyDrawn, tick, stageRef]);
467
592
  if (lines.length === 0)
468
593
  return null;
469
- return (_jsx("svg", { "aria-hidden": lines.some((line) => line.edgeId) ? undefined : true, "data-graview-ties": lines.length, "data-graview-world": "", width: width, height: height, style: {
470
- position: "absolute",
471
- left: 0,
472
- top: 0,
473
- pointerEvents: "none",
474
- // Over the views: these lines START on an element inside one, and a
475
- // line into the shelf that dives behind the focus card en route says
476
- // nothing.
477
- zIndex: SCENE_LAYERS.lines,
478
- }, children: lines.map((line) => {
479
- const { connector, style } = kitConnector(kit, line.kind);
480
- // A kind the kit keeps quiet is not drawn — still selectable from the inspector.
481
- if (!connector.visible)
482
- return null;
483
- const quadratic = { p0: line.from, c: line.control, p1: line.to };
484
- // The route is the kit's call: the arc the layout chose, its chord, or two elbows.
485
- const d = connector.route === "orthogonal"
486
- ? polylineD([orthogonalPoints(line.from, line.to)])
487
- : (({ p0, c, p1 }) => `M ${p0.x} ${p0.y} Q ${c.x} ${c.y} ${p1.x} ${p1.y}`)(routedQuadratic(connector.route, quadratic));
488
- /*
489
- * A tie that stands for one edge takes the pointer, like any line:
490
- * the hit run is the visible stretch between its two endpoint
491
- * boxes, so pressing a line never steals a card's click.
492
- */
493
- let hit = null;
494
- // A stand-in line takes no pointer: a 14px corridor across half
495
- // the scene stole clicks from every card it crossed, to select a
496
- // relation whose far end is not even drawn. The edge stays
497
- // selectable where it is really drawn, and from the inspector.
498
- if (line.edgeId && onPickEdge && !line.proxy) {
499
- const inside = (box, p) => p.x >= box.x && p.x <= box.x + box.width && p.y >= box.y && p.y <= box.y + box.height;
500
- const points = [];
501
- for (let i = 0; i <= 40; i++) {
502
- const point = routePoint(connector.route, quadratic, i / 40);
503
- if (inside(line.fromBox, point) || inside(line.toBox, point))
504
- continue;
505
- points.push(point);
506
- }
507
- if (points.length >= 2) {
508
- hit = (_jsx("path", { "data-graview-edge": line.edgeId, className: "graview-edge-hit", d: `M ${points[0].x} ${points[0].y} ${points
509
- .slice(1)
510
- .map((point) => `L ${point.x} ${point.y}`)
511
- .join(" ")}`, fill: "none",
512
- // The ends stay clear: a line lands ON a chip, and a hit stroke that reached
513
- // the chip took the click meant for it. Seven percent off each end.
514
- pathLength: 1, strokeDasharray: "0.86", strokeDashoffset: -0.07, stroke: "transparent", strokeWidth: 14, style: { pointerEvents: "stroke", cursor: "pointer" }, onClick: (event) => {
515
- event.stopPropagation();
516
- onPickEdge(line.edgeId, { x: event.clientX, y: event.clientY });
517
- }, onContextMenu: (event) => {
518
- event.preventDefault();
519
- event.stopPropagation();
520
- onPickEdge(line.edgeId, { x: event.clientX, y: event.clientY });
521
- } }));
522
- }
523
- }
524
- return (
525
- /*
526
- * A line to a STAND-IN recedes: the far end is the kind's
527
- * district, not the thing itself, and five of those at full
528
- * strength crossing the scene is a hairball. Present enough to
529
- * say "the rest live over there", never louder than a real tie.
530
- */
531
- _jsxs("g", { opacity: line.proxy ? 0.32 : 0.72, children: [_jsx("path", { "data-graview-tie": line.kind, "data-graview-tie-proxy": line.proxy || undefined, d: d, fill: "none", stroke: connectorStroke(style), strokeWidth: line.proxy ? 1.1 : 1.6, strokeDasharray: CONNECTOR_DASH[style.pattern], strokeLinecap: "round" }), _jsx("circle", { cx: line.endX, cy: line.endY, r: line.proxy ? 2 : 2.6, fill: connectorStroke(style) }), hit] }, line.key));
532
- }) }));
594
+ return (_jsxs(_Fragment, { children: [_jsx("svg", { "aria-hidden": lines.some((line) => line.edgeId) ? undefined : true, "data-graview-ties": lines.length, "data-graview-world": "", width: width, height: height, style: {
595
+ position: "absolute",
596
+ left: 0,
597
+ top: 0,
598
+ pointerEvents: "none",
599
+ // Over the views: these lines START on an element inside one, and a
600
+ // line into the shelf that dives behind the focus card en route says
601
+ // nothing.
602
+ zIndex: SCENE_LAYERS.lines,
603
+ }, children: lines.map((line) => {
604
+ const { connector, style } = kitConnector(kit, line.kind);
605
+ // A kind the kit keeps quiet is not drawn — still selectable from the inspector.
606
+ if (!connector.visible)
607
+ return null;
608
+ // A link made less than sure, not yet kept by a person (FR-172): short dashes, quieter, its basis on hover.
609
+ const unsure = line.edgeId ? provisional?.get(line.edgeId) : undefined;
610
+ const quadratic = { p0: line.from, c: line.control, p1: line.to };
611
+ // The route is the kit's call: the arc the layout chose, its chord, or two elbows.
612
+ const d = line.points
613
+ ? roundedPolylineD(line.points, 10)
614
+ : connector.route === "orthogonal"
615
+ ? polylineD([orthogonalPoints(line.from, line.to)])
616
+ : (({ p0, c, p1 }) => `M ${p0.x} ${p0.y} Q ${c.x} ${c.y} ${p1.x} ${p1.y}`)(routedQuadratic(connector.route, quadratic));
617
+ /*
618
+ * A tie that stands for one edge takes the pointer, like any line:
619
+ * the hit run is the visible stretch between its two endpoint
620
+ * boxes, so pressing a line never steals a card's click.
621
+ */
622
+ let hit = null;
623
+ // A stand-in line takes no pointer: a 14px corridor across half
624
+ // the scene stole clicks from every card it crossed, to select a
625
+ // relation whose far end is not even drawn. The edge stays
626
+ // selectable where it is really drawn, and from the inspector.
627
+ if (line.edgeId && onPickEdge && !line.proxy) {
628
+ const inside = (box, p) => p.x >= box.x && p.x <= box.x + box.width && p.y >= box.y && p.y <= box.y + box.height;
629
+ const points = line.points ? [...line.points] : [];
630
+ for (let i = 0; i <= (line.points ? -1 : 40); i++) {
631
+ const point = routePoint(connector.route, quadratic, i / 40);
632
+ if (inside(line.fromBox, point) || inside(line.toBox, point))
633
+ continue;
634
+ points.push(point);
635
+ }
636
+ if (points.length >= 2) {
637
+ hit = (_jsx("path", { "data-graview-edge": line.edgeId, className: "graview-edge-hit", d: `M ${points[0].x} ${points[0].y} ${points
638
+ .slice(1)
639
+ .map((point) => `L ${point.x} ${point.y}`)
640
+ .join(" ")}`, fill: "none",
641
+ // The ends stay clear: a line lands ON a chip, and a hit stroke that reached
642
+ // the chip took the click meant for it. Seven percent off each end.
643
+ pathLength: 1, strokeDasharray: "0.86", strokeDashoffset: -0.07, stroke: "transparent", strokeWidth: 14, style: { pointerEvents: "stroke", cursor: "pointer" }, onClick: (event) => {
644
+ event.stopPropagation();
645
+ onPickEdge(line.edgeId, { x: event.clientX, y: event.clientY });
646
+ }, onContextMenu: (event) => {
647
+ event.preventDefault();
648
+ event.stopPropagation();
649
+ onPickEdge(line.edgeId, { x: event.clientX, y: event.clientY });
650
+ }, children: unsure !== undefined ? _jsx("title", { children: unsure }) : null }));
651
+ }
652
+ }
653
+ return (
654
+ /*
655
+ * A line to a STAND-IN recedes: the far end is the kind's
656
+ * district, not the thing itself, and five of those at full
657
+ * strength crossing the scene is a hairball. Present enough to
658
+ * say "the rest live over there", never louder than a real tie.
659
+ */
660
+ _jsxs("g", { opacity: (line.proxy ? 0.32 : 0.72) * (unsure !== undefined ? PROVISIONAL_OPACITY : 1), children: [_jsx("path", { "data-graview-tie": line.kind, "data-graview-tie-proxy": line.proxy || undefined, "data-graview-provisional": unsure !== undefined || undefined, d: d, fill: "none", stroke: connectorStroke(style), strokeWidth: line.proxy ? 1.1 : 1.6, strokeDasharray: unsure !== undefined ? PROVISIONAL_DASH : CONNECTOR_DASH[style.pattern], strokeLinecap: "round" }), _jsx("circle", { cx: line.endX, cy: line.endY, r: line.proxy ? 2 : 2.6, fill: connectorStroke(style) }), hit] }, line.key));
661
+ }) }), _jsx("div", { "aria-hidden": "true", "data-graview-world": "", style: { position: "absolute", inset: 0, pointerEvents: "none", zIndex: SCENE_LAYERS.tieLabels }, children: lines.map((line) => line.said ? (_jsx("span", { className: "graview-record-link-said", "data-graview-link-said": line.kind, "data-graview-lands": line.proxy ? "district" : "record", style: { position: "absolute", left: line.endX, top: line.endY - 26 }, children: line.said }, line.key)) : null) })] }));
533
662
  }
534
663
  /**
535
664
  * What plane 1 is, said in words, over the run of cards it applies to.
@@ -564,7 +693,8 @@ export function RelationCaptions({ nodes, scheme, width: stageWidth, stageRef, m
564
693
  * from the host's top floated in open ground half a band above the
565
694
  * cards it captions.
566
695
  */
567
- const measured = measureVisible(stageRef.current, node.id, false);
696
+ // By the slot, as the layout made the rows: a chip sits lower in its slot than a card of several in the same row.
697
+ const measured = measureVisible(stageRef.current, node.id, false, true);
568
698
  const { scale } = styleFor(1, scheme);
569
699
  entries.push({
570
700
  key: `${node.via.edgeKind}|${node.via.direction}`,
@@ -1 +1 @@
1
- {"version":3,"file":"scene-lines.js","sourceRoot":"","sources":["../src/scene-lines.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-lines.js","sourceRoot":"","sources":["../src/scene-lines.tsx"],"names":[],"mappings":"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"}
@@ -12,9 +12,14 @@ import type { LayoutOptions } from "@graview/layout";
12
12
  export declare function useLayoutOptions<S extends AnySchema>(options: LayoutOptions | undefined, size: {
13
13
  width: number;
14
14
  height: number;
15
- } | null, unit: number, nameWidth: LayoutOptions["nameWidth"],
15
+ } | null, unit: number,
16
16
  /** Whether an ask field stands at the picture's foot: the layout keeps that strip clear of cards. */
17
- seated: boolean, cityZoom: number, screenHeight: number | undefined,
17
+ seated: boolean, cityZoom: number,
18
+ /** What a panel floating over the scene covers, in pixels (`useDock`): the city is fitted in what is left. */
19
+ dock: {
20
+ readonly right: number;
21
+ readonly bottom: number;
22
+ },
18
23
  /** The graph's tick: the log only grows when the graph changes. */
19
24
  nodes: unknown): LayoutOptions;
20
25
  //# sourceMappingURL=scene-options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-options.d.ts","sourceRoot":"","sources":["../src/scene-options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAUrD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAClD,OAAO,EAAE,aAAa,GAAG,SAAS,EAClC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EAC9C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC;AACrC,qGAAqG;AACrG,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GAAG,SAAS;AAChC,mEAAmE;AACnE,KAAK,EAAE,OAAO,GACb,aAAa,CAmGf"}
1
+ {"version":3,"file":"scene-options.d.ts","sourceRoot":"","sources":["../src/scene-options.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAWrD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAClD,OAAO,EAAE,aAAa,GAAG,SAAS,EAClC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EAC9C,IAAI,EAAE,MAAM;AACZ,qGAAqG;AACrG,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,MAAM;AAChB,8GAA8G;AAC9G,IAAI,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACzD,mEAAmE;AACnE,KAAK,EAAE,OAAO,GACb,aAAa,CA4Gf"}