@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
package/dist/parts.js CHANGED
@@ -123,7 +123,7 @@ export function provenanceClause(provenance) {
123
123
  switch (provenance.kind) {
124
124
  case 'matched-query':
125
125
  return element('span', {}, [
126
- `matched ordered query ${String(provenance.index)} · `,
126
+ `Picked by query ${String(provenance.index)} · `,
127
127
  element('span', { class: 'ig-id' }, [provenance.label]),
128
128
  ]);
129
129
  case 'declared-tier':
@@ -134,19 +134,18 @@ export function provenanceClause(provenance) {
134
134
  // explicitly-declared P0 had no declared priority. A panel whose job is
135
135
  // explaining the order cannot invent the reason.
136
136
  return element('span', {}, [
137
- 'no ordered query matched — ranked in tier ',
137
+ 'No query matched, so it goes by its priority, ',
138
138
  element('span', { class: 'ig-id' }, [`P${String(provenance.priority)}`]),
139
139
  ]);
140
140
  case 'promotion': {
141
141
  const via = provenance.promotedBy.length === 0
142
142
  ? null
143
143
  : element('span', {}, [
144
- ' — inherited from ',
144
+ ' because it blocks ',
145
145
  element('span', { class: 'ig-id' }, [provenance.promotedBy.join(', ')]),
146
- ', which it blocks',
147
146
  ]);
148
147
  return element('span', {}, [
149
- 'effective priority ',
148
+ 'Priority raised ',
150
149
  element('span', { class: 'ig-id' }, [provenance.notation]),
151
150
  via,
152
151
  ]);
@@ -200,7 +199,7 @@ export function priorityBadge(provenance) {
200
199
  // `· tier`, NOT `· default`. The chip says which tier ranked the row; it
201
200
  // cannot say the tier was a default, because this arm does not know that.
202
201
  return element('span', { class: 'ig-badge', 'data-priority': 'tier' }, [
203
- `P${String(provenance.priority)} · tier`,
202
+ `P${String(provenance.priority)}`,
204
203
  ]);
205
204
  case 'promotion':
206
205
  return element('span', { class: 'ig-badge', 'data-priority': 'promoted' }, [
@@ -218,7 +217,7 @@ export function priorityBadge(provenance) {
218
217
  export function evidenceBadge(issue) {
219
218
  if (issue?.evidence !== 'verified')
220
219
  return null;
221
- return element('span', { class: 'ig-badge', 'data-evidence': 'verified', title: 'evidence: verified' }, glyphAndLabel('✓', 'verified'));
220
+ return element('span', { class: 'ig-badge', 'data-evidence': 'verified', title: 'verified' }, glyphAndLabel('✓', 'verified'));
222
221
  }
223
222
  /**
224
223
  * One hold, rendered with the family it belongs to visible in the markup — and
@@ -241,24 +240,6 @@ export function holdLine(hold) {
241
240
  'data-subject': hold.subject,
242
241
  }, [turn(), label, element('span', {}, [hold.reason])]);
243
242
  }
244
- /**
245
- * The runner's own words for the holds a footer collects — `claimed · parked` —
246
- * so the footer title can name them the way the design does. Empty when no
247
- * hold carries a label, which keeps the title exactly as it was before labels
248
- * existed.
249
- */
250
- export function footerLabels(slots) {
251
- const labels = [];
252
- for (const slot of slots) {
253
- for (const hold of slot.holds) {
254
- if (hold.family !== 'tracker' || hold.label === undefined || hold.label === '')
255
- continue;
256
- if (!labels.includes(hold.label))
257
- labels.push(hold.label);
258
- }
259
- }
260
- return labels.join(' · ');
261
- }
262
243
  /**
263
244
  * The projection toggle and the size affordance — controls the viewer PUBLISHES
264
245
  * and does not wire, exactly like the refresh button beside them.
@@ -282,7 +263,7 @@ function headerControls(controls) {
282
263
  'aria-pressed': controls.projection === projection ? 'true' : 'false',
283
264
  [COMMAND_ATTRIBUTE]: `projection:${projection}`,
284
265
  }, [element('span', { class: 'ig-glyph', 'aria-hidden': 'true' }, [glyph]), label]);
285
- return element('span', { class: 'ig-toggle', role: 'group', 'aria-label': 'projection' }, [
266
+ return element('span', { class: 'ig-toggle', role: 'group', 'aria-label': 'view' }, [
286
267
  toggle('linear', '☰', 'List'),
287
268
  toggle('graph', '⛓', 'Graph'),
288
269
  ]);
@@ -323,14 +304,14 @@ export function hostHeader(document, controls) {
323
304
  ]), element('span', { class: 'ig-count-chip', 'data-count': 'ready' }, [
324
305
  concurrencyCap === undefined
325
306
  ? `${String(counts.readyNow)} ready now`
326
- : `${String(counts.readyNow)} ready now · cap ${String(concurrencyCap)}`,
307
+ : `${String(counts.readyNow)} ready now · ${String(concurrencyCap)} at a time`,
327
308
  ]), element('span', { class: 'ig-count-chip', 'data-count': 'held' }, [
328
309
  `${String(counts.held)} held`,
329
310
  ]));
330
311
  }
331
312
  else if (concurrencyCap !== undefined) {
332
313
  chips.push(element('span', { class: 'ig-count-chip', 'data-count': 'ready' }, [
333
- `cap ${String(concurrencyCap)}`,
314
+ `${String(concurrencyCap)} at a time`,
334
315
  ]));
335
316
  }
336
317
  // §16h'S ONE AMBIGUITY WORTH REMOVING, stated once and here. "No edges shown"
@@ -340,7 +321,7 @@ export function hostHeader(document, controls) {
340
321
  // header prints it beside them rather than inventing a second place for it.
341
322
  if (adoption?.counts !== undefined) {
342
323
  chips.push(element('span', { class: 'ig-count-chip', 'data-count': 'adoption' }, [
343
- `${String(adoption.counts.declaring)} of ${String(adoption.counts.total)} declare relationships`,
324
+ `${String(adoption.counts.declaring)} of ${String(adoption.counts.total)} have relationships`,
344
325
  ]));
345
326
  }
346
327
  const summary = chips.length === 0
@@ -457,6 +438,29 @@ function noticeParts(condition) {
457
438
  ? {}
458
439
  : { control: { label: condition.retry, command: 'retry:index' } }),
459
440
  };
441
+ // THE DENOMINATOR IS THE BODY, so it sits under the headline as the
442
+ // sentence that contradicts the wrong reading rather than beside it as a
443
+ // count. `No flagged rows match.` / `8 issues are ranked`.
444
+ //
445
+ // THE CONTROL REUSES THE AUDIT FILTER'S OWN COMMAND NAME rather than
446
+ // inventing a second one. §17d gives the count one job and "always the same
447
+ // click"; a clear-the-filter control that published a different command
448
+ // would be a second toggle for one boolean, which is the defect the audit
449
+ // surface already refused once.
450
+ case 'filtered':
451
+ return {
452
+ headline: condition.headline,
453
+ body: [condition.denominator],
454
+ ...(condition.action === undefined
455
+ ? {}
456
+ : {
457
+ control: {
458
+ label: condition.action.label,
459
+ command: 'audit-filter',
460
+ ...(condition.action.href === undefined ? {} : { href: condition.action.href }),
461
+ },
462
+ }),
463
+ };
460
464
  }
461
465
  }
462
466
  /**
@@ -649,7 +653,7 @@ export function caveatLines(issue) {
649
653
  lines.push(element('p', { class: 'ig-caveat', 'data-caveat': 'disagree' }, [
650
654
  turn(),
651
655
  element('span', {}, [
652
- `ranked by ${used} · ${ignored.carrier} declares `,
656
+ `Using ${used} · ${ignored.carrier} says `,
653
657
  element('s', { class: 'ig-strike' }, [ignored.value]),
654
658
  ]),
655
659
  ]));
@@ -669,10 +673,10 @@ export function caveatBadges(issue) {
669
673
  return [];
670
674
  const chips = [];
671
675
  if (issue.previewOnly !== undefined) {
672
- chips.push(element('span', { class: 'ig-badge', 'data-caveat': 'preview-only' }, glyphAndLabel('◐', 'preview-only')));
676
+ chips.push(element('span', { class: 'ig-badge', 'data-caveat': 'preview-only' }, glyphAndLabel('◐', 'estimated')));
673
677
  }
674
678
  if (issue.disagreement !== undefined) {
675
- chips.push(element('span', { class: 'ig-badge', 'data-caveat': 'disagree' }, glyphAndLabel('◆', 'signals disagree')));
679
+ chips.push(element('span', { class: 'ig-badge', 'data-caveat': 'disagree' }, glyphAndLabel('◆', 'priorities disagree')));
676
680
  }
677
681
  return chips;
678
682
  }
@@ -700,10 +704,10 @@ export function caveatText(issue) {
700
704
  return '';
701
705
  const parts = [];
702
706
  if (issue.previewOnly !== undefined)
703
- parts.push(`preview-only: ${issue.previewOnly.note}`);
707
+ parts.push(`estimated: ${issue.previewOnly.note}`);
704
708
  if (issue.disagreement !== undefined) {
705
709
  const { used, ignored } = issue.disagreement;
706
- parts.push(`signals disagree: ranked by ${used}, ${ignored.carrier} declares ${ignored.value}`);
710
+ parts.push(`priorities disagree: using ${used}, ${ignored.carrier} says ${ignored.value}`);
707
711
  }
708
712
  return parts.join(' · ');
709
713
  }
@@ -970,7 +974,7 @@ export function noteText(document, key) {
970
974
  // THE BADGE ALREADY NAMES THE CANONICAL, so the sentence says only what the
971
975
  // badge cannot: that this issue is never worked at all.
972
976
  if (exclusion.key === key)
973
- lines.push('never worked — the canonical is worked instead');
977
+ lines.push('The original gets worked instead.');
974
978
  }
975
979
  return lines;
976
980
  }
@@ -1178,10 +1182,49 @@ export function slotTitle(document, slot) {
1178
1182
  .map((member) => document.byKey.get(member)?.title ?? member)
1179
1183
  .join(' · ');
1180
1184
  }
1185
+ /**
1186
+ * Where a slot sits and whether anything may start it, as one spoken phrase.
1187
+ *
1188
+ * TWO FACTS, READ FROM TWO FIELDS, and that is the whole point of this
1189
+ * function existing. It used to be one expression — `rank === null ? 'held, no
1190
+ * rank' : 'rank N'` — which inferred HELD from the ABSENCE OF A RANK. That
1191
+ * inference was sound while `@issuegraph/derive` assigned `ready ? rank : null`
1192
+ * and is wrong since `RULINGS.md` §1: a held slot whose blocker is inside the
1193
+ * previewed order carries a number, so the old expression announced it as
1194
+ * plain `rank 2` and DROPPED the word held. A sighted reader still saw the
1195
+ * hatched row and the `⊘ blocked-by #488` chip; a screen-reader user lost the
1196
+ * single most important fact about the row, silently, on the exact case the
1197
+ * ruling exists to draw.
1198
+ *
1199
+ * So `ready` is read on its own, never through `rank`. §16a's row says both
1200
+ * things at once — `⊘ blocked-by #488` beside `rank 2` — and the accessible
1201
+ * name says both too.
1202
+ *
1203
+ * ONE FUNCTION FOR EVERY SURFACE. The linear row's `aria-label`, the graph
1204
+ * node's and the graph station's all phrase this, and three copies of a
1205
+ * two-field rule is three chances to reintroduce the one-field one.
1206
+ */
1207
+ export function slotPosition(slot) {
1208
+ const parts = [];
1209
+ // HELD LEADS, because it is the fact that decides whether the rest matters.
1210
+ if (!slot.ready)
1211
+ parts.push('held');
1212
+ if (slot.rank === null) {
1213
+ parts.push('no rank');
1214
+ // The other arm of §1: no position to state, but the row still answers
1215
+ // "where would this have been" when the host worked it out.
1216
+ const would = slot.wouldBeRank;
1217
+ if (would !== null && would !== undefined)
1218
+ parts.push(`would be rank ${String(would)}`);
1219
+ }
1220
+ else {
1221
+ parts.push(`rank ${String(slot.rank)}`);
1222
+ }
1223
+ return parts.join(', ');
1224
+ }
1181
1225
  /** A slot's accessible name: what it is, where it sits, and whether it is held. */
1182
1226
  export function slotLabel(document, slot) {
1183
- const position = slot.rank === null ? 'held, no rank' : `rank ${String(slot.rank)}`;
1184
- return `${slotTitle(document, slot)} — ${slot.members.join(', ')} — ${position}`;
1227
+ return `${slotTitle(document, slot)} — ${slot.members.join(', ')} — ${slotPosition(slot)}`;
1185
1228
  }
1186
1229
  /** The empty state. A container with nothing in it reads as a bug. */
1187
1230
  export function emptyState(message) {
package/dist/parts.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"parts.js","sourceRoot":"","sources":["../src/parts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parts.js","sourceRoot":"","sources":["../src/parts.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@
14
14
  * so and offers the next move instead of drawing a hairball.
15
15
  */
16
16
  import type { NormalizedDocument } from '../document.ts';
17
+ import { type EdgeMark } from '../marks.ts';
17
18
  import { type Scene } from '../scene.ts';
18
19
  import { type Theme } from '../theme.ts';
19
20
  import { type SceneOptions } from './linear.ts';
@@ -35,6 +36,20 @@ export interface GraphOptions extends SceneOptions {
35
36
  */
36
37
  readonly compact?: boolean | undefined;
37
38
  readonly theme?: Theme | undefined;
39
+ /**
40
+ * Marks to draw on edges, keyed by `edgeIdentity(field, from, to)` — the same
41
+ * string the strokes publish on `data-ig-group`, so a caller needs no second
42
+ * identity and nothing to keep in step.
43
+ *
44
+ * AN INPUT IN A VOCABULARY OF POSITIONS, and that is what keeps this
45
+ * projection ignorant of why a mark was asked for. See `marks.ts`: a caller
46
+ * says `companion`, never `conflict`. The mapping from its own states onto
47
+ * these four placements stays with the caller and never travels here.
48
+ *
49
+ * Absent draws nothing, which is also what an older consumer of this package
50
+ * gets — the reason this is an option rather than a field on the scene.
51
+ */
52
+ readonly edgeMarks?: ReadonlyMap<string, readonly EdgeMark[]> | undefined;
38
53
  }
39
54
  export declare function graphScene(document: NormalizedDocument, rawOptions?: GraphOptions): Scene;
40
55
  //# sourceMappingURL=graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/projections/graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,gBAAgB,CAAC;AAkCxB,OAAO,EAA0B,KAAK,KAAK,EAAmB,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,aAAa,CAAC;AAEvD,OAAO,EACL,KAAK,YAAY,EAOlB,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CACpC;AAihBD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,GAAE,YAAiB,GAAG,KAAK,CAiX7F"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/projections/graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,gBAAgB,CAAC;AASxB,OAAO,EAAE,KAAK,QAAQ,EAAiB,MAAM,aAAa,CAAC;AA0B3D,OAAO,EAA0B,KAAK,KAAK,EAAmB,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,aAAa,CAAC;AAEvD,OAAO,EACL,KAAK,YAAY,EAOlB,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACnC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;CAC3E;AAqiBD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,GAAE,YAAiB,GAAG,KAAK,CAuZ7F"}
@@ -14,14 +14,15 @@
14
14
  * so and offers the next move instead of drawing a hairball.
15
15
  */
16
16
  import { edgeIdentity } from '@issuegraph/core';
17
- import { clustersOf } from "../clusters.js";
17
+ import { clusterReach, clusterReachLabel, clustersOf } from "../clusters.js";
18
18
  import { element, svg } from "../element.js";
19
19
  import { edgeGeometry, layoutGraph, } from "../layout.js";
20
- import { adoptionNote, atStations, cardBlocks, caveatBadges, conditionKind, conditionNotice, footerLabels, nowRows, caveatText, edgeBadgeList, emptyState, evidenceBadge, hostHeader, statesItsOwnCause, identity, legend, notReadyBadge, priorityBadge, slotLabel, stationFill, stationsOf, unitBlock, } from "../parts.js";
20
+ import { edgeMarkSpecs } from "../marks.js";
21
+ import { adoptionNote, atStations, cardBlocks, caveatBadges, conditionKind, conditionNotice, nowRows, caveatText, edgeBadgeList, emptyState, evidenceBadge, hostHeader, statesItsOwnCause, identity, legend, notReadyBadge, priorityBadge, slotLabel, slotPosition, stationFill, stationsOf, unitBlock, } from "../parts.js";
21
22
  import { resolveFocusKey } from "../scene.js";
22
23
  import { resolveTheme } from "../theme.js";
23
24
  import { dashArrayFor, treatmentFor } from "../vocabulary.js";
24
- import { asideRow, excludedRow, footerHeading, footerRow, isFooterSlot, slotRow, } from "./linear.js";
25
+ import { asideRow, excludedRow, footerHead, footerRow, isFooterSlot, slotRow, } from "./linear.js";
25
26
  /**
26
27
  * The node budget, from the design's scale table. Above the first threshold the
27
28
  * canvas shows component capsules; above the second, clusters only.
@@ -157,7 +158,7 @@ function nodeCard(document, layout, key, options, focused) {
157
158
  ...(caveats === '' ? [] : [caveats]),
158
159
  ...(exclusion === undefined
159
160
  ? []
160
- : [`${treatmentFor('duplicate-of').label} ${exclusion.canonical} — never worked`]),
161
+ : [`${treatmentFor('duplicate-of').label} ${exclusion.canonical}, which gets worked instead`]),
161
162
  ].join(' · ');
162
163
  // RENDERED FROM THE CARD'S OWN DESCRIPTION, which is also what the layout
163
164
  // counted this card's height from — see `CardBlock`. Built from a second
@@ -265,11 +266,15 @@ function spineStations(document, layout, theme) {
265
266
  'data-fill': box.now === true ? 'filled' : fill,
266
267
  'data-wait': waiting ? 'serialize' : null,
267
268
  role: 'img',
269
+ // THE SAME TWO-FIELD PHRASE THE ROW SPEAKS — `slotPosition`, not a
270
+ // second reading of `rank`. Inferring held from a missing rank here
271
+ // dropped the word held from a held-but-ranked station exactly as it
272
+ // did from the row's own name; see `slotPosition`.
268
273
  'aria-label': box.now === true
269
274
  ? 'working now'
270
- : slot === undefined || slot.rank === null
275
+ : slot === undefined
271
276
  ? 'held, no rank'
272
- : `rank ${String(slot.rank)}`,
277
+ : slotPosition(slot),
273
278
  style: `--ig-station-x:${String(box.x - theme.metrics['--ig-space'] - size)}px;--ig-station-y:${String(box.y + theme.metrics['--ig-space'])}px`,
274
279
  }, [box.now === true ? '▸' : slot?.rank === null || slot === undefined ? '—' : String(slot.rank)]));
275
280
  }
@@ -327,6 +332,35 @@ function refusalOrder(document, options, focused) {
327
332
  ...excluded.map((exclusion) => excludedRow(document, exclusion.key, exclusion.canonical, withFocus)),
328
333
  ]);
329
334
  }
335
+ /**
336
+ * One component, as §16's refusal presents it.
337
+ *
338
+ * NOT A CONTROL, and that is settled rather than pending — `refusal`'s own
339
+ * note below records why: this package does not narrow, so a control here can
340
+ * never complete the action it advertises. Frame `17f`'s "click to enter one"
341
+ * is layer 2's to draw, on the layer that can.
342
+ *
343
+ * What it does carry is the same reach the editor's capsule carries, from the
344
+ * same function, so one component is never described two ways on one screen.
345
+ */
346
+ function capsuleSpec(cluster) {
347
+ const reach = clusterReach(cluster);
348
+ return element('li', { class: 'ig-capsule' }, [
349
+ element('span', { class: 'ig-count' }, [`${String(cluster.members.length)} issues`]),
350
+ // THE BLOCKING COUNT STAYS, unlike on §17f's card. That rule is the frame's,
351
+ // and the frame's constraint is a two-column card with ONE slot beside the
352
+ // count; this capsule is a flex row with room for both, and dropping the
353
+ // number would leave a §16 reader unable to tell a two-edge cycle component
354
+ // from a two-hundred-edge one. "§16 ships unchanged" is the standing rule;
355
+ // the only thing that changes here is the depth, which was untrue.
356
+ element('span', { class: 'ig-count' }, [`${String(cluster.blockedByEdges)} blocking`]),
357
+ reach.kind === 'cyclic'
358
+ ? element('span', { class: 'ig-badge', 'data-edge': 'blocked-by' }, ['cycle'])
359
+ : null,
360
+ element('span', { class: 'ig-count' }, [clusterReachLabel(reach)]),
361
+ element('span', { class: 'ig-id' }, [cluster.members.slice(0, 3).join(', ')]),
362
+ ]);
363
+ }
330
364
  /**
331
365
  * The refusal.
332
366
  *
@@ -347,8 +381,8 @@ function refusal(document, layout, nodeCount, mode) {
347
381
  // under a sentence telling the reader to choose one.
348
382
  const clusters = clustersOf(document, new Set(layout.nodes.keys()));
349
383
  const heading = mode === 'capsules'
350
- ? `${String(nodeCount)} related issues is past this canvas's budget of ${String(GRAPH_NODE_BUDGET)}, so it is not drawing them.`
351
- : `${String(nodeCount)} related issues is far past this canvas's budget, so it is showing clusters only.`;
384
+ ? `${String(nodeCount)} related issues are too many to draw here. The limit is ${String(GRAPH_NODE_BUDGET)}.`
385
+ : `${String(nodeCount)} related issues are far too many to draw, so they are shown as groups.`;
352
386
  // THE REFUSAL IS INFORMATIONAL. IT PUBLISHES NO CONTROL — and that is a
353
387
  // RESTRUCTURE, not a regression of the round-five finding it answers.
354
388
  // That finding offered two remedies: expose an actionable component target,
@@ -376,22 +410,14 @@ function refusal(document, layout, nodeCount, mode) {
376
410
  const omitted = clusters.length - shown.length;
377
411
  return element('section', { class: 'ig-refusal', role: 'note' }, [
378
412
  element('p', {}, [heading]),
379
- element('ol', { class: 'ig-list', 'aria-label': 'connected components' }, shown.map((cluster) => element('li', { class: 'ig-capsule' }, [
380
- element('span', { class: 'ig-count' }, [`${String(cluster.members.length)} issues`]),
381
- element('span', { class: 'ig-count' }, [`${String(cluster.blockedByEdges)} blocking`]),
382
- element('span', { class: 'ig-count' }, [`depth ${String(cluster.chainDepth)}`]),
383
- cluster.hasCycle
384
- ? element('span', { class: 'ig-badge', 'data-edge': 'blocked-by' }, ['cycle'])
385
- : null,
386
- element('span', { class: 'ig-id' }, [cluster.members.slice(0, 3).join(', ')]),
387
- ]))),
413
+ element('ol', { class: 'ig-list', 'aria-label': 'groups of related issues' }, shown.map((cluster) => capsuleSpec(cluster))),
388
414
  omitted > 0
389
415
  ? element('p', { class: 'ig-refusal-omitted' }, [
390
- `${String(omitted)} further ${omitted === 1 ? 'component is' : 'components are'} not listed; ${String(clusters.length)} were found in total.`,
416
+ `${String(omitted)} more ${omitted === 1 ? 'group is' : 'groups are'} not listed (${String(clusters.length)} in all).`,
391
417
  ])
392
418
  : null,
393
419
  element('p', { class: 'ig-refusal-next' }, [
394
- 'Narrow the document to one neighbourhood and render again — narrowing is the host\'s, because this package draws exactly what it is given. The order list is complete at any size.',
420
+ 'The list always shows the full order, however many issues there are.',
395
421
  ]),
396
422
  ]);
397
423
  }
@@ -415,19 +441,13 @@ function footerGroup(document, layout, options, focused) {
415
441
  // that named only the runner and the never-worked said something untrue about
416
442
  // them.
417
443
  const undrawn = entries.length > slots.length + excluded.length;
418
- const labels = footerLabels(slots);
419
444
  return element('section', { class: 'ig-footer' }, [
420
- element('div', { class: 'ig-footer-head' }, [
421
- element('p', { class: 'ig-footer-title' }, [
422
- footerHeading(entries.length, {
423
- runner: slots.length > 0,
424
- neverWorked: excluded.length > 0,
425
- undrawn,
426
- }),
427
- ]),
428
- labels === '' ? null : element('span', { class: 'ig-footer-labels' }, [labels]),
429
- ]),
430
- element('ol', { class: 'ig-list', 'aria-label': 'outside the order' }, entries),
445
+ footerHead(entries.length, {
446
+ runner: slots.length > 0,
447
+ neverWorked: excluded.length > 0,
448
+ undrawn,
449
+ }),
450
+ element('ol', { class: 'ig-list', 'aria-label': 'not in the order' }, entries),
431
451
  ]);
432
452
  }
433
453
  /**
@@ -625,12 +645,12 @@ export function graphScene(document, rawOptions = {}) {
625
645
  canvas = null;
626
646
  }
627
647
  else if (drawsNothing) {
628
- canvas = emptyState('No issue in this document declares a relationship, so the canvas is empty.');
648
+ canvas = emptyState('No relationships yet, so there is nothing to draw.');
629
649
  }
630
650
  else if (nodeCount === 0) {
631
651
  // Nothing to draw ON the canvas, and a footer group beneath it that is the
632
652
  // whole panel. No stage, no refusal: the group renders in ordinary flow.
633
- canvas = emptyState('Nothing in this document is in the order, so the spine is empty.');
653
+ canvas = emptyState('Nothing is in the order yet, so there is nothing to draw.');
634
654
  }
635
655
  else if (nodeCount > CLUSTER_ONLY_BUDGET) {
636
656
  diagnostics.push(`graph refused: ${String(nodeCount)} nodes is past the cluster-only budget of ${String(CLUSTER_ONLY_BUDGET)}`);
@@ -665,10 +685,33 @@ export function graphScene(document, rawOptions = {}) {
665
685
  const geometry = edgeGeometry(layout, drawn);
666
686
  if (geometry === null)
667
687
  continue;
688
+ const identity = edgeIdentity(edge.field, edge.from, edge.to);
668
689
  edgeLayers.push(...edgePaths(edge, geometry, theme));
669
- const marker = terminalMarker(treatmentFor(edge.field).terminal, geometry, edge.field, edgeIdentity(edge.field, edge.from, edge.to), theme);
690
+ const marker = terminalMarker(treatmentFor(edge.field).terminal, geometry, edge.field, identity, theme);
670
691
  if (marker !== null)
671
692
  edgeLayers.push(marker);
693
+ // THE MARKS A CALLER ASKED FOR, LAST, so every one of them sits in front
694
+ // of the line it decorates rather than under it.
695
+ //
696
+ // Keyed on the DECLARED identity, like the terminal above, even though the
697
+ // geometry was solved from a possibly-swapped `drawn` edge — a caller
698
+ // holds the edge as written and has no way to know which way this
699
+ // projection chose to point the arrow.
700
+ const requested = options.edgeMarks?.get(identity);
701
+ if (requested !== undefined && requested.length > 0) {
702
+ const treatment = treatmentFor(edge.field);
703
+ edgeLayers.push(...edgeMarkSpecs(requested, geometry, theme, identity, {
704
+ doubled: treatment.dash === 'double',
705
+ // THE KIND'S OWN DASH AND HUE, HANDED OVER RATHER THAN LEFT TO CSS.
706
+ // Every mark drops `class`, so `.ig-edge[data-edge=…]` reaches none
707
+ // of them — a companion would draw solid beside a dotted line, and a
708
+ // chip would take the viewer's body text instead of the
709
+ // relationship's colour. Both are channels the type identity rests
710
+ // on, lost exactly where a reader is comparing two versions.
711
+ dashArray: dashArrayFor(treatment.dash),
712
+ hueToken: treatment.hueToken,
713
+ }));
714
+ }
672
715
  }
673
716
  // THE SPINE ITSELF, painted first so every arc bows off a line that is
674
717
  // already there. It spans the stations and no further: a line running the
@@ -718,6 +761,19 @@ export function graphScene(document, rawOptions = {}) {
718
761
  const root = element('section', {
719
762
  class: 'ig-viewer ig-graph',
720
763
  'data-projection': 'graph',
764
+ // See `SceneOptions.frame`; stamped on all three roots, because the
765
+ // container that declines the frame does not know which projection it
766
+ // was handed.
767
+ 'data-frame': options.frame === false ? 'none' : undefined,
768
+ // See `SceneOptions.dockLegend`; stamped on all three roots, because every
769
+ // projection draws the same legend and the container's scrollport does not
770
+ // change with the projection.
771
+ 'data-legend': options.dockLegend === true ? 'docked' : undefined,
772
+ // Stamped on all three roots rather than on the one that draws rows.
773
+ // A projection toggle must not silently drop a host's decision, and
774
+ // the graph carries a footer group of rows of its own. See
775
+ // `SceneOptions.density`.
776
+ 'data-density': options.density,
721
777
  'data-ig-condition': conditionKind(document, options.chrome),
722
778
  'aria-label': 'issue order and relationships',
723
779
  }, [
@@ -776,7 +832,7 @@ export function graphScene(document, rawOptions = {}) {
776
832
  document.isolated.length === 0
777
833
  ? null
778
834
  : element('p', { class: 'ig-count' }, [
779
- `${String(document.isolated.length)} isolated ${document.isolated.length === 1 ? 'issue' : 'issues'} not drawn`,
835
+ `${String(document.isolated.length)} ${document.isolated.length === 1 ? 'issue has' : 'issues have'} no relationships, so ${document.isolated.length === 1 ? 'it is' : 'they are'} not drawn`,
780
836
  ]),
781
837
  legend(),
782
838
  // LAST, because §16h calls it the panel FOOTER and the legend is a footer