@issuegraph/viewer 0.5.0 → 0.10.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 (51) hide show
  1. package/dist/clusters.d.ts +116 -0
  2. package/dist/clusters.d.ts.map +1 -1
  3. package/dist/clusters.js +85 -2
  4. package/dist/clusters.js.map +1 -1
  5. package/dist/document.d.ts +76 -5
  6. package/dist/document.d.ts.map +1 -1
  7. package/dist/document.js +19 -1
  8. package/dist/document.js.map +1 -1
  9. package/dist/index.d.ts +16 -3
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +4 -2
  12. package/dist/index.js.map +1 -1
  13. package/dist/layout.d.ts +28 -0
  14. package/dist/layout.d.ts.map +1 -1
  15. package/dist/layout.js +7 -2
  16. package/dist/layout.js.map +1 -1
  17. package/dist/marks.d.ts +105 -0
  18. package/dist/marks.d.ts.map +1 -0
  19. package/dist/marks.js +430 -0
  20. package/dist/marks.js.map +1 -0
  21. package/dist/navigation.d.ts.map +1 -1
  22. package/dist/navigation.js +31 -0
  23. package/dist/navigation.js.map +1 -1
  24. package/dist/parts.d.ts +23 -7
  25. package/dist/parts.d.ts.map +1 -1
  26. package/dist/parts.js +80 -37
  27. package/dist/parts.js.map +1 -1
  28. package/dist/projections/graph.d.ts +15 -0
  29. package/dist/projections/graph.d.ts.map +1 -1
  30. package/dist/projections/graph.js +91 -35
  31. package/dist/projections/graph.js.map +1 -1
  32. package/dist/projections/linear.d.ts +116 -15
  33. package/dist/projections/linear.d.ts.map +1 -1
  34. package/dist/projections/linear.js +171 -69
  35. package/dist/projections/linear.js.map +1 -1
  36. package/dist/projections/tree.d.ts.map +1 -1
  37. package/dist/projections/tree.js +15 -4
  38. package/dist/projections/tree.js.map +1 -1
  39. package/dist/skeleton.d.ts +63 -0
  40. package/dist/skeleton.d.ts.map +1 -0
  41. package/dist/skeleton.js +108 -0
  42. package/dist/skeleton.js.map +1 -0
  43. package/dist/styles.d.ts +1 -1
  44. package/dist/styles.d.ts.map +1 -1
  45. package/dist/styles.js +636 -24
  46. package/dist/styles.js.map +1 -1
  47. package/dist/theme.d.ts +1 -1
  48. package/dist/theme.d.ts.map +1 -1
  49. package/dist/theme.js +47 -0
  50. package/dist/theme.js.map +1 -1
  51. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/projections/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/projections/graph.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,65 @@ export interface SceneOptions {
31
31
  * rather than this package guessing which of its instances is the panel.
32
32
  */
33
33
  readonly chrome?: boolean | undefined;
34
+ /**
35
+ * Draw the panel's own outer frame — the border and the corner radius.
36
+ * Defaults to `true`.
37
+ *
38
+ * THE CONTAINER OWNS ITS SEAMS, AND ONLY THE CONTAINER KNOWS IT HAS ANY.
39
+ * Standing alone in a host's page the viewer is a card and has to draw its
40
+ * own edge, which is why the frame is on by default. Composed into a
41
+ * surface that already rules its zones off — the grooming workspace draws
42
+ * `border-right` on the rail track and `border-bottom` under the canvas
43
+ * toolbar — that same edge lands one pixel from the container's, and the
44
+ * two read as a single doubled hairline down every seam. Measured in the
45
+ * workspace: the rail's right edge carried the zone's rule and the viewer's
46
+ * border with nothing between them, and the canvas graph's top border sat
47
+ * directly under the toolbar's.
48
+ *
49
+ * IT IS AN OPTION RATHER THAN THE CONTAINER OVERRIDING THE BORDER AWAY. A
50
+ * host reaching into `.ig-viewer` to unset a property this package set is a
51
+ * second stylesheet with an opinion about this one's internals, and it
52
+ * breaks the first time the frame is expressed differently. Declining the
53
+ * frame is a statement about COMPOSITION, so it belongs in the composition
54
+ * API.
55
+ *
56
+ * It renders as `data-frame="none"` on the viewer root; absent is the
57
+ * framed default.
58
+ */
59
+ readonly frame?: boolean | undefined;
60
+ /**
61
+ * Dock the legend against the bottom of the container's scrollport instead
62
+ * of letting it scroll away with the order. Defaults to `false`.
63
+ *
64
+ * IT IS THE KEY TO THE GRAMMAR, AND IT WAS AT THE BOTTOM OF THE SCROLL. Five
65
+ * line styles and three station fills are what make every row and every edge
66
+ * on the surface legible, and in a container tall enough to scroll they sat
67
+ * below everything they explain — so the one thing a reader consults WHILE
68
+ * reading was the one thing they had to leave the reading to reach.
69
+ *
70
+ * ONLY A CONTAINER CAN ANSWER THIS, which is why it is an option and not the
71
+ * default. Sticky positions against the nearest scrollport: dropped into a
72
+ * host's page at its natural height the viewer has no scrollport of its own,
73
+ * so the nearest one is the PAGE, and a legend docked there would float over
74
+ * the host's own content for the whole of their document. A container that
75
+ * has given this viewer a bounded, scrolling box is the only party that knows
76
+ * the dock has somewhere to sit.
77
+ *
78
+ * IT IMPLIES `frame: false`, AND THE STYLESHEET ENFORCES THAT BY CONSTRUCTION.
79
+ * A sticky child cannot escape an ancestor that is itself a scroll container,
80
+ * and this root is `overflow: hidden` precisely so a drawn frame clips its
81
+ * own corners — so the docked rule has to lift that, and a root that no
82
+ * longer clips must not be drawing a radius to clip to. The workspace passes
83
+ * both; a caller that passes only this one gets a docked legend and an
84
+ * unclipped frame, which is why they are documented together.
85
+ *
86
+ * WHERE the dock sits is still the container's: it renders as
87
+ * `data-legend="docked"` with `bottom: 0`, and a container with something
88
+ * else already pinned to that edge moves it. The grooming workspace does —
89
+ * its rail footer holds the bottom of that zone — and sets the offset from
90
+ * the footer it measures rather than from a number either package wrote down.
91
+ */
92
+ readonly dockLegend?: boolean | undefined;
34
93
  /**
35
94
  * Draw the header's own view controls — the List/Graph toggle, and the
36
95
  * graph's expand/collapse affordance. Defaults to `false`.
@@ -49,26 +108,68 @@ export interface SceneOptions {
49
108
  * own capsules.
50
109
  */
51
110
  readonly switchable?: boolean | undefined;
111
+ /**
112
+ * The keys whose provenance line is open, per §16f's `→ expand provenance`.
113
+ *
114
+ * THE HOST HOLDS THIS, NOT THE VIEWER, for the reason every other piece of
115
+ * state here is the host's: this package renders what it is given and owns
116
+ * nothing across a redraw. `navigate` publishes `expand:<key>` /
117
+ * `collapse:<key>` and the host re-renders with the key added or removed.
118
+ *
119
+ * ABSENT MEANS NONE OPEN, which is the §17j default — in the rail the line is
120
+ * expand-on-demand. It changes nothing for §16a's wider panel, where the
121
+ * container query never hides the line in the first place.
122
+ */
123
+ readonly expanded?: readonly string[] | undefined;
124
+ /**
125
+ * Take over §17j's density crossover, instead of letting the container decide.
126
+ *
127
+ * ABSENT IS THE POINT OF IT. With nothing supplied the rail reads its density
128
+ * off the box it was given — §17j's own rule, and the reason a host that
129
+ * wires nothing still gets a correct row at any width. This is the escape
130
+ * hatch for a host that disagrees with the crossover this package picked,
131
+ * which is `430px` and is a DEFAULT rather than a figure Design published.
132
+ *
133
+ * IT IS A DECISION THE HOST CAN MAKE FROM ANYTHING, which is why it is a
134
+ * value rather than a second breakpoint. A consumer can drive it from their
135
+ * own media query, a user preference, `beforeprint`, or simply from knowing
136
+ * they built a `330` settings rail. None of those is a width this package
137
+ * could have read, and a custom property cannot carry it — CSS parses
138
+ * `@container (max-width: var(--bp))` and then never matches it, silently,
139
+ * with `CSS.supports` reporting it fine.
140
+ *
141
+ * It renders as `data-density` on the viewer root, and the stylesheet keys
142
+ * the whole density block off that attribute's presence: set to anything,
143
+ * the container query stops deciding; set to `dense`, the dense block applies
144
+ * at any width; set to `wide`, the base density does.
145
+ *
146
+ * IT GOVERNS ONE BLOCK, AND `wide` IS NARROWER THAN IT SOUNDS. §17j's drop
147
+ * order has further steps of its own — evidence chips at 360, relationship
148
+ * badges past the first at 345, the declared priority tier at 335 — and those
149
+ * stay keyed to the container, because they are about what fits on a line
150
+ * rather than about which density the row is drawn at. So `wide` on a rail
151
+ * that is genuinely 330 wide still drops those chips. That is deliberate;
152
+ * said out loud because "wide" reads like a claim over the whole drop order
153
+ * and is not one.
154
+ */
155
+ readonly density?: 'dense' | 'wide' | undefined;
52
156
  }
