@luma.gl/core 9.0.10 → 9.1.0-alpha.1

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.
Files changed (236) hide show
  1. package/dist/adapter/canvas-context.d.ts +5 -0
  2. package/dist/adapter/canvas-context.d.ts.map +1 -1
  3. package/dist/adapter/device.d.ts +10 -8
  4. package/dist/adapter/device.d.ts.map +1 -1
  5. package/dist/adapter/device.js +20 -18
  6. package/dist/{lib → adapter}/luma.d.ts +2 -2
  7. package/dist/adapter/luma.d.ts.map +1 -0
  8. package/dist/{lib → adapter}/luma.js +7 -7
  9. package/dist/adapter/resources/buffer.js +5 -5
  10. package/dist/adapter/resources/compute-pipeline.d.ts +2 -0
  11. package/dist/adapter/resources/compute-pipeline.d.ts.map +1 -1
  12. package/dist/adapter/resources/compute-pipeline.js +3 -0
  13. package/dist/adapter/resources/external-texture.d.ts +1 -1
  14. package/dist/adapter/resources/external-texture.d.ts.map +1 -1
  15. package/dist/adapter/resources/external-texture.js +1 -1
  16. package/dist/adapter/resources/framebuffer.d.ts +3 -3
  17. package/dist/adapter/resources/framebuffer.d.ts.map +1 -1
  18. package/dist/adapter/resources/framebuffer.js +2 -83
  19. package/dist/adapter/resources/render-pass.d.ts +2 -2
  20. package/dist/adapter/resources/render-pass.d.ts.map +1 -1
  21. package/dist/adapter/resources/render-pipeline.d.ts +2 -5
  22. package/dist/adapter/resources/render-pipeline.d.ts.map +1 -1
  23. package/dist/adapter/resources/resource.d.ts +3 -3
  24. package/dist/adapter/resources/resource.d.ts.map +1 -1
  25. package/dist/adapter/resources/resource.js +1 -1
  26. package/dist/adapter/resources/shader.d.ts +5 -2
  27. package/dist/adapter/resources/shader.d.ts.map +1 -1
  28. package/dist/adapter/resources/shader.js +15 -9
  29. package/dist/adapter/resources/texture-view.d.ts +1 -1
  30. package/dist/adapter/resources/texture-view.d.ts.map +1 -1
  31. package/dist/adapter/resources/texture.d.ts +111 -49
  32. package/dist/adapter/resources/texture.d.ts.map +1 -1
  33. package/dist/adapter/resources/texture.js +96 -12
  34. package/dist/adapter/resources/transform-feedback.d.ts +1 -1
  35. package/dist/adapter/resources/transform-feedback.d.ts.map +1 -1
  36. package/dist/adapter/resources/vertex-array.d.ts +1 -1
  37. package/dist/adapter/resources/vertex-array.d.ts.map +1 -1
  38. package/dist/adapter/resources/vertex-array.js +6 -2
  39. package/dist/adapter/types/{types.d.ts → attachments.d.ts} +5 -16
  40. package/dist/adapter/types/attachments.d.ts.map +1 -0
  41. package/dist/adapter/types/buffer-layout.d.ts +1 -1
  42. package/dist/adapter/types/buffer-layout.d.ts.map +1 -1
  43. package/dist/adapter/types/compiler-message.d.ts.map +1 -0
  44. package/dist/adapter/types/parameters.d.ts +2 -6
  45. package/dist/adapter/types/parameters.d.ts.map +1 -1
  46. package/dist/adapter/types/shader-layout.d.ts +23 -3
  47. package/dist/adapter/types/shader-layout.d.ts.map +1 -1
  48. package/dist/adapter/types/uniforms.d.ts +4 -0
  49. package/dist/adapter/types/uniforms.d.ts.map +1 -0
  50. package/dist/{lib/compiler-log → adapter-utils}/format-compiler-log.d.ts +1 -1
  51. package/dist/adapter-utils/format-compiler-log.d.ts.map +1 -0
  52. package/dist/{adapter/attribute-utils → adapter-utils}/get-attribute-from-layouts.d.ts +4 -11
  53. package/dist/adapter-utils/get-attribute-from-layouts.d.ts.map +1 -0
  54. package/dist/{adapter/attribute-utils → adapter-utils}/get-attribute-from-layouts.js +10 -30
  55. package/dist/adapter-utils/is-uniform-value.d.ts +3 -0
  56. package/dist/adapter-utils/is-uniform-value.d.ts.map +1 -0
  57. package/dist/adapter-utils/is-uniform-value.js +7 -0
  58. package/dist/dist.dev.js +266 -588
  59. package/dist/dist.min.js +4 -4
  60. package/dist/{adapter/type-utils → gpu-type-utils}/decode-attribute-type.d.ts +3 -3
  61. package/dist/gpu-type-utils/decode-attribute-type.d.ts.map +1 -0
  62. package/dist/{adapter/type-utils → gpu-type-utils}/decode-data-type.d.ts +1 -1
  63. package/dist/gpu-type-utils/decode-data-type.d.ts.map +1 -0
  64. package/dist/{adapter/type-utils → gpu-type-utils}/decode-shader-types.d.ts +1 -1
  65. package/dist/gpu-type-utils/decode-shader-types.d.ts.map +1 -0
  66. package/dist/{adapter/type-utils → gpu-type-utils}/decode-shader-types.js +0 -2
  67. package/dist/{adapter/type-utils → gpu-type-utils}/decode-texture-format.d.ts +2 -2
  68. package/dist/gpu-type-utils/decode-texture-format.d.ts.map +1 -0
  69. package/dist/{adapter/type-utils → gpu-type-utils}/decode-vertex-format.d.ts +1 -1
  70. package/dist/gpu-type-utils/decode-vertex-format.d.ts.map +1 -0
  71. package/dist/gpu-type-utils/shader-types.d.ts.map +1 -0
  72. package/dist/{adapter/types → gpu-type-utils}/texture-formats.d.ts +1 -1
  73. package/dist/gpu-type-utils/texture-formats.d.ts.map +1 -0
  74. package/dist/{adapter/type-utils → gpu-type-utils}/vertex-format-from-attribute.d.ts +2 -2
  75. package/dist/gpu-type-utils/vertex-format-from-attribute.d.ts.map +1 -0
  76. package/dist/gpu-type-utils/vertex-formats.d.ts.map +1 -0
  77. package/dist/{adapter/type-utils → gpu-type-utils}/wgsl-utils.d.ts +1 -1
  78. package/dist/gpu-type-utils/wgsl-utils.d.ts.map +1 -0
  79. package/dist/index.cjs +190 -411
  80. package/dist/index.cjs.map +4 -4
  81. package/dist/index.d.ts +28 -42
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +19 -36
  84. package/dist/init.js +1 -1
  85. package/dist/{lib/uniforms → portable}/uniform-block.d.ts +3 -3
  86. package/dist/portable/uniform-block.d.ts.map +1 -0
  87. package/dist/{lib/uniforms → portable}/uniform-block.js +2 -2
  88. package/dist/{lib/uniforms → portable}/uniform-buffer-layout.d.ts +2 -2
  89. package/dist/portable/uniform-buffer-layout.d.ts.map +1 -0
  90. package/dist/{lib/uniforms → portable}/uniform-buffer-layout.js +6 -7
  91. package/dist/{lib/uniforms → portable}/uniform-store.d.ts +4 -4
  92. package/dist/portable/uniform-store.d.ts.map +1 -0
  93. package/dist/{lib/uniforms → portable}/uniform-store.js +11 -9
  94. package/dist/types.d.ts +0 -10
  95. package/dist/types.d.ts.map +1 -1
  96. package/dist/utils/array-equal.d.ts.map +1 -1
  97. package/dist/utils/array-equal.js +6 -7
  98. package/dist/utils/array-utils-flat.d.ts +1 -7
  99. package/dist/utils/array-utils-flat.d.ts.map +1 -1
  100. package/dist/utils/array-utils-flat.js +0 -23
  101. package/dist/utils/is-array.d.ts +2 -2
  102. package/dist/utils/is-array.d.ts.map +1 -1
  103. package/dist/utils/is-array.js +2 -2
  104. package/dist/utils/uid.d.ts +7 -0
  105. package/dist/utils/uid.d.ts.map +1 -0
  106. package/dist/utils/{utils.js → uid.js} +0 -11
  107. package/package.json +5 -5
  108. package/src/adapter/canvas-context.ts +6 -0
  109. package/src/adapter/device.ts +34 -31
  110. package/src/{lib → adapter}/luma.ts +9 -9
  111. package/src/adapter/resources/buffer.ts +5 -5
  112. package/src/adapter/resources/command-encoder.ts +1 -1
  113. package/src/adapter/resources/compute-pass.ts +3 -3
  114. package/src/adapter/resources/compute-pipeline.ts +6 -3
  115. package/src/adapter/resources/external-texture.ts +2 -2
  116. package/src/adapter/resources/framebuffer.ts +5 -92
  117. package/src/adapter/resources/query-set.ts +2 -2
  118. package/src/adapter/resources/render-pass.ts +11 -7
  119. package/src/adapter/resources/render-pipeline.ts +3 -6
  120. package/src/adapter/resources/resource.ts +7 -7
  121. package/src/adapter/resources/shader.ts +18 -11
  122. package/src/adapter/resources/texture-view.ts +5 -5
  123. package/src/adapter/resources/texture.ts +226 -77
  124. package/src/adapter/resources/transform-feedback.ts +1 -1
  125. package/src/adapter/resources/vertex-array.ts +7 -3
  126. package/src/adapter/types/{types.ts → attachments.ts} +8 -17
  127. package/src/adapter/types/buffer-layout.ts +1 -1
  128. package/src/adapter/types/parameters.ts +10 -14
  129. package/src/adapter/types/shader-layout.ts +31 -29
  130. package/src/adapter/types/uniforms.ts +10 -0
  131. package/src/{lib/compiler-log → adapter-utils}/format-compiler-log.ts +1 -1
  132. package/src/{adapter/attribute-utils → adapter-utils}/get-attribute-from-layouts.ts +18 -42
  133. package/src/adapter-utils/is-uniform-value.ts +10 -0
  134. package/src/{adapter/type-utils → gpu-type-utils}/decode-attribute-type.ts +3 -3
  135. package/src/{adapter/type-utils → gpu-type-utils}/decode-data-type.ts +1 -1
  136. package/src/{adapter/type-utils → gpu-type-utils}/decode-shader-types.ts +1 -3
  137. package/src/{adapter/type-utils → gpu-type-utils}/decode-texture-format.ts +2 -2
  138. package/src/{adapter/type-utils → gpu-type-utils}/decode-vertex-format.ts +1 -1
  139. package/src/{adapter/types → gpu-type-utils}/texture-formats.ts +1 -1
  140. package/src/{adapter/type-utils → gpu-type-utils}/vertex-format-from-attribute.ts +2 -2
  141. package/src/{adapter/type-utils → gpu-type-utils}/wgsl-utils.ts +1 -1
  142. package/src/index.ts +69 -84
  143. package/src/{lib/uniforms → portable}/uniform-block.ts +5 -5
  144. package/src/{lib/uniforms → portable}/uniform-buffer-layout.ts +9 -9
  145. package/src/{lib/uniforms → portable}/uniform-store.ts +14 -12
  146. package/src/types.ts +0 -12
  147. package/src/utils/array-equal.ts +6 -7
  148. package/src/utils/array-utils-flat.ts +1 -31
  149. package/src/utils/is-array.ts +4 -4
  150. package/src/utils/{utils.ts → uid.ts} +0 -12
  151. package/dist/adapter/attribute-utils/get-attribute-from-layouts.d.ts.map +0 -1
  152. package/dist/adapter/type-utils/decode-attribute-type.d.ts.map +0 -1
  153. package/dist/adapter/type-utils/decode-data-type.d.ts.map +0 -1
  154. package/dist/adapter/type-utils/decode-shader-types.d.ts.map +0 -1
  155. package/dist/adapter/type-utils/decode-texture-format.d.ts.map +0 -1
  156. package/dist/adapter/type-utils/decode-vertex-format.d.ts.map +0 -1
  157. package/dist/adapter/type-utils/vertex-format-from-attribute.d.ts.map +0 -1
  158. package/dist/adapter/type-utils/wgsl-utils.d.ts.map +0 -1
  159. package/dist/adapter/types/accessor.d.ts +0 -23
  160. package/dist/adapter/types/accessor.d.ts.map +0 -1
  161. package/dist/adapter/types/shader-types.d.ts.map +0 -1
  162. package/dist/adapter/types/texture-formats.d.ts.map +0 -1
  163. package/dist/adapter/types/types.d.ts.map +0 -1
  164. package/dist/adapter/types/vertex-formats.d.ts.map +0 -1
  165. package/dist/lib/compiler-log/compiler-message.d.ts.map +0 -1
  166. package/dist/lib/compiler-log/format-compiler-log.d.ts.map +0 -1
  167. package/dist/lib/compiler-log/get-shader-info.d.ts +0 -9
  168. package/dist/lib/compiler-log/get-shader-info.d.ts.map +0 -1
  169. package/dist/lib/compiler-log/get-shader-info.js +0 -29
  170. package/dist/lib/luma.d.ts.map +0 -1
  171. package/dist/lib/uniforms/uniform-block.d.ts.map +0 -1
  172. package/dist/lib/uniforms/uniform-buffer-layout.d.ts.map +0 -1
  173. package/dist/lib/uniforms/uniform-store.d.ts.map +0 -1
  174. package/dist/lib/uniforms/uniform.d.ts +0 -10
  175. package/dist/lib/uniforms/uniform.d.ts.map +0 -1
  176. package/dist/lib/uniforms/uniform.js +0 -20
  177. package/dist/utils/assert.d.ts +0 -2
  178. package/dist/utils/assert.d.ts.map +0 -1
  179. package/dist/utils/assert.js +0 -10
  180. package/dist/utils/cast.d.ts +0 -3
  181. package/dist/utils/cast.d.ts.map +0 -1
  182. package/dist/utils/cast.js +0 -7
  183. package/dist/utils/check-props.d.ts +0 -7
  184. package/dist/utils/check-props.d.ts.map +0 -1
  185. package/dist/utils/check-props.js +0 -36
  186. package/dist/utils/deep-equal.d.ts +0 -9
  187. package/dist/utils/deep-equal.d.ts.map +0 -1
  188. package/dist/utils/deep-equal.js +0 -50
  189. package/dist/utils/format-value.d.ts +0 -7
  190. package/dist/utils/format-value.d.ts.map +0 -1
  191. package/dist/utils/format-value.js +0 -39
  192. package/dist/utils/load-file.d.ts +0 -35
  193. package/dist/utils/load-file.d.ts.map +0 -1
  194. package/dist/utils/load-file.js +0 -74
  195. package/dist/utils/random.d.ts +0 -5
  196. package/dist/utils/random.d.ts.map +0 -1
  197. package/dist/utils/random.js +0 -18
  198. package/dist/utils/request-animation-frame.d.ts +0 -3
  199. package/dist/utils/request-animation-frame.d.ts.map +0 -1
  200. package/dist/utils/request-animation-frame.js +0 -16
  201. package/dist/utils/stub-methods.d.ts +0 -2
  202. package/dist/utils/stub-methods.d.ts.map +0 -1
  203. package/dist/utils/stub-methods.js +0 -19
  204. package/dist/utils/utils.d.ts +0 -9
  205. package/dist/utils/utils.d.ts.map +0 -1
  206. package/src/adapter/types/accessor.ts +0 -37
  207. package/src/lib/compiler-log/get-shader-info.ts +0 -42
  208. package/src/lib/uniforms/uniform.ts +0 -31
  209. package/src/utils/assert.ts +0 -11
  210. package/src/utils/cast.ts +0 -8
  211. package/src/utils/check-props.ts +0 -82
  212. package/src/utils/deep-equal.ts +0 -51
  213. package/src/utils/format-value.ts +0 -47
  214. package/src/utils/load-file.ts +0 -91
  215. package/src/utils/random.ts +0 -21
  216. package/src/utils/request-animation-frame.ts +0 -19
  217. package/src/utils/stub-methods.ts +0 -29
  218. /package/dist/adapter/types/{accessor.js → attachments.js} +0 -0
  219. /package/dist/{lib/compiler-log → adapter/types}/compiler-message.d.ts +0 -0
  220. /package/dist/{lib/compiler-log → adapter/types}/compiler-message.js +0 -0
  221. /package/dist/adapter/types/{shader-types.js → uniforms.js} +0 -0
  222. /package/dist/{lib/compiler-log → adapter-utils}/format-compiler-log.js +0 -0
  223. /package/dist/{adapter/type-utils → gpu-type-utils}/decode-attribute-type.js +0 -0
  224. /package/dist/{adapter/type-utils → gpu-type-utils}/decode-data-type.js +0 -0
  225. /package/dist/{adapter/type-utils → gpu-type-utils}/decode-texture-format.js +0 -0
  226. /package/dist/{adapter/type-utils → gpu-type-utils}/decode-vertex-format.js +0 -0
  227. /package/dist/{adapter/types → gpu-type-utils}/shader-types.d.ts +0 -0
  228. /package/dist/{adapter/types/texture-formats.js → gpu-type-utils/shader-types.js} +0 -0
  229. /package/dist/{adapter/types/types.js → gpu-type-utils/texture-formats.js} +0 -0
  230. /package/dist/{adapter/type-utils → gpu-type-utils}/vertex-format-from-attribute.js +0 -0
  231. /package/dist/{adapter/types → gpu-type-utils}/vertex-formats.d.ts +0 -0
  232. /package/dist/{adapter/types → gpu-type-utils}/vertex-formats.js +0 -0
  233. /package/dist/{adapter/type-utils → gpu-type-utils}/wgsl-utils.js +0 -0
  234. /package/src/{lib/compiler-log → adapter/types}/compiler-message.ts +0 -0
  235. /package/src/{adapter/types → gpu-type-utils}/shader-types.ts +0 -0
  236. /package/src/{adapter/types → gpu-type-utils}/vertex-formats.ts +0 -0
