@testivai/mcp 0.8.3 → 0.9.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.
- package/README.md +6 -5
- package/dist/diff-images.d.ts +104 -0
- package/dist/diff-images.d.ts.map +1 -0
- package/dist/diff-images.js +399 -0
- package/dist/diff-images.js.map +1 -0
- package/dist/lib.d.ts +56 -6
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +118 -15
- package/dist/lib.js.map +1 -1
- package/dist/server.js +34 -50
- package/dist/server.js.map +1 -1
- package/dist/tool-meta.d.ts.map +1 -1
- package/dist/tool-meta.js +17 -3
- package/dist/tool-meta.js.map +1 -1
- package/package.json +2 -2
- package/server.json +2 -2
package/dist/lib.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PNG } from 'pngjs';
|
|
2
|
+
import { type CaptureEnvironment, type DiffShape, type SizeMismatchInfo } from '@testivai/witness/report';
|
|
2
3
|
/** Subset of the semver-governed results.json contract this server reads. */
|
|
3
4
|
export interface DomInfo {
|
|
4
5
|
changed: boolean;
|
|
@@ -60,6 +61,21 @@ export interface SnapshotResult {
|
|
|
60
61
|
* padding and such a snapshot is never passed.
|
|
61
62
|
*/
|
|
62
63
|
sizeMismatch?: SizeMismatchInfo;
|
|
64
|
+
/**
|
|
65
|
+
* results.json 2.5.0+: capture provenance, when the baseline and the
|
|
66
|
+
* current capture both recorded their environment. `renderingDelta` lists
|
|
67
|
+
* the changes that can affect rendering; with an identical DOM and matching
|
|
68
|
+
* styles they make the diff rendering drift (the machine changed, not the
|
|
69
|
+
* page). `policy: 'strict'` means environmentPolicy made it changed.
|
|
70
|
+
*/
|
|
71
|
+
environment?: EnvironmentInfo;
|
|
72
|
+
}
|
|
73
|
+
export interface EnvironmentInfo {
|
|
74
|
+
delta: string[];
|
|
75
|
+
renderingDelta: string[];
|
|
76
|
+
baseline?: CaptureEnvironment;
|
|
77
|
+
candidate?: CaptureEnvironment;
|
|
78
|
+
policy?: 'strict';
|
|
63
79
|
}
|
|
64
80
|
export interface ResultsFile {
|
|
65
81
|
version: string;
|
|
@@ -147,8 +163,13 @@ export type ToolContent = {
|
|
|
147
163
|
data: string;
|
|
148
164
|
mimeType: string;
|
|
149
165
|
};
|
|
150
|
-
/**
|
|
151
|
-
export declare
|
|
166
|
+
/** The longest edge of a full-page image get_diff sends; a larger one is downscaled to fit. */
|
|
167
|
+
export declare const MAX_IMAGE_EDGE = 1024;
|
|
168
|
+
/**
|
|
169
|
+
* An image labelled like get_diff labels it, downscaled for model context.
|
|
170
|
+
* Pass `decoded` when the caller has already read the PNG, to read it once.
|
|
171
|
+
*/
|
|
172
|
+
export declare function imageContent(label: string, raw: Buffer, decoded?: PNG): ToolContent[];
|
|
152
173
|
/**
|
|
153
174
|
* get_diff for a missing baseline: its verdict, that there is no current
|
|
154
175
|
* capture, and the committed baseline screenshot only. A screenshot that is
|
|
@@ -156,8 +177,20 @@ export declare function imageContent(label: string, raw: Buffer): ToolContent[];
|
|
|
156
177
|
* a missing baseline.
|
|
157
178
|
*/
|
|
158
179
|
export declare function missingBaselineDiff(root: string, results: ResultsFile, name: string): ToolContent[] | null;
|
|
159
|
-
/**
|
|
180
|
+
/**
|
|
181
|
+
* One-line, agent-oriented verdict for a snapshot. The environment comes
|
|
182
|
+
* first: environmentPolicy "strict", a size change from another capture
|
|
183
|
+
* method and rendering drift (the DOM and computed styles match and the
|
|
184
|
+
* rendering environment changed) each get their own verdict; any other
|
|
185
|
+
* verdict gets the environment change as context.
|
|
186
|
+
*/
|
|
160
187
|
export declare function verdictFor(snapshot: SnapshotResult): string;
|
|
188
|
+
/**
|
|
189
|
+
* get_visual_results' opening lines: one per environment change that two
|
|
190
|
+
* or more changed snapshots share, with an honest count of the drift among
|
|
191
|
+
* them (environmentChangeLine in @testivai/witness), then their names.
|
|
192
|
+
*/
|
|
193
|
+
export declare function environmentLines(snapshots: SnapshotResult[]): string[];
|
|
161
194
|
/** Resolve a report-relative image path safely inside the report dir. */
|
|
162
195
|
/**
|
|
163
196
|
* Explain why there is no `results.json`, using what IS on disk.
|
|
@@ -221,6 +254,22 @@ export interface SnapshotExplanation {
|
|
|
221
254
|
};
|
|
222
255
|
/** Structural evidence from the DOM pair. */
|
|
223
256
|
dom: DomInfo | null;
|
|
257
|
+
/**
|
|
258
|
+
* Capture provenance (results.json 2.5.0+): what changed in the capture
|
|
259
|
+
* environment since the baseline. `change` words the rendering changes,
|
|
260
|
+
* `context` the rest; `drift` is true when the diff is rendering drift.
|
|
261
|
+
* Null when either side recorded no environment.
|
|
262
|
+
*/
|
|
263
|
+
environment: {
|
|
264
|
+
delta: string[];
|
|
265
|
+
renderingDelta: string[];
|
|
266
|
+
change: string | null;
|
|
267
|
+
context: string | null;
|
|
268
|
+
drift: boolean;
|
|
269
|
+
policy: 'strict' | null;
|
|
270
|
+
baseline: CaptureEnvironment | null;
|
|
271
|
+
candidate: CaptureEnvironment | null;
|
|
272
|
+
} | null;
|
|
224
273
|
};
|
|
225
274
|
/** Interpretation rules the evidence supports, phrased for the model. */
|
|
226
275
|
guidance: string[];
|
|
@@ -251,10 +300,11 @@ export declare function listBaselines(root: string): string[];
|
|
|
251
300
|
/**
|
|
252
301
|
* Downscale a PNG buffer using integer-stride nearest-neighbour sampling.
|
|
253
302
|
* When the longest edge is <= maxEdge the original buffer is returned unchanged.
|
|
303
|
+
* `decoded` is the buffer already read with pngjs, when the caller has it.
|
|
254
304
|
*
|
|
255
305
|
* @returns The (possibly) resized PNG buffer, output dimensions, and original dimensions.
|
|
256
306
|
*/
|
|
257
|
-
export declare function downscalePng(buffer: Buffer, maxEdge?: number): {
|
|
307
|
+
export declare function downscalePng(buffer: Buffer, maxEdge?: number, decoded?: PNG): {
|
|
258
308
|
data: Buffer;
|
|
259
309
|
width: number;
|
|
260
310
|
height: number;
|
|
@@ -276,7 +326,7 @@ export interface ChangeGroup {
|
|
|
276
326
|
* spread out but over 1% of pixels: more than render noise usually
|
|
277
327
|
* changes, never 'noise'. A diff concentrated in one area is never grouped.
|
|
278
328
|
*/
|
|
279
|
-
basis: 'style-only' | 'page-shift' | 'styles-not-compared' | 'large-diff' | 'noise';
|
|
329
|
+
basis: 'style-only' | 'page-shift' | 'styles-not-compared' | 'drift' | 'large-diff' | 'noise';
|
|
280
330
|
/** What every member has in common, phrased for the reader. */
|
|
281
331
|
label: string;
|
|
282
332
|
/** Snapshot names, sorted. Always two or more. */
|
package/dist/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
|
package/dist/lib.js
CHANGED
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.baselinesDirFor = void 0;
|
|
36
|
+
exports.MAX_IMAGE_EDGE = exports.baselinesDirFor = void 0;
|
|
37
37
|
exports.resolvePaths = resolvePaths;
|
|
38
38
|
exports.readResults = readResults;
|
|
39
39
|
exports.summaryLine = summaryLine;
|
|
@@ -45,6 +45,7 @@ exports.missingBaselineLines = missingBaselineLines;
|
|
|
45
45
|
exports.imageContent = imageContent;
|
|
46
46
|
exports.missingBaselineDiff = missingBaselineDiff;
|
|
47
47
|
exports.verdictFor = verdictFor;
|
|
48
|
+
exports.environmentLines = environmentLines;
|
|
48
49
|
exports.describeMissingResults = describeMissingResults;
|
|
49
50
|
exports.reportLinks = reportLinks;
|
|
50
51
|
exports.resolveImage = resolveImage;
|
|
@@ -227,9 +228,14 @@ function explainMissingBaseline(root, results, name) {
|
|
|
227
228
|
: ''), 'There is no capture to call bad, so this is not a glitch: an intended change if the change under test meant to remove or rename it, a bug if it did so by mistake or broke the test before its capture, otherwise a possible bug.');
|
|
228
229
|
return { name, status: 'missing', verdict, baseline: { directory: dir, files }, guidance };
|
|
229
230
|
}
|
|
230
|
-
/**
|
|
231
|
-
|
|
232
|
-
|
|
231
|
+
/** The longest edge of a full-page image get_diff sends; a larger one is downscaled to fit. */
|
|
232
|
+
exports.MAX_IMAGE_EDGE = 1024;
|
|
233
|
+
/**
|
|
234
|
+
* An image labelled like get_diff labels it, downscaled for model context.
|
|
235
|
+
* Pass `decoded` when the caller has already read the PNG, to read it once.
|
|
236
|
+
*/
|
|
237
|
+
function imageContent(label, raw, decoded) {
|
|
238
|
+
const downscaled = downscalePng(raw, exports.MAX_IMAGE_EDGE, decoded);
|
|
233
239
|
const wasDownscaled = downscaled.originalWidth !== downscaled.width || downscaled.originalHeight !== downscaled.height;
|
|
234
240
|
return [
|
|
235
241
|
{ type: 'text', text: wasDownscaled ? `${label} (downscaled from ${downscaled.originalWidth}x${downscaled.originalHeight}):` : `${label}:` },
|
|
@@ -327,8 +333,61 @@ function sizeChangeVerdict(snapshot) {
|
|
|
327
333
|
function domSummaryDetail(s) {
|
|
328
334
|
return `${s.added} added, ${s.removed} removed, ${s.attributeChanges} attribute changes${s.textChanges ? `, ${s.textChanges} text changes` : ''}`;
|
|
329
335
|
}
|
|
330
|
-
/**
|
|
336
|
+
/**
|
|
337
|
+
* One-line, agent-oriented verdict for a snapshot. The environment comes
|
|
338
|
+
* first: environmentPolicy "strict", a size change from another capture
|
|
339
|
+
* method and rendering drift (the DOM and computed styles match and the
|
|
340
|
+
* rendering environment changed) each get their own verdict; any other
|
|
341
|
+
* verdict gets the environment change as context.
|
|
342
|
+
*/
|
|
331
343
|
function verdictFor(snapshot) {
|
|
344
|
+
const base = pageVerdict(snapshot);
|
|
345
|
+
if (snapshot.status === 'new')
|
|
346
|
+
return base;
|
|
347
|
+
const change = (0, report_1.snapshotEnvironmentChange)(snapshot);
|
|
348
|
+
if (!change)
|
|
349
|
+
return base;
|
|
350
|
+
const pct = snapshot.diffPercent !== undefined ? `${snapshot.diffPercent.toFixed(2)}% pixels differ` : 'pixels differ';
|
|
351
|
+
const env = snapshot.environment;
|
|
352
|
+
if (snapshot.status === 'passed') {
|
|
353
|
+
if (!snapshot.autoPassed)
|
|
354
|
+
return `${base}, although the environment changed since the baseline (${change})`;
|
|
355
|
+
if ((0, report_1.isRenderingDrift)(snapshot)) {
|
|
356
|
+
return (`${base}; but this is rendering drift (${change} since the baseline): ` +
|
|
357
|
+
're-baseline in this environment so the tolerance keeps measuring the page, not the machine');
|
|
358
|
+
}
|
|
359
|
+
return `${base}; the environment also changed since the baseline (${change})`;
|
|
360
|
+
}
|
|
361
|
+
if (env.policy === 'strict') {
|
|
362
|
+
return (`changed (${pct}) — environment changed (strict policy): ${change} since the baseline; ` +
|
|
363
|
+
'environmentPolicy "strict" makes it changed whatever its pixels say, and approving re-baselines it in this environment');
|
|
364
|
+
}
|
|
365
|
+
if (snapshot.sizeMismatch && env.baseline && env.candidate && env.renderingDelta.includes('adapter.captureMethod')) {
|
|
366
|
+
return (`changed (${pct}) — capture method changed: ${(0, report_1.describeCaptureMethod)(env.baseline.adapter.captureMethod)} → ` +
|
|
367
|
+
`${(0, report_1.describeCaptureMethod)(env.candidate.adapter.captureMethod)} since the baseline (${(0, report_1.formatSizes)(snapshot.sizeMismatch)}): ` +
|
|
368
|
+
'the size change comes from how the screenshot was taken, not from the page; re-baseline with this capture method, or capture the way the baseline was');
|
|
369
|
+
}
|
|
370
|
+
if ((0, report_1.isRenderingDrift)(snapshot)) {
|
|
371
|
+
return (`changed (${pct}) — rendering drift: ${change} since the baseline, and the DOM and computed styles both match, ` +
|
|
372
|
+
'so the environment changed, not the page; re-baseline once the images are confirmed to match apart from rendering (get_diff)');
|
|
373
|
+
}
|
|
374
|
+
return `${base}; the environment also changed since the baseline (${change}), which can add rendering differences of its own`;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* get_visual_results' opening lines: one per environment change that two
|
|
378
|
+
* or more changed snapshots share, with an honest count of the drift among
|
|
379
|
+
* them (environmentChangeLine in @testivai/witness), then their names.
|
|
380
|
+
*/
|
|
381
|
+
function environmentLines(snapshots) {
|
|
382
|
+
return (0, report_1.environmentChangeGroups)(snapshots)
|
|
383
|
+
.filter((g) => g.snapshots.length >= 2)
|
|
384
|
+
.map((g) => {
|
|
385
|
+
const shown = g.snapshots.slice(0, 10).join(', ') + (g.snapshots.length > 10 ? ', …' : '');
|
|
386
|
+
return `${(0, report_1.environmentChangeLine)(g)} Snapshots: ${shown}.`;
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
/** The verdict from the page-side signals alone (pixels, DOM, styles, size). */
|
|
390
|
+
function pageVerdict(snapshot) {
|
|
332
391
|
const pct = snapshot.diffPercent !== undefined ? `${snapshot.diffPercent.toFixed(2)}% pixels differ` : 'pixels differ';
|
|
333
392
|
const notCompared = stylesNotCompared(snapshot.dom);
|
|
334
393
|
const shape = matchedStylesShape(snapshot);
|
|
@@ -522,9 +581,25 @@ function explainSnapshot(root, name) {
|
|
|
522
581
|
// a diff pending review; a passed snapshot has nothing pending approval
|
|
523
582
|
// (an auto-pass gets its own line below), so the verdict and guidance agree.
|
|
524
583
|
const pending = snapshot.status === 'changed';
|
|
525
|
-
//
|
|
526
|
-
|
|
527
|
-
const
|
|
584
|
+
// Capture provenance first: drift replaces the noise reading below.
|
|
585
|
+
const envChange = (0, report_1.snapshotEnvironmentChange)(snapshot);
|
|
586
|
+
const drift = (0, report_1.isRenderingDrift)(snapshot);
|
|
587
|
+
if (snapshot.environment?.policy === 'strict' && envChange) {
|
|
588
|
+
guidance.push(`environmentPolicy is "strict" and the environment changed since the baseline (${envChange}), so this snapshot is changed whatever its pixels say. ` +
|
|
589
|
+
"Approving re-baselines it in this environment; otherwise capture it in the baseline's environment.");
|
|
590
|
+
}
|
|
591
|
+
if (drift && envChange) {
|
|
592
|
+
guidance.push(`Rendering drift: the environment changed since the baseline (${envChange}) and the DOM and computed styles match, so the machine changed, not the page. ` +
|
|
593
|
+
'Compare the images (get_diff): if they match apart from rendering (glyph edges, font weight, subpixel layout), the baseline needs re-approving in this environment ' +
|
|
594
|
+
'once the human agrees; if something else differs, it is not drift alone. Do not call it render noise.');
|
|
595
|
+
}
|
|
596
|
+
else if (envChange && (pending || snapshot.autoPassed)) {
|
|
597
|
+
guidance.push(`The environment also changed since the baseline (${envChange}), which can add rendering differences of its own: weigh it, but it does not explain a DOM or style change.`);
|
|
598
|
+
}
|
|
599
|
+
// A size change (the pixel layers describe the padding) or rendering drift
|
|
600
|
+
// (the reading is the environment's) replaces the shape, noise and
|
|
601
|
+
// styles-not-compared readings below.
|
|
602
|
+
const pixelReadingReplaced = snapshot.sizeMismatch !== undefined || drift;
|
|
528
603
|
if (snapshot.sizeMismatch) {
|
|
529
604
|
const sm = snapshot.sizeMismatch;
|
|
530
605
|
const sizes = `The current capture is ${sm.candidate.width}×${sm.candidate.height}, the baseline ${sm.baseline.width}×${sm.baseline.height}: ${(0, report_1.describeSizeChange)(sm)}.`;
|
|
@@ -540,13 +615,13 @@ function explainSnapshot(root, name) {
|
|
|
540
615
|
`${reading.charAt(0).toUpperCase()}${reading.slice(1)}.`);
|
|
541
616
|
}
|
|
542
617
|
}
|
|
543
|
-
if (pending && !
|
|
618
|
+
if (pending && !pixelReadingReplaced && notCompared) {
|
|
544
619
|
const why = notCompared === 'absent' ? 'these results have no style check' : 'no comparable style digests on both sides';
|
|
545
620
|
guidance.push('Styles not compared — could be render noise or a stylesheet-only change: pixels differ and the DOM is ' +
|
|
546
621
|
`structurally identical, but computed styles were not compared (${why}), so a stylesheet-only change is ` +
|
|
547
622
|
'not ruled out. Do not treat it as noise: compare the images (get_diff) before approving.');
|
|
548
623
|
}
|
|
549
|
-
else if (pending && !
|
|
624
|
+
else if (pending && !pixelReadingReplaced && shape?.kind === 'concentrated' && shape.box) {
|
|
550
625
|
const regionList = snapshot.regions ?? [];
|
|
551
626
|
const element = sharedElement(regionList);
|
|
552
627
|
const mapsTo = element ? `, and ${regionList.length === 1 ? 'the region' : 'every region'} maps to \`${element}\`` : '';
|
|
@@ -556,7 +631,7 @@ function explainSnapshot(root, name) {
|
|
|
556
631
|
'so this is a bad capture (a torn or partly blank render, a shifted band, a bad baseline) or a change the style ' +
|
|
557
632
|
`check does not cover (${report_1.STYLE_CHECK_DOES_NOT_COVER}). Do not treat it as noise: compare the images (get_diff) before approving.`);
|
|
558
633
|
}
|
|
559
|
-
else if (pending && !
|
|
634
|
+
else if (pending && !pixelReadingReplaced && shape?.kind === 'large') {
|
|
560
635
|
// diffShape treats an unknown size as not small; say so rather than claim a share.
|
|
561
636
|
const size = snapshot.diffPercent === undefined
|
|
562
637
|
? 'the share of pixels that differ is unknown'
|
|
@@ -566,7 +641,7 @@ function explainSnapshot(root, name) {
|
|
|
566
641
|
'machines that captured the baseline and the current image; it can also be a bad capture or a change the style ' +
|
|
567
642
|
`check does not cover (${report_1.STYLE_CHECK_DOES_NOT_COVER}). Do not treat it as noise: compare the images (get_diff) before approving.`);
|
|
568
643
|
}
|
|
569
|
-
else if (pending && !
|
|
644
|
+
else if (pending && !pixelReadingReplaced && snapshot.dom?.noiseHint) {
|
|
570
645
|
guidance.push('Pixels differ but the DOM is structurally identical, style digests match, and the diff is small and scattered — likely render noise (anti-aliasing, font hinting). Mention it; do not block on it.');
|
|
571
646
|
}
|
|
572
647
|
if (snapshot.dom?.styleCheck === 'mismatch' && snapshot.dom.changed) {
|
|
@@ -629,6 +704,7 @@ function explainSnapshot(root, name) {
|
|
|
629
704
|
shape: snapshot.status === 'changed' || snapshot.autoPassed ? (0, report_1.diffShape)(snapshot) : null,
|
|
630
705
|
sizeMismatch: snapshot.sizeMismatch ?? null,
|
|
631
706
|
},
|
|
707
|
+
environment: snapshot.environment ? explainEnvironment(snapshot, envChange, drift) : null,
|
|
632
708
|
element: {
|
|
633
709
|
pageShift: snapshot.pageShift ?? null,
|
|
634
710
|
shiftedSelectors: [...shifted].slice(0, 10),
|
|
@@ -639,6 +715,21 @@ function explainSnapshot(root, name) {
|
|
|
639
715
|
guidance,
|
|
640
716
|
};
|
|
641
717
|
}
|
|
718
|
+
/** The environment layer of explain_snapshot. */
|
|
719
|
+
function explainEnvironment(snapshot, change, drift) {
|
|
720
|
+
const env = snapshot.environment;
|
|
721
|
+
const contextFields = env.delta.filter((f) => !env.renderingDelta.includes(f));
|
|
722
|
+
return {
|
|
723
|
+
delta: env.delta,
|
|
724
|
+
renderingDelta: env.renderingDelta,
|
|
725
|
+
change,
|
|
726
|
+
context: env.baseline && env.candidate && contextFields.length > 0 ? (0, report_1.describeEnvironmentChange)(env.baseline, env.candidate, contextFields) : null,
|
|
727
|
+
drift,
|
|
728
|
+
policy: env.policy ?? null,
|
|
729
|
+
baseline: env.baseline ?? null,
|
|
730
|
+
candidate: env.candidate ?? null,
|
|
731
|
+
};
|
|
732
|
+
}
|
|
642
733
|
/**
|
|
643
734
|
* Approve one snapshot: promote its current capture in `.testivai/temp/<name>/`
|
|
644
735
|
* to the committed baseline. Reuses the same BaselineStore the CLI uses, so
|
|
@@ -685,11 +776,12 @@ function listBaselines(root) {
|
|
|
685
776
|
/**
|
|
686
777
|
* Downscale a PNG buffer using integer-stride nearest-neighbour sampling.
|
|
687
778
|
* When the longest edge is <= maxEdge the original buffer is returned unchanged.
|
|
779
|
+
* `decoded` is the buffer already read with pngjs, when the caller has it.
|
|
688
780
|
*
|
|
689
781
|
* @returns The (possibly) resized PNG buffer, output dimensions, and original dimensions.
|
|
690
782
|
*/
|
|
691
|
-
function downscalePng(buffer, maxEdge = 1024) {
|
|
692
|
-
const original = pngjs_1.PNG.sync.read(buffer);
|
|
783
|
+
function downscalePng(buffer, maxEdge = 1024, decoded) {
|
|
784
|
+
const original = decoded ?? pngjs_1.PNG.sync.read(buffer);
|
|
693
785
|
const { width: ow, height: oh } = original;
|
|
694
786
|
const longestEdge = Math.max(ow, oh);
|
|
695
787
|
if (longestEdge <= maxEdge) {
|
|
@@ -726,7 +818,7 @@ function resolveApprovalPrompt(argv, configValue) {
|
|
|
726
818
|
return configValue ?? true;
|
|
727
819
|
}
|
|
728
820
|
// Real changes, then unknowns, before likely noise when groups are the same size.
|
|
729
|
-
const BASIS_ORDER = ['style-only', 'page-shift', 'styles-not-compared', 'large-diff', 'noise'];
|
|
821
|
+
const BASIS_ORDER = ['style-only', 'page-shift', 'styles-not-compared', 'drift', 'large-diff', 'noise'];
|
|
730
822
|
/**
|
|
731
823
|
* The one grouping signal a changed snapshot carries, or null when it must
|
|
732
824
|
* not be grouped. Precedence: structural (never grouped) > style-only >
|
|
@@ -782,6 +874,17 @@ function signatureOf(s) {
|
|
|
782
874
|
'render noise or a stylesheet-only change, not ruled out',
|
|
783
875
|
};
|
|
784
876
|
}
|
|
877
|
+
// Rendering drift: the environment changed, not the page. Keyed by the
|
|
878
|
+
// change, so two different browser bumps are never one group, and never
|
|
879
|
+
// grouped as noise.
|
|
880
|
+
if ((0, report_1.isRenderingDrift)(s)) {
|
|
881
|
+
const change = (0, report_1.snapshotEnvironmentChange)(s);
|
|
882
|
+
return {
|
|
883
|
+
basis: 'drift',
|
|
884
|
+
key: `drift:${change}`,
|
|
885
|
+
label: `rendering drift: ${change} since the baseline, with the DOM and computed styles matching`,
|
|
886
|
+
};
|
|
887
|
+
}
|
|
785
888
|
// Matching styles: likely noise only when the diff is small and scattered.
|
|
786
889
|
// A diff concentrated in one area sits in its own place on its own page,
|
|
787
890
|
// so grouping two would suggest one cause: never grouped, never as noise.
|
package/dist/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
|