@flighthq/bitmap 0.3.0-next.1032.e2b99fc → 0.3.0-next.1162.e90e518

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/bitmap.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createEntity } from '@flighthq/entity/contract';
2
- import { BitmapTextureBackingKind } from '@flighthq/types/contract';
2
+ import { BitmapTextureSourceKind } from '@flighthq/types/contract';
3
3
  export function cloneBitmap(source) {
4
4
  return createEntity({
5
5
  alphaType: source.alphaType,
@@ -76,7 +76,7 @@ export function createBitmap(width, height, color = 0) {
76
76
  data,
77
77
  format: 'rgba8unorm',
78
78
  height,
79
- kind: BitmapTextureBackingKind,
79
+ kind: BitmapTextureSourceKind,
80
80
  version: 0,
81
81
  width,
82
82
  });
@@ -1 +1 @@
1
- {"version":3,"file":"bitmap.js","sourceRoot":"","sources":["../src/bitmap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitmap.js","sourceRoot":"","sources":["../src/bitmap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,UAAU,WAAW,CAAC,MAAwB;IAClD,OAAO,YAAY,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,IAAI,EAAE,IAAI,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;QACxC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAW,EAAE,MAAiB;IACnE,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM;QAAE,OAAO;IACrC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;YAC5B,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IACD,uCAAuC;IACvC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC;IACvB,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,MAAc,EAAE,QAAgB,CAAC;IAC3E,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IACvD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAC9B,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;QAClB,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,MAAe;QAC3B,IAAI;QACJ,MAAM,EAAE,YAAY;QACpB,MAAM;QACN,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,CAAC;QACV,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { createEntity } from '@flighthq/entity/contract';
2
- import { BitmapTextureBackingKind } from '@flighthq/types/contract';
2
+ import { BitmapTextureSourceKind } from '@flighthq/types/contract';
3
3
  import { invalidateBitmap } from './bitmap';
4
4
  /**
5
5
  * Merges four single-channel bitmaps (or any full-RGBA bitmaps) into `out`
@@ -119,7 +119,7 @@ function makeBitmap(data, width, height, source) {
119
119
  data,
120
120
  format: source.format,
121
121
  height,
122
- kind: BitmapTextureBackingKind,
122
+ kind: BitmapTextureSourceKind,
123
123
  version: 0,
124
124
  width,
125
125
  });
@@ -1 +1 @@
1
- {"version":3,"file":"bitmapChannel.js","sourceRoot":"","sources":["../src/bitmapChannel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitmapChannel.js","sourceRoot":"","sources":["../src/bitmapChannel.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { createEntity } from '@flighthq/entity/contract';
2
- import { BitmapTextureBackingKind } from '@flighthq/types/contract';
2
+ import { BitmapTextureSourceKind } from '@flighthq/types/contract';
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
@@ -40,7 +40,7 @@ export function cropBitmap(source, rect) {
40
40
  data,
41
41
  format: source.format,
42
42
  height: rh,
43
- kind: BitmapTextureBackingKind,
43
+ kind: BitmapTextureSourceKind,
44
44
  version: 0,
45
45
  width: rw,
46
46
  });
@@ -106,7 +106,7 @@ export function extendBitmap(source, left, top, right, bottom, edgeMode = 'trans
106
106
  data,
107
107
  format: source.format,
108
108
  height: dh,
109
- kind: BitmapTextureBackingKind,
109
+ kind: BitmapTextureSourceKind,
110
110
  version: 0,
111
111
  width: dw,
112
112
  });
@@ -147,7 +147,7 @@ export function trimBitmap(source) {
147
147
  data: new Uint8ClampedArray(4),
148
148
  format: source.format,
149
149
  height: 1,
150
- kind: BitmapTextureBackingKind,
150
+ kind: BitmapTextureSourceKind,
151
151
  version: 0,
152
152
  width: 1,
153
153
  });
@@ -1 +1 @@
1
- {"version":3,"file":"bitmapCrop.js","sourceRoot":"","sources":["../src/bitmapCrop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitmapCrop.js","sourceRoot":"","sources":["../src/bitmapCrop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,MAAwB,EAAE,IAA6B;IAChF,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;IACxB,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACvB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACnB,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE;YAAE,SAAS;QACjC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YACnB,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE;gBAAE,SAAS;YACjC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAClB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,IAAI;QACJ,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,EAAE;KACV,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAwB,EACxB,IAAY,EACZ,GAAW,EACX,KAAa,EACb,MAAc,EACd,WAA2B,aAAa,EACxC,SAAS,GAAG,CAAC;IAEb,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;IACxB,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,KAAK,CAAC;IAC7B,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACvB,MAAM,EAAE,GAAG,CAAC,SAAS,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5B,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAC/B,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YACrB,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;YACpB,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;gBAC7C,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBAClB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACzC,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACzC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBAC/B,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;oBAC9B,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;oBAClB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC1B,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC1B,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;oBACd,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAClB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAClB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,IAAI;QACJ,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,EAAE;KACV,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAwB;IACjD,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;IACxB,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAC/B,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACV,IAAI,EAAE,GAAG,IAAI;oBAAE,IAAI,GAAG,EAAE,CAAC;gBACzB,IAAI,EAAE,GAAG,IAAI;oBAAE,IAAI,GAAG,EAAE,CAAC;gBACzB,IAAI,EAAE,GAAG,IAAI;oBAAE,IAAI,GAAG,EAAE,CAAC;gBACzB,IAAI,EAAE,GAAG,IAAI;oBAAE,IAAI,GAAG,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,OAAO,YAAY,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,IAAI,EAAE,IAAI,iBAAiB,CAAC,CAAC,CAAC;YAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;IACL,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,WAAW,CAAC,CAAS,EAAE,IAAY,EAAE,IAAoB;IAChE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QACpC,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;YACxB,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;YACjD,OAAO,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC;QACzD,CAAC;QACD;YACE,gBAAgB;YAChB,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
@@ -11,7 +11,7 @@ export declare function convertBitmapPixelOrder(out: Uint8ClampedArray, source:
11
11
  * Safe to pass the same buffer as both `out` and `source`.
12
12
  *
13
13
  * Operates on a raw buffer, not a Bitmap — if the buffer belongs to an
14
- * ImageResource, set its `alphaType` to `premultiplied` to keep it truthful.
14
+ * Image, set its `alphaType` to `premultiplied` to keep it truthful.
15
15
  */
16
16
  export declare function premultiplyBitmapPixels(out: Uint8ClampedArray, source: Readonly<Uint8ClampedArray>, length: number): void;
17
17
  /**
@@ -20,7 +20,7 @@ export declare function premultiplyBitmapPixels(out: Uint8ClampedArray, source:
20
20
  * Safe to pass the same buffer as both `out` and `source`.
21
21
  *
22
22
  * Operates on a raw buffer, not a Bitmap — if the buffer belongs to an
23
- * ImageResource, set its `alphaType` to `straight` to keep it truthful.
23
+ * Image, set its `alphaType` to `straight` to keep it truthful.
24
24
  */
25
25
  export declare function unpremultiplyBitmapPixels(out: Uint8ClampedArray, source: Readonly<Uint8ClampedArray>, length: number): void;
26
26
  //# sourceMappingURL=bitmapFormat.d.ts.map
@@ -28,7 +28,7 @@ export function convertBitmapPixelOrder(out, source, length, from, to) {
28
28
  * Safe to pass the same buffer as both `out` and `source`.
29
29
  *
30
30
  * Operates on a raw buffer, not a Bitmap — if the buffer belongs to an
31
- * ImageResource, set its `alphaType` to `premultiplied` to keep it truthful.
31
+ * Image, set its `alphaType` to `premultiplied` to keep it truthful.
32
32
  */
33
33
  export function premultiplyBitmapPixels(out, source, length) {
34
34
  for (let i = 0; i < length; i += 4) {
@@ -45,7 +45,7 @@ export function premultiplyBitmapPixels(out, source, length) {
45
45
  * Safe to pass the same buffer as both `out` and `source`.
46
46
  *
47
47
  * Operates on a raw buffer, not a Bitmap — if the buffer belongs to an
48
- * ImageResource, set its `alphaType` to `straight` to keep it truthful.
48
+ * Image, set its `alphaType` to `straight` to keep it truthful.
49
49
  */
50
50
  export function unpremultiplyBitmapPixels(out, source, length) {
51
51
  for (let i = 0; i < length; i += 4) {
@@ -1,9 +1,9 @@
1
- import type { ImageResource, Bitmap } from '@flighthq/types/contract';
1
+ import type { Image, Bitmap } from '@flighthq/types/contract';
2
2
  /**
3
- * Reads a host-backed ImageResource into a newly allocated, CPU-readable Bitmap. The readback draws
3
+ * Reads a host-backed Image into a newly allocated, CPU-readable Bitmap. The readback draws
4
4
  * through a detached canvas; callers that need both representations should retain both objects.
5
5
  */
6
- export declare function captureBitmapFromImageResource(resource: Readonly<ImageResource>): Bitmap;
6
+ export declare function captureBitmapFromImageResource(resource: Readonly<Image>): Bitmap;
7
7
  export declare function createBitmapFromCanvas(canvas: HTMLCanvasElement, x?: number, y?: number, width?: number, height?: number): Bitmap;
8
8
  /**
9
9
  * Reads a bitmap out of any `CanvasImageSource` by drawing it into a scratch 2D canvas. Unlike
@@ -12,6 +12,12 @@ export declare function createBitmapFromCanvas(canvas: HTMLCanvasElement, x?: nu
12
12
  * `width`/`height` are the device-pixel dimensions to capture (pass the render state's canvas size).
13
13
  * For a Gl/Wgpu source, draw before the browser composites the frame away (in tests, enable the
14
14
  * context's preserveDrawingBuffer, or read immediately after rendering).
15
+ *
16
+ * Returns `null` when the pixels cannot be read rather than letting a platform exception escape. A
17
+ * cross-origin source taints the scratch canvas and the platform refuses to return its pixels — that
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.
15
21
  */
16
- export declare function createBitmapFromImageSource(source: CanvasImageSource, width: number, height: number): Bitmap;
22
+ export declare function createBitmapFromImageSource(source: CanvasImageSource, width: number, height: number): Bitmap | null;
17
23
  //# sourceMappingURL=bitmapFrom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitmapFrom.d.ts","sourceRoot":"","sources":["../src/bitmapFrom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGtE;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,MAAM,CAiBxF;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;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAiB5G"}
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;AAG9D;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,CAiBhF;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;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA8BnH"}
@@ -1,7 +1,7 @@
1
1
  import { createEntity } from '@flighthq/entity/contract';
2
- import { BitmapTextureBackingKind } from '@flighthq/types/contract';
2
+ import { BitmapTextureSourceKind } from '@flighthq/types/contract';
3
3
  /**
4
- * Reads a host-backed ImageResource into a newly allocated, CPU-readable Bitmap. The readback draws
4
+ * Reads a host-backed Image into a newly allocated, CPU-readable Bitmap. The readback draws
5
5
  * through a detached canvas; callers that need both representations should retain both objects.
6
6
  */
7
7
  export function captureBitmapFromImageResource(resource) {
@@ -17,7 +17,7 @@ export function captureBitmapFromImageResource(resource) {
17
17
  data: raw.data,
18
18
  format: 'rgba8unorm',
19
19
  height: resource.height,
20
- kind: BitmapTextureBackingKind,
20
+ kind: BitmapTextureSourceKind,
21
21
  version: 0,
22
22
  width: resource.width,
23
23
  });
@@ -33,7 +33,7 @@ export function createBitmapFromCanvas(canvas, x = 0, y = 0, width, height) {
33
33
  data: raw.data,
34
34
  format: 'rgba8unorm',
35
35
  height: raw.height,
36
- kind: BitmapTextureBackingKind,
36
+ kind: BitmapTextureSourceKind,
37
37
  version: 0,
38
38
  width: raw.width,
39
39
  });
@@ -45,23 +45,46 @@ export function createBitmapFromCanvas(canvas, x = 0, y = 0, width, height) {
45
45
  * `width`/`height` are the device-pixel dimensions to capture (pass the render state's canvas size).
46
46
  * For a Gl/Wgpu source, draw before the browser composites the frame away (in tests, enable the
47
47
  * context's preserveDrawingBuffer, or read immediately after rendering).
48
+ *
49
+ * Returns `null` when the pixels cannot be read rather than letting a platform exception escape. A
50
+ * cross-origin source taints the scratch canvas and the platform refuses to return its pixels — that
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.
48
54
  */
49
55
  export function createBitmapFromImageSource(source, width, height) {
56
+ if (width <= 0 || height <= 0)
57
+ return null;
58
+ if (typeof document === 'undefined')
59
+ return null;
50
60
  const canvas = document.createElement('canvas');
51
61
  canvas.width = width;
52
62
  canvas.height = height;
53
63
  const ctx = canvas.getContext('2d');
54
- ctx.drawImage(source, 0, 0);
55
- const raw = ctx.getImageData(0, 0, width, height);
56
- return createEntity({
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({
57
79
  alphaType: 'straight',
58
80
  colorSpace: raw.colorSpace,
59
81
  data: raw.data,
60
82
  format: 'rgba8unorm',
61
83
  height,
62
- kind: BitmapTextureBackingKind,
84
+ kind: BitmapTextureSourceKind,
63
85
  version: 0,
64
86
  width,
65
87
  });
88
+ return bitmap;
66
89
  }
67
90
  //# sourceMappingURL=bitmapFrom.js.map
@@ -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,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,QAAiC;IAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC9B,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAChC,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;IACrC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpE,OAAO,YAAY,CAAC;QAClB,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,GAAG,CAAC,UAAmC;QACnD,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC,CAAC;AACL,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,UAAU,EAAE,GAAG,CAAC,UAAmC;QACnD,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,GAAG,CAAC,KAAK;KACjB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAyB,EAAE,KAAa,EAAE,MAAc;IAClG,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;IACrC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO,YAAY,CAAC;QAClB,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,GAAG,CAAC,UAAmC;QACnD,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,YAAY;QACpB,MAAM;QACN,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,CAAC;QACV,KAAK;KACN,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"bitmapFrom.js","sourceRoot":"","sources":["../src/bitmapFrom.ts"],"names":[],"mappings":"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"}
@@ -39,4 +39,5 @@ export * from './bitmapSharpen';
39
39
  export * from './bitmapTone';
40
40
  export * from './bitmapTransform';
41
41
  export * from './bitmapWarp';
42
+ export * from './explainBitmapReadback';
42
43
  //# sourceMappingURL=contract.d.ts.map
@@ -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"}
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"}
package/dist/contract.js CHANGED
@@ -39,4 +39,5 @@ export * from './bitmapSharpen';
39
39
  export * from './bitmapTone';
40
40
  export * from './bitmapTransform';
41
41
  export * from './bitmapWarp';
42
+ export * from './explainBitmapReadback';
42
43
  //# sourceMappingURL=contract.js.map
@@ -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"}
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"}
@@ -0,0 +1,3 @@
1
+ import type { BitmapReadbackExplanation } from '@flighthq/types/contract';
2
+ export declare function explainBitmapReadback(source: CanvasImageSource, width: number, height: number): BitmapReadbackExplanation;
3
+ //# sourceMappingURL=explainBitmapReadback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explainBitmapReadback.d.ts","sourceRoot":"","sources":["../src/explainBitmapReadback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA6B,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAerG,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,yBAAyB,CAG3B"}
@@ -0,0 +1,39 @@
1
+ // Recomputes why createBitmapFromImageSource would or would not return a Bitmap for these arguments,
2
+ // as plain data. Pure: it allocates a scratch canvas and reads one pixel to settle taint, mutates
3
+ // nothing the caller owns, never throws, and retains no reference to `source`. Import it to find out
4
+ // why a capture came back null; it sheds from production when unimported.
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.
14
+ export function explainBitmapReadback(source, width, height) {
15
+ const reason = _blockReason(source, width, height);
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';
38
+ }
39
+ //# sourceMappingURL=explainBitmapReadback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explainBitmapReadback.js","sourceRoot":"","sources":["../src/explainBitmapReadback.ts"],"names":[],"mappings":"AAEA,qGAAqG;AACrG,kGAAkG;AAClG,qGAAqG;AACrG,0EAA0E;AAC1E,EAAE;AACF,qGAAqG;AACrG,qGAAqG;AACrG,qGAAqG;AACrG,iEAAiE;AACjE,EAAE;AACF,mGAAmG;AACnG,qGAAqG;AACrG,0DAA0D;AAC1D,MAAM,UAAU,qBAAqB,CACnC,MAAyB,EACzB,KAAa,EACb,MAAc;IAEd,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,YAAY,CAAC,MAAyB,EAAE,KAAa,EAAE,MAAc;IAC5E,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IACnD,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,WAAW,CAAC;IACrC,IAAI,CAAC;QACH,mGAAmG;QACnG,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { ImageChannel, 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, 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_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';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,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,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,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"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { ImageChannel, 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, 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_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';
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,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,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,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/bitmap",
3
- "version": "0.3.0-next.1032.e2b99fc",
3
+ "version": "0.3.0-next.1162.e90e518",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/flighthq/flight.git",
@@ -36,9 +36,9 @@
36
36
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
37
37
  },
38
38
  "dependencies": {
39
- "@flighthq/image": "0.3.0-next.1032.e2b99fc",
40
- "@flighthq/entity": "0.3.0-next.1032.e2b99fc",
41
- "@flighthq/types": "0.3.0-next.1032.e2b99fc"
39
+ "@flighthq/image": "0.3.0-next.1162.e90e518",
40
+ "@flighthq/entity": "0.3.0-next.1162.e90e518",
41
+ "@flighthq/types": "0.3.0-next.1162.e90e518"
42
42
  },
43
43
  "devDependencies": {
44
44
  "typescript": "^5.3.0"
@@ -1,4 +1,5 @@
1
1
  import { createImageResource } from '@flighthq/image/contract';
2
+ import { vi } from 'vitest';
2
3
 
3
4
  import { createBitmap } from './bitmap';
4
5
  import { createBitmapFromCanvas, captureBitmapFromImageResource, createBitmapFromImageSource } from './bitmapFrom';
@@ -50,8 +51,36 @@ describe('createBitmapFromImageSource', () => {
50
51
  canvas.width = 8;
51
52
  canvas.height = 4;
52
53
  const bitmap = createBitmapFromImageSource(canvas, 8, 4);
53
- expect(bitmap.width).toBe(8);
54
- expect(bitmap.height).toBe(4);
55
- expect(bitmap.data.length).toBe(8 * 4 * 4);
54
+ expect(bitmap).not.toBeNull();
55
+ expect(bitmap!.width).toBe(8);
56
+ expect(bitmap!.height).toBe(4);
57
+ expect(bitmap!.data.length).toBe(8 * 4 * 4);
58
+ });
59
+
60
+ it('returns null rather than letting a tainted source throw', () => {
61
+ // A cross-origin draw taints the scratch canvas and the platform refuses its pixels with a
62
+ // SecurityError from getImageData. jsdom does not model tainting, so the throw is staged on
63
+ // getImageData directly — which is the exact call and the exact exception the sentinel exists to
64
+ // stop escaping to a caller who only asked for a bitmap.
65
+ const canvas = document.createElement('canvas');
66
+ canvas.width = 8;
67
+ canvas.height = 4;
68
+ const spy = vi.spyOn(CanvasRenderingContext2D.prototype, 'getImageData').mockImplementation(() => {
69
+ throw new DOMException('Tainted canvases may not be exported.', 'SecurityError');
70
+ });
71
+ try {
72
+ expect(() => createBitmapFromImageSource(canvas, 8, 4)).not.toThrow();
73
+ expect(createBitmapFromImageSource(canvas, 8, 4)).toBeNull();
74
+ } finally {
75
+ spy.mockRestore();
76
+ }
77
+ });
78
+
79
+ it('returns null for an empty capture rather than allocating a zero-pixel bitmap', () => {
80
+ const canvas = document.createElement('canvas');
81
+ canvas.width = 8;
82
+ canvas.height = 4;
83
+ expect(createBitmapFromImageSource(canvas, 0, 4)).toBeNull();
84
+ expect(createBitmapFromImageSource(canvas, 8, -1)).toBeNull();
56
85
  });
57
86
  });
@@ -0,0 +1,84 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+
3
+ import { createBitmapFromImageSource } from './bitmapFrom';
4
+ import { explainBitmapReadback } from './explainBitmapReadback';
5
+
6
+ function makeCanvas(width = 8, height = 4): HTMLCanvasElement {
7
+ const canvas = document.createElement('canvas');
8
+ canvas.width = width;
9
+ canvas.height = height;
10
+ return canvas;
11
+ }
12
+
13
+ describe('explainBitmapReadback', () => {
14
+ it('reports a readable source as ok', () => {
15
+ expect(explainBitmapReadback(makeCanvas(), 8, 4)).toEqual({ readable: true, reason: 'ok' });
16
+ });
17
+
18
+ it('reports an empty capture without touching the source', () => {
19
+ expect(explainBitmapReadback(makeCanvas(), 0, 4)).toEqual({ readable: false, reason: 'empty-size' });
20
+ expect(explainBitmapReadback(makeCanvas(), 8, 0)).toEqual({ readable: false, reason: 'empty-size' });
21
+ expect(explainBitmapReadback(makeCanvas(), -1, 4)).toEqual({ readable: false, reason: 'empty-size' });
22
+ });
23
+
24
+ it('reports a tainted source', () => {
25
+ const spy = vi.spyOn(CanvasRenderingContext2D.prototype, 'getImageData').mockImplementation(() => {
26
+ throw new DOMException('Tainted canvases may not be exported.', 'SecurityError');
27
+ });
28
+ try {
29
+ expect(explainBitmapReadback(makeCanvas(), 8, 4)).toEqual({ readable: false, reason: 'tainted-source' });
30
+ } finally {
31
+ spy.mockRestore();
32
+ }
33
+ });
34
+
35
+ it('prefers the reason knowable without drawing — an empty capture outranks a tainted source', () => {
36
+ const spy = vi.spyOn(CanvasRenderingContext2D.prototype, 'getImageData').mockImplementation(() => {
37
+ throw new DOMException('Tainted canvases may not be exported.', 'SecurityError');
38
+ });
39
+ try {
40
+ expect(explainBitmapReadback(makeCanvas(), 0, 4).reason).toBe('empty-size');
41
+ } finally {
42
+ spy.mockRestore();
43
+ }
44
+ });
45
+
46
+ it('agrees with what createBitmapFromImageSource actually does', () => {
47
+ // The pull query duplicates the constructor's failure conditions by design, so the pairing is the
48
+ // thing worth pinning: readable exactly when a bitmap comes back.
49
+ const canvas = makeCanvas();
50
+ expect(explainBitmapReadback(canvas, 8, 4).readable).toBe(createBitmapFromImageSource(canvas, 8, 4) !== null);
51
+ expect(explainBitmapReadback(canvas, 0, 4).readable).toBe(createBitmapFromImageSource(canvas, 0, 4) !== null);
52
+
53
+ const spy = vi.spyOn(CanvasRenderingContext2D.prototype, 'getImageData').mockImplementation(() => {
54
+ throw new DOMException('Tainted canvases may not be exported.', 'SecurityError');
55
+ });
56
+ try {
57
+ expect(explainBitmapReadback(canvas, 8, 4).readable).toBe(createBitmapFromImageSource(canvas, 8, 4) !== null);
58
+ } finally {
59
+ spy.mockRestore();
60
+ }
61
+ });
62
+
63
+ it('never throws, whatever the source does', () => {
64
+ const spy = vi.spyOn(CanvasRenderingContext2D.prototype, 'drawImage').mockImplementation(() => {
65
+ throw new TypeError('unsupported source');
66
+ });
67
+ try {
68
+ expect(() => explainBitmapReadback(makeCanvas(), 8, 4)).not.toThrow();
69
+ expect(explainBitmapReadback(makeCanvas(), 8, 4).readable).toBe(false);
70
+ } finally {
71
+ spy.mockRestore();
72
+ }
73
+ });
74
+
75
+ it('allocates no bitmap — it reads one pixel, not the whole capture', () => {
76
+ const spy = vi.spyOn(CanvasRenderingContext2D.prototype, 'getImageData');
77
+ try {
78
+ explainBitmapReadback(makeCanvas(1024, 1024), 1024, 1024);
79
+ expect(spy).toHaveBeenCalledWith(0, 0, 1, 1);
80
+ } finally {
81
+ spy.mockRestore();
82
+ }
83
+ });
84
+ });