@graview/primitives 0.1.0

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 (207) hide show
  1. package/LICENSE +96 -0
  2. package/README.md +25 -0
  3. package/dist/arrange-bar.d.ts +49 -0
  4. package/dist/arrange-bar.d.ts.map +1 -0
  5. package/dist/arrange-bar.js +264 -0
  6. package/dist/arrange-bar.js.map +1 -0
  7. package/dist/chat.d.ts +46 -0
  8. package/dist/chat.d.ts.map +1 -0
  9. package/dist/chat.js +343 -0
  10. package/dist/chat.js.map +1 -0
  11. package/dist/companion.d.ts +58 -0
  12. package/dist/companion.d.ts.map +1 -0
  13. package/dist/companion.js +433 -0
  14. package/dist/companion.js.map +1 -0
  15. package/dist/connections.d.ts +23 -0
  16. package/dist/connections.d.ts.map +1 -0
  17. package/dist/connections.js +100 -0
  18. package/dist/connections.js.map +1 -0
  19. package/dist/default-views.d.ts +35 -0
  20. package/dist/default-views.d.ts.map +1 -0
  21. package/dist/default-views.js +605 -0
  22. package/dist/default-views.js.map +1 -0
  23. package/dist/editable.d.ts +71 -0
  24. package/dist/editable.d.ts.map +1 -0
  25. package/dist/editable.js +225 -0
  26. package/dist/editable.js.map +1 -0
  27. package/dist/figure.d.ts +30 -0
  28. package/dist/figure.d.ts.map +1 -0
  29. package/dist/figure.js +66 -0
  30. package/dist/figure.js.map +1 -0
  31. package/dist/find.d.ts +5 -0
  32. package/dist/find.d.ts.map +1 -0
  33. package/dist/find.js +252 -0
  34. package/dist/find.js.map +1 -0
  35. package/dist/index.d.ts +51 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +44 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/installation.d.ts +17 -0
  40. package/dist/installation.d.ts.map +1 -0
  41. package/dist/installation.js +37 -0
  42. package/dist/installation.js.map +1 -0
  43. package/dist/ladder.d.ts +2 -0
  44. package/dist/ladder.d.ts.map +1 -0
  45. package/dist/ladder.js +53 -0
  46. package/dist/ladder.js.map +1 -0
  47. package/dist/lens/arranging.d.ts +41 -0
  48. package/dist/lens/arranging.d.ts.map +1 -0
  49. package/dist/lens/arranging.js +38 -0
  50. package/dist/lens/arranging.js.map +1 -0
  51. package/dist/lens/board.d.ts +146 -0
  52. package/dist/lens/board.d.ts.map +1 -0
  53. package/dist/lens/board.js +658 -0
  54. package/dist/lens/board.js.map +1 -0
  55. package/dist/lens/calendar-dates.d.ts +19 -0
  56. package/dist/lens/calendar-dates.d.ts.map +1 -0
  57. package/dist/lens/calendar-dates.js +55 -0
  58. package/dist/lens/calendar-dates.js.map +1 -0
  59. package/dist/lens/calendar-drawing.d.ts +59 -0
  60. package/dist/lens/calendar-drawing.d.ts.map +1 -0
  61. package/dist/lens/calendar-drawing.js +229 -0
  62. package/dist/lens/calendar-drawing.js.map +1 -0
  63. package/dist/lens/calendar-options.d.ts +107 -0
  64. package/dist/lens/calendar-options.d.ts.map +1 -0
  65. package/dist/lens/calendar-options.js +19 -0
  66. package/dist/lens/calendar-options.js.map +1 -0
  67. package/dist/lens/calendar-placing.d.ts +35 -0
  68. package/dist/lens/calendar-placing.d.ts.map +1 -0
  69. package/dist/lens/calendar-placing.js +113 -0
  70. package/dist/lens/calendar-placing.js.map +1 -0
  71. package/dist/lens/calendar-spans.d.ts +48 -0
  72. package/dist/lens/calendar-spans.d.ts.map +1 -0
  73. package/dist/lens/calendar-spans.js +146 -0
  74. package/dist/lens/calendar-spans.js.map +1 -0
  75. package/dist/lens/calendar-view.d.ts +34 -0
  76. package/dist/lens/calendar-view.d.ts.map +1 -0
  77. package/dist/lens/calendar-view.js +228 -0
  78. package/dist/lens/calendar-view.js.map +1 -0
  79. package/dist/lens/calendar.d.ts +43 -0
  80. package/dist/lens/calendar.d.ts.map +1 -0
  81. package/dist/lens/calendar.js +43 -0
  82. package/dist/lens/calendar.js.map +1 -0
  83. package/dist/lens/coverage.d.ts +183 -0
  84. package/dist/lens/coverage.d.ts.map +1 -0
  85. package/dist/lens/coverage.js +732 -0
  86. package/dist/lens/coverage.js.map +1 -0
  87. package/dist/lens/horizon.d.ts +14 -0
  88. package/dist/lens/horizon.d.ts.map +1 -0
  89. package/dist/lens/horizon.js +20 -0
  90. package/dist/lens/horizon.js.map +1 -0
  91. package/dist/lens/more.d.ts +16 -0
  92. package/dist/lens/more.d.ts.map +1 -0
  93. package/dist/lens/more.js +17 -0
  94. package/dist/lens/more.js.map +1 -0
  95. package/dist/lens/plan-lens.d.ts +17 -0
  96. package/dist/lens/plan-lens.d.ts.map +1 -0
  97. package/dist/lens/plan-lens.js +24 -0
  98. package/dist/lens/plan-lens.js.map +1 -0
  99. package/dist/lens/plan-state.d.ts +122 -0
  100. package/dist/lens/plan-state.d.ts.map +1 -0
  101. package/dist/lens/plan-state.js +152 -0
  102. package/dist/lens/plan-state.js.map +1 -0
  103. package/dist/lens/plan-view.d.ts +10 -0
  104. package/dist/lens/plan-view.d.ts.map +1 -0
  105. package/dist/lens/plan-view.js +576 -0
  106. package/dist/lens/plan-view.js.map +1 -0
  107. package/dist/lens/plan.d.ts +25 -0
  108. package/dist/lens/plan.d.ts.map +1 -0
  109. package/dist/lens/plan.js +25 -0
  110. package/dist/lens/plan.js.map +1 -0
  111. package/dist/lens/reach.d.ts +47 -0
  112. package/dist/lens/reach.d.ts.map +1 -0
  113. package/dist/lens/reach.js +67 -0
  114. package/dist/lens/reach.js.map +1 -0
  115. package/dist/lens/timeline.d.ts +137 -0
  116. package/dist/lens/timeline.d.ts.map +1 -0
  117. package/dist/lens/timeline.js +426 -0
  118. package/dist/lens/timeline.js.map +1 -0
  119. package/dist/markup.d.ts +23 -0
  120. package/dist/markup.d.ts.map +1 -0
  121. package/dist/markup.js +24 -0
  122. package/dist/markup.js.map +1 -0
  123. package/dist/places.d.ts +24 -0
  124. package/dist/places.d.ts.map +1 -0
  125. package/dist/places.js +227 -0
  126. package/dist/places.js.map +1 -0
  127. package/dist/popover.d.ts +28 -0
  128. package/dist/popover.d.ts.map +1 -0
  129. package/dist/popover.js +59 -0
  130. package/dist/popover.js.map +1 -0
  131. package/dist/primitives/index.d.ts +214 -0
  132. package/dist/primitives/index.d.ts.map +1 -0
  133. package/dist/primitives/index.js +381 -0
  134. package/dist/primitives/index.js.map +1 -0
  135. package/dist/profile.d.ts +65 -0
  136. package/dist/profile.d.ts.map +1 -0
  137. package/dist/profile.js +233 -0
  138. package/dist/profile.js.map +1 -0
  139. package/dist/quick-relations.d.ts +16 -0
  140. package/dist/quick-relations.d.ts.map +1 -0
  141. package/dist/quick-relations.js +183 -0
  142. package/dist/quick-relations.js.map +1 -0
  143. package/dist/relation-key.d.ts +44 -0
  144. package/dist/relation-key.d.ts.map +1 -0
  145. package/dist/relation-key.js +196 -0
  146. package/dist/relation-key.js.map +1 -0
  147. package/dist/seat.d.ts +137 -0
  148. package/dist/seat.d.ts.map +1 -0
  149. package/dist/seat.js +162 -0
  150. package/dist/seat.js.map +1 -0
  151. package/dist/seats.d.ts +21 -0
  152. package/dist/seats.d.ts.map +1 -0
  153. package/dist/seats.js +62 -0
  154. package/dist/seats.js.map +1 -0
  155. package/dist/seeding.d.ts +150 -0
  156. package/dist/seeding.d.ts.map +1 -0
  157. package/dist/seeding.js +538 -0
  158. package/dist/seeding.js.map +1 -0
  159. package/dist/shell.d.ts +74 -0
  160. package/dist/shell.d.ts.map +1 -0
  161. package/dist/shell.js +86 -0
  162. package/dist/shell.js.map +1 -0
  163. package/dist/theme.d.ts +50 -0
  164. package/dist/theme.d.ts.map +1 -0
  165. package/dist/theme.js +1692 -0
  166. package/dist/theme.js.map +1 -0
  167. package/dist/wordmark.d.ts +15 -0
  168. package/dist/wordmark.d.ts.map +1 -0
  169. package/dist/wordmark.js +55 -0
  170. package/dist/wordmark.js.map +1 -0
  171. package/dist/workbench/activity.d.ts +75 -0
  172. package/dist/workbench/activity.d.ts.map +1 -0
  173. package/dist/workbench/activity.js +259 -0
  174. package/dist/workbench/activity.js.map +1 -0
  175. package/dist/workbench/agent-seat.d.ts +51 -0
  176. package/dist/workbench/agent-seat.d.ts.map +1 -0
  177. package/dist/workbench/agent-seat.js +112 -0
  178. package/dist/workbench/agent-seat.js.map +1 -0
  179. package/dist/workbench/answer-args.d.ts +31 -0
  180. package/dist/workbench/answer-args.d.ts.map +1 -0
  181. package/dist/workbench/answer-args.js +257 -0
  182. package/dist/workbench/answer-args.js.map +1 -0
  183. package/dist/workbench/back-out.d.ts +71 -0
  184. package/dist/workbench/back-out.d.ts.map +1 -0
  185. package/dist/workbench/back-out.js +238 -0
  186. package/dist/workbench/back-out.js.map +1 -0
  187. package/dist/workbench/following.d.ts +7 -0
  188. package/dist/workbench/following.d.ts.map +1 -0
  189. package/dist/workbench/following.js +26 -0
  190. package/dist/workbench/following.js.map +1 -0
  191. package/dist/workbench/index.d.ts +23 -0
  192. package/dist/workbench/index.d.ts.map +1 -0
  193. package/dist/workbench/index.js +23 -0
  194. package/dist/workbench/index.js.map +1 -0
  195. package/dist/workbench/inspector.d.ts +27 -0
  196. package/dist/workbench/inspector.d.ts.map +1 -0
  197. package/dist/workbench/inspector.js +745 -0
  198. package/dist/workbench/inspector.js.map +1 -0
  199. package/dist/workbench/standing.d.ts +16 -0
  200. package/dist/workbench/standing.d.ts.map +1 -0
  201. package/dist/workbench/standing.js +102 -0
  202. package/dist/workbench/standing.js.map +1 -0
  203. package/dist/workbench/trail.d.ts +35 -0
  204. package/dist/workbench/trail.d.ts.map +1 -0
  205. package/dist/workbench/trail.js +150 -0
  206. package/dist/workbench/trail.js.map +1 -0
  207. package/package.json +62 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../src/lens/coverage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { type AnySchema, type GraphReader, type NodeOfSchema } from "@graview/core";
