@luma.gl/core 9.2.6 → 9.3.0-alpha.4

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 (86) hide show
  1. package/dist/adapter/canvas-context.d.ts +23 -3
  2. package/dist/adapter/canvas-context.d.ts.map +1 -1
  3. package/dist/adapter/canvas-context.js +77 -15
  4. package/dist/adapter/canvas-context.js.map +1 -1
  5. package/dist/adapter/device.d.ts +5 -5
  6. package/dist/adapter/device.d.ts.map +1 -1
  7. package/dist/adapter/device.js +12 -2
  8. package/dist/adapter/device.js.map +1 -1
  9. package/dist/adapter/luma.js +1 -1
  10. package/dist/adapter/luma.js.map +1 -1
  11. package/dist/adapter/resources/command-encoder.d.ts +5 -5
  12. package/dist/adapter/resources/command-encoder.d.ts.map +1 -1
  13. package/dist/adapter/resources/fence.d.ts +16 -0
  14. package/dist/adapter/resources/fence.d.ts.map +1 -0
  15. package/dist/adapter/resources/fence.js +15 -0
  16. package/dist/adapter/resources/fence.js.map +1 -0
  17. package/dist/adapter/resources/framebuffer.d.ts.map +1 -1
  18. package/dist/adapter/resources/framebuffer.js +15 -12
  19. package/dist/adapter/resources/framebuffer.js.map +1 -1
  20. package/dist/adapter/resources/resource.d.ts +5 -0
  21. package/dist/adapter/resources/resource.d.ts.map +1 -1
  22. package/dist/adapter/resources/resource.js +3 -0
  23. package/dist/adapter/resources/resource.js.map +1 -1
  24. package/dist/adapter/resources/shader.js +27 -25
  25. package/dist/adapter/resources/shader.js.map +1 -1
  26. package/dist/adapter/resources/texture.d.ts +97 -24
  27. package/dist/adapter/resources/texture.d.ts.map +1 -1
  28. package/dist/adapter/resources/texture.js +116 -10
  29. package/dist/adapter/resources/texture.js.map +1 -1
  30. package/dist/adapter-utils/format-compiler-log.d.ts.map +1 -1
  31. package/dist/adapter-utils/format-compiler-log.js +23 -15
  32. package/dist/adapter-utils/format-compiler-log.js.map +1 -1
  33. package/dist/dist.dev.js +695 -279
  34. package/dist/dist.min.js +10 -9
  35. package/dist/index.cjs +481 -161
  36. package/dist/index.cjs.map +4 -4
  37. package/dist/index.d.ts +6 -2
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +5 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/portable/uniform-buffer-layout.d.ts +13 -4
  42. package/dist/portable/uniform-buffer-layout.d.ts.map +1 -1
  43. package/dist/portable/uniform-buffer-layout.js +88 -55
  44. package/dist/portable/uniform-buffer-layout.js.map +1 -1
  45. package/dist/shadertypes/data-types/decode-data-types.d.ts.map +1 -1
  46. package/dist/shadertypes/data-types/decode-data-types.js +2 -1
  47. package/dist/shadertypes/data-types/decode-data-types.js.map +1 -1
  48. package/dist/shadertypes/data-types/shader-types.d.ts +5 -7
  49. package/dist/shadertypes/data-types/shader-types.d.ts.map +1 -1
  50. package/dist/shadertypes/textures/pixel-utils.js +4 -4
  51. package/dist/shadertypes/textures/pixel-utils.js.map +1 -1
  52. package/dist/shadertypes/textures/texture-format-decoder.d.ts +25 -8
  53. package/dist/shadertypes/textures/texture-format-decoder.d.ts.map +1 -1
  54. package/dist/shadertypes/textures/texture-format-decoder.js +60 -34
  55. package/dist/shadertypes/textures/texture-format-decoder.js.map +1 -1
  56. package/dist/shadertypes/textures/texture-formats.d.ts +43 -16
  57. package/dist/shadertypes/textures/texture-formats.d.ts.map +1 -1
  58. package/dist/shadertypes/textures/texture-formats.js.map +1 -1
  59. package/dist/shadertypes/textures/texture-layout.d.ts +5 -0
  60. package/dist/shadertypes/textures/texture-layout.d.ts.map +1 -0
  61. package/dist/shadertypes/textures/texture-layout.js +41 -0
  62. package/dist/shadertypes/textures/texture-layout.js.map +1 -0
  63. package/dist/utils/assert.d.ts +5 -0
  64. package/dist/utils/assert.d.ts.map +1 -0
  65. package/dist/utils/assert.js +17 -0
  66. package/dist/utils/assert.js.map +1 -0
  67. package/package.json +5 -5
  68. package/src/adapter/canvas-context.ts +87 -20
  69. package/src/adapter/device.ts +23 -5
  70. package/src/adapter/resources/command-buffer.ts +1 -1
  71. package/src/adapter/resources/command-encoder.ts +7 -7
  72. package/src/adapter/resources/fence.ts +30 -0
  73. package/src/adapter/resources/framebuffer.ts +15 -12
  74. package/src/adapter/resources/resource.ts +5 -0
  75. package/src/adapter/resources/shader.ts +28 -28
  76. package/src/adapter/resources/texture.ts +176 -28
  77. package/src/adapter-utils/format-compiler-log.ts +23 -15
  78. package/src/index.ts +12 -2
  79. package/src/portable/uniform-buffer-layout.ts +122 -63
  80. package/src/shadertypes/data-types/decode-data-types.ts +2 -1
  81. package/src/shadertypes/data-types/shader-types.ts +14 -7
  82. package/src/shadertypes/textures/pixel-utils.ts +4 -4
  83. package/src/shadertypes/textures/texture-format-decoder.ts +97 -42
  84. package/src/shadertypes/textures/texture-formats.ts +54 -15
  85. package/src/shadertypes/textures/texture-layout.ts +60 -0
  86. package/src/utils/assert.ts +18 -0
