@flighthq/scene2d-dom 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/scene2d-dom`. 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/scene2d-dom@0.5.1-next.1069.554a2ac](https://github.com/flighthq/flight/tree/554a2acc3fecf189b89b0729308ff890a15c21cc/packages/scene2d-dom)
17
- - [License](https://github.com/flighthq/flight/blob/554a2acc3fecf189b89b0729308ff890a15c21cc/LICENSE.md)
16
+ - [Source for @flighthq/scene2d-dom@0.5.1-next.1201.9b49dee](https://github.com/flighthq/flight/tree/9b49dee3f22f6b2838c3d237edcc77bca65734f2/packages/scene2d-dom)
17
+ - [License](https://github.com/flighthq/flight/blob/9b49dee3f22f6b2838c3d237edcc77bca65734f2/LICENSE.md)
@@ -1,4 +1,3 @@
1
- export * from './domBackground';
2
1
  export * from './domBitmapTextureResolver';
3
2
  export * from './domSprite';
4
3
  export * from './domCache';
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/contract.js CHANGED
@@ -1,4 +1,3 @@
1
- export * from './domBackground';
2
1
  export * from './domBitmapTextureResolver';
3
2
  export * from './domSprite';
4
3
  export * from './domCache';
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { DomRenderState, HasGraphicsImage } from '@flighthq/types/contract';
2
- export declare function registerDomBitmapTextureResolver(host: Readonly<HasGraphicsImage>, state: DomRenderState): void;
1
+ import type { DomRenderState, HostImageProvider } from '@flighthq/types/contract';
2
+ export declare function registerDomBitmapTextureResolver(hostImage: Readonly<HostImageProvider>, state: DomRenderState): void;
3
3
  //# sourceMappingURL=domBitmapTextureResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"domBitmapTextureResolver.d.ts","sourceRoot":"","sources":["../src/domBitmapTextureResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAU,cAAc,EAAE,gBAAgB,EAAW,MAAM,0BAA0B,CAAC;AAMlG,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAE9G"}
1
+ {"version":3,"file":"domBitmapTextureResolver.d.ts","sourceRoot":"","sources":["../src/domBitmapTextureResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAU,cAAc,EAAE,iBAAiB,EAAW,MAAM,0BAA0B,CAAC;AAMnG,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAIpH"}
@@ -3,10 +3,10 @@ import { getTextureSource } from '@flighthq/texture/contract';
3
3
  import { BitmapTextureSourceKind } from '@flighthq/types/contract';
4
4
  import { getDomRenderStateRuntime } from './domRenderState';
5
5
  import { registerDomTextureResolver } from './domTextureResolver';
6
- export function registerDomBitmapTextureResolver(host, state) {
7
- registerDomTextureResolver(state, BitmapTextureSourceKind, (s, texture) => resolveDomBitmapTexture(host, s, texture));
6
+ export function registerDomBitmapTextureResolver(hostImage, state) {
7
+ registerDomTextureResolver(state, BitmapTextureSourceKind, (s, texture) => resolveDomBitmapTexture(hostImage, s, texture));
8
8
  }
9
- function resolveDomBitmapTexture(host, state, texture) {
9
+ function resolveDomBitmapTexture(hostImage, state, texture) {
10
10
  const bitmap = getTextureSource(texture);
11
11
  if (bitmap === null)
12
12
  return null;
@@ -14,7 +14,7 @@ function resolveDomBitmapTexture(host, state, texture) {
14
14
  const cache = (runtime.bitmapElementCache ??= new WeakMap());
15
15
  let entry = cache.get(bitmap);
16
16
  if (entry === undefined || entry.version !== bitmap.version) {
17
- const image = createImageResourceFromBitmap(host, bitmap);
17
+ const image = createImageResourceFromBitmap(hostImage, bitmap);
18
18
  if (image === null)
19
19
  return null;
20
20
  entry = { element: image.source, version: bitmap.version };
@@ -1 +1 @@
1
- {"version":3,"file":"domBitmapTextureResolver.js","sourceRoot":"","sources":["../src/domBitmapTextureResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,UAAU,gCAAgC,CAAC,IAAgC,EAAE,KAAqB;IACtG,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACxH,CAAC;AAED,SAAS,uBAAuB,CAC9B,IAAgC,EAChC,KAAqB,EACrB,OAA0B;IAE1B,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAA4B,CAAC;IACpE,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEjC,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7D,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,6BAA6B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,MAA2B,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QAChF,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"domBitmapTextureResolver.js","sourceRoot":"","sources":["../src/domBitmapTextureResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,UAAU,gCAAgC,CAAC,SAAsC,EAAE,KAAqB;IAC5G,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CACxE,uBAAuB,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,SAAsC,EACtC,KAAqB,EACrB,OAA0B;IAE1B,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAA4B,CAAC;IACpE,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEjC,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7D,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,6BAA6B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/D,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,MAA2B,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QAChF,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { CanvasRenderTarget, CanvasRenderSurfaceCreator, Scene2DRenderer, DomRenderState, RenderCache, RenderState } from '@flighthq/types/contract';
1
+ import type { CanvasTextureRenderTarget, CanvasRenderSurfaceCreator, Scene2DRenderer, DomRenderState, RenderCache, RenderState } from '@flighthq/types/contract';
2
2
  export declare function enableDomRenderCache(state: RenderState): void;
3
3
  /**
4
4
  * Allocates or resizes the canvas the DOM backend places for `cache`, returning it so a caller
@@ -7,8 +7,8 @@ export declare function enableDomRenderCache(state: RenderState): void;
7
7
  * pass (or draw any content), set the handle's transform, and the DOM renderer places the canvas
8
8
  * element. The returned canvas is pre-styled for DOM placement.
9
9
  */
10
- export declare function ensureDomRenderCacheTarget(creator: Readonly<CanvasRenderSurfaceCreator>, state: DomRenderState, cache: RenderCache, width: number, height: number): CanvasRenderTarget;
11
- export declare function getDomRenderCacheTarget(state: DomRenderState, cache: RenderCache): CanvasRenderTarget | null;
10
+ export declare function ensureDomRenderCacheTarget(creator: Readonly<CanvasRenderSurfaceCreator>, state: DomRenderState, cache: RenderCache, width: number, height: number): CanvasTextureRenderTarget;
11
+ export declare function getDomRenderCacheTarget(state: DomRenderState, cache: RenderCache): CanvasTextureRenderTarget | null;
12
12
  export declare function releaseDomRenderCache(state: DomRenderState, cache: RenderCache): void;
13
13
  export declare const defaultDomRenderCacheRenderer: Scene2DRenderer;
14
14
  //# sourceMappingURL=domCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"domCache.d.ts","sourceRoot":"","sources":["../src/domCache.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,eAAe,EACf,cAAc,EACd,WAAW,EAEX,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE7D;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,QAAQ,CAAC,0BAA0B,CAAC,EAC7C,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,kBAAkB,CAWpB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,GAAG,kBAAkB,GAAG,IAAI,CAE5G;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAMrF;AA0BD,eAAO,MAAM,6BAA6B,EAAE,eAG3C,CAAC"}
1
+ {"version":3,"file":"domCache.d.ts","sourceRoot":"","sources":["../src/domCache.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,cAAc,EACd,WAAW,EAEX,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE7D;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,QAAQ,CAAC,0BAA0B,CAAC,EAC7C,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,yBAAyB,CAW3B;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,GAAG,yBAAyB,GAAG,IAAI,CAEnH;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAMrF;AA0BD,eAAO,MAAM,6BAA6B,EAAE,eAG3C,CAAC"}
package/dist/domCache.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { getRenderProxyCache, noopRendererData, registerRenderCacheRenderer } from '@flighthq/render/contract';
2
- import { createCanvasRenderTarget, destroyCanvasRenderTarget, resizeCanvasRenderTarget, } from '@flighthq/scene2d-canvas/contract';
2
+ import { createCanvasTextureRenderTarget, destroyCanvasTextureRenderTarget, resizeCanvasTextureRenderTarget, } from '@flighthq/scene2d-canvas/contract';
3
3
  import { prepareDomElement, setDomRendererElement } from './domStyle';
4
4
  import { setDomTransformWithOffset } from './domTransform';
5
5
  export function enableDomRenderCache(state) {
@@ -16,12 +16,12 @@ export function ensureDomRenderCacheTarget(creator, state, cache, width, height)
16
16
  const targets = getTargets(state);
17
17
  let target = targets.get(cache);
18
18
  if (target === undefined) {
19
- target = createCanvasRenderTarget(creator, width, height);
19
+ target = createCanvasTextureRenderTarget(creator, width, height);
20
20
  prepareDomElement(target.canvas);
21
21
  targets.set(cache, target);
22
22
  }
23
23
  else {
24
- resizeCanvasRenderTarget(target, width, height);
24
+ resizeCanvasTextureRenderTarget(target, width, height);
25
25
  }
26
26
  return target;
27
27
  }
@@ -34,7 +34,7 @@ export function releaseDomRenderCache(state, cache) {
34
34
  if (target === undefined)
35
35
  return;
36
36
  targets.delete(cache);
37
- destroyCanvasRenderTarget(target);
37
+ destroyCanvasTextureRenderTarget(target);
38
38
  }
39
39
  function drawDomRenderCache(state, data) {
40
40
  const cache = getRenderProxyCache(state, data.source);
@@ -1 +1 @@
1
- {"version":3,"file":"domCache.js","sourceRoot":"","sources":["../src/domCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domCache.js","sourceRoot":"","sources":["../src/domCache.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"domRenderState.d.ts","sourceRoot":"","sources":["../src/domRenderState.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGxG,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAAG,cAAc,CA8BlH;AAMD,wBAAgB,2BAA2B,IAAI,qBAAqB,CAmBnE;AAID,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,cAAc,GAAG,qBAAqB,CAErF"}
1
+ {"version":3,"file":"domRenderState.d.ts","sourceRoot":"","sources":["../src/domRenderState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGxG,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAAG,cAAc,CA4BlH;AAMD,wBAAgB,2BAA2B,IAAI,qBAAqB,CAmBnE;AAID,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,cAAc,GAAG,qBAAqB,CAErF"}
@@ -1,5 +1,5 @@
1
1
  import { createMatrix } from '@flighthq/geometry/contract';
2
- import { createRenderState as _createRenderState, createRenderStateRuntime, setRenderStateBackgroundColor, } from '@flighthq/render/contract';
2
+ import { createRenderState as _createRenderState, createRenderStateRuntime } from '@flighthq/render/contract';
3
3
  import { EntityRuntimeKey } from '@flighthq/types/contract';
4
4
  export function createDomRenderState(element, options = {}) {
5
5
  const state = _createRenderState({
@@ -8,8 +8,6 @@ export function createDomRenderState(element, options = {}) {
8
8
  roundPixels: options.roundPixels ?? false,
9
9
  sceneGraphSyncPolicy: options.sceneGraphSyncPolicy,
10
10
  });
11
- if (options.backgroundColor != null)
12
- setRenderStateBackgroundColor(state, options.backgroundColor);
13
11
  state.applyBlendMode = null;
14
12
  state.domCssFilterResolver = null;
15
13
  state.element = element;
@@ -1 +1 @@
1
- {"version":3,"file":"domRenderState.js","sourceRoot":"","sources":["../src/domRenderState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,iBAAiB,IAAI,kBAAkB,EACvC,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,UAAU,oBAAoB,CAAC,OAAoB,EAAE,UAAqC,EAAE;IAChG,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;QACnC,iBAAiB,EAAE,YAAY,EAAE;QACjC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;QACzC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;KACnD,CAAmB,CAAC;IAErB,IAAI,OAAO,CAAC,eAAe,IAAI,IAAI;QAAE,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAEnG,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACjC,KAAkC,CAAC,OAAO,GAAG,OAAO,CAAC;IACtD,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,qBAAqB,IAAI,IAAI,CAAC;IAE7D,MAAM,OAAO,GAAG,2BAA2B,EAAE,CAAC;IAC9C,KAAK,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC;IAClC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAChC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;IAC1B,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;IACtC,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC9B,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,wDAAwD;IACrF,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;IAE1B,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAElC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uGAAuG;AACvG,sGAAsG;AACtG,sGAAsG;AACtG,aAAa;AACb,MAAM,UAAU,2BAA2B;IACzC,MAAM,OAAO,GAAG,wBAAwB,EAA2B,CAAC;IACpE,OAAO,CAAC,UAAU,GAAG;QACnB,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;QACvC,eAAe,EAAE;YACf,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,oBAAoB;YAC9B,KAAK,EAAE,MAAM;SACd;QACD,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,iBAAiB;QACvD,gBAAgB,EAAE;YAChB,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,oBAAoB;YAC9B,KAAK,EAAE,OAAO;SACf;KACF,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,uGAAuG;AACvG,sCAAsC;AACtC,MAAM,UAAU,wBAAwB,CAAC,KAAqB;IAC5D,OAAO,KAAK,CAAC,gBAAgB,CAA0B,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"domRenderState.js","sourceRoot":"","sources":["../src/domRenderState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE9G,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,UAAU,oBAAoB,CAAC,OAAoB,EAAE,UAAqC,EAAE;IAChG,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;QACnC,iBAAiB,EAAE,YAAY,EAAE;QACjC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;QACzC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;KACnD,CAAmB,CAAC;IAErB,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACjC,KAAkC,CAAC,OAAO,GAAG,OAAO,CAAC;IACtD,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,qBAAqB,IAAI,IAAI,CAAC;IAE7D,MAAM,OAAO,GAAG,2BAA2B,EAAE,CAAC;IAC9C,KAAK,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC;IAClC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAChC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;IAC1B,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;IACtC,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC9B,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,wDAAwD;IACrF,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;IAE1B,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAElC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uGAAuG;AACvG,sGAAsG;AACtG,sGAAsG;AACtG,aAAa;AACb,MAAM,UAAU,2BAA2B;IACzC,MAAM,OAAO,GAAG,wBAAwB,EAA2B,CAAC;IACpE,OAAO,CAAC,UAAU,GAAG;QACnB,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;QACvC,eAAe,EAAE;YACf,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,oBAAoB;YAC9B,KAAK,EAAE,MAAM;SACd;QACD,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,iBAAiB;QACvD,gBAAgB,EAAE;YAChB,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,oBAAoB;YAC9B,KAAK,EAAE,OAAO;SACf;KACF,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,uGAAuG;AACvG,sCAAsC;AACtC,MAAM,UAAU,wBAAwB,CAAC,KAAqB;IAC5D,OAAO,KAAK,CAAC,gBAAgB,CAA0B,CAAC;AAC1D,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { createDomRenderState, defaultDomHtmlViewRenderer, defaultDomMorphShapeRenderer, defaultDomNativeTextRenderer, defaultDomRichTextRenderer, defaultDomScale9ShapeRenderer, defaultDomScale9SpriteRenderer, defaultDomShapeRenderer, defaultDomSpriteRenderer, defaultDomTextLabelRenderer, enableDomBlendModeSupport, enableDomClipSupport, enableDomCssFilterSupport, enableDomRasterFilterSupport, enableDomRenderCache, enableDomTextInput, enableDomTextureResolverGuards, explainDomTextureResolution, registerDomBitmapTextureResolver, registerDomImageTextureResolver, registerDomTextureResolver, renderDomBackground, renderDomScene2D, setDomCssFilter, } from './contract';
1
+ export { createDomRenderState, defaultDomHtmlViewRenderer, defaultDomMorphShapeRenderer, defaultDomNativeTextRenderer, defaultDomRichTextRenderer, defaultDomScale9ShapeRenderer, defaultDomScale9SpriteRenderer, defaultDomShapeRenderer, defaultDomSpriteRenderer, defaultDomTextLabelRenderer, enableDomBlendModeSupport, enableDomClipSupport, enableDomCssFilterSupport, enableDomRasterFilterSupport, enableDomRenderCache, enableDomTextInput, enableDomTextureResolverGuards, explainDomTextureResolution, registerDomBitmapTextureResolver, registerDomImageTextureResolver, registerDomTextureResolver, renderDomScene2D, setDomCssFilter, } from './contract';
2
2
  export { applyDomSvgFilterToNode, createDomSvgConvolutionFilter, createDomSvgDisplacementMapFilter, getDomSvgFilter, removeDomSvgFilterFromNode, } from './domSvgFilter';
3
3
  export { getDomShapeRasterizer, registerDomShapeRasterizer } from './domShapeRasterizer';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,EAClB,8BAA8B,EAC9B,2BAA2B,EAC3B,gCAAgC,EAChC,+BAA+B,EAC/B,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,iCAAiC,EACjC,eAAe,EACf,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,EAClB,8BAA8B,EAC9B,2BAA2B,EAC3B,gCAAgC,EAChC,+BAA+B,EAC/B,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,iCAAiC,EACjC,eAAe,EACf,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { createDomRenderState, defaultDomHtmlViewRenderer, defaultDomMorphShapeRenderer, defaultDomNativeTextRenderer, defaultDomRichTextRenderer, defaultDomScale9ShapeRenderer, defaultDomScale9SpriteRenderer, defaultDomShapeRenderer, defaultDomSpriteRenderer, defaultDomTextLabelRenderer, enableDomBlendModeSupport, enableDomClipSupport, enableDomCssFilterSupport, enableDomRasterFilterSupport, enableDomRenderCache, enableDomTextInput, enableDomTextureResolverGuards, explainDomTextureResolution, registerDomBitmapTextureResolver, registerDomImageTextureResolver, registerDomTextureResolver, renderDomBackground, renderDomScene2D, setDomCssFilter, } from './contract';
1
+ export { createDomRenderState, defaultDomHtmlViewRenderer, defaultDomMorphShapeRenderer, defaultDomNativeTextRenderer, defaultDomRichTextRenderer, defaultDomScale9ShapeRenderer, defaultDomScale9SpriteRenderer, defaultDomShapeRenderer, defaultDomSpriteRenderer, defaultDomTextLabelRenderer, enableDomBlendModeSupport, enableDomClipSupport, enableDomCssFilterSupport, enableDomRasterFilterSupport, enableDomRenderCache, enableDomTextInput, enableDomTextureResolverGuards, explainDomTextureResolution, registerDomBitmapTextureResolver, registerDomImageTextureResolver, registerDomTextureResolver, renderDomScene2D, setDomCssFilter, } from './contract';
2
2
  export { applyDomSvgFilterToNode, createDomSvgConvolutionFilter, createDomSvgDisplacementMapFilter, getDomSvgFilter, removeDomSvgFilterFromNode, } from './domSvgFilter';
3
3
  export { getDomShapeRasterizer, registerDomShapeRasterizer } from './domShapeRasterizer';
4
4
  //# 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,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,EAClB,8BAA8B,EAC9B,2BAA2B,EAC3B,gCAAgC,EAChC,+BAA+B,EAC/B,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,iCAAiC,EACjC,eAAe,EACf,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,EAClB,8BAA8B,EAC9B,2BAA2B,EAC3B,gCAAgC,EAChC,+BAA+B,EAC/B,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,iCAAiC,EACjC,eAAe,EACf,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/scene2d-dom",
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,22 +38,22 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/color": "0.5.1-next.1069.554a2ac",
42
- "@flighthq/scene2d": "0.5.1-next.1069.554a2ac",
43
- "@flighthq/scene2d-canvas": "0.5.1-next.1069.554a2ac",
44
- "@flighthq/entity": "0.5.1-next.1069.554a2ac",
45
- "@flighthq/geometry": "0.5.1-next.1069.554a2ac",
46
- "@flighthq/image": "0.5.1-next.1069.554a2ac",
47
- "@flighthq/log": "0.5.1-next.1069.554a2ac",
48
- "@flighthq/node": "0.5.1-next.1069.554a2ac",
49
- "@flighthq/render": "0.5.1-next.1069.554a2ac",
50
- "@flighthq/signals": "0.5.1-next.1069.554a2ac",
51
- "@flighthq/shape": "0.5.1-next.1069.554a2ac",
52
- "@flighthq/text": "0.5.1-next.1069.554a2ac",
53
- "@flighthq/textinput": "0.5.1-next.1069.554a2ac",
54
- "@flighthq/textlayout": "0.5.1-next.1069.554a2ac",
55
- "@flighthq/texture": "0.5.1-next.1069.554a2ac",
56
- "@flighthq/types": "0.5.1-next.1069.554a2ac"
41
+ "@flighthq/color": "0.5.1-next.1201.9b49dee",
42
+ "@flighthq/scene2d": "0.5.1-next.1201.9b49dee",
43
+ "@flighthq/scene2d-canvas": "0.5.1-next.1201.9b49dee",
44
+ "@flighthq/entity": "0.5.1-next.1201.9b49dee",
45
+ "@flighthq/geometry": "0.5.1-next.1201.9b49dee",
46
+ "@flighthq/image": "0.5.1-next.1201.9b49dee",
47
+ "@flighthq/log": "0.5.1-next.1201.9b49dee",
48
+ "@flighthq/node": "0.5.1-next.1201.9b49dee",
49
+ "@flighthq/render": "0.5.1-next.1201.9b49dee",
50
+ "@flighthq/signals": "0.5.1-next.1201.9b49dee",
51
+ "@flighthq/shape": "0.5.1-next.1201.9b49dee",
52
+ "@flighthq/text": "0.5.1-next.1201.9b49dee",
53
+ "@flighthq/textinput": "0.5.1-next.1201.9b49dee",
54
+ "@flighthq/textlayout": "0.5.1-next.1201.9b49dee",
55
+ "@flighthq/texture": "0.5.1-next.1201.9b49dee",
56
+ "@flighthq/types": "0.5.1-next.1201.9b49dee"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@flighthq/bitmap": "*",
@@ -62,5 +62,8 @@
62
62
  "typescript": "^5.3.0"
63
63
  },
64
64
  "description": "DOM renderer implementation",
65
+ "flight": {
66
+ "environment": "web"
67
+ },
65
68
  "sideEffects": false
66
69
  }
@@ -1,28 +1,42 @@
1
1
  import { createBitmap } from '@flighthq/bitmap/contract';
2
- import { createImageResourceFromCanvas } from '@flighthq/image/contract';
2
+ import {
3
+ createImageResource,
4
+ registerTestImageDimensionResolver,
5
+ unregisterTestImageDimensionResolver,
6
+ } from '@flighthq/image/contract';
3
7
  import { createTexture } from '@flighthq/texture/contract';
4
- import type { HasGraphicsImage, ImageBackend } from '@flighthq/types/contract';
8
+ import type { HostImageProvider } from '@flighthq/types/contract';
5
9
  import { EntityRuntimeKey } from '@flighthq/types/contract';
6
10
 
7
11
  import { registerDomBitmapTextureResolver } from './domBitmapTextureResolver';
8
12
  import { createDomRenderState } from './domRenderState';
9
13
  import { resolveDomTexture } from './domTextureResolver';
10
14
 
11
- function createTestImageBackend(): ImageBackend {
15
+ beforeEach(() => {
16
+ registerTestImageDimensionResolver();
17
+ });
18
+
19
+ afterEach(() => {
20
+ unregisterTestImageDimensionResolver();
21
+ });
22
+
23
+ function createTestImageBackend(): HostImageProvider {
12
24
  return {
13
25
  [EntityRuntimeKey]: undefined,
14
26
  createImageFromBitmap(bitmap) {
15
27
  const canvas = document.createElement('canvas');
16
28
  canvas.width = bitmap.width;
17
29
  canvas.height = bitmap.height;
18
- return createImageResourceFromCanvas(canvas);
30
+ return createImageResource(canvas);
19
31
  },
20
32
  loadImageFromUrl: vi.fn(),
21
33
  };
22
34
  }
23
35
 
24
- function imageHost(backend: ImageBackend = createTestImageBackend()): HasGraphicsImage {
25
- return { graphics: { image: backend } } as HasGraphicsImage;
36
+ function imageHost(backend: HostImageProvider = createTestImageBackend()): {
37
+ readonly graphics: { readonly image: HostImageProvider };
38
+ } {
39
+ return { graphics: { image: backend } } as { readonly graphics: { readonly image: HostImageProvider } };
26
40
  }
27
41
 
28
42
  afterEach(() => {
@@ -34,18 +48,18 @@ describe('registerDomBitmapTextureResolver', () => {
34
48
  const host = imageHost();
35
49
  const state = createDomRenderState(document.createElement('div'));
36
50
  const bitmap = createBitmap(2, 2, 0xffffffff);
37
- registerDomBitmapTextureResolver(host, state);
51
+ registerDomBitmapTextureResolver(host.graphics.image, state);
38
52
  expect(resolveDomTexture(state, createTexture({ dimension: '2d', source: bitmap }))).toBeInstanceOf(
39
53
  HTMLCanvasElement,
40
54
  );
41
55
  });
42
56
 
43
57
  it('refuses Bitmap resolution without materialization support', () => {
44
- const backend: ImageBackend = { [EntityRuntimeKey]: undefined, loadImageFromUrl: vi.fn() };
58
+ const backend: HostImageProvider = { [EntityRuntimeKey]: undefined, loadImageFromUrl: vi.fn() };
45
59
  const host = imageHost(backend);
46
60
  const state = createDomRenderState(document.createElement('div'));
47
61
  const bitmap = createBitmap(2, 2, 0xffffffff);
48
- registerDomBitmapTextureResolver(host, state);
62
+ registerDomBitmapTextureResolver(host.graphics.image, state);
49
63
  const createElement = vi.spyOn(document, 'createElement');
50
64
 
51
65
  expect(resolveDomTexture(state, createTexture({ dimension: '2d', source: bitmap }))).toBeNull();
@@ -1,7 +1,11 @@
1
1
  import { createBitmap, invalidateBitmap } from '@flighthq/bitmap/contract';
2
- import { createImageResource, createImageResourceFromCanvas } from '@flighthq/image/contract';
2
+ import {
3
+ createImageResource,
4
+ registerTestImageDimensionResolver,
5
+ unregisterTestImageDimensionResolver,
6
+ } from '@flighthq/image/contract';
3
7
  import { createTexture } from '@flighthq/texture/contract';
4
- import type { HasGraphicsImage, ImageBackend } from '@flighthq/types/contract';
8
+ import type { HostImageProvider } from '@flighthq/types/contract';
5
9
  import { EntityRuntimeKey } from '@flighthq/types/contract';
6
10
 
7
11
  import { registerDomBitmapTextureResolver } from './domBitmapTextureResolver';
@@ -10,24 +14,34 @@ import { registerDomImageTextureResolver } from './domImageTextureResolver';
10
14
  import { createDomRenderState } from './domRenderState';
11
15
  import { resolveDomTexture } from './domTextureResolver';
12
16
 
17
+ beforeEach(() => {
18
+ registerTestImageDimensionResolver();
19
+ });
20
+
21
+ afterEach(() => {
22
+ unregisterTestImageDimensionResolver();
23
+ });
24
+
13
25
  function makeState() {
14
26
  return createDomRenderState(document.createElement('div'));
15
27
  }
16
28
 
17
- function createTestImageBackend(): ImageBackend {
29
+ function createTestImageBackend(): HostImageProvider {
18
30
  return {
19
31
  [EntityRuntimeKey]: undefined,
20
32
  createImageFromBitmap(bitmap) {
21
33
  const canvas = document.createElement('canvas');
22
34
  canvas.width = bitmap.width;
23
35
  canvas.height = bitmap.height;
24
- return createImageResourceFromCanvas(canvas);
36
+ return createImageResource(canvas);
25
37
  },
26
38
  loadImageFromUrl: vi.fn(),
27
39
  };
28
40
  }
29
41
 
30
- const host: HasGraphicsImage = { graphics: { image: createTestImageBackend() } } as HasGraphicsImage;
42
+ const host: { readonly graphics: { readonly image: HostImageProvider } } = {
43
+ graphics: { image: createTestImageBackend() },
44
+ } as { readonly graphics: { readonly image: HostImageProvider } };
31
45
 
32
46
  describe('explainDomImageSource', () => {
33
47
  it('reports element and data for the two drawable representations', () => {
@@ -41,7 +55,7 @@ describe('registerDomBitmapTextureResolver', () => {
41
55
  const state = makeState();
42
56
  const bitmap = createBitmap(4, 4, 0xffffffff);
43
57
  const texture = createTexture({ dimension: '2d', source: bitmap });
44
- registerDomBitmapTextureResolver(host, state);
58
+ registerDomBitmapTextureResolver(host.graphics.image, state);
45
59
  const first = resolveDomTexture(state, texture);
46
60
  expect(first).toBeInstanceOf(HTMLCanvasElement);
47
61
  expect(resolveDomTexture(state, texture)).toBe(first);
@@ -1,10 +1,24 @@
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
 
4
8
  import { registerDomImageTextureResolver } from './domImageTextureResolver';
5
9
  import { createDomRenderState } from './domRenderState';
6
10
  import { resolveDomTexture } from './domTextureResolver';
7
11
 
12
+ // A test that wraps a host handle supplies the host: the resource measures through the registered
13
+ // resolver, and clearing after each test keeps this file from covering for another's missing one.
14
+ beforeEach(() => {
15
+ registerTestImageDimensionResolver();
16
+ });
17
+
18
+ afterEach(() => {
19
+ unregisterTestImageDimensionResolver();
20
+ });
21
+
8
22
  describe('registerDomImageTextureResolver', () => {
9
23
  it('returns the host image source directly', () => {
10
24
  const state = createDomRenderState(document.createElement('div'));
@@ -46,16 +46,16 @@ describe('createDomRenderState', () => {
46
46
  expect(runtime.domNextOrderList).toEqual([]);
47
47
  });
48
48
 
49
- it('defaults backgroundColor to 0', () => {
49
+ // ★ DOM HAS NO BACKGROUND OPTION, AND NEEDS NONE. The background of a DOM scene is a CSS property on
50
+ // the element the caller already holds — `element.style.backgroundColor = '#1a1a2e'` — so a render
51
+ // option plus a painting function was a whole seam for one assignment. Passing an option is now a type
52
+ // error, which is why this test asserts only what remains: the element the state was given.
53
+ it('keeps the element the caller passed, and takes no background option', () => {
50
54
  const div = document.createElement('div');
55
+
51
56
  const state = createDomRenderState(div);
52
- expect(state.backgroundColor).toBe(0);
53
- });
54
57
 
55
- it('sets backgroundColor from options', () => {
56
- const div = document.createElement('div');
57
- const state = createDomRenderState(div, { backgroundColor: 0xff0000ff });
58
- expect(state.backgroundColor).toBe(0xff0000ff);
58
+ expect(state.element).toBe(div);
59
59
  });
60
60
 
61
61
  it('sets pixelRatio from options', () => {
@@ -1,4 +1,8 @@
1
- import { createImageResourceFromCanvas } from '@flighthq/image/contract';
1
+ import {
2
+ createImageResource,
3
+ registerTestImageDimensionResolver,
4
+ unregisterTestImageDimensionResolver,
5
+ } from '@flighthq/image/contract';
2
6
  import { getOrCreateRenderProxy2D, registerRenderer } from '@flighthq/render/contract';
3
7
  import { createScale9Sprite } from '@flighthq/scene2d/contract';
4
8
  import { createTexture } from '@flighthq/texture/contract';
@@ -13,6 +17,14 @@ import {
13
17
  initializeDomScale9SpriteData,
14
18
  } from './domScale9Sprite';
15
19
 
20
+ beforeEach(() => {
21
+ registerTestImageDimensionResolver();
22
+ });
23
+
24
+ afterEach(() => {
25
+ unregisterTestImageDimensionResolver();
26
+ });
27
+
16
28
  describe('createDomScale9SpriteData', () => {
17
29
  it('creates renderer data', () => {
18
30
  expect(typeof createDomScale9SpriteData).toBe('function');
@@ -37,7 +49,7 @@ describe('drawDomScale9Sprite', () => {
37
49
  const sprite = createScale9Sprite(
38
50
  { x: 20, y: 20, width: 60, height: 60 },
39
51
  {
40
- data: { texture: createTexture({ dimension: '2d', source: createImageResourceFromCanvas(canvas) }) },
52
+ data: { texture: createTexture({ dimension: '2d', source: createImageResource(canvas) }) },
41
53
  scaleX: 2,
42
54
  scaleY: 2,
43
55
  },
@@ -1,4 +1,8 @@
1
- import { createImageResource, createImageResourceFromCanvas } from '@flighthq/image/contract';
1
+ import {
2
+ createImageResource,
3
+ registerTestImageDimensionResolver,
4
+ unregisterTestImageDimensionResolver,
5
+ } from '@flighthq/image/contract';
2
6
  import { getOrCreateRenderProxy2D, registerRenderer } from '@flighthq/render/contract';
3
7
  import { createSprite } from '@flighthq/scene2d/contract';
4
8
  import { createPixelArtSampler, createTexture } from '@flighthq/texture/contract';
@@ -8,6 +12,14 @@ import { registerDomImageTextureResolver } from './domImageTextureResolver';
8
12
  import { createDomRenderState, getDomRenderStateRuntime } from './domRenderState';
9
13
  import { defaultDomSpriteRenderer, drawDomSprite } from './domSprite';
10
14
 
15
+ beforeEach(() => {
16
+ registerTestImageDimensionResolver();
17
+ });
18
+
19
+ afterEach(() => {
20
+ unregisterTestImageDimensionResolver();
21
+ });
22
+
11
23
  function drawElement(source: CanvasImageSource): HTMLElement | null {
12
24
  const state = createDomRenderState(document.createElement('div'));
13
25
  registerDomImageTextureResolver(state);
@@ -41,7 +53,7 @@ describe('drawDomSprite', () => {
41
53
  const canvas = document.createElement('canvas');
42
54
  canvas.width = 64;
43
55
  canvas.height = 64;
44
- const image = createImageResourceFromCanvas(canvas);
56
+ const image = createImageResource(canvas);
45
57
  const state = createDomRenderState(document.createElement('div'));
46
58
  registerDomImageTextureResolver(state);
47
59
  registerRenderer(state, SpriteKind, defaultDomSpriteRenderer);
@@ -56,7 +68,7 @@ describe('drawDomSprite', () => {
56
68
  const canvas = document.createElement('canvas');
57
69
  canvas.width = 64;
58
70
  canvas.height = 64;
59
- const image = createImageResourceFromCanvas(canvas);
71
+ const image = createImageResource(canvas);
60
72
  const state = createDomRenderState(document.createElement('div'));
61
73
  registerDomImageTextureResolver(state);
62
74
  registerRenderer(state, SpriteKind, defaultDomSpriteRenderer);
@@ -82,7 +94,7 @@ describe('drawDomSprite', () => {
82
94
  const state = createDomRenderState(document.createElement('div'));
83
95
  registerDomImageTextureResolver(state);
84
96
  registerRenderer(state, SpriteKind, defaultDomSpriteRenderer);
85
- const texture = createTexture({ dimension: '2d', source: createImageResourceFromCanvas(canvas) });
97
+ const texture = createTexture({ dimension: '2d', source: createImageResource(canvas) });
86
98
  texture.uvOffset.x = 0.1;
87
99
  texture.uvOffset.y = 0.4;
88
100
  texture.uvScale.x = 0.3;
@@ -1,11 +1,25 @@
1
1
  import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
- import { createImageResource } from '@flighthq/image/contract';
2
+ import {
3
+ createImageResource,
4
+ registerTestImageDimensionResolver,
5
+ unregisterTestImageDimensionResolver,
6
+ } from '@flighthq/image/contract';
3
7
  import { createTexture } from '@flighthq/texture/contract';
4
8
  import type { TextureSource } from '@flighthq/types/contract';
5
9
 
6
10
  import { createDomRenderState, getDomRenderStateRuntime } from './domRenderState';
7
11
  import { registerDomTextureResolver, resolveDomTexture } from './domTextureResolver';
8
12
 
13
+ // A test that wraps a host handle supplies the host: the resource measures through the registered
14
+ // resolver, and clearing after each test keeps this file from covering for another's missing one.
15
+ beforeEach(() => {
16
+ registerTestImageDimensionResolver();
17
+ });
18
+
19
+ afterEach(() => {
20
+ unregisterTestImageDimensionResolver();
21
+ });
22
+
9
23
  describe('registerDomTextureResolver', () => {
10
24
  it('registers and removes one state-scoped resolver', () => {
11
25
  const state = createDomRenderState(document.createElement('div'));
@@ -1,3 +0,0 @@
1
- import type { DomRenderState } from '@flighthq/types/contract';
2
- export declare function renderDomBackground(state: DomRenderState): void;
3
- //# sourceMappingURL=domBackground.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"domBackground.d.ts","sourceRoot":"","sources":["../src/domBackground.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAM/D"}
@@ -1,9 +0,0 @@
1
- export function renderDomBackground(state) {
2
- if ((state.backgroundColor & 0xff) !== 0) {
3
- state.element.style.backgroundColor = state.backgroundColorString;
4
- }
5
- else {
6
- state.element.style.backgroundColor = '';
7
- }
8
- }
9
- //# sourceMappingURL=domBackground.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"domBackground.js","sourceRoot":"","sources":["../src/domBackground.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,KAAqB;IACvD,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,qBAAqB,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;IAC3C,CAAC;AACH,CAAC"}
@@ -1,35 +0,0 @@
1
- import { setRenderStateBackgroundColor } from '@flighthq/render/contract';
2
-
3
- import { renderDomBackground } from './domBackground';
4
- import { createDomRenderState } from './domRenderState';
5
-
6
- function makeState() {
7
- const div = document.createElement('div');
8
- return { div, state: createDomRenderState(div) };
9
- }
10
-
11
- describe('renderDomBackground', () => {
12
- it('sets element backgroundColor when background alpha is non-zero', () => {
13
- const { div, state } = makeState();
14
- setRenderStateBackgroundColor(state, 0xff0000ff); // opaque red
15
-
16
- renderDomBackground(state);
17
-
18
- expect(div.style.backgroundColor).not.toBe('');
19
- });
20
-
21
- it('clears element backgroundColor when background alpha is 0', () => {
22
- const { div, state } = makeState();
23
- div.style.backgroundColor = 'red';
24
- setRenderStateBackgroundColor(state, 0xff000000); // alpha = 0
25
-
26
- renderDomBackground(state);
27
-
28
- expect(div.style.backgroundColor).toBe('');
29
- });
30
-
31
- it('does not throw when called with default (transparent) background', () => {
32
- const { state } = makeState();
33
- expect(() => renderDomBackground(state)).not.toThrow();
34
- });
35
- });