@nowline/layout 0.5.1 → 0.7.0

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.
Files changed (39) hide show
  1. package/dist/index.d.ts +3 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/layout-context.d.ts +8 -0
  6. package/dist/layout-context.d.ts.map +1 -1
  7. package/dist/layout.d.ts.map +1 -1
  8. package/dist/layout.js +68 -47
  9. package/dist/layout.js.map +1 -1
  10. package/dist/nodes/group-node.d.ts.map +1 -1
  11. package/dist/nodes/group-node.js +2 -1
  12. package/dist/nodes/group-node.js.map +1 -1
  13. package/dist/nodes/include-node.d.ts.map +1 -1
  14. package/dist/nodes/include-node.js +4 -0
  15. package/dist/nodes/include-node.js.map +1 -1
  16. package/dist/nodes/parallel-node.d.ts.map +1 -1
  17. package/dist/nodes/parallel-node.js +2 -1
  18. package/dist/nodes/parallel-node.js.map +1 -1
  19. package/dist/nodes/roadmap-node.d.ts.map +1 -1
  20. package/dist/nodes/roadmap-node.js +4 -0
  21. package/dist/nodes/roadmap-node.js.map +1 -1
  22. package/dist/resolve-today.d.ts +90 -0
  23. package/dist/resolve-today.d.ts.map +1 -0
  24. package/dist/resolve-today.js +197 -0
  25. package/dist/resolve-today.js.map +1 -0
  26. package/dist/schedule.d.ts +38 -0
  27. package/dist/schedule.d.ts.map +1 -0
  28. package/dist/schedule.js +158 -0
  29. package/dist/schedule.js.map +1 -0
  30. package/package.json +3 -3
  31. package/src/index.ts +10 -0
  32. package/src/layout-context.ts +8 -0
  33. package/src/layout.ts +69 -46
  34. package/src/nodes/group-node.ts +2 -1
  35. package/src/nodes/include-node.ts +4 -0
  36. package/src/nodes/parallel-node.ts +2 -1
  37. package/src/nodes/roadmap-node.ts +4 -0
  38. package/src/resolve-today.ts +266 -0
  39. package/src/schedule.ts +220 -0
