@flighthq/bitmap 0.4.0-next.1602.af48ed1 → 0.4.0-next.1663.d9c5746
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/bitmapCompare.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import type { Bitmap, BitmapMismatch } from '@flighthq/types/contract';
|
|
2
|
+
/** The pixel facts used by mismatch measurement; accepts both decoded bytes and mutable Bitmap storage. */
|
|
3
|
+
interface BitmapComparisonSource {
|
|
4
|
+
readonly width: number;
|
|
5
|
+
readonly height: number;
|
|
6
|
+
readonly data: ArrayLike<number>;
|
|
7
|
+
}
|
|
2
8
|
/**
|
|
3
9
|
* Compares two bitmaps pixel by pixel. Returns `null` if they are identical,
|
|
4
10
|
* or a new Bitmap showing per-channel absolute differences (with alpha set to
|
|
@@ -14,5 +20,6 @@ export declare function compareBitmap(source: Readonly<Bitmap>, other: Readonly<
|
|
|
14
20
|
* one, while ignoring antialiasing noise. Throws if the bitmaps differ in size — comparing
|
|
15
21
|
* incompatible bitmaps is a programmer error (mirrors compareBitmap).
|
|
16
22
|
*/
|
|
17
|
-
export declare function getBitmapMismatch(source: Readonly<
|
|
23
|
+
export declare function getBitmapMismatch(source: Readonly<BitmapComparisonSource>, other: Readonly<BitmapComparisonSource>, channelTolerance?: number): BitmapMismatch;
|
|
24
|
+
export {};
|
|
18
25
|
//# sourceMappingURL=bitmapCompare.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapCompare.d.ts","sourceRoot":"","sources":["../src/bitmapCompare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAIvE;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAyB9F;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"bitmapCompare.d.ts","sourceRoot":"","sources":["../src/bitmapCompare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAIvE,2GAA2G;AAC3G,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CAClC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAyB9F;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EACxC,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EACvC,gBAAgB,GAAE,MAAU,GAC3B,cAAc,CA6BhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapCompare.js","sourceRoot":"","sources":["../src/bitmapCompare.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"bitmapCompare.js","sourceRoot":"","sources":["../src/bitmapCompare.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/bitmap",
|
|
3
|
-
"version": "0.4.0-next.
|
|
3
|
+
"version": "0.4.0-next.1663.d9c5746",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/image": "0.4.0-next.
|
|
42
|
-
"@flighthq/entity": "0.4.0-next.
|
|
43
|
-
"@flighthq/types": "0.4.0-next.
|
|
41
|
+
"@flighthq/image": "0.4.0-next.1663.d9c5746",
|
|
42
|
+
"@flighthq/entity": "0.4.0-next.1663.d9c5746",
|
|
43
|
+
"@flighthq/types": "0.4.0-next.1663.d9c5746"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"typescript": "^5.3.0"
|
|
@@ -58,6 +58,18 @@ describe('compareBitmap', () => {
|
|
|
58
58
|
});
|
|
59
59
|
|
|
60
60
|
describe('getBitmapMismatch', () => {
|
|
61
|
+
it('accepts decoded Uint8Array pixels as well as Bitmap clamped storage', () => {
|
|
62
|
+
const decoded = { width: 1, height: 1, data: new Uint8Array([10, 20, 30, 255]) };
|
|
63
|
+
const bitmap = createBitmap(1, 1, 0x0a141eff);
|
|
64
|
+
|
|
65
|
+
expect(getBitmapMismatch(decoded, bitmap)).toEqual({
|
|
66
|
+
fraction: 0,
|
|
67
|
+
maxChannelDelta: 0,
|
|
68
|
+
mismatchedPixels: 0,
|
|
69
|
+
totalPixels: 1,
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
|
|
61
73
|
it('throws when dimensions differ', () => {
|
|
62
74
|
expect(() => getBitmapMismatch(createBitmap(4, 4), createBitmap(4, 8))).toThrow();
|
|
63
75
|
});
|