@@ -1,5 +1,6 @@
1
1
  import type { Device } from "./device.js";
2
2
  import type { Framebuffer } from "./resources/framebuffer.js";
3
+ import type { TextureFormat } from "../gpu-type-utils/texture-formats.js";
3
4
  /** Properties for a CanvasContext */
4
5
  export type CanvasContextProps = {
5
6
  /** If canvas not supplied, will be created and added to the DOM. If string, will be looked up in the DOM */
@@ -36,6 +37,10 @@ export declare abstract class CanvasContext {
36
37
  readonly htmlCanvas?: HTMLCanvasElement;
37
38
  readonly offscreenCanvas?: OffscreenCanvas;
38
39
  readonly type: 'html-canvas' | 'offscreen-canvas' | 'node';
40
+ /** Format of returned textures: "bgra8unorm", "rgba8unorm" */
41
+ abstract readonly format: TextureFormat;
42
+ /** Default stencil format for depth textures */
43
+ abstract readonly depthStencilFormat: TextureFormat;
39
44
  width: number;
40
45
  height: number;
41
46
  readonly resizeObserver: ResizeObserver | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-context.d.ts","sourceRoot":"","sources":["../../src/adapter/canvas-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas-context.d.ts","sourceRoot":"","sources":["../../src/adapter/canvas-context.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { StatsManager } from "../utils/stats-manager.js";
2
- import type { TextureFormat } from "./types/texture-formats.js";
2
+ import type { TextureFormat } from "../gpu-type-utils//texture-formats.js";
3
3
  import type { CanvasContext, CanvasContextProps } from "./canvas-context.js";
4
4
  import type { BufferProps } from "./resources/buffer.js";
5
5
  import { Buffer } from "./resources/buffer.js";
@@ -7,7 +7,7 @@ import type { RenderPipeline, RenderPipelineProps } from "./resources/render-pip
7
7
  import type { ComputePipeline, ComputePipelineProps } from "./resources/compute-pipeline.js";
8
8
  import type { Sampler, SamplerProps } from "./resources/sampler.js";
9
9
  import type { Shader, ShaderProps } from "./resources/shader.js";
10
- import type { Texture, TextureProps, TextureData } from "./resources/texture.js";
10
+ import type { Texture, TextureProps } from "./resources/texture.js";
11
11
  import type { ExternalTexture, ExternalTextureProps } from "./resources/external-texture.js";
12
12
  import type { Framebuffer, FramebufferProps } from "./resources/framebuffer.js";
13
13
  import type { RenderPass, RenderPassProps } from "./resources/render-pass.js";
@@ -105,7 +105,7 @@ export declare abstract class DeviceLimits {
105
105
  export declare class DeviceFeatures {
106
106
  protected features: Set<DeviceFeature>;
107
107
  protected disabledFeatures?: Partial<Record<DeviceFeature, boolean>>;
108
- constructor(features: DeviceFeature[], disabledFeatures: Partial<Record<DeviceFeature, boolean>>);
108
+ constructor(features: DeviceFeature[] | undefined, disabledFeatures: Partial<Record<DeviceFeature, boolean>>);
109
109
  [Symbol.iterator](): IterableIterator<DeviceFeature>;
110
110
  has(feature: DeviceFeature): boolean;
111
111
  }
@@ -125,19 +125,21 @@ export type DeviceProps = {
125
125
  requestMaxLimits?: boolean;
126
126
  /** Error handling */
127
127
  onError?: (error: Error) => unknown;
128
+ gl?: WebGL2RenderingContext | null;
128
129
  /** WebGL: Instrument WebGL2RenderingContext (at the expense of performance) */
129
130
  debug?: boolean;
130
131
  /** Break on WebGL functions matching these strings */
131
132
  break?: string[];
132
133
  /** WebGL: Initialize the SpectorJS WebGL debugger */
133
134
  spector?: boolean;
135
+ /** Set to false to disable WebGL state management instrumentation: TODO- Unclear if still supported / useful */
136
+ manageState?: boolean;
134
137
  /** Initialize all features on startup */
135
138
  initalizeFeatures?: boolean;
136
139
  /** Disable specific features */
137
140
  disabledFeatures?: Partial<Record<DeviceFeature, boolean>>;
138
- /** TODO- Unclear if still supported: Set to false to disable WebGL state management instrumentation */
139
- manageState?: boolean;
140
- gl?: WebGL2RenderingContext | null;
141
+ /** Never destroy cached shaders and pipelines */
142
+ _factoryDestroyPolicy?: 'unused' | 'never';
141
143
  };
142
144
  /**
143
145
  * WebGPU Device/WebGL context abstraction
@@ -191,6 +193,8 @@ export declare abstract class Device {
191
193
  * @note primarily intended for testing how application reacts to device loss
192
194
  */
193
195
  loseDevice(): boolean;
196
+ /** Report error (normally for unhandled device errors) */
197
+ error(error: Error): void;
194
198
  /** Default / primary canvas context. Can be null as WebGPU devices can be created without a CanvasContext */
195
199
  abstract canvasContext: CanvasContext | null;
196
200
  /** Returns the default / primary canvas context. Throws an error if no canvas context is available (a WebGPU compute device) */
@@ -204,8 +208,6 @@ export declare abstract class Device {
204
208
  /** Create a texture */
205
209
  abstract _createTexture(props: TextureProps): Texture;
206
210
  createTexture(props: TextureProps): Texture;
207
- createTexture(data: Promise<TextureData>): Texture;
208
- createTexture(url: string): Texture;
209
211
  /** Create a temporary texture view of a video source */
210
212
  abstract createExternalTexture(props: ExternalTextureProps): ExternalTexture;
211
213
  /** Create a sampler */
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/adapter/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/adapter/device.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@
4
4
  import { VERSION } from "../init.js";
5
5
  import { lumaStats } from "../utils/stats-manager.js";
6
6
  import { log } from "../utils/log.js";
7
- import { uid } from "../utils/utils.js";
7
+ import { uid } from "../utils/uid.js";
8
8
  import { Buffer } from "./resources/buffer.js";
9
- import { isTextureFormatCompressed } from "./type-utils/decode-texture-format.js";
9
+ import { isTextureFormatCompressed } from "../gpu-type-utils/decode-texture-format.js";
10
10
  /** Limits for a device (max supported sizes of resources, max number of bindings etc) */
11
11
  export class DeviceLimits {
12
12
  }
@@ -22,7 +22,7 @@ export class DeviceFeatures {
22
22
  yield* this.features;
23
23
  }
24
24
  has(feature) {
25
- return !this.disabledFeatures[feature] && this.features.has(feature);
25
+ return !this.disabledFeatures?.[feature] && this.features.has(feature);
26
26
  }
27
27
  }
28
28
  /**
@@ -37,14 +37,9 @@ export class Device {
37
37
  width: 800, // width are height are only used by headless gl
38
38
  height: 600,
39
39
  requestMaxLimits: true,
40
- debug: Boolean(log.get('debug')), // Instrument context (at the expense of performance)
41
- spector: Boolean(log.get('spector')), // Initialize the SpectorJS WebGL debugger
42
- break: [],
43
- // TODO - Change these after confirming things work as expected
44
- initalizeFeatures: true,
45
- disabledFeatures: {
46
- 'compilation-status-async-webgl': true
47
- },
40
+ // Callbacks
41
+ onError: (error) => log.error(error.message),
42
+ gl: null,
48
43
  // alpha: undefined,
49
44
  // depth: undefined,
50
45
  // stencil: undefined,
@@ -52,9 +47,15 @@ export class Device {
52
47
  // premultipliedAlpha: undefined,
53
48
  // preserveDrawingBuffer: undefined,
54
49
  // failIfMajorPerformanceCaveat: undefined
55
- gl: null,
56
- // Callbacks
57
- onError: (error) => log.error(error.message)
50
+ debug: Boolean(log.get('debug')), // Instrument context (at the expense of performance)
51
+ spector: Boolean(log.get('spector')), // Initialize the SpectorJS WebGL debugger
52
+ break: log.get('break') || [],
53
+ // TODO - Change these after confirming things work as expected
54
+ initalizeFeatures: true,
55
+ disabledFeatures: {
56
+ 'compilation-status-async-webgl': true
57
+ },
58
+ _factoryDestroyPolicy: 'unused'
58
59
  };
59
60
  get [Symbol.toStringTag]() {
60
61
  return 'Device';
@@ -86,6 +87,10 @@ export class Device {
86
87
  loseDevice() {
87
88
  return false;
88
89
  }
90
+ /** Report error (normally for unhandled device errors) */
91
+ error(error) {
92
+ this.props.onError(error);
93
+ }
89
94
  /** Returns the default / primary canvas context. Throws an error if no canvas context is available (a WebGPU compute device) */
90
95
  getCanvasContext() {
91
96
  if (!this.canvasContext) {
@@ -93,11 +98,8 @@ export class Device {
93
98
  }
94
99
  return this.canvasContext;
95
100
  }
101
+ // createTexture(data: Promise<TextureData>): Texture;
96
102
  createTexture(props) {
97
- // Signature: new Texture2D(gl, url | Promise)
98
- if (props instanceof Promise || typeof props === 'string') {
99
- props = { data: props };
100
- }
101
103
  return this._createTexture(props);
102
104
  }
103
105
  createCommandEncoder(props = {}) {
@@ -1,6 +1,6 @@
1
1
  import type { Log } from '@probe.gl/log';
2
- import type { DeviceProps } from "../adapter/device.js";
3
- import { Device } from "../adapter/device.js";
2
+ import type { DeviceProps } from "./device.js";
3
+ import { Device } from "./device.js";
4
4
  import { StatsManager } from "../utils/stats-manager.js";
5
5
  /** Properties for creating a new device */
6
6
  export type CreateDeviceProps = DeviceProps & {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"luma.d.ts","sourceRoot":"","sources":["../../src/adapter/luma.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,EAAC,WAAW,EAAC,oBAAiB;AAC1C,OAAO,EAAC,MAAM,EAAC,oBAAiB;AAChC,OAAO,EAAC,YAAY,EAAC,kCAA+B;AAMpD,2CAA2C;AAC3C,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAC5C,yFAAyF;IACzF,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,gBAAgB,CAAC;IACzD,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;CACjB,CAAC;AAEF,+FAA+F;AAC/F,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAC5C,wDAAwD;IACxD,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,IAAI;IACf,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAI9C;IAEF,mCAAmC;IACnC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAa;IAEvC,iBAAiB;IACjB,MAAM,CAAC,GAAG,EAAE,GAAG,CAAO;IAEtB,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,EAAE,GAAyB,IAAI;IAMxE,MAAM,CAAC,mBAAmB,IAAI,MAAM,EAAE;IAKtC,MAAM,CAAC,mBAAmB,IAAI,MAAM,EAAE;IAUtC,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAI5D,kFAAkF;WACrE,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCpE,wCAAwC;WAC3B,YAAY,CAAC,KAAK,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;IAgDzE,MAAM,CAAC,aAAa,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;CAsBpD"}
@@ -1,10 +1,9 @@
1
1
  // luma.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { Device } from "../adapter/device.js";
4
+ import { Device } from "./device.js";
5
5
  import { lumaStats } from "../utils/stats-manager.js";
6
6
  import { log } from "../utils/log.js";
7
- import { assert } from "../utils/assert.js";
8
7
  const deviceMap = new Map();
9
8
  /**
10
9
  * Entry point to the luma.gl GPU abstraction
@@ -23,7 +22,6 @@ export class luma {
23
22
  static log = log;
24
23
  static registerDevices(deviceClasses /* : typeof Device */) {
25
24
  for (const deviceClass of deviceClasses) {
26
- assert(deviceClass.type && deviceClass.isSupported && deviceClass.create);
27
25
  deviceMap.set(deviceClass.type, deviceClass);
28
26
  }
29
27
  }
@@ -39,7 +37,7 @@ export class luma {
39
37
  .map(Device => Device.type));
40
38
  }
41
39
  static setDefaultDeviceProps(props) {
42
- Object.assign(Device.defaultProps, props);
40
+ Object.assign(luma.defaultProps, props);
43
41
  }
44
42
  /** Attach to an existing GPU API handle (WebGL2RenderingContext or GPUDevice). */
45
43
  static async attachDevice(props) {
@@ -69,20 +67,22 @@ export class luma {
69
67
  }
70
68
  /** Creates a device. Asynchronously. */
71
69
  static async createDevice(props = {}) {
72
- props = { ...Device.defaultProps, ...props };
70
+ props = { ...luma.defaultProps, ...props };
73
71
  if (props.gl) {
74
72
  props.type = 'webgl';
75
73
  }
76
74
  const devices = getDeviceMap(props.devices) || deviceMap;
75
+ let WebGPUDevice;
76
+ let WebGLDevice;
77
77
  switch (props.type) {
78
78
  case 'webgpu':
79
- let WebGPUDevice = devices.get('webgpu');
79
+ WebGPUDevice = devices.get('webgpu');
80
80
  if (WebGPUDevice) {
81
81
  return await WebGPUDevice.create(props);
82
82
  }
83
83
  break;
84
84
  case 'webgl':
85
- let WebGLDevice = devices.get('webgl');
85
+ WebGLDevice = devices.get('webgl');
86
86
  if (WebGLDevice) {
87
87
  return await WebGLDevice.create(props);
88
88
  }
@@ -65,16 +65,16 @@ export class Buffer extends Resource {
65
65
  debugData = new ArrayBuffer(0);
66
66
  /** This doesn't handle partial non-zero offset updates correctly */
67
67
  _setDebugData(data, byteOffset, byteLength) {
68
- const buffer = ArrayBuffer.isView(data) ? data.buffer : data;
68
+ const arrayBuffer = ArrayBuffer.isView(data) ? data.buffer : data;
69
69
  const debugDataLength = Math.min(data ? data.byteLength : byteLength, Buffer.DEBUG_DATA_MAX_LENGTH);
70
- if (data === null) {
70
+ if (arrayBuffer === null) {
71
71
  this.debugData = new ArrayBuffer(debugDataLength);
72
72
  }
73
- else if (byteOffset === 0 && byteLength === data.byteLength) {
74
- this.debugData = buffer.slice(0, debugDataLength);
73
+ else if (byteOffset === 0 && byteLength === arrayBuffer.byteLength) {
74
+ this.debugData = arrayBuffer.slice(0, debugDataLength);
75
75
  }
76
76
  else {
77
- this.debugData = buffer.slice(byteOffset, byteOffset + debugDataLength);
77
+ this.debugData = arrayBuffer.slice(byteOffset, byteOffset + debugDataLength);
78
78
  }
79
79
  }
80
80
  }
@@ -23,6 +23,8 @@ export declare abstract class ComputePipeline extends Resource<ComputePipelinePr
23
23
  static defaultProps: Required<ComputePipelineProps>;
24
24
  get [Symbol.toStringTag](): string;
25
25
  hash: string;
26
+ /** The merged shader layout */
27
+ shaderLayout: ComputeShaderLayout;
26
28
  constructor(device: Device, props: ComputePipelineProps);
27
29
  /**
28
30
  * @todo Use renderpass.setBindings() ?
@@ -1 +1 @@
1
- {"version":3,"file":"compute-pipeline.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/compute-pipeline.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,sBAAmB;AACnD,OAAO,KAAK,EAAC,mBAAmB,EAAE,OAAO,EAAC,kCAA+B;AACzE,OAAO,KAAK,EAAC,MAAM,EAAC,qBAAkB;AACtC,OAAO,KAAK,EAAC,MAAM,EAAC,oBAAiB;AAErC;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iHAAiH;IACjH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,+EAA+E;IAC/E,YAAY,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,8BAAsB,eAAgB,SAAQ,QAAQ,CAAC,oBAAoB,CAAC;IAC1E,OAAgB,YAAY,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAM1D;IAEF,IAAa,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAE1C;IAED,IAAI,EAAE,MAAM,CAAM;gBAEN,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB;IAIvD;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAC9D"}
1
+ {"version":3,"file":"compute-pipeline.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/compute-pipeline.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,sBAAmB;AACnD,OAAO,KAAK,EAAC,mBAAmB,EAAE,OAAO,EAAC,kCAA+B;AACzE,OAAO,KAAK,EAAC,MAAM,EAAC,qBAAkB;AACtC,OAAO,KAAK,EAAC,MAAM,EAAC,oBAAiB;AAErC;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iHAAiH;IACjH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,+EAA+E;IAC/E,YAAY,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,8BAAsB,eAAgB,SAAQ,QAAQ,CAAC,oBAAoB,CAAC;IAC1E,OAAgB,YAAY,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAM1D;IAEF,IAAa,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAE1C;IAED,IAAI,EAAE,MAAM,CAAM;IAClB,+BAA+B;IAC/B,YAAY,EAAE,mBAAmB,CAAC;gBAEtB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB;IAKvD;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAC9D"}
@@ -17,7 +17,10 @@ export class ComputePipeline extends Resource {
17
17
  return 'ComputePipeline';
18
18
  }
19
19
  hash = '';
20
+ /** The merged shader layout */
21
+ shaderLayout;
20
22
  constructor(device, props) {
21
23
  super(device, props, ComputePipeline.defaultProps);
24
+ this.shaderLayout = props.shaderLayout;
22
25
  }
23
26
  }
@@ -1,7 +1,7 @@
1
1
  import type { Device } from "../device.js";
2
2
  import { Resource, ResourceProps } from "./resource.js";
3
3
  export type ExternalTextureProps = ResourceProps & {
4
- source: HTMLVideoElement | null;
4
+ source: HTMLVideoElement;
5
5
  colorSpace?: 'srgb';
6
6
  };
7
7
  export declare abstract class ExternalTexture extends Resource<ExternalTextureProps> {
@@ -1 +1 @@
1
- {"version":3,"file":"external-texture.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/external-texture.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,qBAAkB;AACtC,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,sBAAmB;AAEnD,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,8BAAsB,eAAgB,SAAQ,QAAQ,CAAC,oBAAoB,CAAC;IAC1E,OAAgB,YAAY,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAI1D;IAEF,IAAa,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAE1C;gBAEW,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB;CAGxD"}
1
+ {"version":3,"file":"external-texture.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/external-texture.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,qBAAkB;AACtC,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,sBAAmB;AAEnD,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,8BAAsB,eAAgB,SAAQ,QAAQ,CAAC,oBAAoB,CAAC;IAC1E,OAAgB,YAAY,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAI1D;IAEF,IAAa,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAE1C;gBAEW,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB;CAGxD"}
@@ -5,7 +5,7 @@ import { Resource } from "./resource.js";
5
5
  export class ExternalTexture extends Resource {
6
6
  static defaultProps = {
7
7
  ...Resource.defaultProps,
8
- source: null,
8
+ source: undefined,
9
9
  colorSpace: 'srgb'
10
10
  };
11
11
  get [Symbol.toStringTag]() {
@@ -1,4 +1,4 @@
1
- import type { ColorTextureFormat, DepthStencilTextureFormat, TextureFormat } from "../types/texture-formats.js";
1
+ import type { ColorTextureFormat, DepthStencilTextureFormat, TextureFormat } from "../../gpu-type-utils/texture-formats.js";
2
2
  import type { Device } from "../device.js";
3
3
  import { Resource, ResourceProps } from "./resource.js";
4
4
  import { Texture } from "./texture.js";
@@ -21,9 +21,9 @@ export declare abstract class Framebuffer extends Resource<FramebufferProps> {
21
21
  /** Height of all attachments in this framebuffer */
22
22
  height: number;
23
23
  /** Color attachments */
24
- colorAttachments: TextureView[];
24
+ abstract colorAttachments: TextureView[];
25
25
  /** Depth-stencil attachment, if provided */
26
- depthStencilAttachment: TextureView | null;
26
+ abstract depthStencilAttachment: TextureView | null;
27
27
  constructor(device: Device, props?: FramebufferProps);
28
28
  /**
29
29
  * Resizes all attachments
@@ -1 +1 @@
1
- {"version":3,"file":"framebuffer.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/framebuffer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,aAAa,EACd,oCAAiC;AAClC,OAAO,KAAK,EAAC,MAAM,EAAC,qBAAkB;AACtC,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,sBAAmB;AACnD,OAAO,EAAC,OAAO,EAAC,qBAAkB;AAClC,OAAO,EAAC,WAAW,EAAC,0BAAuB;AAG3C,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,CAAC,WAAW,GAAG,OAAO,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAClE,sBAAsB,CAAC,EAAE,CAAC,WAAW,GAAG,OAAO,GAAG,yBAAyB,CAAC,GAAG,IAAI,CAAC;CACrF,CAAC;AAEF;;;GAGG;AACH,8BAAsB,WAAY,SAAQ,QAAQ,CAAC,gBAAgB,CAAC;IAClE,OAAgB,YAAY,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAMtD;IAEF,IAAa,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAE1C;IAED,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,gBAAgB,EAAE,WAAW,EAAE,CAAM;IACrC,4CAA4C;IAC5C,sBAAsB,EAAE,WAAW,GAAG,IAAI,CAAQ;gBAEtC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,gBAAqB;IASxD;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI;IACnD,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IACnD,MAAM,IAAI,IAAI;IAed,gCAAgC;IAChC,SAAS,CAAC,4BAA4B,IAAI,IAAI;IA+B9C,6BAA6B;IAC7B,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAU5D,mCAAmC;IACnC,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAUnE;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAyBjE"}
1
+ {"version":3,"file":"framebuffer.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/framebuffer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,aAAa,EACd,gDAA6C;AAC9C,OAAO,KAAK,EAAC,MAAM,EAAC,qBAAkB;AACtC,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,sBAAmB;AACnD,OAAO,EAAC,OAAO,EAAC,qBAAkB;AAClC,OAAO,EAAC,WAAW,EAAC,0BAAuB;AAG3C,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,CAAC,WAAW,GAAG,OAAO,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAClE,sBAAsB,CAAC,EAAE,CAAC,WAAW,GAAG,OAAO,GAAG,yBAAyB,CAAC,GAAG,IAAI,CAAC;CACrF,CAAC;AAEF;;;GAGG;AACH,8BAAsB,WAAY,SAAQ,QAAQ,CAAC,gBAAgB,CAAC;IAClE,OAAgB,YAAY,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAMtD;IAEF,IAAa,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAE1C;IAED,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,QAAQ,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;IACzC,4CAA4C;IAC5C,QAAQ,CAAC,sBAAsB,EAAE,WAAW,GAAG,IAAI,CAAC;gBAExC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,gBAAqB;IAMxD;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI;IACnD,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IACnD,MAAM,IAAI,IAAI;IAed,gCAAgC;IAChC,SAAS,CAAC,4BAA4B,IAAI,IAAI;IA+B9C,6BAA6B;IAC7B,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAU5D,mCAAmC;IACnC,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAUnE;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAyBjE"}
@@ -23,16 +23,10 @@ export class Framebuffer extends Resource {
23
23
  width;
24
24
  /** Height of all attachments in this framebuffer */
25
25
  height;
26
- /** Color attachments */
27
- colorAttachments = [];
28
- /** Depth-stencil attachment, if provided */
29
- depthStencilAttachment = null;
30
26
  constructor(device, props = {}) {
31
27
  super(device, props, Framebuffer.defaultProps);
32
28
  this.width = this.props.width;
33
29
  this.height = this.props.height;
34
- // NOTE: call from subclass constructor as we cannot call overridden methods here (subclass not yet constructed)
35
- // this.autoCreateAttachmentTextures();
36
30
  }
37
31
  resize(size) {
38
32
  let updateSize = !size;
@@ -107,7 +101,7 @@ export class Framebuffer extends Resource {
107
101
  for (let i = 0; i < this.colorAttachments.length; ++i) {
108
102
  if (this.colorAttachments[i]) {
109
103
  const resizedTexture = this.device._createTexture({
110
- ...this.colorAttachments[i].props,
104
+ ...this.colorAttachments[i].texture.props,
111
105
  width,
112
106
  height
113
107
  });
@@ -118,7 +112,7 @@ export class Framebuffer extends Resource {
118
112
  }
119
113
  if (this.depthStencilAttachment) {
120
114
  const resizedTexture = this.device._createTexture({
121
- ...this.depthStencilAttachment.props,
115
+ ...this.depthStencilAttachment.texture.props,
122
116
  width,
123
117
  height
124
118
  });
@@ -128,78 +122,3 @@ export class Framebuffer extends Resource {
128
122
  }
129
123
  }
130
124
  }
131
- // TODO - remove if not needed
132
- // Create a color attachment for WebGL *
133
- // protected override createColorTexture(colorAttachment: Required<ColorAttachment>): Required<ColorAttachment> {
134
- // return this.device._createTexture({
135
- // id: `${this.id}-color`,
136
- // data: null, // reserves texture memory, but texels are undefined
137
- // format,
138
- // // type: GL.UNSIGNED_BYTE,
139
- // width: this.width,
140
- // height: this.height,
141
- // // Note: Mipmapping can be disabled by texture resource when we resize the texture
142
- // // to a non-power-of-two dimenstion (NPOT texture) under WebGL1. To have consistant
143
- // // behavior we always disable mipmaps.
144
- // mipmaps: false,
145
- // // Set MIN and MAG filtering parameters so mipmaps are not used in sampling.
146
- // // Use LINEAR so subpixel algos like fxaa work.
147
- // // Set WRAP modes that support NPOT textures too.
148
- // sampler: {
149
- // minFilter: 'linear',
150
- // magFilter: 'linear',
151
- // addressModeU: 'clamp-to-edge',
152
- // addressModeV: 'clamp-to-edge'
153
- // }
154
- // // parameters: {
155
- // // [GL.TEXTURE_MIN_FILTER]: GL.LINEAR,
156
- // // [GL.TEXTURE_MAG_FILTER]: GL.LINEAR,
157
- // // [GL.TEXTURE_WRAP_S]: GL.CLAMP_TO_EDGE,
158
- // // [GL.TEXTURE_WRAP_T]: GL.CLAMP_TO_EDGE
159
- // // }
160
- // });
161
- // }
162
- // /** Returns fully populated attachment object. */
163
- // protected normalizeColorAttachment(
164
- // attachment: Texture | ColorTextureFormat
165
- // ): Required<ColorAttachment> {
166
- // const COLOR_ATTACHMENT_DEFAULTS: Required<ColorAttachment> = {
167
- // texture: undefined!,
168
- // format: undefined!,
169
- // clearValue: [0.0, 0.0, 0.0, 0.0],
170
- // loadOp: 'clear',
171
- // storeOp: 'store'
172
- // };
173
- // if (attachment instanceof Texture) {
174
- // return {...COLOR_ATTACHMENT_DEFAULTS, texture: attachment};
175
- // }
176
- // if (typeof attachment === 'string') {
177
- // return {...COLOR_ATTACHMENT_DEFAULTS, format: attachment};
178
- // }
179
- // return {...COLOR_ATTACHMENT_DEFAULTS, ...attachment};
180
- // }
181
- // /** Wraps texture inside fully populated attachment object. */
182
- // protected normalizeDepthStencilAttachment(
183
- // attachment: DepthStencilAttachment | Texture | DepthStencilTextureFormat
184
- // ): Required<DepthStencilAttachment> {
185
- // const DEPTH_STENCIL_ATTACHMENT_DEFAULTS: Required<DepthStencilAttachment> = {
186
- // texture: undefined!,
187
- // format: undefined!,
188
- // depthClearValue: 1.0,
189
- // depthLoadOp: 'clear',
190
- // depthStoreOp: 'store',
191
- // depthReadOnly: false,
192
- // stencilClearValue: 0,
193
- // stencilLoadOp: 'clear',
194
- // stencilStoreOp: 'store',
195
- // stencilReadOnly: false
196
- // };
197
- // if (typeof attachment === 'string') {
198
- // return {...DEPTH_STENCIL_ATTACHMENT_DEFAULTS, format: attachment};
199
- // }
200
- // // @ts-expect-error attachment instanceof Texture doesn't cover Renderbuffer
201
- // if (attachment.handle || attachment instanceof Texture) {
202
- // return {...DEPTH_STENCIL_ATTACHMENT_DEFAULTS, texture: attachment as Texture};
203
- // }
204
- // return {...DEPTH_STENCIL_ATTACHMENT_DEFAULTS, ...attachment};
205
- // }
@@ -14,6 +14,8 @@ export type RenderPassProps = ResourceProps & {
14
14
  parameters?: RenderPassParameters;
15
15
  /** Clear value for color attachment, or `load` to preserve the previous value */
16
16
  clearColor?: NumberArray | false;
17
+ /** Whether to disable / discard the output of the rasterizer */
18
+ discard?: boolean;
17
19
  /** Clear value for depth attachment, or `load` to preserve the previous value */
18
20
  clearDepth?: number | false;
19
21
  /** Clear value for stencil attachment, or `load` to preserve the previous value */
@@ -22,8 +24,6 @@ export type RenderPassProps = ResourceProps & {
22
24
  depthReadOnly?: boolean;
23
25
  /** Indicates that the stencil component is read only. */
24
26
  stencilReadOnly?: boolean;
25
- /** Whether to disable / discard the output of the rasterizer */
26
- discard?: boolean;
27
27
  /** QuerySet to write begin/end timestamps to */
28
28
  occlusionQuerySet?: QuerySet;
29
29
  /** QuerySet to write begin/end timestamps to */
@@ -1 +1 @@
1
- {"version":3,"file":"render-pass.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/render-pass.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,qBAAkB;AACtC,OAAO,KAAK,EAAC,oBAAoB,EAAC,+BAA4B;AAE9D,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,sBAAmB;AACnD,OAAO,EAAC,WAAW,EAAC,yBAAsB;AAC1C,OAAO,EAAC,WAAW,EAAC,uBAAoB;AACxC,OAAO,EAAC,QAAQ,EAAC,uBAAoB;AAErC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,yGAAyG;IACzG,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,qEAAqE;IACrE,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,iFAAiF;IACjF,UAAU,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IACjC,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5B,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9B,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,2FAA2F;IAC3F,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yFAAyF;IACzF,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;GAOG;AACH,8BAAsB,UAAW,SAAQ,QAAQ,CAAC,eAAe,CAAC;IAChE,wCAAwC;IACxC,OAAgB,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAerD;IAEF,IAAa,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAE1C;gBAEW,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe;IAIlD,gDAAgD;IAChD,QAAQ,CAAC,GAAG,IAAI,IAAI;IAEpB,wGAAwG;IACxG,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI;IAI9D,gIAAgI;IAChI,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IACtD,2FAA2F;IAC3F,QAAQ,CAAC,iBAAiB,IAAI,IAAI;IAElC,kEAAkE;IAClE,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IACjD,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,IAAI,IAAI;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CActD"}
1
+ {"version":3,"file":"render-pass.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/render-pass.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,qBAAkB;AACtC,OAAO,KAAK,EAAC,oBAAoB,EAAC,+BAA4B;AAE9D,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,sBAAmB;AACnD,OAAO,EAAC,WAAW,EAAC,yBAAsB;AAC1C,OAAO,EAAC,WAAW,EAAC,uBAAoB;AACxC,OAAO,EAAC,QAAQ,EAAC,uBAAoB;AAErC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,yGAAyG;IACzG,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,qEAAqE;IACrE,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAIlC,iFAAiF;IACjF,UAAU,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IACjC,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5B,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9B,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,2FAA2F;IAC3F,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yFAAyF;IACzF,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;GAOG;AACH,8BAAsB,UAAW,SAAQ,QAAQ,CAAC,eAAe,CAAC;IAChE,wCAAwC;IACxC,OAAgB,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAerD;IAEF,IAAa,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAE1C;gBAEW,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe;IAIlD,gDAAgD;IAChD,QAAQ,CAAC,GAAG,IAAI,IAAI;IAEpB,wGAAwG;IACxG,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI;IAI9D,gIAAgI;IAChI,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IACtD,2FAA2F;IAC3F,QAAQ,CAAC,iBAAiB,IAAI,IAAI;IAElC,kEAAkE;IAClE,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IACjD,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,IAAI,IAAI;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CActD"}
@@ -1,5 +1,5 @@
1
1
  import type { Device } from "../device.js";
2
- import type { UniformValue } from "../types/types.js";
2
+ import type { UniformValue } from "../types/uniforms.js";
3
3
  import type { PrimitiveTopology, RenderPipelineParameters } from "../types/parameters.js";
4
4
  import type { ShaderLayout, Binding } from "../types/shader-layout.js";
5
5
  import type { BufferLayout } from "../types/buffer-layout.js";
@@ -23,10 +23,7 @@ export type RenderPipelineProps = ResourceProps & {
23
23
  fsConstants?: Record<string, number>;
24
24
  /** Describes the attributes and bindings exposed by the pipeline shader(s). */
25
25
  shaderLayout?: ShaderLayout | null;
26
- /**
27
- * Describes the buffers accepted by this pipeline and how they are mapped to shader attributes.
28
- * A default mapping of one buffer per attribute is always created.
29
- */
26
+ /** Describes the buffers accepted by this pipeline and how they are mapped to shader attributes. */
30
27
  bufferLayout?: BufferLayout[];
31
28
  /** Determines how vertices are read from the 'vertex' attributes */
32
29
  topology?: PrimitiveTopology;
@@ -1 +1 @@
1
- {"version":3,"file":"render-pipeline.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/render-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-pipeline.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/render-pipeline.ts"],"names":[],"mappings":"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"}
@@ -48,15 +48,15 @@ export declare abstract class Resource<Props extends ResourceProps> {
48
48
  * Attaches a resource. Attached resources are auto destroyed when this resource is destroyed
49
49
  * Called automatically when sub resources are auto created but can be called by application
50
50
  */
51
- attachResource(resource: Resource<unknown>): void;
51
+ attachResource(resource: Resource<ResourceProps>): void;
52
52
  /**
53
53
  * Detach an attached resource. The resource will no longer be auto-destroyed when this resource is destroyed.
54
54
  */
55
- detachResource(resource: Resource<unknown>): void;
55
+ detachResource(resource: Resource<ResourceProps>): void;
56
56
  /**
57
57
  * Destroys a resource (only if owned), and removes from the owned (auto-destroy) list for this resource.
58
58
  */
59
- destroyAttachedResource(resource: Resource<unknown>): void;
59
+ destroyAttachedResource(resource: Resource<ResourceProps>): void;
60
60
  /** Destroy all owned resources. Make sure the resources are no longer needed before calling. */
61
61
  destroyAttachedResources(): void;
62
62
  /** Perform all destroy steps. Can be called by derived resources when overriding destroy() */
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/resource.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,qBAAkB;AAGtC,MAAM,MAAM,aAAa,GAAG;IAC1B,sGAAsG;IACtG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,kDAAkD;IAClD,QAAQ,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,8BAAsB,QAAQ,CAAC,KAAK,SAAS,aAAa;IACxD,sCAAsC;IACtC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,CAI1C;IAEF,QAAQ,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC;IAE5C,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAChD,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,OAAO,CAAS;IAExB,+CAA+C;IAC/C,SAAS,EAAE,OAAO,CAAS;IAC3B,6CAA6C;IAC7C,OAAO,CAAC,cAAc,CAAa;IACnC,iHAAiH;IACjH,OAAO,CAAC,kBAAkB,CAAgC;IAE1D;;OAEG;gBACS,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC;IAgBvE;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf,gCAAgC;IAChC,MAAM,IAAI,IAAI;IAKd,QAAQ,IAAI,MAAM;IAIlB;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAMlB;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI;IAIjD;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI;IAIjD;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI;IAM1D,gGAAgG;IAChG,wBAAwB,IAAI,IAAI;IAUhC,8FAA8F;IAC9F,SAAS,CAAC,eAAe,IAAI,IAAI;IAMjC,mGAAmG;IACnG,SAAS,CAAC,WAAW,IAAI,IAAI;IAM7B,qDAAqD;IACrD,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,SAA2B,GAAG,IAAI;IAOpF,uDAAuD;IACvD,SAAS,CAAC,sBAAsB,CAAC,IAAI,SAA2B,GAAG,IAAI;IAOvE,8DAA8D;IAC9D,OAAO,CAAC,QAAQ;CAOjB"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/resource.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,qBAAkB;AAGtC,MAAM,MAAM,aAAa,GAAG;IAC1B,sGAAsG;IACtG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,kDAAkD;IAClD,QAAQ,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,8BAAsB,QAAQ,CAAC,KAAK,SAAS,aAAa;IACxD,sCAAsC;IACtC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,CAI1C;IAEF,QAAQ,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC;IAE5C,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAChD,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,OAAO,CAAS;IAExB,+CAA+C;IAC/C,SAAS,EAAE,OAAO,CAAS;IAC3B,6CAA6C;IAC7C,OAAO,CAAC,cAAc,CAAa;IACnC,iHAAiH;IACjH,OAAO,CAAC,kBAAkB,CAAsC;IAEhE;;OAEG;gBACS,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC;IAgBvE;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf,gCAAgC;IAChC,MAAM,IAAI,IAAI;IAKd,QAAQ,IAAI,MAAM;IAIlB;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAMlB;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;IAIvD;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;IAIvD;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;IAMhE,gGAAgG;IAChG,wBAAwB,IAAI,IAAI;IAUhC,8FAA8F;IAC9F,SAAS,CAAC,eAAe,IAAI,IAAI;IAMjC,mGAAmG;IACnG,SAAS,CAAC,WAAW,IAAI,IAAI;IAM7B,qDAAqD;IACrD,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,SAA2B,GAAG,IAAI;IAOpF,uDAAuD;IACvD,SAAS,CAAC,sBAAsB,CAAC,IAAI,SAA2B,GAAG,IAAI;IAOvE,8DAA8D;IAC9D,OAAO,CAAC,QAAQ;CAOjB"}
@@ -1,7 +1,7 @@
1
1
  // luma.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { uid } from "../../utils/utils.js";
4
+ import { uid } from "../../utils/uid.js";
5
5
  /**
6
6
  * Base class for GPU (WebGPU/WebGL) Resources
7
7
  */