@nowline/layout 0.0.0-dev.20261018063601.gbea64f3 → 0.0.0-dev.20261018161512.gdb10ecc

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.
@@ -69,8 +69,20 @@ export interface HeaderRowsTop {
69
69
  /** How far the tick panel, wave strip and marker band move down from the measure. */
70
70
  shift: number;
71
71
  }
72
- /** Reports whether a finalize step changed something; see `setFinalizeTrace`. */
73
- export type FinalizeTrace = (step: string, changed: boolean) => void;
72
+ /**
73
+ * Reports whether a finalize step changed something and, for a step that
74
+ * says (`FinalizeContext.explain`), why; see `setFinalizeTrace`.
75
+ */
76
+ export type FinalizeTrace = (step: string, changed: boolean, why?: readonly string[]) => void;
77
+ /**
78
+ * What passed the natural window when f2 grew the axis (specs/layout-phases.md
79
+ * §9, F3): a leaf item bar (a bug: the schedule's extent and the placement
80
+ * disagree), a spilled caption (its one capped column), a date-pinned marker
81
+ * (a dated anchor or milestone on the last day), or an after-only milestone
82
+ * on the window end (decision 14). A diamond sits on its day, so its right
83
+ * half passes a window that ends on that day.
84
+ */
85
+ export type TimelineExtensionCause = 'bar' | 'caption' | 'datedMarker' | 'afterMilestone';
74
86
  /**
75
87
  * Install (or, with `undefined`, remove) the `FinalizeTrace`. Internal: the
76
88
  * coverage register (`finalize-coverage.test.ts`) records with it which
@@ -99,6 +111,7 @@ export declare class FinalizeContext {
99
111
  private band;
100
112
  private rowsTop;
101
113
  private rowsBottom;
114
+ private why;
102
115
  constructor(file: NowlineFile, resolved: ResolveResult, options: LayoutOptions, scope: RoadmapScope, window: DateWindow, measured: MeasuredRoadmap, chart: PlacedChart);
103
116
  /** The placement context of the kept pass. */
104
117
  get ctx(): LayoutContext;
