@juxtapose/core 0.7.0 → 0.8.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/dist/analysis/affected.d.ts +2 -1
- package/dist/analysis/affected.js +16 -1
- package/dist/analysis/affected.js.map +1 -1
- package/dist/analysis/cause.js +2 -2
- package/dist/analysis/cause.js.map +1 -1
- package/dist/baseline/approve.js +2 -1
- package/dist/baseline/approve.js.map +1 -1
- package/dist/baseline/git-store.js +12 -5
- package/dist/baseline/git-store.js.map +1 -1
- package/dist/browser/browser.js +4 -1
- package/dist/browser/browser.js.map +1 -1
- package/dist/browser/cdp.d.ts +39 -3
- package/dist/browser/cdp.js +57 -17
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/daemon/client.js +4 -3
- package/dist/browser/daemon/client.js.map +1 -1
- package/dist/browser/daemon/state.js +4 -3
- package/dist/browser/daemon/state.js.map +1 -1
- package/dist/browser/daemon/supervisor-main.js +14 -9
- package/dist/browser/daemon/supervisor-main.js.map +1 -1
- package/dist/browser/daemon/supervisor.js +31 -25
- package/dist/browser/daemon/supervisor.js.map +1 -1
- package/dist/browser/guards.d.ts +6 -0
- package/dist/browser/guards.js +23 -0
- package/dist/browser/guards.js.map +1 -0
- package/dist/browser/install.js +10 -4
- package/dist/browser/install.js.map +1 -1
- package/dist/browser/launch.d.ts +2 -1
- package/dist/browser/launch.js +12 -4
- package/dist/browser/launch.js.map +1 -1
- package/dist/browser/page.d.ts +8 -1
- package/dist/browser/page.js +18 -13
- package/dist/browser/page.js.map +1 -1
- package/dist/browser/resolve.js +2 -1
- package/dist/browser/resolve.js.map +1 -1
- package/dist/browser/zip.js +4 -3
- package/dist/browser/zip.js.map +1 -1
- package/dist/capture/pool.js +2 -1
- package/dist/capture/pool.js.map +1 -1
- package/dist/capture/settle.js +4 -0
- package/dist/capture/settle.js.map +1 -1
- package/dist/capture/snap.js +3 -1
- package/dist/capture/snap.js.map +1 -1
- package/dist/capture/structure.d.ts +15 -33
- package/dist/capture/structure.js +81 -22
- package/dist/capture/structure.js.map +1 -1
- package/dist/diff/regions.js +8 -4
- package/dist/diff/regions.js.map +1 -1
- package/dist/diff/structural/deltas.js +9 -6
- package/dist/diff/structural/deltas.js.map +1 -1
- package/dist/diff/structural/disambiguate.js +8 -7
- package/dist/diff/structural/disambiguate.js.map +1 -1
- package/dist/diff/structural/label.js +1 -1
- package/dist/diff/structural/label.js.map +1 -1
- package/dist/diff/structural/match.js +13 -6
- package/dist/diff/structural/match.js.map +1 -1
- package/dist/diff/structural/shift.js +8 -6
- package/dist/diff/structural/shift.js.map +1 -1
- package/dist/diff/structural/summary.js +9 -5
- package/dist/diff/structural/summary.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/report/github.js +21 -7
- package/dist/report/github.js.map +1 -1
- package/dist/report/run-report.d.ts +10 -0
- package/dist/report/run-report.js +24 -0
- package/dist/report/run-report.js.map +1 -0
- package/package.json +2 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type { Protocol } from 'devtools-protocol';
|
|
1
2
|
import type { Page } from '../browser/page.js';
|
|
2
|
-
import type { StructureSnapshot, Viewport } from '../types.js';
|
|
3
|
+
import type { StructureElement, StructureSnapshot, Viewport } from '../types.js';
|
|
3
4
|
/** Styles recorded per element. `display`/`visibility` are deliberately absent:
|
|
4
5
|
* display:none elements have no layout entry at all, and visibility is read
|
|
5
6
|
* only to filter (see `visibilityIdx` in normalizeStructure). */
|
|
@@ -13,38 +14,13 @@ export declare const INHERITED_PROPS: ReadonlySet<string>;
|
|
|
13
14
|
export declare const INITIAL_VALUES: Readonly<Record<string, string>>;
|
|
14
15
|
export declare const MASK_ATTR = "data-jux-masked";
|
|
15
16
|
export declare const MAX_ELEMENTS = 5000;
|
|
16
|
-
/**
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
nodeName: number[];
|
|
24
|
-
nodeValue: number[];
|
|
25
|
-
attributes: number[][];
|
|
26
|
-
/** Rare-string data: parallel arrays of node index → string index.
|
|
27
|
-
* Verified on Chromium 151: pseudo-elements appear as element nodes
|
|
28
|
-
* named `::before`/`::after` with pseudoType set; an <input>'s typed
|
|
29
|
-
* value is in inputValue, not in an attribute. */
|
|
30
|
-
pseudoType?: {
|
|
31
|
-
index: number[];
|
|
32
|
-
value: number[];
|
|
33
|
-
};
|
|
34
|
-
inputValue?: {
|
|
35
|
-
index: number[];
|
|
36
|
-
value: number[];
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
layout: {
|
|
40
|
-
nodeIndex: number[];
|
|
41
|
-
styles: number[][];
|
|
42
|
-
bounds: number[][];
|
|
43
|
-
paintOrders?: number[];
|
|
44
|
-
};
|
|
45
|
-
}>;
|
|
46
|
-
strings: string[];
|
|
47
|
-
}
|
|
17
|
+
/**
|
|
18
|
+
* A DOMSnapshot.captureSnapshot response. Verified on Chromium 151:
|
|
19
|
+
* pseudo-elements appear as element nodes named `::before`/`::after` with
|
|
20
|
+
* pseudoType set; an <input>'s typed value is in inputValue, not in an
|
|
21
|
+
* attribute.
|
|
22
|
+
*/
|
|
23
|
+
export type CdpSnapshot = Protocol.DOMSnapshot.CaptureSnapshotResponse;
|
|
48
24
|
export declare const round: (n: number) => number;
|
|
49
25
|
/**
|
|
50
26
|
* Turn a raw CDP snapshot into a StructureSnapshot.
|
|
@@ -54,10 +30,16 @@ export declare const round: (n: number) => number;
|
|
|
54
30
|
* of the host document's node list and is included.
|
|
55
31
|
*/
|
|
56
32
|
export declare function normalizeStructure(raw: CdpSnapshot, viewport: Viewport): StructureSnapshot;
|
|
33
|
+
/** Element `index`, following a reference stored in the snapshot (a parent
|
|
34
|
+
* pointer). Snapshots are read back from sidecars on disk, so a malformed one
|
|
35
|
+
* says what is wrong instead of failing on a property of undefined; callers
|
|
36
|
+
* already treat any throw as "no structural verdict". */
|
|
37
|
+
export declare function elementAt(s: StructureSnapshot, index: number): StructureElement;
|
|
57
38
|
/** The full value of `prop` for element `index`, reconstructing what the
|
|
58
39
|
* compact storage omitted. */
|
|
59
40
|
export declare function effectiveStyle(s: StructureSnapshot, index: number, prop: string): string;
|
|
60
41
|
export declare function encodeStructure(s: StructureSnapshot): Buffer;
|
|
42
|
+
/** Throws on a sidecar that is not one encodeStructure wrote; every caller catches. */
|
|
61
43
|
export declare function decodeStructure(b: Buffer): StructureSnapshot;
|
|
62
44
|
/**
|
|
63
45
|
* Snapshot the page's structure. Never throws: a missing structure costs the
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
// against real Chromium output committed as a fixture.
|
|
11
11
|
import { createHash } from 'node:crypto';
|
|
12
12
|
import { gunzipSync, gzipSync } from 'node:zlib';
|
|
13
|
+
import { isRecord } from '../browser/guards.js';
|
|
13
14
|
import { queryAllExpression } from '../browser/selectors.js';
|
|
14
15
|
/** Styles recorded per element. `display`/`visibility` are deliberately absent:
|
|
15
16
|
* display:none elements have no layout entry at all, and visibility is read
|
|
@@ -156,9 +157,31 @@ export const round = (n) => Math.round(n * 100) / 100;
|
|
|
156
157
|
*/
|
|
157
158
|
export function normalizeStructure(raw, viewport) {
|
|
158
159
|
const doc = raw.documents[0];
|
|
160
|
+
// captureStructure's catch turns this into "no structure", as it did the
|
|
161
|
+
// TypeError this used to be.
|
|
162
|
+
if (!doc)
|
|
163
|
+
throw new Error('DOMSnapshot.captureSnapshot returned no documents');
|
|
159
164
|
const str = (i) => i === undefined || i < 0 ? undefined : raw.strings[i];
|
|
160
|
-
|
|
161
|
-
|
|
165
|
+
// DOMSnapshot's arrays are parallel by protocol: nodes.* has one entry per
|
|
166
|
+
// node, layout.* one per layout row, and each styles row one value per
|
|
167
|
+
// requested property. The indexed reads marked `!` below rely on that.
|
|
168
|
+
const { layout } = doc;
|
|
169
|
+
// Optional in the protocol, always sent by Chromium. A missing one is a
|
|
170
|
+
// broken snapshot: say which, rather than fail on a later read (or, for
|
|
171
|
+
// nodeValue on a page without text, not at all).
|
|
172
|
+
const need = (v, name) => {
|
|
173
|
+
if (v === undefined)
|
|
174
|
+
throw new Error(`DOMSnapshot.captureSnapshot returned no nodes.${name}`);
|
|
175
|
+
return v;
|
|
176
|
+
};
|
|
177
|
+
const nodes = {
|
|
178
|
+
parentIndex: need(doc.nodes.parentIndex, 'parentIndex'),
|
|
179
|
+
nodeType: need(doc.nodes.nodeType, 'nodeType'),
|
|
180
|
+
nodeName: need(doc.nodes.nodeName, 'nodeName'),
|
|
181
|
+
nodeValue: need(doc.nodes.nodeValue, 'nodeValue'),
|
|
182
|
+
attributes: need(doc.nodes.attributes, 'attributes'),
|
|
183
|
+
inputValue: doc.nodes.inputValue,
|
|
184
|
+
};
|
|
162
185
|
// `visibility` is requested after STRUCTURE_PROPS and used only to filter.
|
|
163
186
|
const visibilityIdx = STRUCTURE_PROPS.length;
|
|
164
187
|
// node index -> layout row. A node can have several rows (a pseudo-element
|
|
@@ -225,7 +248,9 @@ export function normalizeStructure(raw, viewport) {
|
|
|
225
248
|
return; // no box: nothing to stand in for
|
|
226
249
|
total++;
|
|
227
250
|
if (elements.length < MAX_ELEMENTS) {
|
|
228
|
-
|
|
251
|
+
// DOM.Rectangle is [x, y, width, height]; a short one reads NaN, as it
|
|
252
|
+
// always has (round(undefined)).
|
|
253
|
+
const [x = NaN, y = NaN, w = NaN, h = NaN] = layout.bounds[row];
|
|
229
254
|
elements.push({
|
|
230
255
|
path,
|
|
231
256
|
parent: keptParent,
|
|
@@ -234,7 +259,10 @@ export function normalizeStructure(raw, viewport) {
|
|
|
234
259
|
paintOrder: layout.paintOrders?.[row] ?? 0,
|
|
235
260
|
styles: {},
|
|
236
261
|
});
|
|
237
|
-
effective.push(
|
|
262
|
+
effective.push(
|
|
263
|
+
// effective is pushed in lockstep with elements, so a kept parent's
|
|
264
|
+
// index is always in it.
|
|
265
|
+
keptParent === null ? { ...ROOT_INHERITED } : effective[keptParent]);
|
|
238
266
|
}
|
|
239
267
|
return; // never descend into a masked subtree
|
|
240
268
|
}
|
|
@@ -247,7 +275,7 @@ export function normalizeStructure(raw, viewport) {
|
|
|
247
275
|
visit(c, path, keptParent);
|
|
248
276
|
return;
|
|
249
277
|
}
|
|
250
|
-
const [x, y, w, h] = layout.bounds[row];
|
|
278
|
+
const [x = NaN, y = NaN, w = NaN, h = NaN] = layout.bounds[row];
|
|
251
279
|
const rect = { x: round(x), y: round(y), w: round(w), h: round(h) };
|
|
252
280
|
const offscreen = rect.x + rect.w <= 0 ||
|
|
253
281
|
rect.y + rect.h <= 0 ||
|
|
@@ -262,8 +290,7 @@ export function normalizeStructure(raw, viewport) {
|
|
|
262
290
|
const inherited = keptParent === null ? ROOT_INHERITED : effective[keptParent];
|
|
263
291
|
const styles = {};
|
|
264
292
|
const eff = { ...inherited };
|
|
265
|
-
for (const k of
|
|
266
|
-
const prop = STRUCTURE_PROPS[k];
|
|
293
|
+
for (const [k, prop] of STRUCTURE_PROPS.entries()) {
|
|
267
294
|
const v = values[k];
|
|
268
295
|
if (INHERITED_PROPS.has(prop)) {
|
|
269
296
|
eff[prop] = v;
|
|
@@ -373,7 +400,7 @@ function fileName(u) {
|
|
|
373
400
|
// the payload happens to be between slashes.
|
|
374
401
|
if (/^data:/i.test(u.trim()))
|
|
375
402
|
return 'data:';
|
|
376
|
-
return u.split(/[?#]/)[0].split('/').pop() ?? '';
|
|
403
|
+
return u.split(/[?#]/)[0].split('/').pop() ?? ''; // split returns >= 1 part
|
|
377
404
|
}
|
|
378
405
|
/** Computed values serialize url() tokens absolute: probe2 recorded
|
|
379
406
|
* `url("http://127.0.0.1:41001/bg.png")` vs `...:41002/bg.png` for one page
|
|
@@ -391,14 +418,25 @@ function parseContent(v) {
|
|
|
391
418
|
if (!v || v === 'none' || v === 'normal')
|
|
392
419
|
return '';
|
|
393
420
|
const m = /^"(.*)"$/.exec(v);
|
|
394
|
-
return m ? m[1] : v;
|
|
421
|
+
return m ? m[1] : v; // the group is not optional
|
|
422
|
+
}
|
|
423
|
+
/** Element `index`, following a reference stored in the snapshot (a parent
|
|
424
|
+
* pointer). Snapshots are read back from sidecars on disk, so a malformed one
|
|
425
|
+
* says what is wrong instead of failing on a property of undefined; callers
|
|
426
|
+
* already treat any throw as "no structural verdict". */
|
|
427
|
+
export function elementAt(s, index) {
|
|
428
|
+
const el = s.elements[index];
|
|
429
|
+
if (!el)
|
|
430
|
+
throw new Error(`structure snapshot has no element ${index}`);
|
|
431
|
+
return el;
|
|
395
432
|
}
|
|
396
433
|
/** The full value of `prop` for element `index`, reconstructing what the
|
|
397
434
|
* compact storage omitted. */
|
|
398
435
|
export function effectiveStyle(s, index, prop) {
|
|
399
|
-
const el = s
|
|
400
|
-
|
|
401
|
-
|
|
436
|
+
const el = elementAt(s, index);
|
|
437
|
+
const own = el.styles[prop];
|
|
438
|
+
if (own !== undefined)
|
|
439
|
+
return own;
|
|
402
440
|
if (INHERITED_PROPS.has(prop)) {
|
|
403
441
|
return el.parent === null
|
|
404
442
|
? (ROOT_INHERITED[prop] ?? '')
|
|
@@ -413,7 +451,7 @@ export function effectiveStyle(s, index, prop) {
|
|
|
413
451
|
function canonical(v) {
|
|
414
452
|
if (Array.isArray(v))
|
|
415
453
|
return `[${v.map(canonical).join(',')}]`;
|
|
416
|
-
if (v
|
|
454
|
+
if (isRecord(v)) {
|
|
417
455
|
const o = v;
|
|
418
456
|
return `{${Object.keys(o)
|
|
419
457
|
.sort()
|
|
@@ -429,8 +467,26 @@ function hashElements(elements) {
|
|
|
429
467
|
export function encodeStructure(s) {
|
|
430
468
|
return gzipSync(Buffer.from(JSON.stringify(s)));
|
|
431
469
|
}
|
|
470
|
+
/**
|
|
471
|
+
* The envelope encodeStructure always writes. Elements are not checked one by
|
|
472
|
+
* one: every reader already treats a bad sidecar as no structure.
|
|
473
|
+
*/
|
|
474
|
+
function isStructureSnapshot(v) {
|
|
475
|
+
return (isRecord(v) &&
|
|
476
|
+
v['schema'] === 'juxtapose.structure/v1' &&
|
|
477
|
+
typeof v['structureHash'] === 'string' &&
|
|
478
|
+
typeof v['contentHeight'] === 'number' &&
|
|
479
|
+
isRecord(v['viewport']) &&
|
|
480
|
+
typeof v['viewport']['width'] === 'number' &&
|
|
481
|
+
typeof v['viewport']['height'] === 'number' &&
|
|
482
|
+
Array.isArray(v['elements']));
|
|
483
|
+
}
|
|
484
|
+
/** Throws on a sidecar that is not one encodeStructure wrote; every caller catches. */
|
|
432
485
|
export function decodeStructure(b) {
|
|
433
|
-
|
|
486
|
+
const parsed = JSON.parse(gunzipSync(b).toString('utf8'));
|
|
487
|
+
if (!isStructureSnapshot(parsed))
|
|
488
|
+
throw new Error('not a juxtapose.structure/v1 sidecar');
|
|
489
|
+
return parsed;
|
|
434
490
|
}
|
|
435
491
|
/**
|
|
436
492
|
* Snapshot the page's structure. Never throws: a missing structure costs the
|
|
@@ -449,7 +505,10 @@ export function decodeStructure(b) {
|
|
|
449
505
|
*/
|
|
450
506
|
export async function captureStructure(page, viewport, mask) {
|
|
451
507
|
const mark = (sel) => page.evaluate(queryAllExpression(sel, "for (const el of els) el.setAttribute(a0, '1'); return els.length;", MASK_ATTR));
|
|
452
|
-
const verify = (sel) =>
|
|
508
|
+
const verify = (sel) =>
|
|
509
|
+
// unknown: checked below rather than assumed; the page's globals are the
|
|
510
|
+
// story's to replace.
|
|
511
|
+
page.evaluate(queryAllExpression(sel, 'return { total: els.length, marked: els.filter((e) => e.hasAttribute(a0)).length };', MASK_ATTR));
|
|
453
512
|
const unmark = () => page
|
|
454
513
|
.evaluate(queryAllExpression(`[${MASK_ATTR}]`, 'for (const el of els) el.removeAttribute(a0);', MASK_ATTR))
|
|
455
514
|
.catch(() => { });
|
|
@@ -470,18 +529,18 @@ export async function captureStructure(page, viewport, mask) {
|
|
|
470
529
|
return undefined;
|
|
471
530
|
}
|
|
472
531
|
try {
|
|
473
|
-
const raw =
|
|
532
|
+
const raw = await page.send('DOMSnapshot.captureSnapshot', {
|
|
474
533
|
computedStyles: [...STRUCTURE_PROPS, 'visibility'],
|
|
475
534
|
includeDOMRects: true,
|
|
476
535
|
includePaintOrder: true,
|
|
477
|
-
})
|
|
536
|
+
});
|
|
478
537
|
for (const [k, sel] of mask.entries()) {
|
|
479
|
-
const v =
|
|
538
|
+
const v = await verify(sel);
|
|
480
539
|
// Every current match still marked, and none of the marked ones gone.
|
|
481
|
-
const intact =
|
|
482
|
-
v
|
|
483
|
-
v
|
|
484
|
-
v
|
|
540
|
+
const intact = isRecord(v) &&
|
|
541
|
+
v['marked'] === v['total'] &&
|
|
542
|
+
typeof v['marked'] === 'number' &&
|
|
543
|
+
v['marked'] >= markedCounts[k]; // one count was pushed per mask selector
|
|
485
544
|
if (!intact)
|
|
486
545
|
return undefined;
|
|
487
546
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structure.js","sourceRoot":"","sources":["../../src/capture/structure.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"structure.js","sourceRoot":"","sources":["../../src/capture/structure.ts"],"names":[],"mappings":"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"}
|
package/dist/diff/regions.js
CHANGED
|
@@ -18,6 +18,7 @@ const DEFAULT_GAP = 8;
|
|
|
18
18
|
* replaced. Test for the red marking instead.
|
|
19
19
|
*/
|
|
20
20
|
function isChanged(diff, offset) {
|
|
21
|
+
// The caller walks offsets inside the width * height * 4 RGBA buffer.
|
|
21
22
|
return diff[offset] > 200 && diff[offset + 1] < 100 && diff[offset + 2] < 100;
|
|
22
23
|
}
|
|
23
24
|
/**
|
|
@@ -50,14 +51,16 @@ export function computeChangedRegions(diff, width, height, gap = DEFAULT_GAP) {
|
|
|
50
51
|
const boxes = [];
|
|
51
52
|
for (const span of spans) {
|
|
52
53
|
const touched = [];
|
|
53
|
-
for (
|
|
54
|
-
if (overlaps(span,
|
|
54
|
+
for (const [i, box] of boxes.entries()) {
|
|
55
|
+
if (overlaps(span, box, gap))
|
|
55
56
|
touched.push(i);
|
|
56
57
|
}
|
|
57
58
|
if (touched.length === 0) {
|
|
58
59
|
boxes.push({ x1: span.x1, y1: span.y, x2: span.x2, y2: span.y });
|
|
59
60
|
continue;
|
|
60
61
|
}
|
|
62
|
+
// Every index in touched came from boxes, and splices below run
|
|
63
|
+
// back-to-front, so each still points at a live box.
|
|
61
64
|
const target = boxes[touched[0]];
|
|
62
65
|
target.x1 = Math.min(target.x1, span.x1);
|
|
63
66
|
target.x2 = Math.max(target.x2, span.x2);
|
|
@@ -66,12 +69,13 @@ export function computeChangedRegions(diff, width, height, gap = DEFAULT_GAP) {
|
|
|
66
69
|
// Fold any other boxes this span bridged into the first, back-to-front so
|
|
67
70
|
// the splices don't shift indices we still need.
|
|
68
71
|
for (let i = touched.length - 1; i >= 1; i--) {
|
|
69
|
-
const
|
|
72
|
+
const at = touched[i];
|
|
73
|
+
const other = boxes[at];
|
|
70
74
|
target.x1 = Math.min(target.x1, other.x1);
|
|
71
75
|
target.x2 = Math.max(target.x2, other.x2);
|
|
72
76
|
target.y1 = Math.min(target.y1, other.y1);
|
|
73
77
|
target.y2 = Math.max(target.y2, other.y2);
|
|
74
|
-
boxes.splice(
|
|
78
|
+
boxes.splice(at, 1);
|
|
75
79
|
}
|
|
76
80
|
}
|
|
77
81
|
return boxes.map((b) => ({
|
package/dist/diff/regions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regions.js","sourceRoot":"","sources":["../../src/diff/regions.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,yEAAyE;AACzE,kCAAkC;AAWlC,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB;;;;;;;;;;;GAWG;AACH,SAAS,SAAS,CAAC,IAAY,EAAE,MAAc;IAC7C,OAAO,IAAI,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"regions.js","sourceRoot":"","sources":["../../src/diff/regions.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// effective colour — reporting it 40 times would bury the one fact that
|
|
7
7
|
// matters. So an inherited delta is emitted only where the element's own
|
|
8
8
|
// stored value changed, or where the parents' effective values already agree.
|
|
9
|
-
import { INHERITED_PROPS, STRUCTURE_PROPS, effectiveStyle, round, } from '../../capture/structure.js';
|
|
9
|
+
import { INHERITED_PROPS, STRUCTURE_PROPS, effectiveStyle, elementAt, round, } from '../../capture/structure.js';
|
|
10
10
|
import { abstractLabel, clip, label } from './label.js';
|
|
11
11
|
/** Within one position, which fact reads first. */
|
|
12
12
|
export const KIND_RANK = {
|
|
@@ -33,6 +33,9 @@ export function computeFacts(a, b, match) {
|
|
|
33
33
|
* following, so their rects can ride on an ancestor's fact. */
|
|
34
34
|
const byElement = new Map();
|
|
35
35
|
const followers = [];
|
|
36
|
+
// Indices in `match` come from matchElements over these same element
|
|
37
|
+
// arrays, so they are in range by construction. Parent pointers are data
|
|
38
|
+
// read from a sidecar and go through elementAt.
|
|
36
39
|
for (const [i, j] of match.pairs) {
|
|
37
40
|
const ea = a.elements[i];
|
|
38
41
|
const eb = b.elements[j];
|
|
@@ -123,7 +126,7 @@ export function computeFacts(a, b, match) {
|
|
|
123
126
|
// Nearest baseline ancestor with a geometry fact: the move or resize the
|
|
124
127
|
// child followed. Walked on the baseline tree, the side `source` indexes.
|
|
125
128
|
for (const { i, rects } of followers) {
|
|
126
|
-
for (let k = a.elements[i].parent; k !== null; k = a
|
|
129
|
+
for (let k = a.elements[i].parent; k !== null; k = elementAt(a, k).parent) {
|
|
127
130
|
const own = byElement
|
|
128
131
|
.get(k)
|
|
129
132
|
?.find((f) => f.delta.kind === 'moved' || f.delta.kind === 'resized');
|
|
@@ -173,7 +176,7 @@ function borderless(s, i, colorProp) {
|
|
|
173
176
|
* either it stores its own value on a side, or its parents' effective values
|
|
174
177
|
* agree (so the difference starts here). */
|
|
175
178
|
function originatesHere(a, b, i, j, aToB, prop) {
|
|
176
|
-
const ea = a.elements[i];
|
|
179
|
+
const ea = a.elements[i]; // i, j: a matched pair
|
|
177
180
|
const eb = b.elements[j];
|
|
178
181
|
if (ea.styles[prop] !== undefined || eb.styles[prop] !== undefined)
|
|
179
182
|
return true;
|
|
@@ -191,12 +194,12 @@ function originatesHere(a, b, i, j, aToB, prop) {
|
|
|
191
194
|
* still reads as following when its parent's own move was itself
|
|
192
195
|
* suppressed. */
|
|
193
196
|
function parentChange(a, b, i, j, aToB) {
|
|
194
|
-
const pa = a.elements[i].parent;
|
|
197
|
+
const pa = a.elements[i].parent; // i, j: a matched pair
|
|
195
198
|
const pb = b.elements[j].parent;
|
|
196
199
|
if (pa === null || pb === null || aToB.get(pa) !== pb)
|
|
197
200
|
return undefined;
|
|
198
|
-
const ra = a
|
|
199
|
-
const rb = b
|
|
201
|
+
const ra = elementAt(a, pa).rect;
|
|
202
|
+
const rb = elementAt(b, pb).rect;
|
|
200
203
|
return {
|
|
201
204
|
dx: round(rb.x - ra.x),
|
|
202
205
|
dy: round(rb.y - ra.y),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deltas.js","sourceRoot":"","sources":["../../../src/diff/structural/deltas.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,EAAE;AACF,uEAAuE;AACvE,2EAA2E;AAC3E,2EAA2E;AAC3E,wEAAwE;AACxE,yEAAyE;AACzE,8EAA8E;AAE9E,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACd,KAAK,GACN,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAyBxD,mDAAmD;AACnD,MAAM,CAAC,MAAM,SAAS,GAAkC;IACtD,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAE/C;;;2EAG2E;AAC3E,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,YAAY,GAAG,wCAAwC,CAAC;AAE9D,MAAM,UAAU,YAAY,CAC1B,CAAoB,EACpB,CAAoB,EACpB,KAAmB;IAEnB,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC;oEACgE;IAChE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,MAAM,SAAS,GAAiD,EAAE,CAAC;IAEnE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"deltas.js","sourceRoot":"","sources":["../../../src/diff/structural/deltas.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,13 +12,12 @@
|
|
|
12
12
|
// them, the element's ordinal among same-labelled elements on its side of the
|
|
13
13
|
// diff (`div.card (2nd)`). Both are properties of the page, not of the diff,
|
|
14
14
|
// so the same change labels the same way on every run.
|
|
15
|
+
import { elementAt } from '../../capture/structure.js';
|
|
15
16
|
import { MAX_LABEL, clip, label } from './label.js';
|
|
16
17
|
export function disambiguate(facts, baseline, current) {
|
|
17
18
|
const snap = (s) => (s.side === 'baseline' ? baseline : current);
|
|
18
|
-
const nth = {
|
|
19
|
-
|
|
20
|
-
current: undefined,
|
|
21
|
-
};
|
|
19
|
+
const nth = {};
|
|
20
|
+
// ordinals has one entry per element, and a source indexes an element.
|
|
22
21
|
const nthOf = (s) => (nth[s.side] ??= ordinals(snap(s)))[s.index];
|
|
23
22
|
const key = (s) => `${s.side}:${s.index}`;
|
|
24
23
|
const labelOf = (f) => ('el' in f.delta ? f.delta.el : f.delta.after);
|
|
@@ -43,7 +42,9 @@ export function disambiguate(facts, baseline, current) {
|
|
|
43
42
|
const distinct = scoped.every((x) => x !== undefined) && new Set(scoped).size === scoped.length;
|
|
44
43
|
for (const [k, s] of sources.entries()) {
|
|
45
44
|
const suffix = ` (${ordinal(nthOf(s))})`;
|
|
46
|
-
rename.set(key(s),
|
|
45
|
+
rename.set(key(s),
|
|
46
|
+
// distinct implies every scoped label is defined.
|
|
47
|
+
distinct ? scoped[k] : clip(l, MAX_LABEL - suffix.length) + suffix);
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
if (rename.size === 0)
|
|
@@ -59,8 +60,8 @@ export function disambiguate(facts, baseline, current) {
|
|
|
59
60
|
/** Label of the nearest ancestor that names itself (role+name, id, test id);
|
|
60
61
|
* a class or a path does not tell two siblings' parents apart. */
|
|
61
62
|
function labelledAncestor(s, index) {
|
|
62
|
-
for (let p = s
|
|
63
|
-
const e = s
|
|
63
|
+
for (let p = elementAt(s, index).parent; p !== null; p = elementAt(s, p).parent) {
|
|
64
|
+
const e = elementAt(s, p);
|
|
64
65
|
if (e.tag === 'masked')
|
|
65
66
|
continue;
|
|
66
67
|
if ((e.role && e.name) || e.id !== undefined || e.testId !== undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disambiguate.js","sourceRoot":"","sources":["../../../src/diff/structural/disambiguate.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,iEAAiE;AACjE,0EAA0E;AAC1E,kEAAkE;AAClE,EAAE;AACF,4EAA4E;AAC5E,kEAAkE;AAClE,iEAAiE;AACjE,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,uDAAuD;
|
|
1
|
+
{"version":3,"file":"disambiguate.js","sourceRoot":"","sources":["../../../src/diff/structural/disambiguate.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ function clipPath(path) {
|
|
|
36
36
|
if (path.length <= MAX_LABEL)
|
|
37
37
|
return path;
|
|
38
38
|
const parts = path.split('>');
|
|
39
|
-
let out = parts[parts.length - 1];
|
|
39
|
+
let out = parts[parts.length - 1]; // split returns at least one part
|
|
40
40
|
for (let k = parts.length - 2; k >= 0; k--) {
|
|
41
41
|
const next = `${parts[k]}>${out}`;
|
|
42
42
|
if (next.length + 2 > MAX_LABEL)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../../src/diff/structural/label.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,0EAA0E;AAC1E,iDAAiD;AAIjD;;8BAE8B;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC;IACxD,QAAQ;IACR,OAAO;IACP,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,OAAO;CACR,CAAC,CAAC;AAEH;uEACuE;AACvE,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAE5B,MAAM,UAAU,KAAK,CAAC,EAAoB;IACxC,IAAI,EAAE,CAAC,GAAG,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACzC,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI;QACpB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpE,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IACtE,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS;QACzB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,MAAM,IAAI,EAAE,SAAS,CAAC,CAAC;IAClE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC7E,OAAO,QAAQ,CACb,EAAE,CAAC,IAAI;SACJ,OAAO,CAAC,+CAA+C,EAAE,EAAE,CAAC;SAC5D,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CACrC,CAAC;AACJ,CAAC;AAED;+EAC+E;AAC/E,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../../src/diff/structural/label.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,0EAA0E;AAC1E,iDAAiD;AAIjD;;8BAE8B;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC;IACxD,QAAQ;IACR,OAAO;IACP,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,OAAO;CACR,CAAC,CAAC;AAEH;uEACuE;AACvE,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAE5B,MAAM,UAAU,KAAK,CAAC,EAAoB;IACxC,IAAI,EAAE,CAAC,GAAG,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACzC,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI;QACpB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpE,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IACtE,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS;QACzB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,MAAM,IAAI,EAAE,SAAS,CAAC,CAAC;IAClE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC7E,OAAO,QAAQ,CACb,EAAE,CAAC,IAAI;SACJ,OAAO,CAAC,+CAA+C,EAAE,EAAE,CAAC;SAC5D,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CACrC,CAAC;AACJ,CAAC;AAED;+EAC+E;AAC/E,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,kCAAkC;IACtE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS;YAAE,MAAM;QACvC,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IACD,OAAO,KAAK,IAAI,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;AACzC,CAAC;AAED;oEACoE;AACpE,MAAM,UAAU,IAAI,CAAC,CAAS,EAAE,GAAW;IACzC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IAClB,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM;QAAE,GAAG,EAAE,CAAC;IACtC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;AAC/B,CAAC;AAED;0CAC0C;AAC1C,MAAM,UAAU,aAAa,CAAC,EAAoB;IAChD,OAAO,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC;AAC3B,CAAC"}
|