@flighthq/texture 0.5.1-next.815.cc08b93 → 0.5.1-next.903.f434bc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/texture`. The `@flig
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/texture@0.5.1-next.815.cc08b93](https://github.com/flighthq/flight/tree/cc08b93ef981080fa86bdd5143dc61dbdbf2665b/packages/texture)
17
- - [License](https://github.com/flighthq/flight/blob/cc08b93ef981080fa86bdd5143dc61dbdbf2665b/LICENSE.md)
16
+ - [Source for @flighthq/texture@0.5.1-next.903.f434bc2](https://github.com/flighthq/flight/tree/f434bc233778d75aeea61995df3a8cfaec459a85/packages/texture)
17
+ - [License](https://github.com/flighthq/flight/blob/f434bc233778d75aeea61995df3a8cfaec459a85/LICENSE.md)
@@ -5,4 +5,5 @@ export * from './texture';
5
5
  export * from './videoTexture';
6
6
  export * from './voxelGrid';
7
7
  export { getTextureSampleColorSpace, shouldDecodeTextureOnSample, shouldPremultiplyTextureOnUpload, } from './textureColorSpace';
8
+ export { initializeSampler } from './sampler';
8
9
  //# sourceMappingURL=contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
package/dist/contract.js CHANGED
@@ -5,4 +5,5 @@ export * from './texture';
5
5
  export * from './videoTexture';
6
6
  export * from './voxelGrid';
7
7
  export { getTextureSampleColorSpace, shouldDecodeTextureOnSample, shouldPremultiplyTextureOnUpload, } from './textureColorSpace';
8
+ export { initializeSampler } from './sampler';
8
9
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
@@ -1,3 +1,4 @@
1
- import type { CreateRenderTextureOptions, RenderTexture } from '@flighthq/types/contract';
1
+ import type { CreateRenderTextureOptions, EntityConstruction, RenderTarget, RenderTargetColorSpace, RenderTexture } from '@flighthq/types/contract';
2
2
  export declare function createRenderTexture(options: Readonly<CreateRenderTextureOptions>): RenderTexture;
3
+ export declare function initializeRenderTextureTarget(out: EntityConstruction<RenderTarget>, options: Readonly<CreateRenderTextureOptions>, colorSpace: RenderTargetColorSpace): void;
3
4
  //# sourceMappingURL=renderTexture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderTexture.d.ts","sourceRoot":"","sources":["../src/renderTexture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAgB,aAAa,EAAE,MAAM,0BAA0B,CAAC;AASxG,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAAG,aAAa,CAiChG"}
1
+ {"version":3,"file":"renderTexture.d.ts","sourceRoot":"","sources":["../src/renderTexture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,0BAA0B,EAC1B,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACd,MAAM,0BAA0B,CAAC;AASlC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAAG,aAAa,CAwBhG;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,kBAAkB,CAAC,YAAY,CAAC,EACrC,OAAO,EAAE,QAAQ,CAAC,0BAA0B,CAAC,EAC7C,UAAU,EAAE,sBAAsB,GACjC,IAAI,CAaN"}
@@ -1,4 +1,4 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
2
  import { RenderTargetTextureSourceKind } from '@flighthq/types/contract';
3
3
  import { copySampler } from './sampler';
4
4
  import { createTexture } from './texture';
@@ -12,20 +12,11 @@ export function createRenderTexture(options) {
12
12
  flipX: options.flipX ?? false,
13
13
  flipY: options.flipY ?? false,
14
14
  dimension: '2d',
15
- source: createEntity({
16
- colorAttachments: options.colorAttachments,
17
- colorFormats: options.colorFormats,
18
- colorSpace,
19
- clearColors: options.clearColors,
20
- clearDepth: options.clearDepth,
21
- depth: options.depth,
22
- format: options.format,
23
- height: options.height,
24
- kind: RenderTargetTextureSourceKind,
25
- sampleCount: options.sampleCount,
26
- version: 0,
27
- width: options.width,
28
- }),
15
+ source: (() => {
16
+ const out = allocateEntity();
17
+ initializeRenderTextureTarget(out, options, colorSpace);
18
+ return finishEntity(out);
19
+ })(),
29
20
  uvRotation: options.uvRotation,
30
21
  });
31
22
  if (options.sampler !== undefined)
@@ -40,4 +31,18 @@ export function createRenderTexture(options) {
40
31
  }
41
32
  return texture;
42
33
  }
34
+ export function initializeRenderTextureTarget(out, options, colorSpace) {
35
+ out.colorAttachments = options.colorAttachments;
36
+ out.colorFormats = options.colorFormats;
37
+ out.colorSpace = colorSpace;
38
+ out.clearColors = options.clearColors;
39
+ out.clearDepth = options.clearDepth;
40
+ out.depth = options.depth;
41
+ out.format = options.format;
42
+ out.height = options.height;
43
+ out.kind = RenderTargetTextureSourceKind;
44
+ out.sampleCount = options.sampleCount;
45
+ out.version = 0;
46
+ out.width = options.width;
47
+ }
43
48
  //# sourceMappingURL=renderTexture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderTexture.js","sourceRoot":"","sources":["../src/renderTexture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,qGAAqG;AACrG,oGAAoG;AACpG,yCAAyC;AACzC,MAAM,UAAU,mBAAmB,CAAC,OAA6C;IAC/E,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC;IAClD,MAAM,OAAO,GAAG,aAAa,CAAC;QAC5B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,QAAQ;QAC1C,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;QAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;QAC7B,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,YAAY,CAAC;YACnB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU;YACV,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,6BAA6B;YACnC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAiB;QAClB,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAkB,CAAC;IACpB,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACjF,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"renderTexture.js","sourceRoot":"","sources":["../src/renderTexture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,qGAAqG;AACrG,oGAAoG;AACpG,yCAAyC;AACzC,MAAM,UAAU,mBAAmB,CAAC,OAA6C;IAC/E,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC;IAClD,MAAM,OAAO,GAAG,aAAa,CAAC;QAC5B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,QAAQ;QAC1C,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;QAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;QAC7B,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,CAAC,GAAG,EAAE;YACZ,MAAM,GAAG,GAAG,cAAc,EAAgB,CAAC;YAC3C,6BAA6B,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YACxD,OAAO,YAAY,CAAC,GAAG,CAAiB,CAAC;QAC3C,CAAC,CAAC,EAAE;QACJ,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAkB,CAAC;IACpB,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACjF,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,GAAqC,EACrC,OAA6C,EAC7C,UAAkC;IAElC,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAChD,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IACxC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;IAC5B,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACtC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACpC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,GAAG,CAAC,IAAI,GAAG,6BAA6B,CAAC;IACzC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACtC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;IAChB,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5B,CAAC"}
package/dist/sampler.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Sampler, SamplerLike } from '@flighthq/types/contract';
1
+ import type { Sampler, SamplerLike, EntityConstruction } from '@flighthq/types/contract';
2
2
  export declare function cloneSampler(source: Readonly<SamplerLike>): Sampler;
3
3
  export declare function copySampler(out: SamplerLike, source: Readonly<SamplerLike>): void;
4
4
  export declare function createAnisotropicSampler(level: number): Sampler;
@@ -7,4 +7,5 @@ export declare function createPixelArtSampler(): Sampler;
7
7
  export declare function createSampler(opts?: Readonly<Partial<SamplerLike>>): Sampler;
8
8
  export declare function createTilingSampler(): Sampler;
9
9
  export declare function equalsSampler(a: Readonly<SamplerLike> | null | undefined, b: Readonly<SamplerLike> | null | undefined): boolean;
10
+ export declare function initializeSampler(out: EntityConstruction<Sampler>, opts?: Readonly<Partial<SamplerLike>>): void;
10
11
  //# sourceMappingURL=sampler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sampler.d.ts","sourceRoot":"","sources":["../src/sampler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIrE,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,OAAO,CASnE;AAID,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAOjF;AAKD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/D;AAID,wBAAgB,wBAAwB,IAAI,OAAO,CAElD;AAID,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAKD,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAS5E;AAID,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAID,wBAAgB,aAAa,CAC3B,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3C,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAWT"}
1
+ {"version":3,"file":"sampler.d.ts","sourceRoot":"","sources":["../src/sampler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAIzF,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,OAAO,CASnE;AAID,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAOjF;AAKD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/D;AAID,wBAAgB,wBAAwB,IAAI,OAAO,CAElD;AAID,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAI5E;AAID,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAID,wBAAgB,aAAa,CAC3B,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3C,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAWT;AAKD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAO/G"}
package/dist/sampler.js CHANGED
@@ -1,15 +1,15 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
2
  // Allocates an independent Sampler with the same sampling state. Sampler holds only plain values,
3
3
  // so the clone shares nothing mutable with its source.
4
4
  export function cloneSampler(source) {
5
- return createEntity({
6
- anisotropy: source.anisotropy,
7
- magFilter: source.magFilter,
8
- minFilter: source.minFilter,
9
- mipmaps: source.mipmaps,
10
- wrapU: source.wrapU,
11
- wrapV: source.wrapV,
12
- });
5
+ const out = allocateEntity();
6
+ out.anisotropy = source.anisotropy;
7
+ out.magFilter = source.magFilter;
8
+ out.minFilter = source.minFilter;
9
+ out.mipmaps = source.mipmaps;
10
+ out.wrapU = source.wrapU;
11
+ out.wrapV = source.wrapV;
12
+ return finishEntity(out);
13
13
  }
14
14
  // Copies every sampling field from source into out in place. Safe when out aliases source: all
15
15
  // reads precede the writes implicitly because each field is read and written independently.
@@ -37,18 +37,10 @@ export function createClampLinearSampler() {
37
37
  export function createPixelArtSampler() {
38
38
  return createSampler({ magFilter: 'nearest', minFilter: 'nearest', mipmaps: false });
39
39
  }
40
- // Builds a Sampler with the AAA-default sampling state: clamp-to-edge on both axes, linear
41
- // magnification, trilinear minification, a generated mip chain, and anisotropy disabled (1). Pass
42
- // SamplerLike fields to override any of these.
43
40
  export function createSampler(opts) {
44
- return createEntity({
45
- anisotropy: opts?.anisotropy ?? 1,
46
- magFilter: opts?.magFilter ?? 'linear',
47
- minFilter: opts?.minFilter ?? 'linear-mipmap-linear',
48
- mipmaps: opts?.mipmaps ?? true,
49
- wrapU: opts?.wrapU ?? 'clamp-to-edge',
50
- wrapV: opts?.wrapV ?? 'clamp-to-edge',
51
- });
41
+ const out = allocateEntity();
42
+ initializeSampler(out, opts);
43
+ return finishEntity(out);
52
44
  }
53
45
  // Tiling sampler: repeat wrap on both axes, trilinear filtering, mipmaps on. Suitable for
54
46
  // seamless tiling surface textures (terrain, ground planes, repeating patterns).
@@ -68,4 +60,15 @@ export function equalsSampler(a, b) {
68
60
  a.wrapU === b.wrapU &&
69
61
  a.wrapV === b.wrapV));
70
62
  }
63
+ // Builds a Sampler with the AAA-default sampling state: clamp-to-edge on both axes, linear
64
+ // magnification, trilinear minification, a generated mip chain, and anisotropy disabled (1). Pass
65
+ // SamplerLike fields to override any of these.
66
+ export function initializeSampler(out, opts) {
67
+ out.anisotropy = opts?.anisotropy ?? 1;
68
+ out.magFilter = opts?.magFilter ?? 'linear';
69
+ out.minFilter = opts?.minFilter ?? 'linear-mipmap-linear';
70
+ out.mipmaps = opts?.mipmaps ?? true;
71
+ out.wrapU = opts?.wrapU ?? 'clamp-to-edge';
72
+ out.wrapV = opts?.wrapV ?? 'clamp-to-edge';
73
+ }
71
74
  //# sourceMappingURL=sampler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sampler.js","sourceRoot":"","sources":["../src/sampler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,kGAAkG;AAClG,uDAAuD;AACvD,MAAM,UAAU,YAAY,CAAC,MAA6B;IACxD,OAAO,YAAY,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC,CAAC;AACL,CAAC;AAED,+FAA+F;AAC/F,4FAA4F;AAC5F,MAAM,UAAU,WAAW,CAAC,GAAgB,EAAE,MAA6B;IACzE,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACnC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACjC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACjC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC7B,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACzB,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3B,CAAC;AAED,mGAAmG;AACnG,yFAAyF;AACzF,6EAA6E;AAC7E,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,OAAO,aAAa,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,gGAAgG;AAChG,yFAAyF;AACzF,MAAM,UAAU,wBAAwB;IACtC,OAAO,aAAa,EAAE,CAAC;AACzB,CAAC;AAED,kGAAkG;AAClG,4DAA4D;AAC5D,MAAM,UAAU,qBAAqB;IACnC,OAAO,aAAa,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACvF,CAAC;AAED,2FAA2F;AAC3F,kGAAkG;AAClG,+CAA+C;AAC/C,MAAM,UAAU,aAAa,CAAC,IAAqC;IACjE,OAAO,YAAY,CAAC;QAClB,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,CAAC;QACjC,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,QAAQ;QACtC,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,sBAAsB;QACpD,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI;QAC9B,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe;QACrC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe;KACtC,CAAC,CAAC;AACL,CAAC;AAED,0FAA0F;AAC1F,iFAAiF;AACjF,MAAM,UAAU,mBAAmB;IACjC,OAAO,aAAa,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,8FAA8F;AAC9F,gEAAgE;AAChE,MAAM,UAAU,aAAa,CAC3B,CAA2C,EAC3C,CAA2C;IAE3C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,CACL,CAAC,KAAK,CAAC;QACP,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;YAC5B,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;YAC3B,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;YAC3B,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;YACvB,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;YACnB,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,CACvB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sampler.js","sourceRoot":"","sources":["../src/sampler.ts"],"names":[],"mappings":"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"}
package/dist/texture.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { CreateTexture2DOptions, CreateTextureOptions, Matrix3Like, Texture, Texture2D, TextureLike, TextureSource, TextureSourceKind, TextureUvTransform, Vector2Like } from '@flighthq/types/contract';
1
+ import type { CreateTexture2DOptions, CreateTextureOptions, EntityConstruction, Matrix3Like, Texture, Texture2D, TextureLike, TextureSource, TextureSourceKind, TextureUvTransform, Vector2Like } from '@flighthq/types/contract';
2
2
  export declare function cloneTexture(source: Readonly<TextureLike>): Texture;
3
3
  export declare function copyTexture(out: TextureLike, source: Readonly<TextureLike>): void;
4
4
  type CreateTexture2DArrayOptions = Extract<CreateTextureOptions, {
@@ -30,6 +30,7 @@ export declare function getTextureUvMatrix(out: Matrix3Like, texture: Readonly<T
30
30
  export declare function getTextureWidth(texture: Readonly<TextureLike>): number;
31
31
  export declare function hasTextureSource(texture: Readonly<TextureLike>): boolean;
32
32
  export declare function hasTextureUvTransform(texture: Readonly<TextureUvTransform>): boolean;
33
+ export declare function initializeTexture2D(out: EntityConstruction<Texture2D>, opts?: Readonly<CreateTexture2DOptions>): void;
33
34
  export declare function isTextureReady(texture: Readonly<TextureLike>): boolean;
34
35
  export declare function resetTextureUvTransform(texture: TextureLike): void;
35
36
  export declare function setTextureFlip(texture: TextureLike, flipX: boolean, flipY: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"texture.d.ts","sourceRoot":"","sources":["../src/texture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"texture.d.ts","sourceRoot":"","sources":["../src/texture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAElB,WAAW,EACX,OAAO,EACP,SAAS,EACT,WAAW,EACX,aAAa,EAEb,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAiBlC,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,OAAO,CAyCnE;AAID,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAiCjF;AAED,KAAK,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAAE,SAAS,EAAE,UAAU,CAAA;CAAE,CAAC,CAAC;AAC5F,KAAK,sBAAsB,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAAE,SAAS,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC;AACjF,KAAK,wBAAwB,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAErF,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC;AAClF,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,2BAA2B,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,UAAU,CAAA;CAAE,CAAC,CAAC;AACxH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC;AAC7G,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAmDjH,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAMlF;AAID,wBAAgB,aAAa,CAC3B,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3C,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAgBT;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,MAAM,CAEvE;AAQD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAGhG;AAID,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,aAAa,GAAG,IAAI,CAErF;AAGD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,iBAAiB,GAAG,IAAI,CAE7F;AASD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAyBhG;AAGD,wBAAgB,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,MAAM,CAEtE;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,OAAO,CAExE;AAMD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAUpF;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,kBAAkB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAIrH;AAID,wBAAgB,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,OAAO,CAEtE;AAID,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAQlE;AAKD,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAGzF;AAID,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAKzF;AAoBD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,WAAW,EACpB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAcN;AAID,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAGnF;AAGD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhF;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAGlF;AAMD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAa/G"}
package/dist/texture.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
2
  import { cloneVector2, copyVector2, createVector2, inverseMatrix3 } from '@flighthq/geometry/contract';
3
3
  import { cloneSampler, copySampler, createSampler, equalsSampler } from './sampler';
4
4
  function getFirstTextureSource(texture) {
@@ -25,22 +25,34 @@ export function cloneTexture(source) {
25
25
  version: source.version >>> 0,
26
26
  };
27
27
  switch (source.dimension) {
28
- case '2d':
29
- return createEntity({ ...common, dimension: '2d', source: source.source });
30
- case '2d-array':
31
- return createEntity({
32
- ...common,
33
- dimension: '2d-array',
34
- sources: source.sources.slice(),
35
- });
36
- case '3d':
37
- return createEntity({ ...common, dimension: '3d', source: source.source });
38
- case 'cube':
39
- return createEntity({
40
- ...common,
41
- dimension: 'cube',
42
- sources: source.sources.slice(),
43
- });
28
+ case '2d': {
29
+ const out = allocateEntity();
30
+ applyCommonTextureFields(out, common);
31
+ out.dimension = '2d';
32
+ out.source = source.source;
33
+ return finishEntity(out);
34
+ }
35
+ case '2d-array': {
36
+ const out = allocateEntity();
37
+ applyCommonTextureFields(out, common);
38
+ out.dimension = '2d-array';
39
+ out.sources = source.sources.slice();
40
+ return finishEntity(out);
41
+ }
42
+ case '3d': {
43
+ const out = allocateEntity();
44
+ applyCommonTextureFields(out, common);
45
+ out.dimension = '3d';
46
+ out.source = source.source;
47
+ return finishEntity(out);
48
+ }
49
+ case 'cube': {
50
+ const out = allocateEntity();
51
+ applyCommonTextureFields(out, common);
52
+ out.dimension = 'cube';
53
+ out.sources = source.sources.slice();
54
+ return finishEntity(out);
55
+ }
44
56
  }
45
57
  }
46
58
  // Copies every mutable field from source into a same-dimension out. Dimension is creation-time
@@ -90,27 +102,37 @@ export function createTexture(opts) {
90
102
  const common = createCommonTextureFields(opts);
91
103
  let texture;
92
104
  switch (opts?.dimension) {
93
- case '2d-array':
94
- texture = createEntity({
95
- ...common,
96
- dimension: '2d-array',
97
- sources: opts.sources?.slice() ?? [],
98
- });
105
+ case '2d-array': {
106
+ const out = allocateEntity();
107
+ applyCommonTextureFields(out, common);
108
+ out.dimension = '2d-array';
109
+ out.sources = opts.sources?.slice() ?? [];
110
+ texture = finishEntity(out);
99
111
  break;
100
- case '3d':
101
- texture = createEntity({
102
- ...common,
103
- dimension: '3d',
104
- source: opts.source ?? null,
105
- });
112
+ }
113
+ case '3d': {
114
+ const out = allocateEntity();
115
+ applyCommonTextureFields(out, common);
116
+ out.dimension = '3d';
117
+ out.source = opts.source ?? null;
118
+ texture = finishEntity(out);
106
119
  break;
107
- case 'cube':
108
- texture = createEntity({
109
- ...common,
110
- dimension: 'cube',
111
- sources: (opts.sources?.slice() ?? [null, null, null, null, null, null]),
112
- });
120
+ }
121
+ case 'cube': {
122
+ const out = allocateEntity();
123
+ applyCommonTextureFields(out, common);
124
+ out.dimension = 'cube';
125
+ out.sources = (opts.sources?.slice() ?? [
126
+ null,
127
+ null,
128
+ null,
129
+ null,
130
+ null,
131
+ null,
132
+ ]);
133
+ texture = finishEntity(out);
113
134
  break;
135
+ }
114
136
  // The 2D case returns straight from the leaf, which attaches the resource itself — falling through
115
137
  // to the shared attach below would push the same texture onto the resource twice.
116
138
  default:
@@ -124,11 +146,9 @@ export function createTexture(opts) {
124
146
  // runs to serve every variant. `createTexture` composes this one for its own 2D case, so there is a
125
147
  // single place that decides what a 2D texture is.
126
148
  export function createTexture2D(opts) {
127
- const texture = createEntity({
128
- ...createCommonTextureFields(opts),
129
- dimension: '2d',
130
- source: opts?.source ?? null,
131
- });
149
+ const out = allocateEntity();
150
+ initializeTexture2D(out, opts);
151
+ const texture = finishEntity(out);
132
152
  attachTextureToResource(texture, opts?.resource);
133
153
  return texture;
134
154
  }
@@ -228,6 +248,11 @@ export function hasTextureUvTransform(texture) {
228
248
  texture.uvOffset.y !== 0 ||
229
249
  texture.uvRotation !== 0);
230
250
  }
251
+ export function initializeTexture2D(out, opts) {
252
+ applyCommonTextureFields(out, createCommonTextureFields(opts));
253
+ out.dimension = '2d';
254
+ out.source = opts?.source ?? null;
255
+ }
231
256
  // True once the texture references a pixel source. A null source is treated as an absent slot by
232
257
  // materials, so this is the gate a material samples behind.
233
258
  export function isTextureReady(texture) {
@@ -326,6 +351,16 @@ export function transformTextureUv(out, texture, u, v) {
326
351
  out.y = sx * sinR * fu + sy * cosR * fv + ty;
327
352
  }
328
353
  // Every dimension shares these, so the leaf and the switching constructor cannot drift on a default.
354
+ function applyCommonTextureFields(out, fields) {
355
+ out.colorSpace = fields.colorSpace;
356
+ out.flipX = fields.flipX;
357
+ out.flipY = fields.flipY;
358
+ out.sampler = fields.sampler;
359
+ out.uvOffset = fields.uvOffset;
360
+ out.uvRotation = fields.uvRotation;
361
+ out.uvScale = fields.uvScale;
362
+ out.version = fields.version;
363
+ }
329
364
  function createCommonTextureFields(opts) {
330
365
  return {
331
366
  colorSpace: opts?.colorSpace ?? 'srgb',
@@ -1 +1 @@
1
- {"version":3,"file":"texture.js","sourceRoot":"","sources":["../src/texture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"texture.js","sourceRoot":"","sources":["../src/texture.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Matrix3Like, Texture, Texture2D, TextureLike, VideoResource } from '@flighthq/types/contract';
1
+ import type { EntityConstruction, HostImageSource, ImageResource, Matrix3Like, Texture, Texture2D, TextureLike, VideoResource } from '@flighthq/types/contract';
2
2
  export declare function advanceVideoTexture(texture: TextureLike): number;
3
3
  export declare function cloneVideoTexture(source: Readonly<TextureLike>): Texture;
4
4
  export declare function copyVideoTexture(out: TextureLike, source: Readonly<TextureLike>): void;
@@ -8,6 +8,7 @@ export declare function getVideoTextureHeight(texture: Readonly<TextureLike>): n
8
8
  export declare function getVideoTextureInverseUvMatrix(out: Matrix3Like, texture: Readonly<TextureLike>): void;
9
9
  export declare function getVideoTextureUvMatrix(out: Matrix3Like, texture: Readonly<TextureLike>): void;
10
10
  export declare function getVideoTextureWidth(texture: Readonly<TextureLike>): number;
11
+ export declare function initializeVideoImageResource(out: EntityConstruction<ImageResource>, source: HostImageSource, version: number): void;
11
12
  export declare function isVideoTextureFrameReady(texture: Readonly<TextureLike>): boolean;
12
13
  export declare function resetVideoTextureFrame(texture: TextureLike): void;
13
14
  export declare function setVideoTextureSource(texture: TextureLike, source: VideoResource): void;
@@ -1 +1 @@
1
- {"version":3,"file":"videoTexture.d.ts","sourceRoot":"","sources":["../src/videoTexture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,WAAW,EACX,OAAO,EACP,SAAS,EACT,WAAW,EACX,aAAa,EACd,MAAM,0BAA0B,CAAC;AAOlC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAOhE;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,OAAO,CAExE;AAGD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAEtF;AAKD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,SAAS,CAQ1G;AAID,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAG5D;AAGD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,MAAM,CAG5E;AAGD,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAGrG;AAGD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAE9F;AAGD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,MAAM,CAG3E;AAGD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,OAAO,CAKhF;AAGD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAIjE;AAID,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAIvF"}
1
+ {"version":3,"file":"videoTexture.d.ts","sourceRoot":"","sources":["../src/videoTexture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,WAAW,EACX,OAAO,EACP,SAAS,EACT,WAAW,EACX,aAAa,EACd,MAAM,0BAA0B,CAAC;AAOlC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAOhE;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,OAAO,CAExE;AAGD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAEtF;AAKD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,SAAS,CAQ1G;AAID,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAG5D;AAGD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,MAAM,CAG5E;AAGD,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAGrG;AAGD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAE9F;AAGD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,MAAM,CAG3E;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,kBAAkB,CAAC,aAAa,CAAC,EACtC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,MAAM,GACd,IAAI,CAQN;AAGD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,OAAO,CAKhF;AAGD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAIjE;AAID,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAIvF"}
@@ -1,4 +1,4 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
2
  import { inverseMatrix3 } from '@flighthq/geometry/contract';
3
3
  import { ImageTextureSourceKind } from '@flighthq/types/contract';
4
4
  import { cloneTexture, copyTexture, createTexture, getTextureUvMatrix } from './texture';
@@ -58,6 +58,15 @@ export function getVideoTextureWidth(texture) {
58
58
  const element = getVideoElement(texture);
59
59
  return element !== null && element.videoWidth > 0 ? element.videoWidth : -1;
60
60
  }
61
+ export function initializeVideoImageResource(out, source, version) {
62
+ out.alphaType = 'straight';
63
+ out.gamut = 'srgb';
64
+ out.height = 0;
65
+ out.kind = ImageTextureSourceKind;
66
+ out.source = source;
67
+ out.version = version;
68
+ out.width = 0;
69
+ }
61
70
  // True once the borrowed host element exposes a decoded current frame and non-zero dimensions.
62
71
  export function isVideoTextureFrameReady(texture) {
63
72
  const element = getVideoElement(texture);
@@ -81,17 +90,10 @@ export function setVideoTextureSource(texture, source) {
81
90
  function createVideoImageResource(source) {
82
91
  if (source.element === null)
83
92
  return null;
84
- const image = createEntity({
85
- height: 0,
86
- alphaType: 'straight',
87
- gamut: 'srgb',
88
- kind: ImageTextureSourceKind,
89
- source: source.element,
90
- version: INITIAL_VIDEO_VERSION,
91
- width: 0,
92
- });
93
+ const image = allocateEntity();
94
+ initializeVideoImageResource(image, source.element, INITIAL_VIDEO_VERSION);
93
95
  updateVideoImageSize(image);
94
- return image;
96
+ return finishEntity(image);
95
97
  }
96
98
  function getVideoElement(texture) {
97
99
  return getVideoImage(texture)?.source ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"videoTexture.js","sourceRoot":"","sources":["../src/videoTexture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAS7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEzF,2GAA2G;AAC3G,8FAA8F;AAC9F,MAAM,UAAU,mBAAmB,CAAC,OAAoB;IACtD,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC;IAC1C,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC5B,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAChC,OAAO,OAAO,CAAC,OAAO,CAAC;AACzB,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,iBAAiB,CAAC,MAA6B;IAC7D,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB,CAAC,GAAgB,EAAE,MAA6B;IAC9E,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,gGAAgG;AAChG,gGAAgG;AAChG,6EAA6E;AAC7E,MAAM,UAAU,kBAAkB,CAAC,MAAqB,EAAE,IAAqC;IAC7F,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,aAAa,CAAC;QACnB,GAAG,IAAI;QACP,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,qBAAqB;KACjD,CAAC,CAAC;AACL,CAAC;AAED,2GAA2G;AAC3G,sFAAsF;AACtF,MAAM,UAAU,mBAAmB,CAAC,OAAkB;IACpD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,OAAO,GAAG,qBAAqB,CAAC;AAC1C,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,qBAAqB,CAAC,OAA8B;IAClE,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,8BAA8B,CAAC,GAAgB,EAAE,OAA8B;IAC7F,uBAAuB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,uBAAuB,CAAC,GAAgB,EAAE,OAA8B;IACtF,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,wBAAwB,CAAC,OAA8B;IACrE,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,CACL,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,UAAU,IAAI,iBAAiB,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,CACjH,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,sBAAsB,CAAC,OAAoB;IACzD,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,KAAK,IAAI,IAAI;QAAE,KAAK,CAAC,OAAO,GAAG,qBAAqB,CAAC;IACzD,OAAO,CAAC,OAAO,GAAG,qBAAqB,CAAC;AAC1C,CAAC;AAED,gGAAgG;AAChG,oFAAoF;AACpF,MAAM,UAAU,qBAAqB,CAAC,OAAoB,EAAE,MAAqB;IAC/E,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC9F,OAAO,CAAC,MAAM,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,CAAC,OAAO,GAAG,qBAAqB,CAAC;AAC1C,CAAC;AAED,SAAS,wBAAwB,CAAC,MAA+B;IAC/D,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,KAAK,GAAG,YAAY,CAAC;QACzB,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,MAAM,CAAC,OAAO;QACtB,OAAO,EAAE,qBAAqB;QAC9B,KAAK,EAAE,CAAC;KACT,CAAkB,CAAC;IACpB,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,OAA8B;IACrD,OAAQ,aAAa,CAAC,OAAO,CAAC,EAAE,MAA8C,IAAI,IAAI,CAAC;AACzF,CAAC;AAED,SAAS,aAAa,CAAC,OAA8B;IACnD,OAAO,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAE,OAAO,CAAC,MAA+B,CAAC,CAAC,CAAC,IAAI,CAAC;AACtF,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAoB;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,MAA0B,CAAC;IACjD,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;IACtC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,iGAAiG;AACjG,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,qBAAqB,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"videoTexture.js","sourceRoot":"","sources":["../src/videoTexture.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/texture",
3
- "version": "0.5.1-next.815.cc08b93",
3
+ "version": "0.5.1-next.903.f434bc2",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,9 +38,9 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/entity": "0.5.1-next.815.cc08b93",
42
- "@flighthq/geometry": "0.5.1-next.815.cc08b93",
43
- "@flighthq/types": "0.5.1-next.815.cc08b93"
41
+ "@flighthq/entity": "0.5.1-next.903.f434bc2",
42
+ "@flighthq/geometry": "0.5.1-next.903.f434bc2",
43
+ "@flighthq/types": "0.5.1-next.903.f434bc2"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@flighthq/video": "*",
@@ -1,4 +1,4 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
2
  import { createMatrix3, createVector2, inverseMatrix3 } from '@flighthq/geometry/contract';
3
3
  import type { ImageResource, RenderTarget, Texture2D } from '@flighthq/types/contract';
4
4
  import { ImageTextureSourceKind, RenderTargetTextureSourceKind } from '@flighthq/types/contract';
@@ -32,12 +32,12 @@ import {
32
32
  const fakeImage = { height: 64, kind: ImageTextureSourceKind, width: 32 } as ImageResource;
33
33
 
34
34
  function makeRenderTarget(width: number, height: number): RenderTarget {
35
- return createEntity({
36
- height,
37
- kind: RenderTargetTextureSourceKind,
38
- version: 0,
39
- width,
40
- }) as RenderTarget;
35
+ const out = allocateEntity<RenderTarget>();
36
+ out.height = height;
37
+ out.kind = RenderTargetTextureSourceKind;
38
+ out.version = 0;
39
+ out.width = width;
40
+ return finishEntity(out) as RenderTarget;
41
41
  }
42
42
 
43
43
  // Applies a column-major 3×3 uv matrix to (u, v, 1), writing the transformed coordinate into out.
@@ -1,19 +1,19 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
2
  import type { VoxelGrid } from '@flighthq/types/contract';
3
3
  import { VoxelGridTextureSourceKind } from '@flighthq/types/contract';
4
4
 
5
5
  import { invalidateVoxelGrid } from './voxelGrid';
6
6
 
7
7
  function voxelGrid(version: number): VoxelGrid {
8
- return createEntity({
9
- data: new Uint8Array(32),
10
- depth: 2,
11
- format: 'rgba8unorm' as const,
12
- height: 2,
13
- kind: VoxelGridTextureSourceKind,
14
- version,
15
- width: 2,
16
- }) as VoxelGrid;
8
+ const out = allocateEntity<VoxelGrid>();
9
+ out.data = new Uint8Array(32);
10
+ out.depth = 2;
11
+ out.format = 'rgba8unorm' as const;
12
+ out.height = 2;
13
+ out.kind = VoxelGridTextureSourceKind;
14
+ out.version = version;
15
+ out.width = 2;
16
+ return finishEntity(out) as VoxelGrid;
17
17
  }
18
18
 
19
19
  describe('invalidateVoxelGrid', () => {