@luma.gl/engine 9.3.0-alpha.9 → 9.3.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.
Files changed (63) hide show
  1. package/dist/animation-loop/make-animation-loop.d.ts.map +1 -1
  2. package/dist/animation-loop/make-animation-loop.js +1 -0
  3. package/dist/animation-loop/make-animation-loop.js.map +1 -1
  4. package/dist/compute/computation.js +2 -2
  5. package/dist/compute/computation.js.map +1 -1
  6. package/dist/debug/debug-framebuffer.d.ts +9 -4
  7. package/dist/debug/debug-framebuffer.d.ts.map +1 -1
  8. package/dist/debug/debug-framebuffer.js +91 -45
  9. package/dist/debug/debug-framebuffer.js.map +1 -1
  10. package/dist/dist.dev.js +200 -126
  11. package/dist/dist.min.js +33 -33
  12. package/dist/dynamic-texture/dynamic-texture.d.ts.map +1 -1
  13. package/dist/dynamic-texture/dynamic-texture.js +3 -1
  14. package/dist/dynamic-texture/dynamic-texture.js.map +1 -1
  15. package/dist/dynamic-texture/texture-data.js +2 -2
  16. package/dist/dynamic-texture/texture-data.js.map +1 -1
  17. package/dist/geometries/cube-geometry.js +7 -7
  18. package/dist/geometries/cube-geometry.js.map +1 -1
  19. package/dist/geometries/ico-sphere-geometry.js +3 -1
  20. package/dist/geometries/ico-sphere-geometry.js.map +1 -1
  21. package/dist/geometry/gpu-geometry.d.ts.map +1 -1
  22. package/dist/geometry/gpu-geometry.js +3 -0
  23. package/dist/geometry/gpu-geometry.js.map +1 -1
  24. package/dist/index.cjs +176 -108
  25. package/dist/index.cjs.map +3 -3
  26. package/dist/material/material.js +2 -2
  27. package/dist/material/material.js.map +1 -1
  28. package/dist/model/model.d.ts.map +1 -1
  29. package/dist/model/model.js +45 -34
  30. package/dist/model/model.js.map +1 -1
  31. package/dist/models/billboard-texture-model.js +4 -4
  32. package/dist/models/billboard-texture-module.d.ts +1 -1
  33. package/dist/models/billboard-texture-module.js +1 -1
  34. package/dist/models/light-model-utils.js +2 -2
  35. package/dist/modules/picking/color-picking.d.ts +2 -2
  36. package/dist/modules/picking/index-picking.d.ts +2 -2
  37. package/dist/modules/picking/legacy-color-picking.d.ts +4 -4
  38. package/dist/modules/picking/picking-uniforms.d.ts +1 -1
  39. package/dist/modules/picking/picking-uniforms.d.ts.map +1 -1
  40. package/dist/modules/picking/picking-uniforms.js +1 -1
  41. package/dist/modules/picking/picking.d.ts +2 -2
  42. package/dist/passes/get-fragment-shader.js +4 -4
  43. package/dist/shader-inputs.d.ts.map +1 -1
  44. package/dist/shader-inputs.js +20 -23
  45. package/dist/shader-inputs.js.map +1 -1
  46. package/package.json +2 -2
  47. package/src/animation-loop/make-animation-loop.ts +1 -0
  48. package/src/compute/computation.ts +2 -2
  49. package/src/debug/debug-framebuffer.ts +139 -61
  50. package/src/dynamic-texture/dynamic-texture.ts +3 -5
  51. package/src/dynamic-texture/texture-data.ts +2 -2
  52. package/src/dynamic-texture/texture-data.ts.disabled +1 -1
  53. package/src/geometries/cube-geometry.ts +7 -7
  54. package/src/geometries/ico-sphere-geometry.ts +3 -1
  55. package/src/geometry/gpu-geometry.ts +3 -0
  56. package/src/material/material.ts +2 -2
  57. package/src/model/model.ts +48 -36
  58. package/src/models/billboard-texture-model.ts +4 -4
  59. package/src/models/billboard-texture-module.ts +1 -1
  60. package/src/models/light-model-utils.ts +2 -2
  61. package/src/modules/picking/picking-uniforms.ts +1 -1
  62. package/src/passes/get-fragment-shader.ts +4 -4
  63. package/src/shader-inputs.ts +32 -41