157
+ export declare function footerHeading(): string;
158
+ export declare function footerReason(kinds: FooterKinds): string | null;
53
159
  /**
54
- * A slot the footer owns.
160
+ * The group's head, for either projection, in the panel header's own voice.
55
161
  *
56
- * ANY tracker-family hold sends the slot to the footer, even alongside a
57
- * graph-derived one. A slot the runner has already claimed is not waiting on
58
- * the graph in any sense a rank could express, so giving it a position would
59
- * claim work is queued that nothing can start.
60
- */
61
- /**
62
- * What the footer group calls itself.
162
+ * THE SAME TWO PIECES THE PANEL HEADER USES, NOT A THIRD STYLE. The name is an
163
+ * `.ig-header-label` — the accent mono kicker that reads "ORDER PREVIEW" at the
164
+ * top of the panel — and the count is an `.ig-count-chip`, the outlined tally
165
+ * beside it. A group that invented its own heading treatment was one more thing
166
+ * a reader had to learn, on the part of the panel they reach last.
63
167
  *
64
- * IT COVERS TWO FAMILIES, AND SAYING "held by the runner" COVERED ONE. §16a's
65
- * own group lists a duplicate under that heading, but §16d's table is explicit
66
- * that a duplicate is a different fact — "canonical elsewhere, never worked" —
67
- * from a claim or a park. A document with one duplicate and no tracker hold
68
- * therefore read "1 held by the runner" about an issue no runner has touched.
69
- * Shared by both projections, so the two cannot word one group two ways.
168
+ * "HELD" ONLY WHEN SOMETHING IS. The chip reads `4 held` the way the header's
169
+ * `6 held` does, but a group of duplicates alone is not held by anyone — §16d
170
+ * keeps the two facts apart — so it then states the bare count.
70
171
  */