2
+ /**
3
+ * WHAT A LENS OVER A GROUP MAY DRAW: the whole graph, on the scene's horizon.
4
+ *
5
+ * A lens reads the kinds it binds from the store — the group hands it only
6
+ * its own members — and reading `allNodes()` also read what the horizon had
7
+ * put away. A discography's coverage of songs by theme drew its three
8
+ * retired demos as rows and headed the matrix "3 unanswered": the three
9
+ * songs the district had already said were past. So: the group's own kind
10
+ * is exactly the members the scene handed over (the horizon, and `past=1`
11
+ * when it is widened), and every other kind is what is current.
12
+ */
13
+ export declare function onTheHorizon<S extends AnySchema>(graph: GraphReader<NodeOfSchema<S>>, schema: S, members: readonly NodeOfSchema<S>[] | undefined): NodeOfSchema<S>[];
14
+ //# sourceMappingURL=horizon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"horizon.d.ts","sourceRoot":"","sources":["../../src/lens/horizon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAE/F;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAC9C,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACnC,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,GAC9C,YAAY,CAAC,CAAC,CAAC,EAAE,CAQnB"}
@@ -0,0 +1,20 @@
1
+ import { isCurrent } from "@graview/core";
2
+ /**
3
+ * WHAT A LENS OVER A GROUP MAY DRAW: the whole graph, on the scene's horizon.
4
+ *
5
+ * A lens reads the kinds it binds from the store — the group hands it only
6
+ * its own members — and reading `allNodes()` also read what the horizon had
7
+ * put away. A discography's coverage of songs by theme drew its three
8
+ * retired demos as rows and headed the matrix "3 unanswered": the three
9
+ * songs the district had already said were past. So: the group's own kind
10
+ * is exactly the members the scene handed over (the horizon, and `past=1`
11
+ * when it is widened), and every other kind is what is current.
12
+ */
13
+ export function onTheHorizon(graph, schema, members) {
14
+ const handed = new Set((members ?? []).map((node) => node.kind));
15
+ const mine = new Set((members ?? []).map((node) => node.id));
16
+ return graph.allNodes().filter((node) => handed.has(node.kind)
17
+ ? mine.has(node.id)
18
+ : isCurrent(schema.tryDefinition(node.kind), node));
19
+ }
20
+ //# sourceMappingURL=horizon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"horizon.js","sourceRoot":"","sources":["../../src/lens/horizon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuD,MAAM,eAAe,CAAC;AAE/F;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAmC,EACnC,MAAS,EACT,OAA+C;IAE/C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACtC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAc,CAAC;QAC7B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAa,CAAC,EAAE,IAAa,CAAC,CACvE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { AnySchema } from "@graview/core";
2
+ import type { ReactElement } from "react";
3
+ /**
4
+ * "+N MORE", said by a lens handed fewer members than there are (docs/scale.md).
5
+ *
6
+ * A drive-in's thumbnail gives its lens the 12 most relevant members, not
7
+ * the population; a lens that draws them and says nothing lets a picture
8
+ * of 12 pass for all 1,177. One line under the picture, in the kind's words.
9
+ */
10
+ export declare function withMore(props: {
11
+ readonly nodes?: readonly {
12
+ readonly kind: string;
13
+ }[];
14
+ readonly total?: number;
15
+ }, schema: AnySchema, picture: ReactElement): ReactElement;
16
+ //# sourceMappingURL=more.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"more.d.ts","sourceRoot":"","sources":["../../src/lens/more.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACzF,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,YAAY,GACpB,YAAY,CAad"}
@@ -0,0 +1,17 @@
1
+ import { jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * "+N MORE", said by a lens handed fewer members than there are (docs/scale.md).
4
+ *
5
+ * A drive-in's thumbnail gives its lens the 12 most relevant members, not
6
+ * the population; a lens that draws them and says nothing lets a picture
7
+ * of 12 pass for all 1,177. One line under the picture, in the kind's words.
8
+ */
9
+ export function withMore(props, schema, picture) {
10
+ const drawn = props.nodes?.length ?? 0;
11
+ if (props.total === undefined || props.total <= drawn)
12
+ return picture;
13
+ const kind = props.nodes?.[0]?.kind;
14
+ const plural = kind ? (schema.tryDefinition(kind)?.plural ?? `${kind}s`).toLowerCase() : "more";
15
+ return (_jsxs("div", { style: { display: "grid", gridTemplateRows: "minmax(0, 1fr) auto", height: "100%", minHeight: 0 }, children: [picture, _jsxs("p", { "data-testid": "lens-more", style: { margin: "4px 0 0", fontSize: "0.8125rem", color: "var(--graview-ink-muted)" }, children: ["+", props.total - drawn, " more ", plural] })] }));
16
+ }
17
+ //# sourceMappingURL=more.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"more.js","sourceRoot":"","sources":["../../src/lens/more.tsx"],"names":[],"mappings":";AAGA;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACtB,KAAyF,EACzF,MAAiB,EACjB,OAAqB;IAErB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK;QAAE,OAAO,OAAO,CAAC;IACtE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAChG,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,aACnG,OAAO,EACR,4BAAe,WAAW,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAE,kBAC7G,KAAK,CAAC,KAAK,GAAG,KAAK,YAAQ,MAAM,IACjC,IACA,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { AnySchema, NodeOfSchema } from "@graview/core";
2
+ import { type ViewProps } from "@graview/react";
3
+ import type { ReactElement } from "react";
4
+ import { type PlanLensOptions, type PlanLensState } from "./plan-state.js";
5
+ export interface PlanLens<S extends AnySchema> {
6
+ readonly name: "plan";
7
+ readonly requiredRoles: readonly string[];
8
+ readonly options: PlanLensOptions;
9
+ View(props: ViewProps<S>): ReactElement | null;
10
+ build(nodes: readonly NodeOfSchema<S>[], edges: readonly {
11
+ kind: string;
12
+ from: string;
13
+ to: string;
14
+ }[], schema?: S): PlanLensState;
15
+ }
16
+ export declare function createPlanLens<S extends AnySchema>(options: PlanLensOptions): PlanLens<S>;
17
+ //# sourceMappingURL=plan-lens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-lens.d.ts","sourceRoot":"","sources":["../../src/lens/plan-lens.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAuB,KAAK,eAAe,EAAE,KAAK,aAAa,EAAiB,MAAM,iBAAiB,CAAC;AAG/G,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,SAAS;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC;IAC/C,KAAK,CACH,KAAK,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,EACjC,KAAK,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,EAC5D,MAAM,CAAC,EAAE,CAAC,GACT,aAAa,CAAC;CAClB;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,SAAS,EAChD,OAAO,EAAE,eAAe,GACvB,QAAQ,CAAC,CAAC,CAAC,CAmBb"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useGraview } from "@graview/react";
3
+ import { PLAN_REQUIRED_ROLES, buildPlanLens } from "./plan-state.js";
4
+ import { PlanView } from "./plan-view.js";
5
+ export function createPlanLens(options) {
6
+ // A real component, not a method that calls hooks — the same reason the
7
+ // framework's own board lens is written this way.
8
+ function Bound(props) {
9
+ // The schema comes from the provider: `ViewProps` carries none, and
10
+ // without it every schema-aware decision quietly takes its fallback.
11
+ const { store } = useGraview();
12
+ return _jsx(PlanView, { schema: store.schema, ...props, options: options });
13
+ }
14
+ return {
15
+ name: "plan",
16
+ requiredRoles: [...PLAN_REQUIRED_ROLES],
17
+ options,
18
+ View: Bound,
19
+ build(nodes, edges, schema) {
20
+ return buildPlanLens(nodes, edges, options, schema);
21
+ },
22
+ };
23
+ }
24
+ //# sourceMappingURL=plan-lens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-lens.js","sourceRoot":"","sources":["../../src/lens/plan-lens.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAA4C,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAc1C,MAAM,UAAU,cAAc,CAC5B,OAAwB;IAExB,wEAAwE;IACxE,kDAAkD;IAClD,SAAS,KAAK,CAAC,KAAmB;QAChC,oEAAoE;QACpE,qEAAqE;QACrE,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAK,CAAC;QAClC,OAAO,KAAC,QAAQ,IAAI,MAAM,EAAE,KAAK,CAAC,MAAM,KAAM,KAAK,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,CAAC,GAAG,mBAAmB,CAAC;QACvC,OAAO;QACP,IAAI,EAAE,KAAK;QACX,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM;YACxB,OAAO,aAAa,CAAI,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,122 @@
1
+ import { type AnySchema, type NodeOfSchema } from "@graview/core";
2
+ export declare const PLAN_REQUIRED_ROLES: readonly ["regions", "outline"];
3
+ export interface PlanLensOptions {
4
+ /** Kind whose nodes are regions, drawn as their outlines. */
5
+ readonly regions: string;
6
+ /** Field on a region holding its outline: `{ x, y }[]`, each 0..1. */
7
+ readonly outline: string;
8
+ /** Kind whose nodes are markers, drawn as points inside the regions. */
9
+ readonly markers?: string;
10
+ /** Field on a marker holding its point, `{ x, y }` 0..1. */
11
+ readonly at?: string;
12
+ /** Edge kind from a marker to the region it stands in. */
13
+ readonly within?: string;
14
+ /** Edge kind nesting one region inside another, child → parent. */
15
+ readonly nests?: string;
16
+ /**
17
+ * Field naming what a region or marker IS — a surface, a room type, a
18
+ * fixture type. Drives the hue, so the picture groups by category without
19
+ * the lens ever learning what the categories mean.
20
+ */
21
+ readonly regionKind?: string;
22
+ readonly markerKind?: string;
23
+ /**
24
+ * Hue in DEGREES per category value, when the domain has an opinion.
25
+ *
26
+ * A hash gives every category a stable colour and no meaning, which is
27
+ * right for a lens that cannot know what the categories are — and wrong
28
+ * the moment a domain does know. Grass drawn violet and tarmac drawn
29
+ * green is a picture actively working against the reader. So the hue is
30
+ * a binding like every other: the lens still knows nothing, and the app
31
+ * says turf is green. Anything not named here still hashes.
32
+ */
33
+ readonly hues?: Readonly<Record<string, number>>;
34
+ /** Width divided by height. A site is usually wider than it is deep. */
35
+ readonly aspect?: number;
36
+ /** What a region with no outline is called, in the app's own words. */
37
+ readonly undrawnLabel?: string;
38
+ /** What a marker standing nowhere is called. */
39
+ readonly strayLabel?: string;
40
+ /**
41
+ * HOW TO DRAW, in the domain's own acts.
42
+ *
43
+ * The lens knows how to draw an outline from a click on the canvas per
44
+ * corner; what it does not know is which act writes it. The domain says:
45
+ * `draw` names the act and the argument that takes the region's id and
46
+ * the one that takes the outline; `place` the same for a marker's point.
47
+ * Without these the map is read-only, which is a legitimate lens too.
48
+ */
49
+ readonly draw?: {
50
+ readonly act: string;
51
+ readonly id: string;
52
+ readonly outline: string;
53
+ };
54
+ readonly place?: {
55
+ readonly act: string;
56
+ readonly id: string;
57
+ readonly at: string;
58
+ };
59
+ /**
60
+ * Somewhere else that can draw what is undrawn — a desk, a model, an
61
+ * import. Offered beside the drawing tools whenever there is something
62
+ * left to draw, in the app's own words.
63
+ */
64
+ readonly help?: {
65
+ readonly label: string;
66
+ readonly href: string;
67
+ };
68
+ }
69
+ export interface MapPoint {
70
+ readonly x: number;
71
+ readonly y: number;
72
+ }
73
+ export interface MappedMarker {
74
+ readonly id: string;
75
+ readonly label: string;
76
+ readonly at: MapPoint;
77
+ readonly what?: string;
78
+ }
79
+ export interface MappedRegion {
80
+ readonly id: string;
81
+ readonly label: string;
82
+ readonly outline: readonly MapPoint[];
83
+ /** Where a label sits. The polygon's own centroid, not its bounding box. */
84
+ readonly centre: MapPoint;
85
+ readonly what?: string;
86
+ /** How deep this region is nested. Deeper draws later, so it draws on top. */
87
+ readonly depth: number;
88
+ readonly markers: readonly MappedMarker[];
89
+ }
90
+ export interface PlanLensState {
91
+ /** Regions that can actually be drawn, parents before children. */
92
+ readonly regions: readonly MappedRegion[];
93
+ /** Named but never drawn. Half the reason the lens exists. */
94
+ readonly undrawn: readonly {
95
+ readonly id: string;
96
+ readonly label: string;
97
+ }[];
98
+ /** Markers with no point, or belonging to no region. The other half. */
99
+ readonly strays: readonly {
100
+ readonly id: string;
101
+ readonly label: string;
102
+ }[];
103
+ }
104
+ /**
105
+ * Fails LOUDLY and by name. A lens that renders empty when it has been
106
+ * misbound costs an hour of looking at the data, and the data is fine.
107
+ */
108
+ export declare class PlanBindingError extends Error {
109
+ readonly hint: string;
110
+ constructor(message: string, hint: string);
111
+ }
112
+ /**
113
+ * Reads the map out of the graph. PURE and exported, so a test can assert
114
+ * on what is missing from the picture rather than on the drawing of it —
115
+ * and so a second domain can build it without rendering anything.
116
+ */
117
+ export declare function buildPlanLens<S extends AnySchema>(nodes: readonly NodeOfSchema<S>[], edges: readonly {
118
+ kind: string;
119
+ from: string;
120
+ to: string;
121
+ }[], options: PlanLensOptions, schema?: S): PlanLensState;
122
+ //# sourceMappingURL=plan-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-state.d.ts","sourceRoot":"","sources":["../../src/lens/plan-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,152 @@
1
+ import { labelOf } from "@graview/core";
2
+ import { centroidOf } from "@graview/layout";
3
+ export const PLAN_REQUIRED_ROLES = ["regions", "outline"];
4
+ /**
5
+ * Fails LOUDLY and by name. A lens that renders empty when it has been
6
+ * misbound costs an hour of looking at the data, and the data is fine.
7
+ */
8
+ export class PlanBindingError extends Error {
9
+ hint;
10
+ constructor(message, hint) {
11
+ super(`${message}\n ${hint}`);
12
+ this.hint = hint;
13
+ this.name = "PlanBindingError";
14
+ }
15
+ }
16
+ const HINT = 'Check the lens bindings: { regions: "<kind>", outline: "<field>", markers?: "<kind>", at?: "<field>", within?: "<edge>" }';
17
+ const isPoint = (value) => typeof value === "object" &&
18
+ value !== null &&
19
+ typeof value.x === "number" &&
20
+ typeof value.y === "number";
21
+ /*
22
+ * THE ARITHMETIC OF A NAME THAT FITS is the framework's now, in
23
+ * `@graview/layout` — the scanline, the break at the middle, shrink before
24
+ * cut, cut before lie, nothing rather than a stub. It was written here,
25
+ * against a real survey, and every line of it turned out to be about
26
+ * drawing rather than about grounds. What stays here is the part that IS
27
+ * about grounds: which shapes, what they are called, and where the key goes.
28
+ */
29
+ /**
30
+ * Reads the map out of the graph. PURE and exported, so a test can assert
31
+ * on what is missing from the picture rather than on the drawing of it —
32
+ * and so a second domain can build it without rendering anything.
33
+ */
34
+ export function buildPlanLens(nodes, edges, options, schema) {
35
+ const record = (node) => node;
36
+ const name = (node) => schema
37
+ ? labelOf(schema.tryDefinition(node.kind), node)
38
+ : String(record(node)["label"] ?? node.id);
39
+ /*
40
+ * AN EMPTY GRAPH IS NOT A MISBINDING. A blank installation has no ground
41
+ * yet and the map's title is already in the bar, so throwing on "no
42
+ * regions" would take the scene down at exactly the moment somebody went
43
+ * looking for the empty picture. A kind nobody declared IS a misbinding,
44
+ * and that is what is worth shouting about.
45
+ */
46
+ if (schema && schema.tryDefinition(options.regions) === undefined) {
47
+ throw new PlanBindingError(`No kind is declared for "${options.regions}".`, HINT);
48
+ }
49
+ if (options.markers && schema && schema.tryDefinition(options.markers) === undefined) {
50
+ throw new PlanBindingError(`No kind is declared for "${options.markers}".`, HINT);
51
+ }
52
+ const regionNodes = nodes.filter((node) => node.kind === options.regions);
53
+ if (!schema && regionNodes.length === 0) {
54
+ throw new PlanBindingError(`Nothing to draw: no "${options.regions}" nodes.`, HINT);
55
+ }
56
+ /*
57
+ * IS THE FIELD DECLARED — asked of the SCHEMA, never of the nodes.
58
+ *
59
+ * The first version asked the nodes: "does any region carry the outline
60
+ * field?" On the first real survey the answer was no — seven areas, none
61
+ * drawn, because a model cannot give coordinates from photographs — and
62
+ * the lens threw a binding error over a state that is not only legal but
63
+ * the normal state of a property that has just been staked out. The
64
+ * framework has no error boundary around a view, so one thrown lens
65
+ * blacked out the whole scene. (docs/graview-feedback.md F-026.)
66
+ *
67
+ * Nothing drawn yet is what `undrawn` is for. A misbinding is a field the
68
+ * kind does not HAVE, and only the declaration can say that.
69
+ */
70
+ const declared = schema?.tryDefinition(options.regions);
71
+ const shape = declared?.fields?.shape;
72
+ if (shape !== undefined && !(options.outline in shape)) {
73
+ throw new PlanBindingError(`"${options.regions}" has no field called "${options.outline}".`, HINT);
74
+ }
75
+ const depthOf = (() => {
76
+ const parent = new Map();
77
+ if (options.nests) {
78
+ for (const edge of edges) {
79
+ if (edge.kind === options.nests)
80
+ parent.set(edge.from, edge.to);
81
+ }
82
+ }
83
+ return (id) => {
84
+ let depth = 0;
85
+ let at = parent.get(id);
86
+ // A cycle would spin forever; the region count is a hard ceiling on
87
+ // how deep any honest nesting can be.
88
+ const seen = new Set([id]);
89
+ while (at !== undefined && !seen.has(at) && depth < regionNodes.length) {
90
+ seen.add(at);
91
+ depth += 1;
92
+ at = parent.get(at);
93
+ }
94
+ return depth;
95
+ };
96
+ })();
97
+ const markerNodes = options.markers
98
+ ? nodes.filter((node) => node.kind === options.markers)
99
+ : [];
100
+ const homeOf = new Map();
101
+ if (options.within) {
102
+ for (const edge of edges) {
103
+ if (edge.kind === options.within)
104
+ homeOf.set(edge.from, edge.to);
105
+ }
106
+ }
107
+ const strays = [];
108
+ const markersByRegion = new Map();
109
+ for (const node of markerNodes) {
110
+ const at = options.at === undefined ? undefined : record(node)[options.at];
111
+ const home = homeOf.get(node.id);
112
+ if (!isPoint(at) || home === undefined) {
113
+ // Recorded but not placeable. Said out loud rather than dropped: a
114
+ // marker that vanishes from the picture is a record nobody can act on.
115
+ strays.push({ id: node.id, label: name(node) });
116
+ continue;
117
+ }
118
+ const what = options.markerKind === undefined ? undefined : record(node)[options.markerKind];
119
+ const list = markersByRegion.get(home) ?? [];
120
+ list.push({
121
+ id: node.id,
122
+ label: name(node),
123
+ at,
124
+ ...(typeof what === "string" ? { what } : {}),
125
+ });
126
+ markersByRegion.set(home, list);
127
+ }
128
+ const undrawn = [];
129
+ const regions = [];
130
+ for (const node of regionNodes) {
131
+ const outline = record(node)[options.outline];
132
+ if (!Array.isArray(outline) || outline.length < 3 || !outline.every(isPoint)) {
133
+ undrawn.push({ id: node.id, label: name(node) });
134
+ continue;
135
+ }
136
+ const what = options.regionKind === undefined ? undefined : record(node)[options.regionKind];
137
+ regions.push({
138
+ id: node.id,
139
+ label: name(node),
140
+ outline,
141
+ centre: centroidOf(outline),
142
+ depth: depthOf(node.id),
143
+ markers: markersByRegion.get(node.id) ?? [],
144
+ ...(typeof what === "string" ? { what } : {}),
145
+ });
146
+ }
147
+ // Parents before children, so nested ground draws on top of the ground it
148
+ // is part of rather than under it.
149
+ regions.sort((a, b) => a.depth - b.depth);
150
+ return { regions, undrawn, strays };
151
+ }
152
+ //# sourceMappingURL=plan-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-state.js","sourceRoot":"","sources":["../../src/lens/plan-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { AnySchema } from "@graview/core";
2
+ import { type ViewProps } from "@graview/react";
3
+ import { type ReactElement } from "react";
4
+ import { type PlanLensOptions } from "./plan-state.js";
5
+ export interface PlanViewProps<S extends AnySchema> extends ViewProps<S> {
6
+ readonly schema?: S;
7
+ readonly options: PlanLensOptions;
8
+ }
9
+ export declare function PlanView<S extends AnySchema>({ schema, options, nodes, label, fidelity, selected, implicated, flagged, }: PlanViewProps<S>): ReactElement | null;
10
+ //# sourceMappingURL=plan-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-view.d.ts","sourceRoot":"","sources":["../../src/lens/plan-view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,eAAe,CAAC;AAI7D,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAA8C,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACtF,OAAO,EAAiB,KAAK,eAAe,EAAqC,MAAM,iBAAiB,CAAC;AA6HzG,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IACtE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,EAC5C,MAAM,EACN,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,OAAO,GACR,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,IAAI,CAi0BxC"}