screencast-axi 0.1.3 → 0.1.4

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 CHANGED
@@ -71,6 +71,10 @@ pnpm exec screencast-axi record ./scenarios/product-tour.ts
71
71
  a minute - and the failure comes back with the URL it reached, a screenshot, and what each part of
72
72
  the selector actually matched.
73
73
 
74
+ A clip recorded by path is a first-class clip: the manifest records which file it came from, so
75
+ `list`, `show`, `check` and a later `record <id>` all find it without a config listing it. Adding
76
+ a config later is what puts it in `record --all`.
77
+
74
78
  A scenario is TypeScript, and a plain object:
75
79
 
76
80
  ```ts
@@ -269,6 +273,15 @@ One measuring pass, then it solves for the pace that lands near the target. A ta
269
273
  the solve uses the measured split rather than assuming everything scales. Pace is clamped to a
270
274
  watchable range, and a target outside it is reported rather than obeyed.
271
275
 
276
+ The measuring pass is the most expensive thing `record` does, so its result is kept and reused:
277
+ rehearse first and the take that follows needs one browser pass instead of two. Anything that
278
+ would change the timing - an edit to the scenario or its narration, another viewport, device or
279
+ origin, a new version of the recorder - measures again rather than trusting a stale number. The
280
+ output says which happened.
281
+
282
+ A scenario can carry its own `targetDurationMs` so the length lives with the clip; `--duration`
283
+ overrides it, and an explicit `--pace` overrides both.
284
+
272
285
  ### Emits what the destination needs
273
286
 
274
287
  mp4 and webm every time, plus a poster frame. `--gif` and `--webp` add looping images for the
@@ -306,8 +319,14 @@ object written in the config - typed and debuggable rather than a shelled-out sc
306
319
 
307
320
  ## Output formats
308
321
 
309
- Every take produces an mp4, a webm and a poster. Looping images are opt-in with `--gif` and
310
- `--webp`, for the places a `<video>` does not render - a README, an npm page, an email.
322
+ Every take produces an mp4, a webm and a poster, all three encoded at once. Looping images are
323
+ opt-in with `--gif` and `--webp`, for the places a `<video>` does not render - a README, an npm
324
+ page, an email.
325
+
326
+ The webm is offered first and the mp4 is the fallback, so the webm only earns its place by being
327
+ the smaller of the two. That is what `webm.crf` is tuned for: measured on a 1280x800 ten-second
328
+ take, the webm is 796 KB against the mp4's 1,056 KB, with no visible difference on text. VP9 and
329
+ h264 do not share a CRF scale, so the two numbers in the config are not comparable to each other.
311
330
 
312
331
  Measured on a real 16.7s app screencast, all at 800px and 15fps:
313
332
 
@@ -326,10 +345,16 @@ paused, and ignores `prefers-reduced-motion`. It is an export, not a storage for
326
345
 
327
346
  Optional. `screencast.config.ts` at the repo root, found by walking up from the working directory:
328
347
 
348
+ `init` writes one with a type-only import, so it loads in a project that has not installed the
349
+ package. Import `defineConfig` instead if you would rather have the call, and `profileAuth` and
350
+ the other auth strategies are real imports either way - a config that uses one needs the package
351
+ installed beside it.
352
+
329
353
  ```ts
330
- import { defineConfig, profileAuth } from "screencast-axi";
354
+ import type { ScreencastConfig } from "screencast-axi";
355
+ import { profileAuth } from "screencast-axi";
331
356
 