71
- export declare function footerHeading(count: number, kinds: FooterKinds): string;
172
+ export declare function footerHead(count: number, kinds: FooterKinds): ElementSpec;
72
173
  /**
73
174
  * Which families of entry a footer group actually holds.
74
175
  *
@@ -1 +1 @@
1
- {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../src/projections/linear.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,eAAe,CAAC;AA8B1D,OAAO,EAA0B,KAAK,KAAK,EAAmB,MAAM,aAAa,CAAC;AAGlF,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9C,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C;;;;;;;;;OASG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3C;AAED;;;;;;;GAOG;AACH;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CAWvE;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,OAAO,GAChB,WAAW,CAoEb;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,YAAY,GACpB,WAAW,CAmCb;AAyBD,wBAAgB,WAAW,CACzB,QAAQ,EAAE,kBAAkB,EAC5B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,GACpB,WAAW,CA2Bb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,kBAAkB,EAC5B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,YAAY,GACpB,WAAW,CAkBb;AAUD,wBAAgB,WAAW,CACzB,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,GAAE,YAAiB,GAC5B,KAAK,CA0IP"}
1
+ {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../src/projections/linear.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,eAAe,CAAC;AA6B1D,OAAO,EAA0B,KAAK,KAAK,EAAmB,MAAM,aAAa,CAAC;AAGlF,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9C,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C;;;;;;;;;OASG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAClD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CACjD;AA6BD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAY9D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAWzE;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,OAAO,GAChB,WAAW,CAsHb;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,YAAY,GACpB,WAAW,CAmCb;AA0DD,wBAAgB,WAAW,CACzB,QAAQ,EAAE,kBAAkB,EAC5B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,GACpB,WAAW,CA8Bb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,kBAAkB,EAC5B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,YAAY,GACpB,WAAW,CAmBb;AAUD,wBAAgB,WAAW,CACzB,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,GAAE,YAAiB,GAC5B,KAAK,CA6IP"}
@@ -13,7 +13,7 @@
13
13
  * the work, earns no rank slot, and collapses into the footer with duplicates.
14
14
  */
