@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
package/dist/context.js CHANGED
@@ -1,16 +1,19 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { openingOf, sayIn, tellTheWatchWhatIsUnseen } from "@graview/core";
2
+ import { memorySubscriptions, openingOf, sayIn, tellTheWatchWhatIsUnseen } from "@graview/core";
3
3
  import { NO_AI } from "@graview/tools/frame";
4
4
  import { honorSetting, loadSetting, rememberSetting } from "./settings.js";
5
5
  import { createSeatTalk } from "./seat-talk.js";
6
+ import { createAiDesk } from "./ai-desk.js";
6
7
  import { PRESENCE_SETTINGS, tabSession, usePresenceState } from "./presence.js";
7
8
  import { useActivityState } from "./activity.js";
8
9
  import { EMPTY_VIEW, aggregateId, edgeOfSelection, isBandAggregate, kindOfCard, kindsOfAggregate, withFocus, withSelection } from "@graview/layout/view";
9
10
  import { createContext, useCallback, useContext, useEffect, useId, useMemo, useRef, useState, useSyncExternalStore, } from "react";
10
11
  import { createPointerStore } from "./pointer.js";
11
12
  import { HostFilesContext } from "./files.js";
13
+ import { useLinkedReads } from "./linked-reads.js";
12
14
  import { createMotionStore } from "./motion-store.js";
13
15
  import { foldRobots } from "./robot.js";
16
+ import { PlaybackContext, useOwnPlayback } from "./past.js";
14
17
  const GraviewContext = createContext(null);