@@ -1 +1 @@
1
- {"version":3,"file":"make-animation-loop.d.ts","sourceRoot":"","sources":["../../src/animation-loop/make-animation-loop.ts"],"names":[],"mappings":"AAIA,OAAO,EAAO,OAAO,EAAS,MAAM,eAAe,CAAC;AACpD,OAAO,EAAC,qBAAqB,EAAC,qCAAkC;AAChE,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,4BAAyB;AAGnE,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,kBAAkB,EAClB,gBAAgB,GAAG,cAAc,GAAG,UAAU,GAAG,YAAY,CAC9D,GAAG;IACF,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,yBAAyB,EAAE,OAAO,qBAAqB,EACvD,KAAK,CAAC,EAAE,sBAAsB,GAC7B,aAAa,CAuCf"}
1
+ {"version":3,"file":"make-animation-loop.d.ts","sourceRoot":"","sources":["../../src/animation-loop/make-animation-loop.ts"],"names":[],"mappings":"AAIA,OAAO,EAAO,OAAO,EAAS,MAAM,eAAe,CAAC;AACpD,OAAO,EAAC,qBAAqB,EAAC,qCAAkC;AAChE,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,4BAAyB;AAGnE,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,kBAAkB,EAClB,gBAAgB,GAAG,cAAc,GAAG,UAAU,GAAG,YAAY,CAC9D,GAAG;IACF,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,yBAAyB,EAAE,OAAO,qBAAqB,EACvD,KAAK,CAAC,EAAE,sBAAsB,GAC7B,aAAa,CAwCf"}
@@ -24,6 +24,7 @@ export function makeAnimationLoop(AnimationLoopTemplateCtor, props) {
24
24
  return await renderLoop?.onInitialize(animationProps);
25
25
  }
