@loaders.gl/schema 4.4.0-alpha.9 → 4.4.0

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.
@@ -1,16 +1,113 @@
1
1
  import type { ImageType } from "./category-image.js";
2
+ import type { TypedArray } from "../types/types.js";
2
3
  /**
3
4
  * These represent the main compressed texture formats
4
5
  * Each format typically has a number of more specific subformats
5
6
  */
6
7
  export type GPUTextureFormat = 'dxt' | 'dxt-srgb' | 'etc1' | 'etc2' | 'pvrtc' | 'atc' | 'astc' | 'rgtc';
7
- /** One mip level */
8
+ export type TextureFormat = TextureFormatColorUncompressed | TextureFormatCompressed;
9
+ export type TextureFormatColorUncompressed = 'r8unorm' | 'rg8unorm' | 'rgb8unorm-webgl' | 'rgba8unorm' | 'rgba8unorm-srgb' | 'r8snorm' | 'rg8snorm' | 'rgb8snorm-webgl' | 'rgba8snorm' | 'r8uint' | 'rg8uint' | 'rgba8uint' | 'r8sint' | 'rg8sint' | 'rgba8sint' | 'bgra8unorm' | 'bgra8unorm-srgb' | 'r16unorm' | 'rg16unorm' | 'rgb16unorm-webgl' | 'rgba16unorm' | 'r16snorm' | 'rg16snorm' | 'rgb16snorm-webgl' | 'rgba16snorm' | 'r16uint' | 'rg16uint' | 'rgba16uint' | 'r16sint' | 'rg16sint' | 'rgba16sint' | 'r16float' | 'rg16float' | 'rgba16float' | 'r32uint' | 'rg32uint' | 'rgba32uint' | 'r32sint' | 'rg32sint' | 'rgba32sint' | 'r32float' | 'rg32float' | 'rgb32float-webgl' | 'rgba32float' | 'rgba4unorm-webgl' | 'rgb565unorm-webgl' | 'rgb5a1unorm-webgl' | 'rgb9e5ufloat' | 'rg11b10ufloat' | 'rgb10a2unorm' | 'rgb10a2uint';
10
+ export type TextureFormatCompressed = 'bc1-rgb-unorm-webgl' | 'bc1-rgb-unorm-srgb-webgl' | 'pvrtc-rgb4unorm-webgl' | 'pvrtc-rgba4unorm-webgl' | 'pvrtc-rgb2unorm-webgl' | 'pvrtc-rgba2unorm-webgl' | 'etc1-rgb-unorm-webgl' | 'atc-rgb-unorm-webgl' | 'atc-rgba-unorm-webgl' | 'atc-rgbai-unorm-webgl' | 'bc1-rgba-unorm' | 'bc1-rgba-unorm-srgb' | 'bc2-rgba-unorm' | 'bc2-rgba-unorm-srgb' | 'bc3-rgba-unorm' | 'bc3-rgba-unorm-srgb' | 'bc4-r-unorm' | 'bc4-r-snorm' | 'bc5-rg-unorm' | 'bc5-rg-snorm' | 'bc6h-rgb-ufloat' | 'bc6h-rgb-float' | 'bc7-rgba-unorm' | 'bc7-rgba-unorm-srgb' | 'etc2-rgb8unorm' | 'etc2-rgb8unorm-srgb' | 'etc2-rgb8a1unorm' | 'etc2-rgb8a1unorm-srgb' | 'etc2-rgba8unorm' | 'etc2-rgba8unorm-srgb' | 'eac-r11unorm' | 'eac-r11snorm' | 'eac-rg11unorm' | 'eac-rg11snorm' | 'astc-4x4-unorm' | 'astc-4x4-unorm-srgb' | 'astc-5x4-unorm' | 'astc-5x4-unorm-srgb' | 'astc-5x5-unorm' | 'astc-5x5-unorm-srgb' | 'astc-6x5-unorm' | 'astc-6x5-unorm-srgb' | 'astc-6x6-unorm' | 'astc-6x6-unorm-srgb' | 'astc-8x5-unorm' | 'astc-8x5-unorm-srgb' | 'astc-8x6-unorm' | 'astc-8x6-unorm-srgb' | 'astc-8x8-unorm' | 'astc-8x8-unorm-srgb' | 'astc-10x5-unorm' | 'astc-10x5-unorm-srgb' | 'astc-10x6-unorm' | 'astc-10x6-unorm-srgb' | 'astc-10x8-unorm' | 'astc-10x8-unorm-srgb' | 'astc-10x10-unorm' | 'astc-10x10-unorm-srgb' | 'astc-12x10-unorm' | 'astc-12x10-unorm-srgb' | 'astc-12x12-unorm' | 'astc-12x12-unorm-srgb';
11
+ /** Application-facing metadata attached to texture payloads. */
12
+ export type TextureMetadata = Record<string, unknown>;
13
+ /** Return type of `texture` category loaders. */
14
+ export type Texture<MetadataT extends TextureMetadata = TextureMetadata> = Texture1D<MetadataT> | Texture2D<MetadataT> | Texture3D<MetadataT> | TextureCube<MetadataT> | Texture2DArray<MetadataT> | TextureCubeArray<MetadataT>;
15
+ /** One-dimensional texture with mip levels. */
16
+ export type Texture1D<MetadataT extends TextureMetadata = TextureMetadata> = {
17
+ /** loaders.gl shape tag identifying texture payloads. */
18
+ shape: 'texture';
19
+ /** Application-facing format metadata, when provided by the loader. */
20
+ metadata?: MetadataT;
21
+ /** Texture dimensionality. */
22
+ type: '1d';
23
+ /** Canonical loaders.gl texture format for the texture payload. */
24
+ format: TextureFormat;
25
+ /** Mip levels that make up the texture. */
26
+ data: TextureLevel[];
27
+ };
28
+ /** Two-dimensional texture with mip levels. */
29
+ export type Texture2D<MetadataT extends TextureMetadata = TextureMetadata> = {
30
+ /** loaders.gl shape tag identifying texture payloads. */
31
+ shape: 'texture';
32
+ /** Application-facing format metadata, when provided by the loader. */
33
+ metadata?: MetadataT;
34
+ /** Texture dimensionality. */
35
+ type: '2d';
36
+ /** Canonical loaders.gl texture format for the texture payload. */
37
+ format: TextureFormat;
38
+ /** Mip levels that make up the texture. */
39
+ data: TextureLevel[];
40
+ };
41
+ /** Three-dimensional texture with mip levels for each depth slice. */
42
+ export type Texture3D<MetadataT extends TextureMetadata = TextureMetadata> = {
43
+ /** loaders.gl shape tag identifying texture payloads. */
44
+ shape: 'texture';
45
+ /** Application-facing format metadata, when provided by the loader. */
46
+ metadata?: MetadataT;
47
+ /** Texture dimensionality. */
48
+ type: '3d';
49
+ /** Canonical loaders.gl texture format for the texture payload. */
50
+ format: TextureFormat;
51
+ /** Mip levels grouped by depth slice. */
52
+ data: TextureLevel[][];
53
+ };
54
+ /** Cube texture with mip levels for each face. */
55
+ export type TextureCube<MetadataT extends TextureMetadata = TextureMetadata> = {
56
+ /** loaders.gl shape tag identifying texture payloads. */
57
+ shape: 'texture';
58
+ /** Application-facing format metadata, when provided by the loader. */
59
+ metadata?: MetadataT;
60
+ /** Texture dimensionality. */
61
+ type: 'cube';
62
+ /** Canonical loaders.gl texture format for the texture payload. */
63
+ format: TextureFormat;
64
+ /** Mip levels grouped by cube face. */
65
+ data: TextureLevel[][];
66
+ };
67
+ /** Array of two-dimensional textures with mip levels for each layer. */
68
+ export type Texture2DArray<MetadataT extends TextureMetadata = TextureMetadata> = {
69
+ /** loaders.gl shape tag identifying texture payloads. */
70
+ shape: 'texture';
71
+ /** Application-facing format metadata, when provided by the loader. */
72
+ metadata?: MetadataT;
73
+ /** Texture dimensionality. */
74
+ type: '2d-array';
75
+ /** Canonical loaders.gl texture format for the texture payload. */
76
+ format: TextureFormat;
77
+ /** Mip levels grouped by array layer. */
78
+ data: TextureLevel[][];
79
+ };
80
+ /** Array of cube textures with mip levels for each face in each layer. */
81
+ export type TextureCubeArray<MetadataT extends TextureMetadata = TextureMetadata> = {
82
+ /** loaders.gl shape tag identifying texture payloads. */
83
+ shape: 'texture';
84
+ /** Application-facing format metadata, when provided by the loader. */
85
+ metadata?: MetadataT;
86
+ /** Texture dimensionality. */
87
+ type: 'cube-array';
88
+ /** Canonical loaders.gl texture format for the texture payload. */
89
+ format: TextureFormat;
90
+ /** Mip levels grouped by cube-array layer and face. */
91
+ data: TextureLevel[][][];
92
+ };
93
+ /** A TextureLevel holds data for one texture mip level */
8
94
  export type TextureLevel = {
9
- compressed: boolean;
95
+ /** loaders.gl shape tag identifying texture level payloads */
96
+ shape: 'texture-level';
97
+ /** WebGPU texture format corresponding the format of the data in this TextureLevel */
98
+ textureFormat?: TextureFormat;
99
+ /** Numeric API-specific format constant, currently used for WebGL/OpenGL upload paths */
10
100
  format?: number;
11
- data: Uint8Array;
101
+ /** Whether the texture is compressed */
102
+ compressed: boolean;
103
+ /** Width in texels */
12
104
  width: number;
105
+ /** Height in texels */
13
106
  height: number;
107
+ /** Optional bitmap handle for image-backed texture levels */
108
+ imageBitmap?: ImageBitmap;
109
+ /** Byte array or float pixel data. Will be a dummy length 0 array if imageBitmap is provided */
110
+ data: TypedArray;
14
111
  levelSize?: number;
15
112
  hasAlpha?: boolean;
16
113
  };
@@ -1 +1 @@
1
- {"version":3,"file":"category-texture.d.ts","sourceRoot":"","sources":["../../src/categories/category-texture.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,SAAS,EAAC,4BAAyB;AAEhD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GACxB,KAAK,GACL,UAAU,GACV,MAAM,GACN,MAAM,GACN,OAAO,GACP,KAAK,GACL,MAAM,GACN,MAAM,CAAC;AAEX,oBAAoB;AACpB,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"category-texture.d.ts","sourceRoot":"","sources":["../../src/categories/category-texture.ts"],"names":[],"mappings":"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"}