@nowline/layout 0.0.0-dev.20261020011950.gce8a91f → 0.0.0-dev.20261020015516.g0053ade

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 +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":"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"}
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.20261020015516.g0053ade",
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.20261020015516.g0053ade",
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
  }
@@ -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);