@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.
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAgD,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAqB,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAc,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAiB/C,iFAAiF;AACjF,MAAM,UAAU,QAAQ,CACtB,QAA4B,EAC5B,UAAsB,EACtB,OAAqB;IAErB,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxC,KAAK,OAAO;YACV,OAAO,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvC,KAAK,MAAM;YACT,OAAO,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAqB,EAAE,UAAyB,EAAE;IAC7E,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAU,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC;IACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,IAAI,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAExF,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;QAChC,MAAM,EAAE,GAAG,gBAAgB,KAAK,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,EAAE;QACnF,KAAK;QACL,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;KACpD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAgD,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAqB,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAc,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAiB/C,iFAAiF;AACjF,MAAM,UAAU,QAAQ,CACtB,QAA4B,EAC5B,UAAsB,EACtB,OAAqB;IAErB,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxC,KAAK,OAAO;YACV,OAAO,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvC,KAAK,MAAM;YACT,OAAO,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAqB,EAAE,UAAyB,EAAE;IAC7E,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAU,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,IAAI,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAExF,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;QAChC,MAAM,EAAE,GAAG,gBAAgB,KAAK,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,EAAE;QACnF,KAAK;QACL,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;KACpD,CAAC;AACJ,CAAC"}
package/dist/theme.d.ts CHANGED
@@ -20,13 +20,13 @@
20
20
  * token list and the theme type cannot disagree: a colour added here is a
21
21
  * compile error in every theme that does not supply it.
22
22
  */
23
- export declare const COLOR_TOKENS: readonly ["--ig-bg", "--ig-surface", "--ig-surface-2", "--ig-line", "--ig-text", "--ig-text-body", "--ig-text-muted", "--ig-accent", "--ig-focus", "--ig-station-ready", "--ig-station-pending", "--ig-station-held", "--ig-edge-blocked-by", "--ig-edge-serialize-with", "--ig-edge-together-with", "--ig-edge-duplicate-of", "--ig-edge-decomposed-from"];
23
+ export declare const COLOR_TOKENS: readonly ["--ig-bg", "--ig-surface", "--ig-surface-2", "--ig-line", "--ig-text", "--ig-text-body", "--ig-text-muted", "--ig-accent", "--ig-focus", "--ig-station-ready", "--ig-station-pending", "--ig-station-held", "--ig-edge-blocked-by", "--ig-edge-serialize-with", "--ig-edge-together-with", "--ig-edge-duplicate-of", "--ig-edge-decomposed-from", "--ig-state-invalid", "--ig-state-failed", "--ig-state-conflict"];
24
24
  export type ColorToken = (typeof COLOR_TOKENS)[number];
25
25
  /** Type tokens. `lineHeight` is unitless; the rest carry their own units. */
26
26
  export declare const TYPE_TOKENS: readonly ["--ig-font-ui", "--ig-font-mono", "--ig-font-size", "--ig-font-size-small", "--ig-line-height"];
27
27
  export type TypeToken = (typeof TYPE_TOKENS)[number];
28
28
  /** Geometry tokens. Every value is a number of CSS pixels. */
29
- export declare const METRIC_TOKENS: readonly ["--ig-space", "--ig-space-tight", "--ig-radius", "--ig-row-height", "--ig-station-size", "--ig-station-halo", "--ig-stroke", "--ig-stroke-connector", "--ig-terminal-length", "--ig-terminal-width", "--ig-gutter-width", "--ig-spine-width", "--ig-char-width", "--ig-focus-ring"];
29
+ export declare const METRIC_TOKENS: readonly ["--ig-space", "--ig-space-tight", "--ig-radius", "--ig-row-height", "--ig-station-size", "--ig-station-halo", "--ig-stroke", "--ig-stroke-connector", "--ig-terminal-length", "--ig-terminal-width", "--ig-gutter-width", "--ig-spine-width", "--ig-char-width", "--ig-label-char-width", "--ig-focus-ring"];
30
30
  export type MetricToken = (typeof METRIC_TOKENS)[number];
31
31
  /** Every custom property the stylesheet may reference. */
32
32
  export declare const THEME_TOKENS: readonly string[];
