@flighthq/bitmap 0.5.1-next.820.97b3830 → 0.5.1-next.903.f434bc2
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/bitmap.d.ts +2 -1
- package/dist/bitmap.d.ts.map +1 -1
- package/dist/bitmap.js +24 -21
- package/dist/bitmap.js.map +1 -1
- package/dist/bitmapChannel.d.ts +2 -1
- package/dist/bitmapChannel.d.ts.map +1 -1
- package/dist/bitmapChannel.js +14 -11
- package/dist/bitmapChannel.js.map +1 -1
- package/dist/bitmapCrop.d.ts +1 -1
- package/dist/bitmapCrop.d.ts.map +1 -1
- package/dist/bitmapCrop.js +11 -32
- package/dist/bitmapCrop.js.map +1 -1
- package/dist/bitmapEncode.d.ts +3 -3
- package/dist/bitmapEncode.d.ts.map +1 -1
- package/dist/bitmapEncode.js +6 -11
- package/dist/bitmapEncode.js.map +1 -1
- package/dist/bitmapFingerprint.d.ts +2 -1
- package/dist/bitmapFingerprint.d.ts.map +1 -1
- package/dist/bitmapFingerprint.js +16 -4
- package/dist/bitmapFingerprint.js.map +1 -1
- package/dist/bitmapFrom.d.ts +4 -19
- package/dist/bitmapFrom.d.ts.map +1 -1
- package/dist/bitmapFrom.js +19 -32
- package/dist/bitmapFrom.js.map +1 -1
- package/dist/bitmapReadbackResolver.d.ts +2 -2
- package/dist/bitmapReadbackResolver.d.ts.map +1 -1
- package/dist/bitmapReadbackResolver.js +2 -8
- package/dist/bitmapReadbackResolver.js.map +1 -1
- package/dist/contract.d.ts +2 -2
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +2 -2
- package/dist/contract.js.map +1 -1
- package/dist/explainBitmapReadback.d.ts +2 -2
- package/dist/explainBitmapReadback.d.ts.map +1 -1
- package/dist/explainBitmapReadback.js +2 -6
- 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/bitmapEncode.test.ts +43 -67
- package/src/bitmapFrom.test.ts +14 -21
- package/src/bitmapReadbackResolver.test.ts +11 -16
- package/src/explainBitmapReadback.test.ts +25 -55
- package/dist/bitmapEncodeBackend.d.ts +0 -11
- package/dist/bitmapEncodeBackend.d.ts.map +0 -1
- package/dist/bitmapEncodeBackend.js +0 -58
- package/dist/bitmapEncodeBackend.js.map +0 -1
- package/dist/bitmapReadbackBackend.d.ts +0 -7
- package/dist/bitmapReadbackBackend.d.ts.map +0 -1
- package/dist/bitmapReadbackBackend.js +0 -21
- package/dist/bitmapReadbackBackend.js.map +0 -1
- package/src/bitmapEncodeBackend.test.ts +0 -146
- package/src/bitmapReadbackBackend.test.ts +0 -69
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.1-next.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/bitmap@0.5.1-next.903.f434bc2](https://github.com/flighthq/flight/tree/f434bc233778d75aeea61995df3a8cfaec459a85/packages/bitmap)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/f434bc233778d75aeea61995df3a8cfaec459a85/LICENSE.md)
|
package/dist/bitmap.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AlphaType, Bitmap } from '@flighthq/types/contract';
|
|
1
|
+
import type { AlphaType, Bitmap, EntityConstruction } from '@flighthq/types/contract';
|
|
2
2
|
export declare function cloneBitmap(source: Readonly<Bitmap>): Bitmap;
|
|
3
3
|
/**
|
|
4
4
|
* Converts the alpha representation of `out` in place between `'straight'` and
|
|
@@ -13,5 +13,6 @@ export declare function cloneBitmap(source: Readonly<Bitmap>): Bitmap;
|
|
|
13
13
|
*/
|
|
14
14
|
export declare function convertBitmapAlphaType(out: Bitmap, target: AlphaType): void;
|
|
15
15
|
export declare function createBitmap(width: number, height: number, color?: number): Bitmap;
|
|
16
|
+
export declare function initializeBitmap(out: EntityConstruction<Bitmap>, width: number, height: number, color?: number): void;
|
|
16
17
|
export declare function invalidateBitmap(bitmap: Bitmap): void;
|
|
17
18
|
//# sourceMappingURL=bitmap.d.ts.map
|
package/dist/bitmap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmap.d.ts","sourceRoot":"","sources":["../src/bitmap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"bitmap.d.ts","sourceRoot":"","sources":["../src/bitmap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGtF,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAW5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA6B3E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,CAIrF;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAC/B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAU,GAChB,IAAI,CAsBN;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAErD"}
|
package/dist/bitmap.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
2
|
import { BitmapTextureSourceKind } from '@flighthq/types/contract';
|
|
3
3
|
export function cloneBitmap(source) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
const out = allocateEntity();
|
|
5
|
+
out.alphaType = source.alphaType;
|
|
6
|
+
out.gamut = source.gamut;
|
|
7
|
+
out.data = new Uint8ClampedArray(source.data);
|
|
8
|
+
out.format = source.format;
|
|
9
|
+
out.height = source.height;
|
|
10
|
+
out.kind = source.kind;
|
|
11
|
+
out.version = 0;
|
|
12
|
+
out.width = source.width;
|
|
13
|
+
return finishEntity(out);
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Converts the alpha representation of `out` in place between `'straight'` and
|
|
@@ -57,6 +57,11 @@ export function convertBitmapAlphaType(out, target) {
|
|
|
57
57
|
invalidateBitmap(out);
|
|
58
58
|
}
|
|
59
59
|
export function createBitmap(width, height, color = 0) {
|
|
60
|
+
const out = allocateEntity();
|
|
61
|
+
initializeBitmap(out, width, height, color);
|
|
62
|
+
return finishEntity(out);
|
|
63
|
+
}
|
|
64
|
+
export function initializeBitmap(out, width, height, color = 0) {
|
|
60
65
|
const data = new Uint8ClampedArray(width * height * 4);
|
|
61
66
|
if (color !== 0) {
|
|
62
67
|
const r = (color >>> 24) & 0xff;
|
|
@@ -70,16 +75,14 @@ export function createBitmap(width, height, color = 0) {
|
|
|
70
75
|
data[i + 3] = a;
|
|
71
76
|
}
|
|
72
77
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
width,
|
|
82
|
-
});
|
|
78
|
+
out.alphaType = 'straight';
|
|
79
|
+
out.gamut = 'srgb';
|
|
80
|
+
out.data = data;
|
|
81
|
+
out.format = 'rgba8unorm';
|
|
82
|
+
out.height = height;
|
|
83
|
+
out.kind = BitmapTextureSourceKind;
|
|
84
|
+
out.version = 0;
|
|
85
|
+
out.width = width;
|
|
83
86
|
}
|
|
84
87
|
export function invalidateBitmap(bitmap) {
|
|
85
88
|
bitmap.version = (bitmap.version + 1) >>> 0;
|
package/dist/bitmap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmap.js","sourceRoot":"","sources":["../src/bitmap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"bitmap.js","sourceRoot":"","sources":["../src/bitmap.ts"],"names":[],"mappings":"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"}
|
package/dist/bitmapChannel.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { Bitmap, BitmapRegion } from '@flighthq/types/contract';
|
|
1
|
+
import type { Bitmap, BitmapRegion, EntityConstruction } from '@flighthq/types/contract';
|
|
2
|
+
export declare function initializeBitmap(out: EntityConstruction<Bitmap>, alphaType: Bitmap['alphaType'], data: Uint8ClampedArray<ArrayBuffer>, format: Bitmap['format'], gamut: Bitmap['gamut'], height: number, width: number): void;
|
|
2
3
|
/**
|
|
3
4
|
* Merges four single-channel bitmaps (or any full-RGBA bitmaps) into `out`
|
|
4
5
|
* by taking one channel from each input bitmap:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapChannel.d.ts","sourceRoot":"","sources":["../src/bitmapChannel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"bitmapChannel.d.ts","sourceRoot":"","sources":["../src/bitmapChannel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAKzF,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAC/B,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,EAC9B,IAAI,EAAE,iBAAiB,CAAC,WAAW,CAAC,EACpC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,IAAI,CASN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC3B,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,EACzB,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,EACzB,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,EACzB,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,GACxB,IAAI,CAsDN;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAuC9F"}
|
package/dist/bitmapChannel.js
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
2
|
import { BitmapTextureSourceKind } from '@flighthq/types/contract';
|
|
3
3
|
import { invalidateBitmap } from './bitmap';
|
|
4
|
+
export function initializeBitmap(out, alphaType, data, format, gamut, height, width) {
|
|
5
|
+
out.alphaType = alphaType;
|
|
6
|
+
out.data = data;
|
|
7
|
+
out.format = format;
|
|
8
|
+
out.gamut = gamut;
|
|
9
|
+
out.height = height;
|
|
10
|
+
out.kind = BitmapTextureSourceKind;
|
|
11
|
+
out.version = 0;
|
|
12
|
+
out.width = width;
|
|
13
|
+
}
|
|
4
14
|
/**
|
|
5
15
|
* Merges four single-channel bitmaps (or any full-RGBA bitmaps) into `out`
|
|
6
16
|
* by taking one channel from each input bitmap:
|
|
@@ -113,15 +123,8 @@ export function splitBitmapChannels(source) {
|
|
|
113
123
|
];
|
|
114
124
|
}
|
|
115
125
|
function makeBitmap(data, width, height, source) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
data,
|
|
120
|
-
format: source.format,
|
|
121
|
-
height,
|
|
122
|
-
kind: BitmapTextureSourceKind,
|
|
123
|
-
version: 0,
|
|
124
|
-
width,
|
|
125
|
-
});
|
|
126
|
+
const out = allocateEntity();
|
|
127
|
+
initializeBitmap(out, source.alphaType, data, source.format, source.gamut, height, width);
|
|
128
|
+
return finishEntity(out);
|
|
126
129
|
}
|
|
127
130
|
//# sourceMappingURL=bitmapChannel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapChannel.js","sourceRoot":"","sources":["../src/bitmapChannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"bitmapChannel.js","sourceRoot":"","sources":["../src/bitmapChannel.ts"],"names":[],"mappings":"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"}
|
package/dist/bitmapCrop.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Bitmap, BitmapEdgeMode, RectangleLike } from '@flighthq/types/contract';
|
|
2
2
|
/**
|
|
3
3
|
* Allocates a new `Bitmap` containing the pixels of `source` cropped to
|
|
4
4
|
* `rect`. `rect` coordinates are relative to the `source` bitmap origin
|
package/dist/bitmapCrop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapCrop.d.ts","sourceRoot":"","sources":["../src/bitmapCrop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"bitmapCrop.d.ts","sourceRoot":"","sources":["../src/bitmapCrop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAItF;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,MAAM,CA0B1F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,cAA8B,EACxC,SAAS,SAAI,GACZ,MAAM,CA2CR;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAyB3D"}
|
package/dist/bitmapCrop.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
|
+
import { initializeBitmap } from './bitmapChannel';
|
|
3
3
|
/**
|
|
4
4
|
* Allocates a new `Bitmap` containing the pixels of `source` cropped to
|
|
5
5
|
* `rect`. `rect` coordinates are relative to the `source` bitmap origin
|
|
@@ -34,16 +34,9 @@ export function cropBitmap(source, rect) {
|
|
|
34
34
|
data[di + 3] = sd[si + 3];
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
data,
|
|
41
|
-
format: source.format,
|
|
42
|
-
height: rh,
|
|
43
|
-
kind: BitmapTextureSourceKind,
|
|
44
|
-
version: 0,
|
|
45
|
-
width: rw,
|
|
46
|
-
});
|
|
37
|
+
const out = allocateEntity();
|
|
38
|
+
initializeBitmap(out, source.alphaType, data, source.format, source.gamut, rh, rw);
|
|
39
|
+
return finishEntity(out);
|
|
47
40
|
}
|
|
48
41
|
/**
|
|
49
42
|
* Allocates a new `Bitmap` with `source` padded by `left`, `top`, `right`,
|
|
@@ -100,16 +93,9 @@ export function extendBitmap(source, left, top, right, bottom, edgeMode = 'trans
|
|
|
100
93
|
}
|
|
101
94
|
}
|
|
102
95
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
data,
|
|
107
|
-
format: source.format,
|
|
108
|
-
height: dh,
|
|
109
|
-
kind: BitmapTextureSourceKind,
|
|
110
|
-
version: 0,
|
|
111
|
-
width: dw,
|
|
112
|
-
});
|
|
96
|
+
const out = allocateEntity();
|
|
97
|
+
initializeBitmap(out, source.alphaType, data, source.format, source.gamut, dh, dw);
|
|
98
|
+
return finishEntity(out);
|
|
113
99
|
}
|
|
114
100
|
/**
|
|
115
101
|
* Allocates a new `Bitmap` with the transparent border of `source` removed.
|
|
@@ -141,16 +127,9 @@ export function trimBitmap(source) {
|
|
|
141
127
|
}
|
|
142
128
|
}
|
|
143
129
|
if (maxX < 0) {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
data: new Uint8ClampedArray(4),
|
|
148
|
-
format: source.format,
|
|
149
|
-
height: 1,
|
|
150
|
-
kind: BitmapTextureSourceKind,
|
|
151
|
-
version: 0,
|
|
152
|
-
width: 1,
|
|
153
|
-
});
|
|
130
|
+
const out = allocateEntity();
|
|
131
|
+
initializeBitmap(out, source.alphaType, new Uint8ClampedArray(4), source.format, source.gamut, 1, 1);
|
|
132
|
+
return finishEntity(out);
|
|
154
133
|
}
|
|
155
134
|
return cropBitmap(source, { x: minX, y: minY, width: maxX - minX + 1, height: maxY - minY + 1 });
|
|
156
135
|
}
|
package/dist/bitmapCrop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapCrop.js","sourceRoot":"","sources":["../src/bitmapCrop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"bitmapCrop.js","sourceRoot":"","sources":["../src/bitmapCrop.ts"],"names":[],"mappings":"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"}
|
package/dist/bitmapEncode.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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;
|
|
1
|
+
import type { Bitmap, BitmapEncodeFailureExplanation, HasGraphicsBitmapEncode, ImageFormat } from '@flighthq/types/contract';
|
|
2
|
+
export declare function encodeBitmap(host: Readonly<HasGraphicsBitmapEncode>, source: Readonly<Bitmap>, format?: ImageFormat, quality?: number): Uint8Array | null;
|
|
3
|
+
export declare function explainBitmapEncodeFailure(host: Readonly<HasGraphicsBitmapEncode>, format: ImageFormat): BitmapEncodeFailureExplanation | null;
|
|
4
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,EACV,MAAM,
|
|
1
|
+
{"version":3,"file":"bitmapEncode.d.ts","sourceRoot":"","sources":["../src/bitmapEncode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,8BAA8B,EAC9B,uBAAuB,EACvB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,YAAY,CAC1B,IAAI,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EACvC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,MAAM,GAAE,WAAmB,EAC3B,OAAO,GAAE,MAAY,GACpB,UAAU,GAAG,IAAI,CAInB;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EACvC,MAAM,EAAE,WAAW,GAClB,8BAA8B,GAAG,IAAI,CAGvC"}
|
package/dist/bitmapEncode.js
CHANGED
|
@@ -1,21 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const resolution = resolveBitmapEncode(format);
|
|
1
|
+
export function encodeBitmap(host, source, format = 'png', quality = 0.9) {
|
|
2
|
+
const resolution = resolveBitmapEncode(host, format);
|
|
4
3
|
if (resolution.reason !== null)
|
|
5
4
|
return null;
|
|
6
5
|
return resolution.backend.encodeBitmap(source, resolution.format, quality);
|
|
7
6
|
}
|
|
8
|
-
export function explainBitmapEncodeFailure(format) {
|
|
9
|
-
const resolution = resolveBitmapEncode(format);
|
|
7
|
+
export function explainBitmapEncodeFailure(host, format) {
|
|
8
|
+
const resolution = resolveBitmapEncode(host, format);
|
|
10
9
|
return resolution.reason === null ? null : { format: resolution.format, reason: resolution.reason };
|
|
11
10
|
}
|
|
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.
|
|
11
|
+
function resolveBitmapEncode(host, format) {
|
|
15
12
|
const normalizedFormat = format === 'jpeg' ? 'jpeg' : 'png';
|
|
16
|
-
const backend =
|
|
17
|
-
if (backend === null)
|
|
18
|
-
return { backend, format: normalizedFormat, reason: 'backend-not-installed' };
|
|
13
|
+
const backend = host.graphics.bitmapEncode;
|
|
19
14
|
if (!backend.supportedFormats.includes(normalizedFormat)) {
|
|
20
15
|
return { backend, format: normalizedFormat, reason: 'format-unsupported' };
|
|
21
16
|
}
|
package/dist/bitmapEncode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapEncode.js","sourceRoot":"","sources":["../src/bitmapEncode.ts"],"names":[],"mappings":"AAOA,
|
|
1
|
+
{"version":3,"file":"bitmapEncode.js","sourceRoot":"","sources":["../src/bitmapEncode.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,YAAY,CAC1B,IAAuC,EACvC,MAAwB,EACxB,SAAsB,KAAK,EAC3B,UAAkB,GAAG;IAErB,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrD,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,CACxC,IAAuC,EACvC,MAAmB;IAEnB,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrD,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,IAAuC,EAAE,MAAmB;IACvF,MAAM,gBAAgB,GAAgB,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACzE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC3C,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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Bitmap, BitmapFingerprint } from '@flighthq/types/contract';
|
|
1
|
+
import type { Bitmap, BitmapFingerprint, EntityConstruction } from '@flighthq/types/contract';
|
|
2
2
|
/**
|
|
3
3
|
* Opaque identity of this module's fingerprint computation. Recorded in baseline provenance so a
|
|
4
4
|
* change to the averaging, channel selection, or serialization invalidates every baseline produced
|
|
@@ -25,6 +25,7 @@ export declare function createBitmapFingerprint(source: Readonly<Bitmap>, gridSi
|
|
|
25
25
|
* what gets committed as a regression baseline instead of a screenshot.
|
|
26
26
|
*/
|
|
27
27
|
export declare function formatBitmapFingerprint(fingerprint: Readonly<BitmapFingerprint>): string;
|
|
28
|
+
export declare function initializeBitmapFingerprint(out: EntityConstruction<BitmapFingerprint>, gridSize: number, cells: Uint8Array): void;
|
|
28
29
|
/**
|
|
29
30
|
* Parses the text form produced by formatBitmapFingerprint. Returns `null` for malformed input
|
|
30
31
|
* (wrong shape, odd hex length, or a cell count that is not gridSize × gridSize × 3) so callers can
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapFingerprint.d.ts","sourceRoot":"","sources":["../src/bitmapFingerprint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"bitmapFingerprint.d.ts","sourceRoot":"","sources":["../src/bitmapFingerprint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAM9F;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,wBAAwB,CAAC;AAIvE;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAQhH;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAE,MAAW,GAAG,iBAAiB,CAyC1G;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAOxF;AAED,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,EAC1C,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,GAChB,IAAI,CAGN;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAmB7E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
2
|
// A coarse downscaled RGB fingerprint: the bitmap is averaged into a gridSize × gridSize grid, so
|
|
3
3
|
// antialiasing jitter that breaks an exact hash washes out while gross changes still register. The
|
|
4
4
|
// committed regression baseline is the hex-encoded form (formatBitmapFingerprint), not a PNG.
|
|
@@ -39,7 +39,11 @@ export function createBitmapFingerprint(source, gridSize = 16) {
|
|
|
39
39
|
const cells = new Uint8Array(gridSize * gridSize * 3);
|
|
40
40
|
const { width, height, data } = source;
|
|
41
41
|
if (width === 0 || height === 0)
|
|
42
|
-
return
|
|
42
|
+
return (() => {
|
|
43
|
+
const out = allocateEntity();
|
|
44
|
+
initializeBitmapFingerprint(out, gridSize, cells);
|
|
45
|
+
return finishEntity(out);
|
|
46
|
+
})();
|
|
43
47
|
for (let cy = 0; cy < gridSize; cy++) {
|
|
44
48
|
const y0 = Math.floor((cy * height) / gridSize);
|
|
45
49
|
const y1 = Math.max(y0 + 1, Math.floor(((cy + 1) * height) / gridSize));
|
|
@@ -66,7 +70,9 @@ export function createBitmapFingerprint(source, gridSize = 16) {
|
|
|
66
70
|
cells[c + 2] = count === 0 ? 0 : Math.round(sumB / count);
|
|
67
71
|
}
|
|
68
72
|
}
|
|
69
|
-
|
|
73
|
+
const out = allocateEntity();
|
|
74
|
+
initializeBitmapFingerprint(out, gridSize, cells);
|
|
75
|
+
return finishEntity(out);
|
|
70
76
|
}
|
|
71
77
|
/**
|
|
72
78
|
* Serializes a fingerprint to a compact, git-diffable text line: `<gridSize>:<hex cells>`. This is
|
|
@@ -80,6 +86,10 @@ export function formatBitmapFingerprint(fingerprint) {
|
|
|
80
86
|
}
|
|
81
87
|
return `${fingerprint.gridSize}:${hex}`;
|
|
82
88
|
}
|
|
89
|
+
export function initializeBitmapFingerprint(out, gridSize, cells) {
|
|
90
|
+
out.gridSize = gridSize;
|
|
91
|
+
out.cells = cells;
|
|
92
|
+
}
|
|
83
93
|
/**
|
|
84
94
|
* Parses the text form produced by formatBitmapFingerprint. Returns `null` for malformed input
|
|
85
95
|
* (wrong shape, odd hex length, or a cell count that is not gridSize × gridSize × 3) so callers can
|
|
@@ -103,6 +113,8 @@ export function parseBitmapFingerprint(text) {
|
|
|
103
113
|
return null;
|
|
104
114
|
cells[i] = (hi << 4) | lo;
|
|
105
115
|
}
|
|
106
|
-
|
|
116
|
+
const out = allocateEntity();
|
|
117
|
+
initializeBitmapFingerprint(out, gridSize, cells);
|
|
118
|
+
return finishEntity(out);
|
|
107
119
|
}
|
|
108
120
|
//# sourceMappingURL=bitmapFingerprint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapFingerprint.js","sourceRoot":"","sources":["../src/bitmapFingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"bitmapFingerprint.js","sourceRoot":"","sources":["../src/bitmapFingerprint.ts"],"names":[],"mappings":"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"}
|
package/dist/bitmapFrom.d.ts
CHANGED
|
@@ -1,21 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
* Reads a host-backed ImageResource 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.
|
|
6
|
-
*/
|
|
7
|
-
export declare function captureBitmapFromImageResource(resource: Readonly<ImageResource>): Bitmap | null;
|
|
1
|
+
import type { Bitmap, EntityConstruction, HasGraphicsBitmapReadback, ImageResource } from '@flighthq/types/contract';
|
|
2
|
+
export declare function captureBitmapFromImageResource(host: Readonly<HasGraphicsBitmapReadback>, resource: Readonly<ImageResource>): Bitmap | null;
|
|
8
3
|
export declare function createBitmapFromCanvas(canvas: HTMLCanvasElement, x?: number, y?: number, width?: number, height?: number): Bitmap;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
* createBitmapFromCanvas — which calls getContext('2d') and so only works on a 2D-rendered canvas —
|
|
12
|
-
* this captures a Gl or Wgpu canvas too, giving one readback path for every render backend.
|
|
13
|
-
* `width`/`height` are the device-pixel dimensions to capture (pass the render state's canvas size).
|
|
14
|
-
* For a Gl/Wgpu source, draw before the browser composites the frame away (in tests, enable the
|
|
15
|
-
* context's preserveDrawingBuffer, or read immediately after rendering).
|
|
16
|
-
*
|
|
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.
|
|
19
|
-
*/
|
|
20
|
-
export declare function createBitmapFromImageSource(source: CanvasImageSource, width: number, height: number): Bitmap | null;
|
|
4
|
+
export declare function createBitmapFromImageSource(host: Readonly<HasGraphicsBitmapReadback>, source: CanvasImageSource, width: number, height: number): Bitmap | null;
|
|
5
|
+
export declare function initializeBitmapFromCanvas(out: EntityConstruction<Bitmap>, canvas: HTMLCanvasElement, x?: number, y?: number, width?: number, height?: number): void;
|
|
21
6
|
//# 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,
|
|
1
|
+
{"version":3,"file":"bitmapFrom.d.ts","sourceRoot":"","sources":["../src/bitmapFrom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKrH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,QAAQ,CAAC,yBAAyB,CAAC,EACzC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,GAChC,MAAM,GAAG,IAAI,CAEf;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,CAIR;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,QAAQ,CAAC,yBAAyB,CAAC,EACzC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CAEf;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAC/B,MAAM,EAAE,iBAAiB,EACzB,CAAC,GAAE,MAAU,EACb,CAAC,GAAE,MAAU,EACb,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAaN"}
|
package/dist/bitmapFrom.js
CHANGED
|
@@ -1,42 +1,29 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
2
|
import { BitmapTextureSourceKind } from '@flighthq/types/contract';
|
|
3
3
|
import { resolveBitmapReadback } from './bitmapReadbackResolver';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* readback cannot complete — call `explainBitmapReadback` with `(resource.source, resource.width,
|
|
7
|
-
* resource.height)` for the reason.
|
|
8
|
-
*/
|
|
9
|
-
export function captureBitmapFromImageResource(resource) {
|
|
10
|
-
return createBitmapFromImageSource(resource.source, resource.width, resource.height);
|
|
4
|
+
export function captureBitmapFromImageResource(host, resource) {
|
|
5
|
+
return createBitmapFromImageSource(host, resource.source, resource.width, resource.height);
|
|
11
6
|
}
|
|
12
7
|
export function createBitmapFromCanvas(canvas, x = 0, y = 0, width, height) {
|
|
8
|
+
const out = allocateEntity();
|
|
9
|
+
initializeBitmapFromCanvas(out, canvas, x, y, width, height);
|
|
10
|
+
return finishEntity(out);
|
|
11
|
+
}
|
|
12
|
+
export function createBitmapFromImageSource(host, source, width, height) {
|
|
13
|
+
return resolveBitmapReadback(host, source, width, height, 'bitmap').bitmap;
|
|
14
|
+
}
|
|
15
|
+
export function initializeBitmapFromCanvas(out, canvas, x = 0, y = 0, width, height) {
|
|
13
16
|
const w = width ?? canvas.width;
|
|
14
17
|
const h = height ?? canvas.height;
|
|
15
18
|
const ctx = canvas.getContext('2d');
|
|
16
19
|
const raw = ctx.getImageData(x, y, w, h);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
width: raw.width,
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Reads a bitmap out of any `CanvasImageSource` by drawing it into a scratch 2D canvas. Unlike
|
|
30
|
-
* createBitmapFromCanvas — which calls getContext('2d') and so only works on a 2D-rendered canvas —
|
|
31
|
-
* this captures a Gl or Wgpu canvas too, giving one readback path for every render backend.
|
|
32
|
-
* `width`/`height` are the device-pixel dimensions to capture (pass the render state's canvas size).
|
|
33
|
-
* For a Gl/Wgpu source, draw before the browser composites the frame away (in tests, enable the
|
|
34
|
-
* context's preserveDrawingBuffer, or read immediately after rendering).
|
|
35
|
-
*
|
|
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.
|
|
38
|
-
*/
|
|
39
|
-
export function createBitmapFromImageSource(source, width, height) {
|
|
40
|
-
return resolveBitmapReadback(source, width, height, 'bitmap').bitmap;
|
|
20
|
+
out.alphaType = 'straight';
|
|
21
|
+
out.gamut = raw.colorSpace;
|
|
22
|
+
out.data = raw.data;
|
|
23
|
+
out.format = 'rgba8unorm';
|
|
24
|
+
out.height = raw.height;
|
|
25
|
+
out.kind = BitmapTextureSourceKind;
|
|
26
|
+
out.version = 0;
|
|
27
|
+
out.width = raw.width;
|
|
41
28
|
}
|
|
42
29
|
//# 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;
|
|
1
|
+
{"version":3,"file":"bitmapFrom.js","sourceRoot":"","sources":["../src/bitmapFrom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,UAAU,8BAA8B,CAC5C,IAAyC,EACzC,QAAiC;IAEjC,OAAO,2BAA2B,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAyB,EACzB,IAAY,CAAC,EACb,IAAY,CAAC,EACb,KAAc,EACd,MAAe;IAEf,MAAM,GAAG,GAAG,cAAc,EAAU,CAAC;IACrC,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7D,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,IAAyC,EACzC,MAAyB,EACzB,KAAa,EACb,MAAc;IAEd,OAAO,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,GAA+B,EAC/B,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,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC;IAC3B,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,UAAmC,CAAC;IACpD,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACpB,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC;IAC1B,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IACxB,GAAG,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACnC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;IAChB,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;AACxB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Bitmap, BitmapReadbackBlockReason, BitmapReadbackMode, HostImageSource } from '@flighthq/types/contract';
|
|
1
|
+
import type { Bitmap, BitmapReadbackBlockReason, BitmapReadbackMode, HasGraphicsBitmapReadback, HostImageSource } from '@flighthq/types/contract';
|
|
2
2
|
interface BitmapReadbackResolution {
|
|
3
3
|
readonly bitmap: Bitmap | null;
|
|
4
4
|
readonly reason: BitmapReadbackBlockReason;
|
|
5
5
|
}
|
|
6
|
-
export declare function resolveBitmapReadback(source: HostImageSource, width: number, height: number, mode: BitmapReadbackMode): BitmapReadbackResolution;
|
|
6
|
+
export declare function resolveBitmapReadback(host: Readonly<HasGraphicsBitmapReadback>, source: HostImageSource, width: number, height: number, mode: BitmapReadbackMode): BitmapReadbackResolution;
|
|
7
7
|
export {};
|
|
8
8
|
//# sourceMappingURL=bitmapReadbackResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmapReadbackResolver.d.ts","sourceRoot":"","sources":["../src/bitmapReadbackResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"bitmapReadbackResolver.d.ts","sourceRoot":"","sources":["../src/bitmapReadbackResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAElC,UAAU,wBAAwB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;CAC5C;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,QAAQ,CAAC,yBAAyB,CAAC,EACzC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,kBAAkB,GACvB,wBAAwB,CAG1B"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
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) {
|
|
1
|
+
export function resolveBitmapReadback(host, source, width, height, mode) {
|
|
5
2
|
if (width <= 0 || height <= 0)
|
|
6
3
|
return { bitmap: null, reason: 'empty-size' };
|
|
7
|
-
|
|
8
|
-
if (backend === null)
|
|
9
|
-
return { bitmap: null, reason: 'backend-not-installed' };
|
|
10
|
-
return backend.readBitmap(source, width, height, mode);
|
|
4
|
+
return host.graphics.bitmapReadback.readBitmap(source, width, height, mode);
|
|
11
5
|
}
|
|
12
6
|
//# sourceMappingURL=bitmapReadbackResolver.js.map
|