@issuegraph/viewer 0.1.0 → 0.1.2
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.
- package/README.md +5 -1
- package/dist/index.d.ts +16 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/layout.d.ts +34 -27
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +181 -11
- package/dist/layout.js.map +1 -1
- package/dist/mount.d.ts.map +1 -1
- package/dist/mount.js +102 -12
- package/dist/mount.js.map +1 -1
- package/dist/parts.d.ts.map +1 -1
- package/dist/parts.js +46 -6
- package/dist/parts.js.map +1 -1
- package/dist/projections/graph.d.ts.map +1 -1
- package/dist/projections/graph.js +68 -16
- package/dist/projections/graph.js.map +1 -1
- package/dist/render.js +2 -2
- package/dist/render.js.map +1 -1
- package/dist/theme.d.ts +23 -2
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +75 -3
- package/dist/theme.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -86,7 +86,11 @@ Every relationship is separable on **four** channels — dash, terminal marker,
|
|
|
86
86
|
|
|
87
87
|
The `together-with` **connector** lives in this layer, declared deliberately: a click target cannot be added from outside without the viewer knowing where members are.
|
|
88
88
|
|
|
89
|
-
**Two identities, not one.** Every focusable element carries `data-ig-key`, and exactly one element per key does — otherwise focus lands on whichever the renderer emitted first.
|
|
89
|
+
**Two identities, not one.** Every focusable element carries `data-ig-key`, and exactly one element per key does — otherwise focus lands on whichever the renderer emitted first. Everything that names an **edge** — an ordinary edge path, its terminal marker, and a `together-with` enclosure and connector — carries `data-ig-group` instead, so it stays out of the focus index while remaining clickable: `mountViewer` reads both, so a pointer on either is answered.
|
|
90
|
+
|
|
91
|
+
**They name different subjects, and a host must not assume an issue key.** The enclosure names its **slot** — its `data-ig-group` is the slot's lead, so clicking it selects the unit. Every **edge** mark names the edge itself, with the identity `edgeIdentity` derives, which is exactly the `id` `@issuegraph/store` gives the matching `StoredEdge` — so `findEdge(document, key)` resolves it. That covers all five relationships: the four drawn as arcs, on both the stroke and the arrowhead that caps it, and `together-with` on its connector. One connector is drawn per declared `together-with` edge rather than per adjacent member, because a group is joined by pointing at any existing member (§4.3.7) and a star would otherwise publish a pair the document never declared.
|
|
92
|
+
|
|
93
|
+
So `onSelect` reports **either** an issue key or an edge identity. Distinguish them the way you already hold your data — an issue key is a key in the document you passed in — rather than by parsing the string. Selecting an edge deliberately does **not** move the keyboard tab stop: `navigable` lists issues, and focus is left where the reader put it.
|
|
90
94
|
|
|
91
95
|
## Theming
|
|
92
96
|
|
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,17 @@
|
|
|
19
19
|
* because a published package can add an export later and can never take one
|
|
20
20
|
* back.
|
|
21
21
|
*
|
|
22
|
+
* ONE OF THOSE CONSUMERS IS `@issuegraph/editor`, which is why the markup
|
|
23
|
+
* grammar and the component summary are on the surface at all. Layer 2 draws
|
|
24
|
+
* edit affordances as overlays on this layer and refuses the canvas on this
|
|
25
|
+
* layer's budgets, and it composes through this file or not at all — its own
|
|
26
|
+
* README states the rule: what a sibling does not export gets exported
|
|
27
|
+
* deliberately, never reached past. The alternative for each was a second
|
|
28
|
+
* implementation out there: a second HTML escaper over untrusted document text,
|
|
29
|
+
* and a second components/cycle/depth pass whose input space drifts from this
|
|
30
|
+
* one. `svg`, `materialize` and the mount-side element types stay internal —
|
|
31
|
+
* nothing owes them yet.
|
|
32
|
+
*
|
|
22
33
|
* @see https://github.com/autnmy/issuegraph/blob/main/SPEC.md
|
|
23
34
|
*/
|
|
24
35
|
export type { HoldFamily, NormalizeResult, NormalizedDocument, RankProvenance, ViewerDocument, ViewerEdge, ViewerExclusion, ViewerHold, ViewerIssue, ViewerOrder, ViewerSlot, } from './document.ts';
|
|
@@ -32,9 +43,13 @@ export { mountViewer } from './mount.ts';
|
|
|
32
43
|
export type { NavigationCommand, NavigationResult, NavigationState } from './navigation.ts';
|
|
33
44
|
export { initialNavigationState, navigate, reconcile } from './navigation.ts';
|
|
34
45
|
export type { ColorToken, MetricToken, Theme, ThemeOverride, TypeToken, } from './theme.ts';
|
|
35
|
-
export { COLOR_TOKENS, METRIC_TOKENS, THEME_TOKENS, TYPE_TOKENS, defaultTheme, extendTheme, themeCss, } from './theme.ts';
|
|
46
|
+
export { resolveTheme, COLOR_TOKENS, METRIC_TOKENS, THEME_TOKENS, TYPE_TOKENS, defaultTheme, extendTheme, themeCss, } from './theme.ts';
|
|
36
47
|
export { viewerStylesheet } from './styles.ts';
|
|
37
48
|
export type { EdgeDash, EdgeTerminal, EdgeTreatment, OrderingEffect } from './vocabulary.ts';
|
|
38
49
|
export { EDGE_TREATMENTS, dashArrayFor, treatmentFor } from './vocabulary.ts';
|
|
39
50
|
export { CLUSTER_ONLY_BUDGET, GRAPH_NODE_BUDGET } from './projections/graph.ts';
|
|
51
|
+
export type { Cluster } from './clusters.ts';
|
|
52
|
+
export { clustersOf } from './clusters.ts';
|
|
53
|
+
export type { AttrValue, ElementSpec, SpecChild } from './element.ts';
|
|
54
|
+
export { element, renderMarkup } from './element.ts';
|
|
40
55
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,YAAY,EACV,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,UAAU,EACV,eAAe,EACf,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,YAAY,EACV,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE9E,YAAY,EACV,UAAU,EACV,WAAW,EACX,KAAK,EACL,aAAa,EACb,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EACnB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -19,6 +19,17 @@
|
|
|
19
19
|
* because a published package can add an export later and can never take one
|
|
20
20
|
* back.
|
|
21
21
|
*
|
|
22
|
+
* ONE OF THOSE CONSUMERS IS `@issuegraph/editor`, which is why the markup
|
|
23
|
+
* grammar and the component summary are on the surface at all. Layer 2 draws
|
|
24
|
+
* edit affordances as overlays on this layer and refuses the canvas on this
|
|
25
|
+
* layer's budgets, and it composes through this file or not at all — its own
|
|
26
|
+
* README states the rule: what a sibling does not export gets exported
|
|
27
|
+
* deliberately, never reached past. The alternative for each was a second
|
|
28
|
+
* implementation out there: a second HTML escaper over untrusted document text,
|
|
29
|
+
* and a second components/cycle/depth pass whose input space drifts from this
|
|
30
|
+
* one. `svg`, `materialize` and the mount-side element types stay internal —
|
|
31
|
+
* nothing owes them yet.
|
|
32
|
+
*
|
|
22
33
|
* @see https://github.com/autnmy/issuegraph/blob/main/SPEC.md
|
|
23
34
|
*/
|
|
24
35
|
export { normalizeDocument } from "./document.js";
|
|
@@ -26,8 +37,10 @@ export { KEY_ATTRIBUTE } from "./scene.js";
|
|
|
26
37
|
export { renderViewer } from "./render.js";
|
|
27
38
|
export { mountViewer } from "./mount.js";
|
|
28
39
|
export { initialNavigationState, navigate, reconcile } from "./navigation.js";
|
|
29
|
-
export { COLOR_TOKENS, METRIC_TOKENS, THEME_TOKENS, TYPE_TOKENS, defaultTheme, extendTheme, themeCss, } from "./theme.js";
|
|
40
|
+
export { resolveTheme, COLOR_TOKENS, METRIC_TOKENS, THEME_TOKENS, TYPE_TOKENS, defaultTheme, extendTheme, themeCss, } from "./theme.js";
|
|
30
41
|
export { viewerStylesheet } from "./styles.js";
|
|
31
42
|
export { EDGE_TREATMENTS, dashArrayFor, treatmentFor } from "./vocabulary.js";
|
|
32
43
|
export { CLUSTER_ONLY_BUDGET, GRAPH_NODE_BUDGET } from "./projections/graph.js";
|
|
44
|
+
export { clustersOf } from "./clusters.js";
|
|
45
|
+
export { element, renderMarkup } from "./element.js";
|
|
33
46
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAeH,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ3C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS9E,OAAO,EAAE,YAAY,EACnB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/layout.d.ts
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* panel whose job is to be authoritative be trusted between refreshes.
|
|
24
24
|
*/
|
|
25
25
|
import type { NormalizedDocument, ViewerEdge } from './document.ts';
|
|
26
|
-
import type
|
|
26
|
+
import { type Theme } from './theme.ts';
|
|
27
27
|
/**
|
|
28
28
|
* Custom properties carrying LAYOUT OUTPUT rather than theme input.
|
|
29
29
|
*
|
|
@@ -64,34 +64,17 @@ export interface GraphLayout {
|
|
|
64
64
|
readonly rightChannel: number;
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* the column so the channels stay free.
|
|
70
|
-
*/
|
|
71
|
-
/**
|
|
72
|
-
* The label as it fits the box the layout gave it.
|
|
73
|
-
*
|
|
74
|
-
* `boxWidth` CLAMPS to the column, so a title longer than the column gets a box
|
|
75
|
-
* narrower than its text — and an SVG `<text>` neither wraps nor clips, so the
|
|
76
|
-
* overflow ran straight across the routing channel and the neighbouring nodes,
|
|
77
|
-
* hiding the edges and labels the graph exists to show. Long issue titles are
|
|
78
|
-
* ordinary, so this was the common case rather than an edge one.
|
|
79
|
-
*
|
|
80
|
-
* IT MEASURES WITH THE SAME METRIC `boxWidth` SIZES WITH, which is the whole
|
|
81
|
-
* reason this belongs beside it rather than in the projection. Both read
|
|
82
|
-
* `--ig-char-width`, so the renderer's idea of what fits and the layout's cannot
|
|
83
|
-
* disagree — a separate estimate in the drawing code would be a second opinion
|
|
84
|
-
* about the same question, and the two would drift.
|
|
85
|
-
*
|
|
86
|
-
* THE ELLIPSIS IS THIS PACKAGE'S OWN TREATMENT, not a new convention: the rail's
|
|
87
|
-
* HTML rows already resolve an over-long title with `text-overflow: ellipsis`,
|
|
88
|
-
* so a canvas label that simply stopped mid-word would make the two surfaces
|
|
89
|
-
* disagree about what a truncated title looks like.
|
|
67
|
+
* How wide a drawn label runs, under the same model {@link fitLabel} truncates
|
|
68
|
+
* with.
|
|
90
69
|
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
70
|
+
* EXPORTED SO A TEST CAN CHECK THE GEOMETRY WITHOUT RESTATING THE MODEL. The
|
|
71
|
+
* overflow invariant used to be asserted with `text.length * --ig-char-width`,
|
|
72
|
+
* which is the mono advance at the wrong size and the very assumption #44
|
|
73
|
+
* named — so the guard shared the defect it was guarding against. Measuring
|
|
74
|
+
* with this checks that the right box got the right label; the wide-glyph
|
|
75
|
+
* bound is what checks the model itself, against a number stated outside it.
|
|
94
76
|
*/
|
|
77
|
+
export declare function measureLabel(theme: Theme, label: string): number;
|
|
95
78
|
export declare function fitLabel(theme: Theme, label: string, width: number): string;
|
|
96
79
|
/** Lay a document out. Pure: coordinates depend only on the document and the theme. */
|
|
97
80
|
export declare function layoutGraph(document: NormalizedDocument, theme: Theme): GraphLayout;
|
|
@@ -112,6 +95,30 @@ export interface EdgeGeometry {
|
|
|
112
95
|
* better than drawing at coordinates nobody computed.
|
|
113
96
|
*/
|
|
114
97
|
export declare function edgeGeometry(layout: GraphLayout, edge: ViewerEdge): EdgeGeometry | null;
|
|
98
|
+
/**
|
|
99
|
+
* The path joining two members of one together unit, clear of every member box.
|
|
100
|
+
*
|
|
101
|
+
* ONE CONNECTOR PER DECLARED EDGE, which is why this takes two keys rather than
|
|
102
|
+
* a position in the member list. A group is joined by pointing at any existing
|
|
103
|
+
* member (§4.3.7), so `2 together-with 1` plus `3 together-with 1` is an
|
|
104
|
+
* ordinary STAR whose members lay out as three consecutive rows — and a
|
|
105
|
+
* connector drawn between adjacent rows would claim a `2`–`3` relationship the
|
|
106
|
+
* document never declares while leaving the real `1`–`3` edge undrawable.
|
|
107
|
+
*
|
|
108
|
+
* TWO ROUTES, and the branch is the whole of it. Members of a slot are placed
|
|
109
|
+
* consecutively in one column, so an edge between NEIGHBOURING rows crosses
|
|
110
|
+
* only the gap between them and is drawn straight. An edge that spans a row —
|
|
111
|
+
* which only a star can produce — would run through the node between them, so
|
|
112
|
+
* it is routed out to a lane in the enclosure's own padding. The lane sits left
|
|
113
|
+
* of `x`, and every member box in a column starts at exactly `x`, so the
|
|
114
|
+
* vertical run is provably outside every occupied x-range rather than merely
|
|
115
|
+
* looking clear.
|
|
116
|
+
*
|
|
117
|
+
* Endpoints come from measured bounds on both routes, per the kit's
|
|
118
|
+
* implementation note: a hit target derived from an eyeballed offset drifts the
|
|
119
|
+
* first time the type scale moves.
|
|
120
|
+
*/
|
|
121
|
+
export declare function connectorPath(layout: GraphLayout, members: readonly string[], from: string, to: string, theme: Theme): string | null;
|
|
115
122
|
/** The box enclosing a together unit's members, padded clear of their bounds. */
|
|
116
123
|
export declare function enclosureBounds(layout: GraphLayout, members: readonly string[], theme: Theme): {
|
|
117
124
|
x: number;
|
package/dist/layout.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
|
package/dist/layout.js
CHANGED
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
* same document always produces the same coordinates, which is what lets a
|
|
23
23
|
* panel whose job is to be authoritative be trusted between refreshes.
|
|
24
24
|
*/
|
|
25
|
+
import { defaultTheme } from "./theme.js";
|
|
25
26
|
/**
|
|
26
27
|
* Custom properties carrying LAYOUT OUTPUT rather than theme input.
|
|
27
28
|
*
|
|
@@ -40,7 +41,18 @@ export const LAYOUT_PROPERTIES = Object.freeze([
|
|
|
40
41
|
'--ig-row-h',
|
|
41
42
|
]);
|
|
42
43
|
function metric(theme, token) {
|
|
43
|
-
|
|
44
|
+
// FALLS BACK TO THE DEFAULT, AS A BACKSTOP RATHER THAN AS THE FIX.
|
|
45
|
+
// `resolveTheme` fills a caller's theme at the entry points, which is where a
|
|
46
|
+
// hole belongs closed; this covers the exported low-level functions a consumer
|
|
47
|
+
// can reach directly with a theme built against an EARLIER version.
|
|
48
|
+
//
|
|
49
|
+
// A MISSING METRIC DOES NOT FAIL LOUDLY, which is what makes it worth a line:
|
|
50
|
+
// it reads `undefined`, arithmetic on it yields `NaN`, and every comparison
|
|
51
|
+
// against `NaN` is false — so a fitting check silently passes everything.
|
|
52
|
+
// Measured when `--ig-label-char-width` was added: a 0.1.0 theme made
|
|
53
|
+
// `fitLabel` return a 60-character title with an ellipsis APPENDED, which is
|
|
54
|
+
// worse overflow than the defect that token was added to fix.
|
|
55
|
+
return theme.metrics[token] ?? defaultTheme.metrics[token];
|
|
44
56
|
}
|
|
45
57
|
/**
|
|
46
58
|
* A node's width follows its own contents rather than the column, so an edge
|
|
@@ -56,11 +68,24 @@ function metric(theme, token) {
|
|
|
56
68
|
* hiding the edges and labels the graph exists to show. Long issue titles are
|
|
57
69
|
* ordinary, so this was the common case rather than an edge one.
|
|
58
70
|
*
|
|
59
|
-
* IT MEASURES WITH THE
|
|
60
|
-
*
|
|
61
|
-
* `--ig-
|
|
62
|
-
*
|
|
63
|
-
*
|
|
71
|
+
* IT MEASURES WITH THE LABEL'S OWN METRIC, WHICH `boxWidth` DELIBERATELY DOES
|
|
72
|
+
* NOT. Both used to read `--ig-char-width` — documented as the MONO advance at
|
|
73
|
+
* `--ig-font-size` — while `.ig-node-label` renders in `--ig-font-ui` at
|
|
74
|
+
* `--ig-font-size-small`. That under-estimated wide glyphs and put the overflow
|
|
75
|
+
* back: a 24-character all-capitals label "fitted" 187.2px of room and drew
|
|
76
|
+
* about 240px, straight across the routing channel.
|
|
77
|
+
*
|
|
78
|
+
* THE ASYMMETRY IS PRINCIPLED RATHER THAN AN OVERSIGHT. Sizing a box wants a
|
|
79
|
+
* TYPICAL width, so a box tracks its contents; deciding how much text to KEEP
|
|
80
|
+
* must not overflow, so it wants a CEILING. `--ig-label-char-width` is that
|
|
81
|
+
* ceiling, which makes this strictly more conservative than the box it draws
|
|
82
|
+
* into — it can truncate a little early, and it cannot spill.
|
|
83
|
+
*
|
|
84
|
+
* IT IS STILL AN ESTIMATE, and the honest end state is not to have one: SVG
|
|
85
|
+
* `<text>` neither wraps nor clips, so a canvas label positioned as HTML — the
|
|
86
|
+
* way the rail's rows already are — would let CSS `text-overflow: ellipsis` use
|
|
87
|
+
* the real font metrics and be Unicode-safe with no constant at all. That is a
|
|
88
|
+
* layout change rather than a measurement one; see #44.
|
|
64
89
|
*
|
|
65
90
|
* THE ELLIPSIS IS THIS PACKAGE'S OWN TREATMENT, not a new convention: the rail's
|
|
66
91
|
* HTML rows already resolve an over-long title with `text-overflow: ellipsis`,
|
|
@@ -71,17 +96,104 @@ function metric(theme, token) {
|
|
|
71
96
|
* name and its `<title>`, so this shortens what is DRAWN and never what is
|
|
72
97
|
* available.
|
|
73
98
|
*/
|
|
99
|
+
/**
|
|
100
|
+
* How wide one character runs, relative to the label face's AVERAGE advance.
|
|
101
|
+
*
|
|
102
|
+
* A COARSE MODEL OF A PROPORTIONAL FACE, and coarse is the point: a single
|
|
103
|
+
* number cannot be right for both `WWWW` and `illi`, and picking one is how
|
|
104
|
+
* this overflowed. Three classes are enough to make the two errors small in
|
|
105
|
+
* the direction each matters.
|
|
106
|
+
*
|
|
107
|
+
* THE WIDE CLASS IS DELIBERATELY OVER-STATED. Truncating slightly early costs
|
|
108
|
+
* a character; under-stating runs the label across the routing channel and
|
|
109
|
+
* hides the edges the graph exists to show. `1.7` puts a capital near 10px at
|
|
110
|
+
* the default 6px average, which is about what a UI sans draws at 11px.
|
|
111
|
+
*/
|
|
112
|
+
const WIDE_GLYPH = /[ABCDEFGHKLNOPQRSTUVXYZmw@%&MW]/u;
|
|
113
|
+
const NARROW_GLYPH = /[iIjl|!.,;:'`()[\]{} \t-]/u;
|
|
114
|
+
/**
|
|
115
|
+
* A glyph that renders at roughly the full font size — CJK, Hangul, fullwidth
|
|
116
|
+
* forms, and everything in the supplementary planes (emoji, mathematical
|
|
117
|
+
* alphanumerics).
|
|
118
|
+
*
|
|
119
|
+
* WITHOUT THIS THE CLASSES ARE ASCII-ONLY, and a code point matching neither
|
|
120
|
+
* was charged the plain average — so an emoji title was measured at 6px a
|
|
121
|
+
* glyph while it draws near 11px. Measured: 31 emoji "fitted" 187.2px of room
|
|
122
|
+
* and draw about 341px. That is a REGRESSION on the count this replaced, which
|
|
123
|
+
* charged a supplementary character twice by accident of UTF-16 length; a model
|
|
124
|
+
* has to earn that conservatism deliberately rather than inherit it.
|
|
125
|
+
*
|
|
126
|
+
* THE SUPPLEMENTARY TEST IS THE BROAD ONE ON PURPOSE. Emoji, and the alphabets
|
|
127
|
+
* a title is most likely to reach this with, live above the BMP, and charging a
|
|
128
|
+
* rare narrow supplementary glyph too much costs a character while charging an
|
|
129
|
+
* emoji too little runs the label across the graph.
|
|
130
|
+
*/
|
|
131
|
+
function isFullWidth(glyph) {
|
|
132
|
+
const cp = glyph.codePointAt(0) ?? 0;
|
|
133
|
+
return (cp > 0xffff ||
|
|
134
|
+
(cp >= 0x1100 && cp <= 0x115f) ||
|
|
135
|
+
(cp >= 0x2600 && cp <= 0x27bf) ||
|
|
136
|
+
(cp >= 0x2e80 && cp <= 0xa4cf) ||
|
|
137
|
+
(cp >= 0xac00 && cp <= 0xd7a3) ||
|
|
138
|
+
(cp >= 0xf900 && cp <= 0xfaff) ||
|
|
139
|
+
(cp >= 0xfe30 && cp <= 0xfe6f) ||
|
|
140
|
+
(cp >= 0xff00 && cp <= 0xff60) ||
|
|
141
|
+
(cp >= 0xffe0 && cp <= 0xffe6));
|
|
142
|
+
}
|
|
143
|
+
function labelWidth(glyphs, average) {
|
|
144
|
+
let total = 0;
|
|
145
|
+
for (const glyph of glyphs) {
|
|
146
|
+
// FULL-WIDTH FIRST: it is the only class that can overflow badly, and a
|
|
147
|
+
// supplementary glyph must not fall through to the plain average because
|
|
148
|
+
// the ASCII classes cannot see it.
|
|
149
|
+
const scale = isFullWidth(glyph) ? 1.9 : WIDE_GLYPH.test(glyph) ? 1.7 : NARROW_GLYPH.test(glyph) ? 0.55 : 1;
|
|
150
|
+
total += average * scale;
|
|
151
|
+
}
|
|
152
|
+
return total;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* How wide a drawn label runs, under the same model {@link fitLabel} truncates
|
|
156
|
+
* with.
|
|
157
|
+
*
|
|
158
|
+
* EXPORTED SO A TEST CAN CHECK THE GEOMETRY WITHOUT RESTATING THE MODEL. The
|
|
159
|
+
* overflow invariant used to be asserted with `text.length * --ig-char-width`,
|
|
160
|
+
* which is the mono advance at the wrong size and the very assumption #44
|
|
161
|
+
* named — so the guard shared the defect it was guarding against. Measuring
|
|
162
|
+
* with this checks that the right box got the right label; the wide-glyph
|
|
163
|
+
* bound is what checks the model itself, against a number stated outside it.
|
|
164
|
+
*/
|
|
165
|
+
export function measureLabel(theme, label) {
|
|
166
|
+
return labelWidth([...label], metric(theme, '--ig-label-char-width'));
|
|
167
|
+
}
|
|
74
168
|
export function fitLabel(theme, label, width) {
|
|
75
169
|
const room = width - metric(theme, '--ig-space') * 2;
|
|
76
|
-
const
|
|
77
|
-
|
|
170
|
+
const average = metric(theme, '--ig-label-char-width');
|
|
171
|
+
// BY CODE POINT, NOT BY UTF-16 CODE UNIT. `slice` counts units, so a cut
|
|
172
|
+
// landing between an astral character's surrogate halves drew a lone
|
|
173
|
+
// surrogate — a replacement glyph immediately before the ellipsis. Measured:
|
|
174
|
+
// a title of `𝗔` came back containing one. Emoji and mathematical alphanumerics
|
|
175
|
+
// are the ordinary way a title reaches this.
|
|
176
|
+
const glyphs = [...label];
|
|
177
|
+
if (labelWidth(glyphs, average) <= room)
|
|
78
178
|
return label;
|
|
79
|
-
//
|
|
179
|
+
// MEASURED, NOT COUNTED, so the ellipsis is included in what has to fit and
|
|
180
|
+
// the kept text is as long as the box actually allows.
|
|
181
|
+
const ellipsis = labelWidth(['\u2026'], average);
|
|
182
|
+
let used = ellipsis;
|
|
183
|
+
let kept = 0;
|
|
184
|
+
for (const glyph of glyphs) {
|
|
185
|
+
const next = used + labelWidth([glyph], average);
|
|
186
|
+
if (next > room)
|
|
187
|
+
break;
|
|
188
|
+
used = next;
|
|
189
|
+
kept += 1;
|
|
190
|
+
}
|
|
191
|
+
// Below one glyph there is no room for anything AND the ellipsis, and an
|
|
80
192
|
// ellipsis alone names nothing — so the box has become too small to label at
|
|
81
193
|
// all, and drawing nothing is honester than drawing a lone dot.
|
|
82
|
-
if (
|
|
194
|
+
if (kept < 1)
|
|
83
195
|
return '';
|
|
84
|
-
return `${
|
|
196
|
+
return `${glyphs.slice(0, kept).join('')}\u2026`;
|
|
85
197
|
}
|
|
86
198
|
function boxWidth(theme, label, columnWidth) {
|
|
87
199
|
const padding = metric(theme, '--ig-space') * 2;
|
|
@@ -280,6 +392,64 @@ export function edgeGeometry(layout, edge) {
|
|
|
280
392
|
endAngle: Math.atan2(end.y - controlY, end.x - controlX),
|
|
281
393
|
};
|
|
282
394
|
}
|
|
395
|
+
/**
|
|
396
|
+
* The path joining two members of one together unit, clear of every member box.
|
|
397
|
+
*
|
|
398
|
+
* ONE CONNECTOR PER DECLARED EDGE, which is why this takes two keys rather than
|
|
399
|
+
* a position in the member list. A group is joined by pointing at any existing
|
|
400
|
+
* member (§4.3.7), so `2 together-with 1` plus `3 together-with 1` is an
|
|
401
|
+
* ordinary STAR whose members lay out as three consecutive rows — and a
|
|
402
|
+
* connector drawn between adjacent rows would claim a `2`–`3` relationship the
|
|
403
|
+
* document never declares while leaving the real `1`–`3` edge undrawable.
|
|
404
|
+
*
|
|
405
|
+
* TWO ROUTES, and the branch is the whole of it. Members of a slot are placed
|
|
406
|
+
* consecutively in one column, so an edge between NEIGHBOURING rows crosses
|
|
407
|
+
* only the gap between them and is drawn straight. An edge that spans a row —
|
|
408
|
+
* which only a star can produce — would run through the node between them, so
|
|
409
|
+
* it is routed out to a lane in the enclosure's own padding. The lane sits left
|
|
410
|
+
* of `x`, and every member box in a column starts at exactly `x`, so the
|
|
411
|
+
* vertical run is provably outside every occupied x-range rather than merely
|
|
412
|
+
* looking clear.
|
|
413
|
+
*
|
|
414
|
+
* Endpoints come from measured bounds on both routes, per the kit's
|
|
415
|
+
* implementation note: a hit target derived from an eyeballed offset drifts the
|
|
416
|
+
* first time the type scale moves.
|
|
417
|
+
*/
|
|
418
|
+
export function connectorPath(layout, members, from, to, theme) {
|
|
419
|
+
const a = layout.nodes.get(from);
|
|
420
|
+
const b = layout.nodes.get(to);
|
|
421
|
+
if (a === undefined || b === undefined)
|
|
422
|
+
return null;
|
|
423
|
+
const [upper, lower] = a.y <= b.y ? [a, b] : [b, a];
|
|
424
|
+
const round = (value) => (Math.round(value * 100) / 100).toFixed(2);
|
|
425
|
+
// Anything belonging to this unit that sits strictly between the two rows.
|
|
426
|
+
const between = members.some((member) => {
|
|
427
|
+
if (member === from || member === to)
|
|
428
|
+
return false;
|
|
429
|
+
const box = layout.nodes.get(member);
|
|
430
|
+
return box !== undefined && box.y > upper.y && box.y < lower.y;
|
|
431
|
+
});
|
|
432
|
+
if (!between) {
|
|
433
|
+
const x1 = upper.x + upper.width / 2;
|
|
434
|
+
const x2 = lower.x + lower.width / 2;
|
|
435
|
+
return `M ${round(x1)} ${round(upper.y + upper.height)} L ${round(x2)} ${round(lower.y)}`;
|
|
436
|
+
}
|
|
437
|
+
const pad = metric(theme, '--ig-space-tight');
|
|
438
|
+
const boxes = members
|
|
439
|
+
.map((member) => layout.nodes.get(member))
|
|
440
|
+
.filter((box) => box !== undefined);
|
|
441
|
+
// HALF A PAD INSIDE THE ENCLOSURE, so the run clears every box without
|
|
442
|
+
// landing on the enclosure's own stroke and reading as part of it.
|
|
443
|
+
const laneX = Math.min(...boxes.map((box) => box.x)) - pad / 2;
|
|
444
|
+
const upperY = upper.y + upper.height / 2;
|
|
445
|
+
const lowerY = lower.y + lower.height / 2;
|
|
446
|
+
return [
|
|
447
|
+
`M ${round(upper.x)} ${round(upperY)}`,
|
|
448
|
+
`L ${round(laneX)} ${round(upperY)}`,
|
|
449
|
+
`L ${round(laneX)} ${round(lowerY)}`,
|
|
450
|
+
`L ${round(lower.x)} ${round(lowerY)}`,
|
|
451
|
+
].join(' ');
|
|
452
|
+
}
|
|
283
453
|
/** The box enclosing a together unit's members, padded clear of their bounds. */
|
|
284
454
|
export function enclosureBounds(layout, members, theme) {
|
|
285
455
|
const boxes = members
|
package/dist/layout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
|
package/dist/mount.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAA2B,KAAK,cAAc,EAAqB,MAAM,eAAe,CAAC;AAChG,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAe,MAAM,cAAc,CAAC;AAChF,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAkC,KAAK,UAAU,EAAc,MAAM,YAAY,CAAC;AAGzF,6DAA6D;AAC7D,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;IACrC,oFAAoF;IACpF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3E,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAC9E,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5C,KAAK,CAAC,IAAI,IAAI,CAAC;CAChB;AAED,2CAA2C;AAC3C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,mCAAmC;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,IAAI,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC/D,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC/D;AAED,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5D,+EAA+E;IAC/E,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5C,+EAA+E;IAC/E,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,uEAAuE;IACvE,OAAO,IAAI,IAAI,CAAC;CACjB;AAoED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,YAAiB,GACzB,YAAY,CAgZd"}
|