@@ -60,6 +60,27 @@ export interface ThemeOverride {
60
60
  * would make the cheap case impossible to express.
61
61
  */
62
62
  export declare function extendTheme(base: Theme, override: ThemeOverride): Theme;
63
+ /**
64
+ * A caller's theme, with anything it does not carry filled from the default.
65
+ *
66
+ * EVERY ENTRY POINT THAT ACCEPTS A THEME GOES THROUGH THIS, because a `Theme`
67
+ * is a plain object a host may have built against an EARLIER version of this
68
+ * package and stored. Adding a token then puts a hole in it, and the hole does
69
+ * not fail loudly: a missing metric reads `undefined`, arithmetic on it yields
70
+ * `NaN`, and every comparison against `NaN` is false. Measured when
71
+ * `--ig-label-char-width` was added — a 0.1.0 theme made `fitLabel` return a
72
+ * 60-character title with an ellipsis APPENDED, which is worse overflow than
73
+ * the defect that token was added to fix, and `themeCss` emitted
74
+ * `undefinedpx`.
75
+ *
76
+ * A TypeScript caller is told about a new token by the compiler; a JavaScript
77
+ * one is not, and neither is a theme deserialized from storage. This is the
78
+ * boundary where that difference stops mattering.
79
+ *
80
+ * IT REUSES `extendTheme` rather than merging again — a full `Theme` is a valid
81
+ * `ThemeOverride`, and a second merge is a second rule to keep in step.
82
+ */
83
+ export declare function resolveTheme(theme?: Theme | undefined): Theme;
63
84
  /**
64
85
  * Render a theme as one CSS rule of custom properties.
65
86
  *
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,6VAkBd,CAAC;AAEZ,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,6EAA6E;AAC7E,eAAO,MAAM,WAAW,2GAMb,CAAC;AAEZ,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,8DAA8D;AAC9D,eAAO,MAAM,aAAa,+RAef,CAAC;AAEZ,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,0DAA0D;AAC1D,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAIxC,CAAC;AAEH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;CACzD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,KAuDzB,CAAC;AAEH,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CACrE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,KAAK,CAMvE;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,SAAU,GAAG,MAAM,CAMjE"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,+ZAgCd,CAAC;AAEZ,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,6EAA6E;AAC7E,eAAO,MAAM,WAAW,2GAMb,CAAC;AAEZ,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,8DAA8D;AAC9D,eAAO,MAAM,aAAa,wTAgBf,CAAC;AAEZ,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,0DAA0D;AAC1D,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAIxC,CAAC;AAEH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;CACzD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,KAqFzB,CAAC;AAEH,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CACrE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,KAAK,CAMvE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,CAE7D;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,SAAU,GAAG,MAAM,CAUjE"}
package/dist/theme.js CHANGED
@@ -38,6 +38,20 @@ export const COLOR_TOKENS = Object.freeze([
38
38
  '--ig-edge-together-with',
39
39
  '--ig-edge-duplicate-of',
40
40
  '--ig-edge-decomposed-from',
41
+ // EDIT-STATE HUES, and they are deliberately NOT the edge-kind hues above.
42
+ // An overlay states what is happening to an edge; a kind hue states what the
43
+ // edge IS. Spending `--ig-edge-blocked-by` on "invalid" would make one token
44
+ // mean two things — a host retheming the relationship would silently
45
+ // recolour the state, and an invalid `duplicate-of` would read as a
46
+ // `blocked-by`. That collapses the hue channel the colour-blind-safety claim
47
+ // rests on, so the states get their own.
48
+ //
49
+ // `selected` and `pending-write` are absent BY DESIGN rather than forgotten:
50
+ // selection is `--ig-focus`, which already carries exactly that meaning, and
51
+ // a pending write is drawn with opacity and a dash and asks for no hue at all.
52
+ '--ig-state-invalid',
53
+ '--ig-state-failed',
54
+ '--ig-state-conflict',
41
55
  ]);
42
56
  /** Type tokens. `lineHeight` is unitless; the rest carry their own units. */
43
57
  export const TYPE_TOKENS = Object.freeze([
@@ -62,6 +76,7 @@ export const METRIC_TOKENS = Object.freeze([
62
76
  '--ig-gutter-width',
63
77
  '--ig-spine-width',
64
78
  '--ig-char-width',
79
+ '--ig-label-char-width',
65
80
  '--ig-focus-ring',
66
81
  ]);
67
82
  /** Every custom property the stylesheet may reference. */
@@ -98,6 +113,23 @@ export const defaultTheme = Object.freeze({
98
113
  '--ig-edge-together-with': '#17BCEE',
99
114
  '--ig-edge-duplicate-of': '#B037F1',
100
115
  '--ig-edge-decomposed-from': '#E7317A',
116
+ // Refused before any write, and rejected by the write — a shared red
117
+ // family, because what separates them for a reader is SHAPE (dotted ghost
118
+ // versus the ✕ terminal), not hue. They stay separate tokens so a host that
119
+ // wants to separate them by colour can, without redefining a relationship.
120
+ //
121
+ // LIGHTER THAN THEY LOOK THEY SHOULD BE, and deliberately. Both states draw
122
+ // at reduced opacity, and contrast is a property of what LANDS on the
123
+ // surface rather than of the value written here: at 0.5 opacity a saturated
124
+ // `#F2555A` composites to 2.18:1 — under the 3:1 non-text bar — while
125
+ // measuring a perfectly respectable 5.31:1 uncomposited. The editor's
126
+ // grammar test measures the composite, because that is where the opacity
127
+ // this pairs with is declared.
128
+ '--ig-state-invalid': '#FFA8AD',
129
+ '--ig-state-failed': '#FFAF8E',
130
+ // Two versions are held and neither is adopted. Gold rather than red: a
131
+ // conflict is not a failure, and the design's own table says so.
132
+ '--ig-state-conflict': '#F5C542',
101
133
  }),
102
134
  type: Object.freeze({
103
135
  '--ig-font-ui': "Geist, ui-sans-serif, system-ui, sans-serif",
@@ -132,6 +164,19 @@ export const defaultTheme = Object.freeze({
132
164
  // Layout measures text with it, so a host changing the type scale changes
133
165
  // this too and the boxes stay around their contents.
134
166
  '--ig-char-width': 7.8,
167
+ // The AVERAGE advance of one character in the LABEL face at
168
+ // `--ig-font-size-small` — a different face and a different size from
169
+ // `--ig-char-width`, which is documented as the MONO advance at
170
+ // `--ig-font-size`. Measuring one with the other is what let a wide-glyph
171
+ // title overflow its node: 24 all-capital characters "fitted" 187.2px of
172
+ // room and drew about 240px, straight across the routing channel.
173
+ //
174
+ // AN AVERAGE, because `fitLabel` scales it per character class rather than
175
+ // assuming every glyph is the same width — see `labelWidth` there. A flat
176
+ // CEILING was tried and is wrong in the other direction: at the widest
177
+ // glyph's advance, ordinary titles truncate at roughly half their length,
178
+ // which this package's own fixtures caught immediately.
179
+ '--ig-label-char-width': 6,
135
180
  '--ig-focus-ring': 2,
136
181
  }),
137
182
  });
@@ -149,6 +194,29 @@ export function extendTheme(base, override) {
149
194
  metrics: Object.freeze({ ...base.metrics, ...override.metrics }),
150
195
  });
151
196
  }
197
+ /**
198
+ * A caller's theme, with anything it does not carry filled from the default.
199
+ *
200
+ * EVERY ENTRY POINT THAT ACCEPTS A THEME GOES THROUGH THIS, because a `Theme`
201
+ * is a plain object a host may have built against an EARLIER version of this
202
+ * package and stored. Adding a token then puts a hole in it, and the hole does
203
+ * not fail loudly: a missing metric reads `undefined`, arithmetic on it yields
204
+ * `NaN`, and every comparison against `NaN` is false. Measured when
205
+ * `--ig-label-char-width` was added — a 0.1.0 theme made `fitLabel` return a
206
+ * 60-character title with an ellipsis APPENDED, which is worse overflow than
207
+ * the defect that token was added to fix, and `themeCss` emitted
208
+ * `undefinedpx`.
209
+ *
210
+ * A TypeScript caller is told about a new token by the compiler; a JavaScript
211
+ * one is not, and neither is a theme deserialized from storage. This is the
212
+ * boundary where that difference stops mattering.
213
+ *
214
+ * IT REUSES `extendTheme` rather than merging again — a full `Theme` is a valid
215
+ * `ThemeOverride`, and a second merge is a second rule to keep in step.
216
+ */
217
+ export function resolveTheme(theme) {
218
+ return theme === undefined ? defaultTheme : extendTheme(defaultTheme, theme);
219
+ }
152
220
  /**
153
221
  * Render a theme as one CSS rule of custom properties.
154
222
  *
@@ -157,13 +225,17 @@ export function extendTheme(base, override) {
157
225
  * the numbers become CSS.
158
226
  */
159
227
  export function themeCss(theme, selector = ':root') {
228
+ // RESOLVED HERE TOO: this is an exported entry point taking a caller's theme
229
+ // and emitting the CSS a host installs, and an absent token wrote a literal
230
+ // `undefinedpx`, which is not a value any browser reads.
231
+ const filled = resolveTheme(theme);
160
232
  const lines = [];
161
233
  for (const token of COLOR_TOKENS)
162
- lines.push(` ${token}: ${theme.colors[token]};`);
234
+ lines.push(` ${token}: ${filled.colors[token]};`);
163
235
  for (const token of TYPE_TOKENS)
164
- lines.push(` ${token}: ${theme.type[token]};`);
236
+ lines.push(` ${token}: ${filled.type[token]};`);
165
237
  for (const token of METRIC_TOKENS)
166
- lines.push(` ${token}: ${String(theme.metrics[token])}px;`);
238
+ lines.push(` ${token}: ${String(filled.metrics[token])}px;`);
167
239
  return `${selector} {\n${lines.join('\n')}\n}\n`;
168
240
  }
169
241
  //# sourceMappingURL=theme.js.map
package/dist/theme.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@issuegraph/viewer",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Render an Issuegraph document as a work order — the ordered spine with readiness stations, the five edge treatments, and three projections. Rendering only: no fetching, no mutation, no auth, and every value themeable through CSS custom properties.",
5
5
  "keywords": [
6
6
  "issuegraph",
@@ -42,7 +42,7 @@
42
42
  "node": ">=18"
43
43
  },
44
44
  "dependencies": {
45
- "@issuegraph/core": "^0.1.1"
45
+ "@issuegraph/core": "^0.1.2"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/node": "^22.18.0",