@nowline/layout 0.0.0-dev.20261020011950.gce8a91f → 0.0.0-dev.20261020042602.g1c1ec01

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.
@@ -88,12 +88,13 @@ export declare const META_SUFFIX_DX_EM = 0.6;
88
88
  * its x one at a time, in this order, exactly as it did when it measured
89
89
  * them itself; a pre-summed offset can round differently at the last bit.
90
90
  *
91
- * With `metaText`, the run is the item meta line: the meta text's width,
92
- * the `META_SUFFIX_DX_EM` separator, the number's width (both widths at
93
- * the tighter `META_ICON_EM_PER_CHAR` so the icon hugs the number), then
94
- * the gap. Without it, the number starts the run (an item with no meta
95
- * text, or a lane badge): its `estimateTextWidth` width, then the gap.
96
- * The gap is always 0.1 em.
91
+ * With `metaText`, the run is the item meta line: the meta text's
92
+ * `estimateTextWidth` width and the `META_SUFFIX_DX_EM` separator (the
93
+ * first two terms are where the renderer starts the number), then the
94
+ * number's width and the gap. Without it, the number starts the run (an
95
+ * item with no meta text, or a lane badge): its width, then the gap.
96
+ * Both paths place the icon from the same number estimate and gap, so an
97
+ * item suffix reads like a lane badge.
97
98
  */
98
99
  export declare function capacityIconDxTerms(text: string, icon: ResolvedCapacityIcon | null, fontSizePx: number, metaText?: string): readonly number[] | undefined;
99
100
  //# sourceMappingURL=capacity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capacity.d.ts","sourceRoot":"","sources":["../src/capacity.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAe1D;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAezE;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAS3D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GACxC,oBAAoB,GAAG,IAAI,CAc7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACvC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,oBAAoB,GAAG,IAAI,EACjC,UAAU,EAAE,MAAM,GACnB,MAAM,CAcR;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAgBrC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,oBAAoB,GAAG,IAAI,EACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAClB,SAAS,MAAM,EAAE,GAAG,SAAS,CAQ/B"}
1
+ {"version":3,"file":"capacity.d.ts","sourceRoot":"","sources":["../src/capacity.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAe1D;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAezE;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAS3D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GACxC,oBAAoB,GAAG,IAAI,CAc7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACvC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,oBAAoB,GAAG,IAAI,EACjC,UAAU,EAAE,MAAM,GACnB,MAAM,CAgBR;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAUrC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,oBAAoB,GAAG,IAAI,EACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAClB,SAAS,MAAM,EAAE,GAAG,SAAS,CAY/B"}
package/dist/capacity.js CHANGED
@@ -137,12 +137,14 @@ export function estimateCapacitySuffixWidth(text, icon, fontSizePx) {
137
137
  // no separator gap, glyph width approx. one character.
138
138
  return (text.length + 1) * fontSizePx * 0.58;
139
139
  }
140
- // 0.1em separator + 1em glyph. Estimating the glyph as 1em (rather than
141
- // 0.58em, the per-character width) is intentional: SVG icons render at
142
- // their full font-size square, and most Unicode literals authors use for
143
- // capacity (★, 💰, ⚙) similarly read at near-em widths.
140
+ // Gap + 1em glyph. Estimating the glyph as 1em (rather than 0.58em, the
141
+ // per-character width) is intentional: SVG icons render at their full
142
+ // font-size square, and most Unicode literals authors use for capacity
143
+ // (★, 💰, ⚙) similarly read at near-em widths. A built-in SVG icon sits
144
+ // `CAPACITY_ICON_GAP_EM` past the number; a literal flows `0.1em` after
145
+ // it inside the `<text>`.
144
146
  const glyphWidthEm = 1.0;
145
- const gapEm = 0.1;
147
+ const gapEm = icon.kind === 'builtin' ? CAPACITY_ICON_GAP_EM : 0.1;
146
148
  return text.length * fontSizePx * 0.58 + (gapEm + glyphWidthEm) * fontSizePx;
147
149
  }
148
150
  /**
@@ -154,17 +156,12 @@ export function estimateCapacitySuffixWidth(text, icon, fontSizePx) {
154
156
  */
155
157
  export const META_SUFFIX_DX_EM = 0.6;
156
158
  /**
157
- * Tighter em-per-char width estimate used inside `renderItemMetaLine`
158
- * for positioning a built-in SVG icon after a metaText + number. Layout
159
- * still uses 0.58 em/char to pessimistically reserve bar width for
160
- * spill detection (so `metaText 5×` always fits its row); the renderer
161
- * paints the icon at a tighter offset so there's no visible
162
- * dead-space between the rendered number and its glyph. Lands inside
163
- * the layout reservation either way (`0.5 < 0.58`).
159
+ * Gap (em) between a capacity number and its built-in SVG icon. The icon's
160
+ * x is an estimate (the number's width at 0.58 em/char) while the number is
161
+ * drawn with real font metrics, and common UI fonts draw digits at up to
162
+ * ~0.64 em, so the gap has to absorb that error and still read as space.
164
163
  */
165
- const META_ICON_EM_PER_CHAR = 0.5;
166
- /** Gap (em) between a capacity number and its built-in SVG icon. */
167
- const CAPACITY_ICON_GAP_EM = 0.1;
164
+ const CAPACITY_ICON_GAP_EM = 0.25;
168
165
  /**
169
166
  * Where a built-in SVG capacity icon (person, people, points, time) sits:
170
167
  * the px terms that, added in order to the start x of the text run the
@@ -176,20 +173,25 @@ const CAPACITY_ICON_GAP_EM = 0.1;
176
173
  * its x one at a time, in this order, exactly as it did when it measured
177
174
  * them itself; a pre-summed offset can round differently at the last bit.
178
175
  *
179
- * With `metaText`, the run is the item meta line: the meta text's width,
180
- * the `META_SUFFIX_DX_EM` separator, the number's width (both widths at
181
- * the tighter `META_ICON_EM_PER_CHAR` so the icon hugs the number), then
182
- * the gap. Without it, the number starts the run (an item with no meta
183
- * text, or a lane badge): its `estimateTextWidth` width, then the gap.
184
- * The gap is always 0.1 em.
176
+ * With `metaText`, the run is the item meta line: the meta text's
177
+ * `estimateTextWidth` width and the `META_SUFFIX_DX_EM` separator (the
178
+ * first two terms are where the renderer starts the number), then the
179
+ * number's width and the gap. Without it, the number starts the run (an
180
+ * item with no meta text, or a lane badge): its width, then the gap.
181
+ * Both paths place the icon from the same number estimate and gap, so an
182
+ * item suffix reads like a lane badge.
185
183
  */
