@nowline/layout 0.0.0-dev.20261014001415.g49e010f → 0.0.0-dev.20261014154114.g5da7d2a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"renderable.d.ts","sourceRoot":"","sources":["../src/renderable.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,KAAK;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC1B;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc;IAChD;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU,CAAC,WAAW;IACnC,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,aAAa,CAAC;IAC5C,gEAAgE;IAChE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,GAAG,WAAW,CAAC;CACxD"}
1
+ {"version":3,"file":"renderable.d.ts","sourceRoot":"","sources":["../src/renderable.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,KAAK;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC1B;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc;IAChD;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU,CAAC,WAAW;IACnC,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,aAAa,CAAC;IAC5C,gEAAgE;IAChE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,GAAG,WAAW,CAAC;CACxD"}
@@ -14,9 +14,8 @@
14
14
  // Recursively places children inside this call.
15
15
  //
16
16
  // `place` may invoke `measure` again — implementations should make
17
- // `measure` cheap. The production nodes (`ItemNode`, `SwimlaneNode`,
18
- // etc. under `nodes/`) follow this pattern: place re-measures, but
19
- // measure is O(content) without I/O.
17
+ // `measure` cheap: O(content), without I/O. Of the production nodes
18
+ // only `ItemNode` implements the interface (below).
20
19
  //
21
20
  // Which nodes measure (specs/layout-phases.md, §3.6 and §3.7):
22
21
  //
@@ -1 +1 @@
1
- {"version":3,"file":"renderable.js","sourceRoot":"","sources":["../src/renderable.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,oEAAoE;AACpE,sEAAsE;AACtE,EAAE;AACF,oDAAoD;AACpD,EAAE;AACF,qCAAqC;AACrC,sEAAsE;AACtE,iEAAiE;AACjE,EAAE;AACF,yCAAyC;AACzC,mEAAmE;AACnE,qDAAqD;AACrD,EAAE;AACF,mEAAmE;AACnE,qEAAqE;AACrE,mEAAmE;AACnE,qCAAqC;AACrC,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,uEAAuE;AACvE,0EAA0E;AAC1E,sEAAsE;AACtE,wEAAwE;AACxE,gCAAgC;AAChC,sEAAsE;AACtE,uEAAuE;AACvE,sEAAsE;AACtE,wEAAwE;AACxE,wBAAwB;AACxB,yEAAyE;AACzE,mEAAmE;AACnE,yEAAyE;AACzE,6BAA6B;AAC7B,qEAAqE;AACrE,qEAAqE;AACrE,oEAAoE;AACpE,wEAAwE"}
1
+ {"version":3,"file":"renderable.js","sourceRoot":"","sources":["../src/renderable.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,oEAAoE;AACpE,sEAAsE;AACtE,EAAE;AACF,oDAAoD;AACpD,EAAE;AACF,qCAAqC;AACrC,sEAAsE;AACtE,iEAAiE;AACjE,EAAE;AACF,yCAAyC;AACzC,mEAAmE;AACnE,qDAAqD;AACrD,EAAE;AACF,mEAAmE;AACnE,oEAAoE;AACpE,oDAAoD;AACpD,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,uEAAuE;AACvE,0EAA0E;AAC1E,sEAAsE;AACtE,wEAAwE;AACxE,gCAAgC;AAChC,sEAAsE;AACtE,uEAAuE;AACvE,sEAAsE;AACtE,wEAAwE;AACxE,wBAAwB;AACxB,yEAAyE;AACzE,mEAAmE;AACnE,yEAAyE;AACzE,6BAA6B;AAC7B,qEAAqE;AACrE,qEAAqE;AACrE,oEAAoE;AACpE,wEAAwE"}
@@ -1 +1 @@
1
- {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAER,eAAe,EACf,oBAAoB,EACpB,WAAW,EAGX,aAAa,EAEb,QAAQ,EACX,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,KAAK,gBAAgB,EAA0B,MAAM,wBAAwB,CAAC;AAMvF,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;IACV;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC5B,kDAAkD;IAClD,SAAS,EAAE,IAAI,CAAC;IAChB,kEAAkE;IAClE,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,kDAAkD;IAClD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClC,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAChD,8CAA8C;IAC9C,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,wEAAwE;IACxE,eAAe,EAAE,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACrD,sDAAsD;IACtD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnC,oEAAoE;IACpE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,wDAAwD;IACxD,QAAQ,EAAE,aAAa,CAAC;IACxB,wEAAwE;IACxE,MAAM,EAAE,cAAc,CAAC;CAC1B;AAED,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAC1B,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,KAAK,EAAE,IAAI,CAAC;IACZ,yEAAyE;IACzE,GAAG,EAAE,IAAI,CAAC;IACV,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC5B,oEAAoE;IACpE,KAAK,CAAC,EAAE,IAAI,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC1B;AAED,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC3B;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,eAAoB,GAC9B,eAAe,CA0TjB"}
1
+ {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAER,eAAe,EACf,oBAAoB,EACpB,WAAW,EAEX,aAAa,EAEb,QAAQ,EACX,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,KAAK,gBAAgB,EAA0B,MAAM,wBAAwB,CAAC;AAMvF,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;IACV;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC5B,kDAAkD;IAClD,SAAS,EAAE,IAAI,CAAC;IAChB,kEAAkE;IAClE,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,kDAAkD;IAClD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClC,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAChD,8CAA8C;IAC9C,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,wEAAwE;IACxE,eAAe,EAAE,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACrD,sDAAsD;IACtD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnC,oEAAoE;IACpE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,wDAAwD;IACxD,QAAQ,EAAE,aAAa,CAAC;IACxB,wEAAwE;IACxE,MAAM,EAAE,cAAc,CAAC;CAC1B;AAED,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAC1B,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,KAAK,EAAE,IAAI,CAAC;IACZ,yEAAyE;IACzE,GAAG,EAAE,IAAI,CAAC;IACV,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC5B,oEAAoE;IACpE,KAAK,CAAC,EAAE,IAAI,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC1B;AAED,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC3B;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,eAAoB,GAC9B,eAAe,CAmTjB"}
package/dist/schedule.js CHANGED
@@ -27,6 +27,7 @@
27
27
  // exporter also reads the Start / End dates, the milestone dates and the
28
28
  // wave spans; the Mermaid exporter reads the wave spans.
29
29
  import { buildWavePlan, isGroupBlock, isItemDeclaration, isParallelBlock } from '@nowline/core';
30
+ import { trackChildren } from '@nowline/core/internal';
30
31
  import { deriveItemDurationDays, resolveSizes } from './calendar.js';
31
32
  import { resolveWorkingCalendar } from './calendar-resolver.js';
32
33
  import { parseIsoDate, propValue } from './dsl-utils.js';
@@ -101,12 +102,12 @@ export function scheduleRoadmap(file, resolved, options = {}) {
101
102
  return scope.milestoneEnd.get(ref);
102
103
  return 0;
103
104
  };
104
- // Walk a sequential lane, returning the end-day of the last child.
105
- const walkLane = (children, baselineEnd) => {
105
+ // Walk a sequential lane or group, returning the end-day of the last
106
+ // child. Core's `trackChildren` says what a child is; the recursion
107
+ // stays here because it carries the cursor and the wave pass.
108
+ const walkLane = (container, baselineEnd) => {
106
109
  let prevEnd = baselineEnd;
107
- for (const child of children) {
108
- if (child.$type === 'DescriptionDirective')
109
- continue;
110
+ for (const child of trackChildren(container)) {
110
111
  prevEnd = walkNode(child, prevEnd);
111
112
  reach(prevEnd);
112
113
  }
@@ -148,11 +149,8 @@ export function scheduleRoadmap(file, resolved, options = {}) {
148
149
  if (wave)
149
150
  containerStart = wave.apply(node, containerStart);
150
151
  let parallelEnd = containerStart;
151
- for (const child of node.content) {
152
- if (child.$type === 'DescriptionDirective')
153
- continue;
154
- const childEnd = walkNode(child, containerStart);
155
- parallelEnd = Math.max(parallelEnd, childEnd);
152
+ for (const child of trackChildren(node)) {
153
+ parallelEnd = Math.max(parallelEnd, walkNode(child, containerStart));
156
154
  }
157
155
  return parallelEnd;
158
156
  }
@@ -161,7 +159,7 @@ export function scheduleRoadmap(file, resolved, options = {}) {
161
159
  let containerStart = after.length > 0 ? Math.max(prevEnd, ...after.map(resolveAfterDay)) : prevEnd;
162
160
  if (wave)
163
161
  containerStart = wave.apply(node, containerStart);
164
- return walkLane(node.content, containerStart);
162
+ return walkLane(node, containerStart);
165
163
  }
166
164
  return prevEnd;
167
165
  };
@@ -201,7 +199,7 @@ export function scheduleRoadmap(file, resolved, options = {}) {
201
199
  inByNode: firstLevel,
202
200
  }, undefined, reachMax);
203
201
  for (const lane of content.swimlanes.values())
204
- walkLane(lane.content, 0);
202
+ walkLane(lane, 0);
205
203
  for (const [id, ms] of content.milestones) {
206
204
  const day = milestoneDay(ms, resolveAfterDay);
207
205
  if (day === undefined)
@@ -217,7 +215,7 @@ export function scheduleRoadmap(file, resolved, options = {}) {
217
215
  if (!plan) {
218
216
  const { walkLane } = makeWalker(mainScope(), undefined, reachMax);
219
217
  for (const lane of resolved.content.swimlanes.values()) {
220
- walkLane(lane.content, 0);
218
+ walkLane(lane, 0);
221
219
  }
222
220
  }
223
221
  else {
@@ -242,7 +240,7 @@ export function scheduleRoadmap(file, resolved, options = {}) {
242
240
  const pass = new WavePass(plan, S);
243
241
  const { walkLane } = makeWalker(mainScope(), pass, reachPass);
244
242
  for (const lane of resolved.content.swimlanes.values()) {
245
- walkLane(lane.content, 0);
243
+ walkLane(lane, 0);
246
244
  }
247
245
  // Exactly one level of isolated regions, each with fresh id maps
248
246
  // seeded only with the wave edges. Region items join the barrier
@@ -258,7 +256,7 @@ export function scheduleRoadmap(file, resolved, options = {}) {
258
256
  inByNode: true,
259
257
  }, pass, reachPass);
260
258
  for (const lane of region.content.swimlanes.values()) {
261
- regionWalker.walkLane(lane.content, 0);
259
+ regionWalker.walkLane(lane, 0);
262
260
  }
263
261
  }
264
262
  finalPass = pass;
@@ -1 +1 @@
1
- {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,6EAA6E;AAC7E,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,6EAA6E;AAC7E,yEAAyE;AACzE,4EAA4E;AAC5E,4BAA4B;AAC5B,8DAA8D;AAC9D,iEAAiE;AACjE,2EAA2E;AAC3E,2EAA2E;AAC3E,0EAA0E;AAC1E,4BAA4B;AAC5B,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,uEAAuE;AACvE,6EAA6E;AAC7E,2EAA2E;AAC3E,EAAE;AACF,uEAAuE;AACvE,yEAAyE;AACzE,2EAA2E;AAC3E,yEAAyE;AACzE,yDAAyD;AAYzD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAkB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAyB,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAkB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAwFpD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC3B,IAAiB,EACjB,QAAuB,EACvB,OAAO,GAAoB,EAAE;IAE7B,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;IAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAExD,yEAAyE;IACzE,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IACrF,uEAAuE;IACvE,MAAM,KAAK,GAAG,CAAC,IAAU,EAAU,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,CAAC,GAAW,EAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAAW,EAAQ,EAAE,CAC/C,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAEjD,0EAA0E;IAC1E,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAQ,EAAE;QACnC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,0EAA0E;IAC1E,4EAA4E;IAC5E,sBAAsB;IACtB,IAAI,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,eAAe;IACxD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,gBAAgB;IAC7D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,gBAAgB;IAEhE,8BAA8B;IAC9B,IAAI,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;IACnD,IAAI,UAAU,GAAG,IAAI,OAAO,EAAkC,CAAC;IAC/D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAgB,CAAC;IACjD,MAAM,eAAe,GAAG,IAAI,OAAO,EAA8B,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAgB,CAAC;IAE9C,0EAA0E;IAC1E,mBAAmB;IACnB,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,EAAE,CAAC;YACJ,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACvB,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACzB,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACL,CAAC;IAcD,MAAM,SAAS,GAAG,GAAc,EAAE,CAAC,CAAC;QAChC,OAAO;QACP,SAAS;QACT,YAAY;QACZ,KAAK;QACL,WAAW;QACX,QAAQ,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,yEAAyE;IACzE,uEAAuE;IACvE,qEAAqE;IACrE,MAAM,UAAU,GAAG,CACf,KAAgB,EAChB,IAA0B,EAC1B,KAA4B,EAC9B,EAAE;QACA,qDAAqD;QACrD,MAAM,eAAe,GAAG,CAAC,IAAe,EAAU,EAAE;YAChD,IAAI,MAAM,IAAI,IAAI;gBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACrB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YAC3D,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YAC/D,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YACrE,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;QAEF,qEAAqE;QACrE,oEAAoE;QACpE,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,CACb,SAA2C,EAC3C,WAAmB,EACb,EAAE;YACR,IAAI,OAAO,GAAG,WAAW,CAAC;YAC1B,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3C,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACnC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,IAAe,EAAE,OAAe,EAAU,EAAE;YAC1D,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACtE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACrD,IAAI,KAAK,GAAG,OAAO,CAAC;gBACpB,IAAI,GAAG,EAAE,CAAC;oBACN,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBACD,uDAAuD;gBACvD,uBAAuB;gBACvB,IAAI,IAAI;oBAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC1C,MAAM,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC;gBACxB,MAAM,SAAS,GAAkB;oBAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;oBACrB,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;oBACtB,IAAI,EAAE,GAAG;iBACZ,CAAC;gBACF,IAAI,KAAK,CAAC,QAAQ;oBAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACpD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACZ,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBAClC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACjD,CAAC;gBACD,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC5B,OAAO,GAAG,CAAC;YACf,CAAC;YACD,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChD,IAAI,cAAc,GACd,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClF,IAAI,IAAI;oBAAE,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBAC5D,IAAI,WAAW,GAAG,cAAc,CAAC;gBACjC,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;gBACzE,CAAC;gBACD,OAAO,WAAW,CAAC;YACvB,CAAC;YACD,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChD,IAAI,cAAc,GACd,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClF,IAAI,IAAI;oBAAE,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBAC5D,OAAO,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;IACzC,CAAC,CAAC;IAEF,wEAAwE;IACxE,qDAAqD;IACrD,MAAM,YAAY,GAAG,CACjB,EAAwB,EACxB,eAA4C,EAC1B,EAAE;QACpB,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,CAAC,CAAC;IAEF,wEAAwE;IACxE,yEAAyE;IACzE,0EAA0E;IAC1E,0CAA0C;IAC1C,yEAAyE;IACzE,MAAM,cAAc,GAAG,CAAC,OAAwB,EAAE,UAAmB,EAAQ,EAAE;QAC3E,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAChD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACrD,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,EAAE,CAAC;gBACJ,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrB,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;QACL,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,UAAU,CAC5C;YACI,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE,eAAe;YAC1B,YAAY,EAAE,kBAAkB;YAChC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YACvC,QAAQ,EAAE,UAAU;SACvB,EACD,SAAS,EACT,QAAQ,CACX,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjE,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;YAC9C,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAS;YAChC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAChC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,eAAe;YAAE,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxF,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChG,IAAI,KAA6C,CAAC;IAClD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,oEAAoE;QACpE,6DAA6D;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAc,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxD,IAAI,SAA+B,CAAC;QACpC,wEAAwE;QACxE,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,SAAS,GAAG,CAAC,GAAW,EAAQ,EAAE;YACpC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7D,+DAA+D;YAC/D,yDAAyD;YACzD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;YACxB,UAAU,GAAG,IAAI,OAAO,EAAE,CAAC;YAC3B,OAAO,GAAG,CAAC,CAAC;YACZ,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACnC,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAC9D,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;gBACrD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACtB,CAAC;YACD,iEAAiE;YACjE,iEAAiE;YACjE,+DAA+D;YAC/D,gEAAgE;YAChE,sBAAsB;YACtB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;gBACpD,MAAM,YAAY,GAAG,UAAU,CAC3B;oBACI,OAAO,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC;oBACvB,SAAS,EAAE,IAAI,GAAG,EAAE;oBACpB,YAAY,EAAE,IAAI,GAAG,EAAE;oBACvB,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;oBAC9C,QAAQ,EAAE,IAAI;iBACjB,EACD,IAAI,EACJ,SAAS,CACZ,CAAC;gBACF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;oBACnD,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACnC,CAAC;YACL,CAAC;YACD,SAAS,GAAG,IAAI,CAAC;YACjB,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,mEAAmE;QACnE,6DAA6D;QAC7D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAU,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;YACrE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC1B,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;gBAChC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,sBAAsB;IACtB,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzE,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QAC9C,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS;QAChC,qEAAqE;QACrE,uDAAuD;QACvD,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5E,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC1B,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/B,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,sEAAsE;IACtE,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACpD,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAED,OAAO;QACH,SAAS;QACT,QAAQ,EAAE,gBAAgB;QAC1B,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,gBAAgB;QAC5B,eAAe;QACf,OAAO,EAAE,aAAa;QACtB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,QAAQ;QACR,MAAM,EAAE,EAAE,aAAa,EAAE;KAC5B,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAC,CAAO;IACxB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AACnF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nowline/layout",
3
- "version": "0.0.0-dev.20261014001415.g49e010f",
3
+ "version": "0.0.0-dev.20261014154114.g5da7d2a",
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.20261014001415.g49e010f",
25
+ "@nowline/core": "0.0.0-dev.20261014154114.g5da7d2a",
26
26
  "d3-scale": "^4.0.2",
27
27
  "d3-time": "^3.1.0"
28
28
  },
package/src/renderable.ts CHANGED
@@ -14,9 +14,8 @@
14
14
  // Recursively places children inside this call.
15
15
  //
16
16
  // `place` may invoke `measure` again — implementations should make
17
- // `measure` cheap. The production nodes (`ItemNode`, `SwimlaneNode`,
18
- // etc. under `nodes/`) follow this pattern: place re-measures, but
19
- // measure is O(content) without I/O.
17
+ // `measure` cheap: O(content), without I/O. Of the production nodes
18
+ // only `ItemNode` implements the interface (below).
20
19
  //
21
20
  // Which nodes measure (specs/layout-phases.md, §3.6 and §3.7):
22
21
  //
package/src/schedule.ts CHANGED
@@ -32,13 +32,13 @@ import type {
32
32
  ItemDeclaration,
33
33
  MilestoneDeclaration,
34
34
  NowlineFile,
35
- ParallelBlock,
36
35
  ResolvedContent,
37
36
  ResolveResult,
38
37
  SwimlaneDeclaration,
39
38
  WavePlan,
40
39
  } from '@nowline/core';
41
40
  import { buildWavePlan, isGroupBlock, isItemDeclaration, isParallelBlock } from '@nowline/core';
41
+ import { type TrackNode, trackChildren } from '@nowline/core/internal';
42
42
  import { deriveItemDurationDays, resolveSizes } from './calendar.js';
43
43
  import { type ResolvedCalendar, resolveWorkingCalendar } from './calendar-resolver.js';
44
44
  import { parseIsoDate, propValue } from './dsl-utils.js';
@@ -225,24 +225,22 @@ export function scheduleRoadmap(
225
225
  return 0;
226
226
  };
227
227
 
228
- // Walk a sequential lane, returning the end-day of the last child.
228
+ // Walk a sequential lane or group, returning the end-day of the last
229
+ // child. Core's `trackChildren` says what a child is; the recursion
230
+ // stays here because it carries the cursor and the wave pass.
229
231
  const walkLane = (
230
- children: SwimlaneDeclaration['content'],
232
+ container: SwimlaneDeclaration | GroupBlock,
231
233
  baselineEnd: number,
232
234
  ): number => {
233
235
  let prevEnd = baselineEnd;
234
- for (const child of children) {
235
- if (child.$type === 'DescriptionDirective') continue;
236
- prevEnd = walkNode(child as ItemDeclaration | GroupBlock | ParallelBlock, prevEnd);
236
+ for (const child of trackChildren(container)) {
237
+ prevEnd = walkNode(child, prevEnd);
237
238
  reach(prevEnd);
238
239
  }
239
240
  return prevEnd;
240
241
  };
241
242
 
242
- const walkNode = (
243
- node: ItemDeclaration | GroupBlock | ParallelBlock,
244
- prevEnd: number,
245
- ): number => {
243
+ const walkNode = (node: TrackNode, prevEnd: number): number => {
246
244
  if (isItemDeclaration(node)) {
247
245
  const dur = deriveItemDurationDays(node.properties, scope.sizes, cal);
248
246
  const { pin, after } = startTermsOf(node.properties);
@@ -275,13 +273,8 @@ export function scheduleRoadmap(
275
273
  after.length > 0 ? Math.max(prevEnd, ...after.map(resolveAfterDay)) : prevEnd;
276
274
  if (wave) containerStart = wave.apply(node, containerStart);
277
275
  let parallelEnd = containerStart;
278
- for (const child of node.content) {
279
- if (child.$type === 'DescriptionDirective') continue;
280
- const childEnd = walkNode(
281
- child as ItemDeclaration | GroupBlock,
282
- containerStart,
283
- );
284
- parallelEnd = Math.max(parallelEnd, childEnd);
276
+ for (const child of trackChildren(node)) {
277
+ parallelEnd = Math.max(parallelEnd, walkNode(child, containerStart));
285
278
  }
286
279
  return parallelEnd;
287
280
  }
@@ -290,7 +283,7 @@ export function scheduleRoadmap(
290
283
  let containerStart =
291
284
  after.length > 0 ? Math.max(prevEnd, ...after.map(resolveAfterDay)) : prevEnd;
292
285
  if (wave) containerStart = wave.apply(node, containerStart);
293
- return walkLane(node.content as SwimlaneDeclaration['content'], containerStart);
286
+ return walkLane(node, containerStart);
294
287
  }
295
288
  return prevEnd;
296
289
  };
@@ -338,7 +331,7 @@ export function scheduleRoadmap(
338
331
  undefined,
339
332
  reachMax,
340
333
  );
341
- for (const lane of content.swimlanes.values()) walkLane(lane.content, 0);
334
+ for (const lane of content.swimlanes.values()) walkLane(lane, 0);
342
335
  for (const [id, ms] of content.milestones) {
343
336
  const day = milestoneDay(ms, resolveAfterDay);
344
337
  if (day === undefined) continue;
@@ -353,7 +346,7 @@ export function scheduleRoadmap(
353
346
  if (!plan) {
354
347
  const { walkLane } = makeWalker(mainScope(), undefined, reachMax);
355
348
  for (const lane of resolved.content.swimlanes.values()) {
356
- walkLane(lane.content, 0);
349
+ walkLane(lane, 0);
357
350
  }
358
351
  } else {
359
352
  // Wave barriers (specs/waves.md §8.5): iterate the lane walk to the
@@ -377,7 +370,7 @@ export function scheduleRoadmap(
377
370
  const pass = new WavePass(plan, S);
378
371
  const { walkLane } = makeWalker(mainScope(), pass, reachPass);
379
372
  for (const lane of resolved.content.swimlanes.values()) {
380
- walkLane(lane.content, 0);
373
+ walkLane(lane, 0);
381
374
  }
382
375
  // Exactly one level of isolated regions, each with fresh id maps
383
376
  // seeded only with the wave edges. Region items join the barrier
@@ -397,7 +390,7 @@ export function scheduleRoadmap(
397
390
  reachPass,
398
391
  );
399
392
  for (const lane of region.content.swimlanes.values()) {
400
- regionWalker.walkLane(lane.content, 0);
393
+ regionWalker.walkLane(lane, 0);
401
394
  }
402
395
  }
403
396
  finalPass = pass;