@nowline/layout 0.0.0-dev.20261018161512.gdb10ecc → 0.0.0-dev.20261019024645.g95fa9ba

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.
@@ -0,0 +1,18 @@
1
+ import type { PositionedIncludeRegion, PositionedMilestone, PositionedSwimlane, PositionedTrackChild } from './types.js';
2
+ /**
3
+ * Move a positioned item, group or parallel (and everything inside it)
4
+ * down by `dy`: its box, its inline-date glyphs, and for an item its
5
+ * label chips and `before:` overflow box.
6
+ */
7
+ export declare function translateTrackChildY(child: PositionedTrackChild, dy: number): void;
8
+ /** Move a swimlane band, its children and its nested lanes down by `dy`. */
9
+ export declare function translateSwimlaneY(lane: PositionedSwimlane, dy: number): void;
10
+ /** Move an include region, its nested lanes and its own markers down by `dy`. */
11
+ export declare function translateIncludeY(region: PositionedIncludeRegion, dy: number): void;
12
+ /**
13
+ * Move the chart part of a host milestone down by `dy`: its cut line and
14
+ * its slack arrows. Its diamond and label sit in the header's marker band,
15
+ * outside the chart, and stay.
16
+ */
17
+ export declare function translateMilestoneChartY(milestone: PositionedMilestone, dy: number): void;
18
+ //# sourceMappingURL=chart-translation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-translation.d.ts","sourceRoot":"","sources":["../src/chart-translation.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACR,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACvB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CASlF;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAI7E;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAenF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,mBAAmB,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAIzF"}
@@ -0,0 +1,77 @@
1
+ // The chart's one vertical translation.
2
+ //
3
+ // Placement lays the chart out in local coordinates, with its top at y 0
4
+ // (`phases/place.ts`). Its top on the canvas is known only once the header
5
+ // rows above it stop growing (a now-pill row reserved on an extended axis,
6
+ // a marker band the final pack grew), so finalize translates the whole
7
+ // chart there, once, on every layout (`growHeaderRows`, f7). An isolated
8
+ // region also moves its own lanes down below its marker band, once, while
9
+ // it is placed (`include-node.ts`).
10
+ //
11
+ // Every y the chart's positioned model carries is listed exactly once,
12
+ // here. A new y-bearing field on `PositionedItem` / `PositionedGroup` /
13
+ // `PositionedParallel` has to join it or it stays at its local y, a chart
14
+ // top above where it belongs on every render.
15
+ //
16
+ // Arrow attach ports are deliberately NOT stored anywhere that needs
17
+ // translating: they are derived from each item's final box when the
18
+ // arrows are built (see `item-port-geometry.ts`).
19
+ /**
20
+ * Move a positioned item, group or parallel (and everything inside it)
21
+ * down by `dy`: its box, its inline-date glyphs, and for an item its
22
+ * label chips and `before:` overflow box.
23
+ */
24
+ export function translateTrackChildY(child, dy) {
25
+ child.box.y += dy;
26
+ for (const pin of child.inlineDatePins ?? [])
27
+ pin.glyphTopLeft.y += dy;
28
+ if (child.kind === 'item') {
29
+ for (const chip of child.labelChips)
30
+ chip.box.y += dy;
31
+ if (child.overflowBox)
32
+ child.overflowBox.y += dy;
33
+ return;
34
+ }
35
+ for (const c of child.children)
36
+ translateTrackChildY(c, dy);
37
+ }
38
+ /** Move a swimlane band, its children and its nested lanes down by `dy`. */
39
+ export function translateSwimlaneY(lane, dy) {
40
+ lane.box.y += dy;
41
+ for (const child of lane.children)
42
+ translateTrackChildY(child, dy);
43
+ for (const nested of lane.nested)
44
+ translateSwimlaneY(nested, dy);
45
+ }
46
+ /** Move an include region, its nested lanes and its own markers down by `dy`. */
47
+ export function translateIncludeY(region, dy) {
48
+ region.box.y += dy;
49
+ for (const lane of region.nestedSwimlanes)
50
+ translateSwimlaneY(lane, dy);
51
+ for (const marker of [...(region.anchors ?? []), ...(region.milestones ?? [])]) {
52
+ marker.center.y += dy;
53
+ marker.labelBox.y += dy;
54
+ marker.cutTopY += dy;
55
+ marker.cutBottomY += dy;
56
+ }
57
+ for (const milestone of region.milestones ?? []) {
58
+ for (const arrow of milestone.slackArrows ?? [])
59
+ arrow.y += dy;
60
+ }
61
+ for (const edge of region.edges ?? []) {
62
+ for (const point of edge.waypoints)
63
+ point.y += dy;
64
+ }
65
+ }
66
+ /**
67
+ * Move the chart part of a host milestone down by `dy`: its cut line and
68
+ * its slack arrows. Its diamond and label sit in the header's marker band,
69
+ * outside the chart, and stay.
70
+ */
71
+ export function translateMilestoneChartY(milestone, dy) {
72
+ milestone.cutTopY += dy;
73
+ milestone.cutBottomY += dy;
74
+ for (const arrow of milestone.slackArrows ?? [])
75
+ arrow.y += dy;
76
+ }
77
+ //# sourceMappingURL=chart-translation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-translation.js","sourceRoot":"","sources":["../src/chart-translation.ts"],"names":[],"mappings":"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"}
@@ -134,7 +134,22 @@ export interface LayoutContext {
134
134
  * runs, before milestones are positioned (f6) and anchors built (f10).
135
135
  */
136
136
  markerRowPlacements: Map<string, MarkerRowPlacement>;
137
+ /**
138
+ * The chart's top. Placement lays the chart out in local coordinates,
139
+ * with the top at 0; finalize translates every placed y once, by the
140
+ * final top, when the header rows above it stop growing (f7), and
141
+ * sets this to that top. A region's context keeps its local value.
142
+ */
137
143
  chartTopY: number;
144
+ /**
145
+ * The chart top the measure phase estimated, in canvas coordinates.
146
+ * Placement reads it only to bring a canvas y into the chart's local
147
+ * frame: a marker's estimated row centre, which a slack arrow from a
148
+ * marker predecessor starts on (`chartFrameY`). f7 translates by the
149
+ * final top, so such a y moves by the header rows' growth, the one
150
+ * shift it always took.
151
+ */
152
+ estimatedChartTopY: number;
138
153
  chartBottomY: number;
139
154
  /**
140
155
  * Y coordinate at the bottom of the last swimlane / include region.
@@ -168,8 +183,9 @@ export interface ContextSource {
168
183
  /**
169
184
  * Build a `LayoutContext` for the root file or for an isolated region.
170
185
  * `chart` passes the chart extents through unchanged: the root sets
171
- * `chartTopY` from the timeline with both bottoms at 0, a region sets all
172
- * three y fields to its inner start. The canvas width is not part of a
186
+ * `chartTopY` to the local top 0 with both bottoms at 0, a region sets all
187
+ * three y fields to its inner start; both pass the measure phase's
188
+ * estimate of the chart top. The canvas width is not part of a
173
189
  * context: placement never reads it (finalize owns the `CanvasExtent`).
174
190
  * A region passes its own footnote index, numbered on after the host's,
175
191
  * and no marker placements. The caller seeds
@@ -185,7 +201,7 @@ export declare function createLayoutContext(source: ContextSource, shared: {
185
201
  axisColumns?: AxisColumns;
186
202
  bandScale: BandScale;
187
203
  waves?: WaveLayoutState;
188
- }, chart: Pick<LayoutContext, 'chartTopY' | 'chartBottomY' | 'swimlaneBottomY'>, init: {
204
+ }, chart: Pick<LayoutContext, 'chartTopY' | 'estimatedChartTopY' | 'chartBottomY' | 'swimlaneBottomY'>, init: {
189
205
  footnotes?: FootnoteIndex;
190
206
  markerRowPlacements?: Map<string, MarkerRowPlacement>;
191
207
  }): LayoutContext;
@@ -199,4 +215,10 @@ export declare function createLayoutContext(source: ContextSource, shared: {
199
215
  export interface LayoutHelpers {
200
216
  sequenceOne: (child: ItemDeclaration | GroupBlock | ParallelBlock, cursor: TrackCursor, ctx: LayoutContext) => PositionedTrackChild;
201
217
  }
218
+ /**
219
+ * A canvas y (a marker row in the header) in the chart's local frame:
220
+ * relative to the estimated chart top, so f7's translation by the final
221
+ * top moves it by exactly the header rows' growth.
222
+ */
223
+ export declare function chartFrameY(canvasY: number, ctx: LayoutContext): number;
202
224
  //# sourceMappingURL=layout-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout-context.d.ts","sourceRoot":"","sources":["../src/layout-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout-context.d.ts","sourceRoot":"","sources":["../src/layout-context.ts"],"names":[],"mappings":"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"}
@@ -23,8 +23,9 @@ export function scheduledItemDays(ctx, item) {
23
23
  /**
24
24
  * Build a `LayoutContext` for the root file or for an isolated region.
25
25
  * `chart` passes the chart extents through unchanged: the root sets
26
- * `chartTopY` from the timeline with both bottoms at 0, a region sets all
27
- * three y fields to its inner start. The canvas width is not part of a
26
+ * `chartTopY` to the local top 0 with both bottoms at 0, a region sets all
27
+ * three y fields to its inner start; both pass the measure phase's
28
+ * estimate of the chart top. The canvas width is not part of a
28
29
  * context: placement never reads it (finalize owns the `CanvasExtent`).
29
30
  * A region passes its own footnote index, numbered on after the host's,
30
31
  * and no marker placements. The caller seeds
@@ -64,6 +65,7 @@ export function createLayoutContext(source, shared, chart, init) {
64
65
  slackCorridors: [],
65
66
  markerRowPlacements: init.markerRowPlacements ?? new Map(),
66
67
  chartTopY: chart.chartTopY,
68
+ estimatedChartTopY: chart.estimatedChartTopY,
67
69
  chartBottomY: chart.chartBottomY,
68
70
  swimlaneBottomY: chart.swimlaneBottomY,
69
71
  nextParallelId: 0,
@@ -74,4 +76,12 @@ export function createLayoutContext(source, shared, chart, init) {
74
76
  ...(shared.waves ? { waves: shared.waves } : {}),
75
77
  };
76
78
  }
79
+ /**
80
+ * A canvas y (a marker row in the header) in the chart's local frame:
81
+ * relative to the estimated chart top, so f7's translation by the final
82
+ * top moves it by exactly the header rows' growth.
83
+ */
84
+ export function chartFrameY(canvasY, ctx) {
85
+ return canvasY - ctx.estimatedChartTopY;
86
+ }
77
87
  //# sourceMappingURL=layout-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout-context.js","sourceRoot":"","sources":["../src/layout-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout-context.js","sourceRoot":"","sources":["../src/layout-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"include-node.d.ts","sourceRoot":"","sources":["../../src/nodes/include-node.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAuB,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGnG,OAAO,KAAK,EAAe,uBAAuB,EAAsB,MAAM,aAAa,CAAC;AAsB5F,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,cAAc,EAAE,EACzB,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,MAAM,GACpB;IAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAgGjF;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAShG;AAED,4FAA4F;AAC5F,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAY/F"}
1
+ {"version":3,"file":"include-node.d.ts","sourceRoot":"","sources":["../../src/nodes/include-node.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAuB,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEnG,OAAO,KAAK,EAAe,uBAAuB,EAAsB,MAAM,aAAa,CAAC;AAsB5F,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,cAAc,EAAE,EACzB,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,MAAM,GACpB;IAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAiGjF;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAShG;AAED,4FAA4F;AAC5F,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAY/F"}
@@ -4,9 +4,9 @@
4
4
  // vertically with the tick row above the region. The label tab is
5
5
  // reserved 18 px above the first region; subsequent regions are
6
6
  // separated by GAP_BETWEEN_REGIONS px.
7
+ import { translateSwimlaneY } from '../chart-translation.js';
7
8
  import { includeChromeGeometry } from '../include-chrome-geometry.js';
8
9
  import { createLayoutContext } from '../layout-context.js';
9
- import { shiftSwimlaneY } from '../positioned-shift.js';
10
10
  import { resolveStyle } from '../style-resolution.js';
11
11
  import { seedWaveEdges } from '../wave-layout.js';
12
12
  import { maxLeafItemRightX } from './content-extent.js';
@@ -47,6 +47,7 @@ export function buildIncludeRegions(regions, ctx, startY, helpers, chartRightX)
47
47
  waves: ctx.waves,
48
48
  }, {
49
49
  chartTopY: innerStartY,
50
+ estimatedChartTopY: ctx.estimatedChartTopY,
50
51
  chartBottomY: innerStartY,
51
52
  swimlaneBottomY: innerStartY,
52
53
  }, { footnotes: indexFootnotes(region.content.footnotes, footnotesBefore) });
@@ -79,7 +80,7 @@ export function buildIncludeRegions(regions, ctx, startY, helpers, chartRightX)
79
80
  const markers = placeRegionMarkers(region, childCtx, y, innerStartY, cursorY, chartRightX);
80
81
  if (markers.laneShift !== 0) {
81
82
  for (const lane of nestedSwimlanes)
82
- shiftSwimlaneY(lane, markers.laneShift);
83
+ translateSwimlaneY(lane, markers.laneShift);
83
84
  cursorY += markers.laneShift;
84
85
  }
85
86
  const innerEndY = cursorY;
@@ -1 +1 @@
1
- {"version":3,"file":"include-node.js","sourceRoot":"","sources":["../../src/nodes/include-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"include-node.js","sourceRoot":"","sources":["../../src/nodes/include-node.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import type { MilestoneDeclaration } from '@nowline/core';
2
- import type { LayoutContext } from '../layout-context.js';
2
+ import { type LayoutContext } from '../layout-context.js';
3
3
  import type { MarkerRowPlacement, PositionedMilestone, ResolvedStyle, SlackCorridor } from '../types.js';
4
4
  /**
5
5
  * One predecessor of a milestone with everything placement and the
6
6
  * slack-arrow pipeline need: its end in time (`endX`, also where its slack
7
7
  * or overrun line starts, specs/true-width-layout.md §3.5), its attach y
8
- * (bar bottom strip when text spills, nominal row midline otherwise), and
8
+ * in the chart's local frame (bar bottom strip when text spills, nominal
9
+ * row midline otherwise; a marker's estimated row centre), and
9
10
  * its flow key (used to dedupe so a chained-flow's siblings collapse to
10
11
  * the last entry).
11
12
  */
@@ -18,7 +19,11 @@ export interface MilestonePredecessor {
18
19
  * its slack or overrun line starts here.
19
20
  */
20
21
  endX: number;
21
- y: number;
22
+ /**
23
+ * Undefined when the reference has no y: a wave, or a marker whose
24
+ * midpoint is not written yet.
25
+ */
26
+ y: number | undefined;
22
27
  flowKey: string;
23
28
  /**
24
29
  * Set when `ref` names a wave: `endX` is the seeded wave end `E_k`.
@@ -109,7 +114,7 @@ export declare function positionMilestones(placements: readonly MilestonePlaceme
109
114
  * `MilestoneNode.place` would emit on `slackArrows`, so the row-packer
110
115
  * and the renderer agree on every arrow's geometry.
111
116
  *
112
- * Each non-binding predecessor (`x < maxEnd`, `y > 0`) becomes one
117
+ * Each non-binding predecessor (`x < maxEnd`, with a y) becomes one
113
118
  * corridor; date-pinned milestones whose latest predecessor overruns
114
119
  * the date contribute a single back-pointing corridor between the
115
120
  * pinned column and the predecessor's right edge. Wave predecessors draw
@@ -1 +1 @@
1
- {"version":3,"file":"milestone-node.d.ts","sourceRoot":"","sources":["../../src/nodes/milestone-node.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAG1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EACR,kBAAkB,EAElB,mBAAmB,EACnB,aAAa,EACb,aAAa,EAChB,MAAM,aAAa,CAAC;AAIrB;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CACxC,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,aAAa,GACnB,oBAAoB,EAAE,CAuBxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,oBAAoB,EAAE,CAO5F;AAUD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,oBAAoB,GAAG,IAAI,CAOjG;AAiBD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,aAAa;aAEF,EAAE,EAAE,MAAM;aACV,SAAS,EAAE,oBAAoB;IAFnD,YACoB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,oBAAoB,EAC/C;IAEJ;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,kBAAkB,GAAG,IAAI,CA2GnD;CACJ;AAED,wBAAgB,eAAe,CAC3B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC7C,GAAG,EAAE,aAAa,GACnB,kBAAkB,EAAE,CAOtB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAC9B,UAAU,EAAE,SAAS,kBAAkB,EAAE,EACzC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAC9C,mBAAmB,EAAE,CA0BvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACjC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,eAAe,EAAE,oBAAoB,CAAC,EACrE,GAAG,EAAE,aAAa,GACnB,aAAa,EAAE,CA+CjB"}
1
+ {"version":3,"file":"milestone-node.d.ts","sourceRoot":"","sources":["../../src/nodes/milestone-node.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAG1D,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,KAAK,EACR,kBAAkB,EAElB,mBAAmB,EACnB,aAAa,EACb,aAAa,EAChB,MAAM,aAAa,CAAC;AAIrB;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CACxC,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,aAAa,GACnB,oBAAoB,EAAE,CA2BxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,oBAAoB,EAAE,CAO5F;AAaD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,oBAAoB,GAAG,IAAI,CAOjG;AAiBD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,aAAa;aAEF,EAAE,EAAE,MAAM;aACV,SAAS,EAAE,oBAAoB;IAFnD,YACoB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,oBAAoB,EAC/C;IAEJ;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,kBAAkB,GAAG,IAAI,CA2GnD;CACJ;AAED,wBAAgB,eAAe,CAC3B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC7C,GAAG,EAAE,aAAa,GACnB,kBAAkB,EAAE,CAOtB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAC9B,UAAU,EAAE,SAAS,kBAAkB,EAAE,EACzC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAC9C,mBAAmB,EAAE,CA0BvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACjC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,eAAe,EAAE,oBAAoB,CAAC,EACrE,GAAG,EAAE,aAAa,GACnB,aAAa,EAAE,CA+CjB"}
@@ -13,6 +13,7 @@
13
13
  // placement and its row (`placeMarkers`, f6).
14
14
  import { formatIsoDate, parseIsoDate, propValue, propValues } from '../dsl-utils.js';
15
15
  import { itemSlackAttachY } from '../item-port-geometry.js';
16
+ import { chartFrameY } from '../layout-context.js';
16
17
  import { resolveStyle } from '../style-resolution.js';
17
18
  import { isOnWaveBoundary, WAVE_EDGE_TOLERANCE_PX } from '../wave-layout.js';
18
19
  import { MARKER_DIAMOND_RADIUS_PX } from './marker-geometry.js';
@@ -33,9 +34,13 @@ export function collectMilestonePredecessors(refs, ctx) {
33
34
  const endX = ctx.entityRightEdges.get(ref);
34
35
  if (endX === undefined)
35
36
  continue;
37
+ // A marker's midpoint is a canvas y in the header's marker band.
38
+ const markerY = item ? undefined : ctx.entityMidpoints.get(ref)?.y;
36
39
  const y = item
37
40
  ? itemSlackAttachY(item, ctx.bandScale.bandwidth())
38
- : (ctx.entityMidpoints.get(ref)?.y ?? 0);
41
+ : markerY === undefined
42
+ ? undefined
43
+ : chartFrameY(markerY, ctx);
39
44
  // A wave reads its seeded end `E_k` (logical, not inset), so a
40
45
  // milestone bound by it sits exactly on the boundary.
41
46
  if (!item && ctx.waves?.plan.index.has(ref)) {
@@ -72,7 +77,7 @@ export function lastPredecessorPerFlow(preds) {
72
77
  * draws a slack arrow: it ends before the milestone. A wave draws none.
73
78
  */
74
79
  function hasSlackArrow(p, maxEnd) {
75
- return p.endX < maxEnd && p.y > 0 && p.wave === undefined;
80
+ return p.endX < maxEnd && p.y !== undefined && p.wave === undefined;
76
81
  }
77
82
  /**
78
83
  * The predecessor a dated milestone's overrun arrow starts from: the one
@@ -162,7 +167,7 @@ export class MilestoneNode {
162
167
  slackArrows = [
163
168
  {
164
169
  x: maxPred.endX,
165
- y: maxPred.y > 0 ? maxPred.y : estimatedCenterY,
170
+ y: maxPred.y ?? chartFrameY(estimatedCenterY, ctx),
166
171
  },
167
172
  ];
168
173
  }
@@ -288,7 +293,7 @@ export function positionMilestones(placements, rows) {
288
293
  * `MilestoneNode.place` would emit on `slackArrows`, so the row-packer
289
294
  * and the renderer agree on every arrow's geometry.
290
295
  *
291
- * Each non-binding predecessor (`x < maxEnd`, `y > 0`) becomes one
296
+ * Each non-binding predecessor (`x < maxEnd`, with a y) becomes one
292
297
  * corridor; date-pinned milestones whose latest predecessor overruns
293
298
  * the date contribute a single back-pointing corridor between the
294
299
  * pinned column and the predecessor's right edge. Wave predecessors draw
@@ -314,7 +319,7 @@ export function collectSlackCorridors(milestones, ctx) {
314
319
  continue;
315
320
  // Wave references draw no arrow, so they own no corridor.
316
321
  const maxPred = latestArrowPredecessor(dedupedPreds);
317
- if (maxPred && maxPred.endX > milestoneX && maxPred.y > 0) {
322
+ if (maxPred && maxPred.endX > milestoneX && maxPred.y !== undefined) {
318
323
  out.push({
319
324
  xStart: Math.min(maxPred.endX, milestoneX),
320
325
  xEnd: Math.max(maxPred.endX, milestoneX),
@@ -1 +1 @@
1
- {"version":3,"file":"milestone-node.js","sourceRoot":"","sources":["../../src/nodes/milestone-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"milestone-node.js","sourceRoot":"","sources":["../../src/nodes/milestone-node.ts"],"names":[],"mappings":"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"}
@@ -79,8 +79,9 @@ export type FinalizeTrace = (step: string, changed: boolean, why?: readonly stri
79
79
  * §9, F3): a leaf item bar (a bug: the schedule's extent and the placement
80
80
  * disagree), a spilled caption (its one capped column), a date-pinned marker
81
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.
82
+ * on the window end (decision 14), in the main chart or in an isolated
83
+ * region. A diamond sits on its day, so its right half passes a window that
84
+ * ends on that day.
84
85
  */
85
86
  export type TimelineExtensionCause = 'bar' | 'caption' | 'datedMarker' | 'afterMilestone';
86
87
  /**
@@ -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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"}
@@ -15,6 +15,7 @@
15
15
  // fails.
16
16
  import { AxisColumns } from '../axis-columns.js';
17
17
  import { daysBetween } from '../calendar.js';
18
+ import { translateIncludeY, translateMilestoneChartY, translateSwimlaneY, } from '../chart-translation.js';
18
19
  import { localeStrings } from '../i18n.js';
19
20
  import { buildAnchors } from '../nodes/anchor-node.js';
20
21
  import { maxLeafItemRightX, maxSpilledCaptionRightX } from '../nodes/content-extent.js';
@@ -27,7 +28,6 @@ import { positionMilestones } from '../nodes/milestone-node.js';
27
28
  import { buildNowline } from '../nodes/nowline-node.js';
28
29
  import { regionMarkerCanvasRightX } from '../nodes/region-markers.js';
29
30
  import { buildWaveLegend, buildWaves } from '../nodes/wave-node.js';
30
- import { shiftIncludeY, shiftSwimlaneY } from '../positioned-shift.js';
31
31
  import { estimateTextWidth } from '../text-measure.js';
32
32
  import { ATTRIBUTION_GLYPH_HEIGHT, ATTRIBUTION_GLYPH_WIDTH, GUTTER_PX, NOW_PILL_HEIGHT_PX, WAVE_LEGEND_GAP_PX, } from '../themes/shared.js';
33
33
  import { TimeScale } from '../time-scale.js';
@@ -376,7 +376,8 @@ function growCanvasForSpill(fx) {
376
376
  * what passes it is a spilled caption and the right half of a diamond on
377
377
  * the window's last day (specs/layout-phases.md §9, F3). Measure the
378
378
  * rightmost CONTENT BOX edge — leaf item bars (never a spilled caption,
379
- * see `maxLeafItemRightX`) and marker diamonds — and grow the window to
379
+ * see `maxLeafItemRightX`) and marker diamonds, an isolated region's own
380
+ * included — and grow the window to
380
381
  * the next tick boundary when content overflows it. A spilled caption past
381
382
  * that end grows it by one more full column at most, labelled by the
382
383
  * same rules as any other column: the item measure capped the caption to
@@ -405,6 +406,19 @@ function extendTimeline(fx) {
405
406
  else
406
407
  afterRightX = Math.max(afterRightX, m.x + m.radius);
407
408
  }
409
+ // An isolated region's own markers sit on the same axis: placement put
410
+ // them at their final centre, and the window already reaches their days.
411
+ for (const inc of includes) {
412
+ for (const a of inc.anchors ?? []) {
413
+ datedRightX = Math.max(datedRightX, a.center.x + a.radius);
414
+ }
415
+ for (const m of inc.milestones ?? []) {
416
+ if (m.fixed)
417
+ datedRightX = Math.max(datedRightX, m.center.x + m.radius);
418
+ else
419
+ afterRightX = Math.max(afterRightX, m.center.x + m.radius);
420
+ }
421
+ }
408
422
  const maxContentRightX = Math.max(barRightX, datedRightX, afterRightX);
409
423
  const tickDays = calendar.daysPerUnit(scale.unit);
410
424
  // Working-day counts on both sides of the comparison: under `show` x
@@ -604,8 +618,9 @@ function placeMarkers(fx) {
604
618
  }
605
619
  /**
606
620
  * f7 (was P12): grow the header rows to what the final axis and the final
607
- * marker pack need, and translate every chart coordinate below them, in
608
- * one shift. The rows grow at two places: the now-pill row above the tick
621
+ * marker pack need, then translate the chart, which placement laid out
622
+ * with its top at 0, to its top below them, in one translation on every
623
+ * layout. The rows grow at two places: the now-pill row above the tick
609
624
  * panel, when f2 brought `today` into the axis (L2; the tick panel, wave
610
625
  * strip and marker band move down with it, and f5 already packed the band
611
626
  * there), and the marker band's bottom, when the final pack needs more
@@ -620,8 +635,6 @@ function growHeaderRows(fx) {
620
635
  const timeline = ctx.timeline;
621
636
  let changed = false;
622
637
  if (rowsTop.pillRowHeight !== bands.pillRowHeight) {
623
- // The box keeps its bottom here; the chart shift below moves it.
624
- timeline.box.height += timeline.box.y - rowsTop.timelineY;
625
638
  timeline.box.y = rowsTop.timelineY;
626
639
  timeline.pillRowHeight = rowsTop.pillRowHeight;
627
640
  timeline.tickPanelY = rowsTop.tickPanelY;
@@ -639,35 +652,25 @@ function growHeaderRows(fx) {
639
652
  }
640
653
  // The beside card hugs this bottom (f15).
641
654
  fx.setHeaderRowsBottom(rowsTop.markerRowY + timeline.markerRow.height);
642
- if (deltaY === 0)
643
- return changed;
644
- timeline.box.height += deltaY;
645
- fx.chartY.top += deltaY;
646
- fx.chartY.bottom += deltaY;
647
- fx.chartY.swimlaneBottom += deltaY;
648
- // `shiftSwimlaneY` moves every absolute y the positioned model
649
- // carries (see `positioned-shift.ts`). No LayoutContext map needs
650
- // a shift: item attach ports are derived from the (now-shifted)
651
- // boxes in `placedItems` when edges are built (f11), the edge maps
652
- // hold X only, itemFlowKey holds strings, marker midpoints and
653
- // markerRowPlacements are already final, and slackCorridors are
654
- // pass-2 inputs consumed during placement.
655
+ const topY = ctx.estimatedChartTopY + deltaY;
656
+ fx.chartY.top = topY;
657
+ fx.chartY.bottom += topY;
658
+ fx.chartY.swimlaneBottom += topY;
659
+ timeline.box.height = fx.chartY.bottom - timeline.box.y;
660
+ // The translation moves every y the chart's positioned model carries
661
+ // (see `chart-translation.ts`). No LayoutContext map needs it: item
662
+ // attach ports are derived from the (now-translated) boxes in
663
+ // `placedItems` when edges are built (f11), the edge maps hold x only,
664
+ // itemFlowKey holds strings, marker midpoints and markerRowPlacements
665
+ // sit in the header, and slackCorridors are pass-2 inputs consumed
666
+ // during placement.
655
667
  for (const lane of fx.chart.swimlanes)
656
- shiftSwimlaneY(lane, deltaY);
668
+ translateSwimlaneY(lane, topY);
657
669
  for (const inc of fx.chart.includes)
658
- shiftIncludeY(inc, deltaY);
659
- for (const m of need(fx.draft.milestones, 'the milestones')) {
660
- m.cutTopY = fx.chartY.top;
661
- m.cutBottomY = fx.chartY.swimlaneBottom;
662
- // Slack arrows were baked with the pre-shift attach Y when the
663
- // milestones were placed. Shift them now so they land on the same
664
- // row band as the (now-shifted) predecessor bar.
665
- if (m.slackArrows) {
666
- for (const arrow of m.slackArrows)
667
- arrow.y += deltaY;
668
- }
669
- }
670
- return true;
670
+ translateIncludeY(inc, topY);
671
+ for (const m of need(fx.draft.milestones, 'the milestones'))
672
+ translateMilestoneChartY(m, topY);
673
+ return changed;
671
674
  }
672
675
  /**
673
676
  * f8 (was P13): the mirrored bottom tick panel, directly above the