15
15
  import { element } from "../element.js";
16
- import { adoptionNote, caveatBadges, caveatLines, conditionKind, conditionNotice, edgeBadgeList, edgeBadges, emptyState, evidenceBadge, footerLabels, holdLine, hostHeader, identity, legend, notReadyBadge, nowRows, priorityBadge, provenanceLine, slotLabel, slotTitle, station, statesItsOwnCause, stationFill, stationsOf, unitBlock, unitMark, atStations, } from "../parts.js";
16
+ import { adoptionNote, caveatBadges, caveatLines, conditionKind, conditionNotice, edgeBadgeList, edgeBadges, emptyState, evidenceBadge, holdLine, hostHeader, identity, legend, notReadyBadge, nowRows, priorityBadge, provenanceLine, slotLabel, slotTitle, station, statesItsOwnCause, stationFill, stationsOf, unitBlock, unitMark, atStations, } from "../parts.js";
17
17
  import { resolveFocusKey } from "../scene.js";
18
18
  import { treatmentFor } from "../vocabulary.js";
19
19
  /**
@@ -25,25 +25,63 @@ import { treatmentFor } from "../vocabulary.js";
25
25
  * claim work is queued that nothing can start.
26
26
  */
27
27
  /**
28
- * What the footer group calls itself.
28
+ * What the footer group calls itself, and the one sentence that says why.
29
29
  *
30
- * IT COVERS TWO FAMILIES, AND SAYING "held by the runner" COVERED ONE. §16a's
31
- * own group lists a duplicate under that heading, but §16d's table is explicit
32
- * that a duplicate is a different fact — "canonical elsewhere, never worked" —
33
- * from a claim or a park. A document with one duplicate and no tracker hold
34
- * therefore read "1 held by the runner" about an issue no runner has touched.
30
+ * TWO LINES, NOT ONE RUN-ON HEADING. It read "4 outside the order — held by the
31
+ * runner, or never worked", which asked a reader to already know what a runner
32
+ * is and what "never worked" means for an issue that is plainly open. The count
33
+ * is the heading; the reason is a sentence under it, in words that need no
34
+ * glossary.
35
+ *
36
+ * IT COVERS SEVERAL FAMILIES, AND NAMING ONE WAS A LIE ABOUT THE OTHERS. §16d's
37
+ * table is explicit that a duplicate is a different fact from a claim or a
38
+ * park, so a document with one duplicate and no hold must not be told it is
39
+ * "held back". The sentence is assembled from what the group actually holds.
35
40
  * Shared by both projections, so the two cannot word one group two ways.
36
41
  */