@@ -1 +1 @@
1
- {"version":3,"file":"roadmap-node.js","sourceRoot":"","sources":["../../src/nodes/roadmap-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roadmap-node.js","sourceRoot":"","sources":["../../src/nodes/roadmap-node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Structured representation of a normalised --timezone / timezone option.
3
+ * Produced by {@link normalizeZone}; consumed by {@link civilDateInZone}.
4
+ */
5
+ export type NormalizedZone = {
6
+ kind: 'local';
7
+ } | {
8
+ kind: 'utc';
9
+ } | {
10
+ kind: 'offset';
11
+ ms: number;
12
+ } | {
13
+ kind: 'iana';
14
+ name: string;
15
+ };
16
+ /**
17
+ * Thrown by {@link normalizeZone} when the raw timezone string is not
18
+ * recognised. CLI surfaces catch this and re-throw as `CliError`.
19
+ */
20
+ export declare class TimezoneError extends Error {
21
+ constructor(message: string);
22
+ }
23
+ /**
24
+ * Normalise a raw --timezone / timezone option string into a {@link NormalizedZone}.
25
+ *
26
+ * Accepted forms (case-insensitive for keywords):
27
+ * - empty / `'local'` → host/viewer local zone (default)
28
+ * - `'UTC'` → UTC
29
+ * - ISO 8601 offset: `Z`, `±HH`, `±HH:MM`, `±HHMM` → fixed offset (DST-naive)
30
+ * - IANA name e.g. `'America/Los_Angeles'` → validated via Intl
31
+ *
32
+ * Throws {@link TimezoneError} for strings not recognised by `Intl.DateTimeFormat`.
33
+ * Ambiguous abbreviations (`PST`, `IST`, …) are rejected on platforms where `Intl`
34
+ * rejects them (Linux ICU typically rejects them); on macOS Node 26 they may be
35
+ * accepted and silently mapped to a platform-specific IANA zone — a known platform
36
+ * caveat. Use explicit IANA names for portable results.
37
+ * and any unrecognised string. (`GMT` and `Etc/GMT±N` are accepted by `Intl`
38
+ * but are undocumented; `Etc/GMT±N` has an inverted sign convention.)
39
+ */
40
+ export declare function normalizeZone(raw: string | undefined): NormalizedZone;
41
+ /**
42
+ * Extract the civil `YYYY-MM-DD` date of `instant` in the given zone and
43
+ * return it as a UTC-midnight `Date` (matching the layout engine's convention
44
+ * for authored dates).
45
+ */
46
+ export declare function civilDateInZone(instant: Date, zone: NormalizedZone): Date;
47
+ export interface ResolveTodayOptions {
48
+ /**
49
+ * Raw now value: the CLI's `--now` string, a pre-resolved `Date`, `null`
50
+ * to suppress the now-line, or `undefined` to use the clock default.
51
+ *
52
+ * String forms accepted:
53
+ * - `'-'` → suppress (same as `null`)
54
+ * - `'YYYY-MM-DD'` → floating date; zone ignored
55
+ * - ISO 8601 + Z/offset → embedded offset wins; zone ignored
56
+ * - ISO 8601 without offset → floating; written date part used; zone ignored
57
+ */
58
+ now?: string | Date | null;
59
+ /**
60
+ * Effective timezone for the clock-based default. Produced by
61
+ * {@link normalizeZone}. Defaults to `{ kind: 'local' }` (host/viewer zone).
62
+ * Only consulted when `now` is omitted.
63
+ */
64
+ zone?: NormalizedZone;
65
+ /**
66
+ * Clock factory — injected for tests; defaults to `() => new Date()`.
67
+ * Only called when `now` is omitted.
68
+ */
69
+ clock?: () => Date;
70
+ }
71
+ /**
72
+ * Resolve the now-line anchor date.
73
+ *
74
+ * Returns a UTC-midnight `Date` (the civil day at which to draw the red
75
+ * now-line), or `undefined` to suppress the now-line entirely.
76
+ *
77
+ * Precedence (from highest to lowest):
78
+ * 1. `now === '-'` / `null` → `undefined` (suppress)
79
+ * 2. `now` is a `Date` object → returned as-is (caller must supply UTC midnight)
80
+ * 3. `now` bare `YYYY-MM-DD` → floating; `Date.UTC(y, m, d)` regardless of zone
81
+ * 4. `now` ISO 8601 + Z/offset → embedded offset wins; zone ignored
82
+ * 5. `now` ISO 8601 without offset→ floating; written date part; zone ignored
83
+ * 6. `now` omitted → civil date of `clock()` in effective `zone`
84
+ *
85
+ * The `zone` is ONLY consulted for case 6 (clock-based default). Authored
86
+ * dates — item bars, milestones, anchors, the axis ticks — are floating and
87
+ * are never affected by this function.
88
+ */
89
+ export declare function resolveToday(opts?: ResolveTodayOptions): Date | undefined;
90
+ //# sourceMappingURL=resolve-today.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-today.d.ts","sourceRoot":"","sources":["../src/resolve-today.ts"],"names":[],"mappings":"AAwBA;;;GAGG;AACH,MAAM,MAAM,cAAc,GACpB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI9B;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,CAgCrE;AAID;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAsCzE;AAkBD,MAAM,WAAW,mBAAmB;IAChC;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3B;;;;OAIG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,IAAI,GAAE,mBAAwB,GAAG,IAAI,GAAG,SAAS,CA6D7E"}
@@ -0,0 +1,197 @@
1
+ // resolveToday — shared timezone-aware now-line date resolver.
2
+ //
3
+ // Every surface (CLI, VS Code extension, embed, browser SPA) calls this helper
4
+ // to decide which civil calendar date to mark as "now" on the chart. Layout
5
+ // itself stays a pure function of its inputs and never calls this — callers
6
+ // resolve the date first, then pass `today: Date` into `layoutRoadmap`.
7
+ //
8
+ // Design contract (see plan: timezone-aware now-line resolution):
9
+ //
10
+ // - "Today" is the viewer's local civil date by default. UTC is opt-in via
11
+ // --timezone UTC. This matches iCalendar floating-date semantics: authored
12
+ // dates in .nowline files are already floating (zone-free); the only thing
13
+ // that benefits from a timezone is the clock-based "today" default.
14
+ //
15
+ // - Dates on the axis, item bars, milestones, and anchors are floating and
16
+ // are NEVER affected by --timezone. Only the now-line moves.
17
+ //
18
+ // - An explicit --now value always wins over --timezone. When --now carries
19
+ // an embedded ISO 8601 offset/Z, that offset determines the civil day; the
20
+ // --timezone is ignored. --timezone only governs the clock-based default
21
+ // (when --now is omitted).
22
+ /**
23
+ * Thrown by {@link normalizeZone} when the raw timezone string is not
24
+ * recognised. CLI surfaces catch this and re-throw as `CliError`.
25
+ */
26
+ export class TimezoneError extends Error {
27
+ constructor(message) {
28
+ super(message);
29
+ this.name = 'TimezoneError';
30
+ }
31
+ }
32
+ // ---- Zone normalisation -----------------------------------------------------
33
+ /**
34
+ * Normalise a raw --timezone / timezone option string into a {@link NormalizedZone}.
35
+ *
36
+ * Accepted forms (case-insensitive for keywords):
37
+ * - empty / `'local'` → host/viewer local zone (default)
38
+ * - `'UTC'` → UTC
39
+ * - ISO 8601 offset: `Z`, `±HH`, `±HH:MM`, `±HHMM` → fixed offset (DST-naive)
40
+ * - IANA name e.g. `'America/Los_Angeles'` → validated via Intl
41
+ *
42
+ * Throws {@link TimezoneError} for strings not recognised by `Intl.DateTimeFormat`.
43
+ * Ambiguous abbreviations (`PST`, `IST`, …) are rejected on platforms where `Intl`
44
+ * rejects them (Linux ICU typically rejects them); on macOS Node 26 they may be
45
+ * accepted and silently mapped to a platform-specific IANA zone — a known platform
46
+ * caveat. Use explicit IANA names for portable results.
47
+ * and any unrecognised string. (`GMT` and `Etc/GMT±N` are accepted by `Intl`
48
+ * but are undocumented; `Etc/GMT±N` has an inverted sign convention.)
49
+ */
50
+ export function normalizeZone(raw) {
51
+ if (!raw || raw.toLowerCase() === 'local')
52
+ return { kind: 'local' };
53
+ if (raw.toUpperCase() === 'UTC')
54
+ return { kind: 'utc' };
55
+ // ISO 8601 offset shorthand: Z, ±HH, ±HH:MM, ±HHMM
56
+ if (raw === 'Z')
57
+ return { kind: 'offset', ms: 0 };
58
+ const offsetMatch = /^([+-])(\d{2})(?::?(\d{2}))?$/.exec(raw);
59
+ if (offsetMatch) {
60
+ const sign = offsetMatch[1] === '+' ? 1 : -1;
61
+ const hours = parseInt(offsetMatch[2], 10);
62
+ const minutes = offsetMatch[3] !== undefined ? parseInt(offsetMatch[3], 10) : 0;
63
+ if (hours > 23 || minutes > 59) {
64
+ throw new TimezoneError(`nowline: invalid timezone offset "${raw}". Hours must be 0–23 and minutes 0–59.`);
65
+ }
66
+ return { kind: 'offset', ms: sign * (hours * 60 + minutes) * 60_000 };
67
+ }
68
+ // IANA name — validate with Intl; ambiguous abbreviations (PST, IST, …)
69
+ // are not valid IANA names and will throw here.
70
+ try {
71
+ const canonical = Intl.DateTimeFormat(undefined, { timeZone: raw }).resolvedOptions()
72
+ .timeZone;
73
+ return { kind: 'iana', name: canonical };
74
+ }
75
+ catch {
76
+ throw new TimezoneError(`nowline: unrecognised timezone "${raw}". ` +
77
+ `Use "local", "UTC", an ISO 8601 offset (e.g. "+05:30", "-07:00", "Z"), ` +
78
+ `or an IANA timezone name (e.g. "America/Los_Angeles", "Asia/Kolkata").`);
79
+ }
80
+ }
81
+ // ---- Civil-date extraction --------------------------------------------------
82
+ /**
83
+ * Extract the civil `YYYY-MM-DD` date of `instant` in the given zone and
84
+ * return it as a UTC-midnight `Date` (matching the layout engine's convention
85
+ * for authored dates).
86
+ */
87
+ export function civilDateInZone(instant, zone) {
88
+ switch (zone.kind) {
89
+ case 'local': {
90
+ // JS local time — getFullYear/Month/Date already reflect the host zone.
91
+ return new Date(Date.UTC(instant.getFullYear(), instant.getMonth(), instant.getDate()));
92
+ }
93
+ case 'utc': {
94
+ return new Date(Date.UTC(instant.getUTCFullYear(), instant.getUTCMonth(), instant.getUTCDate()));
95
+ }
96
+ case 'offset': {
97
+ // Shift the instant by the fixed offset, then read UTC components.
98
+ // No Intl dependency — portable to older embed browsers.
99
+ const shifted = new Date(instant.getTime() + zone.ms);
100
+ return new Date(Date.UTC(shifted.getUTCFullYear(), shifted.getUTCMonth(), shifted.getUTCDate()));
101
+ }
102
+ case 'iana': {
103
+ // Use en-CA locale so formatToParts gives YYYY-MM-DD numeric fields.
104
+ const parts = new Intl.DateTimeFormat('en-CA', {
105
+ timeZone: zone.name,
106
+ year: 'numeric',
107
+ month: '2-digit',
108
+ day: '2-digit',
109
+ }).formatToParts(instant);
110
+ let y = 0;
111
+ let m = 0;
112
+ let d = 0;
113
+ for (const p of parts) {
114
+ if (p.type === 'year')
115
+ y = parseInt(p.value, 10);
116
+ else if (p.type === 'month')
117
+ m = parseInt(p.value, 10) - 1;
118
+ else if (p.type === 'day')
119
+ d = parseInt(p.value, 10);
120
+ }
121
+ return new Date(Date.UTC(y, m, d));
122
+ }
123
+ }
124
+ }
125
+ // ---- Now-value parsing ------------------------------------------------------
126
+ // Bare YYYY-MM-DD (floating date, zone-independent)
127
+ const BARE_DATE_RE = /^(\d{4})-(\d{2})-(\d{2})$/;
128
+ // ISO 8601 instant with explicit Z or ±HH / ±HH:MM / ±HHMM offset.
129
+ // Captures: [1] datetime part, [2] sign or Z, [3] hours, [4] minutes (optional)
130
+ const ISO_WITH_OFFSET_RE = /^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?)(Z|([+-])(\d{2})(?::?(\d{2}))?)$/;
131
+ // ISO 8601 with time but no offset (floating local date-time).
132
+ // Captures: [1] year, [2] month, [3] day
133
+ const ISO_FLOATING_RE = /^(\d{4})-(\d{2})-(\d{2})T\d{2}:\d{2}:\d{2}(?:\.\d+)?$/;
134
+ /**
135
+ * Resolve the now-line anchor date.
136
+ *
137
+ * Returns a UTC-midnight `Date` (the civil day at which to draw the red
138
+ * now-line), or `undefined` to suppress the now-line entirely.
139
+ *
140
+ * Precedence (from highest to lowest):
141
+ * 1. `now === '-'` / `null` → `undefined` (suppress)
142
+ * 2. `now` is a `Date` object → returned as-is (caller must supply UTC midnight)
143
+ * 3. `now` bare `YYYY-MM-DD` → floating; `Date.UTC(y, m, d)` regardless of zone
144
+ * 4. `now` ISO 8601 + Z/offset → embedded offset wins; zone ignored
145
+ * 5. `now` ISO 8601 without offset→ floating; written date part; zone ignored
146
+ * 6. `now` omitted → civil date of `clock()` in effective `zone`
147
+ *
148
+ * The `zone` is ONLY consulted for case 6 (clock-based default). Authored
149
+ * dates — item bars, milestones, anchors, the axis ticks — are floating and
150
+ * are never affected by this function.
151
+ */
152
+ export function resolveToday(opts = {}) {
153
+ const zone = opts.zone ?? { kind: 'local' };
154
+ const clock = opts.clock ?? (() => new Date());
155
+ const now = opts.now;
156
+ // 1. Suppress sentinel
157
+ if (now === '-' || now === null)
158
+ return undefined;
159
+ // 2. Pre-resolved Date — pass through as-is
160
+ if (now instanceof Date)
161
+ return now;
162
+ if (now !== undefined) {
163
+ // 3. Bare YYYY-MM-DD — floating; zone ignored
164
+ const bareMatch = BARE_DATE_RE.exec(now);
165
+ if (bareMatch) {
166
+ return new Date(Date.UTC(parseInt(bareMatch[1], 10), parseInt(bareMatch[2], 10) - 1, parseInt(bareMatch[3], 10)));
167
+ }
168
+ // 4. ISO 8601 instant with explicit Z or offset — embedded offset WINS
169
+ const withOffset = ISO_WITH_OFFSET_RE.exec(now);
170
+ if (withOffset) {
171
+ const instant = new Date(now);
172
+ if (!Number.isNaN(instant.getTime())) {
173
+ const suffix = withOffset[2]; // 'Z' or '±HH:MM'
174
+ if (suffix === 'Z') {
175
+ return civilDateInZone(instant, { kind: 'utc' });
176
+ }
177
+ // Fixed offset embedded in the string
178
+ const sign = withOffset[3] === '+' ? 1 : -1;
179
+ const hh = parseInt(withOffset[4], 10);
180
+ const mm = withOffset[5] !== undefined ? parseInt(withOffset[5], 10) : 0;
181
+ const offsetMs = sign * (hh * 60 + mm) * 60_000;
182
+ return civilDateInZone(instant, { kind: 'offset', ms: offsetMs });
183
+ }
184
+ }
185
+ // 5. ISO 8601 without offset — floating; use written date part; zone ignored
186
+ const floating = ISO_FLOATING_RE.exec(now);
187
+ if (floating) {
188
+ return new Date(Date.UTC(parseInt(floating[1], 10), parseInt(floating[2], 10) - 1, parseInt(floating[3], 10)));
189
+ }
190
+ // Unrecognised string — caller should have validated before calling.
191
+ // Return undefined so a bad value doesn't crash the render pipeline.
192
+ return undefined;
193
+ }
194
+ // 6. No now given — civil date of clock() in the effective zone
195
+ return civilDateInZone(clock(), zone);
196
+ }
197
+ //# sourceMappingURL=resolve-today.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-today.js","sourceRoot":"","sources":["../src/resolve-today.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,4EAA4E;AAC5E,wEAAwE;AACxE,EAAE;AACF,kEAAkE;AAClE,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,8EAA8E;AAC9E,uEAAuE;AACvE,EAAE;AACF,4EAA4E;AAC5E,gEAAgE;AAChE,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,8BAA8B;AAc9B;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IACpC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAChC,CAAC;CACJ;AAED,gFAAgF;AAEhF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,aAAa,CAAC,GAAuB;IACjD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACpE,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAExD,mDAAmD;IACnD,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAClD,MAAM,WAAW,GAAG,+BAA+B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9D,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,KAAK,GAAG,EAAE,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,aAAa,CACnB,qCAAqC,GAAG,yCAAyC,CACpF,CAAC;QACN,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,GAAG,CAAC,KAAK,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;IAC1E,CAAC;IAED,wEAAwE;IACxE,gDAAgD;IAChD,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,eAAe,EAAE;aAChF,QAAQ,CAAC;QACd,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,IAAI,aAAa,CACnB,mCAAmC,GAAG,KAAK;YACvC,yEAAyE;YACzE,wEAAwE,CAC/E,CAAC;IACN,CAAC;AACL,CAAC;AAED,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAa,EAAE,IAAoB;IAC/D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,OAAO,CAAC,CAAC,CAAC;YACX,wEAAwE;YACxE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACT,OAAO,IAAI,IAAI,CACX,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAClF,CAAC;QACN,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,mEAAmE;YACnE,yDAAyD;YACzD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACtD,OAAO,IAAI,IAAI,CACX,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAClF,CAAC;QACN,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACV,qEAAqE;YACrE,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;gBAC3C,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,SAAS;aACjB,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;oBAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;qBAC5C,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;oBAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;qBACtD,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;oBAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;AACL,CAAC;AAED,gFAAgF;AAEhF,oDAAoD;AACpD,MAAM,YAAY,GAAG,2BAA2B,CAAC;AAEjD,mEAAmE;AACnE,gFAAgF;AAChF,MAAM,kBAAkB,GACpB,kFAAkF,CAAC;AAEvF,+DAA+D;AAC/D,yCAAyC;AACzC,MAAM,eAAe,GAAG,uDAAuD,CAAC;AA6BhF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,YAAY,CAAC,OAA4B,EAAE;IACvD,MAAM,IAAI,GAAmB,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAErB,uBAAuB;IACvB,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAElD,4CAA4C;IAC5C,IAAI,GAAG,YAAY,IAAI;QAAE,OAAO,GAAG,CAAC;IAEpC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpB,8CAA8C;QAC9C,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,IAAI,IAAI,CACX,IAAI,CAAC,GAAG,CACJ,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAC9B,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC7B,CACJ,CAAC;QACN,CAAC;QAED,uEAAuE;QACvE,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;gBAChD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBACjB,OAAO,eAAe,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrD,CAAC;gBACD,sCAAsC;gBACtC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC;gBAChD,OAAO,eAAe,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;QAED,6EAA6E;QAC7E,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,IAAI,IAAI,CACX,IAAI,CAAC,GAAG,CACJ,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAC7B,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC5B,CACJ,CAAC;QACN,CAAC;QAED,qEAAqE;QACrE,qEAAqE;QACrE,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,gEAAgE;IAChE,OAAO,eAAe,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { ItemDeclaration, MilestoneDeclaration, NowlineFile, ResolveResult } from '@nowline/core';
2
+ /** Per-item scheduled interval, keyed by item id (name). */
3
+ export interface ScheduledItem {
4
+ start: Date;
5
+ end: Date;
6
+ }
7
+ /**
8
+ * Result of scheduling a roadmap. All dates are UTC midnight.
9
+ *
10
+ * `items` is keyed by DSL id and only contains **named** items.
11
+ * `byNode` is keyed by AST node identity and contains **every** item,
12
+ * including anonymous ones — use this when you have the AST node in hand
13
+ * and want dates regardless of whether an id was declared.
14
+ */
15
+ export interface RoadmapSchedule {
16
+ /** Resolved roadmap start date (UTC midnight). */
17
+ startDate: Date;
18
+ /** Named items keyed by their DSL id (`name`). */
19
+ items: Map<string, ScheduledItem>;
20
+ /** Every item keyed by AST node identity (named and anonymous). */
21
+ byNode: WeakMap<ItemDeclaration, ScheduledItem>;
22
+ /** Named milestones keyed by their DSL id. */
23
+ milestones: Map<string, Date>;
24
+ /** Every milestone keyed by AST node identity (named and anonymous). */
25
+ milestoneByNode: WeakMap<MilestoneDeclaration, Date>;
26
+ /** Named anchors: their declared or computed date. */
27
+ anchors: Map<string, Date>;
28
+ }
29
+ export interface ScheduleOptions {
30
+ /** Passed as the reference date when the roadmap omits `start:`. */
31
+ today?: Date;
32
+ }
33
+ /**
34
+ * Compute the scheduled start/end date for every named entity in the roadmap.
35
+ * Does NOT run the full layout (no SVG geometry, no pixel coordinates).
36
+ */
37
+ export declare function scheduleRoadmap(file: NowlineFile, resolved: ResolveResult, options?: ScheduleOptions): RoadmapSchedule;
38
+ //# sourceMappingURL=schedule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAER,eAAe,EACf,oBAAoB,EACpB,WAAW,EAEX,aAAa,EAEhB,MAAM,eAAe,CAAC;AAWvB,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;CACb;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC5B,kDAAkD;IAClD,SAAS,EAAE,IAAI,CAAC;IAChB,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;CAC9B;AAED,MAAM,WAAW,eAAe;IAC5B,oEAAoE;IACpE,KAAK,CAAC,EAAE,IAAI,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,eAAoB,GAC9B,eAAe,CA4IjB"}
@@ -0,0 +1,158 @@
1
+ // scheduleRoadmap — compute the floating calendar start/end date for every
2
+ // named entity (items, milestones, anchors) without running the full layout.
3
+ //
4
+ // The sequencing rules exactly mirror `computeContentEndDay` in `layout.ts`
5
+ // plus the roadmap-start resolution in `RoadmapNode.place`:
6
+ // - date: / start: — absolute pin (date: wins over start:)
7
+ // - after:[id|DATE] — start after the maximum predecessor end
8
+ // - sequential default — start where the previous item in the lane ended
9
+ //
10
+ // Used by the XLSX exporter to populate the "Start" / "End" date columns and
11
+ // the milestone "Date" cell when no explicit `date:` is set. Keeping it
12
+ // separate from `computeContentEndDay` avoids mutating the byte-stable snapshot
13
+ // pipeline.
14
+ import { isGroupBlock, isItemDeclaration, isParallelBlock } from '@nowline/core';
15
+ import { addDays, daysBetween, deriveItemDurationDays, resolveCalendar, resolveSizes, } from './calendar.js';
16
+ import { parseDate, propValue, propValues } from './dsl-utils.js';
17
+ /**
18
+ * Compute the scheduled start/end date for every named entity in the roadmap.
19
+ * Does NOT run the full layout (no SVG geometry, no pixel coordinates).
20
+ */
21
+ export function scheduleRoadmap(file, resolved, options = {}) {
22
+ const cal = resolveCalendar(file, resolved.config.calendar);
23
+ const sizes = resolveSizes(resolved.content.sizes, cal);
24
+ // Resolve roadmap start date — same precedence as RoadmapNode.place.
25
+ const startRaw = propValue(file.roadmapDecl?.properties ?? [], 'start');
26
+ const startDate = parseDate(startRaw) ?? utcMidnight(options.today ?? new Date());
27
+ // These maps accumulate end-day offsets (from startDate) for cross-entity
28
+ // `after:` resolution, matching computeContentEndDay exactly.
29
+ const itemEnd = new Map(); // id → end day
30
+ const anchorEnd = new Map(); // id → date day
31
+ const milestoneEnd = new Map(); // id → date day
32
+ // Result maps (Date objects).
33
+ const itemResults = new Map();
34
+ const itemByNode = new WeakMap();
35
+ const milestoneResults = new Map();
36
+ const milestoneByNode = new WeakMap();
37
+ const anchorResults = new Map();
38
+ // Resolve a single `after:` element to a day-offset.
39
+ const resolveAfterDay = (ref) => {
40
+ const inlineDate = parseDate(ref);
41
+ if (inlineDate)
42
+ return daysBetween(startDate, inlineDate);
43
+ if (itemEnd.has(ref))
44
+ return itemEnd.get(ref);
45
+ if (anchorEnd.has(ref))
46
+ return anchorEnd.get(ref);
47
+ if (milestoneEnd.has(ref))
48
+ return milestoneEnd.get(ref);
49
+ return 0;
50
+ };
51
+ // Pre-seed named anchors (they may be referenced by item after: before we
52
+ // walk the lanes).
53
+ for (const [id, anchor] of resolved.content.anchors) {
54
+ const d = parseDate(propValue(anchor.properties, 'date'));
55
+ if (d) {
56
+ const day = daysBetween(startDate, d);
57
+ anchorEnd.set(id, day);
58
+ anchorResults.set(id, addDays(startDate, day));
59
+ }
60
+ }
61
+ // Walk a sequential lane, returning the end-day of the last child.
62
+ const walkLane = (children, baselineEnd) => {
63
+ let prevEnd = baselineEnd;
64
+ for (const child of children) {
65
+ if (child.$type === 'DescriptionDirective')
66
+ continue;
67
+ prevEnd = walkNode(child, prevEnd);
68
+ }
69
+ return prevEnd;
70
+ };
71
+ const walkNode = (node, prevEnd) => {
72
+ if (isItemDeclaration(node)) {
73
+ const dur = deriveItemDurationDays(node.properties, sizes, cal);
74
+ const dateProp = parseDate(propValue(node.properties, 'date'));
75
+ const startProp = parseDate(propValue(node.properties, 'start'));
76
+ const afterRefs = propValues(node.properties, 'after');
77
+ let start = prevEnd;
78
+ if (dateProp) {
79
+ start = daysBetween(startDate, dateProp);
80
+ }
81
+ else if (startProp) {
82
+ start = daysBetween(startDate, startProp);
83
+ }
84
+ else if (afterRefs.length > 0) {
85
+ start = Math.max(prevEnd, ...afterRefs.map(resolveAfterDay));
86
+ }
87
+ const end = start + dur;
88
+ const scheduled = {
89
+ start: addDays(startDate, start),
90
+ end: addDays(startDate, end),
91
+ };
92
+ itemByNode.set(node, scheduled);
93
+ if (node.name) {
94
+ itemEnd.set(node.name, end);
95
+ itemResults.set(node.name, scheduled);
96
+ }
97
+ return end;
98
+ }
99
+ if (isParallelBlock(node)) {
100
+ const afterRefs = propValues(node.properties, 'after');
101
+ const containerStart = afterRefs.length > 0
102
+ ? Math.max(prevEnd, ...afterRefs.map(resolveAfterDay))
103
+ : prevEnd;
104
+ let parallelEnd = containerStart;
105
+ for (const child of node.content) {
106
+ if (child.$type === 'DescriptionDirective')
107
+ continue;
108
+ const childEnd = walkNode(child, containerStart);
109
+ parallelEnd = Math.max(parallelEnd, childEnd);
110
+ }
111
+ return parallelEnd;
112
+ }
113
+ if (isGroupBlock(node)) {
114
+ const afterRefs = propValues(node.properties, 'after');
115
+ const containerStart = afterRefs.length > 0
116
+ ? Math.max(prevEnd, ...afterRefs.map(resolveAfterDay))
117
+ : prevEnd;
118
+ return walkLane(node.content, containerStart);
119
+ }
120
+ return prevEnd;
121
+ };
122
+ for (const lane of resolved.content.swimlanes.values()) {
123
+ walkLane(lane.content, 0);
124
+ }
125
+ // Milestones — same pass order as computeContentEndDay (after items so
126
+ // after: can resolve item end-days).
127
+ for (const [id, ms] of resolved.content.milestones) {
128
+ const d = parseDate(propValue(ms.properties, 'date'));
129
+ if (d) {
130
+ const day = daysBetween(startDate, d);
131
+ const resolved2 = addDays(startDate, day);
132
+ milestoneEnd.set(id, day);
133
+ milestoneResults.set(id, resolved2);
134
+ milestoneByNode.set(ms, resolved2);
135
+ continue;
136
+ }
137
+ const after = propValues(ms.properties, 'after');
138
+ if (after.length > 0) {
139
+ const day = Math.max(0, ...after.map(resolveAfterDay));
140
+ const resolved2 = addDays(startDate, day);
141
+ milestoneEnd.set(id, day);
142
+ milestoneResults.set(id, resolved2);
143
+ milestoneByNode.set(ms, resolved2);
144
+ }
145
+ }
146
+ return {
147
+ startDate,
148
+ items: itemResults,
149
+ byNode: itemByNode,
150
+ milestones: milestoneResults,
151
+ milestoneByNode,
152
+ anchors: anchorResults,
153
+ };
154
+ }
155
+ function utcMidnight(d) {
156
+ return new Date(Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate()));
157
+ }
158
+ //# sourceMappingURL=schedule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"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"}