@@ -123,6 +136,8 @@ export declare class FinalizeContext {
123
136
  headerRowsBottom(): number;
124
137
  /** Set the bottom of the grown header rows (f7 only). */
125
138
  setHeaderRowsBottom(y: number): void;
139
+ /** Say why the running step changed something; its report carries it. */
140
+ explain(why: readonly string[]): void;
126
141
  /** Report a step's effect to the trace, when one is installed. */
127
142
  report(step: string, changed: boolean): void;
128
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"finalize.d.ts","sourceRoot":"","sources":["../../src/phases/finalize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finalize.d.ts","sourceRoot":"","sources":["../../src/phases/finalize.ts"],"names":[],"mappings":"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"}
@@ -106,6 +106,7 @@ export class FinalizeContext {
106
106
  band;
107
107
  rowsTop;
108
108
  rowsBottom;
109
+ why;
109
110
  constructor(file, resolved, options, scope, window, measured, chart) {
110
111
  this.file = file;
111
112
  this.resolved = resolved;
@@ -205,9 +206,14 @@ export class FinalizeContext {
205
206
  }
206
207
  this.rowsBottom = y;
207
208
  }
209
+ /** Say why the running step changed something; its report carries it. */
210
+ explain(why) {
211
+ this.why = why;
212
+ }
208
213
  /** Report a step's effect to the trace, when one is installed. */
209
214
  report(step, changed) {
210
- finalizeTrace?.(step, changed);
215
+ finalizeTrace?.(step, changed, this.why);
216
+ this.why = undefined;
211
217
  }
212
218
  }
213
219
  /**
@@ -366,12 +372,12 @@ function growCanvasForSpill(fx) {
366
372
  }
367
373
  /**
368
374
  * f2 (was P7): extend the axis when content passes the natural window.
369
- * The window only knows logical bar durations; caption spill, dependency
370
- * slack and floating (`after:`) markers can push real content further
371
- * right once the lanes and regions are placed. Measure the rightmost
372
- * CONTENT BOX edge — leaf item bars (never a spilled caption, see
373
- * `maxLeafItemRightX`) and marker diamonds — and grow the window to the
374
- * next tick boundary when content overflows it. A spilled caption past
375
+ * The window is engine C's extent, which every bar's dates fall inside;
376
+ * what passes it is a spilled caption and the right half of a diamond on
377
+ * the window's last day (specs/layout-phases.md §9, F3). Measure the
378
+ * rightmost CONTENT BOX edge — leaf item bars (never a spilled caption,
379
+ * see `maxLeafItemRightX`) and marker diamonds — and grow the window to
380
+ * the next tick boundary when content overflows it. A spilled caption past
375
381
  * that end grows it by one more full column at most, labelled by the
376
382
  * same rules as any other column: the item measure capped the caption to
377
383
  * end inside it (`AxisColumns.captionCapX`). This is driven
@@ -384,16 +390,22 @@ function extendTimeline(fx) {
384
390
  const { calendar, preset: scale, startDate, spanDays, nonWorking } = fx.window;
385
391
  const { originX, ppd } = fx.measured.axis;
386
392
  const timeline = fx.measured.timeline;
387
- let maxContentRightX = maxLeafItemRightX(swimlanes);
393
+ let barRightX = maxLeafItemRightX(swimlanes);
388
394
  for (const inc of includes) {
389
- maxContentRightX = Math.max(maxContentRightX, maxLeafItemRightX(inc.nestedSwimlanes));
395
+ barRightX = Math.max(barRightX, maxLeafItemRightX(inc.nestedSwimlanes));
390
396
  }
397
+ let datedRightX = 0;
391
398
  for (const e of fx.measured.markers.datePinned) {
392
- maxContentRightX = Math.max(maxContentRightX, e.centerX + e.radius);
399
+ datedRightX = Math.max(datedRightX, e.centerX + e.radius);
393
400
  }
401
+ let afterRightX = 0;
394
402
  for (const m of milestones) {
395
- maxContentRightX = Math.max(maxContentRightX, m.x + m.radius);
403
+ if (m.fixed)
404
+ datedRightX = Math.max(datedRightX, m.x + m.radius);
405
+ else
406
+ afterRightX = Math.max(afterRightX, m.x + m.radius);
396
407
  }
408
+ const maxContentRightX = Math.max(barRightX, datedRightX, afterRightX);
397
409
  const tickDays = calendar.daysPerUnit(scale.unit);
398
410
  // Working-day counts on both sides of the comparison: under `show` x
399
411
  // is linear in calendar days, so the overflow is read back through
@@ -416,8 +428,8 @@ function extendTimeline(fx) {
416
428
  for (const inc of includes) {
417
429
  captionRightX = Math.max(captionRightX, maxSpilledCaptionRightX(inc.nestedSwimlanes));
418
430
  }
431
+ const columns = new AxisColumns(fx.window, fx.scale);
419
432
  if (captionRightX > 0) {
420
- const columns = new AxisColumns(fx.window, fx.scale);
421
433
  const axisDays = Math.max(spanDays, paddedDays);
422
434
  if (columns.isPast(captionRightX, axisDays)) {
423
435
  paddedDays = Math.max(paddedDays, Math.min(columns.boundaryAtOrAfterX(captionRightX), columns.captionColumn(axisDays).end));
@@ -425,6 +437,14 @@ function extendTimeline(fx) {
425
437
  }
426
438
  let extended = false;
427
439
  if (paddedDays > spanDays) {
440
+ // For the trace: every kind of content past the natural window.
441
+ const rightX = {
442
+ bar: barRightX,
443
+ caption: captionRightX,
444
+ datedMarker: datedRightX,
445
+ afterMilestone: afterRightX,
446
+ };
447
+ fx.explain(Object.keys(rightX).filter((cause) => rightX[cause] > 0 && columns.isPast(rightX[cause], spanDays)));
428
448
  const extendedEndDate = calendar.dateAtWorkingIndex(startDate, paddedDays);
429
449
  const extendedWidth = fx.scale.showsNonWorking
430
450
  ? daysBetween(startDate, extendedEndDate) * ppd
@@ -1 +1 @@
1
- {"version":3,"file":"finalize.js","sourceRoot":"","sources":["../../src/phases/finalize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finalize.js","sourceRoot":"","sources":["../../src/phases/finalize.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.20261018063601.gbea64f3",
3
+ "version": "0.0.0-dev.20261018161512.gdb10ecc",
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.20261018063601.gbea64f3",
25
+ "@nowline/core": "0.0.0-dev.20261018161512.gdb10ecc",
26
26
  "d3-scale": "^4.0.2",
27
27
  "d3-time": "^3.1.0"
28
28
  },
@@ -150,8 +150,21 @@ export interface HeaderRowsTop {
150
150
  shift: number;
151
151
  }
152
152
 
153
- /** Reports whether a finalize step changed something; see `setFinalizeTrace`. */
154
- export type FinalizeTrace = (step: string, changed: boolean) => void;
153
+ /**
154
+ * Reports whether a finalize step changed something and, for a step that
155
+ * says (`FinalizeContext.explain`), why; see `setFinalizeTrace`.
156
+ */
157
+ export type FinalizeTrace = (step: string, changed: boolean, why?: readonly string[]) => void;
158
+
159
+ /**
160
+ * What passed the natural window when f2 grew the axis (specs/layout-phases.md
161
+ * §9, F3): a leaf item bar (a bug: the schedule's extent and the placement
162
+ * disagree), a spilled caption (its one capped column), a date-pinned marker
163
+ * (a dated anchor or milestone on the last day), or an after-only milestone
164
+ * on the window end (decision 14). A diamond sits on its day, so its right
165
+ * half passes a window that ends on that day.
166
+ */
167
+ export type TimelineExtensionCause = 'bar' | 'caption' | 'datedMarker' | 'afterMilestone';
155
168
 
156
169
  let finalizeTrace: FinalizeTrace | undefined;
157
170
 
@@ -175,6 +188,7 @@ export class FinalizeContext {
175
188
  private band: MarkerBand | undefined;
176
189
  private rowsTop: HeaderRowsTop | undefined;
177
190
  private rowsBottom: number | undefined;
191
+ private why: readonly string[] | undefined;
178
192
 
179
193
  constructor(
180
194
  readonly file: NowlineFile,
@@ -291,9 +305,15 @@ export class FinalizeContext {
291
305
  this.rowsBottom = y;
292
306
  }
293
307
 
308
+ /** Say why the running step changed something; its report carries it. */
309
+ explain(why: readonly string[]): void {
310
+ this.why = why;
311
+ }
312
+
294
313
  /** Report a step's effect to the trace, when one is installed. */
295
314
  report(step: string, changed: boolean): void {
296
- finalizeTrace?.(step, changed);
315
+ finalizeTrace?.(step, changed, this.why);
316
+ this.why = undefined;
297
317
  }
298
318
  }
299
319
 
@@ -523,12 +543,12 @@ function growCanvasForSpill(fx: FinalizeContext): boolean {
523
543
 
524
544
  /**
525
545
  * f2 (was P7): extend the axis when content passes the natural window.
526
- * The window only knows logical bar durations; caption spill, dependency
527
- * slack and floating (`after:`) markers can push real content further
528
- * right once the lanes and regions are placed. Measure the rightmost
529
- * CONTENT BOX edge — leaf item bars (never a spilled caption, see
530
- * `maxLeafItemRightX`) and marker diamonds — and grow the window to the
531
- * next tick boundary when content overflows it. A spilled caption past
546
+ * The window is engine C's extent, which every bar's dates fall inside;
547
+ * what passes it is a spilled caption and the right half of a diamond on
548
+ * the window's last day (specs/layout-phases.md §9, F3). Measure the
549
+ * rightmost CONTENT BOX edge — leaf item bars (never a spilled caption,
550
+ * see `maxLeafItemRightX`) and marker diamonds — and grow the window to
551
+ * the next tick boundary when content overflows it. A spilled caption past
532
552
  * that end grows it by one more full column at most, labelled by the
533
553
  * same rules as any other column: the item measure capped the caption to
534
554
  * end inside it (`AxisColumns.captionCapX`). This is driven
@@ -541,16 +561,20 @@ function extendTimeline(fx: FinalizeContext): boolean {
541
561
  const { calendar, preset: scale, startDate, spanDays, nonWorking } = fx.window;
542
562
  const { originX, ppd } = fx.measured.axis;
543
563
  const timeline = fx.measured.timeline;
544
- let maxContentRightX = maxLeafItemRightX(swimlanes);
564
+ let barRightX = maxLeafItemRightX(swimlanes);
545
565
  for (const inc of includes) {
546
- maxContentRightX = Math.max(maxContentRightX, maxLeafItemRightX(inc.nestedSwimlanes));
566
+ barRightX = Math.max(barRightX, maxLeafItemRightX(inc.nestedSwimlanes));
547
567
  }
568
+ let datedRightX = 0;
548
569
  for (const e of fx.measured.markers.datePinned) {
549
- maxContentRightX = Math.max(maxContentRightX, e.centerX + e.radius);
570
+ datedRightX = Math.max(datedRightX, e.centerX + e.radius);
550
571
  }
572
+ let afterRightX = 0;
551
573
  for (const m of milestones) {
552
- maxContentRightX = Math.max(maxContentRightX, m.x + m.radius);
574
+ if (m.fixed) datedRightX = Math.max(datedRightX, m.x + m.radius);
575
+ else afterRightX = Math.max(afterRightX, m.x + m.radius);
553
576
  }
577
+ const maxContentRightX = Math.max(barRightX, datedRightX, afterRightX);
554
578
  const tickDays = calendar.daysPerUnit(scale.unit);
555
579
  // Working-day counts on both sides of the comparison: under `show` x
556
580
  // is linear in calendar days, so the overflow is read back through
@@ -574,8 +598,8 @@ function extendTimeline(fx: FinalizeContext): boolean {
574
598
  for (const inc of includes) {
575
599
  captionRightX = Math.max(captionRightX, maxSpilledCaptionRightX(inc.nestedSwimlanes));
576
600
  }
601
+ const columns = new AxisColumns(fx.window, fx.scale);
577
602
  if (captionRightX > 0) {
578
- const columns = new AxisColumns(fx.window, fx.scale);
579
603
  const axisDays = Math.max(spanDays, paddedDays);
580
604
  if (columns.isPast(captionRightX, axisDays)) {
581
605
  paddedDays = Math.max(
@@ -589,6 +613,18 @@ function extendTimeline(fx: FinalizeContext): boolean {
589
613
  }
590
614
  let extended = false;
591
615
  if (paddedDays > spanDays) {
616
+ // For the trace: every kind of content past the natural window.
617
+ const rightX: Record<TimelineExtensionCause, number> = {
618
+ bar: barRightX,
619
+ caption: captionRightX,
620
+ datedMarker: datedRightX,
621
+ afterMilestone: afterRightX,
622
+ };
623
+ fx.explain(
624
+ (Object.keys(rightX) as TimelineExtensionCause[]).filter(
625
+ (cause) => rightX[cause] > 0 && columns.isPast(rightX[cause], spanDays),
626
+ ),
627
+ );
592
628
  const extendedEndDate = calendar.dateAtWorkingIndex(startDate, paddedDays);
593
629
  const extendedWidth = fx.scale.showsNonWorking
594
630
  ? daysBetween(startDate, extendedEndDate) * ppd