37
- export function footerHeading(count, kinds) {
42
+ function capitalise(text) {
43
+ return `${text.charAt(0).toUpperCase()}${text.slice(1)}`;
44
+ }
45
+ export function footerHeading() {
46
+ return 'Not in the order';
47
+ }
48
+ export function footerReason(kinds) {
38
49
  const reasons = [
39
- kinds.runner ? 'held by the runner' : null,
40
- kinds.neverWorked ? 'never worked' : null,
41
- kinds.undrawn ? 'not drawn at this width' : null,
50
+ kinds.runner ? 'held back' : null,
51
+ kinds.neverWorked ? 'a copy of another issue' : null,
52
+ kinds.undrawn ? 'related but not drawn here' : null,
42
53
  ].filter((reason) => reason !== null);
43
- const tail = reasons.length === 0
44
- ? ''
45
- : ` — ${reasons.slice(0, -1).join(', ')}${reasons.length > 1 ? ', or ' : ''}${reasons[reasons.length - 1] ?? ''}`;
46
- return `${String(count)} outside the order${tail}`;
54
+ if (reasons.length === 0)
55
+ return null;
56
+ const joined = reasons.length === 1
57
+ ? reasons[0]
58
+ : `${reasons.slice(0, -1).join(', ')}, or ${reasons[reasons.length - 1]}`;
59
+ return `${capitalise(joined)}. Pick one to see why.`;
60
+ }
61
+ /**
62
+ * The group's head, for either projection, in the panel header's own voice.
63
+ *
64
+ * THE SAME TWO PIECES THE PANEL HEADER USES, NOT A THIRD STYLE. The name is an
65
+ * `.ig-header-label` — the accent mono kicker that reads "ORDER PREVIEW" at the
66
+ * top of the panel — and the count is an `.ig-count-chip`, the outlined tally
67
+ * beside it. A group that invented its own heading treatment was one more thing
68
+ * a reader had to learn, on the part of the panel they reach last.
69
+ *
70
+ * "HELD" ONLY WHEN SOMETHING IS. The chip reads `4 held` the way the header's
71
+ * `6 held` does, but a group of duplicates alone is not held by anyone — §16d
72
+ * keeps the two facts apart — so it then states the bare count.
73
+ */
74
+ export function footerHead(count, kinds) {
75
+ const reason = footerReason(kinds);
76
+ return element('div', { class: 'ig-footer-head' }, [
77
+ element('div', { class: 'ig-footer-title-row' }, [
78
+ element('p', { class: 'ig-header-label ig-footer-title' }, [footerHeading()]),
79
+ element('span', { class: 'ig-count-chip', 'data-count': 'footer' }, [
80
+ kinds.runner ? `${String(count)} held` : String(count),
81
+ ]),
82
+ ]),
83
+ reason === null ? null : element('p', { class: 'ig-footer-note' }, [reason]),
84
+ ]);
47
85
  }
48
86
  export function isFooterSlot(slot) {
49
87
  return slot.holds.some((hold) => hold.family === 'tracker');
@@ -65,26 +103,20 @@ export function slotRow(document, slot, options, showRank) {
65
103
  const selected = options.selected === slot.lead;
66
104
  const focused = options.focused === slot.lead;
67
105
  const unit = slot.members.length > 1;
106
+ const expanded = options.expanded?.includes(slot.lead) ?? false;
68
107
  const rankCell = element('div', { class: 'ig-rank-cell', 'aria-hidden': 'true' }, [
69
108
  showRank
70
109
  ? element('span', { class: 'ig-rank', 'data-held': held ? 'true' : 'false' },
71
- // A held slot never prints a number: it has no position in the
72
- // sequence, and printing one would claim work is queued that nothing
73
- // can start.
110
+ // The em dash is for a slot the host could not PLACE, which since
111
+ // `RULINGS.md` §1 is narrower than "held": a held slot whose blocker
112
+ // is inside the previewed order carries a number, and the `data-held`
113
+ // channel beside it is what says the work cannot start.
74
114
  [slot.rank === null ? '—' : String(slot.rank)])
75
115
  : null,
76
116
  station(stationFill(slot)),
77
117
  ]);
78
118
  // A UNIT'S HEAD IS ITS ENCLOSURE, not a joined title. Every other row keeps
79
119
  // the frame's two-line pair: the title, and the identity 2px beneath it.
80
- const head = unit
81
- ? [unitMark(slot), unitBlock(document, slot)]
82
- : [
83
- element('div', { class: 'ig-row-head' }, [
84
- element('span', { class: 'ig-title' }, [slotTitle(document, slot)]),
85
- lead === undefined ? null : identity(lead),
86
- ]),
87
- ];
88
120
  const badges = [
89
121
  priorityBadge(lead?.provenance),
90
122
  evidenceBadge(lead),
@@ -96,9 +128,55 @@ export function slotRow(document, slot, options, showRank) {
96
128
  // order — the facts a reader scans for before they read a word of the
97
129
  // sentence beneath.
98
130
  const badgeRow = [...badges, ...edgeBadgeList(document, slot.members)];
131
+ // THE IDENTITY AND THE BADGES ARE ONE LINE, NOT TWO BLOCKS — which is what
132
+ // §17j's row anatomy asks for and what the old markup could not express.
133
+ //
134
+ // `17j` draws line 2 as a single mono run: `#512 · P0 · ⊘ #488`. The identity
135
+ // used to sit inside the head and the chips in a sibling block beneath it, so
136
+ // the two could never share a line however they were styled, and a row that
137
+ // should be 53px stacked to 5-11 lines. Nesting them in one `.ig-row-meta`
138
+ // makes the frame's line a property of the markup rather than of a CSS trick.
139
+ //
140
+ // IT SERVES BOTH DENSITIES, which is why this is a restructure and not a
141
+ // rail-only branch. §16a's row is the same sequence — title, identity, chips,
142
+ // then the provenance turnstile — and at that panel's width the line simply
143
+ // wraps and the provenance stays inline. `17j`: *"Same row, two densities."*
144
+ const meta = lead === undefined && badgeRow.length === 0
145
+ ? null
146
+ : element('div', { class: 'ig-row-meta' }, [
147
+ lead === undefined ? null : identity(lead),
148
+ badgeRow.length === 0 ? null : element('div', { class: 'ig-badges' }, badgeRow),
149
+ ]);
150
+ // A TOGETHER UNIT IS ONE ROW AND ONE RANK, IN BOTH DENSITIES — and the two
151
+ // densities draw it differently, so the markup carries both and the container
152
+ // query picks.
153
+ //
154
+ // `RULINGS.md` §1: *"A together-unit is one row, one rank, containing a box.
155
+ // Not two rows, not a box spanning ranks."* §16a's wide panel IS that box —
156
+ // the `⧉ ONE UNIT · 2 ISSUES` pill, the note, and a member list. But `17j`
157
+ // draws the same unit in the 390px rail as `⧉ 2` inline with an ORDINARY
158
+ // title and an ordinary meta line, at the same 53px as every other row,
159
+ // because a box of member cards cannot be 53px and the rail's row height is
160
+ // not negotiable.
161
+ //
162
+ // So a unit row now carries an ordinary head as well as its enclosure, and
163
+ // each density hides the other's. The lead's title is what the rail shows;
164
+ // `slotTitle` joins every member and stays the ACCESSIBLE name through
165
+ // `slotLabel`, so what a screen reader hears still names both issues while
166
+ // the 53px row shows the one it has room for.
167
+ const unitCount = unit
168
+ ? element('span', { class: 'ig-unit-count' }, [`⧉ ${String(slot.members.length)}`])
169
+ : null;
170
+ const railTitle = unit ? (lead?.title ?? slot.lead) : slotTitle(document, slot);
171
+ const head = [
172
+ element('div', { class: 'ig-row-head' }, [
173
+ element('span', { class: 'ig-title' }, [unitCount, railTitle]),
174
+ meta,
175
+ ]),
176
+ ...(unit ? [unitMark(slot), unitBlock(document, slot)] : []),
177
+ ];
99
178
  const body = element('div', { class: 'ig-row-body' }, [
100
179
  ...head,
101
- badgeRow.length === 0 ? null : element('div', { class: 'ig-badges' }, badgeRow),
102
180
  provenanceLine(lead?.provenance),
103
181
  // THE LEAD'S CAVEATS, like the lead's provenance: a together unit is one
104
182
  // row and one rank, and the host facts about that rank ride on its lead.
@@ -112,6 +190,14 @@ export function slotRow(document, slot, options, showRank) {
112
190
  'data-unit': unit ? 'true' : 'false',
113
191
  'aria-current': selected ? 'true' : 'false',
114
192
  'aria-label': slotLabel(document, slot),
193
+ // ONLY WHEN THERE IS SOMETHING TO EXPAND. `aria-expanded` on a row with
194
+ // no provenance line would advertise a disclosure that cannot open, which
195
+ // is the "control that cannot complete its own action" class this package
196
+ // refuses elsewhere. A row whose host stated no provenance carries no
197
+ // attribute at all.
198
+ ...(lead?.provenance === undefined
199
+ ? {}
200
+ : { 'aria-expanded': expanded ? 'true' : 'false' }),
115
201
  tabindex: focused ? 0 : -1,
116
202
  }, [rankCell, body]);
117
203
  }
@@ -141,16 +227,36 @@ export function footerRow(document, slot, options) {
141
227
  'data-ig-key': slot.lead,
142
228
  'aria-current': options.selected === slot.lead ? 'true' : 'false',
143
229
  'aria-label': because === '' ? slotLabel(document, slot) : `${slotLabel(document, slot)} — ${because}`,
144
- title: because === '' ? null : because,
145
230
  tabindex: options.focused === slot.lead ? 0 : -1,
146
- }, [
147
- labelled === undefined
148
- ? null
149
- : element('span', { class: 'ig-badge', 'data-hold': labelled.label }, [labelled.label]),
150
- element('span', { class: 'ig-title' }, [slotTitle(document, slot)]),
151
- lead === undefined ? null : identity(lead),
152
- footerRelationships(document, slot.members),
153
- ]);
231
+ }, footerEntry(slotTitle(document, slot), lead === undefined ? null : identity(lead), labelled === undefined
232
+ ? null
233
+ : element('span', { class: 'ig-badge', 'data-hold': labelled.label }, [labelled.label]), because === '' ? null : because, footerRelationships(document, slot.members)));
234
+ }
235
+ /**
236
+ * One footer row's content, laid out as a ranked row is laid out.
237
+ *
238
+ * THE ORDER'S OWN ROW PARTS, SO THE GROUP READS AS MORE OF THE SAME LIST. The
239
+ * station sits in `.ig-rank-cell`, so it lines up under the ranked stations
240
+ * above it and is the held station the legend already explains; the name is an
241
+ * `.ig-title`; the identity, the status chip and any relationship chips share
242
+ * one `.ig-row-meta` line, as a ranked row's badges do. What a ranked row has
243
+ * and these do not is a number — they have no place in the order — and in its
244
+ * stead each says why, on its own line, in full.
245
+ */
246
+ function footerEntry(title, id, status, why, relationships) {
247
+ return [
248
+ element('div', { class: 'ig-rank-cell' }, [station('dashed')]),
249
+ // ONE `.ig-row-head`, AS A RANKED ROW HAS: its lines sit 2px apart, which is
250
+ // what makes a title, its identity line and its reason read as one object
251
+ // rather than three rows of text a body's wider gap would space apart.
252
+ element('div', { class: 'ig-row-body' }, [
253
+ element('div', { class: 'ig-row-head' }, [
254
+ element('span', { class: 'ig-title' }, [title]),
255
+ element('div', { class: 'ig-row-meta' }, [id, status, relationships]),
256
+ why === null ? null : element('p', { class: 'ig-footer-why' }, [why]),
257
+ ]),
258
+ ]),
259
+ ];
154
260
  }
155
261
  /**
156
262
  * The relationships of the keys a footer row stands for.
@@ -181,19 +287,17 @@ export function excludedRow(document, key, canonical, options) {
181
287
  class: 'ig-footer-row',
182
288
  'data-ig-key': key,
183
289
  'aria-current': options.selected === key ? 'true' : 'false',
184
- 'aria-label': `${issue?.title ?? key} — ${treatmentFor('duplicate-of').label} ${canonical}, never worked`,
290
+ 'aria-label': `${issue?.title ?? key} — ${treatmentFor('duplicate-of').label} ${canonical}, which gets worked instead`,
185
291
  // A HARDCODED -1 HERE MEANT THE VIEWER LOST ITS TAB STOP ENTIRELY. An
186
292
  // exclusion is in `focusOrder`, so focus can resolve to one — and when it
187
293
  // did, no element carried `tabindex="0"` and Tab could not enter the
188
294
  // viewer at all. Every row that can hold focus renders the roving stop.
189
295
  tabindex: options.focused === key ? 0 : -1,
190
- }, [
191
- element('span', { class: 'ig-badge', 'data-edge': 'duplicate-of' }, ['duplicate']),
192
- element('span', { class: 'ig-title' }, [issue?.title ?? key]),
193
- issue === undefined ? null : identity(issue),
194
- element('span', { class: 'ig-id' }, [`→ ${canonical}`]),
195
- footerRelationships(document, [key]),
196
- ]);
296
+ }, footerEntry(issue?.title ?? key, issue === undefined ? null : identity(issue), element('span', { class: 'ig-badge', 'data-hold': 'duplicate' }, ['duplicate']),
297
+ // THE CONSEQUENCE, NOT THE RELATIONSHIP. The relationship chip beside the
298
+ // status says "duplicate of 512" in the vocabulary's words; the sentence
299
+ // says what that means for the work, so the one fact is not printed twice.
300
+ 'The original gets worked instead.', footerRelationships(document, [key])));
197
301
  }
198
302
  /**
199
303
  * A footer entry that is neither a slot nor an exclusion: an ordinary issue the
@@ -212,21 +316,16 @@ export function asideRow(document, key, options) {
212
316
  class: 'ig-footer-row',
213
317
  'data-ig-key': key,
214
318
  'aria-current': options.selected === key ? 'true' : 'false',
215
- 'aria-label': `${issue?.title ?? key} — ${key} — outside the order`,
319
+ 'aria-label': `${issue?.title ?? key} — ${key} — related, not drawn here`,
216
320
  tabindex: options.focused === key ? 0 : -1,
217
- }, [
218
- element('span', { class: 'ig-badge' }, ['outside the order']),
219
- element('span', { class: 'ig-title' }, [issue?.title ?? key]),
220
- issue === undefined ? null : identity(issue),
221
- footerRelationships(document, [key]),
222
- ]);
321
+ }, footerEntry(issue?.title ?? key, issue === undefined ? null : identity(issue), element('span', { class: 'ig-badge', 'data-hold': 'related' }, ['related']), 'Not drawn at this width.', footerRelationships(document, [key])));
223
322
  }
224
323
  /** The one count chip isolated issues collapse into (they carry no information as rows). */
225
324
  function isolatedChip(count) {
226
325
  if (count === 0)
227
326
  return null;
228
327
  return element('p', { class: 'ig-count' }, [
229
- `${String(count)} ${count === 1 ? 'issue is' : 'issues are'} in no slot and declare no relationships`,
328
+ `${String(count)} more ${count === 1 ? 'issue has' : 'issues have'} no relationships and no place in the order`,
230
329
  ]);
231
330
  }
232
331
  export function linearScene(document, rawOptions = {}) {
@@ -272,30 +371,33 @@ export function linearScene(document, rawOptions = {}) {
272
371
  ...footerSlots.map((slot) => footerRow(document, slot, withFocus)),
273
372
  ...document.order.excluded.map((exclusion) => excludedRow(document, exclusion.key, exclusion.canonical, withFocus)),
274
373
  ];
275
- // The runner's own words, when the host supplied them, to the RIGHT of the
276
- // count — which is where §16a puts them, and it is the difference between a
277
- // heading that says what this group is and one that also has to list the
278
- // reasons inside it.
279
- const labels = footerLabels(footerSlots);
280
374
  const footer = footerEntries.length === 0
281
375
  ? null
282
376
  : element('section', { class: 'ig-footer' }, [
283
- element('div', { class: 'ig-footer-head' }, [
284
- element('p', { class: 'ig-footer-title' }, [
285
- footerHeading(footerEntries.length, {
286
- runner: footerSlots.length > 0,
287
- neverWorked: document.order.excluded.length > 0,
288
- // The list draws every column it has, so it never withholds one.
289
- undrawn: false,
290
- }),
291
- ]),
292
- labels === '' ? null : element('span', { class: 'ig-footer-labels' }, [labels]),
293
- ]),
294
- element('ol', { class: 'ig-list', 'aria-label': 'held outside the order' }, footerEntries),
377
+ footerHead(footerEntries.length, {
378
+ runner: footerSlots.length > 0,
379
+ neverWorked: document.order.excluded.length > 0,
380
+ // The list draws every column it has, so it never withholds one.
381
+ undrawn: false,
382
+ }),
383
+ element('ol', { class: 'ig-list', 'aria-label': 'not in the order' }, footerEntries),
295
384
  ]);
296
385
  const root = element('section', {
297
386
  class: 'ig-viewer ig-linear',
298
387
  'data-projection': 'linear',
388
+ // See `SceneOptions.frame`; stamped on all three roots, because the
389
+ // container that declines the frame does not know which projection it
390
+ // was handed.
391
+ 'data-frame': options.frame === false ? 'none' : undefined,
392
+ // See `SceneOptions.dockLegend`; stamped on all three roots, because every
393
+ // projection draws the same legend and the container's scrollport does not
394
+ // change with the projection.
395
+ 'data-legend': options.dockLegend === true ? 'docked' : undefined,
396
+ // §17j'S DENSITY, WHERE THE HOST TOOK IT OVER. Absent is the whole
397
+ // default: the stylesheet keys the density block off this attribute's
398
+ // PRESENCE, so a viewer that renders none is decided by the container
399
+ // exactly as §17j asks. See `SceneOptions.density`.
400
+ 'data-density': options.density,
299
401
  'data-ig-condition': conditionKind(document, options.chrome),
300
402
  'aria-label': 'issue order',
301
403
  },