@@ -1 +1 @@
1
- {"version":3,"file":"command-encoder.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/command-encoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-encoder.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/command-encoder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Device } from "../device.js";
2
+ import { Resource, type ResourceProps } from "./resource.js";
3
+ export type FenceProps = ResourceProps;
4
+ /** Synchronization primitive that resolves when GPU work is completed */
5
+ export declare abstract class Fence extends Resource<FenceProps> {
6
+ static defaultProps: Required<FenceProps>;
7
+ [Symbol.toStringTag]: string;
8
+ /** Promise that resolves when the fence is signaled */
9
+ abstract readonly signaled: Promise<void>;
10
+ constructor(device: Device, props?: FenceProps);
11
+ /** Destroy the fence and release any resources */
12
+ abstract destroy(): void;
13
+ /** Check if the fence has been signaled */
14
+ abstract isSignaled(): boolean;
15
+ }
16
+ //# sourceMappingURL=fence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fence.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/fence.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,qBAAkB;AACtC,OAAO,EAAC,QAAQ,EAAE,KAAK,aAAa,EAAC,sBAAmB;AAExD,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC,yEAAyE;AACzE,8BAAsB,KAAM,SAAQ,QAAQ,CAAC,UAAU,CAAC;IACtD,OAAgB,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CAEhD;IAEF,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAgB;IAE5C,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE9B,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,UAAe;IAIlD,kDAAkD;aAChC,OAAO,IAAI,IAAI;IAEjC,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,IAAI,OAAO;CAC/B"}
@@ -0,0 +1,15 @@
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { Resource } from "./resource.js";
5
+ /** Synchronization primitive that resolves when GPU work is completed */
6
+ export class Fence extends Resource {
7
+ static defaultProps = {
8
+ ...Resource.defaultProps
9
+ };
10
+ [Symbol.toStringTag] = 'WEBGLFence';
11
+ constructor(device, props = {}) {
12
+ super(device, props, Fence.defaultProps);
13
+ }
14
+ }
15
+ //# sourceMappingURL=fence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fence.js","sourceRoot":"","sources":["../../../src/adapter/resources/fence.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,QAAQ,EAAqB,sBAAmB;AAIxD,yEAAyE;AACzE,MAAM,OAAgB,KAAM,SAAQ,QAAoB;IACtD,MAAM,CAAU,YAAY,GAAyB;QACnD,GAAG,QAAQ,CAAC,YAAY;KACzB,CAAC;IAEF,CAAC,MAAM,CAAC,WAAW,CAAC,GAAW,YAAY,CAAC;IAK5C,YAAY,MAAc,EAAE,QAAoB,EAAE;QAChD,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC"}
@@ -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,sDAAmD;AACpD,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,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,KAAK,CAAC,IAAI,CAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,WAAW;IAW1D;;;;OAIG;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,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAe3E,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;IA0BhE,iGAAiG;IACjG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI;IAE5C,OAAgB,YAAY,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAMtD;CACH"}
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,sDAAmD;AACpD,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,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,KAAK,CAAC,IAAI,CAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,WAAW;IAgB1D;;;;OAIG;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,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAe3E,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;IAwBhE,iGAAiG;IACjG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI;IAE5C,OAAgB,YAAY,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAMtD;CACH"}
@@ -28,7 +28,12 @@ export class Framebuffer extends Resource {
28
28
  clone(size) {
29
29
  const colorAttachments = this.colorAttachments.map(colorAttachment => colorAttachment.texture.clone(size));
30
30
  const depthStencilAttachment = this.depthStencilAttachment && this.depthStencilAttachment.texture.clone(size);
31
- return this.device.createFramebuffer({ ...this.props, colorAttachments, depthStencilAttachment });
31
+ return this.device.createFramebuffer({
32
+ ...this.props,
33
+ ...size,
34
+ colorAttachments,
35
+ depthStencilAttachment
36
+ });
32
37
  }
33
38
  resize(size) {
34
39
  let updateSize = !size;
@@ -105,17 +110,15 @@ export class Framebuffer extends Resource {
105
110
  * and destroys existing textures if owned
106
111
  */
107
112
  resizeAttachments(width, height) {
108
- for (let i = 0; i < this.colorAttachments.length; ++i) {
109
- if (this.colorAttachments[i]) {
110
- const resizedTexture = this.colorAttachments[i].texture.clone({
111
- width,
112
- height
113
- });
114
- this.destroyAttachedResource(this.colorAttachments[i]);
115
- this.colorAttachments[i] = resizedTexture.view;
116
- this.attachResource(resizedTexture.view);
117
- }
118
- }
113
+ this.colorAttachments.forEach((colorAttachment, i) => {
114
+ const resizedTexture = colorAttachment.texture.clone({
115
+ width,
116
+ height
117
+ });
118
+ this.destroyAttachedResource(colorAttachment);
119
+ this.colorAttachments[i] = resizedTexture.view;
120
+ this.attachResource(resizedTexture.view);
121
+ });
119
122
  if (this.depthStencilAttachment) {
120
123
  const resizedTexture = this.depthStencilAttachment.texture.clone({
121
124
  width,
@@ -1 +1 @@
1
- {"version":3,"file":"framebuffer.js","sourceRoot":"","sources":["../../../src/adapter/resources/framebuffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"framebuffer.js","sourceRoot":"","sources":["../../../src/adapter/resources/framebuffer.ts"],"names":[],"mappings":"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"}
@@ -19,10 +19,15 @@ export declare abstract class Resource<Props extends ResourceProps> {
19
19
  toString(): string;
20
20
  /** props.id, for debugging. */
21
21
  id: string;
22
+ /** The props that this resource was created with */
22
23
  readonly props: Required<Props>;
24
+ /** User data object, reserved for the application */
23
25
  readonly userData: Record<string, unknown>;
26
+ /** The device that this resource is associated with */
24
27
  abstract readonly device: Device;
28
+ /** The handle for the underlying resource, e.g. WebGL object or WebGPU handle */
25
29
  abstract readonly handle: unknown;
30
+ /** The device that this resource is associated with - TODO can we remove this dup? */
26
31
  private _device;
27
32
  /** Whether this resource has been destroyed */
28
33
  destroyed: boolean;
@@ -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,QAAQ,IAAI,MAAM;IAIlB,+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,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAClC,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;;;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
+ {"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,QAAQ,IAAI,MAAM;IAIlB,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAChD,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACjC,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAClC,sFAAsF;IACtF,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;;;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"}
@@ -17,8 +17,11 @@ export class Resource {
17
17
  }
18
18
  /** props.id, for debugging. */
19
19
  id;
20
+ /** The props that this resource was created with */
20
21
  props;
22
+ /** User data object, reserved for the application */
21
23
  userData = {};
24
+ /** The device that this resource is associated with - TODO can we remove this dup? */
22
25
  _device;
23
26
  /** Whether this resource has been destroyed */
24
27
  destroyed = false;
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/adapter/resources/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/adapter/resources/resource.ts"],"names":[],"mappings":"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"}
@@ -69,35 +69,37 @@ export class Shader extends Resource {
69
69
  }
70
70
  const shaderName = shaderId; // getShaderName(this.source) || ;
71
71
  const shaderTitle = `${this.stage} shader "${shaderName}"`;
72
- let htmlLog = formatCompilerLog(messages, this.source, { showSourceCode: 'all', html: true });
72
+ const htmlLog = formatCompilerLog(messages, this.source, { showSourceCode: 'all', html: true });
73
73
  // Show translated source if available
74
74
  const translatedSource = this.getTranslatedSource();
75
+ const container = document.createElement('div');
76
+ container.innerHTML = `\
77
+ <h1>Compilation error in ${shaderTitle}</h1>
78
+ <div style="display:flex;position:fixed;top:10px;right:20px;gap:2px;">
79
+ <button id="copy">Copy source</button><br/>
80
+ <button id="close">Close</button>
81
+ </div>
82
+ <code><pre>${htmlLog}</pre></code>`;
75
83
  if (translatedSource) {
76
- htmlLog += `<br /><br /><h1>Translated Source</h1><br /><br /><code style="user-select:text;"><pre>${translatedSource}</pre></code>`;
84
+ container.innerHTML += `<br /><h1>Translated Source</h1><br /><br /><code><pre>${translatedSource}</pre></code>`;
77
85
  }
78
- // Make it clickable so we can copy to clipboard
79
- const button = document.createElement('Button');
80
- button.innerHTML = `
81
- <h1>Compilation error in ${shaderTitle}</h1><br /><br />
82
- <code style="user-select:text;"><pre>
83
- ${htmlLog}
84
- </pre></code>`;
85
- button.style.top = '10px';
86
- button.style.left = '10px';
87
- button.style.position = 'absolute';
88
- button.style.zIndex = '9999';
89
- button.style.width = '100%';
90
- button.style.textAlign = 'left';
91
- document.body.appendChild(button);
92
- const errors = document.getElementsByClassName('luma-compiler-log-error');
93
- errors[0]?.scrollIntoView();
94
- // TODO - add a small embedded copy button (instead of main button)
95
- button.onclick = () => {
96
- // const source = this.source.replaceAll('\n', '<br />');
97
- const dataURI = `data:text/plain,${encodeURIComponent(this.source)}`;
98
- navigator.clipboard.writeText(dataURI);
86
+ container.style.top = '0';
87
+ container.style.left = '0';
88
+ container.style.background = 'white';
89
+ container.style.position = 'fixed';
90
+ container.style.zIndex = '9999';
91
+ container.style.maxWidth = '100vw';
92
+ container.style.maxHeight = '100vh';
93
+ container.style.overflowY = 'auto';
94
+ document.body.appendChild(container);
95
+ const error = container.querySelector('.luma-compiler-log-error');
96
+ error?.scrollIntoView();
97
+ container.querySelector('button#close').onclick = () => {
98
+ container.remove();
99
+ };
100
+ container.querySelector('button#copy').onclick = () => {
101
+ navigator.clipboard.writeText(this.source);
99
102
  };
100
- // TODO - add a small embedded close button
101
103
  }
102
104
  static defaultProps = {
103
105
  ...Resource.defaultProps,
@@ -118,6 +120,6 @@ function getShaderIdFromProps(props) {
118
120
  function getShaderName(shader, defaultName = 'unnamed') {
119
121
  const SHADER_NAME_REGEXP = /#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/;
120
122
  const match = SHADER_NAME_REGEXP.exec(shader);
121
- return match ? match[1] : defaultName;
123
+ return match?.[1] ?? defaultName;
122
124
  }
123
125
  //# sourceMappingURL=shader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shader.js","sourceRoot":"","sources":["../../../src/adapter/resources/shader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shader.js","sourceRoot":"","sources":["../../../src/adapter/resources/shader.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { TypedArray } from '@math.gl/types';
2
- import type { Device } from "../device.js";
3
- import type { TextureFormat } from "../../shadertypes/textures/texture-formats.js";
4
- import type { TextureView, TextureViewProps } from "./texture-view.js";
5
- import { Resource, ResourceProps } from "./resource.js";
6
- import { Sampler, SamplerProps } from "./sampler.js";
7
- import { ExternalImage } from "../../image-utils/image-types.js";
1
+ import { type TypedArray } from '@math.gl/types';
2
+ import { type Device } from "../device.js";
3
+ import { type TextureFormat, type TextureMemoryLayout } from "../../shadertypes/textures/texture-formats.js";
4
+ import { type ExternalImage } from "../../image-utils/image-types.js";
5
+ import { type TextureView, type TextureViewProps } from "./texture-view.js";
6
+ import { Resource, type ResourceProps } from "./resource.js";
7
+ import { Sampler, type SamplerProps } from "./sampler.js";
8
+ import { Buffer } from "./buffer.js";
8
9
  /** Options for Texture.copyExternalImage */
9
10
  export type CopyExternalImageOptions = {
10
11
  /** Image */
@@ -57,9 +58,29 @@ export type CopyImageDataOptions = {
57
58
  /** When copying into depth stencil textures (default 'all') */
58
59
  aspect?: 'all' | 'stencil-only' | 'depth-only';
59
60
  };
61
+ export type TextureReadOptions = {
62
+ x?: number;
63
+ y?: number;
64
+ z?: number;
65
+ width?: number;
66
+ height?: number;
67
+ depthOrArrayLayers?: number;
68
+ mipLevel?: number;
69
+ aspect?: 'all' | 'stencil-only' | 'depth-only';
70
+ };
71
+ export type TextureWriteOptions = {
72
+ x?: number;
73
+ y?: number;
74
+ z?: number;
75
+ width?: number;
76
+ height?: number;
77
+ depthOrArrayLayers?: number;
78
+ mipLevel?: number;
79
+ aspect?: 'all' | 'stencil-only' | 'depth-only';
80
+ };
60
81
  /** Texture properties */
61
82
  export type TextureProps = ResourceProps & {
62
- /** @deprecated Use AsyncTexture to create textures with data. */
83
+ /** @deprecated Use DynamicTexture to create textures with data. */
63
84
  data?: ExternalImage | TypedArray | null;
64
85
  /** Dimension of this texture. Defaults to '2d' */
65
86
  dimension?: '1d' | '2d' | '2d-array' | 'cube' | 'cube-array' | '3d';
@@ -109,23 +130,40 @@ export declare abstract class Texture extends Resource<TextureProps> {
109
130
  /** format of this texture */
110
131
  readonly format: TextureFormat;
111
132
  /** width in pixels of this texture */
112
- width: number;
133
+ readonly width: number;
113
134
  /** height in pixels of this texture */
114
- height: number;
135
+ readonly height: number;
115
136
  /** depth of this texture */
116
- depth: number;
137
+ readonly depth: number;
117
138
  /** mip levels in this texture */
118
- mipLevels: number;
139
+ readonly mipLevels: number;
140
+ /** Rows are multiples of this length, padded with extra bytes if needed */
141
+ readonly byteAlignment: number;
119
142
  /** Default sampler for this texture */
120
143
  abstract sampler: Sampler;
121
144
  /** Default view for this texture */
122
145
  abstract view: TextureView;
123
- /** "Time" of last update. Monotonically increasing timestamp. TODO move to AsyncTexture? */
146
+ /** The ready promise is always resolved. It is provided for type compatibility with DynamicTexture. */
147
+ readonly ready: Promise<Texture>;
148
+ /** isReady is always true. It is provided for type compatibility with DynamicTexture. */
149
+ readonly isReady: boolean;
150
+ /** "Time" of last update. Monotonically increasing timestamp. TODO move to DynamicTexture? */
124
151
  updateTimestamp: number;
125
152
  get [Symbol.toStringTag](): string;
126
153
  toString(): string;
127
154
  /** Do not use directly. Create with device.createTexture() */
128
- constructor(device: Device, props: TextureProps);
155
+ constructor(device: Device, props: TextureProps, backendProps?: {
156
+ byteAlignment?: number;
157
+ });
158
+ /**
159
+ * Create a new texture with the same parameters and optionally a different size
160
+ * @note Textures are immutable and cannot be resized after creation, but we can create a similar texture with the same parameters but a new size.
161
+ * @note Does not copy contents of the texture
162
+ */
163
+ clone(size?: {
164
+ width: number;
165
+ height: number;
166
+ }): Texture;
129
167
  /** Set sampler props associated with this texture */
130
168
  setSampler(sampler: Sampler | SamplerProps): void;
131
169
  /** Create a texture view for this texture */
@@ -137,27 +175,62 @@ export declare abstract class Texture extends Resource<TextureProps> {
137
175
  };
138
176
  /** Copy raw image data (bytes) into the texture */
139
177
  abstract copyImageData(options: CopyImageDataOptions): void;
140
- /** Generate mipmaps (WebGL only) */
141
- abstract generateMipmapsWebGL(): void;
142
178
  /**
143
- * Create a new texture with the same parameters and optionally a different size
144
- * @note Textures are immutable and cannot be resized after creation, but we can create a similar texture with the same parameters but a new size.
145
- * @note Does not copy contents of the texture
179
+ * Calculates the memory layout of the texture, required when reading and writing data.
180
+ * @return the memory layout of the texture, in particular bytesPerRow which includes required padding
146
181
  */
147
- clone(size?: {
148
- width: number;
149
- height: number;
150
- }): Texture;
182
+ computeMemoryLayout(options_?: TextureReadOptions): TextureMemoryLayout;
183
+ /**
184
+ * Read the contents of a texture into a GPU Buffer.
185
+ * @returns A Buffer containing the texture data.
186
+ *
187
+ * @note The memory layout of the texture data is determined by the texture format and dimensions.
188
+ * @note The application can call Texture.computeMemoryLayout() to compute the layout.
189
+ * @note The application can call Buffer.readAsync()
190
+ * @note If not supplied a buffer will be created and the application needs to call Buffer.destroy
191
+ */
192
+ readBuffer(options?: TextureReadOptions, buffer?: Buffer): Buffer;
193
+ /**
194
+ * Reads data from a texture into an ArrayBuffer.
195
+ * @returns An ArrayBuffer containing the texture data.
196
+ *
197
+ * @note The memory layout of the texture data is determined by the texture format and dimensions.
198
+ * @note The application can call Texture.computeMemoryLayout() to compute the layout.
199
+ */
200
+ readDataAsync(options?: TextureReadOptions): Promise<ArrayBuffer>;
201
+ /**
202
+ * Writes an GPU Buffer into a texture.
203
+ *
204
+ * @note The memory layout of the texture data is determined by the texture format and dimensions.
205
+ * @note The application can call Texture.computeMemoryLayout() to compute the layout.
206
+ */
207
+ writeBuffer(buffer: Buffer, options?: TextureWriteOptions): void;
208
+ /**
209
+ * Writes an array buffer into a texture.
210
+ *
211
+ * @note The memory layout of the texture data is determined by the texture format and dimensions.
212
+ * @note The application can call Texture.computeMemoryLayout() to compute the layout.
213
+ */
214
+ writeData(data: ArrayBuffer | ArrayBufferView, options?: TextureWriteOptions): void;
215
+ /**
216
+ * WebGL can read data synchronously.
217
+ * @note While it is convenient, the performance penalty is very significant
218
+ */
219
+ readDataSyncWebGL(options?: TextureReadOptions): ArrayBuffer | ArrayBufferView;
220
+ /** Generate mipmaps (WebGL only) */
221
+ generateMipmapsWebGL(): void;
151
222
  /** Ensure we have integer coordinates */
152
223
  protected static normalizeProps(device: Device, props: TextureProps): TextureProps;
153
224
  /** Initialize texture with supplied props */
154
225
  _initializeData(data: TextureProps['data']): void;
155
226
  _normalizeCopyImageDataOptions(options_: CopyImageDataOptions): Required<CopyImageDataOptions>;
156
227
  _normalizeCopyExternalImageOptions(options_: CopyExternalImageOptions): Required<CopyExternalImageOptions>;
157
- /** Default options */
228
+ _normalizeTextureReadOptions(options_: TextureReadOptions): Required<TextureReadOptions>;
229
+ _normalizeTextureWriteOptions(options_: TextureWriteOptions): Required<TextureWriteOptions>;
158
230
  static defaultProps: Required<TextureProps>;
159
231
  protected static defaultCopyDataOptions: Required<CopyImageDataOptions>;
160
232
  /** Default options */
161
233
  protected static defaultCopyExternalImageOptions: Required<CopyExternalImageOptions>;
234
+ protected static defaultTextureReadOptions: Required<TextureReadOptions>;
162
235
  }
163
236
  //# sourceMappingURL=texture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"texture.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/texture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"texture.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/texture.ts"],"names":[],"mappings":"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"}