15
18
  /**
16
19
  * Which mode the view being rendered right now is in.
@@ -78,17 +81,29 @@ export function useTheWatchKnowsWhatIsUnseen(store, principal) {
78
81
  };
79
82
  }, [store, principal, from]);
80
83
  }
81
- export function GraviewProvider({ store: given, views, initialView, scheme = "dark", initialSelection, principal, seats = NO_SEATS, onSeat, people = NO_PEOPLE, memory, presenceTtlMs, app: mountedApp, settings: appSettings = mountedApp?.settings ?? NO_SETTINGS, presence, brand, locale: readerLocale, onKeepLens, providers, ai = NO_AI, files, resolveApp, view, onViewChange, children, }) {
84
+ /** What a host that turned AI off is handed on: nothing but that it is off. */
85
+ const AI_OFF = { off: true };
86
+ export function GraviewProvider({ store: given, views, initialView, scheme = "dark", initialSelection, principal, seats = NO_SEATS, onSeat, people = NO_PEOPLE, memory, presenceTtlMs, app: mountedApp, settings: appSettings = mountedApp?.settings ?? NO_SETTINGS, presence, brand, locale: readerLocale, onKeepLens, providers, ai: handedAi, files, resolveApp, history, linkedRecords, menuSections, subscriptions: hostSubscriptions, view, onViewChange, children, }) {
87
+ // A provider inside another (the pages under an embed) keeps the host's menu sections when it was given none.
88
+ const around = useContext(GraviewContext);
89
+ const hostSections = menuSections ?? around?.menuSections;
82
90
  /* Who is at the keyboard: see "WHO IS AT THE KEYBOARD" below. */
83
91
  const [seated, setSeated] = useState(null);
84
92
  const seatNow = seated ?? principal ?? seats[0]?.principal ?? ANONYMOUS;
93
+ /*
94
+ * THE MOMENT DRAWN (Roadmap f-playback): now, or the app as it stood at
95
+ * a moment somebody asked to see — the one store every surface reads, so
96
+ * the past is drawn by the renderer the present is, and offers no act.
97
+ */
98
+ const playback = useOwnPlayback(given, seatNow, history);
99
+ const shown = playback.past && playback.live === given ? playback.past.store : given;
85
100
  /*
86
101
  * WHAT THEY MAY SEE. Every surface under this provider reads the store it
87
102
  * hands out, and that store holds only what the policy's `sees` lets the
88
103
  * seat see — a stranger at a storefront is not shown the customers. Acts
89
104
  * still go to the store itself. With no `sees` it is the store, unchanged.
90
105
  */
91
- const store = useMemo(() => given.seenBy(seatNow), [given, seatNow]);
106
+ const store = useMemo(() => shown.seenBy(seatNow), [shown, seatNow]);
92
107
  useTheWatchKnowsWhatIsUnseen(given, seatNow);
93
108
  /* This tab, for the life of the tab: see `tabSession`. */
94
109
  const [session] = useState(() => tabSession(memory));
@@ -109,6 +124,20 @@ export function GraviewProvider({ store: given, views, initialView, scheme = "da
109
124
  /* One conversation per app: an outer provider's when this one is drawn inside it (the routed face in an embed). */
110
125
  const outer = useContext(GraviewContext);
111
126
  const [seatTalk] = useState(() => outer?.seatTalk ?? createSeatTalk(brand?.name ?? given.schema.kinds.join(",")));
127
+ /*
128
+ * AI OFF IS NO AI AT ALL: a host that says `off` is handed nothing else to
129
+ * any surface, so no model is asked and every AI part reads it as hidden.
130
+ */
131
+ /* A provider drawn inside another (the routed face in an embed) is handed the outer one's AI unless given its own: one app, one host's say. */
132
+ const givenAi = handedAi ?? outer?.ai ?? NO_AI;
133
+ const ai = useMemo(() => (givenAi.off ? AI_OFF : givenAi), [givenAi]);
134
+ /* One desk per app, like the conversation: the host's store of entries read as it is now. */
135
+ const aiHost = useRef(ai.interactions);
136
+ aiHost.current = ai.interactions;
137
+ const [aiDesk] = useState(() => outer?.aiDesk ?? createAiDesk(() => aiHost.current));
138
+ /* Where "Notify me" is kept: the host's, else the provider's around this one, else this page's own memory. */
139
+ const [ownSubscriptions] = useState(() => outer?.subscriptions ?? memorySubscriptions());
140
+ const subscriptions = hostSubscriptions ?? outer?.subscriptions ?? ownSubscriptions;
112
141
  /* The host that keeps a drawn lens: this provider's, else the one it is drawn inside. */
113
142
  const keepLens = onKeepLens ?? outer?.onKeepLens;
114
143
  const app = mountedApp ?? outer?.app;
@@ -193,6 +222,8 @@ export function GraviewProvider({ store: given, views, initialView, scheme = "da
193
222
  */
194
223
  // With this tab's session on it, so every op this seat authors names the tab that made it.
195
224
  const who = useMemo(() => ({ ...seatNow, session }), [seatNow, session]);
225
+ // Another app's records, read as this seat (FR-171): only where the host reads them and the app links one.
226
+ const linkedReads = useLinkedReads(store, linkedRecords, who);
196
227
  const takeSeat = useCallback((next) => {
197
228
  setSeated(next);
198
229
  onSeat?.(next);
@@ -411,6 +442,7 @@ export function GraviewProvider({ store: given, views, initialView, scheme = "da
411
442
  actsDoor,
412
443
  registerActsDoor,
413
444
  seatTalk,
445
+ aiDesk,
414
446
  ...(memory ? { memory } : {}),
415
447
  who: others,
416
448
  following,
@@ -420,6 +452,10 @@ export function GraviewProvider({ store: given, views, initialView, scheme = "da
420
452
  session,
421
453
  ai,
422
454
  resolveApp,
455
+ linkedRecords,
456
+ menuSections: hostSections,
457
+ subscriptions,
458
+ linkedReads,
423
459
  movedByHand,
424
460
  noteMoved,
425
461
  emphasis,
@@ -459,6 +495,7 @@ export function GraviewProvider({ store: given, views, initialView, scheme = "da
459
495
  registerSeatWho,
460
496
  actsDoor,
461
497
  seatTalk,
498
+ aiDesk,
462
499
  memory,
463
500
  others,
464
501
  following,
@@ -467,6 +504,10 @@ export function GraviewProvider({ store: given, views, initialView, scheme = "da
467
504
  session,
468
505
  ai,
469
506
  resolveApp,
507
+ linkedRecords,
508
+ hostSections,
509
+ subscriptions,
510
+ linkedReads,
470
511
  movedByHand,
471
512
  noteMoved,
472
513
  emphasis,
@@ -487,7 +528,7 @@ export function GraviewProvider({ store: given, views, initialView, scheme = "da
487
528
  app,
488
529
  locale,
489
530
  ]);
490
- return (_jsx(GraviewContext.Provider, { value: value, children: _jsx(FoundProvider, { children: files ? _jsx(HostFilesContext.Provider, { value: files, children: children }) : children }) }));
531
+ return (_jsx(GraviewContext.Provider, { value: value, children: _jsx(PlaybackContext.Provider, { value: playback, children: _jsx(FoundProvider, { children: files ? _jsx(HostFilesContext.Provider, { value: files, children: children }) : children }) }) }));
491
532
  }
492
533
  /*
493
534
  * WHAT THE WORDS FIND, once for the whole scene.
@@ -691,6 +732,19 @@ export function useScenePointer() {
691
732
  const { pointer } = useGraview();
692
733
  return useSyncExternalStore(pointer.subscribe, pointer.snapshot, NO_POINT);
693
734
  }
735
+ /*
736
+ * WHERE A VISIT LANDED (FR-80): `pages.first` picks where a new visit
737
+ * lands, once, and nothing after. A face that took the opening says so,
738
+ * by the views it was drawn with; a face drawn after it — the pages
739
+ * reached by a press on Home from the scene the visit opened on — does
740
+ * not take it again. It did: the review app opened on "This week", and
741
+ * pressing Home went to "This week" again, so its drawn home was nowhere.
742
+ */
743
+ const LANDED = new WeakSet();
744
+ /** Whether the visit drawn with these views has already landed where `pages.first` says. */
745
+ export const hasLanded = (views) => LANDED.has(views);
746
+ /** The visit drawn with these views has landed: `pages.first` is not taken again. */
747
+ export const markLanded = (views) => void LANDED.add(views);
694
748
  /**
695
749
  * THE VIEW A DECLARATION OPENS ON (FR-80): `pages.first` as the registry
696
750
  * holds it, resolved against the places beside it — a place is its kind's
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"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"}
package/dist/drawing.d.ts CHANGED
@@ -21,5 +21,7 @@ export { kitConnector, useKit } from "./kit.js";
21
21
  export { anchorOf, AUDIENCE_ROW, placeOthers } from "./placement.js";
22
22
  export type { Placed } from "./placement.js";
23
23
  export { ViewBoundary } from "./view-boundary.js";
24
+ export { MenuSections, useMenuSections } from "./menu-sections.js";
25
+ export type { MenuItem, MenuSection, MenuSectionSource, MenuTarget } from "./menu-sections.js";
24
26
  export type { ViewBoundaryProps } from "./view-boundary.js";
25
27
  //# sourceMappingURL=drawing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawing.d.ts","sourceRoot":"","sources":["../src/drawing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrE,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"drawing.d.ts","sourceRoot":"","sources":["../src/drawing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrE,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACnE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/F,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/drawing.js CHANGED
@@ -19,4 +19,6 @@ export { NOTHING_FOUND, useFlagged, useImplicated, useReached } from "./emphasis
19
19
  export { kitConnector, useKit } from "./kit.js";
20
20
  export { anchorOf, AUDIENCE_ROW, placeOthers } from "./placement.js";
21
21
  export { ViewBoundary } from "./view-boundary.js";
22
+ // A face's own sections of the context menu, beside the host's: drawn only once a menu is.
23
+ export { MenuSections, useMenuSections } from "./menu-sections.js";
22
24
  //# sourceMappingURL=drawing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawing.js","sourceRoot":"","sources":["../src/drawing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"drawing.js","sourceRoot":"","sources":["../src/drawing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,2FAA2F;AAC3F,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,13 +1,39 @@
1
1
  import { type AnySchema } from "@graview/core";
2
2
  import { type Layout } from "@graview/layout";
3
- import type { ReactElement } from "react";
4
- export declare function EdgeSigns({ result, schema, onGo, }: {
3
+ import { type ReactElement, type RefObject } from "react";
4
+ export declare function EdgeSigns({ result, schema, chrome, onGo, }: {
5
5
  readonly result: Pick<Layout, "nodes" | "width" | "height" | "city" | "visible">;
6
6
  readonly schema: AnySchema;
7
+ /**
8
+ * The controls standing on the ground, in canvas pixels (the layout's
9
+ * `chrome`): the altitude control and the key in the top right corner.
10
+ */
11
+ readonly chrome?: readonly {
12
+ readonly x: number;
13
+ readonly y: number;
14
+ readonly width: number;
15
+ readonly height: number;
16
+ }[];
7
17
  /** Pan the ground by this much. */
8
18
  readonly onGo: (by: {
9
19
  readonly x: number;
10
20
  readonly y: number;
11
21
  }) => void;
12
22
  }): ReactElement | null;
23
+ type Box = {
24
+ readonly x: number;
25
+ readonly y: number;
26
+ readonly width: number;
27
+ readonly height: number;
28
+ };
29
+ /**
30
+ * WHERE THE PICTURE'S TRAIL STANDS on the ground, in the ground's pixels,
31
+ * while it says something: "Reset view" once the ground is panned by hand,
32
+ * "zoomed in ×", the past. It stands over the top-left corner, and on a
33
+ * phone a sign for a district past the top edge stood under it (W-224); a
34
+ * sign steps past it as it steps past Up and the key. The trail is the
35
+ * ground's sibling, drawn by the face around it, so it is measured.
36
+ */
37
+ export declare function useTrailBox(ground: RefObject<HTMLElement | null>): Box | null;
38
+ export {};
13
39
  //# sourceMappingURL=edge-signs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edge-signs.d.ts","sourceRoot":"","sources":["../src/edge-signs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAwB,KAAK,MAAM,EAAoB,MAAM,iBAAiB,CAAC;AACtF,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAqBzD,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,MAAM,EACN,IAAI,GACL,EAAE;IACD,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IACjF,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,mCAAmC;IACnC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACzE,GAAG,YAAY,GAAG,IAAI,CA6DtB"}
1
+ {"version":3,"file":"edge-signs.d.ts","sourceRoot":"","sources":["../src/edge-signs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAwC,KAAK,MAAM,EAAoB,MAAM,iBAAiB,CAAC;AACtG,OAAO,EAAiD,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAqBzG,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,MAAM,EACN,MAAW,EACX,IAAI,GACL,EAAE;IACD,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IACjF,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzH,mCAAmC;IACnC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACzE,GAAG,YAAY,GAAG,IAAI,CAmGtB;AAsFD,KAAK,GAAG,GAAG;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvG;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAsB7E"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { pluralLabel, SCENE_LAYERS } from "@graview/core";
3
3
  import { districtsPastTheEdge } from "@graview/layout";
4
+ import { useLayoutEffect, useState } from "react";
4
5
  /**
5
6
  * THE SIGNS AT THE EDGE OF THE GROUND. A city wider than the window keeps
6
7
  * its shape and is reached by panning; what it did not do was say so. On a
@@ -19,7 +20,7 @@ const ARROW = { left: "←", right: "→", top: "↑", bottom: "↓" };
19
20
  const SPACING = 36;
20
21
  /** Room kept clear at the canvas's ends: the zoom in one corner, the way in at the other. */
21
22
  const MARGIN = 56;
22
- export function EdgeSigns({ result, schema, onGo, }) {
23
+ export function EdgeSigns({ result, schema, chrome = [], onGo, }) {
23
24
  const past = districtsPastTheEdge(result);
24
25
  if (past.length === 0)
25
26
  return null;
@@ -30,28 +31,67 @@ export function EdgeSigns({ result, schema, onGo, }) {
30
31
  * its edge would cover them steps past them, down (or right) if there is
31
32
  * room and else up (or left).
32
33
  */
33
- const showings = (result.city?.showings ?? []).flatMap((hung) => {
34
+ const onCards = (boxes) => (boxes ?? []).flatMap((hung) => {
34
35
  const card = result.nodes.find((node) => node.id === hung.id);
35
36
  return card ? [{ left: card.x + hung.x, top: card.y + hung.y, right: card.x + hung.x + hung.width, bottom: card.y + hung.y + hung.height }] : [];
36
37
  });
38
+ const showings = onCards(result.city?.showings);
39
+ /*
40
+ * AND CLEAR OF THE NAMES. A district's name holds its count and its
41
+ * problems, and "⚠ 10" is a control: on the landing page's live demo at
42
+ * 600 wide the sign for Decision records, stepped down past Up and the
43
+ * key, stood on "MODULES 16 ⚠ 10" and took the press meant for it.
44
+ */
45
+ const names = onCards(result.city?.nameplates);
46
+ /*
47
+ * AND CLEAR OF THE CORNER. On a phone the city runs past the right edge
48
+ * near the top, and the sign for the district there stood under "Close
49
+ * the map", its name read through the control. The corner the altitude
50
+ * control and the key stand in is ground a sign steps past too.
51
+ */
52
+ const taken = [...showings, ...names, ...chrome.map((box) => ({ left: box.x, top: box.y, right: box.x + box.width, bottom: box.y + box.height }))];
37
53
  const signs = [];
38
54
  for (const side of ["left", "right", "top", "bottom"]) {
39
55
  // The reader's window: a panel over the scene is not part of it (`Layout.visible`).
40
56
  const seen = result.visible ?? result;
41
57
  const span = side === "left" || side === "right" ? seen.height : seen.width;
42
- let last = -Infinity;
58
+ const across = side === "left" || side === "right";
59
+ /*
60
+ * ONE SIGN NEVER STANDS ON ANOTHER (the tenth walk's carried pass: the
61
+ * watch's `control-covered`). Along the foot a sign is as long as its
62
+ * name, not 36 pixels, so "Plots" stood on "Gardeners"; and where more
63
+ * districts lay past an edge than it had room for, the last were all
64
+ * held at its end, one on another. Each stands past the one before by
65
+ * its own length; one with no room left on its edge is not drawn —
66
+ * its district is still panned to, and listed with the folded ones.
67
+ * The foot's far end is the zoom's, and so is each side's foot: on a
68
+ * phone the zoom runs most of the way across.
69
+ */
70
+ const end = side === "bottom" ? ZOOM_ROOM : side === "top" ? MARGIN : ZOOM_TALL + MARGIN / 2;
71
+ let reached = -Infinity;
72
+ const placed = [];
43
73
  const onSide = past.filter((one) => one.side === side).sort((a, b) => a.along - b.along);
44
74
  for (const one of onSide) {
45
75
  const plural = pluralLabel(schema, one.kind);
46
- const { at, inset } = clearOf(showings, side, Math.max(MARGIN, Math.min(span - MARGIN, Math.max(one.along, last + SPACING))), signLength(plural), seen, span);
47
- last = at;
76
+ const length = signLength(plural);
77
+ const half = across ? HALF_TALL : length / 2;
78
+ const limit = span - end - (across ? 0 : half);
79
+ const wanted = Math.max(MARGIN, one.along, reached + half + SIGN_GAP);
80
+ if (wanted > limit)
81
+ continue;
82
+ const { at, inset } = clearOf([...taken, ...placed], side, wanted, length, seen, span);
83
+ if (at > limit + 0.5)
84
+ continue;
85
+ reached = at + half;
86
+ placed.push(signBox(side, at, length, seen, inset));
48
87
  const place = side === "left"
49
88
  ? { left: inset, top: at, transform: "translateY(-50%)" }
50
89
  : side === "right"
51
90
  ? { right: `calc(${inset}px + var(--graview-dock, 0px))`, top: at, transform: "translateY(-50%)" }
52
91
  : side === "top"
53
92
  ? { top: inset, left: at, transform: "translateX(-50%)" }
54
- : { bottom: `calc(${inset}px + var(--graview-sheet, 0px))`, left: at, transform: "translateX(-50%)" };
93
+ : // Above what stands at the foot, as the zoom is (`--graview-scene-foot`), and above a sheet.
94
+ { bottom: `calc(${inset}px + var(--graview-scene-foot, var(--graview-sheet, 0px)))`, left: at, transform: "translateX(-50%)" };
55
95
  signs.push(_jsx("button", { type: "button", className: "graview-edge-sign", "data-graview-past-edge": one.id, "aria-label": `${plural}, past the ${side} edge — bring it into view`, title: `${plural} is past the ${side} edge`,
56
96
  /*
57
97
  * Not a tab stop: the keys reach the district itself, and focus
@@ -74,6 +114,18 @@ const signLength = (plural) => (plural.length + 2) * 7.4 + 22;
74
114
  const HALF_TALL = SPACING / 2;
75
115
  /** How far in from its edge a sign stands. */
76
116
  const EDGE_INSET = 6;
117
+ /** The least ground between two signs along one edge. */
118
+ const SIGN_GAP = 6;
119
+ /** The foot's far end, the zoom's: its −, its level, its + and "From above", and its inset from the corner. */
120
+ const ZOOM_ROOM = 236;
121
+ /** How tall the zoom stands from the foot, its inset with it. */
122
+ const ZOOM_TALL = 56;
123
+ /** A sign's box at `along` on its edge, `inset` in from it, in the window's pixels. */
124
+ function signBox(side, along, length, seen, inset = EDGE_INSET) {
125
+ return side === "left" || side === "right"
126
+ ? { left: side === "left" ? inset : seen.width - inset - length, right: side === "left" ? inset + length : seen.width - inset, top: along - HALF_TALL, bottom: along + HALF_TALL }
127
+ : { left: along - length / 2, right: along + length / 2, top: side === "top" ? inset : seen.height - inset - SPACING, bottom: side === "top" ? inset + SPACING : seen.height - inset };
128
+ }
77
129
  /**
78
130
  * Where a sign stands clear of the showings: where it was asked to, else
79
131
  * just past the showings along its edge, else — no room along it — beside
@@ -82,19 +134,33 @@ const EDGE_INSET = 6;
82
134
  function clearOf(showings, side, at, length, seen, span) {
83
135
  const across = side === "left" || side === "right";
84
136
  // The sign's box at `along`, from the edge it stands on.
85
- const box = (along) => across
86
- ? { left: side === "left" ? EDGE_INSET : seen.width - EDGE_INSET - length, right: side === "left" ? EDGE_INSET + length : seen.width - EDGE_INSET, top: along - HALF_TALL, bottom: along + HALF_TALL }
87
- : { left: along - length / 2, right: along + length / 2, top: side === "top" ? EDGE_INSET : seen.height - EDGE_INSET - SPACING, bottom: side === "top" ? EDGE_INSET + SPACING : seen.height - EDGE_INSET };
137
+ const box = (along) => signBox(side, along, length, seen);
88
138
  const covers = (along) => showings.find((hung) => { const b = box(along); return b.left < hung.right && hung.left < b.right && b.top < hung.bottom && hung.top < b.bottom; });
89
139
  const hung = covers(at);
90
140
  if (!hung)
91
141
  return { at, inset: EDGE_INSET };
92
142
  const half = across ? HALF_TALL : length / 2;
93
- const after = (across ? hung.bottom : hung.right) + half + 4;
94
- const before = (across ? hung.top : hung.left) - half - 4;
95
- if (after <= span - MARGIN && !covers(after))
143
+ /*
144
+ * Past each in turn, one way and then the other: stepped past the corner,
145
+ * a sign can land on a district's name, and is stepped past that too.
146
+ */
147
+ const walk = (way) => {
148
+ let along = at;
149
+ for (let step = 0; step < 12; step++) {
150
+ const on = covers(along);
151
+ if (!on)
152
+ return along;
153
+ along = way > 0 ? (across ? on.bottom : on.right) + half + 4 : (across ? on.top : on.left) - half - 4;
154
+ if (along > span - MARGIN || along < MARGIN)
155
+ return null;
156
+ }
157
+ return null;
158
+ };
159
+ const after = walk(1);
160
+ if (after !== null)
96
161
  return { at: after, inset: EDGE_INSET };
97
- if (before >= MARGIN && !covers(before))
162
+ const before = walk(-1);
163
+ if (before !== null)
98
164
  return { at: before, inset: EDGE_INSET };
99
165
  // Beside them: in from its edge past where they reach.
100
166
  const reach = side === "left" ? hung.right : side === "right" ? seen.width - hung.left : side === "top" ? hung.bottom : seen.height - hung.top;
@@ -120,4 +186,37 @@ const SIGN = {
120
186
  boxShadow: "0 2px 8px rgb(0 0 0 / 0.12)",
121
187
  cursor: "pointer",
122
188
  };
189
+ /**
190
+ * WHERE THE PICTURE'S TRAIL STANDS on the ground, in the ground's pixels,
191
+ * while it says something: "Reset view" once the ground is panned by hand,
192
+ * "zoomed in ×", the past. It stands over the top-left corner, and on a
193
+ * phone a sign for a district past the top edge stood under it (W-224); a
194
+ * sign steps past it as it steps past Up and the key. The trail is the
195
+ * ground's sibling, drawn by the face around it, so it is measured.
196
+ */
197
+ export function useTrailBox(ground) {
198
+ const [box, setBox] = useState(null);
199
+ useLayoutEffect(() => {
200
+ const at = ground.current;
201
+ let trail = null;
202
+ for (let up = at?.parentElement ?? null, depth = 0; up && !trail && depth < 4; up = up.parentElement, depth++) {
203
+ trail = up.querySelector(":scope > [data-graview-scene-trail]");
204
+ }
205
+ if (!at || !trail)
206
+ return;
207
+ const read = () => {
208
+ const mine = at.getBoundingClientRect();
209
+ const theirs = trail.getBoundingClientRect();
210
+ const next = theirs.width > 0 && theirs.height > 0 ? { x: theirs.left - mine.left, y: theirs.top - mine.top, width: theirs.width, height: theirs.height } : null;
211
+ setBox((now) => (now === next || (now && next && now.x === next.x && now.y === next.y && now.width === next.width && now.height === next.height) ? now : next));
212
+ };
213
+ read();
214
+ if (typeof ResizeObserver === "undefined")
215
+ return;
216
+ const watch = new ResizeObserver(read);
217
+ watch.observe(trail);
218
+ return () => watch.disconnect();
219
+ }, [ground]);
220
+ return box;
221
+ }
123
222
  //# sourceMappingURL=edge-signs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"edge-signs.js","sourceRoot":"","sources":["../src/edge-signs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edge-signs.js","sourceRoot":"","sources":["../src/edge-signs.tsx"],"names":[],"mappings":"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"}
package/dist/go.d.ts CHANGED
@@ -3,20 +3,44 @@ import type { AnySchema } from "@graview/core";
3
3
  * WHERE A VIEW SENDS THE READER, ON WHICHEVER FACE IT IS DRAWN.
4
4
  *
5
5
  * A view that is not React — a guest in a worker (FR-93) — can name a
6
- * record or a place of the app and nothing else, and has no router to
7
- * name it with. On the Graview face going to a record is focusing and
8
- * choosing it, and going to a place is focusing the kind it is a picture
9
- * of with that picture; the routed face says otherwise, with its own
10
- * addresses, by providing `GoToContext`.
6
+ * record, a place of the app or a kind's list, and nothing else, and has
7
+ * no router to name it with. On the Graview face going to a record is
8
+ * focusing and choosing it, going to a place is focusing the kind it is a
9
+ * picture of with that picture, and going to a list is focusing the kind's
10
+ * district; the routed face says otherwise, with its own addresses, by
11
+ * providing `GoToContext`.
12
+ *
13
+ * NARROWED, AND TO A SECTION. A list or a place may be gone to narrowed —
14
+ * a `filter` in the words an address already carries it in (`stage:building`,
15
+ * `?filter=` on a page, `in.filter` in a stop) — and any of them to a
16
+ * section of the page: a heading's words or an element's id, `#<section>`
17
+ * on the routed face (`revealSection`). A stop in the scene is a picture,
18
+ * not a page of headings: the scene goes to the stop and leaves the
19
+ * section unsought.
11
20
  */
12
21
  export interface GoTo {
13
- /** Go to a record, by id. */
14
- record(id: string): void;
15
- /** Go to a named place, by its slug (`placeSlug(title)`). */
16
- place(as: string): void;
22
+ /** Go to a record, by id; to one section of its page, given one. */
23
+ record(id: string, also?: GoToAlso): void;
24
+ /** Go to a named place, by its slug (`placeSlug(title)`), narrowed and to a section, given them. */
25
+ place(as: string, also?: GoToAlso): void;
26
+ /** Go to a kind's list, by the kind's name, narrowed and to a section, given them. */
27
+ list(kind: string, also?: GoToAlso): void;
28
+ /**
29
+ * Show the view the seat (or the inline AI) just drew: the routed face
30
+ * goes to its own address for it (`/~draft`); the scene draws it in place
31
+ * of the picture already, and says nothing.
32
+ */
33
+ draft?(): void;
34
+ }
35
+ /** Where on the page a destination is, and what it is narrowed to. */
36
+ export interface GoToAlso {
37
+ /** What the list or the picture keeps, in the address's words: `stage:building`, `stage:building,owner:user:ada`. */
38
+ readonly filter?: string;
39
+ /** A section of the page: an element's id or a heading's words (`"Shipping soon"`, `"shipping-soon"`). */
40
+ readonly section?: string;
17
41
  }
18
42
  /** What a face says going somewhere means there. The Graview face's own, when none is given. */
19
43
  export declare const GoToContext: import("react").Context<GoTo | null>;
20
- /** How to go to a record or a place from here. */
44
+ /** How to go to a record, a place or a list from here. */
21
45
  export declare function useGoTo<S extends AnySchema>(): GoTo;
22
46
  //# sourceMappingURL=go.d.ts.map