@flighthq/textureatlas 0.5.1-next.1069.554a2ac → 0.5.1-next.1201.9b49dee

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 CHANGED
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/textureatlas`. The `
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/textureatlas@0.5.1-next.1069.554a2ac](https://github.com/flighthq/flight/tree/554a2acc3fecf189b89b0729308ff890a15c21cc/packages/textureatlas)
17
- - [License](https://github.com/flighthq/flight/blob/554a2acc3fecf189b89b0729308ff890a15c21cc/LICENSE.md)
16
+ - [Source for @flighthq/textureatlas@0.5.1-next.1201.9b49dee](https://github.com/flighthq/flight/tree/9b49dee3f22f6b2838c3d237edcc77bca65734f2/packages/textureatlas)
17
+ - [License](https://github.com/flighthq/flight/blob/9b49dee3f22f6b2838c3d237edcc77bca65734f2/LICENSE.md)
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { addTextureAtlasRegion, addTextureAtlasRegionRectangle, addTextureAtlasRegionCorners, addTextureAtlasRegionVector2, areTextureAtlasGuardsEnabled, buildTextureAtlasRegionIndex, clearTextureAtlasRegions, createTextureAtlas, createTextureAtlasFromCanvas, createTextureAtlasFromImageBitmap, createTextureAtlasFromImageElement, createTextureAtlasFromImageResource, createTextureAtlasFromGrid, createTextureAtlasRegion, disposeTextureAtlas, disableTextureAtlasGuards, enableTextureAtlasGuards, explainTextureAtlasRegionTexture, getTextureAtlasByteSize, getTextureAtlasRegionById, getTextureAtlasRegionByName, getTextureAtlasRegionByOrdinal, getTextureAtlasRegionCount, getTextureAtlasRegionFrame, getTextureAtlasRegionOrdinal, getTextureAtlasRegionSequence, getTextureAtlasRegionTexture, getTextureAtlasRegionUv, getTextureAtlasRegionUvQuad, hasTextureAtlasRegion, loadTextureAtlasFromBase64, loadTextureAtlasFromBlob, loadTextureAtlasFromBytes, loadTextureAtlasFromUrl, removeTextureAtlasRegion, setTextureAtlasRegion, } from './contract';
1
+ export { addTextureAtlasRegion, addTextureAtlasRegionRectangle, addTextureAtlasRegionCorners, addTextureAtlasRegionVector2, areTextureAtlasGuardsEnabled, buildTextureAtlasRegionIndex, clearTextureAtlasRegions, createTextureAtlas, createTextureAtlasFromImageResource, createTextureAtlasFromGrid, createTextureAtlasRegion, disposeTextureAtlas, disableTextureAtlasGuards, enableTextureAtlasGuards, explainTextureAtlasRegionTexture, getTextureAtlasByteSize, getTextureAtlasRegionById, getTextureAtlasRegionByName, getTextureAtlasRegionByOrdinal, getTextureAtlasRegionCount, getTextureAtlasRegionFrame, getTextureAtlasRegionOrdinal, getTextureAtlasRegionSequence, getTextureAtlasRegionTexture, getTextureAtlasRegionUv, getTextureAtlasRegionUvQuad, hasTextureAtlasRegion, loadTextureAtlasFromBase64, loadTextureAtlasFromBlob, loadTextureAtlasFromBytes, loadTextureAtlasFromUrl, removeTextureAtlasRegion, setTextureAtlasRegion, } 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,qBAAqB,EACrB,8BAA8B,EAC9B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,wBAAwB,EACxB,kBAAkB,EAClB,4BAA4B,EAC5B,iCAAiC,EACjC,kCAAkC,EAClC,mCAAmC,EACnC,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,gCAAgC,EAChC,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,wBAAwB,EACxB,kBAAkB,EAClB,mCAAmC,EACnC,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,gCAAgC,EAChC,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { addTextureAtlasRegion, addTextureAtlasRegionRectangle, addTextureAtlasRegionCorners, addTextureAtlasRegionVector2, areTextureAtlasGuardsEnabled, buildTextureAtlasRegionIndex, clearTextureAtlasRegions, createTextureAtlas, createTextureAtlasFromCanvas, createTextureAtlasFromImageBitmap, createTextureAtlasFromImageElement, createTextureAtlasFromImageResource, createTextureAtlasFromGrid, createTextureAtlasRegion, disposeTextureAtlas, disableTextureAtlasGuards, enableTextureAtlasGuards, explainTextureAtlasRegionTexture, getTextureAtlasByteSize, getTextureAtlasRegionById, getTextureAtlasRegionByName, getTextureAtlasRegionByOrdinal, getTextureAtlasRegionCount, getTextureAtlasRegionFrame, getTextureAtlasRegionOrdinal, getTextureAtlasRegionSequence, getTextureAtlasRegionTexture, getTextureAtlasRegionUv, getTextureAtlasRegionUvQuad, hasTextureAtlasRegion, loadTextureAtlasFromBase64, loadTextureAtlasFromBlob, loadTextureAtlasFromBytes, loadTextureAtlasFromUrl, removeTextureAtlasRegion, setTextureAtlasRegion, } from './contract';
1
+ export { addTextureAtlasRegion, addTextureAtlasRegionRectangle, addTextureAtlasRegionCorners, addTextureAtlasRegionVector2, areTextureAtlasGuardsEnabled, buildTextureAtlasRegionIndex, clearTextureAtlasRegions, createTextureAtlas, createTextureAtlasFromImageResource, createTextureAtlasFromGrid, createTextureAtlasRegion, disposeTextureAtlas, disableTextureAtlasGuards, enableTextureAtlasGuards, explainTextureAtlasRegionTexture, getTextureAtlasByteSize, getTextureAtlasRegionById, getTextureAtlasRegionByName, getTextureAtlasRegionByOrdinal, getTextureAtlasRegionCount, getTextureAtlasRegionFrame, getTextureAtlasRegionOrdinal, getTextureAtlasRegionSequence, getTextureAtlasRegionTexture, getTextureAtlasRegionUv, getTextureAtlasRegionUvQuad, hasTextureAtlasRegion, loadTextureAtlasFromBase64, loadTextureAtlasFromBlob, loadTextureAtlasFromBytes, loadTextureAtlasFromUrl, removeTextureAtlasRegion, setTextureAtlasRegion, } 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,qBAAqB,EACrB,8BAA8B,EAC9B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,wBAAwB,EACxB,kBAAkB,EAClB,4BAA4B,EAC5B,iCAAiC,EACjC,kCAAkC,EAClC,mCAAmC,EACnC,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,gCAAgC,EAChC,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,wBAAwB,EACxB,kBAAkB,EAClB,mCAAmC,EACnC,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,gCAAgC,EAChC,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
@@ -1,10 +1,7 @@
1
- import type { HasGraphicsImage, ImageResource, TextureAtlas } from '@flighthq/types/contract';
2
- export declare function createTextureAtlasFromCanvas(canvas: HTMLCanvasElement): TextureAtlas;
3
- export declare function createTextureAtlasFromImageBitmap(bitmap: ImageBitmap): TextureAtlas;
4
- export declare function createTextureAtlasFromImageElement(img: HTMLImageElement): TextureAtlas;
1
+ import type { HostImageProvider, ImageResource, TextureAtlas } from '@flighthq/types/contract';
5
2
  export declare function createTextureAtlasFromImageResource(resource: ImageResource): TextureAtlas;
6
- export declare function loadTextureAtlasFromBase64(host: Readonly<HasGraphicsImage>, base64: string, mimeType: string, signal?: AbortSignal): Promise<TextureAtlas>;
7
- export declare function loadTextureAtlasFromBlob(host: Readonly<HasGraphicsImage>, blob: Blob, signal?: AbortSignal): Promise<TextureAtlas>;
8
- export declare function loadTextureAtlasFromBytes(host: Readonly<HasGraphicsImage>, bytes: Uint8Array, mimeType?: string, signal?: AbortSignal): Promise<TextureAtlas>;
9
- export declare function loadTextureAtlasFromUrl(host: Readonly<HasGraphicsImage>, url: string, crossOrigin?: 'anonymous' | 'use-credentials', signal?: AbortSignal): Promise<TextureAtlas>;
3
+ export declare function loadTextureAtlasFromBase64(hostImage: Readonly<HostImageProvider>, base64: string, mimeType: string, signal?: AbortSignal): Promise<TextureAtlas>;
4
+ export declare function loadTextureAtlasFromBlob(hostImage: Readonly<HostImageProvider>, blob: Blob, signal?: AbortSignal): Promise<TextureAtlas>;
5
+ export declare function loadTextureAtlasFromBytes(hostImage: Readonly<HostImageProvider>, bytes: Uint8Array, mimeType?: string, signal?: AbortSignal): Promise<TextureAtlas>;
6
+ export declare function loadTextureAtlasFromUrl(hostImage: Readonly<HostImageProvider>, url: string, crossOrigin?: 'anonymous' | 'use-credentials', signal?: AbortSignal): Promise<TextureAtlas>;
10
7
  //# sourceMappingURL=textureAtlasFrom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"textureAtlasFrom.d.ts","sourceRoot":"","sources":["../src/textureAtlasFrom.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI9F,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,iBAAiB,GAAG,YAAY,CAIpF;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CAInF;AAED,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,gBAAgB,GAAG,YAAY,CAItF;AAED,wBAAgB,mCAAmC,CAAC,QAAQ,EAAE,aAAa,GAAG,YAAY,CAEzF;AAED,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAEvB;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,IAAI,EAAE,IAAI,EACV,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAEvB;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,KAAK,EAAE,UAAU,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAEvB;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,WAAW,GAAG,iBAAiB,EAC7C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAEvB"}
1
+ {"version":3,"file":"textureAtlasFrom.d.ts","sourceRoot":"","sources":["../src/textureAtlasFrom.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI/F,wBAAgB,mCAAmC,CAAC,QAAQ,EAAE,aAAa,GAAG,YAAY,CAEzF;AAED,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAEvB;AAED,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACtC,IAAI,EAAE,IAAI,EACV,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAEvB;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACtC,KAAK,EAAE,UAAU,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAEvB;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACtC,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,WAAW,GAAG,iBAAiB,EAC7C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAEvB"}
@@ -1,34 +1,19 @@
1
- import { createImageResourceFromCanvas, createImageResourceFromImageBitmap, createImageResourceFromImageElement, loadImageResourceFromBase64, loadImageResourceFromBlob, loadImageResourceFromBytes, loadImageResourceFromUrl, } from '@flighthq/image/contract';
1
+ import { loadImageResourceFromBase64, loadImageResourceFromBlob, loadImageResourceFromBytes, loadImageResourceFromUrl, } from '@flighthq/image/contract';
2
2
  import { createTexture } from '@flighthq/texture/contract';
3
3
  import { createTextureAtlas } from './textureAtlas';
4
- export function createTextureAtlasFromCanvas(canvas) {
5
- return createTextureAtlas({
6
- texture: createTexture({ dimension: '2d', source: createImageResourceFromCanvas(canvas) }),
7
- });
8
- }
9
- export function createTextureAtlasFromImageBitmap(bitmap) {
10
- return createTextureAtlas({
11
- texture: createTexture({ dimension: '2d', source: createImageResourceFromImageBitmap(bitmap) }),
12
- });
13
- }
14
- export function createTextureAtlasFromImageElement(img) {
15
- return createTextureAtlas({
16
- texture: createTexture({ dimension: '2d', source: createImageResourceFromImageElement(img) }),
17
- });
18
- }
19
4
  export function createTextureAtlasFromImageResource(resource) {
20
5
  return createTextureAtlas({ texture: createTexture({ dimension: '2d', source: resource }) });
21
6
  }
22
- export async function loadTextureAtlasFromBase64(host, base64, mimeType, signal) {
23
- return createTextureAtlasFromImageResource(await loadImageResourceFromBase64(host, base64, mimeType, signal));
7
+ export async function loadTextureAtlasFromBase64(hostImage, base64, mimeType, signal) {
8
+ return createTextureAtlasFromImageResource(await loadImageResourceFromBase64(hostImage, base64, mimeType, signal));
24
9
  }
25
- export async function loadTextureAtlasFromBlob(host, blob, signal) {
26
- return createTextureAtlasFromImageResource(await loadImageResourceFromBlob(host, blob, signal));
10
+ export async function loadTextureAtlasFromBlob(hostImage, blob, signal) {
11
+ return createTextureAtlasFromImageResource(await loadImageResourceFromBlob(hostImage, blob, signal));
27
12
  }
28
- export async function loadTextureAtlasFromBytes(host, bytes, mimeType, signal) {
29
- return createTextureAtlasFromImageResource(await loadImageResourceFromBytes(host, bytes, mimeType, signal));
13
+ export async function loadTextureAtlasFromBytes(hostImage, bytes, mimeType, signal) {
14
+ return createTextureAtlasFromImageResource(await loadImageResourceFromBytes(hostImage, bytes, mimeType, signal));
30
15
  }
31
- export async function loadTextureAtlasFromUrl(host, url, crossOrigin, signal) {
32
- return createTextureAtlasFromImageResource(await loadImageResourceFromUrl(host, url, crossOrigin, signal));
16
+ export async function loadTextureAtlasFromUrl(hostImage, url, crossOrigin, signal) {
17
+ return createTextureAtlasFromImageResource(await loadImageResourceFromUrl(hostImage, url, crossOrigin, signal));
33
18
  }
34
19
  //# sourceMappingURL=textureAtlasFrom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textureAtlasFrom.js","sourceRoot":"","sources":["../src/textureAtlasFrom.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,kCAAkC,EAClC,mCAAmC,EACnC,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,UAAU,4BAA4B,CAAC,MAAyB;IACpE,OAAO,kBAAkB,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC;KAC3F,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,MAAmB;IACnE,OAAO,kBAAkB,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,kCAAkC,CAAC,MAAM,CAAC,EAAE,CAAC;KAChG,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,GAAqB;IACtE,OAAO,kBAAkB,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,mCAAmC,CAAC,GAAG,CAAC,EAAE,CAAC;KAC9F,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,QAAuB;IACzE,OAAO,kBAAkB,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,IAAgC,EAChC,MAAc,EACd,QAAgB,EAChB,MAAoB;IAEpB,OAAO,mCAAmC,CAAC,MAAM,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAChH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAgC,EAChC,IAAU,EACV,MAAoB;IAEpB,OAAO,mCAAmC,CAAC,MAAM,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAAgC,EAChC,KAAiB,EACjB,QAAiB,EACjB,MAAoB;IAEpB,OAAO,mCAAmC,CAAC,MAAM,0BAA0B,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAgC,EAChC,GAAW,EACX,WAA6C,EAC7C,MAAoB;IAEpB,OAAO,mCAAmC,CAAC,MAAM,wBAAwB,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7G,CAAC"}
1
+ {"version":3,"file":"textureAtlasFrom.js","sourceRoot":"","sources":["../src/textureAtlasFrom.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,UAAU,mCAAmC,CAAC,QAAuB;IACzE,OAAO,kBAAkB,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,SAAsC,EACtC,MAAc,EACd,QAAgB,EAChB,MAAoB;IAEpB,OAAO,mCAAmC,CAAC,MAAM,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AACrH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAAsC,EACtC,IAAU,EACV,MAAoB;IAEpB,OAAO,mCAAmC,CAAC,MAAM,yBAAyB,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,SAAsC,EACtC,KAAiB,EACjB,QAAiB,EACjB,MAAoB;IAEpB,OAAO,mCAAmC,CAAC,MAAM,0BAA0B,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AACnH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,SAAsC,EACtC,GAAW,EACX,WAA6C,EAC7C,MAAoB;IAEpB,OAAO,mCAAmC,CAAC,MAAM,wBAAwB,CAAC,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAClH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/textureatlas",
3
- "version": "0.5.1-next.1069.554a2ac",
3
+ "version": "0.5.1-next.1201.9b49dee",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,12 +38,12 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/entity": "0.5.1-next.1069.554a2ac",
42
- "@flighthq/geometry": "0.5.1-next.1069.554a2ac",
43
- "@flighthq/image": "0.5.1-next.1069.554a2ac",
44
- "@flighthq/log": "0.5.1-next.1069.554a2ac",
45
- "@flighthq/texture": "0.5.1-next.1069.554a2ac",
46
- "@flighthq/types": "0.5.1-next.1069.554a2ac"
41
+ "@flighthq/entity": "0.5.1-next.1201.9b49dee",
42
+ "@flighthq/geometry": "0.5.1-next.1201.9b49dee",
43
+ "@flighthq/image": "0.5.1-next.1201.9b49dee",
44
+ "@flighthq/log": "0.5.1-next.1201.9b49dee",
45
+ "@flighthq/texture": "0.5.1-next.1201.9b49dee",
46
+ "@flighthq/types": "0.5.1-next.1201.9b49dee"
47
47
  },
48
48
  "devDependencies": {
49
49
  "typescript": "^5.3.0"
@@ -1,4 +1,8 @@
1
- import { createImageResource } from '@flighthq/image/contract';
1
+ import {
2
+ createImageResource,
3
+ registerTestImageDimensionResolver,
4
+ unregisterTestImageDimensionResolver,
5
+ } from '@flighthq/image/contract';
2
6
  import { createTexture } from '@flighthq/texture/contract';
3
7
  import type { Bitmap, TextureAtlas, TextureAtlasRegion } from '@flighthq/types/contract';
4
8
  import { BitmapTextureSourceKind, TextureAtlasRotation } from '@flighthq/types/contract';
@@ -10,6 +14,16 @@ import {
10
14
  initializeTextureAtlas,
11
15
  } from './textureAtlas';
12
16
 
17
+ // A test that wraps a host handle supplies the host: the resource measures through the registered
18
+ // resolver, and clearing after each test keeps this file from covering for another's missing one.
19
+ beforeEach(() => {
20
+ registerTestImageDimensionResolver();
21
+ });
22
+
23
+ afterEach(() => {
24
+ unregisterTestImageDimensionResolver();
25
+ });
26
+
13
27
  function createTextureAtlasRegionForTest(): TextureAtlasRegion {
14
28
  return {
15
29
  height: 1,
@@ -1,12 +1,13 @@
1
- import { createImageResourceFromCanvas, createImageResourceFromImageElement } from '@flighthq/image/contract';
1
+ import {
2
+ createImageResource,
3
+ registerTestImageDimensionResolver,
4
+ unregisterTestImageDimensionResolver,
5
+ } from '@flighthq/image/contract';
2
6
  import { getTextureSource } from '@flighthq/texture/contract';
3
- import type { HasGraphicsImage, ImageBackend, ImageResource } from '@flighthq/types/contract';
7
+ import type { HostImageProvider, ImageResource } from '@flighthq/types/contract';
4
8
  import { EntityRuntimeKey } from '@flighthq/types/contract';
5
9
 
6
10
  import {
7
- createTextureAtlasFromCanvas,
8
- createTextureAtlasFromImageBitmap,
9
- createTextureAtlasFromImageElement,
10
11
  createTextureAtlasFromImageResource,
11
12
  loadTextureAtlasFromBase64,
12
13
  loadTextureAtlasFromBlob,
@@ -14,7 +15,15 @@ import {
14
15
  loadTextureAtlasFromUrl,
15
16
  } from './textureAtlasFrom';
16
17
 
17
- function createTestImageBackend(): ImageBackend {
18
+ beforeEach(() => {
19
+ registerTestImageDimensionResolver();
20
+ });
21
+
22
+ afterEach(() => {
23
+ unregisterTestImageDimensionResolver();
24
+ });
25
+
26
+ function createTestImageBackend(): HostImageProvider {
18
27
  return {
19
28
  [EntityRuntimeKey]: undefined,
20
29
  async loadImageFromUrl(url, crossOrigin, signal): Promise<ImageResource> {
@@ -23,12 +32,14 @@ function createTestImageBackend(): ImageBackend {
23
32
  if (crossOrigin !== undefined) img.crossOrigin = crossOrigin;
24
33
  img.src = url;
25
34
  await img.decode();
26
- return createImageResourceFromImageElement(img);
35
+ return createImageResource(img);
27
36
  },
28
37
  };
29
38
  }
30
39
 
31
- const host: HasGraphicsImage = { graphics: { image: createTestImageBackend() } } as HasGraphicsImage;
40
+ const host: { readonly graphics: { readonly image: HostImageProvider } } = {
41
+ graphics: { image: createTestImageBackend() },
42
+ } as { readonly graphics: { readonly image: HostImageProvider } };
32
43
 
33
44
  beforeEach(() => {
34
45
  HTMLImageElement.prototype.decode = vi.fn().mockResolvedValue(undefined);
@@ -39,64 +50,9 @@ afterEach(() => {
39
50
  delete (HTMLImageElement.prototype as Partial<HTMLImageElement>).decode;
40
51
  });
41
52
 
42
- describe('createTextureAtlasFromCanvas', () => {
43
- it('wraps a canvas with correct dimensions', () => {
44
- const canvas = document.createElement('canvas');
45
- canvas.width = 320;
46
- canvas.height = 240;
47
- const atlas = createTextureAtlasFromCanvas(canvas);
48
-
49
- expect((getTextureSource(atlas.texture!) as ImageResource | null)?.source).toBe(canvas);
50
- expect(getTextureSource(atlas.texture!)?.width).toBe(320);
51
- expect(getTextureSource(atlas.texture!)?.height).toBe(240);
52
- });
53
-
54
- it('starts with an empty regions array', () => {
55
- const canvas = document.createElement('canvas');
56
- expect(createTextureAtlasFromCanvas(canvas).regions).toHaveLength(0);
57
- });
58
-
59
- it('returns a new object each call', () => {
60
- const canvas = document.createElement('canvas');
61
- expect(createTextureAtlasFromCanvas(canvas)).not.toBe(createTextureAtlasFromCanvas(canvas));
62
- });
63
- });
64
-
65
- describe('createTextureAtlasFromImageBitmap', () => {
66
- it('wraps an ImageBitmap with correct dimensions', () => {
67
- const bitmap = { width: 64, height: 128, close: () => {} } as ImageBitmap;
68
- const atlas = createTextureAtlasFromImageBitmap(bitmap);
69
-
70
- expect((getTextureSource(atlas.texture!) as ImageResource | null)?.source).toBe(bitmap);
71
- expect(getTextureSource(atlas.texture!)?.width).toBe(64);
72
- expect(getTextureSource(atlas.texture!)?.height).toBe(128);
73
- });
74
-
75
- it('returns a new object each call', () => {
76
- const bitmap = { width: 1, height: 1, close: () => {} } as ImageBitmap;
77
- expect(createTextureAtlasFromImageBitmap(bitmap)).not.toBe(createTextureAtlasFromImageBitmap(bitmap));
78
- });
79
- });
80
-
81
- describe('createTextureAtlasFromImageElement', () => {
82
- it('wraps an HTMLImageElement with correct dimensions', () => {
83
- const img = { width: 200, height: 100 } as HTMLImageElement;
84
- const atlas = createTextureAtlasFromImageElement(img);
85
-
86
- expect((getTextureSource(atlas.texture!) as ImageResource | null)?.source).toBe(img);
87
- expect(getTextureSource(atlas.texture!)?.width).toBe(200);
88
- expect(getTextureSource(atlas.texture!)?.height).toBe(100);
89
- });
90
-
91
- it('returns a new object each call', () => {
92
- const img = document.createElement('img');
93
- expect(createTextureAtlasFromImageElement(img)).not.toBe(createTextureAtlasFromImageElement(img));
94
- });
95
- });
96
-
97
53
  describe('createTextureAtlasFromImageResource', () => {
98
54
  it('uses the provided ImageResource as the atlas image', () => {
99
- const source = createImageResourceFromImageElement({ width: 128, height: 64 } as HTMLImageElement);
55
+ const source = createImageResource({ width: 128, height: 64 } as HTMLImageElement);
100
56
  const atlas = createTextureAtlasFromImageResource(source);
101
57
 
102
58
  expect(getTextureSource(atlas.texture!)).toBe(source);
@@ -105,19 +61,19 @@ describe('createTextureAtlasFromImageResource', () => {
105
61
  });
106
62
 
107
63
  it('starts with an empty regions array', () => {
108
- const source = createImageResourceFromImageElement({ width: 1, height: 1 } as HTMLImageElement);
64
+ const source = createImageResource({ width: 1, height: 1 } as HTMLImageElement);
109
65
  expect(createTextureAtlasFromImageResource(source).regions).toHaveLength(0);
110
66
  });
111
67
 
112
68
  it('returns a new object each call', () => {
113
- const source = createImageResourceFromImageElement({ width: 1, height: 1 } as HTMLImageElement);
69
+ const source = createImageResource({ width: 1, height: 1 } as HTMLImageElement);
114
70
  expect(createTextureAtlasFromImageResource(source)).not.toBe(createTextureAtlasFromImageResource(source));
115
71
  });
116
72
  });
117
73
 
118
74
  describe('loadTextureAtlasFromBase64', () => {
119
75
  it('resolves to a TextureAtlas with a non-null image', async () => {
120
- const atlas = await loadTextureAtlasFromBase64(host, 'abc123', 'image/png');
76
+ const atlas = await loadTextureAtlasFromBase64(host.graphics.image, 'abc123', 'image/png');
121
77
  expect((getTextureSource(atlas.texture!) as ImageResource | null)?.source).toBeInstanceOf(HTMLImageElement);
122
78
  });
123
79
  });
@@ -125,7 +81,7 @@ describe('loadTextureAtlasFromBase64', () => {
125
81
  describe('loadTextureAtlasFromBlob', () => {
126
82
  it('resolves to a TextureAtlas with a non-null image', async () => {
127
83
  const blob = new Blob([], { type: 'image/png' });
128
- const atlas = await loadTextureAtlasFromBlob(host, blob);
84
+ const atlas = await loadTextureAtlasFromBlob(host.graphics.image, blob);
129
85
  expect((getTextureSource(atlas.texture!) as ImageResource | null)?.source).toBeInstanceOf(HTMLImageElement);
130
86
  });
131
87
  });
@@ -133,7 +89,7 @@ describe('loadTextureAtlasFromBlob', () => {
133
89
  describe('loadTextureAtlasFromBytes', () => {
134
90
  it('resolves to a TextureAtlas with a non-null image', async () => {
135
91
  const bytes = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0, 0, 0, 0, 0, 0, 0, 0]);
136
- const atlas = await loadTextureAtlasFromBytes(host, bytes);
92
+ const atlas = await loadTextureAtlasFromBytes(host.graphics.image, bytes);
137
93
 
138
94
  expect(getTextureSource(atlas.texture!)).not.toBeNull();
139
95
  expect((getTextureSource(atlas.texture!) as ImageResource | null)?.source).toBeInstanceOf(HTMLImageElement);
@@ -141,20 +97,22 @@ describe('loadTextureAtlasFromBytes', () => {
141
97
 
142
98
  it('starts with an empty regions array', async () => {
143
99
  const bytes = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0, 0, 0, 0, 0, 0, 0, 0]);
144
- const atlas = await loadTextureAtlasFromBytes(host, bytes);
100
+ const atlas = await loadTextureAtlasFromBytes(host.graphics.image, bytes);
145
101
 
146
102
  expect(atlas.regions).toHaveLength(0);
147
103
  });
148
104
 
149
105
  it('throws when mime type cannot be detected', async () => {
150
106
  const bytes = new Uint8Array(16);
151
- await expect(loadTextureAtlasFromBytes(host, bytes)).rejects.toThrow('Unable to determine image type');
107
+ await expect(loadTextureAtlasFromBytes(host.graphics.image, bytes)).rejects.toThrow(
108
+ 'Unable to determine image type',
109
+ );
152
110
  });
153
111
  });
154
112
 
155
113
  describe('loadTextureAtlasFromUrl', () => {
156
114
  it('resolves to a TextureAtlas whose image src is an HTMLImageElement', async () => {
157
- const atlas = await loadTextureAtlasFromUrl(host, 'data:image/png;base64,abc');
115
+ const atlas = await loadTextureAtlasFromUrl(host.graphics.image, 'data:image/png;base64,abc');
158
116
  expect((getTextureSource(atlas.texture!) as ImageResource | null)?.source).toBeInstanceOf(HTMLImageElement);
159
117
  });
160
118
  });