332
- export default defineConfig({
357
+ export default {
333
358
  baseUrl: "http://localhost:3000",
334
359
  scenarios: ["scenarios/*.ts"],
335
360
  outDir: "public/demos",
@@ -343,7 +368,7 @@ export default defineConfig({
343
368
  // Page chrome that should not end up in the footage.
344
369
  hideSelectors: ["#cookie-banner", "nextjs-portal"],
345
370
  },
346
- });
371
+ } satisfies ScreencastConfig;
347
372
  ```
348
373
 
349
374
  Relative paths resolve against the config file, never the shell's working directory, so a command
@@ -440,6 +465,7 @@ screencast-axi record <id|path...>
440
465
  | `--duration <30s>` | Aim for this length, e.g. 30s (measures first, then solves for pace). |
441
466
  | `--out <dir>` | Output directory. |
442
467
  | `--all` | Record every scenario the config lists. |
468
+ | `--if-changed` | Skip clips already recorded from the current scenario. |
443
469
  | `--full` | Include the full action log. |
444
470
  | `--gif` | Also emit a looping GIF. |
445
471
  | `--webp` | Also emit a looping WebP (half a GIF's size). |
@@ -5,6 +5,7 @@ import { loadConfig, selectStrategy } from "../config.js";
5
5
  import { ScreencastError } from "../errors.js";
6
6
  import { parseFlags } from "../flags.js";
7
7
  import { parseDuration } from "../duration.js";
8
+ import { NPX_INVOCATION } from "../skill.js";
8
9
  export const AUTH_FLAGS = {
9
10
  config: { kind: "string", description: "Path to a config file", placeholder: "path" },
10
11
  "base-url": { kind: "string", description: "Site to sign in to", placeholder: "url" },
@@ -118,7 +119,7 @@ async function login(config, strategy, viewport, authCtx, flags) {
118
119
  if (!hasDisplay()) {
119
120
  throw new ScreencastError("No display to open a browser window on", "NO_DISPLAY", [
120
121
  "Ask the user to run this on their own machine:",
121
- ` npx -y screencast-axi auth login --interactive --base-url ${authCtx.baseUrl}`,
122
+ ` ${NPX_INVOCATION} auth login --interactive --base-url ${authCtx.baseUrl}`,
122
123
  "Or produce a session file there and point `storageStateAuth` at it",
123
124
  ]);
124
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/commands/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { ScreencastError } from "../errors.js";
2
2
  import { parseFlags } from "../flags.js";
3
+ import { NPX_INVOCATION } from "../skill.js";
3
4
  const TOPICS = {
4
5
  overview: {
5
6
  summary: "What this tool does, and what is built so far",
@@ -140,7 +141,7 @@ const TOPICS = {
140
141
  ' auth: profileAuth({ signedInSelector: "[data-testid=user-menu]" }),',
141
142
  "",
142
143
  "Then a person runs, once, in their own terminal:",
143
- " npx -y screencast-axi auth login --interactive",
144
+ ` ${NPX_INVOCATION} auth login --interactive`,
144
145
  "A browser opens, they sign in however that site wants - OAuth, SSO, a",
145
146
  "magic link, two-factor - and close the window. The session lives in the",
146
147
  "profile and every take reuses it. No credential is handled by this tool.",
@@ -1 +1 @@
1
- {"version":3,"file":"guide.js","sourceRoot":"","sources":["../../../src/commands/guide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAkB,MAAM,aAAa,CAAC;AAiBzD,MAAM,MAAM,GAA0B;IACpC,QAAQ,EAAE;QACR,OAAO,EAAE,+CAA+C;QACxD,IAAI,EAAE;YACJ,yEAAyE;YACzE,wEAAwE;YACxE,yEAAyE;YACzE,8CAA8C;YAC9C,EAAE;YACF,0EAA0E;YAC1E,iEAAiE;YACjE,sEAAsE;YACtE,EAAE;YACF,0EAA0E;YAC1E,uEAAuE;YACvE,uEAAuE;YACvE,YAAY;YACZ,EAAE;YACF,wEAAwE;YACxE,oDAAoD;SACrD;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,2DAA2D;QACpE,IAAI,EAAE;YACJ,yEAAyE;YACzE,8DAA8D;YAC9D,EAAE;YACF,uEAAuE;YACvE,kCAAkC;YAClC,yCAAyC;YACzC,yCAAyC;YACzC,yCAAyC;YACzC,wEAAwE;YACxE,8DAA8D;YAC9D,EAAE;YACF,sEAAsE;YACtE,wEAAwE;YACxE,yEAAyE;YACzE,yEAAyE;YACzE,iEAAiE;YACjE,+BAA+B;YAC/B,EAAE;YACF,sEAAsE;YACtE,0EAA0E;YAC1E,wEAAwE;YACxE,gEAAgE;YAChE,EAAE;YACF,0EAA0E;YAC1E,qEAAqE;YACrE,yCAAyC;SAC1C;KACF;IAED,MAAM,EAAE;QACN,OAAO,EAAE,sCAAsC;QAC/C,IAAI,EAAE;YACJ,yDAAyD;YACzD,0EAA0E;YAC1E,EAAE;YACF,sEAAsE;YACtE,0EAA0E;YAC1E,qEAAqE;YACrE,iEAAiE;YACjE,EAAE;YACF,uEAAuE;YACvE,iEAAiE;YACjE,wEAAwE;YACxE,uEAAuE;YACvE,uEAAuE;YACvE,qEAAqE;YACrE,EAAE;YACF,8DAA8D;YAC9D,iEAAiE;SAClE;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,2BAA2B;QACpC,IAAI,EAAE;YACJ,6CAA6C;YAC7C,EAAE;YACF,wEAAwE;YACxE,uEAAuE;YACvE,0CAA0C;YAC1C,EAAE;YACF,wEAAwE;YACxE,wEAAwE;YACxE,yEAAyE;YACzE,0EAA0E;YAC1E,oCAAoC;YACpC,EAAE;YACF,uEAAuE;YACvE,0EAA0E;YAC1E,qEAAqE;YACrE,wDAAwD;YACxD,uDAAuD;YACvD,EAAE;YACF,wEAAwE;YACxE,wEAAwE;YACxE,sEAAsE;YACtE,uBAAuB;SACxB;KACF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE;YACJ,wEAAwE;YACxE,sDAAsD;YACtD,EAAE;YACF,kBAAkB;YAClB,iDAAiD;YACjD,iDAAiD;YACjD,oCAAoC;YACpC,OAAO;YACP,EAAE;YACF,yEAAyE;YACzE,wEAAwE;YACxE,wEAAwE;YACxE,iDAAiD;YACjD,EAAE;YACF,mEAAmE;YACnE,wEAAwE;YACxE,uEAAuE;YACvE,yEAAyE;YACzE,sBAAsB;YACtB,EAAE;YACF,oEAAoE;YACpE,qEAAqE;SACtE;KACF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE;YACJ,sEAAsE;YACtE,uEAAuE;YACvE,EAAE;YACF,2BAA2B;YAC3B,mDAAmD;YACnD,uEAAuE;YACvE,EAAE;YACF,kDAAkD;YAClD,kDAAkD;YAClD,uEAAuE;YACvE,yEAAyE;YACzE,0EAA0E;YAC1E,EAAE;YACF,wEAAwE;YACxE,yEAAyE;YACzE,wEAAwE;YACxE,iEAAiE;YACjE,qEAAqE;YACrE,gEAAgE;YAChE,EAAE;YACF,wEAAwE;YACxE,sEAAsE;YACtE,uEAAuE;YACvE,wEAAwE;YACxE,wCAAwC;YACxC,EAAE;YACF,oEAAoE;YACpE,uEAAuE;YACvE,wBAAwB;YACxB,EAAE;YACF,oEAAoE;YACpE,sEAAsE;YACtE,sEAAsE;SACvE;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,gDAAgD;QACzD,IAAI,EAAE;YACJ,uEAAuE;YACvE,sDAAsD;YACtD,EAAE;YACF,uEAAuE;YACvE,sEAAsE;YACtE,EAAE;YACF,qEAAqE;YACrE,oEAAoE;YACpE,4DAA4D;YAC5D,EAAE;YACF,wEAAwE;YACxE,wEAAwE;YACxE,yEAAyE;YACzE,qEAAqE;YACrE,WAAW;YACX,EAAE;YACF,uEAAuE;YACvE,wEAAwE;YACxE,0EAA0E;YAC1E,EAAE;YACF,uEAAuE;YACvE,uBAAuB;SACxB;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,sEAAsE;QAC/E,IAAI,EAAE;YACJ,yEAAyE;YACzE,0EAA0E;YAC1E,oEAAoE;YACpE,wEAAwE;YACxE,EAAE;YACF,0EAA0E;YAC1E,0EAA0E;YAC1E,yEAAyE;YACzE,SAAS;YACT,EAAE;YACF,yEAAyE;YACzE,uEAAuE;YACvE,iEAAiE;YACjE,yCAAyC;SAC1C;KACF;CACF,CAAC;AAEF,mDAAmD;AACnD,MAAM,CAAC,MAAM,WAAW,GAAc,EAAE,CAAC;AAEzC,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,0EAA0E;IAC1E,0DAA0D;IAC1D,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC;IAErC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,eAAe,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,kBAAkB,EAAE;YAC/E,wDAAwD;YACxD,+CAA+C;SAChD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACxF,IAAI,EAAE,CAAC,8CAA8C,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,eAAe,CAAC,wBAAwB,KAAK,EAAE,EAAE,kBAAkB,EAAE;YAC7E,qBAAqB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACrD,wDAAwD;SACzD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,GAAG;QACR,gBAAgB;QAChB,+DAA+D;QAC/D,EAAE;QACF,QAAQ;QACR,4DAA4D;QAC5D,kDAAkD;QAClD,EAAE;QACF,WAAW,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAC5C,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"guide.js","sourceRoot":"","sources":["../../../src/commands/guide.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,9 @@ export async function listCommand(args) {
44
44
  ? {
45
45
  title: r.title,
46
46
  file: relative(process.cwd(), r.file),
47
+ // A clip recorded by path is real, but `--all` will not re-shoot
48
+ // it, which is the one thing worth knowing about it.
49
+ ...(r.configured ? {} : { configured: false }),
47
50
  ...(r.staleReason ? { why: r.staleReason } : {}),
48
51
  ...(r.missing.length > 0 ? { missing: r.missing } : {}),
49
52
  ...(r.entry?.recordedAt ? { recorded: r.entry.recordedAt } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/list.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
+ import { existsSync } from "node:fs";
1
2
  import { readFile } from "node:fs/promises";
2
3
  import { isAbsolute, relative, resolve } from "node:path";
3
4
  import { loadConfig, loadScenarioFiles, loadScenarios } from "../config.js";
4
5
  import { ScreencastError } from "../errors.js";
5
6
  import { parseFlags } from "../flags.js";
6
- import { ScenarioFailure, runScenario } from "../run.js";
7
+ import { baseUrlFor, runScenario, ScenarioFailure, viewportFor, } from "../run.js";
8
+ import { readMeasurement } from "../measure.js";
9
+ import { readManifest } from "../manifest.js";
10
+ import { buildInventory } from "../inventory.js";
7
11
  import { parseDuration, solvePace } from "../duration.js";
8
12
  import { detectToolchain } from "../toolchain.js";
9
13
  const SHARED = {
@@ -30,6 +34,10 @@ export const RECORD_FLAGS = {
30
34
  },
31
35
  out: { kind: "string", description: "Output directory", placeholder: "dir" },
32
36
  all: { kind: "boolean", description: "Record every scenario the config lists" },
37
+ "if-changed": {
38
+ kind: "boolean",
39
+ description: "Skip clips already recorded from the current scenario",
40
+ },
33
41
  full: { kind: "boolean", description: "Include the full action log" },
34
42
  gif: { kind: "boolean", description: "Also emit a looping GIF" },
35
43
  webp: { kind: "boolean", description: "Also emit a looping WebP (half a GIF's size)" },
@@ -38,6 +46,26 @@ export const RECORD_FLAGS = {
38
46
  "keep-raw": { kind: "boolean", description: "Keep the raw capture for inspection" },
39
47
  };
40
48
  export const REHEARSE_FLAGS = SHARED;
49
+ /**
50
+ * A scenario the manifest remembers recording, by id.
51
+ *
52
+ * A clip recorded by path is not in the config, so re-cutting it by id - the
53
+ * command `record` itself prints when it finishes - used to fail with
54
+ * `UNKNOWN_SCENARIO`. The manifest knows which file the clip came from, so
55
+ * the id is answerable without the config listing it.
56
+ */
57
+ async function recordedAs(id, config) {
58
+ const entry = readManifest(config.outDir).entries.find((e) => e.id === id);
59
+ if (!entry?.sourceFile)
60
+ return null;
61
+ const file = isAbsolute(entry.sourceFile)
62
+ ? entry.sourceFile
63
+ : resolve(config.outDir, entry.sourceFile);
64
+ if (!existsSync(file))
65
+ return null;
66
+ const loaded = await loadScenarioFiles([file]).catch(() => []);
67
+ return loaded.find((l) => l.scenario.id === id) ?? null;
68
+ }
41
69
  /**
42
70
  * Resolves ids or file paths to scenarios.
43
71
  *
@@ -58,7 +86,7 @@ async function select(targets, config, all) {
58
86
  return loaded;
59
87
  const chosen = [];
60
88
  for (const id of ids) {
61
- const match = loaded.find((l) => l.scenario.id === id);
89
+ const match = loaded.find((l) => l.scenario.id === id) ?? (await recordedAs(id, config));
62
90
  if (!match) {
63
91
  const known = loaded.map((l) => l.scenario.id);
64
92
  throw new ScreencastError(`Unknown scenario: ${id}`, "UNKNOWN_SCENARIO", [
@@ -77,6 +105,46 @@ async function select(targets, config, all) {
77
105
  }
78
106
  return chosen;
79
107
  }
108
+ /**
109
+ * What a stored measurement has to match to describe this take.
110
+ *
111
+ * Null when the scenario's source could not be read: without it an edit
112
+ * cannot be detected, and a measurement that might describe an older version
113
+ * of the scenario is not one worth keeping.
114
+ */
115
+ async function measurementKey(options, sourceText) {
116
+ if (sourceText === undefined)
117
+ return null;
118
+ const viewport = await viewportFor(options);
119
+ return {
120
+ scenarioId: options.scenario.id,
121
+ sourceText,
122
+ steps: options.scenario.steps,
123
+ baseUrl: baseUrlFor(options),
124
+ width: viewport.viewport.width,
125
+ height: viewport.viewport.height,
126
+ ...(viewport.device ? { device: viewport.device } : {}),
127
+ };
128
+ }
129
+ /**
130
+ * Narrows a selection to the clips that actually need re-shooting.
131
+ *
132
+ * The companion of `check`, which is where someone learns that three of
133
+ * fifteen clips have drifted. Without it the only way to act on that is
134
+ * `record --all`, which re-shoots the twelve that were fine - minutes of
135
+ * browser time and twelve identical files rewritten.
136
+ *
137
+ * "Changed" is the inventory's own judgement, so this and `check` cannot
138
+ * disagree: anything not `recorded` (stale narration, an edited scenario, a
139
+ * missing deliverable, never recorded at all) is in.
140
+ */
141
+ async function onlyChanged(selected, config, flags) {
142
+ if (flags["if-changed"] !== true)
143
+ return [...selected];
144
+ const inventory = await buildInventory(config);
145
+ const needsWork = new Set(inventory.rows.filter((row) => row.status !== "recorded").map((row) => row.id));
146
+ return selected.filter((s) => needsWork.has(s.scenario.id));
147
+ }
80
148
  function viewportOf(value) {
81
149
  if (value === undefined)
82
150
  return undefined;
@@ -117,7 +185,7 @@ function performed(result, full) {
117
185
  function truncate(text, full) {
118
186
  return full || text.length <= 70 ? text : `${text.slice(0, 67)}...`;
119
187
  }
120
- function describe(result, solution) {
188
+ function describe(result, solution, reusedMeasurement = false) {
121
189
  const files = result.encoded
122
190
  ? Object.entries(result.encoded.sizes).map(([name, bytes]) => ({
123
191
  file: name,
@@ -133,6 +201,8 @@ function describe(result, solution) {
133
201
  ? {
134
202
  target_s: Number((solution.targetMs / 1000).toFixed(1)),
135
203
  natural_s: Number((solution.naturalMs / 1000).toFixed(1)),
204
+ // Which of the two browser passes this take actually cost.
205
+ measured: reusedMeasurement ? "reused from an earlier pass" : "this run",
136
206
  ...(solution.warning ? { warning: solution.warning } : {}),
137
207
  }
138
208
  : {}),
@@ -155,16 +225,31 @@ export async function recordCommand(args, mode) {
155
225
  ]);
156
226
  }
157
227
  const config = await loadConfig(flags["config"]);
158
- const selected = await select(positionals, config, all);
228
+ const selected = await onlyChanged(await select(positionals, config, all), config, flags);
159
229
  if (selected.length === 0) {
160
- return { [mode]: [], totals: "0 scenarios matched", help: ["Run `screencast-axi list`"] };
230
+ return flags["if-changed"] === true
231
+ ? {
232
+ [mode]: [],
233
+ totals: "nothing has changed",
234
+ help: ["Every configured clip is recorded from its current scenario"],
235
+ }
236
+ : { [mode]: [], totals: "0 scenarios matched", help: ["Run `screencast-axi list`"] };
161
237
  }
162
238
  // Probed once for the batch rather than per clip, and before any browser
163
239
  // opens - a missing ffmpeg should not cost a forty-second take first.
164
240
  const toolchain = mode === "record" ? await detectToolchain() : undefined;
165
241
  const orientation = orientationOf(flags["orientation"]);
166
242
  const viewport = viewportOf(flags["viewport"]);
167
- const targetMs = flags["duration"] !== undefined ? parseDuration(flags["duration"]) : null;
243
+ // Both given is a contradiction, not a precedence question: `--pace` states
244
+ // the pace and `--duration` asks for one to be solved. Silently dropping
245
+ // either would produce a clip that is not the length the flag asked for.
246
+ if (flags["duration"] !== undefined && flags["pace"] !== undefined) {
247
+ throw new ScreencastError("`--duration` and `--pace` cannot both be given", "VALIDATION_ERROR", [
248
+ "`--duration 30s` solves for the pace that lands near that length",
249
+ "`--pace 0.8` sets it directly, leaving nothing to solve for",
250
+ ]);
251
+ }
252
+ const flagTargetMs = flags["duration"] !== undefined ? parseDuration(flags["duration"]) : null;
168
253
  // Looping formats are for the places a <video> does not render. They are far
169
254
  // heavier than the mp4, so they stay opt-in per run.
170
255
  const loops = flags["gif"] === true ||
@@ -180,6 +265,8 @@ export async function recordCommand(args, mode) {
180
265
  : null;
181
266
  const results = [];
182
267
  const solutions = new Map();
268
+ /** Scenarios whose natural length came from a previous pass rather than a new one. */
269
+ const reused = new Set();
183
270
  for (const { scenario, file } of selected) {
184
271
  const sourceText = await readFile(file, "utf8").catch(() => undefined);
185
272
  // Everything except the mode and the pace, which the measuring pass and
@@ -188,6 +275,7 @@ export async function recordCommand(args, mode) {
188
275
  scenario,
189
276
  config,
190
277
  ...(sourceText ? { sourceText } : {}),
278
+ sourceFile: file,
191
279
  ...(flags["base-url"] ? { baseUrl: flags["base-url"] } : {}),
192
280
  ...(flags["out"] ? { outDir: resolve(process.cwd(), flags["out"]) } : {}),
193
281
  ...(flags["device"] ? { device: flags["device"] } : {}),
@@ -206,13 +294,29 @@ export async function recordCommand(args, mode) {
206
294
  log: (message) => void process.stderr.write(`${message}\n`),
207
295
  };
208
296
  let pace = flags["pace"];
297
+ // The flag wins over the scenario's own target, so a re-cut at another
298
+ // length needs no edit. An explicit --pace wins over both: it says what
299
+ // the pace is, leaving nothing to solve for.
300
+ const targetMs = pace !== undefined ? null : (flagTargetMs ?? scenario.targetDurationMs ?? null);
209
301
  if (targetMs !== null) {
210
302
  // Measured, not assumed: a scenario's length is only roughly linear in
211
303
  // pace, because the app's own waits do not scale with it. One no-encode
212
- // pass is the cheapest honest way to learn the natural length.
213
- process.stderr.write(`${scenario.id}: measuring for a ${targetMs / 1000}s target\n`);
214
- const probe = await runScenario({ ...base, mode: "rehearse", pace: 1 });
215
- const solution = solvePace(probe.durationMs, targetMs, probe.scaledPauseMs);
304
+ // pass is the cheapest honest way to learn the natural length - and a
305
+ // rehearsal already ran one, so the answer is often already known.
306
+ const key = await measurementKey({ ...base, mode: "rehearse", pace: 1 }, sourceText);
307
+ const cached = key ? readMeasurement(config.rawDir, key) : null;
308
+ let natural;
309
+ if (cached) {
310
+ process.stderr.write(`${scenario.id}: reusing the measured ${(cached.durationMs / 1000).toFixed(1)}s ` +
311
+ `for a ${targetMs / 1000}s target\n`);
312
+ natural = cached;
313
+ reused.add(scenario.id);
314
+ }
315
+ else {
316
+ process.stderr.write(`${scenario.id}: measuring for a ${targetMs / 1000}s target\n`);
317
+ natural = await runScenario({ ...base, mode: "rehearse", pace: 1 });
318
+ }
319
+ const solution = solvePace(natural.durationMs, targetMs, natural.scaledPauseMs);
216
320
  solutions.set(scenario.id, solution);
217
321
  pace = solution.pace;
218
322
  if (solution.warning)
@@ -227,7 +331,7 @@ export async function recordCommand(args, mode) {
227
331
  // it, so the log is the point of the output rather than an extra.
228
332
  const showLog = mode === "rehearse" || full;
229
333
  return {
230
- ...describe(only, solutions.get(only.id)),
334
+ ...describe(only, solutions.get(only.id), reused.has(only.id)),
231
335
  ...(only.hosts.length > 0 ? { hosts: only.hosts } : {}),
232
336
  ...(showLog ? { performed: performed(only, full) } : {}),
233
337
  help: nextSteps(only, showLog),
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/commands/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/commands/record.ts"],"names":[],"mappings":"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"}
@@ -61,9 +61,21 @@ export async function setupCommand(args) {
61
61
  ],
62
62
  };
63
63
  }
64
- const TEMPLATE = (outDir, url) => `import { defineConfig } from "screencast-axi";
64
+ /**
65
+ * The config `init` writes.
66
+ *
67
+ * A type-only import, for the same reason `scaffold` uses one: `import type`
68
+ * is erased at compile time, so the file loads whether or not the project has
69
+ * screencast-axi installed. A runtime `defineConfig` import resolves from the
70
+ * *user's* project, which under `npx` is a cache the file cannot reach - so
71
+ * `init` used to succeed and leave every command that reads the config
72
+ * failing with SELF_NOT_INSTALLED.
73
+ */
74
+ const TEMPLATE = (outDir, url) => `// A type-only import: erased when this file is compiled, so it loads whether
75
+ // or not the project has screencast-axi installed - under npx included.
76
+ import type { ScreencastConfig } from "screencast-axi";
65
77
 
66
- export default defineConfig({
78
+ export default {
67
79
  // Origin only. A baseUrl carrying a path is a trap: \`goto("/")\` resolves
68
80
  // against the origin and silently drops the path.
69
81
  baseUrl: ${JSON.stringify(url)},
@@ -76,6 +88,8 @@ export default defineConfig({
76
88
  // Uncomment to record pages behind a login. A person then runs
77
89
  // \`screencast-axi auth login --interactive\` once, signs in in the browser
78
90
  // window that opens, and every take afterwards reuses the session.
91
+ // \`profileAuth\` is a real import, so this needs the package installed here:
92
+ // \`import { profileAuth } from "screencast-axi"\`.
79
93
  //
80
94
  // browser: { profileDir: ".screencast/profile" },
81
95
  // auth: profileAuth({ signedInSelector: "[data-testid=user-menu]" }),
@@ -84,7 +98,7 @@ export default defineConfig({
84
98
  // Page chrome that should never end up in footage.
85
99
  hideSelectors: [],
86
100
  },
87
- });
101
+ } satisfies ScreencastConfig;
88
102
  `;
89
103
  const GITIGNORE = `
90
104
  # screencast-axi: raw captures, and the profile holding a real session
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,20 @@ export interface EncodeSettings {
9
9
  readonly preset: string;
10
10
  readonly profile: string;
11
11
  };
12
+ /**
13
+ * VP9 quality for the webm.
14
+ *
15
+ * The webm only earns its place by being the smaller of the two, since it is
16
+ * offered first and h264 plays everywhere. At CRF 34 it was not: measured
17
+ * across the demo clips and a 1280x800 Wikipedia take, the webm came out
18
+ * *larger* than the mp4 on four of five, so every viewer whose browser
19
+ * preferred it downloaded more bytes for the same picture, and the encode
20
+ * cost five times the h264 pass to produce them.
21
+ *
22
+ * VP9 and h264 do not share a CRF scale - 40 here is not "worse" than 23
23
+ * there. At 40 the same take is 796 KB against the mp4's 1056 KB, with no
24
+ * visible difference on text at 1:1.
25
+ */
12
26
  readonly webm: {
13
27
  readonly crf: number;
14
28
  };
@@ -5,7 +5,7 @@ export const DEFAULT_ENCODE_SETTINGS = {
5
5
  width: 1280,
6
6
  fps: 30,
7
7
  mp4: { crf: 23, preset: "slow", profile: "high" },
8
- webm: { crf: 34 },
8
+ webm: { crf: 40 },
9
9
  poster: { quality: 82 },
10
10
  gif: false,
11
11
  animatedWebp: false,
@@ -35,6 +35,10 @@ export async function encode(opts) {
35
35
  const scale = `scale=${opts.width}:-2:flags=lanczos`;
36
36
  const mp4 = join(opts.outDir, `${opts.id}.mp4`);
37
37
  const webm = join(opts.outDir, `${opts.id}.webm`);
38
+ // In sequence, deliberately. Each pass already saturates the machine - VP9
39
+ // with `-row-mt` most of all - so running the three concurrently only makes
40
+ // them contend: measured on a 10s 1280x800 clip across ten cores, 7.4s in
41
+ // sequence against 7.6s in parallel.
38
42
  await runOrThrow(ffmpeg, [
39
43
  ...QUIET,
40
44
  ...trim,