26
26
  catch (error) {
27
+ console.error(error);
27
28
  setError(animationProps.animationLoop.device, error);
28
29
  return null;
29
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"make-animation-loop.js","sourceRoot":"","sources":["../../src/animation-loop/make-animation-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"make-animation-loop.js","sourceRoot":"","sources":["../../src/animation-loop/make-animation-loop.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,IAAI,EAAkB,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAC,aAAa,EAAqB,4BAAyB;AAWnE;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,yBAAuD,EACvD,KAA8B;IAE9B,IAAI,UAAU,GAAiC,IAAI,CAAC;IAEpD,MAAM,MAAM,GACV,KAAK,EAAE,MAAM;QACb,IAAI,CAAC,YAAY,CAAC,EAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAC,CAAC,CAAC;IAElG,4BAA4B;IAC5B,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC;QACtC,GAAG,KAAK;QAER,MAAM;QAEN,KAAK,CAAC,YAAY,CAAC,cAA8B;YAC/C,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC;gBACH,qDAAqD;gBACrD,UAAU,GAAG,IAAI,yBAAyB,CAAC,cAAc,CAAC,CAAC;gBAC3D,wCAAwC;gBACxC,OAAO,MAAM,UAAU,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,KAAc,CAAC,CAAC;gBAC9D,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,QAAQ,EAAE,CAAC,cAA8B,EAAE,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC;QAElF,UAAU,EAAE,CAAC,cAA8B,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,cAAc,CAAC;KACvF,CAAC,CAAC;IAEH,2DAA2D;IAC3D,aAAa,CAAC,OAAO,GAAG,GAAG,EAAE;QAC3B,aAAa;QACb,2CAA2C;QAC3C,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;IAC7C,CAAC,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,QAAQ,CAAC,MAAqB,EAAE,KAAY;IACnD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAC,MAAM,CAAC;IACvD,IAAI,MAAM,YAAY,iBAAiB,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;QAClC,IAAI,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;QAC/D,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,QAAQ,CAAC,EAAE,GAAG,sBAAsB,CAAC;QACrC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;QACnC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACrC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,iDAAiD;QAC9E,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;QAC7B,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;QAC/B,QAAQ,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC;QACvC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,sCAAsC;IACxC,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAqB;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;IACjE,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,MAAM,EAAE,CAAC;IACpB,CAAC;AACH,CAAC"}
@@ -149,11 +149,11 @@ export class Computation {
149
149
  }
150
150
  setShaderInputs(shaderInputs) {
151
151
  this.shaderInputs = shaderInputs;
152
- this._uniformStore = new UniformStore(this.shaderInputs.modules);
152
+ this._uniformStore = new UniformStore(this.device, this.shaderInputs.modules);
153
153
  // Create uniform buffer bindings for all modules
154
154
  for (const [moduleName, module] of Object.entries(this.shaderInputs.modules)) {
155
155
  if (shaderModuleHasUniforms(module)) {
156
- const uniformBuffer = this._uniformStore.getManagedUniformBuffer(this.device, moduleName);
156
+ const uniformBuffer = this._uniformStore.getManagedUniformBuffer(moduleName);
157
157
  this.bindings[`${moduleName}Uniforms`] = uniformBuffer;
158
158
  }
159
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"computation.js","sourceRoot":"","sources":["../../src/compute/computation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"computation.js","sourceRoot":"","sources":["../../src/compute/computation.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,16 @@
1
- import type { Framebuffer, Texture } from '@luma.gl/core';
2
- /** Debug utility to draw FBO contents onto screen */
3
- export declare function debugFramebuffer(fbo: Framebuffer | Texture, { id, minimap, opaque, top, left, rgbaScale }: {
1
+ import type { Framebuffer, RenderPass, Texture } from '@luma.gl/core';
2
+ type DebugFramebufferOptions = {
4
3
  id: string;
5
4
  minimap?: boolean;
6
5
  opaque?: boolean;
7
6
  top?: string;
8
7
  left?: string;
9
8
  rgbaScale?: number;
10
- }): void;
9
+ };
10
+ /**
11
+ * Debug utility to blit queued offscreen framebuffers into the default framebuffer
12
+ * without CPU readback. Currently implemented for WebGL only.
13
+ */
14
+ export declare function debugFramebuffer(renderPass: RenderPass, source: Framebuffer | Texture | null, options: DebugFramebufferOptions): void;
15
+ export {};
11
16
  //# sourceMappingURL=debug-framebuffer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug-framebuffer.d.ts","sourceRoot":"","sources":["../../src/debug/debug-framebuffer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAQxD,qDAAqD;AAErD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,WAAW,GAAG,OAAO,EAC1B,EACE,EAAE,EACF,OAAO,EACP,MAAM,EACN,GAAS,EACT,IAAU,EACV,SAAa,EACd,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,QA6CF"}
1
+ {"version":3,"file":"debug-framebuffer.d.ts","sourceRoot":"","sources":["../../src/debug/debug-framebuffer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAS,WAAW,EAAE,UAAU,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAK5E,KAAK,uBAAuB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAOF;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,WAAW,GAAG,OAAO,GAAG,IAAI,EACpC,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CAoBN"}
@@ -1,52 +1,98 @@
1
1
  // luma.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- // import {copyTextureToImage} from '../debug/copy-texture-to-image';
5
- /** Only works with 1st device? */
6
- let canvas = null;
7
- let ctx = null;
8
- // let targetImage: HTMLImageElement | null = null;
9
- /** Debug utility to draw FBO contents onto screen */
10
- // eslint-disable-next-line
11
- export function debugFramebuffer(fbo, { id, minimap, opaque, top = '0', left = '0', rgbaScale = 1 }) {
12
- if (!canvas) {
13
- canvas = document.createElement('canvas');
14
- canvas.id = id;
15
- canvas.title = id;
16
- canvas.style.zIndex = '100';
17
- canvas.style.position = 'absolute';
18
- canvas.style.top = top; // ⚠️
19
- canvas.style.left = left; // ⚠️
20
- canvas.style.border = 'blue 5px solid';
21
- canvas.style.transform = 'scaleY(-1)';
22
- document.body.appendChild(canvas);
23
- ctx = canvas.getContext('2d');
24
- // targetImage = new Image();
25
- }
26
- // const canvasHeight = (minimap ? 2 : 1) * fbo.height;
27
- if (canvas.width !== fbo.width || canvas.height !== fbo.height) {
28
- canvas.width = fbo.width / 2;
29
- canvas.height = fbo.height / 2;
30
- canvas.style.width = '400px';
31
- canvas.style.height = '400px';
32
- }
33
- // const image = copyTextureToImage(fbo, {targetMaxHeight: 100, targetImage});
34
- // ctx.drawImage(image, 0, 0);
35
- const color = fbo.device.readPixelsToArrayWebGL(fbo);
36
- const imageData = ctx?.createImageData(fbo.width, fbo.height);
37
- if (imageData) {
38
- // Full map
39
- const offset = 0;
40
- // if (color.some((v) => v > 0)) {
41
- // console.error('THERE IS NON-ZERO DATA IN THE FBO!');
42
- // }
43
- for (let i = 0; i < color.length; i += 4) {
44
- imageData.data[offset + i + 0] = color[i + 0] * rgbaScale;
45
- imageData.data[offset + i + 1] = color[i + 1] * rgbaScale;
46
- imageData.data[offset + i + 2] = color[i + 2] * rgbaScale;
47
- imageData.data[offset + i + 3] = opaque ? 255 : color[i + 3] * rgbaScale;
4
+ const DEBUG_FRAMEBUFFER_STATE_KEY = '__debugFramebufferState';
5
+ const DEFAULT_MARGIN_PX = 8;
6
+ /**
7
+ * Debug utility to blit queued offscreen framebuffers into the default framebuffer
8
+ * without CPU readback. Currently implemented for WebGL only.
9
+ */
10
+ export function debugFramebuffer(renderPass, source, options) {
11
+ if (renderPass.device.type !== 'webgl') {
12
+ return;
13
+ }
14
+ const state = getDebugFramebufferState(renderPass.device);
15
+ if (state.flushing) {
16
+ return;
17
+ }
18
+ if (isDefaultRenderPass(renderPass)) {
19
+ flushDebugFramebuffers(renderPass, options, state);
20
+ return;
21
+ }
22
+ if (source && isFramebuffer(source) && source.handle !== null) {
23
+ if (!state.queuedFramebuffers.includes(source)) {
24
+ state.queuedFramebuffers.push(source);
25
+ }
26
+ }
27
+ }
28
+ function flushDebugFramebuffers(renderPass, options, state) {
29
+ if (state.queuedFramebuffers.length === 0) {
30
+ return;
31
+ }
32
+ const webglDevice = renderPass.device;
33
+ const { gl } = webglDevice;
34
+ const previousReadFramebuffer = gl.getParameter(36010);
35
+ const previousDrawFramebuffer = gl.getParameter(36006);
36
+ const [targetWidth, targetHeight] = renderPass.device
37
+ .getDefaultCanvasContext()
38
+ .getDrawingBufferSize();
39
+ let topPx = parseCssPixel(options.top, DEFAULT_MARGIN_PX);
40
+ const leftPx = parseCssPixel(options.left, DEFAULT_MARGIN_PX);
41
+ state.flushing = true;
42
+ try {
43
+ for (const framebuffer of state.queuedFramebuffers) {
44
+ const [targetX0, targetY0, targetX1, targetY1, previewHeight] = getOverlayRect({
45
+ framebuffer,
46
+ targetWidth,
47
+ targetHeight,
48
+ topPx,
49
+ leftPx,
50
+ minimap: options.minimap
51
+ });
52
+ gl.bindFramebuffer(36008, framebuffer.handle);
53
+ gl.bindFramebuffer(36009, null);
54
+ gl.blitFramebuffer(0, 0, framebuffer.width, framebuffer.height, targetX0, targetY0, targetX1, targetY1, 16384, 9728);
55
+ topPx += previewHeight + DEFAULT_MARGIN_PX;
48
56
  }
49
- ctx?.putImageData(imageData, 0, 0);
50
57
  }
58
+ finally {
59
+ gl.bindFramebuffer(36008, previousReadFramebuffer);
60
+ gl.bindFramebuffer(36009, previousDrawFramebuffer);
61
+ state.flushing = false;
62
+ }
63
+ }
64
+ function getOverlayRect(options) {
65
+ const { framebuffer, targetWidth, targetHeight, topPx, leftPx, minimap } = options;
66
+ const maxWidth = minimap ? Math.max(Math.floor(targetWidth / 4), 1) : targetWidth;
67
+ const maxHeight = minimap ? Math.max(Math.floor(targetHeight / 4), 1) : targetHeight;
68
+ const scale = Math.min(maxWidth / framebuffer.width, maxHeight / framebuffer.height);
69
+ const previewWidth = Math.max(Math.floor(framebuffer.width * scale), 1);
70
+ const previewHeight = Math.max(Math.floor(framebuffer.height * scale), 1);
71
+ const targetX0 = leftPx;
72
+ const targetY0 = Math.max(targetHeight - topPx - previewHeight, 0);
73
+ const targetX1 = targetX0 + previewWidth;
74
+ const targetY1 = targetY0 + previewHeight;
75
+ return [targetX0, targetY0, targetX1, targetY1, previewHeight];
76
+ }
77
+ function getDebugFramebufferState(device) {
78
+ device.userData[DEBUG_FRAMEBUFFER_STATE_KEY] ||= {
79
+ flushing: false,
80
+ queuedFramebuffers: []
81
+ };
82
+ return device.userData[DEBUG_FRAMEBUFFER_STATE_KEY];
83
+ }
84
+ function isFramebuffer(value) {
85
+ return 'colorAttachments' in value;
86
+ }
87
+ function isDefaultRenderPass(renderPass) {
88
+ const framebuffer = renderPass.props.framebuffer;
89
+ return !framebuffer || framebuffer.handle === null;
90
+ }
91
+ function parseCssPixel(value, defaultValue) {
92
+ if (!value) {
93
+ return defaultValue;
94
+ }
95
+ const parsedValue = Number.parseInt(value, 10);
96
+ return Number.isFinite(parsedValue) ? parsedValue : defaultValue;
51
97
  }
52
98
  //# sourceMappingURL=debug-framebuffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug-framebuffer.js","sourceRoot":"","sources":["../../src/debug/debug-framebuffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug-framebuffer.js","sourceRoot":"","sources":["../../src/debug/debug-framebuffer.ts"],"names":[],"mappings":"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"}