waygraph 0.12.17 → 0.12.18
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.
- package/README.md +3 -2
- package/dist/cli.js +25 -18
- package/dist/engine.d.ts +3 -0
- package/dist/engine.js +3 -0
- package/dist/highlights.d.ts +21 -7
- package/dist/highlights.js +91 -15
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -238,8 +238,9 @@ snapshot, partitions edges by hash, and claims via in-process edge leases (audit
|
|
|
238
238
|
`tone: "info" | "warning" | "danger" | "success"` (iconified captions), plus
|
|
239
239
|
`size: "sm" | "md" | "lg"` and `weight: "normal" | "bold"`. Flow episode defaults:
|
|
240
240
|
`withHighlightStyle(flow, { size, weight, tone? })` (slot/fixture wins). Episode pacing:
|
|
241
|
-
`withDemoPace(flow, "fast" | "slow" | "normal" | "blitz")` or `withBlockPace(block, ...)`
|
|
242
|
-
(
|
|
241
|
+
`withDemoPace(flow, "fast" | "slow" | "normal" | "blitz" | number)` or `withBlockPace(block, ...)`
|
|
242
|
+
(`number` `<=20` = scale vs normal, e.g. `0.5` / `2`; `>20` = absolute ms, e.g. `4500`).
|
|
243
|
+
FFCompose stays blitz. Living objectives: `docs/proposals/OBJECTIVES.md`.
|
|
243
244
|
`spawnTab(entry, page, mem)` drives a genuinely separate second tab through its own
|
|
244
245
|
Block/Flow, in the same browser context an existing `page` already belongs to - the
|
|
245
246
|
pattern `observe()` could already reach for (it's the only phase allowed to touch
|
package/dist/cli.js
CHANGED
|
@@ -217,6 +217,10 @@ import {
|
|
|
217
217
|
normalizeHighlightWeight,
|
|
218
218
|
applyHighlightStyleDefaults,
|
|
219
219
|
resolveStepDemoPace,
|
|
220
|
+
demoPaceGateMs,
|
|
221
|
+
demoPaceIsBlitz,
|
|
222
|
+
demoPaceIsFast,
|
|
223
|
+
demoPaceIsSlow,
|
|
220
224
|
} from "waygraph";
|
|
221
225
|
|
|
222
226
|
function walkDir(dir, pattern) {
|
|
@@ -1073,6 +1077,7 @@ async function cycleHighlightRings(page, highlights, gatesFast, opts) {
|
|
|
1073
1077
|
// defaultHoldMs: when set (fail path), use instead of legacy 900/200 so BUG
|
|
1074
1078
|
// rings stay visible ~2s before the error panel (PIA stubOnError RFC).
|
|
1075
1079
|
const defaultHoldMs = opts && opts.defaultHoldMs != null ? opts.defaultHoldMs : null;
|
|
1080
|
+
const pace = opts && opts.pace !== undefined ? opts.pace : undefined;
|
|
1076
1081
|
for (let i = 0; i < list.length; i++) {
|
|
1077
1082
|
const h = list[i];
|
|
1078
1083
|
try {
|
|
@@ -1082,7 +1087,7 @@ async function cycleHighlightRings(page, highlights, gatesFast, opts) {
|
|
|
1082
1087
|
size: h.size,
|
|
1083
1088
|
weight: h.weight,
|
|
1084
1089
|
});
|
|
1085
|
-
const authored = resolveFixtureDwellMs(h, { gatesFast });
|
|
1090
|
+
const authored = resolveFixtureDwellMs(h, { gatesFast, pace });
|
|
1086
1091
|
const legacyMs = i === list.length - 1 ? 200 : 900;
|
|
1087
1092
|
const holdMs =
|
|
1088
1093
|
authored != null ? authored : defaultHoldMs != null ? defaultHoldMs : legacyMs;
|
|
@@ -1139,7 +1144,9 @@ async function renderAfterStep(page, info) {
|
|
|
1139
1144
|
// it highlights something [else] and next," not just the first one.
|
|
1140
1145
|
// duration / fastMode on stubAfter (or flow fixtures) override the legacy
|
|
1141
1146
|
// 900ms / 200ms holds when set.
|
|
1142
|
-
await cycleHighlightRings(page, highlights, gatesFast,
|
|
1147
|
+
await cycleHighlightRings(page, highlights, gatesFast, {
|
|
1148
|
+
pace: info.pace,
|
|
1149
|
+
});
|
|
1143
1150
|
await page
|
|
1144
1151
|
.evaluate((info) => {
|
|
1145
1152
|
// Reused in place - see renderBeforeStep's own comment on this.
|
|
@@ -2160,13 +2167,10 @@ async function runStepMode(engine, start, end, context, page, mem, resolved, slo
|
|
|
2160
2167
|
// gates too, not just skip its interaction dwell - otherwise autoplay
|
|
2161
2168
|
// still stalls the full autoplayMs admiring a step that intentionally
|
|
2162
2169
|
// ran too fast to watch.
|
|
2163
|
-
const ms =
|
|
2164
|
-
?
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
: pacing.gatesSlow
|
|
2168
|
-
? Math.max(autoplayMs * 2, 3500)
|
|
2169
|
-
: autoplayMs;
|
|
2170
|
+
const ms = demoPaceGateMs(
|
|
2171
|
+
pacing.skipTheater ? "blitz" : pacing.demoPace,
|
|
2172
|
+
autoplayMs,
|
|
2173
|
+
);
|
|
2170
2174
|
let elapsed = 0;
|
|
2171
2175
|
for (;;) {
|
|
2172
2176
|
// Re-read the checkbox EVERY loop tick, not once up front - a human
|
|
@@ -2249,31 +2253,32 @@ async function runStepMode(engine, start, end, context, page, mem, resolved, slo
|
|
|
2249
2253
|
if ((clearSession || r.resetSession) && i > 0) {
|
|
2250
2254
|
await resetPageState(context, page, baseURL);
|
|
2251
2255
|
}
|
|
2252
|
-
//
|
|
2253
|
-
//
|
|
2254
|
-
// gates only (keeps theater). Episode pace: block > flow > CLI --fast.
|
|
2256
|
+
// Episode pace: block > flow > CLI --fast (only when no authored pace).
|
|
2257
|
+
// Authoring wins: withDemoPace("slow"|2|4500) keeps slow dwell even under --fast.
|
|
2255
2258
|
const stepPace = resolveStepDemoPace({
|
|
2256
2259
|
blockPace: r.block.demoPace,
|
|
2257
2260
|
flowPace: r.demoPace,
|
|
2258
2261
|
fastForward: !!r.block.fastForward,
|
|
2259
2262
|
wasFastForward: !!r.wasFastForward,
|
|
2260
2263
|
});
|
|
2264
|
+
const authoredPace =
|
|
2265
|
+
(r.block.demoPace != null && r.block.demoPace !== "") ||
|
|
2266
|
+
(r.demoPace != null && r.demoPace !== "");
|
|
2261
2267
|
const cliFast = demoFast || fastBlockNames.has(r.block.name);
|
|
2262
2268
|
pacing.demoPace =
|
|
2263
|
-
stepPace === "normal" && cliFast
|
|
2269
|
+
stepPace === "normal" && cliFast && !authoredPace
|
|
2264
2270
|
? fastBlockNames.has(r.block.name)
|
|
2265
2271
|
? "blitz"
|
|
2266
2272
|
: "fast"
|
|
2267
2273
|
: stepPace;
|
|
2268
2274
|
pacing.gatesFast =
|
|
2269
|
-
pacing.demoPace
|
|
2270
|
-
pacing.demoPace === "fast" ||
|
|
2275
|
+
demoPaceIsFast(pacing.demoPace) ||
|
|
2271
2276
|
!!r.block.fastForward ||
|
|
2272
2277
|
!!r.wasFastForward ||
|
|
2273
|
-
demoFast;
|
|
2274
|
-
pacing.gatesSlow = pacing.demoPace
|
|
2278
|
+
(!authoredPace && demoFast);
|
|
2279
|
+
pacing.gatesSlow = demoPaceIsSlow(pacing.demoPace);
|
|
2275
2280
|
pacing.skipTheater =
|
|
2276
|
-
pacing.demoPace
|
|
2281
|
+
demoPaceIsBlitz(pacing.demoPace) ||
|
|
2277
2282
|
fastBlockNames.has(r.block.name) ||
|
|
2278
2283
|
!!r.block.fastForward ||
|
|
2279
2284
|
!!r.wasFastForward;
|
|
@@ -2387,6 +2392,7 @@ async function runStepMode(engine, start, end, context, page, mem, resolved, slo
|
|
|
2387
2392
|
});
|
|
2388
2393
|
await cycleHighlightRings(page, errHighlights, !!pacing.gatesFast, {
|
|
2389
2394
|
defaultHoldMs: 2000,
|
|
2395
|
+
pace: pacing.demoPace,
|
|
2390
2396
|
});
|
|
2391
2397
|
}
|
|
2392
2398
|
// A thrown act()/observe()/a failed verify Trait used to just crash
|
|
@@ -2480,6 +2486,7 @@ async function runStepMode(engine, start, end, context, page, mem, resolved, slo
|
|
|
2480
2486
|
resultTag: JSON.stringify(result),
|
|
2481
2487
|
highlights,
|
|
2482
2488
|
gatesFast: pacing.gatesFast,
|
|
2489
|
+
pace: pacing.demoPace,
|
|
2483
2490
|
isLast: i === resolved.length - 1,
|
|
2484
2491
|
allNames: moduleNames,
|
|
2485
2492
|
allDescriptions: moduleDescriptions,
|
package/dist/engine.d.ts
CHANGED
|
@@ -269,6 +269,9 @@ export declare function withTitle<Out extends Checkpoint<string>>(flow: Flow<Out
|
|
|
269
269
|
* Non-destructive. `fastForwardComposeBlock` is always blitz for its own step;
|
|
270
270
|
* use this when an entire episode should be fast or slow.
|
|
271
271
|
* @example withDemoPace(withTitle(gapFlow, "Episode 2 - gaps"), "slow")
|
|
272
|
+
* @example withDemoPace(happyFlow, 0.5) // 2x faster than normal
|
|
273
|
+
* @example withDemoPace(gapFlow, 2.5) // 2.5x slower
|
|
274
|
+
* @example withDemoPace(gapFlow, 4500) // absolute ~4.5s gates/dwells
|
|
272
275
|
*/
|
|
273
276
|
export declare function withDemoPace<Out extends Checkpoint<string>>(flow: Flow<Out>, pace: DemoPace): Flow<Out>;
|
|
274
277
|
/**
|
package/dist/engine.js
CHANGED
|
@@ -357,6 +357,9 @@ export function withTitle(flow, title) {
|
|
|
357
357
|
* Non-destructive. `fastForwardComposeBlock` is always blitz for its own step;
|
|
358
358
|
* use this when an entire episode should be fast or slow.
|
|
359
359
|
* @example withDemoPace(withTitle(gapFlow, "Episode 2 - gaps"), "slow")
|
|
360
|
+
* @example withDemoPace(happyFlow, 0.5) // 2x faster than normal
|
|
361
|
+
* @example withDemoPace(gapFlow, 2.5) // 2.5x slower
|
|
362
|
+
* @example withDemoPace(gapFlow, 4500) // absolute ~4.5s gates/dwells
|
|
360
363
|
*/
|
|
361
364
|
export function withDemoPace(flow, pace) {
|
|
362
365
|
const demoPace = pace;
|
package/dist/highlights.d.ts
CHANGED
|
@@ -106,12 +106,14 @@ export declare function toneIconPrefix(tone: HighlightTone): string;
|
|
|
106
106
|
/**
|
|
107
107
|
* Demo pacing for a Flow episode or a Block/compose group.
|
|
108
108
|
* - `blitz` - FF-like: skip theater + short gates (same as fastForwardComposeBlock)
|
|
109
|
-
* - `fast` - shorter gates, keep cursor theater
|
|
110
|
-
* - `normal` - default demo pace
|
|
111
|
-
* - `slow` - longer autoplay + fixture dwell (
|
|
109
|
+
* - `fast` - shorter gates, keep cursor theater (~0.33x normal)
|
|
110
|
+
* - `normal` - default demo pace (1x)
|
|
111
|
+
* - `slow` - longer autoplay + fixture dwell (~2x)
|
|
112
|
+
* - `number` - scale vs normal when `<= 20` (e.g. `0.5`, `1.5`, `3`);
|
|
113
|
+
* absolute gate/dwell ms when `> 20` (e.g. `4500`)
|
|
112
114
|
*/
|
|
113
|
-
export type
|
|
114
|
-
export
|
|
115
|
+
export type DemoPaceName = "blitz" | "fast" | "normal" | "slow";
|
|
116
|
+
export type DemoPace = DemoPaceName | number;
|
|
115
117
|
/** Default fixture dwell when `duration: true`. */
|
|
116
118
|
export declare const FIXTURE_DURATION_MS_DEFAULT = 2000;
|
|
117
119
|
/** Default fixture dwell under `--fast` when duration is enabled. */
|
|
@@ -122,9 +124,21 @@ export declare const FIXTURE_DURATION_SLOW_MS_DEFAULT = 4000;
|
|
|
122
124
|
export declare const SLIDE_DURATION_MS_DEFAULT = 2000;
|
|
123
125
|
/** @deprecated Prefer FIXTURE_DURATION_FAST_MS_DEFAULT */
|
|
124
126
|
export declare const SLIDE_DURATION_FAST_MS_DEFAULT = 600;
|
|
127
|
+
export declare function normalizeDemoPace(raw: unknown): DemoPace;
|
|
128
|
+
/** Named / numeric pace -> scale vs normal (1 = normal). Absolute ms (>20) maps via default dwell. */
|
|
129
|
+
export declare function demoPaceScale(pace: DemoPace): number;
|
|
130
|
+
export declare function demoPaceIsBlitz(pace: DemoPace): boolean;
|
|
131
|
+
/** True when pace should use the short-gate / fast fixture path (not slow authored). */
|
|
132
|
+
export declare function demoPaceIsFast(pace: DemoPace): boolean;
|
|
133
|
+
export declare function demoPaceIsSlow(pace: DemoPace): boolean;
|
|
134
|
+
/** Autoplay / Next-gate ms for this pace (base is WAYGRAPH_AUTOPLAY_MS or 1800). */
|
|
135
|
+
export declare function demoPaceGateMs(pace: DemoPace, baseAutoplayMs: number): number;
|
|
125
136
|
/**
|
|
126
137
|
* Resolve min dwell ms for any fixture (stub / flow fixture / yap slide),
|
|
127
138
|
* or `null` when duration is unset (caller keeps legacy timing).
|
|
139
|
+
*
|
|
140
|
+
* Authoring wins: an explicit slow/numeric pace is not crushed by CLI `--fast`
|
|
141
|
+
* (`gatesFast`). `--fast` only shortens when pace is unset/normal.
|
|
128
142
|
*/
|
|
129
143
|
export declare function resolveFixtureDwellMs(fixture: FixtureDurationFields, opts?: {
|
|
130
144
|
gatesFast?: boolean;
|
|
@@ -140,8 +154,8 @@ export declare function resolveSlideDwellMs(slide: FixtureDurationFields, opts?:
|
|
|
140
154
|
* Opaque FF / wasFastForward always win as blitz.
|
|
141
155
|
*/
|
|
142
156
|
export declare function resolveStepDemoPace(opts: {
|
|
143
|
-
blockPace?: DemoPace | string | null;
|
|
144
|
-
flowPace?: DemoPace | string | null;
|
|
157
|
+
blockPace?: DemoPace | string | number | null;
|
|
158
|
+
flowPace?: DemoPace | string | number | null;
|
|
145
159
|
fastForward?: boolean;
|
|
146
160
|
wasFastForward?: boolean;
|
|
147
161
|
}): DemoPace;
|
package/dist/highlights.js
CHANGED
|
@@ -79,18 +79,6 @@ export function toneIconPrefix(tone) {
|
|
|
79
79
|
const icon = TONE_ICONS[tone];
|
|
80
80
|
return icon ? `[${icon}] ` : "";
|
|
81
81
|
}
|
|
82
|
-
export function normalizeDemoPace(raw) {
|
|
83
|
-
if (typeof raw !== "string")
|
|
84
|
-
return "normal";
|
|
85
|
-
const t = raw.trim().toLowerCase();
|
|
86
|
-
if (t === "blitz" || t === "ff")
|
|
87
|
-
return "blitz";
|
|
88
|
-
if (t === "fast" || t === "quick")
|
|
89
|
-
return "fast";
|
|
90
|
-
if (t === "slow" || t === "careful" || t === "review")
|
|
91
|
-
return "slow";
|
|
92
|
-
return "normal";
|
|
93
|
-
}
|
|
94
82
|
/** Default fixture dwell when `duration: true`. */
|
|
95
83
|
export const FIXTURE_DURATION_MS_DEFAULT = 2000;
|
|
96
84
|
/** Default fixture dwell under `--fast` when duration is enabled. */
|
|
@@ -101,24 +89,112 @@ export const FIXTURE_DURATION_SLOW_MS_DEFAULT = 4000;
|
|
|
101
89
|
export const SLIDE_DURATION_MS_DEFAULT = FIXTURE_DURATION_MS_DEFAULT;
|
|
102
90
|
/** @deprecated Prefer FIXTURE_DURATION_FAST_MS_DEFAULT */
|
|
103
91
|
export const SLIDE_DURATION_FAST_MS_DEFAULT = FIXTURE_DURATION_FAST_MS_DEFAULT;
|
|
92
|
+
export function normalizeDemoPace(raw) {
|
|
93
|
+
if (typeof raw === "number" && Number.isFinite(raw) && raw > 0)
|
|
94
|
+
return raw;
|
|
95
|
+
if (typeof raw === "string") {
|
|
96
|
+
const t = raw.trim().toLowerCase();
|
|
97
|
+
if (t === "blitz" || t === "ff")
|
|
98
|
+
return "blitz";
|
|
99
|
+
if (t === "fast" || t === "quick")
|
|
100
|
+
return "fast";
|
|
101
|
+
if (t === "slow" || t === "careful" || t === "review")
|
|
102
|
+
return "slow";
|
|
103
|
+
if (t === "normal" || t === "default" || t === "1x")
|
|
104
|
+
return "normal";
|
|
105
|
+
// "2x" / "0.5x"
|
|
106
|
+
if (t.endsWith("x")) {
|
|
107
|
+
const n = Number(t.slice(0, -1));
|
|
108
|
+
if (Number.isFinite(n) && n > 0)
|
|
109
|
+
return n;
|
|
110
|
+
}
|
|
111
|
+
const n = Number(t);
|
|
112
|
+
if (Number.isFinite(n) && n > 0)
|
|
113
|
+
return n;
|
|
114
|
+
}
|
|
115
|
+
return "normal";
|
|
116
|
+
}
|
|
117
|
+
/** Named / numeric pace -> scale vs normal (1 = normal). Absolute ms (>20) maps via default dwell. */
|
|
118
|
+
export function demoPaceScale(pace) {
|
|
119
|
+
if (typeof pace === "number") {
|
|
120
|
+
if (pace > 20)
|
|
121
|
+
return Math.min(10, Math.max(0.05, pace / FIXTURE_DURATION_MS_DEFAULT));
|
|
122
|
+
return Math.min(10, Math.max(0.05, pace));
|
|
123
|
+
}
|
|
124
|
+
if (pace === "blitz")
|
|
125
|
+
return 0.05;
|
|
126
|
+
if (pace === "fast")
|
|
127
|
+
return 0.33;
|
|
128
|
+
if (pace === "slow")
|
|
129
|
+
return 2;
|
|
130
|
+
return 1;
|
|
131
|
+
}
|
|
132
|
+
export function demoPaceIsBlitz(pace) {
|
|
133
|
+
return pace === "blitz" || (typeof pace === "number" && pace > 0 && pace <= 0.1);
|
|
134
|
+
}
|
|
135
|
+
/** True when pace should use the short-gate / fast fixture path (not slow authored). */
|
|
136
|
+
export function demoPaceIsFast(pace) {
|
|
137
|
+
if (demoPaceIsBlitz(pace))
|
|
138
|
+
return true;
|
|
139
|
+
if (pace === "fast")
|
|
140
|
+
return true;
|
|
141
|
+
if (typeof pace === "number" && pace <= 20)
|
|
142
|
+
return pace < 0.75;
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
export function demoPaceIsSlow(pace) {
|
|
146
|
+
if (pace === "slow")
|
|
147
|
+
return true;
|
|
148
|
+
if (typeof pace === "number") {
|
|
149
|
+
if (pace > 20)
|
|
150
|
+
return pace >= 3000;
|
|
151
|
+
return pace > 1.25;
|
|
152
|
+
}
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
/** Autoplay / Next-gate ms for this pace (base is WAYGRAPH_AUTOPLAY_MS or 1800). */
|
|
156
|
+
export function demoPaceGateMs(pace, baseAutoplayMs) {
|
|
157
|
+
if (demoPaceIsBlitz(pace))
|
|
158
|
+
return Math.min(80, baseAutoplayMs);
|
|
159
|
+
if (typeof pace === "number" && pace > 20) {
|
|
160
|
+
return Math.min(30000, Math.max(80, Math.round(pace)));
|
|
161
|
+
}
|
|
162
|
+
const scale = demoPaceScale(pace);
|
|
163
|
+
return Math.min(30000, Math.max(80, Math.round(baseAutoplayMs * scale)));
|
|
164
|
+
}
|
|
104
165
|
/**
|
|
105
166
|
* Resolve min dwell ms for any fixture (stub / flow fixture / yap slide),
|
|
106
167
|
* or `null` when duration is unset (caller keeps legacy timing).
|
|
168
|
+
*
|
|
169
|
+
* Authoring wins: an explicit slow/numeric pace is not crushed by CLI `--fast`
|
|
170
|
+
* (`gatesFast`). `--fast` only shortens when pace is unset/normal.
|
|
107
171
|
*/
|
|
108
172
|
export function resolveFixtureDwellMs(fixture, opts) {
|
|
109
173
|
if (fixture.duration === undefined || fixture.duration === false)
|
|
110
174
|
return null;
|
|
111
|
-
const pace =
|
|
175
|
+
const pace = opts?.pace !== undefined && opts.pace !== null
|
|
176
|
+
? normalizeDemoPace(opts.pace)
|
|
177
|
+
: opts?.gatesFast
|
|
178
|
+
? "fast"
|
|
179
|
+
: "normal";
|
|
112
180
|
const fastMs = typeof fixture.fastMode === "number" && Number.isFinite(fixture.fastMode) && fixture.fastMode >= 0
|
|
113
181
|
? fixture.fastMode
|
|
114
182
|
: FIXTURE_DURATION_FAST_MS_DEFAULT;
|
|
115
|
-
if (pace === "blitz" || pace === "fast" || opts?.gatesFast)
|
|
116
|
-
return fastMs;
|
|
117
183
|
const normalMs = fixture.duration === true
|
|
118
184
|
? FIXTURE_DURATION_MS_DEFAULT
|
|
119
185
|
: typeof fixture.duration === "number" && Number.isFinite(fixture.duration) && fixture.duration >= 0
|
|
120
186
|
? fixture.duration
|
|
121
187
|
: FIXTURE_DURATION_MS_DEFAULT;
|
|
188
|
+
if (typeof pace === "number") {
|
|
189
|
+
if (pace > 20)
|
|
190
|
+
return Math.round(pace);
|
|
191
|
+
return Math.max(0, Math.round(normalMs * Math.min(10, Math.max(0.05, pace))));
|
|
192
|
+
}
|
|
193
|
+
if (pace === "blitz" || pace === "fast")
|
|
194
|
+
return fastMs;
|
|
195
|
+
// CLI --fast only when author left pace at normal
|
|
196
|
+
if (opts?.gatesFast && pace === "normal")
|
|
197
|
+
return fastMs;
|
|
122
198
|
if (pace === "slow")
|
|
123
199
|
return Math.max(normalMs, FIXTURE_DURATION_SLOW_MS_DEFAULT);
|
|
124
200
|
return normalMs;
|
package/dist/index.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ export { connect, checkpoint } from "./types.js";
|
|
|
3
3
|
export { MemKey, MemPage, key, keyGroup } from "./mem-page.js";
|
|
4
4
|
export { Trait, urlMatches, textEquals, visible } from "./trait.js";
|
|
5
5
|
export { runGraph, spawnTab, narrate, Engine, start, end, branch, withVerify, modVerify, modVerifyAll, defineBlock, defineNavBlock, defineNavClickBlock, defineMethodBlock, defineActionBlock, definePageBlock, defineEffectBlock, defineMemEffectBlock, defineMemNavBlock, locate, composeBlock, fastForwardComposeBlock, isFastForwardBlock, preflight, withSessionReset, withTitle, withDemoPace, withBlockPace, withHighlightStyle, withExpectedFailure, withHighlightFixtures, chainFlow, } from "./engine.js";
|
|
6
|
-
export { resolveHighlightSlots, resolveSlides, resolveFixtureDwellMs, resolveSlideDwellMs, formatHighlightCaption, hasAuthoredStubAfter, hasAuthoredStubOnError, normalizeHighlightTone, normalizeDemoPace, normalizeHighlightSize, normalizeHighlightWeight, applyHighlightStyleDefaults, toneIconPrefix, resolveStepDemoPace, FIXTURE_DURATION_MS_DEFAULT, FIXTURE_DURATION_FAST_MS_DEFAULT, FIXTURE_DURATION_SLOW_MS_DEFAULT, SLIDE_DURATION_MS_DEFAULT, SLIDE_DURATION_FAST_MS_DEFAULT, } from "./highlights.js";
|
|
7
|
-
export type { WaygraphHighlightStub, WaygraphHighlightFixture, WaygraphSlide, FixtureDurationFields, HighlightStubPhase, HighlightStubPhaseName, HighlightFixtureMap, ResolvedHighlight, WaygraphHighlight, HighlightTone, HighlightSize, HighlightWeight, HighlightStyleDefaults, DemoPace, } from "./highlights.js";
|
|
6
|
+
export { resolveHighlightSlots, resolveSlides, resolveFixtureDwellMs, resolveSlideDwellMs, formatHighlightCaption, hasAuthoredStubAfter, hasAuthoredStubOnError, normalizeHighlightTone, normalizeDemoPace, normalizeHighlightSize, normalizeHighlightWeight, applyHighlightStyleDefaults, toneIconPrefix, resolveStepDemoPace, demoPaceScale, demoPaceIsBlitz, demoPaceIsFast, demoPaceIsSlow, demoPaceGateMs, FIXTURE_DURATION_MS_DEFAULT, FIXTURE_DURATION_FAST_MS_DEFAULT, FIXTURE_DURATION_SLOW_MS_DEFAULT, SLIDE_DURATION_MS_DEFAULT, SLIDE_DURATION_FAST_MS_DEFAULT, } from "./highlights.js";
|
|
7
|
+
export type { WaygraphHighlightStub, WaygraphHighlightFixture, WaygraphSlide, FixtureDurationFields, HighlightStubPhase, HighlightStubPhaseName, HighlightFixtureMap, ResolvedHighlight, WaygraphHighlight, HighlightTone, HighlightSize, HighlightWeight, HighlightStyleDefaults, DemoPace, DemoPaceName, } from "./highlights.js";
|
|
8
8
|
export type { Flow, EngineConfig, ComposedBlock, FastForwardComposedBlock, RunGraphOptions, BlockInfo, NavBlock, NavBlockOptions, NavClickBlock, NavClickBlockOptions, MethodBlock, ActionBlock, PageBlock, PageBlockOptions, PageMethodEntry, EffectBlock, MemEffectBlock, MemNavBlock, } from "./engine.js";
|
|
9
9
|
export type { ActionPage } from "./types.js";
|
|
10
10
|
export { discoverGraph, toMermaid, findOrphanBlocks, findBlockPath } from "./graph.js";
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ export { connect, checkpoint } from "./types.js";
|
|
|
2
2
|
export { MemKey, MemPage, key, keyGroup } from "./mem-page.js";
|
|
3
3
|
export { Trait, urlMatches, textEquals, visible } from "./trait.js";
|
|
4
4
|
export { runGraph, spawnTab, narrate, Engine, start, end, branch, withVerify, modVerify, modVerifyAll, defineBlock, defineNavBlock, defineNavClickBlock, defineMethodBlock, defineActionBlock, definePageBlock, defineEffectBlock, defineMemEffectBlock, defineMemNavBlock, locate, composeBlock, fastForwardComposeBlock, isFastForwardBlock, preflight, withSessionReset, withTitle, withDemoPace, withBlockPace, withHighlightStyle, withExpectedFailure, withHighlightFixtures, chainFlow, } from "./engine.js";
|
|
5
|
-
export { resolveHighlightSlots, resolveSlides, resolveFixtureDwellMs, resolveSlideDwellMs, formatHighlightCaption, hasAuthoredStubAfter, hasAuthoredStubOnError, normalizeHighlightTone, normalizeDemoPace, normalizeHighlightSize, normalizeHighlightWeight, applyHighlightStyleDefaults, toneIconPrefix, resolveStepDemoPace, FIXTURE_DURATION_MS_DEFAULT, FIXTURE_DURATION_FAST_MS_DEFAULT, FIXTURE_DURATION_SLOW_MS_DEFAULT, SLIDE_DURATION_MS_DEFAULT, SLIDE_DURATION_FAST_MS_DEFAULT, } from "./highlights.js";
|
|
5
|
+
export { resolveHighlightSlots, resolveSlides, resolveFixtureDwellMs, resolveSlideDwellMs, formatHighlightCaption, hasAuthoredStubAfter, hasAuthoredStubOnError, normalizeHighlightTone, normalizeDemoPace, normalizeHighlightSize, normalizeHighlightWeight, applyHighlightStyleDefaults, toneIconPrefix, resolveStepDemoPace, demoPaceScale, demoPaceIsBlitz, demoPaceIsFast, demoPaceIsSlow, demoPaceGateMs, FIXTURE_DURATION_MS_DEFAULT, FIXTURE_DURATION_FAST_MS_DEFAULT, FIXTURE_DURATION_SLOW_MS_DEFAULT, SLIDE_DURATION_MS_DEFAULT, SLIDE_DURATION_FAST_MS_DEFAULT, } from "./highlights.js";
|
|
6
6
|
export { discoverGraph, toMermaid, findOrphanBlocks, findBlockPath } from "./graph.js";
|
|
7
7
|
export { isFileSelectToken, parseBlocksSelect, matchBlocksSelect, globToRegExp, } from "./blocks-select.js";
|
|
8
8
|
export { EdgeLeaseCoordinator } from "./traverse-lease.js";
|