@flighthq/bitmap 0.5.0-next.1944.cd6b6e7 → 0.5.1-edge.638.d4dbd4e
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 +2 -2
- package/dist/bitmapDraw.d.ts.map +1 -1
- package/dist/bitmapDraw.js +3 -2
- package/dist/bitmapDraw.js.map +1 -1
- package/dist/bitmapEncode.d.ts +3 -2
- package/dist/bitmapEncode.d.ts.map +1 -1
- package/dist/bitmapEncode.js +20 -14
- package/dist/bitmapEncode.js.map +1 -1
- package/dist/bitmapEncodeBackend.d.ts +11 -0
- package/dist/bitmapEncodeBackend.d.ts.map +1 -0
- package/dist/bitmapEncodeBackend.js +58 -0
- package/dist/bitmapEncodeBackend.js.map +1 -0
- package/dist/bitmapFrom.d.ts +6 -8
- package/dist/bitmapFrom.d.ts.map +1 -1
- package/dist/bitmapFrom.js +8 -56
- package/dist/bitmapFrom.js.map +1 -1
- package/dist/bitmapReadbackBackend.d.ts +7 -0
- package/dist/bitmapReadbackBackend.d.ts.map +1 -0
- package/dist/bitmapReadbackBackend.js +21 -0
- package/dist/bitmapReadbackBackend.js.map +1 -0
- package/dist/bitmapReadbackResolver.d.ts +8 -0
- package/dist/bitmapReadbackResolver.d.ts.map +1 -0
- package/dist/bitmapReadbackResolver.js +12 -0
- package/dist/bitmapReadbackResolver.js.map +1 -0
- package/dist/contract.d.ts +2 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +2 -0
- package/dist/contract.js.map +1 -1
- package/dist/explainBitmapReadback.d.ts.map +1 -1
- package/dist/explainBitmapReadback.js +7 -36
- package/dist/explainBitmapReadback.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/src/bitmapDraw.test.ts +111 -16
- package/src/bitmapEncode.test.ts +99 -13
- package/src/bitmapEncodeBackend.test.ts +146 -0
- package/src/bitmapFrom.test.ts +31 -44
- package/src/bitmapReadbackBackend.test.ts +69 -0
- package/src/bitmapReadbackResolver.test.ts +32 -0
- package/src/explainBitmapReadback.test.ts +74 -54
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/bitmap`. The `@fligh
|
|
|
13
13
|
This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
|
|
14
14
|
|
|
15
15
|
- [Flight project](https://github.com/flighthq/flight)
|
|
16
|
-
- [Source for @flighthq/bitmap@0.5.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/bitmap@0.5.1-edge.638.d4dbd4e](https://github.com/flighthq/flight/tree/d4dbd4e347dc8be10b180c85a766ab50333dcb51/packages/bitmap)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/d4dbd4e347dc8be10b180c85a766ab50333dcb51/LICENSE.md)
|
package/dist/bitmapDraw.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapDraw.d.ts","sourceRoot":"","sources":["../src/bitmapDraw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI7D;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"bitmapDraw.d.ts","sourceRoot":"","sources":["../src/bitmapDraw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI7D;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAM9G"}
|
package/dist/bitmapDraw.js
CHANGED
|
@@ -7,8 +7,9 @@ import { extractBitmapPixels } from './bitmapComposite';
|
|
|
7
7
|
export function drawBitmap(dest, source, x, y) {
|
|
8
8
|
if (source.width <= 0 || source.height <= 0)
|
|
9
9
|
return;
|
|
10
|
-
const
|
|
10
|
+
const context = dest.getContext('2d');
|
|
11
|
+
const domImageData = context.createImageData(source.width, source.height);
|
|
11
12
|
extractBitmapPixels(domImageData.data, source);
|
|
12
|
-
|
|
13
|
+
context.putImageData(domImageData, x, y);
|
|
13
14
|
}
|
|
14
15
|
//# sourceMappingURL=bitmapDraw.js.map
|
package/dist/bitmapDraw.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapDraw.js","sourceRoot":"","sources":["../src/bitmapDraw.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAuB,EAAE,MAA8B,EAAE,CAAS,EAAE,CAAS;IACtG,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO;IACpD,MAAM,
|
|
1
|
+
{"version":3,"file":"bitmapDraw.js","sourceRoot":"","sources":["../src/bitmapDraw.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAuB,EAAE,MAA8B,EAAE,CAAS,EAAE,CAAS;IACtG,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;IACvC,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1E,mBAAmB,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC"}
|
package/dist/bitmapEncode.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function encodeBitmap(source: Readonly<Bitmap>, format?: ImageFormat, quality?: number): Uint8Array;
|
|
1
|
+
import type { Bitmap, BitmapEncodeFailureExplanation, ImageFormat } from '@flighthq/types/contract';
|
|
2
|
+
export declare function encodeBitmap(source: Readonly<Bitmap>, format?: ImageFormat, quality?: number): Uint8Array | null;
|
|
3
|
+
export declare function explainBitmapEncodeFailure(format: ImageFormat): BitmapEncodeFailureExplanation | null;
|
|
3
4
|
//# sourceMappingURL=bitmapEncode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapEncode.d.ts","sourceRoot":"","sources":["../src/bitmapEncode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"bitmapEncode.d.ts","sourceRoot":"","sources":["../src/bitmapEncode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAEN,8BAA8B,EAC9B,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAIlC,wBAAgB,YAAY,CAC1B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,MAAM,GAAE,WAAmB,EAC3B,OAAO,GAAE,MAAY,GACpB,UAAU,GAAG,IAAI,CAInB;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,WAAW,GAAG,8BAA8B,GAAG,IAAI,CAGrG"}
|
package/dist/bitmapEncode.js
CHANGED
|
@@ -1,18 +1,24 @@
|
|
|
1
|
+
import { getBitmapEncodeBackend } from './bitmapEncodeBackend';
|
|
1
2
|
export function encodeBitmap(source, format = 'png', quality = 0.9) {
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
3
|
+
const resolution = resolveBitmapEncode(format);
|
|
4
|
+
if (resolution.reason !== null)
|
|
5
|
+
return null;
|
|
6
|
+
return resolution.backend.encodeBitmap(source, resolution.format, quality);
|
|
7
|
+
}
|
|
8
|
+
export function explainBitmapEncodeFailure(format) {
|
|
9
|
+
const resolution = resolveBitmapEncode(format);
|
|
10
|
+
return resolution.reason === null ? null : { format: resolution.format, reason: resolution.reason };
|
|
11
|
+
}
|
|
12
|
+
function resolveBitmapEncode(format) {
|
|
13
|
+
// ImageFormat is currently the closed jpeg | png pair. Adding a third member makes this defensive
|
|
14
|
+
// runtime fallback a defect: extend the mapping explicitly instead of silently encoding it as PNG.
|
|
15
|
+
const normalizedFormat = format === 'jpeg' ? 'jpeg' : 'png';
|
|
16
|
+
const backend = getBitmapEncodeBackend();
|
|
17
|
+
if (backend === null)
|
|
18
|
+
return { backend, format: normalizedFormat, reason: 'backend-not-installed' };
|
|
19
|
+
if (!backend.supportedFormats.includes(normalizedFormat)) {
|
|
20
|
+
return { backend, format: normalizedFormat, reason: 'format-unsupported' };
|
|
15
21
|
}
|
|
16
|
-
return
|
|
22
|
+
return { backend, format: normalizedFormat, reason: null };
|
|
17
23
|
}
|
|
18
24
|
//# sourceMappingURL=bitmapEncode.js.map
|
package/dist/bitmapEncode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapEncode.js","sourceRoot":"","sources":["../src/bitmapEncode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bitmapEncode.js","sourceRoot":"","sources":["../src/bitmapEncode.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,UAAU,YAAY,CAC1B,MAAwB,EACxB,SAAsB,KAAK,EAC3B,UAAkB,GAAG;IAErB,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5C,OAAO,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAmB;IAC5D,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;AACtG,CAAC;AAcD,SAAS,mBAAmB,CAAC,MAAmB;IAC9C,kGAAkG;IAClG,mGAAmG;IACnG,MAAM,gBAAgB,GAAgB,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACzE,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;IACzC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IACpG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC7E,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { BackendExplanation, BackendOperationExplanation, BitmapEncodeBackend, BitmapEncodeOperation } from '@flighthq/types/contract';
|
|
2
|
+
export declare function explainBitmapEncodeBackend(): BackendExplanation;
|
|
3
|
+
export declare function explainBitmapEncodeOperation(operation: BitmapEncodeOperation): BackendOperationExplanation;
|
|
4
|
+
export declare function getBitmapEncodeBackend(): BitmapEncodeBackend | null;
|
|
5
|
+
export declare function hasBitmapEncodeHostBackend(): boolean;
|
|
6
|
+
export declare function hasBitmapEncodeOperation(operation: BitmapEncodeOperation): boolean;
|
|
7
|
+
export declare function installBitmapEncodeHostBackend(backend: BitmapEncodeBackend): void;
|
|
8
|
+
export declare function observeBitmapEncodeHostResult(operation: BitmapEncodeOperation, succeeded: boolean): void;
|
|
9
|
+
export declare function resetBitmapEncodeBackendForTest(): void;
|
|
10
|
+
export declare function setBitmapEncodeBackend(backend: BitmapEncodeBackend | null): void;
|
|
11
|
+
//# sourceMappingURL=bitmapEncodeBackend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitmapEncodeBackend.d.ts","sourceRoot":"","sources":["../src/bitmapEncodeBackend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,0BAA0B,IAAI,kBAAkB,CAa/D;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,qBAAqB,GAAG,2BAA2B,CAI1G;AAED,wBAAgB,sBAAsB,IAAI,mBAAmB,GAAG,IAAI,CAEnE;AAED,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAElF;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAMjF;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,qBAAqB,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAKxG;AAED,wBAAgB,+BAA+B,IAAI,IAAI,CAKtD;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAEhF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export function explainBitmapEncodeBackend() {
|
|
2
|
+
if (_custom !== null) {
|
|
3
|
+
return { conflict: _hostConflict, layer: 'custom', operation: null, viability: 'unobserved' };
|
|
4
|
+
}
|
|
5
|
+
if (_host !== null) {
|
|
6
|
+
return {
|
|
7
|
+
conflict: _hostConflict,
|
|
8
|
+
layer: 'host',
|
|
9
|
+
operation: _hostObservation !== null ? _hostObservation.operation : null,
|
|
10
|
+
viability: _hostObservation !== null ? _hostObservation.viability : 'unobserved',
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
return { conflict: false, layer: 'host-not-enabled', operation: null, viability: 'unobserved' };
|
|
14
|
+
}
|
|
15
|
+
export function explainBitmapEncodeOperation(operation) {
|
|
16
|
+
if (_custom !== null)
|
|
17
|
+
return { implemented: true, layer: 'custom', operation };
|
|
18
|
+
if (_host !== null)
|
|
19
|
+
return { implemented: true, layer: 'host', operation };
|
|
20
|
+
return { implemented: false, layer: 'sentinel', operation };
|
|
21
|
+
}
|
|
22
|
+
export function getBitmapEncodeBackend() {
|
|
23
|
+
return _custom ?? _host;
|
|
24
|
+
}
|
|
25
|
+
export function hasBitmapEncodeHostBackend() {
|
|
26
|
+
return _host !== null;
|
|
27
|
+
}
|
|
28
|
+
export function hasBitmapEncodeOperation(operation) {
|
|
29
|
+
return explainBitmapEncodeOperation(operation).implemented;
|
|
30
|
+
}
|
|
31
|
+
export function installBitmapEncodeHostBackend(backend) {
|
|
32
|
+
if (_host !== null) {
|
|
33
|
+
if (_host !== backend)
|
|
34
|
+
_hostConflict = true;
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
_host = backend;
|
|
38
|
+
}
|
|
39
|
+
export function observeBitmapEncodeHostResult(operation, succeeded) {
|
|
40
|
+
_hostObservation = {
|
|
41
|
+
operation,
|
|
42
|
+
viability: succeeded ? 'available' : 'runtime-api-unavailable',
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export function resetBitmapEncodeBackendForTest() {
|
|
46
|
+
_custom = null;
|
|
47
|
+
_host = null;
|
|
48
|
+
_hostConflict = false;
|
|
49
|
+
_hostObservation = null;
|
|
50
|
+
}
|
|
51
|
+
export function setBitmapEncodeBackend(backend) {
|
|
52
|
+
_custom = backend;
|
|
53
|
+
}
|
|
54
|
+
let _custom = null;
|
|
55
|
+
let _host = null;
|
|
56
|
+
let _hostConflict = false;
|
|
57
|
+
let _hostObservation = null;
|
|
58
|
+
//# sourceMappingURL=bitmapEncodeBackend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitmapEncodeBackend.js","sourceRoot":"","sources":["../src/bitmapEncodeBackend.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,0BAA0B;IACxC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IAChG,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,QAAQ,EAAE,aAAa;YACvB,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;YACxE,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;SACjF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,SAAgC;IAC3E,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC/E,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC3E,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,OAAO,IAAI,KAAK,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,KAAK,KAAK,IAAI,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAAgC;IACvE,OAAO,4BAA4B,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAA4B;IACzE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,IAAI,KAAK,KAAK,OAAO;YAAE,aAAa,GAAG,IAAI,CAAC;QAC5C,OAAO;IACT,CAAC;IACD,KAAK,GAAG,OAAO,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,SAAgC,EAAE,SAAkB;IAChG,gBAAgB,GAAG;QACjB,SAAS;QACT,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,yBAAyB;KAC/D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,GAAG,IAAI,CAAC;IACf,KAAK,GAAG,IAAI,CAAC;IACb,aAAa,GAAG,KAAK,CAAC;IACtB,gBAAgB,GAAG,IAAI,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAmC;IACxE,OAAO,GAAG,OAAO,CAAC;AACpB,CAAC;AAED,IAAI,OAAO,GAA+B,IAAI,CAAC;AAC/C,IAAI,KAAK,GAA+B,IAAI,CAAC;AAC7C,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,IAAI,gBAAgB,GAGT,IAAI,CAAC"}
|
package/dist/bitmapFrom.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { Image, Bitmap } from '@flighthq/types/contract';
|
|
2
2
|
/**
|
|
3
|
-
* Reads a host-backed Image into a newly allocated, CPU-readable Bitmap.
|
|
4
|
-
*
|
|
3
|
+
* Reads a host-backed Image into a newly allocated, CPU-readable Bitmap. Returns `null` when the
|
|
4
|
+
* readback cannot complete — call `explainBitmapReadback` with `(resource.source, resource.width,
|
|
5
|
+
* resource.height)` for the reason.
|
|
5
6
|
*/
|
|
6
|
-
export declare function captureBitmapFromImageResource(resource: Readonly<Image>): Bitmap;
|
|
7
|
+
export declare function captureBitmapFromImageResource(resource: Readonly<Image>): Bitmap | null;
|
|
7
8
|
export declare function createBitmapFromCanvas(canvas: HTMLCanvasElement, x?: number, y?: number, width?: number, height?: number): Bitmap;
|
|
8
9
|
/**
|
|
9
10
|
* Reads a bitmap out of any `CanvasImageSource` by drawing it into a scratch 2D canvas. Unlike
|
|
@@ -13,11 +14,8 @@ export declare function createBitmapFromCanvas(canvas: HTMLCanvasElement, x?: nu
|
|
|
13
14
|
* For a Gl/Wgpu source, draw before the browser composites the frame away (in tests, enable the
|
|
14
15
|
* context's preserveDrawingBuffer, or read immediately after rendering).
|
|
15
16
|
*
|
|
16
|
-
* Returns `null`
|
|
17
|
-
*
|
|
18
|
-
* is an expected outcome of loading someone else's image, not a programmer error, so it takes the
|
|
19
|
-
* sentinel the diagnostics conventions reserve for expected failure. Call `explainBitmapReadback`
|
|
20
|
-
* with the same arguments for the reason; it re-derives it without allocating a bitmap.
|
|
17
|
+
* Returns `null` for the expected failures named by `explainBitmapReadback`. Faults during a selected
|
|
18
|
+
* backend's full read or Bitmap allocation propagate instead of being mislabeled as source refusal.
|
|
21
19
|
*/
|
|
22
20
|
export declare function createBitmapFromImageSource(source: CanvasImageSource, width: number, height: number): Bitmap | null;
|
|
23
21
|
//# sourceMappingURL=bitmapFrom.d.ts.map
|
package/dist/bitmapFrom.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapFrom.d.ts","sourceRoot":"","sources":["../src/bitmapFrom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"bitmapFrom.d.ts","sourceRoot":"","sources":["../src/bitmapFrom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAK9D;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,CAEvF;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,iBAAiB,EACzB,CAAC,GAAE,MAAU,EACb,CAAC,GAAE,MAAU,EACb,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAeR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEnH"}
|
package/dist/bitmapFrom.js
CHANGED
|
@@ -1,26 +1,13 @@
|
|
|
1
1
|
import { createEntity } from '@flighthq/entity/contract';
|
|
2
2
|
import { BitmapTextureSourceKind } from '@flighthq/types/contract';
|
|
3
|
+
import { resolveBitmapReadback } from './bitmapReadbackResolver';
|
|
3
4
|
/**
|
|
4
|
-
* Reads a host-backed Image into a newly allocated, CPU-readable Bitmap.
|
|
5
|
-
*
|
|
5
|
+
* Reads a host-backed Image into a newly allocated, CPU-readable Bitmap. Returns `null` when the
|
|
6
|
+
* readback cannot complete — call `explainBitmapReadback` with `(resource.source, resource.width,
|
|
7
|
+
* resource.height)` for the reason.
|
|
6
8
|
*/
|
|
7
9
|
export function captureBitmapFromImageResource(resource) {
|
|
8
|
-
|
|
9
|
-
canvas.width = resource.width;
|
|
10
|
-
canvas.height = resource.height;
|
|
11
|
-
const ctx = canvas.getContext('2d');
|
|
12
|
-
ctx.drawImage(resource.source, 0, 0);
|
|
13
|
-
const raw = ctx.getImageData(0, 0, resource.width, resource.height);
|
|
14
|
-
return createEntity({
|
|
15
|
-
alphaType: 'straight',
|
|
16
|
-
gamut: raw.colorSpace,
|
|
17
|
-
data: raw.data,
|
|
18
|
-
format: 'rgba8unorm',
|
|
19
|
-
height: resource.height,
|
|
20
|
-
kind: BitmapTextureSourceKind,
|
|
21
|
-
version: 0,
|
|
22
|
-
width: resource.width,
|
|
23
|
-
});
|
|
10
|
+
return createBitmapFromImageSource(resource.source, resource.width, resource.height);
|
|
24
11
|
}
|
|
25
12
|
export function createBitmapFromCanvas(canvas, x = 0, y = 0, width, height) {
|
|
26
13
|
const w = width ?? canvas.width;
|
|
@@ -46,45 +33,10 @@ export function createBitmapFromCanvas(canvas, x = 0, y = 0, width, height) {
|
|
|
46
33
|
* For a Gl/Wgpu source, draw before the browser composites the frame away (in tests, enable the
|
|
47
34
|
* context's preserveDrawingBuffer, or read immediately after rendering).
|
|
48
35
|
*
|
|
49
|
-
* Returns `null`
|
|
50
|
-
*
|
|
51
|
-
* is an expected outcome of loading someone else's image, not a programmer error, so it takes the
|
|
52
|
-
* sentinel the diagnostics conventions reserve for expected failure. Call `explainBitmapReadback`
|
|
53
|
-
* with the same arguments for the reason; it re-derives it without allocating a bitmap.
|
|
36
|
+
* Returns `null` for the expected failures named by `explainBitmapReadback`. Faults during a selected
|
|
37
|
+
* backend's full read or Bitmap allocation propagate instead of being mislabeled as source refusal.
|
|
54
38
|
*/
|
|
55
39
|
export function createBitmapFromImageSource(source, width, height) {
|
|
56
|
-
|
|
57
|
-
return null;
|
|
58
|
-
if (typeof document === 'undefined')
|
|
59
|
-
return null;
|
|
60
|
-
const canvas = document.createElement('canvas');
|
|
61
|
-
canvas.width = width;
|
|
62
|
-
canvas.height = height;
|
|
63
|
-
const ctx = canvas.getContext('2d');
|
|
64
|
-
if (ctx === null)
|
|
65
|
-
return null;
|
|
66
|
-
let raw;
|
|
67
|
-
try {
|
|
68
|
-
ctx.drawImage(source, 0, 0);
|
|
69
|
-
raw = ctx.getImageData(0, 0, width, height);
|
|
70
|
-
}
|
|
71
|
-
catch {
|
|
72
|
-
// A tainted canvas throws SecurityError from getImageData; a source the platform cannot draw
|
|
73
|
-
// throws from drawImage. Both mean "no pixels for you", which is the sentinel's job to say.
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
// Annotated rather than returned inline: with a `Bitmap | null` return the object literal loses the
|
|
77
|
-
// contextual typing that narrows its string fields to Bitmap's literal types.
|
|
78
|
-
const bitmap = createEntity({
|
|
79
|
-
alphaType: 'straight',
|
|
80
|
-
gamut: raw.colorSpace,
|
|
81
|
-
data: raw.data,
|
|
82
|
-
format: 'rgba8unorm',
|
|
83
|
-
height,
|
|
84
|
-
kind: BitmapTextureSourceKind,
|
|
85
|
-
version: 0,
|
|
86
|
-
width,
|
|
87
|
-
});
|
|
88
|
-
return bitmap;
|
|
40
|
+
return resolveBitmapReadback(source, width, height, 'bitmap').bitmap;
|
|
89
41
|
}
|
|
90
42
|
//# sourceMappingURL=bitmapFrom.js.map
|
package/dist/bitmapFrom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapFrom.js","sourceRoot":"","sources":["../src/bitmapFrom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE
|
|
1
|
+
{"version":3,"file":"bitmapFrom.js","sourceRoot":"","sources":["../src/bitmapFrom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,QAAyB;IACtE,OAAO,2BAA2B,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAyB,EACzB,IAAY,CAAC,EACb,IAAY,CAAC,EACb,KAAc,EACd,MAAe;IAEf,MAAM,CAAC,GAAG,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;IAChC,MAAM,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;IACrC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,OAAO,YAAY,CAAC;QAClB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE,GAAG,CAAC,UAAmC;QAC9C,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,GAAG,CAAC,KAAK;KACjB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAyB,EAAE,KAAa,EAAE,MAAc;IAClG,OAAO,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { BitmapReadbackBackend } from '@flighthq/types/contract';
|
|
2
|
+
export declare function getBitmapReadbackBackend(): BitmapReadbackBackend | null;
|
|
3
|
+
export declare function hasBitmapReadbackHostBackend(): boolean;
|
|
4
|
+
export declare function installBitmapReadbackHostBackend(backend: BitmapReadbackBackend): void;
|
|
5
|
+
export declare function resetBitmapReadbackBackendForTest(): void;
|
|
6
|
+
export declare function setBitmapReadbackBackend(backend: BitmapReadbackBackend | null): void;
|
|
7
|
+
//# sourceMappingURL=bitmapReadbackBackend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitmapReadbackBackend.d.ts","sourceRoot":"","sources":["../src/bitmapReadbackBackend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,wBAAgB,wBAAwB,IAAI,qBAAqB,GAAG,IAAI,CAEvE;AAED,wBAAgB,4BAA4B,IAAI,OAAO,CAEtD;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAGrF;AAED,wBAAgB,iCAAiC,IAAI,IAAI,CAGxD;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI,CAEpF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export function getBitmapReadbackBackend() {
|
|
2
|
+
return _custom ?? _host;
|
|
3
|
+
}
|
|
4
|
+
export function hasBitmapReadbackHostBackend() {
|
|
5
|
+
return _host !== null;
|
|
6
|
+
}
|
|
7
|
+
export function installBitmapReadbackHostBackend(backend) {
|
|
8
|
+
if (_host !== null)
|
|
9
|
+
return;
|
|
10
|
+
_host = backend;
|
|
11
|
+
}
|
|
12
|
+
export function resetBitmapReadbackBackendForTest() {
|
|
13
|
+
_custom = null;
|
|
14
|
+
_host = null;
|
|
15
|
+
}
|
|
16
|
+
export function setBitmapReadbackBackend(backend) {
|
|
17
|
+
_custom = backend;
|
|
18
|
+
}
|
|
19
|
+
let _custom = null;
|
|
20
|
+
let _host = null;
|
|
21
|
+
//# sourceMappingURL=bitmapReadbackBackend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitmapReadbackBackend.js","sourceRoot":"","sources":["../src/bitmapReadbackBackend.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,wBAAwB;IACtC,OAAO,OAAO,IAAI,KAAK,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO,KAAK,KAAK,IAAI,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,OAA8B;IAC7E,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO;IAC3B,KAAK,GAAG,OAAO,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO,GAAG,IAAI,CAAC;IACf,KAAK,GAAG,IAAI,CAAC;AACf,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAqC;IAC5E,OAAO,GAAG,OAAO,CAAC;AACpB,CAAC;AAED,IAAI,OAAO,GAAiC,IAAI,CAAC;AACjD,IAAI,KAAK,GAAiC,IAAI,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Bitmap, BitmapReadbackBlockReason, BitmapReadbackMode, HostImageSource } from '@flighthq/types/contract';
|
|
2
|
+
interface BitmapReadbackResolution {
|
|
3
|
+
readonly bitmap: Bitmap | null;
|
|
4
|
+
readonly reason: BitmapReadbackBlockReason;
|
|
5
|
+
}
|
|
6
|
+
export declare function resolveBitmapReadback(source: HostImageSource, width: number, height: number, mode: BitmapReadbackMode): BitmapReadbackResolution;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=bitmapReadbackResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitmapReadbackResolver.d.ts","sourceRoot":"","sources":["../src/bitmapReadbackResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAIvH,UAAU,wBAAwB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;CAC5C;AAID,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,kBAAkB,GACvB,wBAAwB,CAK1B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { getBitmapReadbackBackend } from './bitmapReadbackBackend';
|
|
2
|
+
// Package-private: both public projections route through this resolver, but it is deliberately absent
|
|
3
|
+
// from the package barrels so callers cannot couple to the selection machinery.
|
|
4
|
+
export function resolveBitmapReadback(source, width, height, mode) {
|
|
5
|
+
if (width <= 0 || height <= 0)
|
|
6
|
+
return { bitmap: null, reason: 'empty-size' };
|
|
7
|
+
const backend = getBitmapReadbackBackend();
|
|
8
|
+
if (backend === null)
|
|
9
|
+
return { bitmap: null, reason: 'backend-not-installed' };
|
|
10
|
+
return backend.readBitmap(source, width, height, mode);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=bitmapReadbackResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitmapReadbackResolver.js","sourceRoot":"","sources":["../src/bitmapReadbackResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAOnE,sGAAsG;AACtG,gFAAgF;AAChF,MAAM,UAAU,qBAAqB,CACnC,MAAuB,EACvB,KAAa,EACb,MAAc,EACd,IAAwB;IAExB,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAC7E,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;IAC3C,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAC/E,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC"}
|
package/dist/contract.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export * from './bitmapDisplacement';
|
|
|
15
15
|
export * from './bitmapDissolve';
|
|
16
16
|
export * from './bitmapDraw';
|
|
17
17
|
export * from './bitmapEncode';
|
|
18
|
+
export * from './bitmapEncodeBackend';
|
|
19
|
+
export * from './bitmapReadbackBackend';
|
|
18
20
|
export * from './bitmapFill';
|
|
19
21
|
export * from './bitmapFingerprint';
|
|
20
22
|
export * from './bitmapFlip';
|
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC"}
|
package/dist/contract.js
CHANGED
|
@@ -15,6 +15,8 @@ export * from './bitmapDisplacement';
|
|
|
15
15
|
export * from './bitmapDissolve';
|
|
16
16
|
export * from './bitmapDraw';
|
|
17
17
|
export * from './bitmapEncode';
|
|
18
|
+
export * from './bitmapEncodeBackend';
|
|
19
|
+
export * from './bitmapReadbackBackend';
|
|
18
20
|
export * from './bitmapFill';
|
|
19
21
|
export * from './bitmapFingerprint';
|
|
20
22
|
export * from './bitmapFlip';
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explainBitmapReadback.d.ts","sourceRoot":"","sources":["../src/explainBitmapReadback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"explainBitmapReadback.d.ts","sourceRoot":"","sources":["../src/explainBitmapReadback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAQ1E,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,yBAAyB,CAG3B"}
|
|
@@ -1,39 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
// Reasons are root-cause prioritized rather than following the constructor's literal check order: an
|
|
7
|
-
// empty capture and a missing DOM are properties of the call and the host, knowable without touching
|
|
8
|
-
// the source at all, so they are reported before anything is drawn. `tainted-source` is last because
|
|
9
|
-
// it is the only one that requires actually attempting the read.
|
|
10
|
-
//
|
|
11
|
-
// This is the pull half of the diagnostics convention, and it duplicates the constructor's failure
|
|
12
|
-
// conditions by design — the maintenance seam is that a new way for the readback to fail must gain a
|
|
13
|
-
// matching branch here or this query silently goes stale.
|
|
1
|
+
import { resolveBitmapReadback } from './bitmapReadbackResolver';
|
|
2
|
+
// Authoritative over the EXPECTED-FAILURE vocabulary for createBitmapFromImageSource: it invokes the
|
|
3
|
+
// same resolver in one-pixel probe mode and allocates no Bitmap. It does not predict FAULTS; in
|
|
4
|
+
// particular, a successful probe does not promise that the constructor's full read or allocation
|
|
5
|
+
// cannot fault, and those faults propagate from the constructor.
|
|
14
6
|
export function explainBitmapReadback(source, width, height) {
|
|
15
|
-
const
|
|
16
|
-
return { readable: reason === 'ok', reason };
|
|
17
|
-
}
|
|
18
|
-
function _blockReason(source, width, height) {
|
|
19
|
-
if (width <= 0 || height <= 0)
|
|
20
|
-
return 'empty-size';
|
|
21
|
-
if (typeof document === 'undefined')
|
|
22
|
-
return 'no-canvas';
|
|
23
|
-
const canvas = document.createElement('canvas');
|
|
24
|
-
canvas.width = 1;
|
|
25
|
-
canvas.height = 1;
|
|
26
|
-
const ctx = canvas.getContext('2d');
|
|
27
|
-
if (ctx === null)
|
|
28
|
-
return 'no-canvas';
|
|
29
|
-
try {
|
|
30
|
-
// One pixel is enough: taint is a property of the canvas after the draw, not of how much was read.
|
|
31
|
-
ctx.drawImage(source, 0, 0);
|
|
32
|
-
ctx.getImageData(0, 0, 1, 1);
|
|
33
|
-
}
|
|
34
|
-
catch {
|
|
35
|
-
return 'tainted-source';
|
|
36
|
-
}
|
|
37
|
-
return 'ok';
|
|
7
|
+
const outcome = resolveBitmapReadback(source, width, height, 'probe');
|
|
8
|
+
return { readable: outcome.reason === 'ok', reason: outcome.reason };
|
|
38
9
|
}
|
|
39
10
|
//# sourceMappingURL=explainBitmapReadback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explainBitmapReadback.js","sourceRoot":"","sources":["../src/explainBitmapReadback.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"explainBitmapReadback.js","sourceRoot":"","sources":["../src/explainBitmapReadback.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,qGAAqG;AACrG,gGAAgG;AAChG,iGAAiG;AACjG,iEAAiE;AACjE,MAAM,UAAU,qBAAqB,CACnC,MAAyB,EACzB,KAAa,EACb,MAAc;IAEd,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACtE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AACvE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ImageChannel, BITMAP_FINGERPRINT_COMPUTATION_ID, BITMAP_NOISE_CHANNEL_A, BITMAP_NOISE_CHANNEL_B, BITMAP_NOISE_CHANNEL_G, BITMAP_NOISE_CHANNEL_R, applyBitmapColorScaleBias, applyBitmapCurve, applyBitmapLevels, applyBitmapPaletteMap, applyBitmapThreshold, bevelBitmap, blurBitmapPixelsHorizontal, blurBitmapPixelsHorizontalWeighted, blurBitmapPixelsVertical, blurBitmapPixelsVerticalWeighted, boxBlurBitmap, buildBitmapBrightnessColorMatrix, buildBitmapContrastColorMatrix, buildBitmapGradientRamp, buildBitmapGrayscaleColorMatrix, buildBitmapHueRotationColorMatrix, buildBitmapInvertColorMatrix, buildBitmapSaturationColorMatrix, buildBitmapSepiaColorMatrix, cloneBitmap, colorMatrixBitmap, compareBitmap, compareBitmapFingerprints, compositeBitmapPixels, compositeBitmapRegion, computeGaussianKernel, concatBitmapColorMatrix, convertBitmapAlphaType, convertBitmapPixelOrder, convolveBitmap, copyBitmapAlpha, copyBitmapChannel, copyBitmapPixels, createBitmap, createBitmapFingerprint, createBitmapFromCanvas, captureBitmapFromImageResource, createBitmapFromImageSource, explainBitmapReadback, createBitmapRegion, cropBitmap, dilateBitmap, displaceBitmap, dissolveBitmapPixels, drawBitmap, dropShadowBitmap, encodeBitmap, equalizeBitmapHistogram, erodeBitmap, extendBitmap, extractBitmapPixels, extractBitmapPixels32, fillBitmapLinearGradient, fillBitmapNoise, fillBitmapPerlinNoise, fillBitmapRadialGradient, fillBitmapRectangle, fillBitmapTurbulence, flipBitmapHorizontal, flipBitmapVertical, floodFillBitmap, formatBitmapFingerprint, gaussianBlurBitmap, getBitmapColorBoundsRectangle, getBitmapCoverage, getBitmapHistogram, getBitmapMismatch, getBitmapPixel, getBitmapPixelChannel, getBitmapPixelLuminance, getBitmapPixelRgb, glowBitmap, gradientBevelBitmap, gradientGlowBitmap, innerGlowBitmap, innerShadowBitmap, invalidateBitmap, medianBitmap, mergeBitmap, mergeBitmapChannels, multiplyBitmapAlpha, parseBitmapFingerprint, pixelateBitmap, premultiplyBitmapPixels, resizeBitmap, rotateBitmap, rotateBitmap180, rotateBitmapClockwise, rotateBitmapCounterClockwise, scrollBitmap, setBitmapAlpha, setBitmapColorMatrixIdentity, setBitmapPixel, setBitmapPixelRgb, setBitmapRegion, sharpenBitmap, splitBitmapChannels, transformBitmap, trimBitmap, unpremultiplyBitmapPixels, warpBitmap, warpBitmapQuad, writeBitmapPixels, writeBitmapPixels32, } from './contract';
|
|
1
|
+
export { ImageChannel, BITMAP_FINGERPRINT_COMPUTATION_ID, BITMAP_NOISE_CHANNEL_A, BITMAP_NOISE_CHANNEL_B, BITMAP_NOISE_CHANNEL_G, BITMAP_NOISE_CHANNEL_R, applyBitmapColorScaleBias, applyBitmapCurve, applyBitmapLevels, applyBitmapPaletteMap, applyBitmapThreshold, bevelBitmap, blurBitmapPixelsHorizontal, blurBitmapPixelsHorizontalWeighted, blurBitmapPixelsVertical, blurBitmapPixelsVerticalWeighted, boxBlurBitmap, buildBitmapBrightnessColorMatrix, buildBitmapContrastColorMatrix, buildBitmapGradientRamp, buildBitmapGrayscaleColorMatrix, buildBitmapHueRotationColorMatrix, buildBitmapInvertColorMatrix, buildBitmapSaturationColorMatrix, buildBitmapSepiaColorMatrix, cloneBitmap, colorMatrixBitmap, compareBitmap, compareBitmapFingerprints, compositeBitmapPixels, compositeBitmapRegion, computeGaussianKernel, concatBitmapColorMatrix, convertBitmapAlphaType, convertBitmapPixelOrder, convolveBitmap, copyBitmapAlpha, copyBitmapChannel, copyBitmapPixels, createBitmap, createBitmapFingerprint, createBitmapFromCanvas, captureBitmapFromImageResource, createBitmapFromImageSource, explainBitmapReadback, createBitmapRegion, cropBitmap, dilateBitmap, displaceBitmap, dissolveBitmapPixels, drawBitmap, dropShadowBitmap, encodeBitmap, explainBitmapEncodeBackend, explainBitmapEncodeFailure, explainBitmapEncodeOperation, equalizeBitmapHistogram, erodeBitmap, extendBitmap, extractBitmapPixels, extractBitmapPixels32, fillBitmapLinearGradient, fillBitmapNoise, fillBitmapPerlinNoise, fillBitmapRadialGradient, fillBitmapRectangle, fillBitmapTurbulence, flipBitmapHorizontal, flipBitmapVertical, floodFillBitmap, formatBitmapFingerprint, gaussianBlurBitmap, getBitmapColorBoundsRectangle, getBitmapCoverage, getBitmapHistogram, getBitmapMismatch, getBitmapPixel, getBitmapPixelChannel, getBitmapPixelLuminance, getBitmapPixelRgb, glowBitmap, gradientBevelBitmap, gradientGlowBitmap, hasBitmapEncodeOperation, innerGlowBitmap, innerShadowBitmap, invalidateBitmap, medianBitmap, mergeBitmap, mergeBitmapChannels, multiplyBitmapAlpha, parseBitmapFingerprint, pixelateBitmap, premultiplyBitmapPixels, resizeBitmap, rotateBitmap, rotateBitmap180, rotateBitmapClockwise, rotateBitmapCounterClockwise, scrollBitmap, setBitmapAlpha, setBitmapColorMatrixIdentity, setBitmapPixel, setBitmapPixelRgb, setBitmapRegion, sharpenBitmap, splitBitmapChannels, transformBitmap, trimBitmap, unpremultiplyBitmapPixels, warpBitmap, warpBitmapQuad, writeBitmapPixels, writeBitmapPixels32, } from './contract';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,iCAAiC,EACjC,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,0BAA0B,EAC1B,kCAAkC,EAClC,wBAAwB,EACxB,gCAAgC,EAChC,aAAa,EACb,gCAAgC,EAChC,8BAA8B,EAC9B,uBAAuB,EACvB,+BAA+B,EAC/B,iCAAiC,EACjC,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,uBAAuB,EACvB,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,6BAA6B,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,4BAA4B,EAC5B,YAAY,EACZ,cAAc,EACd,4BAA4B,EAC5B,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,yBAAyB,EACzB,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,iCAAiC,EACjC,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,0BAA0B,EAC1B,kCAAkC,EAClC,wBAAwB,EACxB,gCAAgC,EAChC,aAAa,EACb,gCAAgC,EAChC,8BAA8B,EAC9B,uBAAuB,EACvB,+BAA+B,EAC/B,iCAAiC,EACjC,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,uBAAuB,EACvB,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,6BAA6B,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,4BAA4B,EAC5B,YAAY,EACZ,cAAc,EACd,4BAA4B,EAC5B,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,yBAAyB,EACzB,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ImageChannel, BITMAP_FINGERPRINT_COMPUTATION_ID, BITMAP_NOISE_CHANNEL_A, BITMAP_NOISE_CHANNEL_B, BITMAP_NOISE_CHANNEL_G, BITMAP_NOISE_CHANNEL_R, applyBitmapColorScaleBias, applyBitmapCurve, applyBitmapLevels, applyBitmapPaletteMap, applyBitmapThreshold, bevelBitmap, blurBitmapPixelsHorizontal, blurBitmapPixelsHorizontalWeighted, blurBitmapPixelsVertical, blurBitmapPixelsVerticalWeighted, boxBlurBitmap, buildBitmapBrightnessColorMatrix, buildBitmapContrastColorMatrix, buildBitmapGradientRamp, buildBitmapGrayscaleColorMatrix, buildBitmapHueRotationColorMatrix, buildBitmapInvertColorMatrix, buildBitmapSaturationColorMatrix, buildBitmapSepiaColorMatrix, cloneBitmap, colorMatrixBitmap, compareBitmap, compareBitmapFingerprints, compositeBitmapPixels, compositeBitmapRegion, computeGaussianKernel, concatBitmapColorMatrix, convertBitmapAlphaType, convertBitmapPixelOrder, convolveBitmap, copyBitmapAlpha, copyBitmapChannel, copyBitmapPixels, createBitmap, createBitmapFingerprint, createBitmapFromCanvas, captureBitmapFromImageResource, createBitmapFromImageSource, explainBitmapReadback, createBitmapRegion, cropBitmap, dilateBitmap, displaceBitmap, dissolveBitmapPixels, drawBitmap, dropShadowBitmap, encodeBitmap, equalizeBitmapHistogram, erodeBitmap, extendBitmap, extractBitmapPixels, extractBitmapPixels32, fillBitmapLinearGradient, fillBitmapNoise, fillBitmapPerlinNoise, fillBitmapRadialGradient, fillBitmapRectangle, fillBitmapTurbulence, flipBitmapHorizontal, flipBitmapVertical, floodFillBitmap, formatBitmapFingerprint, gaussianBlurBitmap, getBitmapColorBoundsRectangle, getBitmapCoverage, getBitmapHistogram, getBitmapMismatch, getBitmapPixel, getBitmapPixelChannel, getBitmapPixelLuminance, getBitmapPixelRgb, glowBitmap, gradientBevelBitmap, gradientGlowBitmap, innerGlowBitmap, innerShadowBitmap, invalidateBitmap, medianBitmap, mergeBitmap, mergeBitmapChannels, multiplyBitmapAlpha, parseBitmapFingerprint, pixelateBitmap, premultiplyBitmapPixels, resizeBitmap, rotateBitmap, rotateBitmap180, rotateBitmapClockwise, rotateBitmapCounterClockwise, scrollBitmap, setBitmapAlpha, setBitmapColorMatrixIdentity, setBitmapPixel, setBitmapPixelRgb, setBitmapRegion, sharpenBitmap, splitBitmapChannels, transformBitmap, trimBitmap, unpremultiplyBitmapPixels, warpBitmap, warpBitmapQuad, writeBitmapPixels, writeBitmapPixels32, } from './contract';
|
|
1
|
+
export { ImageChannel, BITMAP_FINGERPRINT_COMPUTATION_ID, BITMAP_NOISE_CHANNEL_A, BITMAP_NOISE_CHANNEL_B, BITMAP_NOISE_CHANNEL_G, BITMAP_NOISE_CHANNEL_R, applyBitmapColorScaleBias, applyBitmapCurve, applyBitmapLevels, applyBitmapPaletteMap, applyBitmapThreshold, bevelBitmap, blurBitmapPixelsHorizontal, blurBitmapPixelsHorizontalWeighted, blurBitmapPixelsVertical, blurBitmapPixelsVerticalWeighted, boxBlurBitmap, buildBitmapBrightnessColorMatrix, buildBitmapContrastColorMatrix, buildBitmapGradientRamp, buildBitmapGrayscaleColorMatrix, buildBitmapHueRotationColorMatrix, buildBitmapInvertColorMatrix, buildBitmapSaturationColorMatrix, buildBitmapSepiaColorMatrix, cloneBitmap, colorMatrixBitmap, compareBitmap, compareBitmapFingerprints, compositeBitmapPixels, compositeBitmapRegion, computeGaussianKernel, concatBitmapColorMatrix, convertBitmapAlphaType, convertBitmapPixelOrder, convolveBitmap, copyBitmapAlpha, copyBitmapChannel, copyBitmapPixels, createBitmap, createBitmapFingerprint, createBitmapFromCanvas, captureBitmapFromImageResource, createBitmapFromImageSource, explainBitmapReadback, createBitmapRegion, cropBitmap, dilateBitmap, displaceBitmap, dissolveBitmapPixels, drawBitmap, dropShadowBitmap, encodeBitmap, explainBitmapEncodeBackend, explainBitmapEncodeFailure, explainBitmapEncodeOperation, equalizeBitmapHistogram, erodeBitmap, extendBitmap, extractBitmapPixels, extractBitmapPixels32, fillBitmapLinearGradient, fillBitmapNoise, fillBitmapPerlinNoise, fillBitmapRadialGradient, fillBitmapRectangle, fillBitmapTurbulence, flipBitmapHorizontal, flipBitmapVertical, floodFillBitmap, formatBitmapFingerprint, gaussianBlurBitmap, getBitmapColorBoundsRectangle, getBitmapCoverage, getBitmapHistogram, getBitmapMismatch, getBitmapPixel, getBitmapPixelChannel, getBitmapPixelLuminance, getBitmapPixelRgb, glowBitmap, gradientBevelBitmap, gradientGlowBitmap, hasBitmapEncodeOperation, innerGlowBitmap, innerShadowBitmap, invalidateBitmap, medianBitmap, mergeBitmap, mergeBitmapChannels, multiplyBitmapAlpha, parseBitmapFingerprint, pixelateBitmap, premultiplyBitmapPixels, resizeBitmap, rotateBitmap, rotateBitmap180, rotateBitmapClockwise, rotateBitmapCounterClockwise, scrollBitmap, setBitmapAlpha, setBitmapColorMatrixIdentity, setBitmapPixel, setBitmapPixelRgb, setBitmapRegion, sharpenBitmap, splitBitmapChannels, transformBitmap, trimBitmap, unpremultiplyBitmapPixels, warpBitmap, warpBitmapQuad, writeBitmapPixels, writeBitmapPixels32, } from './contract';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,iCAAiC,EACjC,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,0BAA0B,EAC1B,kCAAkC,EAClC,wBAAwB,EACxB,gCAAgC,EAChC,aAAa,EACb,gCAAgC,EAChC,8BAA8B,EAC9B,uBAAuB,EACvB,+BAA+B,EAC/B,iCAAiC,EACjC,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,uBAAuB,EACvB,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,6BAA6B,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,4BAA4B,EAC5B,YAAY,EACZ,cAAc,EACd,4BAA4B,EAC5B,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,yBAAyB,EACzB,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,iCAAiC,EACjC,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,0BAA0B,EAC1B,kCAAkC,EAClC,wBAAwB,EACxB,gCAAgC,EAChC,aAAa,EACb,gCAAgC,EAChC,8BAA8B,EAC9B,uBAAuB,EACvB,+BAA+B,EAC/B,iCAAiC,EACjC,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,uBAAuB,EACvB,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,6BAA6B,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,4BAA4B,EAC5B,YAAY,EACZ,cAAc,EACd,4BAA4B,EAC5B,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,yBAAyB,EACzB,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/bitmap",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1-edge.638.d4dbd4e",
|
|
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.5.
|
|
42
|
-
"@flighthq/entity": "0.5.
|
|
43
|
-
"@flighthq/types": "0.5.
|
|
41
|
+
"@flighthq/image": "0.5.1-edge.638.d4dbd4e",
|
|
42
|
+
"@flighthq/entity": "0.5.1-edge.638.d4dbd4e",
|
|
43
|
+
"@flighthq/types": "0.5.1-edge.638.d4dbd4e"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"typescript": "^5.3.0"
|