186
184
  export function capacityIconDxTerms(text, icon, fontSizePx, metaText) {
187
185
  if (icon?.kind !== 'builtin' || icon.name === 'multiplier')
188
186
  return undefined;
189
187
  const gapPx = fontSizePx * CAPACITY_ICON_GAP_EM;
190
188
  if (metaText) {
191
- const tightWidth = (s) => s.length * fontSizePx * META_ICON_EM_PER_CHAR;
192
- return [tightWidth(metaText), fontSizePx * META_SUFFIX_DX_EM, tightWidth(text), gapPx];
189
+ return [
190
+ estimateTextWidth(metaText, fontSizePx),
191
+ fontSizePx * META_SUFFIX_DX_EM,
192
+ estimateTextWidth(text, fontSizePx),
193
+ gapPx,
194
+ ];
193
195
  }
194
196
  return [estimateTextWidth(text, fontSizePx), gapPx];
195
197
  }
@@ -1 +1 @@
1
- {"version":3,"file":"capacity.js","sourceRoot":"","sources":["../src/capacity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capacity.js","sourceRoot":"","sources":["../src/capacity.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
- /**
2
- * Px-per-char for a 12 pt 600-weight title in `FONT_STACK.sans`.
3
- * Calibrated against system-ui at 12 pt bold (~6.3 px/char actual);
4
- * 6.5 leaves a small safety margin without producing a wide gap to
5
- * the owner / badge that follows.
6
- */
7
- export declare const FRAME_TAB_TITLE_PX_PER_CHAR = 6.5;
1
+ /** Font size (px) of the 600-weight title in `FONT_STACK.sans`. */
2
+ export declare const FRAME_TAB_TITLE_FONT_SIZE_PX = 12;
3
+ /** Estimated rendered width (px) of a frame-tab title. */
4
+ export declare function estimateFrameTabTitleWidth(title: string): number;
8
5
  /**
9
6
  * Px-per-char for a 10 pt regular owner suffix in `FONT_STACK.sans`.
10
7
  * Calibrated against system-ui at 10 pt regular (~5 px/char actual).
@@ -1 +1 @@
1
- {"version":3,"file":"frame-tab-geometry.d.ts","sourceRoot":"","sources":["../src/frame-tab-geometry.ts"],"names":[],"mappings":"AA2BA;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,2DAA2D;AAC3D,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,iGAAiG;AACjG,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,uFAAuF;AACvF,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC7B,qEAAqE;IACrE,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wFAAwF;IACxF,sBAAsB,EAAE,MAAM,CAAC;IAE/B,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,kBAAkB,GAAE,MAAU,EAC9B,sBAAsB,GAAE,MAAU,GACnC,gBAAgB,CAoDlB"}
1
+ {"version":3,"file":"frame-tab-geometry.d.ts","sourceRoot":"","sources":["../src/frame-tab-geometry.ts"],"names":[],"mappings":"AA2BA,mEAAmE;AACnE,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAc/C,0DAA0D;AAC1D,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUhE;AAED;;;GAGG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,2DAA2D;AAC3D,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,iGAAiG;AACjG,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,uFAAuF;AACvF,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC7B,qEAAqE;IACrE,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wFAAwF;IACxF,sBAAsB,EAAE,MAAM,CAAC;IAE/B,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,kBAAkB,GAAE,MAAU,EAC9B,sBAAsB,GAAE,MAAU,GACnC,gBAAgB,CAoDlB"}
@@ -19,18 +19,41 @@
19
19
  // chip. This means short labels naturally shrink-wrap their
20
20
  // chiclet rather than reserving a wide whitespace column.
21
21
  //
22
- // The per-char width factors are calibrated to actual avg-char-width
23
- // of the system sans-serif stack at the relevant font sizes / weights.
24
- // They lean slightly conservative (~5 % over actual) so the chiclet
25
- // never visually clips its label even when the runtime font's metrics
26
- // exceed the calibration target.
27
- /**
28
- * Px-per-char for a 12 pt 600-weight title in `FONT_STACK.sans`.
29
- * Calibrated against system-ui at 12 pt bold (~6.3 px/char actual);
30
- * 6.5 leaves a small safety margin without producing a wide gap to
31
- * the owner / badge that follows.
32
- */
33
- export const FRAME_TAB_TITLE_PX_PER_CHAR = 6.5;
22
+ // The width factors are calibrated to the system sans-serif stack at
23
+ // the relevant font sizes / weights. The title uses per-character
24
+ // width classes rather than one average: a flat average let wide
25
+ // titles ("Headcount") overrun their estimate by most of the inner
26
+ // gap while narrow ones ("Sprint pts") reserved a wide hole.
27
+ /** Font size (px) of the 600-weight title in `FONT_STACK.sans`. */
28
+ export const FRAME_TAB_TITLE_FONT_SIZE_PX = 12;
29
+ // Title width classes, in em. Calibrated against system-ui (Inter) at
30
+ // 12px semibold, the widest common resolution of the stack, so other
31
+ // system fonts land at or slightly inside the estimate.
32
+ const TITLE_NARROW_EM = 0.28;
33
+ const TITLE_SEMI_NARROW_EM = 0.4;
34
+ const TITLE_WIDE_EM = 0.9;
35
+ const TITLE_CAPITAL_OR_DIGIT_EM = 0.7;
36
+ const TITLE_DEFAULT_EM = 0.6;
37
+ const TITLE_NARROW_CHARS = new Set(" ijlI.,:;!'|`");
38
+ const TITLE_SEMI_NARROW_CHARS = new Set('frt()[]{}/\\1-_"');
39
+ const TITLE_WIDE_CHARS = new Set('mwMW@%');
40
+ /** Estimated rendered width (px) of a frame-tab title. */
41
+ export function estimateFrameTabTitleWidth(title) {
42
+ let em = 0;
43
+ for (const ch of title) {
44
+ if (TITLE_NARROW_CHARS.has(ch))
45
+ em += TITLE_NARROW_EM;
46
+ else if (TITLE_SEMI_NARROW_CHARS.has(ch))
47
+ em += TITLE_SEMI_NARROW_EM;
48
+ else if (TITLE_WIDE_CHARS.has(ch))
49
+ em += TITLE_WIDE_EM;
50
+ else if (/[A-Z0-9]/.test(ch))
51
+ em += TITLE_CAPITAL_OR_DIGIT_EM;
52
+ else
53
+ em += TITLE_DEFAULT_EM;
54
+ }
55
+ return em * FRAME_TAB_TITLE_FONT_SIZE_PX;
56
+ }
34
57
  /**
35
58
  * Px-per-char for a 10 pt regular owner suffix in `FONT_STACK.sans`.
36
59
  * Calibrated against system-ui at 10 pt regular (~5 px/char actual).
@@ -84,7 +107,7 @@ export const FRAME_TAB_OFFSET_FROM_BOX_PX = 10;
84
107
  export function frameTabGeometry(boxX, title, owner, capacityBadgeWidth = 0, footnoteIndicatorWidth = 0) {
85
108
  const tabX = boxX + FRAME_TAB_OFFSET_FROM_BOX_PX;
86
109
  const titleX = tabX + FRAME_TAB_LEFT_INSET_PX;
87
- const titleTextWidth = title.length * FRAME_TAB_TITLE_PX_PER_CHAR;
110
+ const titleTextWidth = estimateFrameTabTitleWidth(title);
88
111
  let cursorX = titleX + titleTextWidth;
89
112
  let ownerTextWidth = 0;
90
113
  let ownerX = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"frame-tab-geometry.js","sourceRoot":"","sources":["../src/frame-tab-geometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame-tab-geometry.js","sourceRoot":"","sources":["../src/frame-tab-geometry.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export { type CappedPixelsPerDayInput, cappedPixelsPerDay, MIN_PIXELS_PER_DAY, }
4
4
  export { capacityIconDxTerms, estimateCapacitySuffixWidth, formatCapacityNumber, META_SUFFIX_DX_EM, parseCapacityValue, type ResolvedCapacityIcon, resolveCapacityIcon, } from './capacity.js';
5
5
  export { CONTAINER_BODY_FILL_OPACITY, CONTAINER_BODY_PAD_PX, CONTAINER_BRACKET_LINE_OFFSET_PX, CONTAINER_HEADER_BAND_PX, CONTAINER_HEADER_TITLE_BASELINE_PX, CONTAINER_HEADER_TITLE_FONT_SIZE_PX, CONTAINER_MAX_FILLED_DEPTH, CONTAINER_NESTED_BODY_FILL_OPACITY, containerHeaderTitleX, } from './container-header-geometry.js';
6
6
  export { ARROW_HEAD_LENGTH_PX, ARROW_HEAD_MIN_PX, ARROW_HEAD_WIDTH_PX, } from './edge-routing.js';
7
- export { FRAME_TAB_INNER_GAP_PX, FRAME_TAB_LEFT_INSET_PX, FRAME_TAB_MIN_WIDTH_PX, FRAME_TAB_OFFSET_FROM_BOX_PX, FRAME_TAB_OWNER_GLYPH_GAP_PX, FRAME_TAB_OWNER_GLYPH_PX, FRAME_TAB_OWNER_PX_PER_CHAR, FRAME_TAB_RIGHT_INSET_PX, FRAME_TAB_TITLE_PX_PER_CHAR, type FrameTabGeometry, frameTabGeometry, } from './frame-tab-geometry.js';
7
+ export { estimateFrameTabTitleWidth, FRAME_TAB_INNER_GAP_PX, FRAME_TAB_LEFT_INSET_PX, FRAME_TAB_MIN_WIDTH_PX, FRAME_TAB_OFFSET_FROM_BOX_PX, FRAME_TAB_OWNER_GLYPH_GAP_PX, FRAME_TAB_OWNER_GLYPH_PX, FRAME_TAB_OWNER_PX_PER_CHAR, FRAME_TAB_RIGHT_INSET_PX, FRAME_TAB_TITLE_FONT_SIZE_PX, type FrameTabGeometry, frameTabGeometry, } from './frame-tab-geometry.js';
8
8
  export { HEADER_AUTHOR_FONT_SIZE_PX, HEADER_AUTHOR_LINE_HEIGHT_PX, HEADER_CARD_PADDING_BOTTOM, HEADER_CARD_PADDING_TOP, HEADER_CARD_PADDING_X, HEADER_LOGO_GAP_PX, HEADER_LOGO_MAX_WIDTH_PX, HEADER_LOGO_PAD_Y_PX, HEADER_TITLE_FONT_SIZE_PX, HEADER_TITLE_LINE_HEIGHT_PX, HEADER_TITLE_TO_AUTHOR_GAP_PX, } from './header-card-geometry.js';
9
9
  export { type LogoDimensions, type LogoSizePreset, roadmapLogoRef, scaleLogo, } from './header-logo.js';
10
10
  export { INCLUDE_CHROME_BADGE_GAP_PX, INCLUDE_CHROME_BADGE_SIZE_PX, INCLUDE_CHROME_OFFSET_FROM_BOX_PX, INCLUDE_CHROME_SOURCE_GAP_PX, INCLUDE_CHROME_SOURCE_HALO_PAD_PX, INCLUDE_CHROME_SOURCE_PER_CHAR_PX, INCLUDE_CHROME_TAB_LABEL_PER_CHAR_PX, INCLUDE_CHROME_TAB_LEFT_INSET_PX, INCLUDE_CHROME_TAB_MIN_WIDTH_PX, INCLUDE_CHROME_TAB_RIGHT_INSET_PX, type IncludeChromeGeometry, includeChromeGeometry, } from './include-chrome-geometry.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ export { cappedPixelsPerDay, MIN_PIXELS_PER_DAY, } from './canvas-width.js';
3
3
  export { capacityIconDxTerms, estimateCapacitySuffixWidth, formatCapacityNumber, META_SUFFIX_DX_EM, parseCapacityValue, resolveCapacityIcon, } from './capacity.js';
4
4
  export { CONTAINER_BODY_FILL_OPACITY, CONTAINER_BODY_PAD_PX, CONTAINER_BRACKET_LINE_OFFSET_PX, CONTAINER_HEADER_BAND_PX, CONTAINER_HEADER_TITLE_BASELINE_PX, CONTAINER_HEADER_TITLE_FONT_SIZE_PX, CONTAINER_MAX_FILLED_DEPTH, CONTAINER_NESTED_BODY_FILL_OPACITY, containerHeaderTitleX, } from './container-header-geometry.js';
5
5
  export { ARROW_HEAD_LENGTH_PX, ARROW_HEAD_MIN_PX, ARROW_HEAD_WIDTH_PX, } from './edge-routing.js';
6
- export { FRAME_TAB_INNER_GAP_PX, FRAME_TAB_LEFT_INSET_PX, FRAME_TAB_MIN_WIDTH_PX, FRAME_TAB_OFFSET_FROM_BOX_PX, FRAME_TAB_OWNER_GLYPH_GAP_PX, FRAME_TAB_OWNER_GLYPH_PX, FRAME_TAB_OWNER_PX_PER_CHAR, FRAME_TAB_RIGHT_INSET_PX, FRAME_TAB_TITLE_PX_PER_CHAR, frameTabGeometry, } from './frame-tab-geometry.js';
6
+ export { estimateFrameTabTitleWidth, FRAME_TAB_INNER_GAP_PX, FRAME_TAB_LEFT_INSET_PX, FRAME_TAB_MIN_WIDTH_PX, FRAME_TAB_OFFSET_FROM_BOX_PX, FRAME_TAB_OWNER_GLYPH_GAP_PX, FRAME_TAB_OWNER_GLYPH_PX, FRAME_TAB_OWNER_PX_PER_CHAR, FRAME_TAB_RIGHT_INSET_PX, FRAME_TAB_TITLE_FONT_SIZE_PX, frameTabGeometry, } from './frame-tab-geometry.js';
7
7
  export { HEADER_AUTHOR_FONT_SIZE_PX, HEADER_AUTHOR_LINE_HEIGHT_PX, HEADER_CARD_PADDING_BOTTOM, HEADER_CARD_PADDING_TOP, HEADER_CARD_PADDING_X, HEADER_LOGO_GAP_PX, HEADER_LOGO_MAX_WIDTH_PX, HEADER_LOGO_PAD_Y_PX, HEADER_TITLE_FONT_SIZE_PX, HEADER_TITLE_LINE_HEIGHT_PX, HEADER_TITLE_TO_AUTHOR_GAP_PX, } from './header-card-geometry.js';
8
8
  export { roadmapLogoRef, scaleLogo, } from './header-logo.js';
9
9
  export { INCLUDE_CHROME_BADGE_GAP_PX, INCLUDE_CHROME_BADGE_SIZE_PX, INCLUDE_CHROME_OFFSET_FROM_BOX_PX, INCLUDE_CHROME_SOURCE_GAP_PX, INCLUDE_CHROME_SOURCE_HALO_PAD_PX, INCLUDE_CHROME_SOURCE_PER_CHAR_PX, INCLUDE_CHROME_TAB_LABEL_PER_CHAR_PX, INCLUDE_CHROME_TAB_LEFT_INSET_PX, INCLUDE_CHROME_TAB_MIN_WIDTH_PX, INCLUDE_CHROME_TAB_RIGHT_INSET_PX, includeChromeGeometry, } from './include-chrome-geometry.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"item-measure.d.ts","sourceRoot":"","sources":["../../src/nodes/item-measure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"item-measure.d.ts","sourceRoot":"","sources":["../../src/nodes/item-measure.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  // size its row and hand the same measure to `sequenceItem`, which places
10
10
  // it.
11
11
  import { deriveTotalEffortDays, resolveDuration } from '../calendar.js';
12
- import { capacityIconDxTerms, estimateCapacitySuffixWidth, formatCapacityNumber, parseCapacityValue, resolveCapacityIcon, } from '../capacity.js';
12
+ import { capacityIconDxTerms, estimateCapacitySuffixWidth, formatCapacityNumber, META_SUFFIX_DX_EM, parseCapacityValue, resolveCapacityIcon, } from '../capacity.js';
13
13
  import { propValue, propValues } from '../dsl-utils.js';
14
14
  import { pickInlineDate } from '../inline-date-pin-geometry.js';
15
15
  import { computeTitleBarExtra, ITEM_CAPTION_INSET_X_PX, ITEM_CAPTION_META_BASELINE_OFFSET_PX, ITEM_CAPTION_META_FONT_SIZE_PX, ITEM_CAPTION_TITLE_FONT_SIZE_PX, itemCaptionLastBaselineOffset, itemTitleFirstLineRightReservePx, LABEL_CHIP_GAP_ABOVE_PROGRESS_STRIP_PX, LABEL_CHIP_GAP_BETWEEN_PX, LABEL_CHIP_HEIGHT_PX, LABEL_CHIP_ROW_STEP_PX, layoutSpillCluster, MIN_BAR_WIDTH_FOR_DOT_PX, MIN_BAR_WIDTH_FOR_FOOTNOTE_PX, MIN_BAR_WIDTH_FOR_LINK_AND_DOT_PX, packSpillChips, } from '../item-bar-geometry.js';
@@ -186,8 +186,13 @@ export function resolveItemMeta(props, ctx, sizeResolved, status, progress, capa
186
186
  // Add a small leading separator (a single space's worth) only when
187
187
  // the suffix sits next to existing meta text, so `m 5×` has air
188
188
  // between the driver token and the count. Standalone suffix needs no
189
- // leading separator.
190
- const separatorWidth = metaText ? estimateTextWidth(' ', META_FONT_SIZE_PX_LOCAL) : 0;
189
+ // leading separator. A built-in SVG icon is placed past exactly the
190
+ // `META_SUFFIX_DX_EM` separator, so reserve that, not a space's
191
+ // estimate, or the icon ends past the reservation.
192
+ const separatorPx = iconDxTerms !== undefined
193
+ ? META_FONT_SIZE_PX_LOCAL * META_SUFFIX_DX_EM
194
+ : estimateTextWidth(' ', META_FONT_SIZE_PX_LOCAL);
195
+ const separatorWidth = metaText ? separatorPx : 0;
191
196
  capacityTrailingWidth =
192
197
  separatorWidth +
193
198
  estimateCapacitySuffixWidth(capacityText, capacityIcon, META_FONT_SIZE_PX_LOCAL);
@@ -1 +1 @@
1
- {"version":3,"file":"item-measure.js","sourceRoot":"","sources":["../../src/nodes/item-measure.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,wEAAwE;AACxE,sEAAsE;AACtE,wEAAwE;AACxE,uEAAuE;AACvE,uEAAuE;AACvE,0EAA0E;AAC1E,wEAAwE;AACxE,yEAAyE;AACzE,MAAM;AAGN,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EACH,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAEH,oBAAoB,EACpB,uBAAuB,EACvB,oCAAoC,EACpC,8BAA8B,EAC9B,+BAA+B,EAC/B,6BAA6B,EAC7B,gCAAgC,EAChC,sCAAsC,EACtC,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EACxB,6BAA6B,EAC7B,iCAAiC,EACjC,cAAc,GAEjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAsB,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAqB,MAAM,wBAAwB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAS3E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAGH,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,wBAAwB,GAC3B,MAAM,gBAAgB,CAAC;AAoExB,MAAM,UAAU,cAAc,CAAC,GAAuB;IAClD,QAAQ,GAAG,EAAE,CAAC;QACV,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW;YACZ,OAAO,MAAM,CAAC;QAClB,KAAK,aAAa,CAAC;QACnB,KAAK,QAAQ;YACT,OAAO,aAAa,CAAC;QACzB,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,SAAS;YACV,OAAO,GAAG,CAAC;QACf,KAAK,SAAS;YACV,OAAO,SAAS,CAAC;QACrB;YACI,OAAO,SAAS,CAAC;IACzB,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAuB;IAClD,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC;IACnB,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACjB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAChE,CAAC;AAED,6EAA6E;AAC7E,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,0EAA0E;AAC1E,iEAAiE;AACjE,SAAS,sBAAsB,CAC3B,GAAuB,EACvB,GAAyC;IAEzC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACzE,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,aAAa,IAAI,GAAG,CAAC;AACpD,CAAC;AAED,8EAA8E;AAC9E,SAAS,mBAAmB,CACxB,GAAuB,EACvB,GAGC;IAED,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAwB;IAClD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxE,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxE,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,cAAc,CAC1B,KAAuB,EACvB,GAAiB,EACjB,CAAS,EACT,CAAS,EACT,QAAiB;IAEjB,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,uEAAuE;IACvE,+CAA+C;IAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAC/D,MAAM,GAAG,GAAG,UAAU,CAAC,MAAiC,CAAC,CAAC;IAC1D,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,QAAQ,KAAK,SAAS;QAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9D,OAAO;QACH,IAAI;QACJ,KAAK;QACL,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE;KACrD,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAC/B,KAAuB,EACvB,GAAkB;IAElB,wEAAwE;IACxE,kEAAkE;IAClE,wEAAwE;IACxE,oCAAoC;IACpC,MAAM,eAAe,GAAG,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACzF,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,QAAQ,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,QAAQ,KAAK,CAAC,IAAI,MAAM,KAAK,MAAM;QAAE,QAAQ,GAAG,CAAC,CAAC;IACtD,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACnF,IAAI,QAAQ,KAAK,CAAC,IAAI,MAAM,KAAK,aAAa,IAAI,iBAAiB,EAAE,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACjF,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC;IACvB,CAAC;IACD,IAAI,QAAQ,KAAK,CAAC,IAAI,MAAM,KAAK,aAAa,IAAI,aAAa,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACzF,kEAAkE;QAClE,8DAA8D;QAC9D,gEAAgE;QAChE,iEAAiE;QACjE,gEAAgE;QAChE,+DAA+D;QAC/D,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC3B,KAAuB,EACvB,GAAkB,EAClB,YAAiC,EACjC,MAAkB,EAClB,QAAgB,EAChB,gBAAwB;IAExB,uEAAuE;IACvE,sEAAsE;IACtE,qEAAqE;IACrE,yDAAyD;IACzD,MAAM,uBAAuB,GAAG,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,cAAc,GAChB,CAAC,CAAC,uBAAuB,IAAI,wBAAwB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,WAAW,GAAuB,cAAc;QAClD,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,YAAY,IAAI,SAAS,CAAC;IAChC,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,GAAW,EAAE,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrF,IAAI,QAA4B,CAAC;IACjC,IAAI,MAAM,KAAK,aAAa,IAAI,gBAAgB,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;QACxB,QAAQ,GAAG,IAAI;YACX,CAAC,CAAC,GAAG,IAAI,MAAM,gBAAgB,YAAY;YAC3C,CAAC,CAAC,GAAG,gBAAgB,YAAY,CAAC;IAC1C,CAAC;SAAM,IAAI,MAAM,KAAK,aAAa,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;QACxB,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,aAAa,CAAC;IAC1E,CAAC;SAAM,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;QACrC,QAAQ,GAAG,QAAQ,EAAE,IAAI,SAAS,CAAC;IACvC,CAAC;IAED,qEAAqE;IACrE,oEAAoE;IACpE,8DAA8D;IAC9D,qEAAqE;IACrE,oEAAoE;IACpE,kEAAkE;IAClE,uEAAuE;IACvE,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,QAAQ,GAA8B,IAAI,CAAC;IAC/C,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAC9B,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACxE,MAAM,uBAAuB,GAAG,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,mBAAmB,CACnC,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,QAAQ,CACX,CAAC;QACF,QAAQ,GAAG;YACP,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,YAAY;YAClB,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC;QACF,mEAAmE;QACnE,gEAAgE;QAChE,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,qBAAqB;YACjB,cAAc;gBACd,2BAA2B,CAAC,YAAY,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC;AACvE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CACzC,IAAwB,EACxB,GAAkB;IAElB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,IAAI,IAAI,EAAE,CAAC;QACP,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,CAAC,KAAK,SAAS;oBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CACxC,QAAgB,EAChB,kBAAqC,EACrC,SAA4B;IAE5B,OAAO,gCAAgC,CAAC;QACpC,QAAQ;QACR,cAAc,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC;QAC9C,cAAc,EAAE,cAAc,CAAC,SAAS,CAAC,KAAK,SAAS;KAC1D,CAAC,CAAC;AACP,CAAC;AAED,yEAAyE;AACzE,MAAM,gBAAgB,GAAG;IACrB,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,YAAY;IAC3B,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACwC,CAAC;AAE/D;;;;GAIG;AACH,SAAS,gBAAgB,CACrB,QAAuB,EACvB,MAAkB,EAClB,KAAY;IAEZ,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC9B,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACtC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACtC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,mBAAmB,CAC/B,YAAqB,EACrB,aAAsB,EACtB,YAAoB,EACpB,SAAiB,EACjB,mBAA2B;IAE3B,IAAI,YAAY,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACjC,0DAA0D;IAC1D,EAAE;IACF,4DAA4D;IAC5D,8DAA8D;IAC9D,kEAAkE;IAClE,8DAA8D;IAC9D,2DAA2D;IAC3D,gEAAgE;IAChE,gEAAgE;IAChE,6DAA6D;IAC7D,kEAAkE;IAClE,2DAA2D;IAC3D,kEAAkE;IAClE,wCAAwC;IACxC,+DAA+D;IAC/D,oCAAoC;IACpC,EAAE;IACF,gEAAgE;IAChE,uDAAuD;IACvD,MAAM,OAAO,GACT,SAAS;QACT,wBAAwB;QACxB,oBAAoB;QACpB,sCAAsC,CAAC;IAC3C,IAAI,WAAmB,CAAC;IACxB,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;QAChC,WAAW;YACP,IAAI,CAAC,GAAG,CAAC,oCAAoC,EAAE,mBAAmB,CAAC;gBACnE,sCAAsC,CAAC;IAC/C,CAAC;SAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,WAAW,GAAG,IAAI,CAAC,GAAG,CAClB,OAAO,EACP,mBAAmB,GAAG,sCAAsC,CAC/D,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,WAAW,GAAG,OAAO,CAAC;IAC1B,CAAC;IACD,MAAM,gBAAgB,GAClB,WAAW,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;IACrF,+DAA+D;IAC/D,+DAA+D;IAC/D,MAAM,cAAc,GAChB,gBAAgB,GAAG,sCAAsC,GAAG,wBAAwB,CAAC;IACzF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC;AACnD,CAAC;AAcD;;;;;;;;;GASG;AACH,SAAS,mBAAmB,CACxB,KAAe,EACf,KAAsB,EACtB,GAAkB;IAElB,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACvB,CAAC,EACD,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC,CACnF,CAAC;IACF,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;IACvD,MAAM,SAAS,GACX,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,qBAAqB,CAAC;IAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC7B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,YAAY;QACZ,aAAa,EAAE,KAAK,CAAC,WAAW,GAAG,6BAA6B,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC1F,SAAS,EAAE,KAAK,CAAC,WAAW,GAAG,wBAAwB;KAC1D,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,GAAG,wBAAwB,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC7E,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IACD,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9C,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,+BAA+B,CAAC,CAAC;QAC7E,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS,GAAG,IAAI,CAAC;QACtC,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC;AAED,iDAAiD;AACjD,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACvB,IAAqB,EACrB,MAAc,EACd,GAAkB;IAElB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;IAC9B,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChE,0DAA0D;IAC1D,sEAAsE;IACtE,8CAA8C;IAC9C,mEAAmE;IACnE,sBAAsB;IACtB,uDAAuD;IACvD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE9C,qEAAqE;IACrE,uEAAuE;IACvE,gDAAgD;IAChD,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAElD,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;IAEzC,qEAAqE;IACrE,oEAAoE;IACpE,sEAAsE;IACtE,8CAA8C;IAC9C,EAAE;IACF,oEAAoE;IACpE,oEAAoE;IACpE,2DAA2D;IAC3D,kEAAkE;IAClE,mEAAmE;IACnE,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC;YAAE,YAAY,IAAI,yBAAyB,CAAC;QACrD,YAAY,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACzC,CAAC;IACD,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,GAAG,oBAAoB,CAAC;IAEnF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAE7D,qEAAqE;IACrE,wEAAwE;IACxE,0EAA0E;IAC1E,uEAAuE;IACvE,sEAAsE;IACtE,MAAM,KAAK,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1E,kEAAkE;IAClE,gCAAgC;IAChC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAE7F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAC5C,8DAA8D;IAC9D,sEAAsE;IACtE,8DAA8D;IAC9D,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,kBAAkB,CAAC;QAClC,KAAK;QACL,WAAW;QACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,iBAAiB,EAAE,IAAI,CAAC,qBAAqB;QAC7C,WAAW;QACX,aAAa,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,SAAS;QACrD,4BAA4B,EAAE,4BAA4B,CACtD,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,CACZ;KACJ,CAAC,CAAC;IAEH,qEAAqE;IACrE,mEAAmE;IACnE,MAAM,UAAU,GAAG,WAAW,IAAI,WAAW,GAAG,iCAAiC,CAAC;IAClF,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC;IAC3D,sEAAsE;IACtE,yEAAyE;IACzE,oEAAoE;IACpE,yEAAyE;IACzE,oDAAoD;IACpD,qEAAqE;IACrE,sEAAsE;IACtE,qBAAqB;IACrB,MAAM,MAAM,GAAG,mBAAmB,CAC9B,wBAAwB,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,EAC3D;QACI,UAAU;QACV,UAAU;QACV,SAAS,EAAE,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,WAAW;QAC9D,WAAW;QACX,aAAa,EAAE,kBAAkB,CAAC,MAAM;QACxC,IAAI;KACP,EACD,GAAG,CACN,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAE3B,wEAAwE;IACxE,wDAAwD;IACxD,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,uEAAuE;IACvE,qEAAqE;IACrE,wEAAwE;IACxE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;IACtE,mEAAmE;IACnE,kEAAkE;IAClE,gCAAgC;IAChC,MAAM,YAAY,GAAG,6BAA6B,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,mBAAmB,CACpC,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,EACzB,YAAY,CACf,CAAC;IAEF,OAAO;QACH,IAAI;QACJ,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;QACnB,MAAM;QACN,YAAY;QACZ,YAAY;QACZ,WAAW;QACX,kBAAkB;QAClB,KAAK;QACL,IAAI,EAAE,YAAY;QAClB,MAAM;QACN,QAAQ;QACR,IAAI;QACJ,IAAI;QACJ,KAAK,EAAE;YACH,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,YAAY;SACzB;QACD,kBAAkB;QAClB,OAAO,EAAE;YACL,GAAG,UAAU;YACb,KAAK;YACL,UAAU;YACV,KAAK;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,YAAY;SACf;QACD,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC;KAClD,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"item-measure.js","sourceRoot":"","sources":["../../src/nodes/item-measure.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nowline/layout",
3
- "version": "0.0.0-dev.20261020011950.gce8a91f",
3
+ "version": "0.0.0-dev.20261020042602.g1c1ec01",
4
4
  "description": "Nowline layout engine — works out where everything goes on the page before it's drawn.",
5
5
  "license": "Apache-2.0",
6
6
  "engines": {
@@ -22,7 +22,7 @@
22
22
  "src/"
23
23
  ],
24
24
  "dependencies": {
25
- "@nowline/core": "0.0.0-dev.20261020011950.gce8a91f",
25
+ "@nowline/core": "0.0.0-dev.20261020042602.g1c1ec01",
26
26
  "d3-scale": "^4.0.2",
27
27
  "d3-time": "^3.1.0"
28
28
  },
package/src/capacity.ts CHANGED
@@ -165,12 +165,14 @@ export function estimateCapacitySuffixWidth(
165
165
  // no separator gap, glyph width approx. one character.
166
166
  return (text.length + 1) * fontSizePx * 0.58;
167
167
  }
168
- // 0.1em separator + 1em glyph. Estimating the glyph as 1em (rather than
169
- // 0.58em, the per-character width) is intentional: SVG icons render at
170
- // their full font-size square, and most Unicode literals authors use for
171
- // capacity (★, 💰, ⚙) similarly read at near-em widths.
168
+ // Gap + 1em glyph. Estimating the glyph as 1em (rather than 0.58em, the
169
+ // per-character width) is intentional: SVG icons render at their full
170
+ // font-size square, and most Unicode literals authors use for capacity
171
+ // (★, 💰, ⚙) similarly read at near-em widths. A built-in SVG icon sits
172
+ // `CAPACITY_ICON_GAP_EM` past the number; a literal flows `0.1em` after
173
+ // it inside the `<text>`.
172
174
  const glyphWidthEm = 1.0;
173
- const gapEm = 0.1;
175
+ const gapEm = icon.kind === 'builtin' ? CAPACITY_ICON_GAP_EM : 0.1;
174
176
  return text.length * fontSizePx * 0.58 + (gapEm + glyphWidthEm) * fontSizePx;
175
177
  }
176
178
 
@@ -184,18 +186,12 @@ export function estimateCapacitySuffixWidth(
184
186
  export const META_SUFFIX_DX_EM = 0.6;
185
187
 
186
188
  /**
187
- * Tighter em-per-char width estimate used inside `renderItemMetaLine`
188
- * for positioning a built-in SVG icon after a metaText + number. Layout
189
- * still uses 0.58 em/char to pessimistically reserve bar width for
190
- * spill detection (so `metaText 5×` always fits its row); the renderer
191
- * paints the icon at a tighter offset so there's no visible
192
- * dead-space between the rendered number and its glyph. Lands inside
193
- * the layout reservation either way (`0.5 < 0.58`).
189
+ * Gap (em) between a capacity number and its built-in SVG icon. The icon's
190
+ * x is an estimate (the number's width at 0.58 em/char) while the number is
191
+ * drawn with real font metrics, and common UI fonts draw digits at up to
192
+ * ~0.64 em, so the gap has to absorb that error and still read as space.
194
193
  */
195
- const META_ICON_EM_PER_CHAR = 0.5;
196
-
197
- /** Gap (em) between a capacity number and its built-in SVG icon. */
198
- const CAPACITY_ICON_GAP_EM = 0.1;
194
+ const CAPACITY_ICON_GAP_EM = 0.25;
199
195
 
200
196
  /**
201
197
  * Where a built-in SVG capacity icon (person, people, points, time) sits:
@@ -208,12 +204,13 @@ const CAPACITY_ICON_GAP_EM = 0.1;
208
204
  * its x one at a time, in this order, exactly as it did when it measured
209
205
  * them itself; a pre-summed offset can round differently at the last bit.
210
206
  *
211
- * With `metaText`, the run is the item meta line: the meta text's width,
212
- * the `META_SUFFIX_DX_EM` separator, the number's width (both widths at
213
- * the tighter `META_ICON_EM_PER_CHAR` so the icon hugs the number), then
214
- * the gap. Without it, the number starts the run (an item with no meta
215
- * text, or a lane badge): its `estimateTextWidth` width, then the gap.
216
- * The gap is always 0.1 em.
207
+ * With `metaText`, the run is the item meta line: the meta text's
208
+ * `estimateTextWidth` width and the `META_SUFFIX_DX_EM` separator (the
209
+ * first two terms are where the renderer starts the number), then the
210
+ * number's width and the gap. Without it, the number starts the run (an
211
+ * item with no meta text, or a lane badge): its width, then the gap.
212
+ * Both paths place the icon from the same number estimate and gap, so an
213
+ * item suffix reads like a lane badge.
217
214
  */
218
215
  export function capacityIconDxTerms(
219
216
  text: string,
@@ -224,8 +221,12 @@ export function capacityIconDxTerms(
224
221
  if (icon?.kind !== 'builtin' || icon.name === 'multiplier') return undefined;
225
222
  const gapPx = fontSizePx * CAPACITY_ICON_GAP_EM;
226
223
  if (metaText) {
227
- const tightWidth = (s: string) => s.length * fontSizePx * META_ICON_EM_PER_CHAR;
228
- return [tightWidth(metaText), fontSizePx * META_SUFFIX_DX_EM, tightWidth(text), gapPx];
224
+ return [
225
+ estimateTextWidth(metaText, fontSizePx),
226
+ fontSizePx * META_SUFFIX_DX_EM,
227
+ estimateTextWidth(text, fontSizePx),
228
+ gapPx,
229
+ ];
229
230
  }
230
231
  return [estimateTextWidth(text, fontSizePx), gapPx];
231
232
  }
@@ -19,19 +19,39 @@
19
19
  // chip. This means short labels naturally shrink-wrap their
20
20
  // chiclet rather than reserving a wide whitespace column.
21
21
  //
22
- // The per-char width factors are calibrated to actual avg-char-width
23
- // of the system sans-serif stack at the relevant font sizes / weights.
24
- // They lean slightly conservative (~5 % over actual) so the chiclet
25
- // never visually clips its label even when the runtime font's metrics
26
- // exceed the calibration target.
27
-
28
- /**
29
- * Px-per-char for a 12 pt 600-weight title in `FONT_STACK.sans`.
30
- * Calibrated against system-ui at 12 pt bold (~6.3 px/char actual);
31
- * 6.5 leaves a small safety margin without producing a wide gap to
32
- * the owner / badge that follows.
33
- */
34
- export const FRAME_TAB_TITLE_PX_PER_CHAR = 6.5;
22
+ // The width factors are calibrated to the system sans-serif stack at
23
+ // the relevant font sizes / weights. The title uses per-character
24
+ // width classes rather than one average: a flat average let wide
25
+ // titles ("Headcount") overrun their estimate by most of the inner
26
+ // gap while narrow ones ("Sprint pts") reserved a wide hole.
27
+
28
+ /** Font size (px) of the 600-weight title in `FONT_STACK.sans`. */
29
+ export const FRAME_TAB_TITLE_FONT_SIZE_PX = 12;
30
+
31
+ // Title width classes, in em. Calibrated against system-ui (Inter) at
32
+ // 12px semibold, the widest common resolution of the stack, so other
33
+ // system fonts land at or slightly inside the estimate.
34
+ const TITLE_NARROW_EM = 0.28;
35
+ const TITLE_SEMI_NARROW_EM = 0.4;
36
+ const TITLE_WIDE_EM = 0.9;
37
+ const TITLE_CAPITAL_OR_DIGIT_EM = 0.7;
38
+ const TITLE_DEFAULT_EM = 0.6;
39
+ const TITLE_NARROW_CHARS = new Set(" ijlI.,:;!'|`");
40
+ const TITLE_SEMI_NARROW_CHARS = new Set('frt()[]{}/\\1-_"');
41
+ const TITLE_WIDE_CHARS = new Set('mwMW@%');
42
+
43
+ /** Estimated rendered width (px) of a frame-tab title. */
44
+ export function estimateFrameTabTitleWidth(title: string): number {
45
+ let em = 0;
46
+ for (const ch of title) {
47
+ if (TITLE_NARROW_CHARS.has(ch)) em += TITLE_NARROW_EM;
48
+ else if (TITLE_SEMI_NARROW_CHARS.has(ch)) em += TITLE_SEMI_NARROW_EM;
49
+ else if (TITLE_WIDE_CHARS.has(ch)) em += TITLE_WIDE_EM;
50
+ else if (/[A-Z0-9]/.test(ch)) em += TITLE_CAPITAL_OR_DIGIT_EM;
51
+ else em += TITLE_DEFAULT_EM;
52
+ }
53
+ return em * FRAME_TAB_TITLE_FONT_SIZE_PX;
54
+ }
35
55
 
36
56
  /**
37
57
  * Px-per-char for a 10 pt regular owner suffix in `FONT_STACK.sans`.
@@ -137,7 +157,7 @@ export function frameTabGeometry(
137
157
  const tabX = boxX + FRAME_TAB_OFFSET_FROM_BOX_PX;
138
158
  const titleX = tabX + FRAME_TAB_LEFT_INSET_PX;
139
159
 
140
- const titleTextWidth = title.length * FRAME_TAB_TITLE_PX_PER_CHAR;
160
+ const titleTextWidth = estimateFrameTabTitleWidth(title);
141
161
  let cursorX = titleX + titleTextWidth;
142
162
 
143
163
  let ownerTextWidth = 0;
package/src/index.ts CHANGED
@@ -31,6 +31,7 @@ export {
31
31
  ARROW_HEAD_WIDTH_PX,
32
32
  } from './edge-routing.js';
33
33
  export {
34
+ estimateFrameTabTitleWidth,
34
35
  FRAME_TAB_INNER_GAP_PX,
35
36
  FRAME_TAB_LEFT_INSET_PX,
36
37
  FRAME_TAB_MIN_WIDTH_PX,
@@ -39,7 +40,7 @@ export {
39
40
  FRAME_TAB_OWNER_GLYPH_PX,
40
41
  FRAME_TAB_OWNER_PX_PER_CHAR,
41
42
  FRAME_TAB_RIGHT_INSET_PX,
42
- FRAME_TAB_TITLE_PX_PER_CHAR,
43
+ FRAME_TAB_TITLE_FONT_SIZE_PX,
43
44
  type FrameTabGeometry,
44
45
  frameTabGeometry,
45
46
  } from './frame-tab-geometry.js';
@@ -15,6 +15,7 @@ import {
15
15
  capacityIconDxTerms,
16
16
  estimateCapacitySuffixWidth,
17
17
  formatCapacityNumber,
18
+ META_SUFFIX_DX_EM,
18
19
  parseCapacityValue,
19
20
  resolveCapacityIcon,
20
21
  } from '../capacity.js';
@@ -323,8 +324,14 @@ export function resolveItemMeta(
323
324
  // Add a small leading separator (a single space's worth) only when
324
325
  // the suffix sits next to existing meta text, so `m 5×` has air
325
326
  // between the driver token and the count. Standalone suffix needs no
326
- // leading separator.
327
- const separatorWidth = metaText ? estimateTextWidth(' ', META_FONT_SIZE_PX_LOCAL) : 0;
327
+ // leading separator. A built-in SVG icon is placed past exactly the
328
+ // `META_SUFFIX_DX_EM` separator, so reserve that, not a space's
329
+ // estimate, or the icon ends past the reservation.
330
+ const separatorPx =
331
+ iconDxTerms !== undefined
332
+ ? META_FONT_SIZE_PX_LOCAL * META_SUFFIX_DX_EM
333
+ : estimateTextWidth(' ', META_FONT_SIZE_PX_LOCAL);
334
+ const separatorWidth = metaText ? separatorPx : 0;
328
335
  capacityTrailingWidth =
329
336
  separatorWidth +
330
337
  estimateCapacitySuffixWidth(capacityText, capacityIcon, META_FONT_SIZE_PX_LOCAL);