@flighthq/tool-capture 0.2.0 → 0.2.1-next.423.3350e53

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.
@@ -12,12 +12,51 @@ import { mkdirSync, renameSync, writeFileSync } from 'node:fs';
12
12
  import { join, resolve } from 'node:path';
13
13
  import pc from 'picocolors';
14
14
  import { getBaselineField, setBaselineField } from './baselineStore.js';
15
+ import { launchBrowser } from './captureBrowser.js';
15
16
  import { BACKEND_UNAVAILABLE, rendererMatchesFilter, routeSegment } from './captureEntries.js';
16
17
  import { formatDetailLine, formatStatusLine } from './captureFormat.js';
17
18
  import { isBrowserClosedError } from './captureInterrupt.js';
19
+ // Empty-frame threshold for the coverage-derived blank flag: a frame whose measured non-background
20
+ // coverage is at or below this reads as "nothing distinguishable rendered". Small but non-zero so a
21
+ // stray antialiased edge pixel does not count as content.
22
+ const OBSERVE_BLANK_COVERAGE = 0.001;
23
+ // Summarizes an observe-mode capture into the status.json diagnostics block. Pure over its inputs and
24
+ // the drained page logs (page exceptions vs. console/network errors are counted from `logs`), so the
25
+ // interpretation an agent relies on — blank vs. drew-but-wrong vs. crashed — is unit-testable without a
26
+ // browser. `blank` is decided by the MEASURED pixel `coverage` whenever we have it: the actual frame is
27
+ // ground truth. The incoming `args.blank` (a verify target registered but never published) is only a
28
+ // weak fallback used when coverage is unmeasurable — the verifier can fail to publish a scene that
29
+ // clearly rendered (its own threshold/timing), so trusting it over the pixels false-flags full frames as
30
+ // blank. Verified against the reference corpus, where many scenes publish `false` yet cover >0.9.
31
+ export function buildCaptureObserveDiagnostics(args) {
32
+ let pageErrorCount = 0;
33
+ let errorCount = 0;
34
+ for (const entry of args.logs) {
35
+ const level = entry.level;
36
+ if (level === 'pageerror')
37
+ pageErrorCount += 1;
38
+ else if (level === 'error')
39
+ errorCount += 1;
40
+ }
41
+ const blank = args.coverage !== null ? args.coverage <= OBSERVE_BLANK_COVERAGE : args.blank;
42
+ return {
43
+ backend: args.backend,
44
+ blank,
45
+ coverage: args.coverage,
46
+ errorCount,
47
+ pageErrorCount,
48
+ verifyPublished: args.verifyPublished,
49
+ verifyTargetKind: args.verifyTargetKind,
50
+ warmupFrames: args.warmupFrames,
51
+ };
52
+ }
18
53
  export async function captureEntry(opts) {
19
- const { context, entry, renderers, baseUrl, tool, outBase, root, updateBaseline = false, extraWait = 0, captureFrames = 0, failOnError = false, isAborted = () => false, } = opts;
54
+ const { context, entry, renderers, baseUrl, tool, outBase, root, updateBaseline = false, extraWait = 0, captureFrames = 0, failOnError = false, observe = false, isAborted = () => false, } = opts;
20
55
  const { displayLabel } = opts;
56
+ // The in-page render verifier drives the surface readback (__ftRenderImage) that avoids Docker's
57
+ // compositor-only black WebGL screenshots. It is implicit for the functional tool; an external subject
58
+ // (reference) opts in via `verify` once its pages register a functional target.
59
+ const verify = opts.verify ?? tool === 'functional';
21
60
  let anyFailed = false;
22
61
  let anyChanged = false;
23
62
  // Detail lines below the caller's [N/M] header drop the entry name (the header carries it) and
@@ -31,11 +70,13 @@ export async function captureEntry(opts) {
31
70
  // Stop launching pages once an interrupt has begun; the partial result is reported by the caller.
32
71
  if (isAborted())
33
72
  break;
34
- const urlPath = tool === 'examples'
35
- ? `examples/${entry.name}/${routeSegment(renderer)}/`
36
- : tool === 'functional'
37
- ? `tests/${entry.name}/${routeSegment(renderer)}/`
38
- : ''; // landing: the single page is served at the server root
73
+ const urlPath = entry.route
74
+ ? entry.route(renderer)
75
+ : tool === 'examples'
76
+ ? `examples/${entry.name}/${routeSegment(renderer)}/`
77
+ : tool === 'functional'
78
+ ? `tests/${entry.name}/${routeSegment(renderer)}/`
79
+ : ''; // landing: the single page is served at the server root
39
80
  const url = `${baseUrl}/${urlPath}`;
40
81
  const { outDir, tmpScreenshot, finalScreenshot, tmpLogs, finalLogs, statusPath } = getCaptureOutputPaths(outBase, tool, entry.name, renderer);
41
82
  mkdirSync(outDir, { recursive: true });
@@ -59,6 +100,8 @@ export async function captureEntry(opts) {
59
100
  // ignored to avoid HMR/info noise.
60
101
  const type = msg.type();
61
102
  if (type === 'error' || type === 'warning') {
103
+ if (type === 'warning' && isCaptureReadPixelsWarning(text))
104
+ return;
62
105
  logs.push({
63
106
  __flight: true,
64
107
  t: -1,
@@ -102,32 +145,74 @@ export async function captureEntry(opts) {
102
145
  }
103
146
  if (extraWait > 0)
104
147
  await page.waitForTimeout(extraWait);
105
- const waitsForVerification = tool === 'functional';
106
- if (waitsForVerification)
107
- await waitForRenderVerification(page);
148
+ const waitsForVerification = verify;
149
+ // The verification wait is the longest single step (up to 15s) and prints nothing while it
150
+ // polls, so a run can look hung right after "Ready at". A muted heartbeat marks that the entry
151
+ // is verifying, so the pause reads as progress rather than a stall.
152
+ let verification = null;
153
+ if (waitsForVerification) {
154
+ console.log(statusLine('muted', renderer, 'verifying render…'));
155
+ verification = await waitForRenderVerification(page);
156
+ }
157
+ const verificationTargetKind = waitsForVerification ? await getFunctionalTargetKind(page) : null;
108
158
  // Screenshot the render output only — not the full viewport — so all renderers produce the same
109
159
  // frame size and the gallery blink comparator has something meaningful to compare.
110
160
  //
111
- // - webgpu: SwiftShader can't present to the swapchain, so the canvas is blank in a Playwright
112
- // screenshot. The functional verifier reads the frame back from the GPU and exposes it as a PNG
113
- // data URL (window.__ftRenderImage). Fall back to a full page screenshot if unavailable (e.g.
114
- // examples, which don't run the verifier).
161
+ // - functional raster renders: the verifier exposes the same surface it fingerprinted as a PNG
162
+ // data URL (window.__ftRenderImage), avoiding compositor-only black screenshots in Docker.
163
+ // - webgpu examples: SwiftShader can't present to the swapchain, so the canvas is blank in a
164
+ // Playwright screenshot. Functional captures require the verifier image; examples fall back.
115
165
  // - dom: no canvas; the renderer appends a sized <div> directly to <body>.
116
166
  // - canvas / webgl: a <canvas> is appended directly to <body>.
117
167
  // - fallback: full page screenshot when neither canvas nor div is found (unknown layout).
118
168
  let screenshotBuffer;
169
+ // True when no verified/non-blank frame was produced and the screenshot below is a fallback.
170
+ // Only ever set in observe mode: gate mode throws instead (a blank frame must not pass silently).
171
+ let blank = false;
119
172
  const backend = rendererBackend(renderer);
120
- if (backend === 'webgpu') {
121
- const dataUrl = await getRenderImageDataUrl(page);
122
- if (dataUrl) {
123
- screenshotBuffer = Buffer.from(dataUrl.split(',')[1], 'base64');
124
- }
125
- else if (waitsForVerification) {
173
+ const dataUrl = waitsForVerification ? await getRenderImageDataUrl(page) : null;
174
+ // Zero-integration path: in observe mode, prefer reading the frame straight from the WebGL contexts
175
+ // the harness intercepted at getContext time (see launchBrowser). No client verifier registration
176
+ // and no verify-publish handshake to false-negate — the scene just renders, the harness grabs it.
177
+ // Null for wgpu (swapchain unreadable post-hoc — needs the SDK capture adapter), dom, 2d, or a page
178
+ // with no GL context, all of which fall through to the verifier/canvas paths below.
179
+ const intercept = observe && backend === 'webgl' ? await grabInterceptedGlFrame(page) : null;
180
+ if (intercept !== null) {
181
+ screenshotBuffer = Buffer.from(intercept.dataUrl.split(',')[1], 'base64');
182
+ blank = intercept.coverage <= OBSERVE_BLANK_COVERAGE;
183
+ }
184
+ else if (dataUrl && backend !== 'dom') {
185
+ screenshotBuffer = Buffer.from(dataUrl.split(',')[1], 'base64');
186
+ }
187
+ else if (backend === 'webgpu' && waitsForVerification) {
188
+ // No verifier image — SwiftShader can't present the swapchain, so a plain screenshot is black.
189
+ // Gate mode treats this as fatal; observe mode still wants eyes, so it emits that black frame and
190
+ // records blank:true rather than dead-ending on "cannot capture".
191
+ if (!observe)
126
192
  throw new Error('WebGPU verifier did not produce a render image');
127
- }
128
- else {
129
- screenshotBuffer = await page.screenshot();
130
- }
193
+ blank = true;
194
+ screenshotBuffer = await page.screenshot();
195
+ }
196
+ else if (backend === 'webgpu') {
197
+ screenshotBuffer = await page.screenshot();
198
+ }
199
+ else if (backend === 'webgl' && waitsForVerification && verificationTargetKind === 'webgl') {
200
+ // The page registered a WebGL verification target but published no verified frame, so its
201
+ // readback was blank — a canvas screenshot here would be an all-black false pass (the exact
202
+ // shape that hid a real render bug: green ✓ over a black frame, missed even by --fail-on-error
203
+ // since a verify timeout logs nothing). GATE mode fails loudly. OBSERVE mode instead emits that
204
+ // best-available (likely black) frame and records blank:true: the reviewing agent reads the
205
+ // diagnostics rather than a green ✓, so there is no false pass and it always has eyes on the scene.
206
+ // A page that registers no target is not making a verification claim and still falls through
207
+ // to the canvas-screenshot fallback below.
208
+ if (!observe)
209
+ throw new Error('WebGL verifier did not produce a render image (blank or failed render)');
210
+ blank = true;
211
+ screenshotBuffer = await page
212
+ .locator('canvas')
213
+ .first()
214
+ .screenshot()
215
+ .catch(() => page.screenshot());
131
216
  }
132
217
  else if (backend === 'dom') {
133
218
  screenshotBuffer = await page
@@ -149,6 +234,36 @@ export async function captureEntry(opts) {
149
234
  writeFileSync(tmpLogs, logs.map((l) => JSON.stringify(l)).join('\n'));
150
235
  renameSync(tmpScreenshot, finalScreenshot);
151
236
  renameSync(tmpLogs, finalLogs);
237
+ if (observe) {
238
+ // Eyes mode: never gate, never touch baselines. Always emit the screenshot (done above) plus a
239
+ // diagnostics block so a reviewing agent can interpret what it is looking at, then move on. The
240
+ // finally below still closes the page.
241
+ // Coverage source, best first: the harness's own intercepted-GL readback (measured pixels, the
242
+ // same frame we emit), then the page verifier's coverage, then a canvas grab. All are measured
243
+ // from real pixels — never the verify-publish handshake, which false-negates rendered scenes.
244
+ const coverage = intercept?.coverage ?? verification?.coverage ?? (await measureObservedCanvasCoverage(page));
245
+ const diagnostics = buildCaptureObserveDiagnostics({
246
+ backend,
247
+ blank,
248
+ coverage,
249
+ logs,
250
+ verifyPublished: dataUrl !== null,
251
+ verifyTargetKind: verificationTargetKind,
252
+ warmupFrames: await getObserveWarmupFrames(page),
253
+ });
254
+ const observeStatus = {
255
+ state: 'ready',
256
+ capturedAt: Date.now(),
257
+ error: null,
258
+ hash,
259
+ baselineHash: null,
260
+ changed: null,
261
+ observe: diagnostics,
262
+ };
263
+ writeFileSync(statusPath, JSON.stringify(observeStatus, null, 2));
264
+ console.log(statusLine('pass', renderer, formatObserveDetail(diagnostics)));
265
+ continue;
266
+ }
152
267
  // Baseline update or comparison. The baseline is a committed sha256 hash, not a screenshot:
153
268
  // capture mode renders a deterministic frame (see launchBrowser), so the hash alone detects
154
269
  // change and keeps the tracked baseline a small text file instead of a binary PNG. The fresh
@@ -237,15 +352,149 @@ export async function captureEntry(opts) {
237
352
  return 'changed';
238
353
  return 'ok';
239
354
  }
355
+ // One-line human summary of an observe capture for the console — the agent-readable detail is the
356
+ // status.json block, this just makes a multi-scene run scannable.
357
+ function formatObserveDetail(d) {
358
+ const parts = [d.blank ? 'observed (blank — no verified frame)' : 'observed'];
359
+ if (d.coverage !== null)
360
+ parts.push(`coverage ${d.coverage.toFixed(3)}`);
361
+ // Surface the warmup so a slow capture reads as "it drew, just late" rather than an unexplained pause.
362
+ if (d.warmupFrames > 0)
363
+ parts.push(`warmed up ${d.warmupFrames} extra frame${d.warmupFrames === 1 ? '' : 's'}`);
364
+ if (d.pageErrorCount > 0)
365
+ parts.push(`${d.pageErrorCount} page error${d.pageErrorCount === 1 ? '' : 's'}`);
366
+ if (d.errorCount > 0)
367
+ parts.push(`${d.errorCount} error${d.errorCount === 1 ? '' : 's'}`);
368
+ return parts.join(', ');
369
+ }
370
+ // Extra animation frames the in-page observe warmup rendered past the requested count (see
371
+ // launchBrowser). 0 when the page drew immediately or set nothing.
372
+ async function getObserveWarmupFrames(page) {
373
+ return page.evaluate(() => window.__ftWarmupFrames ?? 0).catch(() => 0);
374
+ }
240
375
  async function getRenderImageDataUrl(page) {
241
376
  return page
242
377
  .evaluate(() => window.__ftRenderImage ?? null)
243
378
  .catch(() => null);
244
379
  }
380
+ // The kind of functional target the page registered (webgl / webgpu / canvas / dom), or null if it
381
+ // registered none. A registered target is the page's claim that it verifies its own render; the
382
+ // screenshot selection uses it to tell "opted into verification but drew blank" (a failure) from
383
+ // "never opted in" (the canvas-screenshot fallback is expected).
384
+ async function getFunctionalTargetKind(page) {
385
+ return page
386
+ .evaluate(() => window.__ftTarget?.kind ?? null)
387
+ .catch(() => null);
388
+ }
389
+ // Reads the first canvas's presented pixels back in-page and returns the fraction (0..1) that differs
390
+ // from the top-left (background) pixel — an observe-mode coverage estimate for when the page verifier
391
+ // exposed none. Relies on preserveDrawingBuffer (launchBrowser forces it for gl), so a WebGL canvas
392
+ // retains its frame for drawImage. Reads the canvas itself, so a scene that renders only into an
393
+ // offscreen target (presented via the verifier image) reads low here — that low coverage IS the signal
394
+ // that the canvas holds nothing. Returns null when there is no canvas or the readback throws.
395
+ async function measureObservedCanvasCoverage(page) {
396
+ return page
397
+ .evaluate(() => {
398
+ const canvas = document.querySelector('canvas');
399
+ if (!canvas)
400
+ return null;
401
+ const w = canvas.width;
402
+ const h = canvas.height;
403
+ if (w === 0 || h === 0)
404
+ return null;
405
+ const off = document.createElement('canvas');
406
+ off.width = w;
407
+ off.height = h;
408
+ const ctx = off.getContext('2d');
409
+ if (!ctx)
410
+ return null;
411
+ ctx.drawImage(canvas, 0, 0);
412
+ const data = ctx.getImageData(0, 0, w, h).data;
413
+ const br = data[0];
414
+ const bg = data[1];
415
+ const bb = data[2];
416
+ let differing = 0;
417
+ const pixels = w * h;
418
+ for (let i = 0; i < pixels; i++) {
419
+ const o = i * 4;
420
+ if (Math.abs(data[o] - br) > 8 || Math.abs(data[o + 1] - bg) > 8 || Math.abs(data[o + 2] - bb) > 8) {
421
+ differing += 1;
422
+ }
423
+ }
424
+ return differing / pixels;
425
+ })
426
+ .catch(() => null);
427
+ }
428
+ // Zero-integration frame grab: read back every WebGL context the harness recorded at getContext time
429
+ // (see launchBrowser's __ftGlContexts) — pick the one with the most content — and return it as a PNG data
430
+ // URL plus its measured non-background coverage. Relies on the forced preserveDrawingBuffer so the
431
+ // presented default framebuffer survives for this post-hoc readback. No client verifier registration is
432
+ // involved: the scene just renders and the harness reads its context directly. Returns null when no GL
433
+ // context was recorded (a wgpu / 2d / dom page, or one with no canvas), which the caller falls through on.
434
+ async function grabInterceptedGlFrame(page) {
435
+ return page
436
+ .evaluate(() => {
437
+ const ctxs = window.__ftGlContexts;
438
+ if (ctxs === undefined || ctxs.length === 0)
439
+ return null;
440
+ let best = null;
441
+ for (const entry of ctxs) {
442
+ const canvas = entry.canvas;
443
+ const gl = entry.gl;
444
+ const w = canvas.width;
445
+ const h = canvas.height;
446
+ if (w === 0 || h === 0)
447
+ continue;
448
+ try {
449
+ gl.finish();
450
+ gl.bindFramebuffer(gl.FRAMEBUFFER, null);
451
+ const buf = new Uint8Array(w * h * 4);
452
+ gl.readPixels(0, 0, w, h, gl.RGBA, gl.UNSIGNED_BYTE, buf);
453
+ const br = buf[0];
454
+ const bg = buf[1];
455
+ const bb = buf[2];
456
+ let differing = 0;
457
+ const pixels = w * h;
458
+ for (let i = 0; i < pixels; i++) {
459
+ const o = i * 4;
460
+ if (Math.abs(buf[o] - br) > 8 || Math.abs(buf[o + 1] - bg) > 8 || Math.abs(buf[o + 2] - bb) > 8) {
461
+ differing += 1;
462
+ }
463
+ }
464
+ const coverage = differing / pixels;
465
+ if (best !== null && coverage <= best.coverage)
466
+ continue;
467
+ // gl.readPixels is bottom-up; flip rows into a top-down 2D canvas before encoding to PNG.
468
+ const off = document.createElement('canvas');
469
+ off.width = w;
470
+ off.height = h;
471
+ const c2d = off.getContext('2d');
472
+ if (c2d === null)
473
+ continue;
474
+ const img = c2d.createImageData(w, h);
475
+ const rowBytes = w * 4;
476
+ for (let y = 0; y < h; y++) {
477
+ const src = (h - 1 - y) * rowBytes;
478
+ img.data.set(buf.subarray(src, src + rowBytes), y * rowBytes);
479
+ }
480
+ c2d.putImageData(img, 0, 0);
481
+ best = { coverage, dataUrl: off.toDataURL('image/png') };
482
+ }
483
+ catch {
484
+ // A lost or cross-origin-tainted context can't be read — skip it.
485
+ }
486
+ }
487
+ return best;
488
+ })
489
+ .catch(() => null);
490
+ }
245
491
  function rendererBackend(renderer) {
246
492
  const i = renderer.indexOf(':');
247
493
  return i === -1 ? renderer : renderer.slice(i + 1);
248
494
  }
495
+ function isCaptureReadPixelsWarning(text) {
496
+ return text.includes('GPU stall due to ReadPixels');
497
+ }
249
498
  async function waitForRenderVerification(page) {
250
499
  await page
251
500
  .waitForFunction(() => {
@@ -257,9 +506,7 @@ async function waitForRenderVerification(page) {
257
506
  return false;
258
507
  if (verification.render === 'dom')
259
508
  return true;
260
- if (verification.render === 'webgpu')
261
- return typeof w.__ftRenderImage === 'string' && w.__ftRenderImage !== '';
262
- return verification.fingerprint !== null;
509
+ return verification.fingerprint !== null && typeof w.__ftRenderImage === 'string' && w.__ftRenderImage !== '';
263
510
  }, null, { polling: 100, timeout: 15_000 })
264
511
  .catch(() => { });
265
512
  return page
@@ -304,6 +551,8 @@ export async function captureParallel(opts) {
304
551
  extraWait: opts.extraWait,
305
552
  captureFrames: opts.captureFrames,
306
553
  failOnError: opts.failOnError,
554
+ observe: opts.observe,
555
+ verify: opts.verify,
307
556
  isAborted: () => isAborted(),
308
557
  });
309
558
  if (result === 'ok')
@@ -317,6 +566,85 @@ export async function captureParallel(opts) {
317
566
  await Promise.all(workers);
318
567
  return { captured, changed, failed };
319
568
  }
569
+ // Observe one arbitrary URL — the standalone "eyes" primitive behind the `tool-capture observe` bin.
570
+ // Drives its own browser (deterministic frame-halt + warmup + the getContext intercept), navigates to
571
+ // `url`, grabs the present frame straight from the intercepted GL context (falling back to a canvas
572
+ // screenshot), and writes the screenshot + logs + an observe diagnostics status. Zero page integration:
573
+ // any page that renders to a canvas works, Flight or not — no verifier registration, no per-frame ping.
574
+ export async function captureUrl(url, options) {
575
+ const { outDir, wait = 0, captureFrames = 1 } = options;
576
+ mkdirSync(outDir, { recursive: true });
577
+ const logs = [];
578
+ const { browser, context } = await launchBrowser({ captureFrames, verify: false, observe: true });
579
+ const page = await context.newPage();
580
+ page.on('pageerror', (err) => {
581
+ logs.push({ __flight: true, t: -1, level: 'pageerror', data: { msg: err.message } });
582
+ });
583
+ page.on('console', (msg) => {
584
+ const type = msg.type();
585
+ if (type === 'error' || type === 'warning') {
586
+ logs.push({
587
+ __flight: true,
588
+ t: -1,
589
+ level: type === 'error' ? 'error' : 'warn',
590
+ channel: 'console',
591
+ data: { msg: msg.text() },
592
+ });
593
+ }
594
+ });
595
+ page.on('requestfailed', (req) => {
596
+ logs.push({
597
+ __flight: true,
598
+ t: -1,
599
+ level: 'error',
600
+ channel: 'network',
601
+ data: { msg: `request failed: ${req.url()} (${req.failure()?.errorText ?? 'unknown'})` },
602
+ });
603
+ });
604
+ try {
605
+ await page.goto(url, { waitUntil: 'domcontentloaded', timeout: 15_000 });
606
+ await page.waitForSelector('canvas', { timeout: 8_000 }).catch(() => { });
607
+ await page
608
+ .waitForFunction(() => window.__captureFramesReached === true, null, { timeout: 15_000 })
609
+ .catch(() => { });
610
+ if (wait > 0)
611
+ await page.waitForTimeout(wait);
612
+ const intercept = await grabInterceptedGlFrame(page);
613
+ const screenshotBuffer = intercept !== null
614
+ ? Buffer.from(intercept.dataUrl.split(',')[1], 'base64')
615
+ : await page
616
+ .locator('canvas')
617
+ .first()
618
+ .screenshot()
619
+ .catch(() => page.screenshot());
620
+ const coverage = intercept?.coverage ?? (await measureObservedCanvasCoverage(page));
621
+ const diagnostics = buildCaptureObserveDiagnostics({
622
+ backend: intercept !== null ? 'webgl' : 'canvas',
623
+ blank: false,
624
+ coverage,
625
+ logs,
626
+ verifyPublished: false,
627
+ verifyTargetKind: null,
628
+ warmupFrames: await getObserveWarmupFrames(page),
629
+ });
630
+ writeFileSync(join(outDir, 'screenshot.png'), screenshotBuffer);
631
+ writeFileSync(join(outDir, 'logs.jsonl'), logs.map((l) => JSON.stringify(l)).join('\n'));
632
+ const status = {
633
+ state: 'ready',
634
+ capturedAt: Date.now(),
635
+ error: null,
636
+ hash: createHash('sha256').update(screenshotBuffer).digest('hex'),
637
+ baselineHash: null,
638
+ changed: null,
639
+ observe: diagnostics,
640
+ };
641
+ writeFileSync(join(outDir, 'status.json'), JSON.stringify(status, null, 2));
642
+ return diagnostics;
643
+ }
644
+ finally {
645
+ await browser.close().catch(() => { });
646
+ }
647
+ }
320
648
  // The artifact paths for one capture, derived purely from the output base, tool, entry name, and
321
649
  // renderer. Shared by captureEntry (which writes them) and captureRenderTarget (which reports them),
322
650
  // so the on-disk layout is defined in exactly one place: {outBase}/{tool}/{name}/{routeSegment}/…
@@ -1 +1 @@
1
- {"version":3,"file":"captureEntry.js","sourceRoot":"","sources":["../src/captureEntry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"captureEntry.js","sourceRoot":"","sources":["../src/captureEntry.ts"],"names":[],"mappings":"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"}
@@ -134,9 +134,12 @@ export function resolveStaticServer(opts) {
134
134
  });
135
135
  });
136
136
  }
137
- // The root npm script that starts each tool's dev server, used in the manual-start tip.
137
+ // The root npm script that starts each tool's dev server, used in the manual-start tip. 'reference'
138
+ // runs its own dev server (flight-reference's Vite) via the reference-capture runner, not resolveServer,
139
+ // so its entry is only here to satisfy the Tool map.
138
140
  const DEV_SCRIPT = {
139
141
  examples: 'dev:examples',
140
142
  functional: 'dev:functional',
143
+ reference: 'dev:reference',
141
144
  };
142
145
  //# sourceMappingURL=captureServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"captureServer.js","sourceRoot":"","sources":["../src/captureServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"captureServer.js","sourceRoot":"","sources":["../src/captureServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import type { CanvasRenderState, DisplayObject, DomRenderState, GlRenderState, Surface, WgpuRenderState } from '@flighthq/types';
2
+ export declare const FUNCTIONAL_VERIFICATION_IMAGE_KEY = "__ftRenderImage";
3
+ export type FunctionalRenderOracle = (surface: Readonly<Surface>) => void | Promise<void>;
4
+ export interface FunctionalCanvasTarget {
5
+ kind: 'canvas';
6
+ state: CanvasRenderState;
7
+ width: number;
8
+ height: number;
9
+ scale: number;
10
+ render(root: DisplayObject): void;
11
+ }
12
+ export interface FunctionalDomTarget {
13
+ kind: 'dom';
14
+ state: DomRenderState;
15
+ width: number;
16
+ height: number;
17
+ scale: number;
18
+ render(root: DisplayObject): void;
19
+ }
20
+ export interface FunctionalGlTarget {
21
+ kind: 'webgl';
22
+ state: GlRenderState;
23
+ width: number;
24
+ height: number;
25
+ scale: number;
26
+ render(root: DisplayObject): void;
27
+ }
28
+ export interface FunctionalTestModule {
29
+ assertRender?: FunctionalRenderOracle;
30
+ minCoverage?: number;
31
+ }
32
+ export interface FunctionalVerification {
33
+ render: string;
34
+ coverage: number | null;
35
+ fingerprint: string | null;
36
+ }
37
+ export interface FunctionalWgpuTarget {
38
+ kind: 'webgpu';
39
+ state: WgpuRenderState;
40
+ width: number;
41
+ height: number;
42
+ scale: number;
43
+ render(root: DisplayObject): void;
44
+ }
45
+ export type FunctionalTarget = FunctionalCanvasTarget | FunctionalDomTarget | FunctionalGlTarget | FunctionalWgpuTarget;
46
+ export declare function publishFunctionalRenderSync(render: string): boolean;
47
+ export declare function registerFunctionalTarget<T extends FunctionalTarget>(target: T): T;
48
+ export declare function registerWgpuFunctionalTarget(state: WgpuRenderState, scale?: number): void;
49
+ export declare function runRenderVerification(testModule: FunctionalTestModule, render: string): Promise<void>;
50
+ export declare function snapshotFunctionalRender(): Promise<Surface | null>;
51
+ //# sourceMappingURL=functionalVerify.d.ts.map