@luma.gl/engine 9.0.0-alpha.23 → 9.0.0-alpha.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/animation/key-frames.d.ts +1 -1
- package/dist/animation/key-frames.d.ts.map +1 -1
- package/dist/animation/timeline.d.ts +4 -4
- package/dist/animation/timeline.d.ts.map +1 -1
- package/dist/animation-loop/animation-loop.d.ts +2 -4
- package/dist/animation-loop/animation-loop.d.ts.map +1 -1
- package/dist/animation-loop/animation-props.d.ts +1 -3
- package/dist/animation-loop/animation-props.d.ts.map +1 -1
- package/dist/animation-loop/make-animation-loop.d.ts +1 -1
- package/dist/animation-loop/make-animation-loop.d.ts.map +1 -1
- package/dist/dist.dev.js +5 -5
- package/dist/geometries/cone-geometry.d.ts +1 -1
- package/dist/geometries/cone-geometry.d.ts.map +1 -1
- package/dist/geometries/cube-geometry.d.ts +1 -1
- package/dist/geometries/cube-geometry.d.ts.map +1 -1
- package/dist/geometries/cylinder-geometry.d.ts +1 -1
- package/dist/geometries/cylinder-geometry.d.ts.map +1 -1
- package/dist/geometries/ico-sphere-geometry.d.ts +1 -1
- package/dist/geometries/ico-sphere-geometry.d.ts.map +1 -1
- package/dist/geometries/plane-geometry.d.ts +1 -1
- package/dist/geometries/plane-geometry.d.ts.map +1 -1
- package/dist/geometries/sphere-geometry.d.ts +1 -1
- package/dist/geometries/sphere-geometry.d.ts.map +1 -1
- package/dist/geometries/truncated-cone-geometry.d.ts +1 -1
- package/dist/geometries/truncated-cone-geometry.d.ts.map +1 -1
- package/dist/geometry/geometry-table.d.ts +1 -1
- package/dist/geometry/geometry-table.d.ts.map +1 -1
- package/dist/geometry/geometry.d.ts +4 -4
- package/dist/geometry/geometry.d.ts.map +1 -1
- package/dist/lib/pipeline-factory.d.ts +3 -3
- package/dist/lib/pipeline-factory.d.ts.map +1 -1
- package/dist/model/model.d.ts +1 -1
- package/dist/model/model.d.ts.map +1 -1
- package/dist/transform/transform.d.ts +5 -5
- package/dist/transform/transform.d.ts.map +1 -1
- package/dist.min.js +2 -2
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-frames.d.ts","sourceRoot":"","sources":["../../src/animation/key-frames.ts"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"key-frames.d.ts","sourceRoot":"","sources":["../../src/animation/key-frames.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEtC,sDAAsD;AACtD,qBAAa,SAAS,CAAC,CAAC,GAAG,MAAM;IAC/B,UAAU,EAAE,MAAM,CAAM;IACxB,QAAQ,EAAE,MAAM,CAAM;IACtB,MAAM,EAAE,MAAM,CAAK;IACnB,KAAK,EAAE,MAAM,EAAE,CAAM;IACrB,MAAM,EAAE,CAAC,EAAE,CAAM;IACjB,OAAO,CAAC,SAAS,CAAM;gBAEX,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE;IAKpC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI;IAa5C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS3B,YAAY,IAAI,MAAM;IAItB,UAAU,IAAI,MAAM;IAIpB,YAAY,IAAI,CAAC;IAIjB,UAAU,IAAI,CAAC;IAIf,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAiBnC"}
|
|
@@ -5,23 +5,23 @@
|
|
|
5
5
|
* @param rate = 1
|
|
6
6
|
* @param repeat = 1
|
|
7
7
|
*/
|
|
8
|
-
export
|
|
8
|
+
export type ChannelOptions = {
|
|
9
9
|
delay?: number;
|
|
10
10
|
duration?: number;
|
|
11
11
|
rate?: number;
|
|
12
12
|
repeat?: number;
|
|
13
13
|
};
|
|
14
|
-
export
|
|
14
|
+
export type AnimationOptions = {
|
|
15
15
|
setTime: (time: number) => void;
|
|
16
16
|
};
|
|
17
|
-
|
|
17
|
+
type Channel = {
|
|
18
18
|
time: number;
|
|
19
19
|
delay: number;
|
|
20
20
|
duration: number;
|
|
21
21
|
rate: number;
|
|
22
22
|
repeat: number;
|
|
23
23
|
};
|
|
24
|
-
|
|
24
|
+
type Animation = {
|
|
25
25
|
channel?: number;
|
|
26
26
|
animation: {
|
|
27
27
|
setTime: (time: number) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/animation/timeline.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,
|
|
1
|
+
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/animation/timeline.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAChC,CAAA;AAEA,KAAK,OAAO,GAAG;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,KAAK,SAAS,GAAG;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE;QACT,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;KAChC,CAAA;CACF,CAAA;AAKD,qBAAa,QAAQ;IACnB,IAAI,EAAE,MAAM,CAAK;IACjB,QAAQ,uBAA8B;IACtC,UAAU,yBAAgC;IAC1C,OAAO,EAAE,OAAO,CAAS;IACzB,cAAc,EAAE,MAAM,CAAM;;IAK5B,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM;IAiBzC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAUnC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IASnC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAchC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAe3B,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;IAKb,KAAK,IAAI,IAAI;IAIb,eAAe,CAAC,SAAS,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM;IAa5E,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIrC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAUhC,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;CAWtD"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
/// <reference types="dist" />
|
|
2
|
-
/// <reference types="offscreencanvas" />
|
|
3
1
|
import { Device } from '@luma.gl/api';
|
|
4
2
|
import { Timeline } from '../animation/timeline';
|
|
5
3
|
import { AnimationProps } from './animation-props';
|
|
6
4
|
import { Stats, Stat } from '@probe.gl/stats';
|
|
7
5
|
/** AnimationLoop properties */
|
|
8
|
-
export
|
|
6
|
+
export type AnimationLoopProps = {
|
|
9
7
|
device: Device | Promise<Device>;
|
|
10
8
|
onAddHTML?: (div: HTMLDivElement) => string;
|
|
11
9
|
onInitialize?: (animationProps: AnimationProps) => Promise<unknown>;
|
|
@@ -17,7 +15,7 @@ export declare type AnimationLoopProps = {
|
|
|
17
15
|
autoResizeDrawingBuffer?: boolean;
|
|
18
16
|
useDevicePixels?: number | boolean;
|
|
19
17
|
};
|
|
20
|
-
export
|
|
18
|
+
export type MutableAnimationLoopProps = {
|
|
21
19
|
autoResizeViewport?: boolean;
|
|
22
20
|
autoResizeDrawingBuffer?: boolean;
|
|
23
21
|
useDevicePixels?: number | boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation-loop.d.ts","sourceRoot":"","sources":["../../src/animation-loop/animation-loop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"animation-loop.d.ts","sourceRoot":"","sources":["../../src/animation-loop/animation-loop.ts"],"names":[],"mappings":"AAEA,OAAO,EAAO,MAAM,EAAC,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAI5C,+BAA+B;AAC/B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,MAAM,CAAC;IAC5C,YAAY,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,KAAK,OAAO,CAAC;IACvD,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,KAAK,IAAI,CAAC;IACtD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;IAElC,KAAK,CAAC,EAAE,KAAK,CAAC;IAGd,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IAEtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACpC,CAAA;AAoBD,gCAAgC;AAChC,qBAAa,aAAa;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC7B,MAAM,EAAE,iBAAiB,GAAG,eAAe,GAAG,IAAI,CAAQ;IAE1D,KAAK,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACpC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAQ;IAC7C,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAEhB,OAAO,EAAE,GAAG,CAAC;IAEb,WAAW,EAAE,MAAM,GAAG,KAAK,CAAiB;IAE5C,YAAY,EAAE,OAAO,CAAS;IAC9B,QAAQ,EAAE,OAAO,CAAS;IAC1B,iBAAiB,EAAE,GAAG,CAAQ;IAC9B,iBAAiB,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAQ;IACxD,iBAAiB,EAAE,CAAC,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC1E,aAAa,EAAE,MAAM,CAAK;gBAOd,KAAK,EAAE,kBAAkB;IA8BrC,OAAO,IAAI,IAAI;IAKf,iCAAiC;IACjC,MAAM,IAAI,IAAI;IAId,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMpC,QAAQ,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI;IAahD,kDAAkD;IAC5C,KAAK;IA4CX,8BAA8B;IAC9B,MAAM,IAAI,IAAI;IA2Bd,IAAI;IAiBJ,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ;IAK5C,cAAc,IAAI,IAAI;IAItB,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;IAWjC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAWlC,WAAW;IAcX,WAAW,CAAC,OAAO,EAAE,GAAG;IAcxB,sBAAsB;IActB,qBAAqB;IAerB,eAAe;IAUf,YAAY,CAAC,cAAc,EAAE,cAAc;IAY3C,iBAAiB;IAIjB,WAAW;IAMX,yBAAyB;IAiCzB,kBAAkB,IAAI,cAAc;IAQpC,qBAAqB,IAAI,IAAI;IAqC7B,+BAA+B;IACzB,WAAW;IASjB,cAAc;IAsBd,iBAAiB,IAAI;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;IAsBpE,6BAA6B;IAC7B,eAAe;IAQf;;;OAGG;IACH,0BAA0B;IAM1B,YAAY;IAuBZ,UAAU;IAWV,mBAAmB;IAOnB,YAAY,CAAC,KAAK,EAAE,KAAK;IAMzB,aAAa,CAAC,KAAK,EAAE,KAAK;CAG3B"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
/// <reference types="dist" />
|
|
2
|
-
/// <reference types="offscreencanvas" />
|
|
3
1
|
import { Device, RenderPass } from '@luma.gl/api';
|
|
4
2
|
import { Timeline } from '../animation/timeline';
|
|
5
3
|
import type { AnimationLoop } from './animation-loop';
|
|
6
4
|
/** Properties passed to every render frame */
|
|
7
|
-
export
|
|
5
|
+
export type AnimationProps = {
|
|
8
6
|
device: Device;
|
|
9
7
|
renderPass: RenderPass;
|
|
10
8
|
animationLoop: AnimationLoop;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation-props.d.ts","sourceRoot":"","sources":["../../src/animation-loop/animation-props.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"animation-props.d.ts","sourceRoot":"","sources":["../../src/animation-loop/animation-props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAChD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAEpD,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAE7B,oCAAoC;IACpC,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAAC;IAC5C,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IAGf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IAGb,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE7B,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAG1B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAC1C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AnimationLoopTemplate } from './render-loop';
|
|
2
2
|
import { AnimationLoop, AnimationLoopProps } from './animation-loop';
|
|
3
|
-
export
|
|
3
|
+
export type MakeAnimationLoopProps = Omit<AnimationLoopProps, 'onCreateDevice' | 'onInitialize' | 'onRedraw' | 'onFinalize'>;
|
|
4
4
|
/** Instantiates and runs the render loop */
|
|
5
5
|
export declare function makeAnimationLoop(AnimationLoopTemplateCtor: typeof AnimationLoopTemplate, props?: MakeAnimationLoopProps): AnimationLoop;
|
|
6
6
|
//# sourceMappingURL=make-animation-loop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-animation-loop.d.ts","sourceRoot":"","sources":["../../src/animation-loop/make-animation-loop.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAA;AACnD,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAA;AAGlE,
|
|
1
|
+
{"version":3,"file":"make-animation-loop.d.ts","sourceRoot":"","sources":["../../src/animation-loop/make-animation-loop.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAA;AACnD,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAA;AAGlE,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,GAAG,cAAc,GAAG,UAAU,GAAG,YAAY,CAAC,CAAC;AAE7H,4CAA4C;AAC5C,wBAAgB,iBAAiB,CAAC,yBAAyB,EAAE,OAAO,qBAAqB,EAAE,KAAK,CAAC,EAAE,sBAAsB,GAAG,aAAa,CAkCxI"}
|
package/dist/dist.dev.js
CHANGED
|
@@ -6866,11 +6866,11 @@ void main() {
|
|
|
6866
6866
|
webgl2: false
|
|
6867
6867
|
};
|
|
6868
6868
|
}
|
|
6869
|
-
if (props.webgl2) {
|
|
6870
|
-
gl =
|
|
6869
|
+
if (!gl && props.webgl2) {
|
|
6870
|
+
gl = canvas.getContext("webgl2", props);
|
|
6871
6871
|
}
|
|
6872
|
-
if (props.webgl1) {
|
|
6873
|
-
gl =
|
|
6872
|
+
if (!gl && props.webgl1) {
|
|
6873
|
+
gl = canvas.getContext("webgl", props);
|
|
6874
6874
|
}
|
|
6875
6875
|
canvas.removeEventListener("webglcontextcreationerror", onCreateError, false);
|
|
6876
6876
|
if (!gl) {
|
|
@@ -11556,7 +11556,7 @@ ${formattedLog}`)();
|
|
|
11556
11556
|
type,
|
|
11557
11557
|
textureUnit
|
|
11558
11558
|
} = uniformLayout;
|
|
11559
|
-
const value = this.uniforms[name]
|
|
11559
|
+
const value = this.uniforms[name] ?? textureUnit;
|
|
11560
11560
|
if (value !== void 0) {
|
|
11561
11561
|
setUniform(this.device.gl, location, type, value);
|
|
11562
11562
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cone-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/cone-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAEhE,
|
|
1
|
+
{"version":3,"file":"cone-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/cone-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,qBAAa,YAAa,SAAQ,qBAAqB;gBACzC,KAAK,GAAE,iBAAsB;CAW1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cube-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/cube-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAG9C,
|
|
1
|
+
{"version":3,"file":"cube-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/cube-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAG9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF,qBAAa,YAAa,SAAQ,QAAQ;gBAC5B,KAAK,GAAE,iBAAsB;CAc1C;AAqDD,eAAO,MAAM,0BAA0B,cA0CrC,CAAC;AAIH,eAAO,MAAM,2BAA2B,cA0CtC,CAAC;AAIH,eAAO,MAAM,uBAAuB,cA0ClC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cylinder-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/cylinder-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAEhE,
|
|
1
|
+
{"version":3,"file":"cylinder-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/cylinder-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,qBAAqB;gBAC7C,KAAK,GAAE,qBAA0B;CAS9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ico-sphere-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/ico-sphere-geometry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAO9C,
|
|
1
|
+
{"version":3,"file":"ico-sphere-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/ico-sphere-geometry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAO9C,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAA;CACjB,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,QAAQ;gBACjC,KAAK,GAAE,sBAA2B;CAU/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plane-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/plane-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAG9C,
|
|
1
|
+
{"version":3,"file":"plane-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/plane-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAG9C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,GAAG,CAAA;CACjB,CAAC;AAKF,qBAAa,aAAc,SAAQ,QAAQ;gBAC7B,KAAK,GAAE,kBAAuB;CAW3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sphere-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/sphere-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,
|
|
1
|
+
{"version":3,"file":"sphere-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/sphere-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,GAAG,CAAA;CACjB,CAAC;AAKF,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,KAAK,GAAE,mBAAwB;CAU5C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Geometry } from '../geometry/geometry';
|
|
2
2
|
import { GeometryTable } from '../geometry/geometry-table';
|
|
3
|
-
export
|
|
3
|
+
export type TruncatedConeGeometryProps = {
|
|
4
4
|
topRadius?: number;
|
|
5
5
|
bottomRadius?: number;
|
|
6
6
|
topCap?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"truncated-cone-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/truncated-cone-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAQzD,
|
|
1
|
+
{"version":3,"file":"truncated-cone-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/truncated-cone-geometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAQzD,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,0BAA0B,GAAG,aAAa,CAO3F;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,KAAK,GAAE,0BAA0B,GAAG;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,GAAG,CAAA;KAAM;CAcrF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry-table.d.ts","sourceRoot":"","sources":["../../src/geometry/geometry-table.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAE3D,yBAAyB;AACzB,
|
|
1
|
+
{"version":3,"file":"geometry-table.d.ts","sourceRoot":"","sources":["../../src/geometry/geometry-table.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAE3D,yBAAyB;AACzB,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtC,UAAU,EAAE;QACV,QAAQ,EAAE,UAAU,CAAC;QACrB,MAAM,EAAE,UAAU,CAAC;QACnB,UAAU,EAAE,UAAU,CAAC;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;KAC3B,CAAC;IACF,OAAO,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IACpC,QAAQ,CAAC,EAAE,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,eAAe,GAAG,gBAAgB,CAAC;CAC3F,CAAA"}
|
|
@@ -4,19 +4,19 @@ import GL from '@luma.gl/constants';
|
|
|
4
4
|
* Rendering primitives - "topology" specifies how to extract primitives from vertices.
|
|
5
5
|
* @deprecated - use string constants instead
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
7
|
+
export type GLTopology = GL.POINTS | // draw single points.
|
|
8
8
|
GL.LINES | // draw lines. Each vertex connects to the one after it.
|
|
9
9
|
GL.LINE_LOOP | // draw lines. Each set of two vertices is treated as a separate line segment.
|
|
10
10
|
GL.LINE_STRIP | // draw a connected group of line segments from the first vertex to the last
|
|
11
11
|
GL.TRIANGLES | // draw triangles. Each set of three vertices creates a separate triangle.
|
|
12
12
|
GL.TRIANGLE_STRIP | // draw a connected group of triangles.
|
|
13
13
|
GL.TRIANGLE_FAN;
|
|
14
|
-
export
|
|
14
|
+
export type GeometryAttribute = {
|
|
15
15
|
size?: number;
|
|
16
16
|
value: TypedArray;
|
|
17
17
|
[key: string]: any;
|
|
18
18
|
};
|
|
19
|
-
export
|
|
19
|
+
export type GeometryProps = {
|
|
20
20
|
id?: string;
|
|
21
21
|
attributes?: Record<string, GeometryAttribute | TypedArray>;
|
|
22
22
|
indices?: GeometryAttribute | TypedArray;
|
|
@@ -26,7 +26,7 @@ export declare type GeometryProps = {
|
|
|
26
26
|
/** @deprecated */
|
|
27
27
|
drawMode?: GLTopology;
|
|
28
28
|
};
|
|
29
|
-
|
|
29
|
+
type GeometryAttributes = {
|
|
30
30
|
POSITION: GeometryAttribute;
|
|
31
31
|
NORMAL: GeometryAttribute;
|
|
32
32
|
TEXCOORD_0: GeometryAttribute;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/geometry/geometry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,iBAAiB,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEpC;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/geometry/geometry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,iBAAiB,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEpC;;;GAGG;AACH,MAAM,MAAM,UAAU,GACpB,EAAE,CAAC,MAAM,GAAI,sBAAsB;AACnC,EAAE,CAAC,KAAK,GAAI,wDAAwD;AACpE,EAAE,CAAC,SAAS,GAAI,8EAA8E;AAC9F,EAAE,CAAC,UAAU,GAAI,4EAA4E;AAC7F,EAAE,CAAC,SAAS,GAAI,0EAA0E;AAC1F,EAAE,CAAC,cAAc,GAAI,uCAAuC;AAC5D,EAAE,CAAC,YAAY,CACd;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,CAAC,CAAC;IAC5D,OAAO,CAAC,EAAE,iBAAiB,GAAG,UAAU,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,eAAe,GAAG,gBAAgB,CAAC;IAC1F,kBAAkB;IAClB,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,CAAC,EAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAAA;KAAC,CAAC;CAC7D,CAAC;AAEF,qBAAa,QAAQ;IACnB,kBAAkB;IAClB,MAAM,CAAC,SAAS;;;;;;;;MAQd;IAEF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAEvC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,kBAAkB;IAClB,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAgB;IAE7C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,MAAM,EAAE,iBAAiB,CAAC;QAC1B,UAAU,EAAE,iBAAiB,CAAC;QAC9B,OAAO,CAAC,EAAE,iBAAiB,CAAC;QAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAA;KAC7C,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;gBAEjC,KAAK,GAAE,aAAkB;IAuDrC,wDAAwD;IACxD,IAAI,IAAI,eAEP;IAED,cAAc,IAAI,MAAM;IAKxB,aAAa,IAAI,kBAAkB;IAOnC,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IASrC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI;IAKjF,qBAAqB,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM;CAgB7D"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { RenderPipelineParameters, PrimitiveTopology, ShaderLayout } from '@luma.gl/api';
|
|
2
2
|
import { Device, RenderPipeline } from '@luma.gl/api';
|
|
3
3
|
import type { ShaderModule } from '@luma.gl/shadertools';
|
|
4
|
-
export
|
|
4
|
+
export type GetRenderPipelineOptions = {
|
|
5
5
|
vs: string;
|
|
6
6
|
fs: string | null;
|
|
7
7
|
topology: PrimitiveTopology;
|
|
@@ -14,7 +14,7 @@ export declare type GetRenderPipelineOptions = {
|
|
|
14
14
|
varyings?: string[];
|
|
15
15
|
bufferMode?: number;
|
|
16
16
|
};
|
|
17
|
-
export
|
|
17
|
+
export type GetComputePipelineOptions = {
|
|
18
18
|
cs: string;
|
|
19
19
|
parameters?: RenderPipelineParameters;
|
|
20
20
|
modules?: ShaderModule[];
|
|
@@ -24,7 +24,7 @@ export declare type GetComputePipelineOptions = {
|
|
|
24
24
|
varyings?: string[];
|
|
25
25
|
bufferMode?: number;
|
|
26
26
|
};
|
|
27
|
-
|
|
27
|
+
type GetUniformsFunc = (props?: Record<string, any>) => Record<string, any>;
|
|
28
28
|
/** Efficiently create shared pipelines with varying parameters */
|
|
29
29
|
export declare class PipelineFactory {
|
|
30
30
|
readonly device: Device;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-factory.d.ts","sourceRoot":"","sources":["../../src/lib/pipeline-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,wBAAwB,EAAE,iBAAiB,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAC,MAAM,EAAE,cAAc,EAAC,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,
|
|
1
|
+
{"version":3,"file":"pipeline-factory.d.ts","sourceRoot":"","sources":["../../src/lib/pipeline-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,wBAAwB,EAAE,iBAAiB,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAC,MAAM,EAAE,cAAc,EAAC,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,wBAAwB,CAAC;IAEtC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAC;IACT,UAAU,CAAC,EAAE,wBAAwB,CAAC;IAExC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAiBF,KAAK,eAAe,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE5E,kEAAkE;AAClE,qBAAa,eAAe;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,SAAS,EAAE,MAAM,CAAK;IACtB,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IAEzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsC;IAErE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAa;IAC5C,OAAO,CAAC,eAAe,CAAa;IAGpC,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;gBAOrD,MAAM,EAAE,MAAM;IAI1B,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAO5C,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAM/C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAQ7C,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,GAAG;QACvD,QAAQ,EAAE,cAAc,CAAC;QACzB,WAAW,EAAE,eAAe,CAAC;KAC9B;IAuBD,OAAO,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAWvC,WAAW,CAAC,QAAQ,EAAE,cAAc;IAMpC,qBAAqB,CAAC,KAAK,EAAE,wBAAwB,GAAG;QACtD,QAAQ,EAAE,cAAc,CAAC;QACzB,WAAW,EAAE,eAAe,CAAA;KAC7B;IAqBD,qEAAqE;IACrE,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM;IAiC5D,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQ7B,cAAc,CAAC,UAAU,GAAE,YAAY,EAAO,GAAG,YAAY,EAAE;CAyBhE"}
|
package/dist/model/model.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { RenderPipeline } from '@luma.gl/api';
|
|
|
3
3
|
import type { ShaderModule } from '@luma.gl/shadertools';
|
|
4
4
|
import type { Geometry } from '../geometry/geometry';
|
|
5
5
|
import { PipelineFactory } from '../lib/pipeline-factory';
|
|
6
|
-
export
|
|
6
|
+
export type ModelProps = Omit<RenderPipelineProps, 'vs' | 'fs'> & {
|
|
7
7
|
vs?: {
|
|
8
8
|
glsl?: string;
|
|
9
9
|
wgsl?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAC9G,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAExD,
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAC9G,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG;IAEhE,EAAE,CAAC,EAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACpD,EAAE,CAAC,EAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACpD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,mEAAmE;IACnE,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAgBF,aAAa;AACb,qBAAa,KAAK;IAChB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,WAAW,SAAC;IAErB,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,EAAE,cAAc,CAAC;IAEzB,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE5B,OAAO,CAAC,kBAAkB,CAAuE;gBAErF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU;IA4C7C,OAAO,IAAI,IAAI;IAIf,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IASlC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAmBjC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAMtD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMrC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAMvD,uBAAuB;IACvB,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMpD,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAMhD,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAWvC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Device, Buffer, Texture, Framebuffer } from '@luma.gl/api';
|
|
2
2
|
import { WebGLDevice, GLParameters } from '@luma.gl/webgl';
|
|
3
|
-
|
|
3
|
+
type TransformFeedback = any;
|
|
4
4
|
/** Properties for creating Transforms */
|
|
5
|
-
export
|
|
5
|
+
export type TransformProps = {
|
|
6
6
|
id?: string;
|
|
7
7
|
vs?: string;
|
|
8
8
|
elementCount?: number;
|
|
@@ -31,7 +31,7 @@ export declare type TransformProps = {
|
|
|
31
31
|
fs?: string;
|
|
32
32
|
};
|
|
33
33
|
/** Options that can be provided when running a Transform */
|
|
34
|
-
export
|
|
34
|
+
export type TransformRunOptions = {
|
|
35
35
|
framebuffer?: Framebuffer;
|
|
36
36
|
clearRenderTarget?: boolean;
|
|
37
37
|
uniforms?: Record<string, any>;
|
|
@@ -39,7 +39,7 @@ export declare type TransformRunOptions = {
|
|
|
39
39
|
discard?: boolean;
|
|
40
40
|
};
|
|
41
41
|
/** Options that control drawing a Transform. Used by subclasses to return draw parameters */
|
|
42
|
-
export
|
|
42
|
+
export type TransformDrawOptions = {
|
|
43
43
|
attributes?: Record<string, any>;
|
|
44
44
|
framebuffer?: any;
|
|
45
45
|
uniforms?: object;
|
|
@@ -47,7 +47,7 @@ export declare type TransformDrawOptions = {
|
|
|
47
47
|
parameters?: object;
|
|
48
48
|
transformFeedback?: any;
|
|
49
49
|
};
|
|
50
|
-
export
|
|
50
|
+
export type TransformBinding = {
|
|
51
51
|
sourceBuffers: Record<string, Buffer>;
|
|
52
52
|
sourceTextures: Record<string, Texture>;
|
|
53
53
|
feedbackBuffers?: Record<string, Buffer | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/transform/transform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAC,MAAM,cAAc,CAAC;AAGlE,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAQzD,
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/transform/transform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAC,MAAM,cAAc,CAAC;AAGlE,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAQzD,KAAK,iBAAiB,GAAG,GAAG,CAAC;AAE7B,yCAAyC;AACzC,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAC1F,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,4DAA4D;AAC5D,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,6FAA6F;AAC7F,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,GAAG,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAC5D,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBAAa,SAAS;IACpB;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,GAAG,OAAO;IAUnE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,sBAAsB,CAAC;IAEpC,YAAY,SAAK;IAGjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAE1B,MAAM,EAAE,MAAM,GAAG,qBAAqB,EAAE,KAAK,GAAE,cAAmB;IAuB9E,8BAA8B;IAC9B,OAAO,IAAI,IAAI;IAYf,iCAAiC;IACjC,MAAM,IAAI,IAAI;IAId,8BAA8B;IAC9B,GAAG,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAYxC,0CAA0C;IAC1C,IAAI,IAAI,IAAI;IASZ,mDAAmD;IACnD,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK7C,qDAAqD;IACrD,OAAO,CAAC,OAAO,GAAE;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAM;IAW9D,yDAAyD;IACzD,cAAc,IAAI,WAAW,GAAG,IAAI;IAKpC,kDAAkD;IAClD,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAYnC,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc;IASxD,wBAAwB,CAAC,KAAK,EAAE,cAAc;IAa9C,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,oBAAoB;CAQvE"}
|
package/dist.min.js
CHANGED
|
@@ -262,7 +262,7 @@ void main() {
|
|
|
262
262
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,f;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,f=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw f}}}}function ul(e,r){if(e){if(typeof e=="string")return Mo(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Mo(e,r)}}function Mo(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function Do(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function we(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Do(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Do(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var fl={vs:"",fs:"",modules:[],defines:{},inject:{},transpileToGLSL100:!1,layout:null,varyings:[],bufferMode:35981,topology:"triangle-list",parameters:{}},Mr=function(){function e(r){C(this,e),s(this,"device",void 0),s(this,"stateHash",0),s(this,"_hashCounter",0),s(this,"_hashes",{}),s(this,"_useCounts",{}),s(this,"_pipelineCache",{}),s(this,"_getUniforms",{}),s(this,"_hookFunctions",[]),s(this,"_defaultModules",[]),this.device=r}return N(e,[{key:"addDefaultModule",value:function(t){this._defaultModules.find(function(n){return n.name===(typeof t=="string"?t:t.name)})||this._defaultModules.push(t),this.stateHash++}},{key:"removeDefaultModule",value:function(t){var n=typeof t=="string"?t:t.name;this._defaultModules=this._defaultModules.filter(function(i){return i.name!==n}),this.stateHash++}},{key:"addShaderHook",value:function(t,n){n&&(t=Object.assign(n,{hook:t})),this._hookFunctions.push(t),this.stateHash++}},{key:"createRenderPipeline",value:function(t){var n=we(we({},fl),t),i=this._getModuleList(n.modules),a=this._hashRenderPipeline(we(we({},n),{},{modules:i}));if(!this._pipelineCache[a]){var u=this._createRenderPipeline(we(we({},n),{},{modules:i})),f=u.pipeline,c=u.getUniforms;f.hash=a,this._pipelineCache[a]=f,this._getUniforms[a]=c||function(l){return{}},this._useCounts[a]=0}return this._useCounts[a]++,{pipeline:this._pipelineCache[a],getUniforms:this._getUniforms[a]}}},{key:"release",value:function(t){var n=t.hash;this._useCounts[n]--,this._useCounts[n]===0&&(this._pipelineCache[n].destroy(),delete this._pipelineCache[n],delete this._getUniforms[n],delete this._useCounts[n])}},{key:"getUniforms",value:function(t){return this._getUniforms[t.hash]||null}},{key:"_createRenderPipeline",value:function(t){var n={gpu:this.device.info.gpu,features:this.device.features};if(!t.fs)throw new Error("fs");var i=Dn(n,we(we({},t),{},{fs:t.fs,hookFunctions:this._hookFunctions})),a=this.device.createRenderPipeline(we(we({},t),{},{vs:this.device.createShader({stage:"vertex",source:i.vs}),fs:i.fs?this.device.createShader({stage:"fragment",source:i.fs}):null}));return{pipeline:a,getUniforms:i.getUniforms}}},{key:"_hashRenderPipeline",value:function(t){var n=this,i=t.modules,a=i===void 0?[]:i,u=t.varyings,f=u===void 0?[]:u,c=t.defines,l=c===void 0?{}:c,_=t.inject,E=_===void 0?{}:_,d=t.parameters,p=d===void 0?{}:d,h=this._getHash(t.vs),R=t.fs?this._getHash(t.fs):0,S=a.map(function(m){return n._getHash(typeof m=="string"?m:m.name)}).sort(),v=f.map(function(m){return n._getHash(m)}),P=Object.keys(l).sort(),y=Object.keys(E).sort(),B=[],w=[],W=Fo(P),D;try{for(W.s();!(D=W.n()).done;){var z=D.value;B.push(this._getHash(z)),B.push(this._getHash(String(l[z])))}}catch(m){W.e(m)}finally{W.f()}var K=Fo(y),$;try{for(K.s();!($=K.n()).done;){var H=$.value;w.push(this._getHash(H)),w.push(this._getHash(E[H]))}}catch(m){K.e(m)}finally{K.f()}var T=JSON.stringify(p);return"".concat(h,"/").concat(R,"D").concat(B.join("/"),"M").concat(S.join("/"),"I").concat(w.join("/"),"V").concat(v.join("/"),"H").concat(this.stateHash,"B").concat(t.bufferMode).concat(t.transpileToGLSL100?"T":"","P").concat(T)}},{key:"_getHash",value:function(t){return this._hashes[t]===void 0&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}},{key:"_getModuleList",value:function(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=new Array(this._defaultModules.length+t.length),i={},a=0,u=0,f=this._defaultModules.length;u<f;++u){var c=this._defaultModules[u],l=c.name;n[a++]=c,i[l]=!0}for(var _=0,E=t.length;_<E;++_){var d=t[_],p=d.name;i[p]||(n[a++]=d,i[p]=!0)}return n.length=a,n}}],[{key:"getDefaultPipelineFactory",value:function(t){return t.defaultPipelineFactory=t.defaultPipelineFactory||new e(t),t.defaultPipelineFactory}}]),e}();function Bo(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Pt(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Bo(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Bo(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var cl=Pt(Pt({},bt._DEFAULT_PROPS),{},{vs:null,fs:null,id:"unnamed",handle:void 0,userData:{},defines:{},modules:[],moduleSettings:{},geometry:null,pipelineFactory:void 0}),It=function(){function e(r,t){if(C(this,e),s(this,"device",void 0),s(this,"id",void 0),s(this,"vs",void 0),s(this,"fs",null),s(this,"topology",void 0),s(this,"vertexCount",void 0),s(this,"pipelineFactory",void 0),s(this,"pipeline",void 0),s(this,"props",void 0),s(this,"_getModuleUniforms",void 0),this.props=Pt(Pt({},cl),t),t=this.props,this.id=this.props.id,this.device=r,!t.vs)throw new Error("no vertex shader");this.vs=xo(this.device,t.vs),t.fs&&(this.fs=xo(this.device,t.fs)),this.vertexCount=this.props.vertexCount,this.topology=this.props.topology,this.props.geometry&&(this.vertexCount=this.props.geometry.vertexCount,this.topology=this.props.geometry.topology||"triangle-list"),this.pipelineFactory=this.props.pipelineFactory||Mr.getDefaultPipelineFactory(this.device);var n=this.pipelineFactory.createRenderPipeline(Pt(Pt({},this.props),{},{vs:this.vs,fs:this.fs,topology:this.topology,defines:t.defines,parameters:t.parameters,layout:t.layout})),i=n.pipeline,a=n.getUniforms;this.pipeline=i,this._getModuleUniforms=a,this.props.geometry&&this._setGeometry(this.props.geometry),this.setUniforms(this._getModuleUniforms()),this.setProps(this.props)}return N(e,[{key:"destroy",value:function(){this.pipelineFactory.release(this.pipeline)}},{key:"draw",value:function(t){return this.pipeline.draw({renderPass:t,vertexCount:this.vertexCount,instanceCount:this.props.instanceCount}),this}},{key:"setProps",value:function(t){return t.indices&&this.setIndexBuffer(t.indices),t.attributes&&this.setAttributes(t.attributes),t.bindings&&this.setBindings(t.bindings),t.uniforms&&this.setUniforms(t.uniforms),t.moduleSettings&&this.updateModuleSettings(t.moduleSettings),this}},{key:"updateModuleSettings",value:function(t){var n=this._getModuleUniforms(t);return this.setUniforms(n),this}},{key:"setIndexBuffer",value:function(t){return this.pipeline.setIndexBuffer(t),this}},{key:"setAttributes",value:function(t){return this.pipeline.setAttributes(t),Object.assign(this.props.attributes,t),this}},{key:"setBindings",value:function(t){return this.pipeline.setBindings(t),Object.assign(this.props.bindings,t),this}},{key:"setUniforms",value:function(t){return this.pipeline.setUniforms(t),Object.assign(this.props.uniforms,t),this}},{key:"_setGeometry",value:function(t){var n=Ma(this.device,t);this.setAttributes(n);var i=Fa(this.device,t);i&&this.setIndexBuffer(i)}}]),e}();function xo(e,r){if(typeof r=="string")return r;switch(e.info.type){case"webgpu":if(r!=null&&r.wgsl)return r.wgsl;throw new Error("WebGPU does not support GLSL shaders");default:if(r!=null&&r.glsl)return r.glsl;throw new Error("WebGL does not support WGSL shaders")}}var o=function(e){return e[e.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",e[e.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",e[e.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT",e[e.POINTS=0]="POINTS",e[e.LINES=1]="LINES",e[e.LINE_LOOP=2]="LINE_LOOP",e[e.LINE_STRIP=3]="LINE_STRIP",e[e.TRIANGLES=4]="TRIANGLES",e[e.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",e[e.TRIANGLE_FAN=6]="TRIANGLE_FAN",e[e.ZERO=0]="ZERO",e[e.ONE=1]="ONE",e[e.SRC_COLOR=768]="SRC_COLOR",e[e.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",e[e.SRC_ALPHA=770]="SRC_ALPHA",e[e.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",e[e.DST_ALPHA=772]="DST_ALPHA",e[e.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",e[e.DST_COLOR=774]="DST_COLOR",e[e.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",e[e.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",e[e.CONSTANT_COLOR=32769]="CONSTANT_COLOR",e[e.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",e[e.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",e[e.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",e[e.FUNC_ADD=32774]="FUNC_ADD",e[e.FUNC_SUBTRACT=32778]="FUNC_SUBTRACT",e[e.FUNC_REVERSE_SUBTRACT=32779]="FUNC_REVERSE_SUBTRACT",e[e.BLEND_EQUATION=32777]="BLEND_EQUATION",e[e.BLEND_EQUATION_RGB=32777]="BLEND_EQUATION_RGB",e[e.BLEND_EQUATION_ALPHA=34877]="BLEND_EQUATION_ALPHA",e[e.BLEND_DST_RGB=32968]="BLEND_DST_RGB",e[e.BLEND_SRC_RGB=32969]="BLEND_SRC_RGB",e[e.BLEND_DST_ALPHA=32970]="BLEND_DST_ALPHA",e[e.BLEND_SRC_ALPHA=32971]="BLEND_SRC_ALPHA",e[e.BLEND_COLOR=32773]="BLEND_COLOR",e[e.ARRAY_BUFFER_BINDING=34964]="ARRAY_BUFFER_BINDING",e[e.ELEMENT_ARRAY_BUFFER_BINDING=34965]="ELEMENT_ARRAY_BUFFER_BINDING",e[e.LINE_WIDTH=2849]="LINE_WIDTH",e[e.ALIASED_POINT_SIZE_RANGE=33901]="ALIASED_POINT_SIZE_RANGE",e[e.ALIASED_LINE_WIDTH_RANGE=33902]="ALIASED_LINE_WIDTH_RANGE",e[e.CULL_FACE_MODE=2885]="CULL_FACE_MODE",e[e.FRONT_FACE=2886]="FRONT_FACE",e[e.DEPTH_RANGE=2928]="DEPTH_RANGE",e[e.DEPTH_WRITEMASK=2930]="DEPTH_WRITEMASK",e[e.DEPTH_CLEAR_VALUE=2931]="DEPTH_CLEAR_VALUE",e[e.DEPTH_FUNC=2932]="DEPTH_FUNC",e[e.STENCIL_CLEAR_VALUE=2961]="STENCIL_CLEAR_VALUE",e[e.STENCIL_FUNC=2962]="STENCIL_FUNC",e[e.STENCIL_FAIL=2964]="STENCIL_FAIL",e[e.STENCIL_PASS_DEPTH_FAIL=2965]="STENCIL_PASS_DEPTH_FAIL",e[e.STENCIL_PASS_DEPTH_PASS=2966]="STENCIL_PASS_DEPTH_PASS",e[e.STENCIL_REF=2967]="STENCIL_REF",e[e.STENCIL_VALUE_MASK=2963]="STENCIL_VALUE_MASK",e[e.STENCIL_WRITEMASK=2968]="STENCIL_WRITEMASK",e[e.STENCIL_BACK_FUNC=34816]="STENCIL_BACK_FUNC",e[e.STENCIL_BACK_FAIL=34817]="STENCIL_BACK_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_FAIL=34818]="STENCIL_BACK_PASS_DEPTH_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_PASS=34819]="STENCIL_BACK_PASS_DEPTH_PASS",e[e.STENCIL_BACK_REF=36003]="STENCIL_BACK_REF",e[e.STENCIL_BACK_VALUE_MASK=36004]="STENCIL_BACK_VALUE_MASK",e[e.STENCIL_BACK_WRITEMASK=36005]="STENCIL_BACK_WRITEMASK",e[e.VIEWPORT=2978]="VIEWPORT",e[e.SCISSOR_BOX=3088]="SCISSOR_BOX",e[e.COLOR_CLEAR_VALUE=3106]="COLOR_CLEAR_VALUE",e[e.COLOR_WRITEMASK=3107]="COLOR_WRITEMASK",e[e.UNPACK_ALIGNMENT=3317]="UNPACK_ALIGNMENT",e[e.PACK_ALIGNMENT=3333]="PACK_ALIGNMENT",e[e.MAX_TEXTURE_SIZE=3379]="MAX_TEXTURE_SIZE",e[e.MAX_VIEWPORT_DIMS=3386]="MAX_VIEWPORT_DIMS",e[e.SUBPIXEL_BITS=3408]="SUBPIXEL_BITS",e[e.RED_BITS=3410]="RED_BITS",e[e.GREEN_BITS=3411]="GREEN_BITS",e[e.BLUE_BITS=3412]="BLUE_BITS",e[e.ALPHA_BITS=3413]="ALPHA_BITS",e[e.DEPTH_BITS=3414]="DEPTH_BITS",e[e.STENCIL_BITS=3415]="STENCIL_BITS",e[e.POLYGON_OFFSET_UNITS=10752]="POLYGON_OFFSET_UNITS",e[e.POLYGON_OFFSET_FACTOR=32824]="POLYGON_OFFSET_FACTOR",e[e.TEXTURE_BINDING_2D=32873]="TEXTURE_BINDING_2D",e[e.SAMPLE_BUFFERS=32936]="SAMPLE_BUFFERS",e[e.SAMPLES=32937]="SAMPLES",e[e.SAMPLE_COVERAGE_VALUE=32938]="SAMPLE_COVERAGE_VALUE",e[e.SAMPLE_COVERAGE_INVERT=32939]="SAMPLE_COVERAGE_INVERT",e[e.COMPRESSED_TEXTURE_FORMATS=34467]="COMPRESSED_TEXTURE_FORMATS",e[e.VENDOR=7936]="VENDOR",e[e.RENDERER=7937]="RENDERER",e[e.VERSION=7938]="VERSION",e[e.IMPLEMENTATION_COLOR_READ_TYPE=35738]="IMPLEMENTATION_COLOR_READ_TYPE",e[e.IMPLEMENTATION_COLOR_READ_FORMAT=35739]="IMPLEMENTATION_COLOR_READ_FORMAT",e[e.BROWSER_DEFAULT_WEBGL=37444]="BROWSER_DEFAULT_WEBGL",e[e.STATIC_DRAW=35044]="STATIC_DRAW",e[e.STREAM_DRAW=35040]="STREAM_DRAW",e[e.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",e[e.ARRAY_BUFFER=34962]="ARRAY_BUFFER",e[e.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",e[e.BUFFER_SIZE=34660]="BUFFER_SIZE",e[e.BUFFER_USAGE=34661]="BUFFER_USAGE",e[e.CURRENT_VERTEX_ATTRIB=34342]="CURRENT_VERTEX_ATTRIB",e[e.VERTEX_ATTRIB_ARRAY_ENABLED=34338]="VERTEX_ATTRIB_ARRAY_ENABLED",e[e.VERTEX_ATTRIB_ARRAY_SIZE=34339]="VERTEX_ATTRIB_ARRAY_SIZE",e[e.VERTEX_ATTRIB_ARRAY_STRIDE=34340]="VERTEX_ATTRIB_ARRAY_STRIDE",e[e.VERTEX_ATTRIB_ARRAY_TYPE=34341]="VERTEX_ATTRIB_ARRAY_TYPE",e[e.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922]="VERTEX_ATTRIB_ARRAY_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_POINTER=34373]="VERTEX_ATTRIB_ARRAY_POINTER",e[e.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975]="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",e[e.CULL_FACE=2884]="CULL_FACE",e[e.FRONT=1028]="FRONT",e[e.BACK=1029]="BACK",e[e.FRONT_AND_BACK=1032]="FRONT_AND_BACK",e[e.BLEND=3042]="BLEND",e[e.DEPTH_TEST=2929]="DEPTH_TEST",e[e.DITHER=3024]="DITHER",e[e.POLYGON_OFFSET_FILL=32823]="POLYGON_OFFSET_FILL",e[e.SAMPLE_ALPHA_TO_COVERAGE=32926]="SAMPLE_ALPHA_TO_COVERAGE",e[e.SAMPLE_COVERAGE=32928]="SAMPLE_COVERAGE",e[e.SCISSOR_TEST=3089]="SCISSOR_TEST",e[e.STENCIL_TEST=2960]="STENCIL_TEST",e[e.NO_ERROR=0]="NO_ERROR",e[e.INVALID_ENUM=1280]="INVALID_ENUM",e[e.INVALID_VALUE=1281]="INVALID_VALUE",e[e.INVALID_OPERATION=1282]="INVALID_OPERATION",e[e.OUT_OF_MEMORY=1285]="OUT_OF_MEMORY",e[e.CONTEXT_LOST_WEBGL=37442]="CONTEXT_LOST_WEBGL",e[e.CW=2304]="CW",e[e.CCW=2305]="CCW",e[e.DONT_CARE=4352]="DONT_CARE",e[e.FASTEST=4353]="FASTEST",e[e.NICEST=4354]="NICEST",e[e.GENERATE_MIPMAP_HINT=33170]="GENERATE_MIPMAP_HINT",e[e.BYTE=5120]="BYTE",e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.SHORT=5122]="SHORT",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.INT=5124]="INT",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.FLOAT=5126]="FLOAT",e[e.DOUBLE=5130]="DOUBLE",e[e.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",e[e.ALPHA=6406]="ALPHA",e[e.RGB=6407]="RGB",e[e.RGBA=6408]="RGBA",e[e.LUMINANCE=6409]="LUMINANCE",e[e.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",e[e.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",e[e.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",e[e.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",e[e.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",e[e.VERTEX_SHADER=35633]="VERTEX_SHADER",e[e.COMPILE_STATUS=35713]="COMPILE_STATUS",e[e.DELETE_STATUS=35712]="DELETE_STATUS",e[e.LINK_STATUS=35714]="LINK_STATUS",e[e.VALIDATE_STATUS=35715]="VALIDATE_STATUS",e[e.ATTACHED_SHADERS=35717]="ATTACHED_SHADERS",e[e.ACTIVE_ATTRIBUTES=35721]="ACTIVE_ATTRIBUTES",e[e.ACTIVE_UNIFORMS=35718]="ACTIVE_UNIFORMS",e[e.MAX_VERTEX_ATTRIBS=34921]="MAX_VERTEX_ATTRIBS",e[e.MAX_VERTEX_UNIFORM_VECTORS=36347]="MAX_VERTEX_UNIFORM_VECTORS",e[e.MAX_VARYING_VECTORS=36348]="MAX_VARYING_VECTORS",e[e.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661]="MAX_COMBINED_TEXTURE_IMAGE_UNITS",e[e.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660]="MAX_VERTEX_TEXTURE_IMAGE_UNITS",e[e.MAX_TEXTURE_IMAGE_UNITS=34930]="MAX_TEXTURE_IMAGE_UNITS",e[e.MAX_FRAGMENT_UNIFORM_VECTORS=36349]="MAX_FRAGMENT_UNIFORM_VECTORS",e[e.SHADER_TYPE=35663]="SHADER_TYPE",e[e.SHADING_LANGUAGE_VERSION=35724]="SHADING_LANGUAGE_VERSION",e[e.CURRENT_PROGRAM=35725]="CURRENT_PROGRAM",e[e.NEVER=512]="NEVER",e[e.LESS=513]="LESS",e[e.EQUAL=514]="EQUAL",e[e.LEQUAL=515]="LEQUAL",e[e.GREATER=516]="GREATER",e[e.NOTEQUAL=517]="NOTEQUAL",e[e.GEQUAL=518]="GEQUAL",e[e.ALWAYS=519]="ALWAYS",e[e.KEEP=7680]="KEEP",e[e.REPLACE=7681]="REPLACE",e[e.INCR=7682]="INCR",e[e.DECR=7683]="DECR",e[e.INVERT=5386]="INVERT",e[e.INCR_WRAP=34055]="INCR_WRAP",e[e.DECR_WRAP=34056]="DECR_WRAP",e[e.NEAREST=9728]="NEAREST",e[e.LINEAR=9729]="LINEAR",e[e.NEAREST_MIPMAP_NEAREST=9984]="NEAREST_MIPMAP_NEAREST",e[e.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",e[e.NEAREST_MIPMAP_LINEAR=9986]="NEAREST_MIPMAP_LINEAR",e[e.LINEAR_MIPMAP_LINEAR=9987]="LINEAR_MIPMAP_LINEAR",e[e.TEXTURE_MAG_FILTER=10240]="TEXTURE_MAG_FILTER",e[e.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",e[e.TEXTURE_WRAP_S=10242]="TEXTURE_WRAP_S",e[e.TEXTURE_WRAP_T=10243]="TEXTURE_WRAP_T",e[e.TEXTURE_2D=3553]="TEXTURE_2D",e[e.TEXTURE=5890]="TEXTURE",e[e.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",e[e.TEXTURE_BINDING_CUBE_MAP=34068]="TEXTURE_BINDING_CUBE_MAP",e[e.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",e[e.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",e[e.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",e[e.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",e[e.MAX_CUBE_MAP_TEXTURE_SIZE=34076]="MAX_CUBE_MAP_TEXTURE_SIZE",e[e.TEXTURE0=33984]="TEXTURE0",e[e.ACTIVE_TEXTURE=34016]="ACTIVE_TEXTURE",e[e.REPEAT=10497]="REPEAT",e[e.CLAMP_TO_EDGE=33071]="CLAMP_TO_EDGE",e[e.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",e[e.TEXTURE_WIDTH=4096]="TEXTURE_WIDTH",e[e.TEXTURE_HEIGHT=4097]="TEXTURE_HEIGHT",e[e.FLOAT_VEC2=35664]="FLOAT_VEC2",e[e.FLOAT_VEC3=35665]="FLOAT_VEC3",e[e.FLOAT_VEC4=35666]="FLOAT_VEC4",e[e.INT_VEC2=35667]="INT_VEC2",e[e.INT_VEC3=35668]="INT_VEC3",e[e.INT_VEC4=35669]="INT_VEC4",e[e.BOOL=35670]="BOOL",e[e.BOOL_VEC2=35671]="BOOL_VEC2",e[e.BOOL_VEC3=35672]="BOOL_VEC3",e[e.BOOL_VEC4=35673]="BOOL_VEC4",e[e.FLOAT_MAT2=35674]="FLOAT_MAT2",e[e.FLOAT_MAT3=35675]="FLOAT_MAT3",e[e.FLOAT_MAT4=35676]="FLOAT_MAT4",e[e.SAMPLER_2D=35678]="SAMPLER_2D",e[e.SAMPLER_CUBE=35680]="SAMPLER_CUBE",e[e.LOW_FLOAT=36336]="LOW_FLOAT",e[e.MEDIUM_FLOAT=36337]="MEDIUM_FLOAT",e[e.HIGH_FLOAT=36338]="HIGH_FLOAT",e[e.LOW_INT=36339]="LOW_INT",e[e.MEDIUM_INT=36340]="MEDIUM_INT",e[e.HIGH_INT=36341]="HIGH_INT",e[e.FRAMEBUFFER=36160]="FRAMEBUFFER",e[e.RENDERBUFFER=36161]="RENDERBUFFER",e[e.RGBA4=32854]="RGBA4",e[e.RGB5_A1=32855]="RGB5_A1",e[e.RGB565=36194]="RGB565",e[e.DEPTH_COMPONENT16=33189]="DEPTH_COMPONENT16",e[e.STENCIL_INDEX=6401]="STENCIL_INDEX",e[e.STENCIL_INDEX8=36168]="STENCIL_INDEX8",e[e.DEPTH_STENCIL=34041]="DEPTH_STENCIL",e[e.RENDERBUFFER_WIDTH=36162]="RENDERBUFFER_WIDTH",e[e.RENDERBUFFER_HEIGHT=36163]="RENDERBUFFER_HEIGHT",e[e.RENDERBUFFER_INTERNAL_FORMAT=36164]="RENDERBUFFER_INTERNAL_FORMAT",e[e.RENDERBUFFER_RED_SIZE=36176]="RENDERBUFFER_RED_SIZE",e[e.RENDERBUFFER_GREEN_SIZE=36177]="RENDERBUFFER_GREEN_SIZE",e[e.RENDERBUFFER_BLUE_SIZE=36178]="RENDERBUFFER_BLUE_SIZE",e[e.RENDERBUFFER_ALPHA_SIZE=36179]="RENDERBUFFER_ALPHA_SIZE",e[e.RENDERBUFFER_DEPTH_SIZE=36180]="RENDERBUFFER_DEPTH_SIZE",e[e.RENDERBUFFER_STENCIL_SIZE=36181]="RENDERBUFFER_STENCIL_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=36048]="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",e[e.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=36049]="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=36050]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=36051]="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",e[e.COLOR_ATTACHMENT0=36064]="COLOR_ATTACHMENT0",e[e.DEPTH_ATTACHMENT=36096]="DEPTH_ATTACHMENT",e[e.STENCIL_ATTACHMENT=36128]="STENCIL_ATTACHMENT",e[e.DEPTH_STENCIL_ATTACHMENT=33306]="DEPTH_STENCIL_ATTACHMENT",e[e.NONE=0]="NONE",e[e.FRAMEBUFFER_COMPLETE=36053]="FRAMEBUFFER_COMPLETE",e[e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=36054]="FRAMEBUFFER_INCOMPLETE_ATTACHMENT",e[e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=36055]="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",e[e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=36057]="FRAMEBUFFER_INCOMPLETE_DIMENSIONS",e[e.FRAMEBUFFER_UNSUPPORTED=36061]="FRAMEBUFFER_UNSUPPORTED",e[e.FRAMEBUFFER_BINDING=36006]="FRAMEBUFFER_BINDING",e[e.RENDERBUFFER_BINDING=36007]="RENDERBUFFER_BINDING",e[e.READ_FRAMEBUFFER=36008]="READ_FRAMEBUFFER",e[e.DRAW_FRAMEBUFFER=36009]="DRAW_FRAMEBUFFER",e[e.MAX_RENDERBUFFER_SIZE=34024]="MAX_RENDERBUFFER_SIZE",e[e.INVALID_FRAMEBUFFER_OPERATION=1286]="INVALID_FRAMEBUFFER_OPERATION",e[e.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",e[e.UNPACK_PREMULTIPLY_ALPHA_WEBGL=37441]="UNPACK_PREMULTIPLY_ALPHA_WEBGL",e[e.UNPACK_COLORSPACE_CONVERSION_WEBGL=37443]="UNPACK_COLORSPACE_CONVERSION_WEBGL",e[e.READ_BUFFER=3074]="READ_BUFFER",e[e.UNPACK_ROW_LENGTH=3314]="UNPACK_ROW_LENGTH",e[e.UNPACK_SKIP_ROWS=3315]="UNPACK_SKIP_ROWS",e[e.UNPACK_SKIP_PIXELS=3316]="UNPACK_SKIP_PIXELS",e[e.PACK_ROW_LENGTH=3330]="PACK_ROW_LENGTH",e[e.PACK_SKIP_ROWS=3331]="PACK_SKIP_ROWS",e[e.PACK_SKIP_PIXELS=3332]="PACK_SKIP_PIXELS",e[e.TEXTURE_BINDING_3D=32874]="TEXTURE_BINDING_3D",e[e.UNPACK_SKIP_IMAGES=32877]="UNPACK_SKIP_IMAGES",e[e.UNPACK_IMAGE_HEIGHT=32878]="UNPACK_IMAGE_HEIGHT",e[e.MAX_3D_TEXTURE_SIZE=32883]="MAX_3D_TEXTURE_SIZE",e[e.MAX_ELEMENTS_VERTICES=33e3]="MAX_ELEMENTS_VERTICES",e[e.MAX_ELEMENTS_INDICES=33001]="MAX_ELEMENTS_INDICES",e[e.MAX_TEXTURE_LOD_BIAS=34045]="MAX_TEXTURE_LOD_BIAS",e[e.MAX_FRAGMENT_UNIFORM_COMPONENTS=35657]="MAX_FRAGMENT_UNIFORM_COMPONENTS",e[e.MAX_VERTEX_UNIFORM_COMPONENTS=35658]="MAX_VERTEX_UNIFORM_COMPONENTS",e[e.MAX_ARRAY_TEXTURE_LAYERS=35071]="MAX_ARRAY_TEXTURE_LAYERS",e[e.MIN_PROGRAM_TEXEL_OFFSET=35076]="MIN_PROGRAM_TEXEL_OFFSET",e[e.MAX_PROGRAM_TEXEL_OFFSET=35077]="MAX_PROGRAM_TEXEL_OFFSET",e[e.MAX_VARYING_COMPONENTS=35659]="MAX_VARYING_COMPONENTS",e[e.FRAGMENT_SHADER_DERIVATIVE_HINT=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT",e[e.RASTERIZER_DISCARD=35977]="RASTERIZER_DISCARD",e[e.VERTEX_ARRAY_BINDING=34229]="VERTEX_ARRAY_BINDING",e[e.MAX_VERTEX_OUTPUT_COMPONENTS=37154]="MAX_VERTEX_OUTPUT_COMPONENTS",e[e.MAX_FRAGMENT_INPUT_COMPONENTS=37157]="MAX_FRAGMENT_INPUT_COMPONENTS",e[e.MAX_SERVER_WAIT_TIMEOUT=37137]="MAX_SERVER_WAIT_TIMEOUT",e[e.MAX_ELEMENT_INDEX=36203]="MAX_ELEMENT_INDEX",e[e.RED=6403]="RED",e[e.RGB8=32849]="RGB8",e[e.RGBA8=32856]="RGBA8",e[e.RGB10_A2=32857]="RGB10_A2",e[e.TEXTURE_3D=32879]="TEXTURE_3D",e[e.TEXTURE_WRAP_R=32882]="TEXTURE_WRAP_R",e[e.TEXTURE_MIN_LOD=33082]="TEXTURE_MIN_LOD",e[e.TEXTURE_MAX_LOD=33083]="TEXTURE_MAX_LOD",e[e.TEXTURE_BASE_LEVEL=33084]="TEXTURE_BASE_LEVEL",e[e.TEXTURE_MAX_LEVEL=33085]="TEXTURE_MAX_LEVEL",e[e.TEXTURE_COMPARE_MODE=34892]="TEXTURE_COMPARE_MODE",e[e.TEXTURE_COMPARE_FUNC=34893]="TEXTURE_COMPARE_FUNC",e[e.SRGB=35904]="SRGB",e[e.SRGB8=35905]="SRGB8",e[e.SRGB8_ALPHA8=35907]="SRGB8_ALPHA8",e[e.COMPARE_REF_TO_TEXTURE=34894]="COMPARE_REF_TO_TEXTURE",e[e.RGBA32F=34836]="RGBA32F",e[e.RGB32F=34837]="RGB32F",e[e.RGBA16F=34842]="RGBA16F",e[e.RGB16F=34843]="RGB16F",e[e.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",e[e.TEXTURE_BINDING_2D_ARRAY=35869]="TEXTURE_BINDING_2D_ARRAY",e[e.R11F_G11F_B10F=35898]="R11F_G11F_B10F",e[e.RGB9_E5=35901]="RGB9_E5",e[e.RGBA32UI=36208]="RGBA32UI",e[e.RGB32UI=36209]="RGB32UI",e[e.RGBA16UI=36214]="RGBA16UI",e[e.RGB16UI=36215]="RGB16UI",e[e.RGBA8UI=36220]="RGBA8UI",e[e.RGB8UI=36221]="RGB8UI",e[e.RGBA32I=36226]="RGBA32I",e[e.RGB32I=36227]="RGB32I",e[e.RGBA16I=36232]="RGBA16I",e[e.RGB16I=36233]="RGB16I",e[e.RGBA8I=36238]="RGBA8I",e[e.RGB8I=36239]="RGB8I",e[e.RED_INTEGER=36244]="RED_INTEGER",e[e.RGB_INTEGER=36248]="RGB_INTEGER",e[e.RGBA_INTEGER=36249]="RGBA_INTEGER",e[e.R8=33321]="R8",e[e.RG8=33323]="RG8",e[e.R16F=33325]="R16F",e[e.R32F=33326]="R32F",e[e.RG16F=33327]="RG16F",e[e.RG32F=33328]="RG32F",e[e.R8I=33329]="R8I",e[e.R8UI=33330]="R8UI",e[e.R16I=33331]="R16I",e[e.R16UI=33332]="R16UI",e[e.R32I=33333]="R32I",e[e.R32UI=33334]="R32UI",e[e.RG8I=33335]="RG8I",e[e.RG8UI=33336]="RG8UI",e[e.RG16I=33337]="RG16I",e[e.RG16UI=33338]="RG16UI",e[e.RG32I=33339]="RG32I",e[e.RG32UI=33340]="RG32UI",e[e.R8_SNORM=36756]="R8_SNORM",e[e.RG8_SNORM=36757]="RG8_SNORM",e[e.RGB8_SNORM=36758]="RGB8_SNORM",e[e.RGBA8_SNORM=36759]="RGBA8_SNORM",e[e.RGB10_A2UI=36975]="RGB10_A2UI",e[e.TEXTURE_IMMUTABLE_FORMAT=37167]="TEXTURE_IMMUTABLE_FORMAT",e[e.TEXTURE_IMMUTABLE_LEVELS=33503]="TEXTURE_IMMUTABLE_LEVELS",e[e.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",e[e.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",e[e.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",e[e.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",e[e.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",e[e.HALF_FLOAT=5131]="HALF_FLOAT",e[e.RG=33319]="RG",e[e.RG_INTEGER=33320]="RG_INTEGER",e[e.INT_2_10_10_10_REV=36255]="INT_2_10_10_10_REV",e[e.CURRENT_QUERY=34917]="CURRENT_QUERY",e[e.QUERY_RESULT=34918]="QUERY_RESULT",e[e.QUERY_RESULT_AVAILABLE=34919]="QUERY_RESULT_AVAILABLE",e[e.ANY_SAMPLES_PASSED=35887]="ANY_SAMPLES_PASSED",e[e.ANY_SAMPLES_PASSED_CONSERVATIVE=36202]="ANY_SAMPLES_PASSED_CONSERVATIVE",e[e.MAX_DRAW_BUFFERS=34852]="MAX_DRAW_BUFFERS",e[e.DRAW_BUFFER0=34853]="DRAW_BUFFER0",e[e.DRAW_BUFFER1=34854]="DRAW_BUFFER1",e[e.DRAW_BUFFER2=34855]="DRAW_BUFFER2",e[e.DRAW_BUFFER3=34856]="DRAW_BUFFER3",e[e.DRAW_BUFFER4=34857]="DRAW_BUFFER4",e[e.DRAW_BUFFER5=34858]="DRAW_BUFFER5",e[e.DRAW_BUFFER6=34859]="DRAW_BUFFER6",e[e.DRAW_BUFFER7=34860]="DRAW_BUFFER7",e[e.DRAW_BUFFER8=34861]="DRAW_BUFFER8",e[e.DRAW_BUFFER9=34862]="DRAW_BUFFER9",e[e.DRAW_BUFFER10=34863]="DRAW_BUFFER10",e[e.DRAW_BUFFER11=34864]="DRAW_BUFFER11",e[e.DRAW_BUFFER12=34865]="DRAW_BUFFER12",e[e.DRAW_BUFFER13=34866]="DRAW_BUFFER13",e[e.DRAW_BUFFER14=34867]="DRAW_BUFFER14",e[e.DRAW_BUFFER15=34868]="DRAW_BUFFER15",e[e.MAX_COLOR_ATTACHMENTS=36063]="MAX_COLOR_ATTACHMENTS",e[e.COLOR_ATTACHMENT1=36065]="COLOR_ATTACHMENT1",e[e.COLOR_ATTACHMENT2=36066]="COLOR_ATTACHMENT2",e[e.COLOR_ATTACHMENT3=36067]="COLOR_ATTACHMENT3",e[e.COLOR_ATTACHMENT4=36068]="COLOR_ATTACHMENT4",e[e.COLOR_ATTACHMENT5=36069]="COLOR_ATTACHMENT5",e[e.COLOR_ATTACHMENT6=36070]="COLOR_ATTACHMENT6",e[e.COLOR_ATTACHMENT7=36071]="COLOR_ATTACHMENT7",e[e.COLOR_ATTACHMENT8=36072]="COLOR_ATTACHMENT8",e[e.COLOR_ATTACHMENT9=36073]="COLOR_ATTACHMENT9",e[e.COLOR_ATTACHMENT10=36074]="COLOR_ATTACHMENT10",e[e.COLOR_ATTACHMENT11=36075]="COLOR_ATTACHMENT11",e[e.COLOR_ATTACHMENT12=36076]="COLOR_ATTACHMENT12",e[e.COLOR_ATTACHMENT13=36077]="COLOR_ATTACHMENT13",e[e.COLOR_ATTACHMENT14=36078]="COLOR_ATTACHMENT14",e[e.COLOR_ATTACHMENT15=36079]="COLOR_ATTACHMENT15",e[e.SAMPLER_3D=35679]="SAMPLER_3D",e[e.SAMPLER_2D_SHADOW=35682]="SAMPLER_2D_SHADOW",e[e.SAMPLER_2D_ARRAY=36289]="SAMPLER_2D_ARRAY",e[e.SAMPLER_2D_ARRAY_SHADOW=36292]="SAMPLER_2D_ARRAY_SHADOW",e[e.SAMPLER_CUBE_SHADOW=36293]="SAMPLER_CUBE_SHADOW",e[e.INT_SAMPLER_2D=36298]="INT_SAMPLER_2D",e[e.INT_SAMPLER_3D=36299]="INT_SAMPLER_3D",e[e.INT_SAMPLER_CUBE=36300]="INT_SAMPLER_CUBE",e[e.INT_SAMPLER_2D_ARRAY=36303]="INT_SAMPLER_2D_ARRAY",e[e.UNSIGNED_INT_SAMPLER_2D=36306]="UNSIGNED_INT_SAMPLER_2D",e[e.UNSIGNED_INT_SAMPLER_3D=36307]="UNSIGNED_INT_SAMPLER_3D",e[e.UNSIGNED_INT_SAMPLER_CUBE=36308]="UNSIGNED_INT_SAMPLER_CUBE",e[e.UNSIGNED_INT_SAMPLER_2D_ARRAY=36311]="UNSIGNED_INT_SAMPLER_2D_ARRAY",e[e.MAX_SAMPLES=36183]="MAX_SAMPLES",e[e.SAMPLER_BINDING=35097]="SAMPLER_BINDING",e[e.PIXEL_PACK_BUFFER=35051]="PIXEL_PACK_BUFFER",e[e.PIXEL_UNPACK_BUFFER=35052]="PIXEL_UNPACK_BUFFER",e[e.PIXEL_PACK_BUFFER_BINDING=35053]="PIXEL_PACK_BUFFER_BINDING",e[e.PIXEL_UNPACK_BUFFER_BINDING=35055]="PIXEL_UNPACK_BUFFER_BINDING",e[e.COPY_READ_BUFFER=36662]="COPY_READ_BUFFER",e[e.COPY_WRITE_BUFFER=36663]="COPY_WRITE_BUFFER",e[e.COPY_READ_BUFFER_BINDING=36662]="COPY_READ_BUFFER_BINDING",e[e.COPY_WRITE_BUFFER_BINDING=36663]="COPY_WRITE_BUFFER_BINDING",e[e.FLOAT_MAT2x3=35685]="FLOAT_MAT2x3",e[e.FLOAT_MAT2x4=35686]="FLOAT_MAT2x4",e[e.FLOAT_MAT3x2=35687]="FLOAT_MAT3x2",e[e.FLOAT_MAT3x4=35688]="FLOAT_MAT3x4",e[e.FLOAT_MAT4x2=35689]="FLOAT_MAT4x2",e[e.FLOAT_MAT4x3=35690]="FLOAT_MAT4x3",e[e.UNSIGNED_INT_VEC2=36294]="UNSIGNED_INT_VEC2",e[e.UNSIGNED_INT_VEC3=36295]="UNSIGNED_INT_VEC3",e[e.UNSIGNED_INT_VEC4=36296]="UNSIGNED_INT_VEC4",e[e.UNSIGNED_NORMALIZED=35863]="UNSIGNED_NORMALIZED",e[e.SIGNED_NORMALIZED=36764]="SIGNED_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_INTEGER=35069]="VERTEX_ATTRIB_ARRAY_INTEGER",e[e.VERTEX_ATTRIB_ARRAY_DIVISOR=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR",e[e.TRANSFORM_FEEDBACK_BUFFER_MODE=35967]="TRANSFORM_FEEDBACK_BUFFER_MODE",e[e.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS=35968]="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS",e[e.TRANSFORM_FEEDBACK_VARYINGS=35971]="TRANSFORM_FEEDBACK_VARYINGS",e[e.TRANSFORM_FEEDBACK_BUFFER_START=35972]="TRANSFORM_FEEDBACK_BUFFER_START",e[e.TRANSFORM_FEEDBACK_BUFFER_SIZE=35973]="TRANSFORM_FEEDBACK_BUFFER_SIZE",e[e.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN=35976]="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN",e[e.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS=35978]="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS",e[e.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS=35979]="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS",e[e.INTERLEAVED_ATTRIBS=35980]="INTERLEAVED_ATTRIBS",e[e.SEPARATE_ATTRIBS=35981]="SEPARATE_ATTRIBS",e[e.TRANSFORM_FEEDBACK_BUFFER=35982]="TRANSFORM_FEEDBACK_BUFFER",e[e.TRANSFORM_FEEDBACK_BUFFER_BINDING=35983]="TRANSFORM_FEEDBACK_BUFFER_BINDING",e[e.TRANSFORM_FEEDBACK=36386]="TRANSFORM_FEEDBACK",e[e.TRANSFORM_FEEDBACK_PAUSED=36387]="TRANSFORM_FEEDBACK_PAUSED",e[e.TRANSFORM_FEEDBACK_ACTIVE=36388]="TRANSFORM_FEEDBACK_ACTIVE",e[e.TRANSFORM_FEEDBACK_BINDING=36389]="TRANSFORM_FEEDBACK_BINDING",e[e.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING",e[e.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE",e[e.FRAMEBUFFER_ATTACHMENT_RED_SIZE=33298]="FRAMEBUFFER_ATTACHMENT_RED_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE=33299]="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE=33300]="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE=33301]="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE=33302]="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE=33303]="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE",e[e.FRAMEBUFFER_DEFAULT=33304]="FRAMEBUFFER_DEFAULT",e[e.DEPTH24_STENCIL8=35056]="DEPTH24_STENCIL8",e[e.DRAW_FRAMEBUFFER_BINDING=36006]="DRAW_FRAMEBUFFER_BINDING",e[e.READ_FRAMEBUFFER_BINDING=36010]="READ_FRAMEBUFFER_BINDING",e[e.RENDERBUFFER_SAMPLES=36011]="RENDERBUFFER_SAMPLES",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER=36052]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER",e[e.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE=36182]="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",e[e.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",e[e.UNIFORM_BUFFER_BINDING=35368]="UNIFORM_BUFFER_BINDING",e[e.UNIFORM_BUFFER_START=35369]="UNIFORM_BUFFER_START",e[e.UNIFORM_BUFFER_SIZE=35370]="UNIFORM_BUFFER_SIZE",e[e.MAX_VERTEX_UNIFORM_BLOCKS=35371]="MAX_VERTEX_UNIFORM_BLOCKS",e[e.MAX_FRAGMENT_UNIFORM_BLOCKS=35373]="MAX_FRAGMENT_UNIFORM_BLOCKS",e[e.MAX_COMBINED_UNIFORM_BLOCKS=35374]="MAX_COMBINED_UNIFORM_BLOCKS",e[e.MAX_UNIFORM_BUFFER_BINDINGS=35375]="MAX_UNIFORM_BUFFER_BINDINGS",e[e.MAX_UNIFORM_BLOCK_SIZE=35376]="MAX_UNIFORM_BLOCK_SIZE",e[e.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS=35377]="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS",e[e.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS=35379]="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS",e[e.UNIFORM_BUFFER_OFFSET_ALIGNMENT=35380]="UNIFORM_BUFFER_OFFSET_ALIGNMENT",e[e.ACTIVE_UNIFORM_BLOCKS=35382]="ACTIVE_UNIFORM_BLOCKS",e[e.UNIFORM_TYPE=35383]="UNIFORM_TYPE",e[e.UNIFORM_SIZE=35384]="UNIFORM_SIZE",e[e.UNIFORM_BLOCK_INDEX=35386]="UNIFORM_BLOCK_INDEX",e[e.UNIFORM_OFFSET=35387]="UNIFORM_OFFSET",e[e.UNIFORM_ARRAY_STRIDE=35388]="UNIFORM_ARRAY_STRIDE",e[e.UNIFORM_MATRIX_STRIDE=35389]="UNIFORM_MATRIX_STRIDE",e[e.UNIFORM_IS_ROW_MAJOR=35390]="UNIFORM_IS_ROW_MAJOR",e[e.UNIFORM_BLOCK_BINDING=35391]="UNIFORM_BLOCK_BINDING",e[e.UNIFORM_BLOCK_DATA_SIZE=35392]="UNIFORM_BLOCK_DATA_SIZE",e[e.UNIFORM_BLOCK_ACTIVE_UNIFORMS=35394]="UNIFORM_BLOCK_ACTIVE_UNIFORMS",e[e.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES=35395]="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES",e[e.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER=35396]="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER",e[e.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER=35398]="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER",e[e.OBJECT_TYPE=37138]="OBJECT_TYPE",e[e.SYNC_CONDITION=37139]="SYNC_CONDITION",e[e.SYNC_STATUS=37140]="SYNC_STATUS",e[e.SYNC_FLAGS=37141]="SYNC_FLAGS",e[e.SYNC_FENCE=37142]="SYNC_FENCE",e[e.SYNC_GPU_COMMANDS_COMPLETE=37143]="SYNC_GPU_COMMANDS_COMPLETE",e[e.UNSIGNALED=37144]="UNSIGNALED",e[e.SIGNALED=37145]="SIGNALED",e[e.ALREADY_SIGNALED=37146]="ALREADY_SIGNALED",e[e.TIMEOUT_EXPIRED=37147]="TIMEOUT_EXPIRED",e[e.CONDITION_SATISFIED=37148]="CONDITION_SATISFIED",e[e.WAIT_FAILED=37149]="WAIT_FAILED",e[e.SYNC_FLUSH_COMMANDS_BIT=1]="SYNC_FLUSH_COMMANDS_BIT",e[e.COLOR=6144]="COLOR",e[e.DEPTH=6145]="DEPTH",e[e.STENCIL=6146]="STENCIL",e[e.MIN=32775]="MIN",e[e.MAX=32776]="MAX",e[e.DEPTH_COMPONENT24=33190]="DEPTH_COMPONENT24",e[e.STREAM_READ=35041]="STREAM_READ",e[e.STREAM_COPY=35042]="STREAM_COPY",e[e.STATIC_READ=35045]="STATIC_READ",e[e.STATIC_COPY=35046]="STATIC_COPY",e[e.DYNAMIC_READ=35049]="DYNAMIC_READ",e[e.DYNAMIC_COPY=35050]="DYNAMIC_COPY",e[e.DEPTH_COMPONENT32F=36012]="DEPTH_COMPONENT32F",e[e.DEPTH32F_STENCIL8=36013]="DEPTH32F_STENCIL8",e[e.INVALID_INDEX=4294967295]="INVALID_INDEX",e[e.TIMEOUT_IGNORED=-1]="TIMEOUT_IGNORED",e[e.MAX_CLIENT_WAIT_TIMEOUT_WEBGL=37447]="MAX_CLIENT_WAIT_TIMEOUT_WEBGL",e[e.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE",e[e.UNMASKED_VENDOR_WEBGL=37445]="UNMASKED_VENDOR_WEBGL",e[e.UNMASKED_RENDERER_WEBGL=37446]="UNMASKED_RENDERER_WEBGL",e[e.MAX_TEXTURE_MAX_ANISOTROPY_EXT=34047]="MAX_TEXTURE_MAX_ANISOTROPY_EXT",e[e.TEXTURE_MAX_ANISOTROPY_EXT=34046]="TEXTURE_MAX_ANISOTROPY_EXT",e[e.SRGB_EXT=35904]="SRGB_EXT",e[e.SRGB_ALPHA_EXT=35906]="SRGB_ALPHA_EXT",e[e.SRGB8_ALPHA8_EXT=35907]="SRGB8_ALPHA8_EXT",e[e.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT",e[e.R16_EXT=33322]="R16_EXT",e[e.RG16_EXT=33324]="RG16_EXT",e[e.RGB16_EXT=32852]="RGB16_EXT",e[e.RGBA16_EXT=32859]="RGBA16_EXT",e[e.R16_SNORM_EXT=36760]="R16_SNORM_EXT",e[e.RG16_SNORM_EXT=36761]="RG16_SNORM_EXT",e[e.RGB16_SNORM_EXT=36762]="RGB16_SNORM_EXT",e[e.RGBA16_SNORM_EXT=36763]="RGBA16_SNORM_EXT",e[e.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",e[e.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",e[e.COMPRESSED_RED_RGTC1_EXT=36283]="COMPRESSED_RED_RGTC1_EXT",e[e.COMPRESSED_SIGNED_RED_RGTC1_EXT=36284]="COMPRESSED_SIGNED_RED_RGTC1_EXT",e[e.COMPRESSED_RED_GREEN_RGTC2_EXT=36285]="COMPRESSED_RED_GREEN_RGTC2_EXT",e[e.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT=36286]="COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT",e[e.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",e[e.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT=36493]="COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT",e[e.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT=36494]="COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT",e[e.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT=36495]="COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT",e[e.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",e[e.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",e[e.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",e[e.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",e[e.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",e[e.COMPRESSED_RGBA8_ETC2_EAC=37493]="COMPRESSED_RGBA8_ETC2_EAC",e[e.COMPRESSED_SRGB8_ETC2=37494]="COMPRESSED_SRGB8_ETC2",e[e.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37495]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",e[e.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37496]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37497]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",e[e.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",e[e.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x4_KHR=37809]="COMPRESSED_RGBA_ASTC_5x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x5_KHR=37810]="COMPRESSED_RGBA_ASTC_5x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x5_KHR=37811]="COMPRESSED_RGBA_ASTC_6x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x6_KHR=37812]="COMPRESSED_RGBA_ASTC_6x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x5_KHR=37813]="COMPRESSED_RGBA_ASTC_8x5_KHR",e[e.COMPRESSED_RGBA_ASTC_8x6_KHR=37814]="COMPRESSED_RGBA_ASTC_8x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x8_KHR=37815]="COMPRESSED_RGBA_ASTC_8x8_KHR",e[e.COMPRESSED_RGBA_ASTC_10x5_KHR=37816]="COMPRESSED_RGBA_ASTC_10x5_KHR",e[e.COMPRESSED_RGBA_ASTC_10x6_KHR=37817]="COMPRESSED_RGBA_ASTC_10x6_KHR",e[e.COMPRESSED_RGBA_ASTC_10x8_KHR=37818]="COMPRESSED_RGBA_ASTC_10x8_KHR",e[e.COMPRESSED_RGBA_ASTC_10x10_KHR=37819]="COMPRESSED_RGBA_ASTC_10x10_KHR",e[e.COMPRESSED_RGBA_ASTC_12x10_KHR=37820]="COMPRESSED_RGBA_ASTC_12x10_KHR",e[e.COMPRESSED_RGBA_ASTC_12x12_KHR=37821]="COMPRESSED_RGBA_ASTC_12x12_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR=37840]="COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR=37841]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR=37842]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR=37843]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR=37844]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR=37845]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR=37846]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR=37847]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR=37848]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR=37849]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR=37850]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR=37851]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR=37852]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR=37853]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR",e[e.UNSIGNED_INT_24_8_WEBGL=34042]="UNSIGNED_INT_24_8_WEBGL",e[e.HALF_FLOAT_OES=36193]="HALF_FLOAT_OES",e[e.RGBA32F_EXT=34836]="RGBA32F_EXT",e[e.RGB32F_EXT=34837]="RGB32F_EXT",e[e.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT",e[e.UNSIGNED_NORMALIZED_EXT=35863]="UNSIGNED_NORMALIZED_EXT",e[e.MIN_EXT=32775]="MIN_EXT",e[e.MAX_EXT=32776]="MAX_EXT",e[e.FRAGMENT_SHADER_DERIVATIVE_HINT_OES=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT_OES",e[e.COLOR_ATTACHMENT0_WEBGL=36064]="COLOR_ATTACHMENT0_WEBGL",e[e.COLOR_ATTACHMENT1_WEBGL=36065]="COLOR_ATTACHMENT1_WEBGL",e[e.COLOR_ATTACHMENT2_WEBGL=36066]="COLOR_ATTACHMENT2_WEBGL",e[e.COLOR_ATTACHMENT3_WEBGL=36067]="COLOR_ATTACHMENT3_WEBGL",e[e.COLOR_ATTACHMENT4_WEBGL=36068]="COLOR_ATTACHMENT4_WEBGL",e[e.COLOR_ATTACHMENT5_WEBGL=36069]="COLOR_ATTACHMENT5_WEBGL",e[e.COLOR_ATTACHMENT6_WEBGL=36070]="COLOR_ATTACHMENT6_WEBGL",e[e.COLOR_ATTACHMENT7_WEBGL=36071]="COLOR_ATTACHMENT7_WEBGL",e[e.COLOR_ATTACHMENT8_WEBGL=36072]="COLOR_ATTACHMENT8_WEBGL",e[e.COLOR_ATTACHMENT9_WEBGL=36073]="COLOR_ATTACHMENT9_WEBGL",e[e.COLOR_ATTACHMENT10_WEBGL=36074]="COLOR_ATTACHMENT10_WEBGL",e[e.COLOR_ATTACHMENT11_WEBGL=36075]="COLOR_ATTACHMENT11_WEBGL",e[e.COLOR_ATTACHMENT12_WEBGL=36076]="COLOR_ATTACHMENT12_WEBGL",e[e.COLOR_ATTACHMENT13_WEBGL=36077]="COLOR_ATTACHMENT13_WEBGL",e[e.COLOR_ATTACHMENT14_WEBGL=36078]="COLOR_ATTACHMENT14_WEBGL",e[e.COLOR_ATTACHMENT15_WEBGL=36079]="COLOR_ATTACHMENT15_WEBGL",e[e.DRAW_BUFFER0_WEBGL=34853]="DRAW_BUFFER0_WEBGL",e[e.DRAW_BUFFER1_WEBGL=34854]="DRAW_BUFFER1_WEBGL",e[e.DRAW_BUFFER2_WEBGL=34855]="DRAW_BUFFER2_WEBGL",e[e.DRAW_BUFFER3_WEBGL=34856]="DRAW_BUFFER3_WEBGL",e[e.DRAW_BUFFER4_WEBGL=34857]="DRAW_BUFFER4_WEBGL",e[e.DRAW_BUFFER5_WEBGL=34858]="DRAW_BUFFER5_WEBGL",e[e.DRAW_BUFFER6_WEBGL=34859]="DRAW_BUFFER6_WEBGL",e[e.DRAW_BUFFER7_WEBGL=34860]="DRAW_BUFFER7_WEBGL",e[e.DRAW_BUFFER8_WEBGL=34861]="DRAW_BUFFER8_WEBGL",e[e.DRAW_BUFFER9_WEBGL=34862]="DRAW_BUFFER9_WEBGL",e[e.DRAW_BUFFER10_WEBGL=34863]="DRAW_BUFFER10_WEBGL",e[e.DRAW_BUFFER11_WEBGL=34864]="DRAW_BUFFER11_WEBGL",e[e.DRAW_BUFFER12_WEBGL=34865]="DRAW_BUFFER12_WEBGL",e[e.DRAW_BUFFER13_WEBGL=34866]="DRAW_BUFFER13_WEBGL",e[e.DRAW_BUFFER14_WEBGL=34867]="DRAW_BUFFER14_WEBGL",e[e.DRAW_BUFFER15_WEBGL=34868]="DRAW_BUFFER15_WEBGL",e[e.MAX_COLOR_ATTACHMENTS_WEBGL=36063]="MAX_COLOR_ATTACHMENTS_WEBGL",e[e.MAX_DRAW_BUFFERS_WEBGL=34852]="MAX_DRAW_BUFFERS_WEBGL",e[e.VERTEX_ARRAY_BINDING_OES=34229]="VERTEX_ARRAY_BINDING_OES",e[e.QUERY_COUNTER_BITS_EXT=34916]="QUERY_COUNTER_BITS_EXT",e[e.CURRENT_QUERY_EXT=34917]="CURRENT_QUERY_EXT",e[e.QUERY_RESULT_EXT=34918]="QUERY_RESULT_EXT",e[e.QUERY_RESULT_AVAILABLE_EXT=34919]="QUERY_RESULT_AVAILABLE_EXT",e[e.TIME_ELAPSED_EXT=35007]="TIME_ELAPSED_EXT",e[e.TIMESTAMP_EXT=36392]="TIMESTAMP_EXT",e[e.GPU_DISJOINT_EXT=36795]="GPU_DISJOINT_EXT",e}({});function Uo(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function wo(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Uo(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Uo(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var ll="Failed to create WebGL context in Node.js, headless gl returned null",_l=" luma.gl: loaded under Node.js without headless gl installed, meaning that WebGL contexts can not be created. This may not be an error. For example, this is a typical configuration for isorender applications running on the server.",El={width:1,height:1,debug:!0,throwOnError:!1},Hn=null;function Lo(){return Hn!==null}function Xo(e){e=wo(wo({},El),e);var r=e,t=r.width,n=r.height,i=r.webgl1,a=r.webgl2;if(a&&!i)throw new Error("headless-gl does not support WebGL2");if(!Hn)throw new Error(_l);var u=Hn(t,n,e);if(!u)throw new Error(ll);return u}var Ai=Be(Fe(),1);var Zt={};function dl(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function pl(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function hl(e,r){Zt[e]=!0,r!==void 0&&dl(r)}function ml(e){var r=e.getError;e.getError=function(){var n;do n=r.apply(e),n!==e.NO_ERROR&&(Zt[n]=!0);while(n!==e.NO_ERROR);for(n in Zt)if(Zt[n])return delete Zt[n],parseInt(n,10);return e.NO_ERROR}}var qt=function e(r){var t=r.gl;this.ext=r,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(r.maxVertexAttribs);for(var n=0;n<this.attribs.length;n++){var i=new e.VertexAttrib(t);this.attribs[n]=i}this.maxAttrib=0};qt.VertexAttrib=function(r){this.enabled=!1,this.buffer=null,this.size=4,this.type=r.FLOAT,this.normalized=!1,this.stride=16,this.offset=0,this.cached="",this.recache()};qt.VertexAttrib.prototype.recache=function(){this.cached=[this.size,this.type,this.normalized,this.stride,this.offset].join(":")};var Et=function(r){var t=this;this.gl=r,ml(r);var n=this.original={getParameter:r.getParameter,enableVertexAttribArray:r.enableVertexAttribArray,disableVertexAttribArray:r.disableVertexAttribArray,bindBuffer:r.bindBuffer,getVertexAttrib:r.getVertexAttrib,vertexAttribPointer:r.vertexAttribPointer};r.getParameter=function(a){return a===t.VERTEX_ARRAY_BINDING_OES?t.currentVertexArrayObject===t.defaultVertexArrayObject?null:t.currentVertexArrayObject:n.getParameter.apply(this,arguments)},r.enableVertexAttribArray=function(a){var u=t.currentVertexArrayObject;u.maxAttrib=Math.max(u.maxAttrib,a);var f=u.attribs[a];return f.enabled=!0,n.enableVertexAttribArray.apply(this,arguments)},r.disableVertexAttribArray=function(a){var u=t.currentVertexArrayObject;u.maxAttrib=Math.max(u.maxAttrib,a);var f=u.attribs[a];return f.enabled=!1,n.disableVertexAttribArray.apply(this,arguments)},r.bindBuffer=function(a,u){switch(a){case r.ARRAY_BUFFER:t.currentArrayBuffer=u;break;case r.ELEMENT_ARRAY_BUFFER:t.currentVertexArrayObject.elementArrayBuffer=u;break;default:}return n.bindBuffer.apply(this,arguments)},r.getVertexAttrib=function(a,u){var f=t.currentVertexArrayObject,c=f.attribs[a];switch(u){case r.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:return c.buffer;case r.VERTEX_ATTRIB_ARRAY_ENABLED:return c.enabled;case r.VERTEX_ATTRIB_ARRAY_SIZE:return c.size;case r.VERTEX_ATTRIB_ARRAY_STRIDE:return c.stride;case r.VERTEX_ATTRIB_ARRAY_TYPE:return c.type;case r.VERTEX_ATTRIB_ARRAY_NORMALIZED:return c.normalized;default:return n.getVertexAttrib.apply(this,arguments)}},r.vertexAttribPointer=function(a,u,f,c,l,_){var E=t.currentVertexArrayObject;E.maxAttrib=Math.max(E.maxAttrib,a);var d=E.attribs[a];return d.buffer=t.currentArrayBuffer,d.size=u,d.type=f,d.normalized=c,d.stride=l,d.offset=_,d.recache(),n.vertexAttribPointer.apply(this,arguments)},r.instrumentExtension&&r.instrumentExtension(this,"OES_vertex_array_object"),r.canvas&&r.canvas.addEventListener("webglcontextrestored",function(){pl("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Et.prototype.VERTEX_ARRAY_BINDING_OES=34229;Et.prototype.reset_=function(){var r=this.vertexArrayObjects!==void 0;if(r)for(var t=0;t<this.vertexArrayObjects.length;++t)this.vertexArrayObjects.isAlive=!1;var n=this.gl;this.maxVertexAttribs=n.getParameter(n.MAX_VERTEX_ATTRIBS),this.defaultVertexArrayObject=new qt(this),this.currentVertexArrayObject=null,this.currentArrayBuffer=null,this.vertexArrayObjects=[this.defaultVertexArrayObject],this.bindVertexArrayOES(null)};Et.prototype.createVertexArrayOES=function(){var r=new qt(this);return this.vertexArrayObjects.push(r),r};Et.prototype.deleteVertexArrayOES=function(r){r.isAlive=!1,this.vertexArrayObjects.splice(this.vertexArrayObjects.indexOf(r),1),this.currentVertexArrayObject===r&&this.bindVertexArrayOES(null)};Et.prototype.isVertexArrayOES=function(r){return!!(r&&r instanceof qt&&r.hasBeenBound&&r.ext===this)};Et.prototype.bindVertexArrayOES=function(r){var t=this.gl;if(r&&!r.isAlive){hl(t.INVALID_OPERATION,"bindVertexArrayOES: attempt to bind deleted arrayObject");return}var n=this.original,i=this.currentVertexArrayObject;this.currentVertexArrayObject=r||this.defaultVertexArrayObject,this.currentVertexArrayObject.hasBeenBound=!0;var a=this.currentVertexArrayObject;if(i!==a){(!i||a.elementArrayBuffer!==i.elementArrayBuffer)&&n.bindBuffer.call(t,t.ELEMENT_ARRAY_BUFFER,a.elementArrayBuffer);for(var u=this.currentArrayBuffer,f=Math.max(i?i.maxAttrib:0,a.maxAttrib),c=0;c<=f;c++){var l=a.attribs[c],_=i?i.attribs[c]:null;if((!i||l.enabled!==_.enabled)&&(l.enabled?n.enableVertexAttribArray.call(t,c):n.disableVertexAttribArray.call(t,c)),l.enabled){var E=!1;(!i||l.buffer!==_.buffer)&&(u!==l.buffer&&(n.bindBuffer.call(t,t.ARRAY_BUFFER,l.buffer),u=l.buffer),E=!0),(E||l.cached!==_.cached)&&n.vertexAttribPointer.call(t,c,l.size,l.type,l.normalized,l.stride,l.offset)}}this.currentArrayBuffer!==u&&n.bindBuffer.call(t,t.ARRAY_BUFFER,this.currentArrayBuffer)}};function Ho(e){if(typeof e.createVertexArray!="function"){var r=e.getSupportedExtensions;e.getSupportedExtensions=function(){var i=r.call(this)||[];return i.indexOf("OES_vertex_array_object")<0&&i.push("OES_vertex_array_object"),i};var t=e.getExtension;e.getExtension=function(i){var a=t.call(this,i);return a||(i!=="OES_vertex_array_object"?null:(e.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Et(this)),this.__OESVertexArrayObject))}}}var Rl="Invalid WebGLRenderingContext";var Al="Requires WebGL2";function Tl(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function Q(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function Wn(e){return Q(e)?e:null}function Wo(e){return k(Tl(e),Rl),e}function Dr(e){return k(Q(e),Al),e}var Z,Vo="OES_element_index",ko="WEBGL_draw_buffers",vl="EXT_disjoint_timer_query",gl="EXT_disjoint_timer_query_webgl2",Sl="EXT_texture_filter_anisotropic",jo="WEBGL_debug_renderer_info",Ol=35723,yl=4352,bl=36795,Cl=34047,Nl=37445,Pl=37446,ie=function(r){return Q(r)?void 0:0},Il=(Z={},s(Z,o.READ_BUFFER,function(e){return Q(e)?void 0:o.COLOR_ATTACHMENT0}),s(Z,Ol,function(e){return Q(e)?void 0:yl}),s(Z,o.RASTERIZER_DISCARD,ie),s(Z,o.SAMPLES,ie),s(Z,bl,function(e,r){var t=Q(e)?e.getExtension(gl):e.getExtension(vl);return t&&t.GPU_DISJOINT_EXT?r(t.GPU_DISJOINT_EXT):0}),s(Z,Nl,function(e,r){var t=e.getExtension(jo);return r(t&&t.UNMASKED_VENDOR_WEBGL||o.VENDOR)}),s(Z,Pl,function(e,r){var t=e.getExtension(jo);return r(t&&t.UNMASKED_RENDERER_WEBGL||o.RENDERER)}),s(Z,Cl,function(e,r){var t,n,i=((t=e.luma)===null||t===void 0||(n=t.extensions)===null||n===void 0?void 0:n[Sl])||e.getExtension("EXT_texture_filter_anisotropic");return i?r(i.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1}),s(Z,o.MAX_3D_TEXTURE_SIZE,ie),s(Z,o.MAX_ARRAY_TEXTURE_LAYERS,ie),s(Z,o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,ie),s(Z,o.MAX_COLOR_ATTACHMENTS,function(e,r){if(!Q(e)){var t=e.getExtension(ko);return t?r(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}}),s(Z,o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,ie),s(Z,o.MAX_COMBINED_UNIFORM_BLOCKS,ie),s(Z,o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,ie),s(Z,o.MAX_DRAW_BUFFERS,function(e){if(!Q(e)){var r=e.getExtension(ko);return r?r.MAX_DRAW_BUFFERS_WEBGL:0}}),s(Z,o.MAX_ELEMENT_INDEX,function(e){return e.getExtension(Vo)?2147483647:65535}),s(Z,o.MAX_ELEMENTS_INDICES,function(e){return e.getExtension(Vo)?16777216:65535}),s(Z,o.MAX_ELEMENTS_VERTICES,function(e){return 16777216}),s(Z,o.MAX_FRAGMENT_INPUT_COMPONENTS,ie),s(Z,o.MAX_FRAGMENT_UNIFORM_BLOCKS,ie),s(Z,o.MAX_FRAGMENT_UNIFORM_COMPONENTS,ie),s(Z,o.MAX_SAMPLES,ie),s(Z,o.MAX_SERVER_WAIT_TIMEOUT,ie),s(Z,o.MAX_TEXTURE_LOD_BIAS,ie),s(Z,o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,ie),s(Z,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,ie),s(Z,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,ie),s(Z,o.MAX_UNIFORM_BLOCK_SIZE,ie),s(Z,o.MAX_UNIFORM_BUFFER_BINDINGS,ie),s(Z,o.MAX_VARYING_COMPONENTS,ie),s(Z,o.MAX_VERTEX_OUTPUT_COMPONENTS,ie),s(Z,o.MAX_VERTEX_UNIFORM_BLOCKS,ie),s(Z,o.MAX_VERTEX_UNIFORM_COMPONENTS,ie),s(Z,o.MIN_PROGRAM_TEXEL_OFFSET,ie),s(Z,o.MAX_PROGRAM_TEXEL_OFFSET,ie),s(Z,o.UNIFORM_BUFFER_OFFSET_ALIGNMENT,ie),Z);function Ko(e,r,t){var n=Il[t],i=typeof n=="function"?n(e,r,t):n,a=i!==void 0?i:r(t);return a}function Ft(e){var r=e.luma;if(!r){var t={_polyfilled:!1,_extensions:{}};e.luma=t}return e.luma}var Mt,Fl="OES_vertex_array_object",Yo="ANGLE_instanced_arrays",Ml="WEBGL_draw_buffers",Dl="EXT_disjoint_timer_query",Bl="EXT_texture_filter_anisotropic",xl="VertexArray requires WebGL2 or OES_vertex_array_object extension";function Ul(e,r){return{webgl2:Q(e),ext:e.getExtension(r)}}var Vn=(Mt={},s(Mt,Fl,{meta:{suffix:"OES"},createVertexArray:function(){k(!1,xl)},deleteVertexArray:function(){},bindVertexArray:function(){},isVertexArray:function(){return!1}}),s(Mt,Yo,{meta:{suffix:"ANGLE"},vertexAttribDivisor:function(r,t){k(t===0,"WebGL instanced rendering not supported")},drawElementsInstanced:function(){},drawArraysInstanced:function(){}}),s(Mt,Ml,{meta:{suffix:"WEBGL"},drawBuffers:function(){k(!1)}}),s(Mt,Dl,{meta:{suffix:"EXT"},createQuery:function(){k(!1)},deleteQuery:function(){k(!1)},beginQuery:function(){k(!1)},endQuery:function(){},getQuery:function(r,t){return this.getQueryObject(r,t)},getQueryParameter:function(r,t){return this.getQueryObject(r,t)},getQueryObject:function(r,t){}}),Mt),Br={readBuffer:function(r,t,n){Q(r)&&t(n)},getVertexAttrib:function(r,t,n,i){var a=Ul(r,Yo),u=a.webgl2,f=a.ext,c;switch(i){case o.VERTEX_ATTRIB_ARRAY_INTEGER:c=u?void 0:!1;break;case o.VERTEX_ATTRIB_ARRAY_DIVISOR:c=!u&&!f?0:void 0;break;default:}return c!==void 0?c:t(n,i)},getProgramParameter:function(r,t,n,i){if(!Q(r))switch(i){case o.TRANSFORM_FEEDBACK_BUFFER_MODE:return o.SEPARATE_ATTRIBS;case o.TRANSFORM_FEEDBACK_VARYINGS:return 0;case o.ACTIVE_UNIFORM_BLOCKS:return 0;default:}return t(n,i)},getInternalformatParameter:function(r,t,n,i,a){if(!Q(r))switch(a){case o.SAMPLES:return new Int32Array([0]);default:}var u=r;return u.getInternalformatParameter(n,i,a)},getTexParameter:function(r,t,n,i){switch(i){case o.TEXTURE_MAX_ANISOTROPY_EXT:var a=Ft(r),u=a._extensions,f=u[Bl];i=f&&f.TEXTURE_MAX_ANISOTROPY_EXT||o.TEXTURE_MAX_ANISOTROPY_EXT;break;default:}return t(n,i)},getParameter:Ko,hint:function(r,t,n,i){return t(n,i)}};function zo(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=wl(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
263
263
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,f;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,f=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw f}}}}function wl(e,r){if(e){if(typeof e=="string")return Go(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Go(e,r)}}function Go(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function $o(e){var r=Ft(e);return r._polyfilled||(Ho(e),Ll(e),Xl(e,Vn),Wl(e,{target:r,target2:e}),r._polyfilled=!0),e}function Ll(e){var r=Ft(e),t=e.getSupportedExtensions()||[],n=zo(t),i;try{for(n.s();!(i=n.n()).done;){var a=i.value,u=e.getExtension(a);r._extensions[a]=u}}catch(f){n.e(f)}finally{n.f()}}function Xl(e,r){var t=Ft(e),n=zo(Object.getOwnPropertyNames(r)),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;a!=="overrides"&&Hl(e,{extension:a,target:t,target2:e})}}catch(u){n.e(u)}finally{n.f()}}function Hl(e,r){var t=r.extension,n=r.target,i=r.target2,a=Vn[t];k(a);for(var u=a.meta,f=u===void 0?{}:u,c=f.suffix,l=c===void 0?"":c,_=e.getExtension(t),E=function(){var R=p[d],S="".concat(R).concat(l),v=null;R==="meta"||typeof e[R]=="function"||(_&&typeof _[S]=="function"?v=function(){return _[S].apply(_,arguments)}:typeof a[R]=="function"&&(v=a[R].bind(n))),v&&(n[R]=v,i[R]=v)},d=0,p=Object.keys(a);d<p.length;d++)E()}function Wl(e,r){var t=r.target,n=r.target2;Object.keys(Br).forEach(function(i){if(typeof Br[i]=="function"){var a=e[i]?e[i].bind(e):function(){},u=Br[i].bind(null,e,a);t[i]=u,n[i]=u}})}function kn(e){if(Array.isArray(e))return mt(e)}function Qt(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function jn(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
264
264
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ae(e){return kn(e)||Qt(e)||at(e)||jn()}var I,g,De,xr=(I={},s(I,o.BLEND,!1),s(I,o.BLEND_COLOR,new Float32Array([0,0,0,0])),s(I,o.BLEND_EQUATION_RGB,o.FUNC_ADD),s(I,o.BLEND_EQUATION_ALPHA,o.FUNC_ADD),s(I,o.BLEND_SRC_RGB,o.ONE),s(I,o.BLEND_DST_RGB,o.ZERO),s(I,o.BLEND_SRC_ALPHA,o.ONE),s(I,o.BLEND_DST_ALPHA,o.ZERO),s(I,o.COLOR_CLEAR_VALUE,new Float32Array([0,0,0,0])),s(I,o.COLOR_WRITEMASK,[!0,!0,!0,!0]),s(I,o.CULL_FACE,!1),s(I,o.CULL_FACE_MODE,o.BACK),s(I,o.DEPTH_TEST,!1),s(I,o.DEPTH_CLEAR_VALUE,1),s(I,o.DEPTH_FUNC,o.LESS),s(I,o.DEPTH_RANGE,new Float32Array([0,1])),s(I,o.DEPTH_WRITEMASK,!0),s(I,o.DITHER,!0),s(I,o.CURRENT_PROGRAM,null),s(I,o.FRAMEBUFFER_BINDING,null),s(I,o.RENDERBUFFER_BINDING,null),s(I,o.VERTEX_ARRAY_BINDING,null),s(I,o.ARRAY_BUFFER_BINDING,null),s(I,o.FRONT_FACE,o.CCW),s(I,o.GENERATE_MIPMAP_HINT,o.DONT_CARE),s(I,o.LINE_WIDTH,1),s(I,o.POLYGON_OFFSET_FILL,!1),s(I,o.POLYGON_OFFSET_FACTOR,0),s(I,o.POLYGON_OFFSET_UNITS,0),s(I,o.SAMPLE_ALPHA_TO_COVERAGE,!1),s(I,o.SAMPLE_COVERAGE,!1),s(I,o.SAMPLE_COVERAGE_VALUE,1),s(I,o.SAMPLE_COVERAGE_INVERT,!1),s(I,o.SCISSOR_TEST,!1),s(I,o.SCISSOR_BOX,new Int32Array([0,0,1024,1024])),s(I,o.STENCIL_TEST,!1),s(I,o.STENCIL_CLEAR_VALUE,0),s(I,o.STENCIL_WRITEMASK,4294967295),s(I,o.STENCIL_BACK_WRITEMASK,4294967295),s(I,o.STENCIL_FUNC,o.ALWAYS),s(I,o.STENCIL_REF,0),s(I,o.STENCIL_VALUE_MASK,4294967295),s(I,o.STENCIL_BACK_FUNC,o.ALWAYS),s(I,o.STENCIL_BACK_REF,0),s(I,o.STENCIL_BACK_VALUE_MASK,4294967295),s(I,o.STENCIL_FAIL,o.KEEP),s(I,o.STENCIL_PASS_DEPTH_FAIL,o.KEEP),s(I,o.STENCIL_PASS_DEPTH_PASS,o.KEEP),s(I,o.STENCIL_BACK_FAIL,o.KEEP),s(I,o.STENCIL_BACK_PASS_DEPTH_FAIL,o.KEEP),s(I,o.STENCIL_BACK_PASS_DEPTH_PASS,o.KEEP),s(I,o.VIEWPORT,[0,0,1024,1024]),s(I,o.PACK_ALIGNMENT,4),s(I,o.UNPACK_ALIGNMENT,4),s(I,o.UNPACK_FLIP_Y_WEBGL,!1),s(I,o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),s(I,o.UNPACK_COLORSPACE_CONVERSION_WEBGL,o.BROWSER_DEFAULT_WEBGL),s(I,o.TRANSFORM_FEEDBACK_BINDING,null),s(I,o.COPY_READ_BUFFER_BINDING,null),s(I,o.COPY_WRITE_BUFFER_BINDING,null),s(I,o.PIXEL_PACK_BUFFER_BINDING,null),s(I,o.PIXEL_UNPACK_BUFFER_BINDING,null),s(I,o.FRAGMENT_SHADER_DERIVATIVE_HINT,o.DONT_CARE),s(I,o.READ_FRAMEBUFFER_BINDING,null),s(I,o.RASTERIZER_DISCARD,!1),s(I,o.PACK_ROW_LENGTH,0),s(I,o.PACK_SKIP_PIXELS,0),s(I,o.PACK_SKIP_ROWS,0),s(I,o.UNPACK_ROW_LENGTH,0),s(I,o.UNPACK_IMAGE_HEIGHT,0),s(I,o.UNPACK_SKIP_PIXELS,0),s(I,o.UNPACK_SKIP_ROWS,0),s(I,o.UNPACK_SKIP_IMAGES,0),I),Le=function(r,t,n){return t?r.enable(n):r.disable(n)},Zo=function(r,t,n){return r.hint(n,t)},Pe=function(r,t,n){return r.pixelStorei(n,t)},qo=function(r,t,n){var i;return n===o.FRAMEBUFFER_BINDING?i=Q(r)?o.DRAW_FRAMEBUFFER:o.FRAMEBUFFER:i=o.READ_FRAMEBUFFER,r.bindFramebuffer(i,t)},Jt=function(r,t,n){var i,a=(i={},s(i,o.ARRAY_BUFFER_BINDING,o.ARRAY_BUFFER),s(i,o.COPY_READ_BUFFER_BINDING,o.COPY_READ_BUFFER),s(i,o.COPY_WRITE_BUFFER_BINDING,o.COPY_WRITE_BUFFER),s(i,o.PIXEL_PACK_BUFFER_BINDING,o.PIXEL_PACK_BUFFER),s(i,o.PIXEL_UNPACK_BUFFER_BINDING,o.PIXEL_UNPACK_BUFFER),i),u=a[n];r.bindBuffer(u,t)};function Kn(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}var Qo=(g={},s(g,o.BLEND,Le),s(g,o.BLEND_COLOR,function(e,r){return e.blendColor.apply(e,ae(r))}),s(g,o.BLEND_EQUATION_RGB,"blendEquation"),s(g,o.BLEND_EQUATION_ALPHA,"blendEquation"),s(g,o.BLEND_SRC_RGB,"blendFunc"),s(g,o.BLEND_DST_RGB,"blendFunc"),s(g,o.BLEND_SRC_ALPHA,"blendFunc"),s(g,o.BLEND_DST_ALPHA,"blendFunc"),s(g,o.COLOR_CLEAR_VALUE,function(e,r){return e.clearColor.apply(e,ae(r))}),s(g,o.COLOR_WRITEMASK,function(e,r){return e.colorMask.apply(e,ae(r))}),s(g,o.CULL_FACE,Le),s(g,o.CULL_FACE_MODE,function(e,r){return e.cullFace(r)}),s(g,o.DEPTH_TEST,Le),s(g,o.DEPTH_CLEAR_VALUE,function(e,r){return e.clearDepth(r)}),s(g,o.DEPTH_FUNC,function(e,r){return e.depthFunc(r)}),s(g,o.DEPTH_RANGE,function(e,r){return e.depthRange.apply(e,ae(r))}),s(g,o.DEPTH_WRITEMASK,function(e,r){return e.depthMask(r)}),s(g,o.DITHER,Le),s(g,o.FRAGMENT_SHADER_DERIVATIVE_HINT,Zo),s(g,o.CURRENT_PROGRAM,function(e,r){return e.useProgram(r)}),s(g,o.RENDERBUFFER_BINDING,function(e,r){return e.bindRenderbuffer(o.RENDERBUFFER,r)}),s(g,o.TRANSFORM_FEEDBACK_BINDING,function(e,r){var t,n;return(t=(n=e).bindTransformFeedback)===null||t===void 0?void 0:t.call(n,o.TRANSFORM_FEEDBACK,r)}),s(g,o.VERTEX_ARRAY_BINDING,function(e,r){return e.bindVertexArray(r)}),s(g,o.FRAMEBUFFER_BINDING,qo),s(g,o.READ_FRAMEBUFFER_BINDING,qo),s(g,o.ARRAY_BUFFER_BINDING,Jt),s(g,o.COPY_READ_BUFFER_BINDING,Jt),s(g,o.COPY_WRITE_BUFFER_BINDING,Jt),s(g,o.PIXEL_PACK_BUFFER_BINDING,Jt),s(g,o.PIXEL_UNPACK_BUFFER_BINDING,Jt),s(g,o.FRONT_FACE,function(e,r){return e.frontFace(r)}),s(g,o.GENERATE_MIPMAP_HINT,Zo),s(g,o.LINE_WIDTH,function(e,r){return e.lineWidth(r)}),s(g,o.POLYGON_OFFSET_FILL,Le),s(g,o.POLYGON_OFFSET_FACTOR,"polygonOffset"),s(g,o.POLYGON_OFFSET_UNITS,"polygonOffset"),s(g,o.RASTERIZER_DISCARD,Le),s(g,o.SAMPLE_ALPHA_TO_COVERAGE,Le),s(g,o.SAMPLE_COVERAGE,Le),s(g,o.SAMPLE_COVERAGE_VALUE,"sampleCoverage"),s(g,o.SAMPLE_COVERAGE_INVERT,"sampleCoverage"),s(g,o.SCISSOR_TEST,Le),s(g,o.SCISSOR_BOX,function(e,r){return e.scissor.apply(e,ae(r))}),s(g,o.STENCIL_TEST,Le),s(g,o.STENCIL_CLEAR_VALUE,function(e,r){return e.clearStencil(r)}),s(g,o.STENCIL_WRITEMASK,function(e,r){return e.stencilMaskSeparate(o.FRONT,r)}),s(g,o.STENCIL_BACK_WRITEMASK,function(e,r){return e.stencilMaskSeparate(o.BACK,r)}),s(g,o.STENCIL_FUNC,"stencilFuncFront"),s(g,o.STENCIL_REF,"stencilFuncFront"),s(g,o.STENCIL_VALUE_MASK,"stencilFuncFront"),s(g,o.STENCIL_BACK_FUNC,"stencilFuncBack"),s(g,o.STENCIL_BACK_REF,"stencilFuncBack"),s(g,o.STENCIL_BACK_VALUE_MASK,"stencilFuncBack"),s(g,o.STENCIL_FAIL,"stencilOpFront"),s(g,o.STENCIL_PASS_DEPTH_FAIL,"stencilOpFront"),s(g,o.STENCIL_PASS_DEPTH_PASS,"stencilOpFront"),s(g,o.STENCIL_BACK_FAIL,"stencilOpBack"),s(g,o.STENCIL_BACK_PASS_DEPTH_FAIL,"stencilOpBack"),s(g,o.STENCIL_BACK_PASS_DEPTH_PASS,"stencilOpBack"),s(g,o.VIEWPORT,function(e,r){return e.viewport.apply(e,ae(r))}),s(g,o.PACK_ALIGNMENT,Pe),s(g,o.UNPACK_ALIGNMENT,Pe),s(g,o.UNPACK_FLIP_Y_WEBGL,Pe),s(g,o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Pe),s(g,o.UNPACK_COLORSPACE_CONVERSION_WEBGL,Pe),s(g,o.PACK_ROW_LENGTH,Pe),s(g,o.PACK_SKIP_PIXELS,Pe),s(g,o.PACK_SKIP_ROWS,Pe),s(g,o.UNPACK_ROW_LENGTH,Pe),s(g,o.UNPACK_IMAGE_HEIGHT,Pe),s(g,o.UNPACK_SKIP_PIXELS,Pe),s(g,o.UNPACK_SKIP_ROWS,Pe),s(g,o.UNPACK_SKIP_IMAGES,Pe),s(g,"framebuffer",function(r,t){var n=t&&"handle"in t?t.handle:t;return r.bindFramebuffer(o.FRAMEBUFFER,n)}),s(g,"blend",function(r,t){return t?r.enable(o.BLEND):r.disable(o.BLEND)}),s(g,"blendColor",function(r,t){return r.blendColor.apply(r,ae(t))}),s(g,"blendEquation",function(r,t){var n=typeof t=="number"?[t,t]:t;r.blendEquationSeparate.apply(r,ae(n))}),s(g,"blendFunc",function(r,t){var n=t?.length===2?[].concat(ae(t),ae(t)):t;r.blendFuncSeparate.apply(r,ae(n))}),s(g,"clearColor",function(r,t){return r.clearColor.apply(r,ae(t))}),s(g,"clearDepth",function(r,t){return r.clearDepth(t)}),s(g,"clearStencil",function(r,t){return r.clearStencil(t)}),s(g,"colorMask",function(r,t){return r.colorMask.apply(r,ae(t))}),s(g,"cull",function(r,t){return t?r.enable(o.CULL_FACE):r.disable(o.CULL_FACE)}),s(g,"cullFace",function(r,t){return r.cullFace(t)}),s(g,"depthTest",function(r,t){return t?r.enable(o.DEPTH_TEST):r.disable(o.DEPTH_TEST)}),s(g,"depthFunc",function(r,t){return r.depthFunc(t)}),s(g,"depthMask",function(r,t){return r.depthMask(t)}),s(g,"depthRange",function(r,t){return r.depthRange.apply(r,ae(t))}),s(g,"dither",function(r,t){return t?r.enable(o.DITHER):r.disable(o.DITHER)}),s(g,"derivativeHint",function(r,t){r.hint(o.FRAGMENT_SHADER_DERIVATIVE_HINT,t)}),s(g,"frontFace",function(r,t){return r.frontFace(t)}),s(g,"mipmapHint",function(r,t){return r.hint(o.GENERATE_MIPMAP_HINT,t)}),s(g,"lineWidth",function(r,t){return r.lineWidth(t)}),s(g,"polygonOffsetFill",function(r,t){return t?r.enable(o.POLYGON_OFFSET_FILL):r.disable(o.POLYGON_OFFSET_FILL)}),s(g,"polygonOffset",function(r,t){return r.polygonOffset.apply(r,ae(t))}),s(g,"sampleCoverage",function(r,t){return r.sampleCoverage.apply(r,ae(t))}),s(g,"scissorTest",function(r,t){return t?r.enable(o.SCISSOR_TEST):r.disable(o.SCISSOR_TEST)}),s(g,"scissor",function(r,t){return r.scissor.apply(r,ae(t))}),s(g,"stencilTest",function(r,t){return t?r.enable(o.STENCIL_TEST):r.disable(o.STENCIL_TEST)}),s(g,"stencilMask",function(r,t){t=Kn(t)?t:[t,t];var n=t,i=V(n,2),a=i[0],u=i[1];r.stencilMaskSeparate(o.FRONT,a),r.stencilMaskSeparate(o.BACK,u)}),s(g,"stencilFunc",function(r,t){t=Kn(t)&&t.length===3?[].concat(ae(t),ae(t)):t;var n=t,i=V(n,6),a=i[0],u=i[1],f=i[2],c=i[3],l=i[4],_=i[5];r.stencilFuncSeparate(o.FRONT,a,u,f),r.stencilFuncSeparate(o.BACK,c,l,_)}),s(g,"stencilOp",function(r,t){t=Kn(t)&&t.length===3?[].concat(ae(t),ae(t)):t;var n=t,i=V(n,6),a=i[0],u=i[1],f=i[2],c=i[3],l=i[4],_=i[5];r.stencilOpSeparate(o.FRONT,a,u,f),r.stencilOpSeparate(o.BACK,c,l,_)}),s(g,"viewport",function(r,t){return r.viewport.apply(r,ae(t))}),g);function le(e,r,t){return r[e]!==void 0?r[e]:t[e]}var Jo={blendEquation:function(r,t,n){return r.blendEquationSeparate(le(o.BLEND_EQUATION_RGB,t,n),le(o.BLEND_EQUATION_ALPHA,t,n))},blendFunc:function(r,t,n){return r.blendFuncSeparate(le(o.BLEND_SRC_RGB,t,n),le(o.BLEND_DST_RGB,t,n),le(o.BLEND_SRC_ALPHA,t,n),le(o.BLEND_DST_ALPHA,t,n))},polygonOffset:function(r,t,n){return r.polygonOffset(le(o.POLYGON_OFFSET_FACTOR,t,n),le(o.POLYGON_OFFSET_UNITS,t,n))},sampleCoverage:function(r,t,n){return r.sampleCoverage(le(o.SAMPLE_COVERAGE_VALUE,t,n),le(o.SAMPLE_COVERAGE_INVERT,t,n))},stencilFuncFront:function(r,t,n){return r.stencilFuncSeparate(o.FRONT,le(o.STENCIL_FUNC,t,n),le(o.STENCIL_REF,t,n),le(o.STENCIL_VALUE_MASK,t,n))},stencilFuncBack:function(r,t,n){return r.stencilFuncSeparate(o.BACK,le(o.STENCIL_BACK_FUNC,t,n),le(o.STENCIL_BACK_REF,t,n),le(o.STENCIL_BACK_VALUE_MASK,t,n))},stencilOpFront:function(r,t,n){return r.stencilOpSeparate(o.FRONT,le(o.STENCIL_FAIL,t,n),le(o.STENCIL_PASS_DEPTH_FAIL,t,n),le(o.STENCIL_PASS_DEPTH_PASS,t,n))},stencilOpBack:function(r,t,n){return r.stencilOpSeparate(o.BACK,le(o.STENCIL_BACK_FAIL,t,n),le(o.STENCIL_BACK_PASS_DEPTH_FAIL,t,n),le(o.STENCIL_BACK_PASS_DEPTH_PASS,t,n))}},Yn={enable:function(r,t){return r(s({},t,!0))},disable:function(r,t){return r(s({},t,!1))},pixelStorei:function(r,t,n){return r(s({},t,n))},hint:function(r,t,n){return r(s({},t,n))},useProgram:function(r,t){return r(s({},o.CURRENT_PROGRAM,t))},bindRenderbuffer:function(r,t,n){return r(s({},o.RENDERBUFFER_BINDING,n))},bindTransformFeedback:function(r,t,n){return r(s({},o.TRANSFORM_FEEDBACK_BINDING,n))},bindVertexArray:function(r,t){return r(s({},o.VERTEX_ARRAY_BINDING,t))},bindFramebuffer:function(r,t,n){var i;switch(t){case o.FRAMEBUFFER:return r((i={},s(i,o.DRAW_FRAMEBUFFER_BINDING,n),s(i,o.READ_FRAMEBUFFER_BINDING,n),i));case o.DRAW_FRAMEBUFFER:return r(s({},o.DRAW_FRAMEBUFFER_BINDING,n));case o.READ_FRAMEBUFFER:return r(s({},o.READ_FRAMEBUFFER_BINDING,n));default:return null}},bindBuffer:function(r,t,n){var i,a=(i={},s(i,o.ARRAY_BUFFER,[o.ARRAY_BUFFER_BINDING]),s(i,o.COPY_READ_BUFFER,[o.COPY_READ_BUFFER_BINDING]),s(i,o.COPY_WRITE_BUFFER,[o.COPY_WRITE_BUFFER_BINDING]),s(i,o.PIXEL_PACK_BUFFER,[o.PIXEL_PACK_BUFFER_BINDING]),s(i,o.PIXEL_UNPACK_BUFFER,[o.PIXEL_UNPACK_BUFFER_BINDING]),i)[t];return a?r(s({},a,n)):{valueChanged:!0}},blendColor:function(r,t,n,i,a){return r(s({},o.BLEND_COLOR,new Float32Array([t,n,i,a])))},blendEquation:function(r,t){var n;return r((n={},s(n,o.BLEND_EQUATION_RGB,t),s(n,o.BLEND_EQUATION_ALPHA,t),n))},blendEquationSeparate:function(r,t,n){var i;return r((i={},s(i,o.BLEND_EQUATION_RGB,t),s(i,o.BLEND_EQUATION_ALPHA,n),i))},blendFunc:function(r,t,n){var i;return r((i={},s(i,o.BLEND_SRC_RGB,t),s(i,o.BLEND_DST_RGB,n),s(i,o.BLEND_SRC_ALPHA,t),s(i,o.BLEND_DST_ALPHA,n),i))},blendFuncSeparate:function(r,t,n,i,a){var u;return r((u={},s(u,o.BLEND_SRC_RGB,t),s(u,o.BLEND_DST_RGB,n),s(u,o.BLEND_SRC_ALPHA,i),s(u,o.BLEND_DST_ALPHA,a),u))},clearColor:function(r,t,n,i,a){return r(s({},o.COLOR_CLEAR_VALUE,new Float32Array([t,n,i,a])))},clearDepth:function(r,t){return r(s({},o.DEPTH_CLEAR_VALUE,t))},clearStencil:function(r,t){return r(s({},o.STENCIL_CLEAR_VALUE,t))},colorMask:function(r,t,n,i,a){return r(s({},o.COLOR_WRITEMASK,[t,n,i,a]))},cullFace:function(r,t){return r(s({},o.CULL_FACE_MODE,t))},depthFunc:function(r,t){return r(s({},o.DEPTH_FUNC,t))},depthRange:function(r,t,n){return r(s({},o.DEPTH_RANGE,new Float32Array([t,n])))},depthMask:function(r,t){return r(s({},o.DEPTH_WRITEMASK,t))},frontFace:function(r,t){return r(s({},o.FRONT_FACE,t))},lineWidth:function(r,t){return r(s({},o.LINE_WIDTH,t))},polygonOffset:function(r,t,n){var i;return r((i={},s(i,o.POLYGON_OFFSET_FACTOR,t),s(i,o.POLYGON_OFFSET_UNITS,n),i))},sampleCoverage:function(r,t,n){var i;return r((i={},s(i,o.SAMPLE_COVERAGE_VALUE,t),s(i,o.SAMPLE_COVERAGE_INVERT,n),i))},scissor:function(r,t,n,i,a){return r(s({},o.SCISSOR_BOX,new Int32Array([t,n,i,a])))},stencilMask:function(r,t){var n;return r((n={},s(n,o.STENCIL_WRITEMASK,t),s(n,o.STENCIL_BACK_WRITEMASK,t),n))},stencilMaskSeparate:function(r,t,n){return r(s({},t===o.FRONT?o.STENCIL_WRITEMASK:o.STENCIL_BACK_WRITEMASK,n))},stencilFunc:function(r,t,n,i){var a;return r((a={},s(a,o.STENCIL_FUNC,t),s(a,o.STENCIL_REF,n),s(a,o.STENCIL_VALUE_MASK,i),s(a,o.STENCIL_BACK_FUNC,t),s(a,o.STENCIL_BACK_REF,n),s(a,o.STENCIL_BACK_VALUE_MASK,i),a))},stencilFuncSeparate:function(r,t,n,i,a){var u;return r((u={},s(u,t===o.FRONT?o.STENCIL_FUNC:o.STENCIL_BACK_FUNC,n),s(u,t===o.FRONT?o.STENCIL_REF:o.STENCIL_BACK_REF,i),s(u,t===o.FRONT?o.STENCIL_VALUE_MASK:o.STENCIL_BACK_VALUE_MASK,a),u))},stencilOp:function(r,t,n,i){var a;return r((a={},s(a,o.STENCIL_FAIL,t),s(a,o.STENCIL_PASS_DEPTH_FAIL,n),s(a,o.STENCIL_PASS_DEPTH_PASS,i),s(a,o.STENCIL_BACK_FAIL,t),s(a,o.STENCIL_BACK_PASS_DEPTH_FAIL,n),s(a,o.STENCIL_BACK_PASS_DEPTH_PASS,i),a))},stencilOpSeparate:function(r,t,n,i,a){var u;return r((u={},s(u,t===o.FRONT?o.STENCIL_FAIL:o.STENCIL_BACK_FAIL,n),s(u,t===o.FRONT?o.STENCIL_PASS_DEPTH_FAIL:o.STENCIL_BACK_PASS_DEPTH_FAIL,i),s(u,t===o.FRONT?o.STENCIL_PASS_DEPTH_PASS:o.STENCIL_BACK_PASS_DEPTH_PASS,a),u))},viewport:function(r,t,n,i,a){return r(s({},o.VIEWPORT,[t,n,i,a]))}},Xe=function(r,t){return r.isEnabled(t)},Gn=(De={},s(De,o.BLEND,Xe),s(De,o.CULL_FACE,Xe),s(De,o.DEPTH_TEST,Xe),s(De,o.DITHER,Xe),s(De,o.POLYGON_OFFSET_FILL,Xe),s(De,o.SAMPLE_ALPHA_TO_COVERAGE,Xe),s(De,o.SAMPLE_COVERAGE,Xe),s(De,o.SCISSOR_TEST,Xe),s(De,o.STENCIL_TEST,Xe),s(De,o.RASTERIZER_DISCARD,Xe),De),es=new Set([o.ACTIVE_TEXTURE,o.TRANSFORM_FEEDBACK_ACTIVE,o.TRANSFORM_FEEDBACK_PAUSED,o.TRANSFORM_FEEDBACK_BUFFER_BINDING,o.UNIFORM_BUFFER_BINDING,o.ELEMENT_ARRAY_BUFFER_BINDING,o.IMPLEMENTATION_COLOR_READ_FORMAT,o.IMPLEMENTATION_COLOR_READ_TYPE,o.READ_BUFFER,o.DRAW_BUFFER0,o.DRAW_BUFFER1,o.DRAW_BUFFER2,o.DRAW_BUFFER3,o.DRAW_BUFFER4,o.DRAW_BUFFER5,o.DRAW_BUFFER6,o.DRAW_BUFFER7,o.DRAW_BUFFER8,o.DRAW_BUFFER9,o.DRAW_BUFFER10,o.DRAW_BUFFER11,o.DRAW_BUFFER12,o.DRAW_BUFFER13,o.DRAW_BUFFER14,o.DRAW_BUFFER15,o.SAMPLER_BINDING,o.TEXTURE_BINDING_2D,o.TEXTURE_BINDING_2D_ARRAY,o.TEXTURE_BINDING_3D,o.TEXTURE_BINDING_CUBE_MAP]);function Vl(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=kl(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
265
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,f;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,f=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw f}}}}function kl(e,r){if(e){if(typeof e=="string")return ts(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return ts(e,r)}}function ts(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function Dt(e,r){var t=me.attach(e),n=t.gl;if(!jl(r)){var i={};for(var a in r){var u=Number(a),f=Qo[a];f&&(typeof f=="string"?i[f]=!0:f(n,r[a],u))}var c=n.state&&n.state.cache;if(c)for(var l in i){var _=Jo[l];_(n,r,c)}}}function rs(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xr,t=me.attach(e),n=t.gl;if(typeof r=="number"){var i=r,a=Gn[i];return a?a(n,i):n.getParameter(i)}var u=Array.isArray(r)?r:Object.keys(r),f={},c=Vl(u),l;try{for(c.s();!(l=c.n()).done;){var _=l.value,E=Gn[_];f[_]=E?E(n,Number(_)):n.getParameter(Number(_))}}catch(d){c.e(d)}finally{c.f()}return f}function jl(e){for(var r in e)return!1;return!0}function ns(e,r){if(e===r)return!0;var t=Array.isArray(e)||ArrayBuffer.isView(e),n=Array.isArray(r)||ArrayBuffer.isView(r);if(t&&n&&e.length===r.length){for(var i=0;i<e.length;++i)if(e[i]!==r[i])return!1;return!0}return!1}var Kl=function(){function e(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.copyState,i=n===void 0?!1:n,a=t.log,u=a===void 0?function(){}:a;C(this,e),s(this,"gl",void 0),s(this,"program",null),s(this,"stateStack",[]),s(this,"enable",!0),s(this,"cache",void 0),s(this,"log",void 0),this.gl=r,this.cache=i?rs(r):Object.assign({},xr),this.log=u,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return N(e,[{key:"push",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})}},{key:"pop",value:function(){k(this.stateStack.length>0);var t=this.stateStack[this.stateStack.length-1];Dt(this.gl,t),this.stateStack.pop()}},{key:"_updateCache",value:function(t){var n=!1,i,a=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(var u in t){k(u!==void 0);var f=t[u],c=this.cache[u];ns(f,c)||(n=!0,i=c,a&&!(u in a)&&(a[u]=c),this.cache[u]=f)}return{valueChanged:n,oldValue:i}}}]),e}();function dt(e){return e.state}function zn(e,r){var t=r.enable,n=t===void 0?!0:t,i=r.copyState;if(k(i!==void 0),!e.state){e.state=new Kl(e,{copyState:i}),Gl(e);for(var a in Yn){var u=Yn[a];Yl(e,a,u)}is(e,"getParameter"),is(e,"isEnabled")}var f=dt(e);return f.enable=n,e}function pt(e){var r=dt(e);r||(zn(e,{copyState:!1}),r=dt(e)),r.push()}function rt(e){var r=dt(e);k(r),r.pop()}function is(e,r){var t=e[r].bind(e);e[r]=function(i){if(i===void 0||es.has(i))return t(i);var a=dt(e);return i in a.cache||(a.cache[i]=t(i)),a.enable?a.cache[i]:t(i)},Object.defineProperty(e[r],"name",{value:"".concat(r,"-from-cache"),configurable:!1})}function Yl(e,r,t){if(e[r]){var n=e[r].bind(e);e[r]=function(){for(var a=dt(e),u=arguments.length,f=new Array(u),c=0;c<u;c++)f[c]=arguments[c];var l=t.apply(void 0,[a._updateCache].concat(f)),_=l.valueChanged,E=l.oldValue;return _&&n.apply(void 0,f),E},Object.defineProperty(e[r],"name",{value:"".concat(r,"-to-cache"),configurable:!1})}}function Gl(e){var r=e.useProgram.bind(e);e.useProgram=function(n){var i=dt(e);i.program!==n&&(r(n),i.program=n)}}function as(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Bt(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?as(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):as(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var zl={webgl2:!0,webgl1:!0,powerPreference:"high-performance",onContextLost:function(){return console.error("WebGL context lost")},onContextRestored:function(){return console.info("WebGL context restored")}};function os(e,r){r=Bt(Bt({},zl),r);var t=null,n=function(_){return t=_.statusMessage||t};e.addEventListener("webglcontextcreationerror",n,!1);var i=null;if(r.type==="webgl2"&&(r=Bt(Bt({},r),{},{webgl1:!1})),r.type==="webgl1"&&(r=Bt(Bt({},r),{},{webgl2:!1})),r.webgl2&&(i=i||e.getContext("webgl2",r)),r.webgl1&&(i=i||e.getContext("webgl",r)),e.removeEventListener("webglcontextcreationerror",n,!1),!i)throw new Error("Failed to create ".concat(r.webgl2&&!r.webgl1?"WebGL2":"WebGL"," context: ").concat(t||"Unknown error"));if(r.onContextLost){var a=r,u=a.onContextLost;e.addEventListener("webglcontextlost",function(l){return u(l)},!1)}if(r.onContextRestored){var f=r,c=f.onContextRestored;e.addEventListener("webglcontextrestored",function(l){return c(l)},!1)}return i}function ss(e){var r=e.getParameter(o.VENDOR),t=e.getParameter(o.RENDERER),n=e.getExtension("WEBGL_debug_renderer_info"),i=e.getParameter(n?n.UNMASKED_VENDOR_WEBGL:o.VENDOR),a=e.getParameter(n?n.UNMASKED_RENDERER_WEBGL:o.RENDERER),u=i||r,f=a||t,c=$l(u,f);return{type:Q(e)?"webgl2":"webgl",gpu:c,vendor:i||r,renderer:a||t,version:e.getParameter(o.VERSION),shadingLanguages:["glsl"],shadingLanguageVersions:{glsl:e.getParameter(o.SHADING_LANGUAGE_VERSION)}}}function $l(e,r){return/NVIDIA/i.exec(e)||/NVIDIA/i.exec(r)?"nvidia":/INTEL/i.exec(e)||/INTEL/i.exec(r)?"intel":/Apple/i.exec(e)||/Apple/i.exec(r)?"apple":/AMD/i.exec(e)||/AMD/i.exec(r)||/ATI/i.exec(e)||/ATI/i.exec(r)?"amd":/SwiftShader/i.exec(e)||/SwiftShader/i.exec(r)?"software":"unknown"}function us(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=typeof window<"u"?window.navigator||{}:{},t=e.userAgent||r.userAgent||"",n=t.indexOf("MSIE ")!==-1,i=t.indexOf("Trident/")!==-1;return n||i}var ge,He,Ae="texture-compression-bc",ee="texture-compression-astc",We="texture-compression-etc2",Zl="texture-compression-etc1-webgl",Ur="texture-compression-pvrtc-webgl",$n="texture-compression-atc-webgl",er="WEBGL_compressed_texture_s3tc",tr="WEBGL_compressed_texture_s3tc_srgb",xt="EXT_texture_compression_rgtc",rr="EXT_texture_compression_bptc",ql="WEBGL_compressed_texture_etc",Ql="WEBGL_compressed_texture_astc",Jl="WEBGL_compressed_texture_etc1",e_="WEBGL_compressed_texture_pvrtc",t_="WEBGL_compressed_texture_atc",fs="EXT_sRGB",Ze="EXT_texture_norm16",r_="WEBGL_color_buffer_float",n_="EXT_color_buffer_float",xe=function(r,t){return r.getExtension(t)},ht=function(r,t){return t.every(function(n){return r.getExtension(n)})},Zn={"texture-blend-float-webgl1":function(r){return Q(r)?!0:xe(r,"EXT_float_blend")},"texture-formats-srgb-webgl1":function(r){return Q(r)?!0:xe(r,fs)},"texture-formats-depth-webgl1":function(r){return Q(r)?!0:xe(r,"WEBGL_depth_texture")},"texture-formats-float32-webgl1":function(r){return Q(r)?!0:xe(r,"OES_texture_float")},"texture-formats-float16-webgl1":function(r){return Q(r)?!0:xe(r,"OES_texture_half_float")},"texture-formats-norm16-webgl":function(r){return Q(r)?xe(r,Ze):!1},"texture-filter-linear-float32-webgl":function(r){return xe(r,"OES_texture_float_linear")},"texture-filter-linear-float16-webgl":function(r){return xe(r,"OES_texture_half_float_linear")},"texture-filter-anisotropic-webgl":function(r){return xe(r,"EXT_texture_filter_anisotropic")},"texture-renderable-float32-webgl":function(r){return xe(r,"EXT_color_buffer_float")},"texture-renderable-float16-webgl":function(r){return xe(r,"EXT_color_buffer_half_float")},"texture-compression-bc":function(r){return ht(r,[er,tr,xt,rr])},"texture-compression-bc5-webgl":function(r){return ht(r,[xt])},"texture-compression-etc2":function(r){return ht(r,[ql])},"texture-compression-astc":function(r){return ht(r,[Ql])},"texture-compression-etc1-webgl":function(r){return ht(r,[Jl])},"texture-compression-pvrtc-webgl":function(r){return ht(r,[e_])},"texture-compression-atc-webgl":function(r){return ht(r,[t_])}};function i_(e,r){var t;return((t=Zn[r])===null||t===void 0?void 0:t.call(Zn,e))||!1}function cs(e){var r=Object.keys(Zn);return r.filter(function(t){return i_(e,t)})}var nr={"rgb8unorm-unsized":{gl:o.RGB,gl1:o.RGB,b:4,c:2,bpp:4,dataFormat:o.RGB,types:[o.UNSIGNED_BYTE,o.UNSIGNED_SHORT_5_6_5]},"rgba8unorm-unsized":{gl:o.RGBA,gl1:o.RGBA,b:4,c:2,bpp:4,dataFormat:o.RGBA,types:[o.UNSIGNED_BYTE,o.UNSIGNED_SHORT_4_4_4_4,o.UNSIGNED_SHORT_5_5_5_1]},r8unorm:{gl:o.R8,b:1,c:1,renderbuffer:!0},r8snorm:{gl:o.R8_SNORM,b:1,c:1},r8uint:{gl:o.R8UI,b:1,c:1,renderbuffer:!0},r8sint:{gl:o.R8I,b:1,c:1,renderbuffer:!0},rg8unorm:{gl:o.RG8,b:2,c:2,renderbuffer:!0},rg8snorm:{gl:o.RG8_SNORM,b:2,c:2},rg8uint:{gl:o.RG8UI,b:2,c:2,renderbuffer:!0},rg8sint:{gl:o.RG8I,b:2,c:2,renderbuffer:!0},r16uint:{gl:o.R16UI,b:2,c:1,renderbuffer:!0},r16sint:{gl:o.R16I,b:2,c:1,renderbuffer:!0},r16float:{gl:o.R16F,b:2,c:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"r16unorm-webgl":{gl:o.R16_EXT,b:2,c:1,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Ze},"r16snorm-webgl":{gl:o.R16_SNORM_EXT,b:2,c:1,f:"texture-formats-norm16-webgl",x:Ze},"rgba4unorm-webgl":{gl:o.RGBA4,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb565unorm-webgl":{gl:o.RGB565,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb5a1unorm-webgl":{gl:o.RGB5_A1,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb8unorm-webgl":{gl:o.RGB8,b:3,c:3,wgpu:!1},"rgb8snorm-webgl":{gl:o.RGB8_SNORM,b:3,c:3,wgpu:!1},rgba8unorm:{gl:o.RGBA8,gl1:o.RGBA,b:4,c:2,bpp:4},"rgba8unorm-srgb":{gl:o.SRGB8_ALPHA8,gl1:o.SRGB_ALPHA_EXT,b:4,c:4,gl1ext:fs,bpp:4},rgba8snorm:{gl:o.RGBA8_SNORM,b:4,c:4},rgba8uint:{gl:o.RGBA8UI,b:4,c:4,bpp:4},rgba8sint:{gl:o.RGBA8I,b:4,c:4,bpp:4},bgra8unorm:{b:4,c:4},"bgra8unorm-srgb":{b:4,c:4},rg16uint:{gl:o.RG16UI,b:4,c:1,bpp:4},rg16sint:{gl:o.RG16I,b:4,c:2,bpp:4},rg16float:{gl:o.RG16F,bpp:4,b:4,c:2,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"rg16unorm-webgl":{gl:o.RG16_EXT,b:2,c:2,f:"texture-formats-norm16-webgl",x:Ze},"rg16snorm-webgl":{gl:o.RG16_SNORM_EXT,b:2,c:2,f:"texture-formats-norm16-webgl",x:Ze},r32uint:{gl:o.R32UI,b:4,c:1,bpp:4,renderbuffer:!0},r32sint:{gl:o.R32I,b:4,c:1,bpp:4,renderbuffer:!0},r32float:{gl:o.R32F,bpp:4,b:4,c:1,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgb9e5ufloat:{gl:o.RGB9_E5,b:4,c:3,p:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},rg11b10ufloat:{gl:o.R11F_G11F_B10F,b:4,c:3,p:1,render:"texture-renderable-float32-webgl",renderbuffer:!0},rgb10a2unorm:{gl:o.RGB10_A2,b:4,c:4,p:1,renderbuffer:!0},"rgb10a2unorm-webgl":{b:4,c:4,gl:o.RGB10_A2UI,p:1,wgpu:!1,bpp:4,renderbuffer:!0},"rgb16unorm-webgl":{gl:o.RGB16_EXT,b:2,c:3,f:"texture-formats-norm16-webgl",x:Ze},"rgb16snorm-webgl":{gl:o.RGB16_SNORM_EXT,b:2,c:3,f:"texture-formats-norm16-webgl",x:Ze},rg32uint:{gl:o.RG32UI,b:8,c:2,renderbuffer:!0},rg32sint:{gl:o.RG32I,b:8,c:2,renderbuffer:!0},rg32float:{gl:o.RG32F,b:8,c:2,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},rgba16uint:{gl:o.RGBA16UI,b:8,c:4,renderbuffer:!0},rgba16sint:{gl:o.RGBA16I,b:8,c:4,renderbuffer:!0},rgba16float:{gl:o.RGBA16F,gl1:o.RGBA,b:8,c:4,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rgba16unorm-webgl":{gl:o.RGBA16_EXT,b:2,c:4,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Ze},"rgba16snorm-webgl":{gl:o.RGBA16_SNORM_EXT,b:2,c:4,f:"texture-formats-norm16-webgl",x:Ze},"rgb32float-webgl":{gl:o.RGB32F,gl1:o.RGB,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",gl2ext:n_,gl1ext:r_,dataFormat:o.RGB,types:[o.FLOAT]},rgba32uint:{gl:o.RGBA32UI,b:16,c:4,renderbuffer:!0},rgba32sint:{gl:o.RGBA32I,b:16,c:4,renderbuffer:!0},rgba32float:{gl:o.RGBA32F,b:16,c:4,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},stencil8:{gl:o.STENCIL_INDEX8,gl1:o.STENCIL_INDEX8,b:1,c:1,attachment:o.STENCIL_ATTACHMENT,renderbuffer:!0},depth16unorm:{gl:o.DEPTH_COMPONENT16,gl1:o.DEPTH_COMPONENT16,b:2,c:1,attachment:o.DEPTH_ATTACHMENT,renderbuffer:!0},depth24plus:{gl:o.DEPTH_COMPONENT24,b:3,c:1,attachment:o.DEPTH_ATTACHMENT},depth32float:{gl:o.DEPTH_COMPONENT32F,b:4,c:1,attachment:o.DEPTH_ATTACHMENT,renderbuffer:!0},"depth24plus-stencil8":{gl:o.DEPTH_STENCIL,gl1:o.DEPTH_STENCIL,b:4,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0,depthTexture:!0},"depth24unorm-stencil8":{gl:o.DEPTH24_STENCIL8,b:4,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"depth32float-stencil8":{gl:o.DEPTH32F_STENCIL8,b:5,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"bc1-rgb-unorm-webgl":{gl:o.COMPRESSED_RGB_S3TC_DXT1_EXT,x:er,f:Ae},"bc1-rgb-unorm-srgb-webgl":{gl:o.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:tr,f:Ae},"bc1-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT1_EXT,x:er,f:Ae},"bc1-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:tr,f:Ae},"bc2-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT3_EXT,x:er,f:Ae},"bc2-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,x:tr,f:Ae},"bc3-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT5_EXT,x:er,f:Ae},"bc3-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,x:tr,f:Ae},"bc4-r-unorm":{gl:o.COMPRESSED_RED_RGTC1_EXT,x:xt,f:Ae},"bc4-r-snorm":{gl:o.COMPRESSED_SIGNED_RED_RGTC1_EXT,x:xt,f:Ae},"bc5-rg-unorm":{gl:o.COMPRESSED_RED_GREEN_RGTC2_EXT,x:xt,f:Ae},"bc5-rg-snorm":{gl:o.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,x:xt,f:Ae},"bc6h-rgb-ufloat":{gl:o.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,x:rr,f:Ae},"bc6h-rgb-float":{gl:o.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,x:rr,f:Ae},"bc7-rgba-unorm":{gl:o.COMPRESSED_RGBA_BPTC_UNORM_EXT,x:rr,f:Ae},"bc7-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT,x:rr,f:Ae},"etc2-rgb8unorm":{gl:o.COMPRESSED_RGB8_ETC2,f:We},"etc2-rgb8unorm-srgb":{gl:o.COMPRESSED_SRGB8_ETC2,f:We},"etc2-rgb8a1unorm":{gl:o.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:We},"etc2-rgb8a1unorm-srgb":{gl:o.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:We},"etc2-rgba8unorm":{gl:o.COMPRESSED_RGBA8_ETC2_EAC,f:We},"etc2-rgba8unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,f:We},"eac-r11unorm":{gl:o.COMPRESSED_R11_EAC,f:We},"eac-r11snorm":{gl:o.COMPRESSED_SIGNED_R11_EAC,f:We},"eac-rg11unorm":{gl:o.COMPRESSED_RG11_EAC,f:We},"eac-rg11snorm":{gl:o.COMPRESSED_SIGNED_RG11_EAC,f:We},"astc-4x4-unorm":{gl:o.COMPRESSED_RGBA_ASTC_4x4_KHR,f:ee},"astc-4x4-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,f:ee},"astc-5x4-unorm":{gl:o.COMPRESSED_RGBA_ASTC_5x4_KHR,f:ee},"astc-5x4-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,f:ee},"astc-5x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_5x5_KHR,f:ee},"astc-5x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,f:ee},"astc-6x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_6x5_KHR,f:ee},"astc-6x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,f:ee},"astc-6x6-unorm":{gl:o.COMPRESSED_RGBA_ASTC_6x6_KHR,f:ee},"astc-6x6-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,f:ee},"astc-8x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_8x5_KHR,f:ee},"astc-8x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,f:ee},"astc-8x6-unorm":{gl:o.COMPRESSED_RGBA_ASTC_8x6_KHR,f:ee},"astc-8x6-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,f:ee},"astc-8x8-unorm":{gl:o.COMPRESSED_RGBA_ASTC_8x8_KHR,f:ee},"astc-8x8-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,f:ee},"astc-10x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x10_KHR,f:ee},"astc-10x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:ee},"astc-10x6-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x6_KHR,f:ee},"astc-10x6-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,f:ee},"astc-10x8-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x8_KHR,f:ee},"astc-10x8-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,f:ee},"astc-10x10-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x10_KHR,f:ee},"astc-10x10-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:ee},"astc-12x10-unorm":{gl:o.COMPRESSED_RGBA_ASTC_12x10_KHR,f:ee},"astc-12x10-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,f:ee},"astc-12x12-unorm":{gl:o.COMPRESSED_RGBA_ASTC_12x12_KHR,f:ee},"astc-12x12-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,f:ee},"pvrtc-rgb4unorm-webgl":{gl:o.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,f:Ur},"pvrtc-rgba4unorm-webgl":{gl:o.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,f:Ur},"pvrtc-rbg2unorm-webgl":{gl:o.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,f:Ur},"pvrtc-rgba2unorm-webgl":{gl:o.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,f:Ur},"etc1-rbg-unorm-webgl":{gl:o.COMPRESSED_RGB_ETC1_WEBGL,f:Zl},"atc-rgb-unorm-webgl":{gl:o.COMPRESSED_RGB_ATC_WEBGL,f:$n},"atc-rgba-unorm-webgl":{gl:o.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,f:$n},"atc-rgbai-unorm-webgl":{gl:o.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL,f:$n}},a_=(ge={},s(ge,o.RED,1),s(ge,o.RED_INTEGER,1),s(ge,o.RG,2),s(ge,o.RG_INTEGER,2),s(ge,o.RGB,3),s(ge,o.RGB_INTEGER,3),s(ge,o.RGBA,4),s(ge,o.RGBA_INTEGER,4),s(ge,o.DEPTH_COMPONENT,1),s(ge,o.DEPTH_STENCIL,1),s(ge,o.ALPHA,1),s(ge,o.LUMINANCE,1),s(ge,o.LUMINANCE_ALPHA,2),ge),o_=(He={},s(He,o.FLOAT,4),s(He,o.UNSIGNED_INT,4),s(He,o.INT,4),s(He,o.UNSIGNED_SHORT,2),s(He,o.SHORT,2),s(He,o.HALF_FLOAT,2),s(He,o.BYTE,1),s(He,o.UNSIGNED_BYTE,1),He);function ir(e,r){var t=ar(r),n=nr[t];if(!n||(Q(e)?n.gl===void 0:n.gl1===void 0))return!1;var i=n.x||Q(e)&&n.gl2ext||n.gl1ext;return i?Boolean(e.getExtension(i)):!0}function ls(e,r){var t;return ir(e,r)&&((t=nr[r])===null||t===void 0?void 0:t.renderbuffer)}function ar(e){if(typeof e=="string")return e;var r=Object.entries(nr).find(function(t){var n=V(t,2),i=n[1];return i.gl===e||i.gl1===e});if(!r)throw new Error("Unknown texture format ".concat(e));return r[0]}function or(e,r){var t=nr[e],n=r?t?.gl:t?.gl1;if(n===void 0)throw new Error("Unsupported texture format ".concat(e));return n}function _s(e,r){var t=ar(r);if(!ir(e,t))return!1;try{var n=yr(t);if(n.signed)return!1}catch{return!1}return t.endsWith("32float")?Boolean(e.getExtension("OES_texture_float_linear")):t.endsWith("16float")?Boolean(e.getExtension("OES_texture_half_float_linear")):!0}function Es(e,r){var t=ar(r);return!(!ir(e,t)||typeof t=="number")}function wr(e,r){var t=ar(e),n=or(t,r),i=yr(t);return{format:n,dataFormat:s_(i.format,i.integer,i.normalized,n),type:qn(i.dataType),compressed:i.compressed}}function ds(e){var r=nr[e];if(!(r!=null&&r.attachment))throw new Error("".concat(e," is not a depth stencil format"));return r.attachment}function ps(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.RGBA,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:o.RGBA,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o.UNSIGNED_BYTE,i=null,a=null;try{i=e.createTexture(),e.bindTexture(o.TEXTURE_2D,i);var u=0,f=1,c=1,l=0,_=new Uint8Array([0,0,255,255]);e.texImage2D(e.TEXTURE_2D,u,r,f,c,l,t,n,_),a=e.createFramebuffer(),e.bindFramebuffer(o.FRAMEBUFFER,a),e.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,i,0);var E=e.checkFramebufferStatus(o.FRAMEBUFFER)===o.FRAMEBUFFER_COMPLETE;return e.bindTexture(o.TEXTURE_2D,null),E}finally{e.deleteTexture(i),e.deleteFramebuffer(a)}}function sr(e,r){var t=ar(e),n=wr(t,r),i=a_[n.dataFormat]||4,a=o_[n.type]||1;return i*a}function s_(e,r,t,n){if(n===o.RGBA||n===o.RGB)return n;switch(e){case"r":return r&&!t?o.RED_INTEGER:o.RED;case"rg":return r&&!t?o.RG_INTEGER:o.RG;case"rgb":return r&&!t?o.RGB_INTEGER:o.RGB;case"rgba":return r&&!t?o.RGBA_INTEGER:o.RGBA;default:return o.RGBA}}function qn(e){switch(e){case"uint8":return o.UNSIGNED_BYTE;case"sint8":return o.BYTE;case"uint16":return o.UNSIGNED_SHORT;case"sint16":return o.SHORT;case"uint32":return o.UNSIGNED_INT;case"sint32":return o.INT;case"float16":return o.HALF_FLOAT;case"float32":return o.FLOAT;default:return o.UNSIGNED_BYTE}}function u_(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=f_(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
265
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,f;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,f=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw f}}}}function kl(e,r){if(e){if(typeof e=="string")return ts(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return ts(e,r)}}function ts(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function Dt(e,r){var t=me.attach(e),n=t.gl;if(!jl(r)){var i={};for(var a in r){var u=Number(a),f=Qo[a];f&&(typeof f=="string"?i[f]=!0:f(n,r[a],u))}var c=n.state&&n.state.cache;if(c)for(var l in i){var _=Jo[l];_(n,r,c)}}}function rs(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xr,t=me.attach(e),n=t.gl;if(typeof r=="number"){var i=r,a=Gn[i];return a?a(n,i):n.getParameter(i)}var u=Array.isArray(r)?r:Object.keys(r),f={},c=Vl(u),l;try{for(c.s();!(l=c.n()).done;){var _=l.value,E=Gn[_];f[_]=E?E(n,Number(_)):n.getParameter(Number(_))}}catch(d){c.e(d)}finally{c.f()}return f}function jl(e){for(var r in e)return!1;return!0}function ns(e,r){if(e===r)return!0;var t=Array.isArray(e)||ArrayBuffer.isView(e),n=Array.isArray(r)||ArrayBuffer.isView(r);if(t&&n&&e.length===r.length){for(var i=0;i<e.length;++i)if(e[i]!==r[i])return!1;return!0}return!1}var Kl=function(){function e(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.copyState,i=n===void 0?!1:n,a=t.log,u=a===void 0?function(){}:a;C(this,e),s(this,"gl",void 0),s(this,"program",null),s(this,"stateStack",[]),s(this,"enable",!0),s(this,"cache",void 0),s(this,"log",void 0),this.gl=r,this.cache=i?rs(r):Object.assign({},xr),this.log=u,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return N(e,[{key:"push",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})}},{key:"pop",value:function(){k(this.stateStack.length>0);var t=this.stateStack[this.stateStack.length-1];Dt(this.gl,t),this.stateStack.pop()}},{key:"_updateCache",value:function(t){var n=!1,i,a=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(var u in t){k(u!==void 0);var f=t[u],c=this.cache[u];ns(f,c)||(n=!0,i=c,a&&!(u in a)&&(a[u]=c),this.cache[u]=f)}return{valueChanged:n,oldValue:i}}}]),e}();function dt(e){return e.state}function zn(e,r){var t=r.enable,n=t===void 0?!0:t,i=r.copyState;if(k(i!==void 0),!e.state){e.state=new Kl(e,{copyState:i}),Gl(e);for(var a in Yn){var u=Yn[a];Yl(e,a,u)}is(e,"getParameter"),is(e,"isEnabled")}var f=dt(e);return f.enable=n,e}function pt(e){var r=dt(e);r||(zn(e,{copyState:!1}),r=dt(e)),r.push()}function rt(e){var r=dt(e);k(r),r.pop()}function is(e,r){var t=e[r].bind(e);e[r]=function(i){if(i===void 0||es.has(i))return t(i);var a=dt(e);return i in a.cache||(a.cache[i]=t(i)),a.enable?a.cache[i]:t(i)},Object.defineProperty(e[r],"name",{value:"".concat(r,"-from-cache"),configurable:!1})}function Yl(e,r,t){if(e[r]){var n=e[r].bind(e);e[r]=function(){for(var a=dt(e),u=arguments.length,f=new Array(u),c=0;c<u;c++)f[c]=arguments[c];var l=t.apply(void 0,[a._updateCache].concat(f)),_=l.valueChanged,E=l.oldValue;return _&&n.apply(void 0,f),E},Object.defineProperty(e[r],"name",{value:"".concat(r,"-to-cache"),configurable:!1})}}function Gl(e){var r=e.useProgram.bind(e);e.useProgram=function(n){var i=dt(e);i.program!==n&&(r(n),i.program=n)}}function as(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Bt(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?as(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):as(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var zl={webgl2:!0,webgl1:!0,powerPreference:"high-performance",onContextLost:function(){return console.error("WebGL context lost")},onContextRestored:function(){return console.info("WebGL context restored")}};function os(e,r){r=Bt(Bt({},zl),r);var t=null,n=function(_){return t=_.statusMessage||t};e.addEventListener("webglcontextcreationerror",n,!1);var i=null;if(r.type==="webgl2"&&(r=Bt(Bt({},r),{},{webgl1:!1})),r.type==="webgl1"&&(r=Bt(Bt({},r),{},{webgl2:!1})),!i&&r.webgl2&&(i=e.getContext("webgl2",r)),!i&&r.webgl1&&(i=e.getContext("webgl",r)),e.removeEventListener("webglcontextcreationerror",n,!1),!i)throw new Error("Failed to create ".concat(r.webgl2&&!r.webgl1?"WebGL2":"WebGL"," context: ").concat(t||"Unknown error"));if(r.onContextLost){var a=r,u=a.onContextLost;e.addEventListener("webglcontextlost",function(l){return u(l)},!1)}if(r.onContextRestored){var f=r,c=f.onContextRestored;e.addEventListener("webglcontextrestored",function(l){return c(l)},!1)}return i}function ss(e){var r=e.getParameter(o.VENDOR),t=e.getParameter(o.RENDERER),n=e.getExtension("WEBGL_debug_renderer_info"),i=e.getParameter(n?n.UNMASKED_VENDOR_WEBGL:o.VENDOR),a=e.getParameter(n?n.UNMASKED_RENDERER_WEBGL:o.RENDERER),u=i||r,f=a||t,c=$l(u,f);return{type:Q(e)?"webgl2":"webgl",gpu:c,vendor:i||r,renderer:a||t,version:e.getParameter(o.VERSION),shadingLanguages:["glsl"],shadingLanguageVersions:{glsl:e.getParameter(o.SHADING_LANGUAGE_VERSION)}}}function $l(e,r){return/NVIDIA/i.exec(e)||/NVIDIA/i.exec(r)?"nvidia":/INTEL/i.exec(e)||/INTEL/i.exec(r)?"intel":/Apple/i.exec(e)||/Apple/i.exec(r)?"apple":/AMD/i.exec(e)||/AMD/i.exec(r)||/ATI/i.exec(e)||/ATI/i.exec(r)?"amd":/SwiftShader/i.exec(e)||/SwiftShader/i.exec(r)?"software":"unknown"}function us(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=typeof window<"u"?window.navigator||{}:{},t=e.userAgent||r.userAgent||"",n=t.indexOf("MSIE ")!==-1,i=t.indexOf("Trident/")!==-1;return n||i}var ge,He,Ae="texture-compression-bc",ee="texture-compression-astc",We="texture-compression-etc2",Zl="texture-compression-etc1-webgl",Ur="texture-compression-pvrtc-webgl",$n="texture-compression-atc-webgl",er="WEBGL_compressed_texture_s3tc",tr="WEBGL_compressed_texture_s3tc_srgb",xt="EXT_texture_compression_rgtc",rr="EXT_texture_compression_bptc",ql="WEBGL_compressed_texture_etc",Ql="WEBGL_compressed_texture_astc",Jl="WEBGL_compressed_texture_etc1",e_="WEBGL_compressed_texture_pvrtc",t_="WEBGL_compressed_texture_atc",fs="EXT_sRGB",Ze="EXT_texture_norm16",r_="WEBGL_color_buffer_float",n_="EXT_color_buffer_float",xe=function(r,t){return r.getExtension(t)},ht=function(r,t){return t.every(function(n){return r.getExtension(n)})},Zn={"texture-blend-float-webgl1":function(r){return Q(r)?!0:xe(r,"EXT_float_blend")},"texture-formats-srgb-webgl1":function(r){return Q(r)?!0:xe(r,fs)},"texture-formats-depth-webgl1":function(r){return Q(r)?!0:xe(r,"WEBGL_depth_texture")},"texture-formats-float32-webgl1":function(r){return Q(r)?!0:xe(r,"OES_texture_float")},"texture-formats-float16-webgl1":function(r){return Q(r)?!0:xe(r,"OES_texture_half_float")},"texture-formats-norm16-webgl":function(r){return Q(r)?xe(r,Ze):!1},"texture-filter-linear-float32-webgl":function(r){return xe(r,"OES_texture_float_linear")},"texture-filter-linear-float16-webgl":function(r){return xe(r,"OES_texture_half_float_linear")},"texture-filter-anisotropic-webgl":function(r){return xe(r,"EXT_texture_filter_anisotropic")},"texture-renderable-float32-webgl":function(r){return xe(r,"EXT_color_buffer_float")},"texture-renderable-float16-webgl":function(r){return xe(r,"EXT_color_buffer_half_float")},"texture-compression-bc":function(r){return ht(r,[er,tr,xt,rr])},"texture-compression-bc5-webgl":function(r){return ht(r,[xt])},"texture-compression-etc2":function(r){return ht(r,[ql])},"texture-compression-astc":function(r){return ht(r,[Ql])},"texture-compression-etc1-webgl":function(r){return ht(r,[Jl])},"texture-compression-pvrtc-webgl":function(r){return ht(r,[e_])},"texture-compression-atc-webgl":function(r){return ht(r,[t_])}};function i_(e,r){var t;return((t=Zn[r])===null||t===void 0?void 0:t.call(Zn,e))||!1}function cs(e){var r=Object.keys(Zn);return r.filter(function(t){return i_(e,t)})}var nr={"rgb8unorm-unsized":{gl:o.RGB,gl1:o.RGB,b:4,c:2,bpp:4,dataFormat:o.RGB,types:[o.UNSIGNED_BYTE,o.UNSIGNED_SHORT_5_6_5]},"rgba8unorm-unsized":{gl:o.RGBA,gl1:o.RGBA,b:4,c:2,bpp:4,dataFormat:o.RGBA,types:[o.UNSIGNED_BYTE,o.UNSIGNED_SHORT_4_4_4_4,o.UNSIGNED_SHORT_5_5_5_1]},r8unorm:{gl:o.R8,b:1,c:1,renderbuffer:!0},r8snorm:{gl:o.R8_SNORM,b:1,c:1},r8uint:{gl:o.R8UI,b:1,c:1,renderbuffer:!0},r8sint:{gl:o.R8I,b:1,c:1,renderbuffer:!0},rg8unorm:{gl:o.RG8,b:2,c:2,renderbuffer:!0},rg8snorm:{gl:o.RG8_SNORM,b:2,c:2},rg8uint:{gl:o.RG8UI,b:2,c:2,renderbuffer:!0},rg8sint:{gl:o.RG8I,b:2,c:2,renderbuffer:!0},r16uint:{gl:o.R16UI,b:2,c:1,renderbuffer:!0},r16sint:{gl:o.R16I,b:2,c:1,renderbuffer:!0},r16float:{gl:o.R16F,b:2,c:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"r16unorm-webgl":{gl:o.R16_EXT,b:2,c:1,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Ze},"r16snorm-webgl":{gl:o.R16_SNORM_EXT,b:2,c:1,f:"texture-formats-norm16-webgl",x:Ze},"rgba4unorm-webgl":{gl:o.RGBA4,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb565unorm-webgl":{gl:o.RGB565,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb5a1unorm-webgl":{gl:o.RGB5_A1,b:2,c:4,wgpu:!1,renderbuffer:!0},"rgb8unorm-webgl":{gl:o.RGB8,b:3,c:3,wgpu:!1},"rgb8snorm-webgl":{gl:o.RGB8_SNORM,b:3,c:3,wgpu:!1},rgba8unorm:{gl:o.RGBA8,gl1:o.RGBA,b:4,c:2,bpp:4},"rgba8unorm-srgb":{gl:o.SRGB8_ALPHA8,gl1:o.SRGB_ALPHA_EXT,b:4,c:4,gl1ext:fs,bpp:4},rgba8snorm:{gl:o.RGBA8_SNORM,b:4,c:4},rgba8uint:{gl:o.RGBA8UI,b:4,c:4,bpp:4},rgba8sint:{gl:o.RGBA8I,b:4,c:4,bpp:4},bgra8unorm:{b:4,c:4},"bgra8unorm-srgb":{b:4,c:4},rg16uint:{gl:o.RG16UI,b:4,c:1,bpp:4},rg16sint:{gl:o.RG16I,b:4,c:2,bpp:4},rg16float:{gl:o.RG16F,bpp:4,b:4,c:2,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl",renderbuffer:!0},"rg16unorm-webgl":{gl:o.RG16_EXT,b:2,c:2,f:"texture-formats-norm16-webgl",x:Ze},"rg16snorm-webgl":{gl:o.RG16_SNORM_EXT,b:2,c:2,f:"texture-formats-norm16-webgl",x:Ze},r32uint:{gl:o.R32UI,b:4,c:1,bpp:4,renderbuffer:!0},r32sint:{gl:o.R32I,b:4,c:1,bpp:4,renderbuffer:!0},r32float:{gl:o.R32F,bpp:4,b:4,c:1,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl"},rgb9e5ufloat:{gl:o.RGB9_E5,b:4,c:3,p:1,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},rg11b10ufloat:{gl:o.R11F_G11F_B10F,b:4,c:3,p:1,render:"texture-renderable-float32-webgl",renderbuffer:!0},rgb10a2unorm:{gl:o.RGB10_A2,b:4,c:4,p:1,renderbuffer:!0},"rgb10a2unorm-webgl":{b:4,c:4,gl:o.RGB10_A2UI,p:1,wgpu:!1,bpp:4,renderbuffer:!0},"rgb16unorm-webgl":{gl:o.RGB16_EXT,b:2,c:3,f:"texture-formats-norm16-webgl",x:Ze},"rgb16snorm-webgl":{gl:o.RGB16_SNORM_EXT,b:2,c:3,f:"texture-formats-norm16-webgl",x:Ze},rg32uint:{gl:o.RG32UI,b:8,c:2,renderbuffer:!0},rg32sint:{gl:o.RG32I,b:8,c:2,renderbuffer:!0},rg32float:{gl:o.RG32F,b:8,c:2,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},rgba16uint:{gl:o.RGBA16UI,b:8,c:4,renderbuffer:!0},rgba16sint:{gl:o.RGBA16I,b:8,c:4,renderbuffer:!0},rgba16float:{gl:o.RGBA16F,gl1:o.RGBA,b:8,c:4,render:"texture-renderable-float16-webgl",filter:"texture-filter-linear-float16-webgl"},"rgba16unorm-webgl":{gl:o.RGBA16_EXT,b:2,c:4,f:"texture-formats-norm16-webgl",renderbuffer:!0,x:Ze},"rgba16snorm-webgl":{gl:o.RGBA16_SNORM_EXT,b:2,c:4,f:"texture-formats-norm16-webgl",x:Ze},"rgb32float-webgl":{gl:o.RGB32F,gl1:o.RGB,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",gl2ext:n_,gl1ext:r_,dataFormat:o.RGB,types:[o.FLOAT]},rgba32uint:{gl:o.RGBA32UI,b:16,c:4,renderbuffer:!0},rgba32sint:{gl:o.RGBA32I,b:16,c:4,renderbuffer:!0},rgba32float:{gl:o.RGBA32F,b:16,c:4,render:"texture-renderable-float32-webgl",filter:"texture-filter-linear-float32-webgl",renderbuffer:!0},stencil8:{gl:o.STENCIL_INDEX8,gl1:o.STENCIL_INDEX8,b:1,c:1,attachment:o.STENCIL_ATTACHMENT,renderbuffer:!0},depth16unorm:{gl:o.DEPTH_COMPONENT16,gl1:o.DEPTH_COMPONENT16,b:2,c:1,attachment:o.DEPTH_ATTACHMENT,renderbuffer:!0},depth24plus:{gl:o.DEPTH_COMPONENT24,b:3,c:1,attachment:o.DEPTH_ATTACHMENT},depth32float:{gl:o.DEPTH_COMPONENT32F,b:4,c:1,attachment:o.DEPTH_ATTACHMENT,renderbuffer:!0},"depth24plus-stencil8":{gl:o.DEPTH_STENCIL,gl1:o.DEPTH_STENCIL,b:4,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0,depthTexture:!0},"depth24unorm-stencil8":{gl:o.DEPTH24_STENCIL8,b:4,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"depth32float-stencil8":{gl:o.DEPTH32F_STENCIL8,b:5,c:2,p:1,attachment:o.DEPTH_STENCIL_ATTACHMENT,renderbuffer:!0},"bc1-rgb-unorm-webgl":{gl:o.COMPRESSED_RGB_S3TC_DXT1_EXT,x:er,f:Ae},"bc1-rgb-unorm-srgb-webgl":{gl:o.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:tr,f:Ae},"bc1-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT1_EXT,x:er,f:Ae},"bc1-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_S3TC_DXT1_EXT,x:tr,f:Ae},"bc2-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT3_EXT,x:er,f:Ae},"bc2-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,x:tr,f:Ae},"bc3-rgba-unorm":{gl:o.COMPRESSED_RGBA_S3TC_DXT5_EXT,x:er,f:Ae},"bc3-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,x:tr,f:Ae},"bc4-r-unorm":{gl:o.COMPRESSED_RED_RGTC1_EXT,x:xt,f:Ae},"bc4-r-snorm":{gl:o.COMPRESSED_SIGNED_RED_RGTC1_EXT,x:xt,f:Ae},"bc5-rg-unorm":{gl:o.COMPRESSED_RED_GREEN_RGTC2_EXT,x:xt,f:Ae},"bc5-rg-snorm":{gl:o.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,x:xt,f:Ae},"bc6h-rgb-ufloat":{gl:o.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,x:rr,f:Ae},"bc6h-rgb-float":{gl:o.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,x:rr,f:Ae},"bc7-rgba-unorm":{gl:o.COMPRESSED_RGBA_BPTC_UNORM_EXT,x:rr,f:Ae},"bc7-rgba-unorm-srgb":{gl:o.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT,x:rr,f:Ae},"etc2-rgb8unorm":{gl:o.COMPRESSED_RGB8_ETC2,f:We},"etc2-rgb8unorm-srgb":{gl:o.COMPRESSED_SRGB8_ETC2,f:We},"etc2-rgb8a1unorm":{gl:o.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:We},"etc2-rgb8a1unorm-srgb":{gl:o.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,f:We},"etc2-rgba8unorm":{gl:o.COMPRESSED_RGBA8_ETC2_EAC,f:We},"etc2-rgba8unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,f:We},"eac-r11unorm":{gl:o.COMPRESSED_R11_EAC,f:We},"eac-r11snorm":{gl:o.COMPRESSED_SIGNED_R11_EAC,f:We},"eac-rg11unorm":{gl:o.COMPRESSED_RG11_EAC,f:We},"eac-rg11snorm":{gl:o.COMPRESSED_SIGNED_RG11_EAC,f:We},"astc-4x4-unorm":{gl:o.COMPRESSED_RGBA_ASTC_4x4_KHR,f:ee},"astc-4x4-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,f:ee},"astc-5x4-unorm":{gl:o.COMPRESSED_RGBA_ASTC_5x4_KHR,f:ee},"astc-5x4-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,f:ee},"astc-5x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_5x5_KHR,f:ee},"astc-5x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,f:ee},"astc-6x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_6x5_KHR,f:ee},"astc-6x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,f:ee},"astc-6x6-unorm":{gl:o.COMPRESSED_RGBA_ASTC_6x6_KHR,f:ee},"astc-6x6-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,f:ee},"astc-8x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_8x5_KHR,f:ee},"astc-8x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,f:ee},"astc-8x6-unorm":{gl:o.COMPRESSED_RGBA_ASTC_8x6_KHR,f:ee},"astc-8x6-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,f:ee},"astc-8x8-unorm":{gl:o.COMPRESSED_RGBA_ASTC_8x8_KHR,f:ee},"astc-8x8-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,f:ee},"astc-10x5-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x10_KHR,f:ee},"astc-10x5-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:ee},"astc-10x6-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x6_KHR,f:ee},"astc-10x6-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,f:ee},"astc-10x8-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x8_KHR,f:ee},"astc-10x8-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,f:ee},"astc-10x10-unorm":{gl:o.COMPRESSED_RGBA_ASTC_10x10_KHR,f:ee},"astc-10x10-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,f:ee},"astc-12x10-unorm":{gl:o.COMPRESSED_RGBA_ASTC_12x10_KHR,f:ee},"astc-12x10-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,f:ee},"astc-12x12-unorm":{gl:o.COMPRESSED_RGBA_ASTC_12x12_KHR,f:ee},"astc-12x12-unorm-srgb":{gl:o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,f:ee},"pvrtc-rgb4unorm-webgl":{gl:o.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,f:Ur},"pvrtc-rgba4unorm-webgl":{gl:o.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,f:Ur},"pvrtc-rbg2unorm-webgl":{gl:o.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,f:Ur},"pvrtc-rgba2unorm-webgl":{gl:o.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,f:Ur},"etc1-rbg-unorm-webgl":{gl:o.COMPRESSED_RGB_ETC1_WEBGL,f:Zl},"atc-rgb-unorm-webgl":{gl:o.COMPRESSED_RGB_ATC_WEBGL,f:$n},"atc-rgba-unorm-webgl":{gl:o.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,f:$n},"atc-rgbai-unorm-webgl":{gl:o.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL,f:$n}},a_=(ge={},s(ge,o.RED,1),s(ge,o.RED_INTEGER,1),s(ge,o.RG,2),s(ge,o.RG_INTEGER,2),s(ge,o.RGB,3),s(ge,o.RGB_INTEGER,3),s(ge,o.RGBA,4),s(ge,o.RGBA_INTEGER,4),s(ge,o.DEPTH_COMPONENT,1),s(ge,o.DEPTH_STENCIL,1),s(ge,o.ALPHA,1),s(ge,o.LUMINANCE,1),s(ge,o.LUMINANCE_ALPHA,2),ge),o_=(He={},s(He,o.FLOAT,4),s(He,o.UNSIGNED_INT,4),s(He,o.INT,4),s(He,o.UNSIGNED_SHORT,2),s(He,o.SHORT,2),s(He,o.HALF_FLOAT,2),s(He,o.BYTE,1),s(He,o.UNSIGNED_BYTE,1),He);function ir(e,r){var t=ar(r),n=nr[t];if(!n||(Q(e)?n.gl===void 0:n.gl1===void 0))return!1;var i=n.x||Q(e)&&n.gl2ext||n.gl1ext;return i?Boolean(e.getExtension(i)):!0}function ls(e,r){var t;return ir(e,r)&&((t=nr[r])===null||t===void 0?void 0:t.renderbuffer)}function ar(e){if(typeof e=="string")return e;var r=Object.entries(nr).find(function(t){var n=V(t,2),i=n[1];return i.gl===e||i.gl1===e});if(!r)throw new Error("Unknown texture format ".concat(e));return r[0]}function or(e,r){var t=nr[e],n=r?t?.gl:t?.gl1;if(n===void 0)throw new Error("Unsupported texture format ".concat(e));return n}function _s(e,r){var t=ar(r);if(!ir(e,t))return!1;try{var n=yr(t);if(n.signed)return!1}catch{return!1}return t.endsWith("32float")?Boolean(e.getExtension("OES_texture_float_linear")):t.endsWith("16float")?Boolean(e.getExtension("OES_texture_half_float_linear")):!0}function Es(e,r){var t=ar(r);return!(!ir(e,t)||typeof t=="number")}function wr(e,r){var t=ar(e),n=or(t,r),i=yr(t);return{format:n,dataFormat:s_(i.format,i.integer,i.normalized,n),type:qn(i.dataType),compressed:i.compressed}}function ds(e){var r=nr[e];if(!(r!=null&&r.attachment))throw new Error("".concat(e," is not a depth stencil format"));return r.attachment}function ps(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.RGBA,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:o.RGBA,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o.UNSIGNED_BYTE,i=null,a=null;try{i=e.createTexture(),e.bindTexture(o.TEXTURE_2D,i);var u=0,f=1,c=1,l=0,_=new Uint8Array([0,0,255,255]);e.texImage2D(e.TEXTURE_2D,u,r,f,c,l,t,n,_),a=e.createFramebuffer(),e.bindFramebuffer(o.FRAMEBUFFER,a),e.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,i,0);var E=e.checkFramebufferStatus(o.FRAMEBUFFER)===o.FRAMEBUFFER_COMPLETE;return e.bindTexture(o.TEXTURE_2D,null),E}finally{e.deleteTexture(i),e.deleteFramebuffer(a)}}function sr(e,r){var t=ar(e),n=wr(t,r),i=a_[n.dataFormat]||4,a=o_[n.type]||1;return i*a}function s_(e,r,t,n){if(n===o.RGBA||n===o.RGB)return n;switch(e){case"r":return r&&!t?o.RED_INTEGER:o.RED;case"rg":return r&&!t?o.RG_INTEGER:o.RG;case"rgb":return r&&!t?o.RGB_INTEGER:o.RGB;case"rgba":return r&&!t?o.RGBA_INTEGER:o.RGBA;default:return o.RGBA}}function qn(e){switch(e){case"uint8":return o.UNSIGNED_BYTE;case"sint8":return o.BYTE;case"uint16":return o.UNSIGNED_SHORT;case"sint16":return o.SHORT;case"uint32":return o.UNSIGNED_INT;case"sint32":return o.INT;case"float16":return o.HALF_FLOAT;case"float32":return o.FLOAT;default:return o.UNSIGNED_BYTE}}function u_(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=f_(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
266
266
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,f;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,f=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw f}}}}function f_(e,r){if(e){if(typeof e=="string")return hs(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return hs(e,r)}}function hs(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function ms(e){var r=c_(e),t=u_(cs(e)),n;try{for(t.s();!(n=t.n()).done;){var i=n.value;r.add(i)}}catch(a){t.e(a)}finally{t.f()}return r}function c_(e){e.getExtension("EXT_color_buffer_float"),e.getExtension("WEBGL_color_buffer_float"),e.getExtension("EXT_float_blend");for(var r=new Set,t=0,n=Object.keys(Rs);t<n.length;t++){var i=n[t];l_(e,i)&&r.add(i)}return r}function l_(e,r){var t=Rs[r];if(!t)return!1;var n=t||[],i=V(n,2),a=i[0],u=i[1],f=Q(e)?u:a;if(typeof f=="boolean")return f;switch(r){case"texture-renderable-rgba32float-webgl":return Q(e)?Boolean(e.getExtension(f)):ps(e);case"glsl-derivatives":return Jn(e,f);case"glsl-frag-data":return Jn(e,f,{behavior:"require"});case"glsl-frag-depth":return Jn(e,f);default:return Boolean(e.getExtension(f))}}var Qn={};function Jn(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!us(t))return!0;if(r in Qn)return Qn[r];var n=t.behavior||"enable",i="#extension GL_".concat(r," : ").concat(n,`
|
|
267
267
|
void main(void) {}`),a=e.createShader(e.VERTEX_SHADER);if(!a)throw new Error("shader");e.shaderSource(a,i),e.compileShader(a);var u=e.getShaderParameter(a,e.COMPILE_STATUS);return e.deleteShader(a),Qn[r]=u,u}var Rs={webgl:[!0,!0],webgl2:[!1,!0],"timer-query-webgl":["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],"vertex-array-object-webgl1":["OES_vertex_array_object",!0],"instanced-rendering-webgl1":["ANGLE_instanced_arrays",!0],"multiple-render-targets-webgl1":["WEBGL_draw_buffers",!0],"index-uint32-webgl1":["OES_element_index_uint",!0],"blend-minmax-webgl1":["EXT_blend_minmax",!0],"texture-blend-float-webgl1":["EXT_float_blend","EXT_float_blend"],"texture-formats-srgb-webgl1":["EXT_sRGB",!0],"texture-formats-depth-webgl1":["WEBGL_depth_texture",!0],"texture-formats-float32-webgl1":["OES_texture_float",!0],"texture-formats-float16-webgl1":["OES_texture_half_float",!0],"texture-filter-linear-float32-webgl":["OES_texture_float_linear","OES_texture_float_linear"],"texture-filter-linear-float16-webgl":["OES_texture_half_float_linear","OES_texture_half_float_linear"],"texture-filter-anisotropic-webgl":["EXT_texture_filter_anisotropic","EXT_texture_filter_anisotropic"],"texture-renderable-rgba32float-webgl":["WEBGL_color_buffer_float","EXT_color_buffer_float"],"texture-renderable-float32-webgl":[!1,"EXT_color_buffer_float"],"texture-renderable-float16-webgl":["EXT_color_buffer_half_float","EXT_color_buffer_half_float"],"glsl-frag-data":["WEBGL_draw_buffers",!0],"glsl-frag-depth":["EXT_frag_depth",!0],"glsl-derivatives":["OES_standard_derivatives",!0],"glsl-texture-lod":["EXT_shader_texture_lod",!0]};function As(e){var r=Wn(e);return{maxTextureDimension1D:0,maxTextureDimension2D:e.getParameter(o.MAX_TEXTURE_SIZE),maxTextureDimension3D:r?r.getParameter(o.MAX_3D_TEXTURE_SIZE):0,maxTextureArrayLayers:r?r.getParameter(o.MAX_ARRAY_TEXTURE_LAYERS):0,maxBindGroups:1,maxDynamicUniformBuffersPerPipelineLayout:0,maxDynamicStorageBuffersPerPipelineLayout:0,maxSampledTexturesPerShaderStage:e.getParameter(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxSamplersPerShaderStage:e.getParameter(o.MAX_COMBINED_TEXTURE_IMAGE_UNITS),maxStorageBuffersPerShaderStage:0,maxStorageTexturesPerShaderStage:0,maxUniformBuffersPerShaderStage:r?r.getParameter(o.MAX_UNIFORM_BUFFER_BINDINGS):0,maxUniformBufferBindingSize:r?r.getParameter(o.MAX_UNIFORM_BLOCK_SIZE):0,maxStorageBufferBindingSize:0,minUniformBufferOffsetAlignment:r?r.getParameter(o.UNIFORM_BUFFER_OFFSET_ALIGNMENT):0,minStorageBufferOffsetAlignment:0,maxVertexBuffers:0,maxVertexAttributes:e.getParameter(o.MAX_VERTEX_ATTRIBS),maxVertexBufferArrayStride:2048,maxInterStageShaderComponents:r?r.getParameter(o.MAX_VARYING_COMPONENTS):0,maxComputeWorkgroupStorageSize:0,maxComputeInvocationsPerWorkgroup:0,maxComputeWorkgroupSizeX:0,maxComputeWorkgroupSizeY:0,maxComputeWorkgroupSizeZ:0,maxComputeWorkgroupsPerDimension:0}}function Ts(e){var r,t=Wn(e);function n(a){return e.getParameter(a)}function i(a,u){return t?t.getParameter(a):u||0}return r={},s(r,o.ALIASED_LINE_WIDTH_RANGE,n(o.ALIASED_LINE_WIDTH_RANGE)),s(r,o.ALIASED_POINT_SIZE_RANGE,n(o.ALIASED_POINT_SIZE_RANGE)),s(r,o.MAX_TEXTURE_SIZE,n(o.MAX_TEXTURE_SIZE)),s(r,o.MAX_CUBE_MAP_TEXTURE_SIZE,n(o.MAX_CUBE_MAP_TEXTURE_SIZE)),s(r,o.MAX_TEXTURE_IMAGE_UNITS,n(o.MAX_TEXTURE_IMAGE_UNITS)),s(r,o.MAX_COMBINED_TEXTURE_IMAGE_UNITS,n(o.MAX_COMBINED_TEXTURE_IMAGE_UNITS)),s(r,o.MAX_VERTEX_TEXTURE_IMAGE_UNITS,n(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS)),s(r,o.MAX_RENDERBUFFER_SIZE,n(o.MAX_RENDERBUFFER_SIZE)),s(r,o.MAX_VARYING_VECTORS,n(o.MAX_VARYING_VECTORS)),s(r,o.MAX_VERTEX_ATTRIBS,n(o.MAX_VERTEX_ATTRIBS)),s(r,o.MAX_VERTEX_UNIFORM_VECTORS,n(o.MAX_VERTEX_UNIFORM_VECTORS)),s(r,o.MAX_FRAGMENT_UNIFORM_VECTORS,n(o.MAX_FRAGMENT_UNIFORM_VECTORS)),s(r,o.MAX_VIEWPORT_DIMS,n(o.MAX_VIEWPORT_DIMS)),s(r,o.MAX_TEXTURE_MAX_ANISOTROPY_EXT,n(o.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),s(r,o.MAX_3D_TEXTURE_SIZE,i(o.MAX_3D_TEXTURE_SIZE)),s(r,o.MAX_ARRAY_TEXTURE_LAYERS,i(o.MAX_ARRAY_TEXTURE_LAYERS)),s(r,o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL,i(o.MAX_CLIENT_WAIT_TIMEOUT_WEBGL)),s(r,o.MAX_COLOR_ATTACHMENTS,i(o.MAX_COLOR_ATTACHMENTS)),s(r,o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,i(o.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS)),s(r,o.MAX_COMBINED_UNIFORM_BLOCKS,i(o.MAX_COMBINED_UNIFORM_BLOCKS)),s(r,o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,i(o.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS)),s(r,o.MAX_DRAW_BUFFERS,i(o.MAX_DRAW_BUFFERS)),s(r,o.MAX_ELEMENT_INDEX,i(o.MAX_ELEMENT_INDEX)),s(r,o.MAX_ELEMENTS_INDICES,i(o.MAX_ELEMENTS_INDICES)),s(r,o.MAX_ELEMENTS_VERTICES,i(o.MAX_ELEMENTS_VERTICES)),s(r,o.MAX_FRAGMENT_INPUT_COMPONENTS,i(o.MAX_FRAGMENT_INPUT_COMPONENTS)),s(r,o.MAX_FRAGMENT_UNIFORM_BLOCKS,i(o.MAX_FRAGMENT_UNIFORM_BLOCKS)),s(r,o.MAX_FRAGMENT_UNIFORM_COMPONENTS,i(o.MAX_FRAGMENT_UNIFORM_COMPONENTS)),s(r,o.MAX_SAMPLES,i(o.MAX_SAMPLES)),s(r,o.MAX_SERVER_WAIT_TIMEOUT,i(o.MAX_SERVER_WAIT_TIMEOUT)),s(r,o.MAX_TEXTURE_LOD_BIAS,i(o.MAX_TEXTURE_LOD_BIAS)),s(r,o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,i(o.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS)),s(r,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,i(o.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS)),s(r,o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,i(o.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS)),s(r,o.MAX_UNIFORM_BLOCK_SIZE,i(o.MAX_UNIFORM_BLOCK_SIZE)),s(r,o.MAX_UNIFORM_BUFFER_BINDINGS,i(o.MAX_UNIFORM_BUFFER_BINDINGS)),s(r,o.MAX_VARYING_COMPONENTS,i(o.MAX_VARYING_COMPONENTS)),s(r,o.MAX_VERTEX_OUTPUT_COMPONENTS,i(o.MAX_VERTEX_OUTPUT_COMPONENTS)),s(r,o.MAX_VERTEX_UNIFORM_BLOCKS,i(o.MAX_VERTEX_UNIFORM_BLOCKS)),s(r,o.MAX_VERTEX_UNIFORM_COMPONENTS,i(o.MAX_VERTEX_UNIFORM_COMPONENTS)),s(r,o.MIN_PROGRAM_TEXEL_OFFSET,i(o.MIN_PROGRAM_TEXEL_OFFSET)),s(r,o.MAX_PROGRAM_TEXEL_OFFSET,i(o.MAX_PROGRAM_TEXEL_OFFSET)),s(r,o.UNIFORM_BUFFER_OFFSET_ALIGNMENT,i(o.UNIFORM_BUFFER_OFFSET_ALIGNMENT)),r}function ei(e,r){for(;!Object.prototype.hasOwnProperty.call(e,r)&&(e=O(e),e!==null););return e}function Ut(){return typeof Reflect<"u"&&Reflect.get?Ut=Reflect.get.bind():Ut=function(r,t,n){var i=ei(r,t);if(i){var a=Object.getOwnPropertyDescriptor(i,t);return a.get?a.get.call(arguments.length<3?r:n):a.value}},Ut.apply(this,arguments)}var ai=Be(Fe(),1);function nt(e,r,t){var n=me.attach(e),i=n.gl;if(__(r))return t(e);var a=r.nocatch,u=a===void 0?!0:a;pt(i),Dt(i,r);var f;if(u)f=t(i),rt(i);else try{f=t(i)}finally{rt(i)}return f}function __(e){for(var r in e)return!1;return!0}function vs(e,r,t){if(gt(r))return t(e);pt(e.gl);try{return Dt(e,r),t(e)}finally{rt(e.gl)}}function gs(e,r,t){if(gt(r))return t(e);pt(e.gl);try{return E_(e,r),t(e)}finally{rt(e.gl)}}function E_(e,r){var t=me.attach(e),n=t.gl;if(r.cullMode)switch(r.cullMode){case"none":n.disable(o.CULL_FACE);break;case"front":n.enable(o.CULL_FACE),n.cullFace(o.FRONT);break;case"back":n.enable(o.CULL_FACE),n.cullFace(o.BACK);break}if(r.frontFace&&n.frontFace(ri("frontFace",r.frontFace,{ccw:o.CCW,cw:o.CW})),r.depthBias!==void 0&&n.polygonOffset(r.depthBias,r.depthBiasSlopeScale||0),r.depthWriteEnabled!==void 0&&n.depthMask(p_("depthWriteEnabled",r.depthWriteEnabled)),r.depthCompare&&(r.depthCompare!=="always"?n.enable(o.DEPTH_TEST):n.disable(o.DEPTH_TEST),n.depthFunc(Lr("depthCompare",r.depthCompare))),r.stencilWriteMask){var i=r.stencilWriteMask;n.stencilMaskSeparate(o.FRONT,i),n.stencilMaskSeparate(o.BACK,i)}if(r.stencilReadMask&&X.warn("stencilReadMask not supported under WebGL"),r.stencilCompare){var a=r.stencilReadMask||4294967295,u=Lr("depthCompare",r.stencilCompare);r.stencilCompare!=="always"?n.enable(o.STENCIL_TEST):n.disable(o.STENCIL_TEST),n.stencilFuncSeparate(o.FRONT,u,0,a),n.stencilFuncSeparate(o.BACK,u,0,a)}if(r.stencilPassOperation&&r.stencilFailOperation&&r.stencilDepthFailOperation){var f=ti("stencilPassOperation",r.stencilPassOperation),c=ti("stencilFailOperation",r.stencilFailOperation),l=ti("stencilDepthFailOperation",r.stencilDepthFailOperation);n.stencilOpSeparate(o.FRONT,c,l,f),n.stencilOpSeparate(o.BACK,c,l,f)}}function Lr(e,r){return ri(e,r,{never:o.NEVER,less:o.LESS,equal:o.EQUAL,"less-equal":o.LEQUAL,greater:o.GREATER,"not-equal":o.NOTEQUAL,"greater-equal":o.GEQUAL,always:o.ALWAYS})}function ti(e,r){return ri(e,r,{keep:o.KEEP,zero:o.ZERO,replace:o.REPLACE,invert:o.INVERT,"increment-clamp":o.INCR,"decrement-clamp":o.DECR,"increment-wrap":o.INCR_WRAP,"decrement-wrap":o.DECR_WRAP})}function d_(e,r){return"Illegal parameter ".concat(r," for ").concat(e)}function ri(e,r,t){if(!(r in t))throw new Error(d_(e,r));return t[r]}function p_(e,r){return r}function Ss(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function h_(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Ss(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Ss(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Xr(e){var r={};return e.addressModeU&&(r[o.TEXTURE_WRAP_S]=ni(e.addressModeU)),e.addressModeV&&(r[o.TEXTURE_WRAP_T]=ni(e.addressModeV)),e.addressModeW&&(r[o.TEXTURE_WRAP_R]=ni(e.addressModeW)),e.magFilter&&(r[o.TEXTURE_MAG_FILTER]=Os(e.magFilter)),(e.minFilter||e.mipmapFilter)&&(r[o.TEXTURE_MIN_FILTER]=m_(e.minFilter||"linear",e.mipmapFilter)),e.lodMinClamp!==void 0&&(r[o.TEXTURE_MIN_LOD]=e.lodMinClamp),e.lodMaxClamp!==void 0&&(r[o.TEXTURE_MAX_LOD]=e.lodMaxClamp),e.type==="comparison-sampler"&&(r[o.TEXTURE_COMPARE_MODE]=o.COMPARE_REF_TO_TEXTURE),e.compare&&(r[o.TEXTURE_COMPARE_FUNC]=Lr("compare",e.compare)),e.maxAnisotropy&&(r[o.TEXTURE_MAX_ANISOTROPY_EXT]=e.maxAnisotropy),r}function ni(e){switch(e){case"clamp-to-edge":return o.CLAMP_TO_EDGE;case"repeat":return o.REPEAT;case"mirror-repeat":return o.MIRRORED_REPEAT}}function Os(e){switch(e){case"nearest":return o.NEAREST;case"linear":return o.LINEAR}}function m_(e,r){if(!r)return Os(e);switch(e){case"nearest":return r==="nearest"?o.NEAREST_MIPMAP_NEAREST:o.NEAREST_MIPMAP_LINEAR;case"linear":return r==="nearest"?o.LINEAR_MIPMAP_NEAREST:o.LINEAR_MIPMAP_LINEAR}}function ys(e){var r=h_({},e);return e[o.TEXTURE_MIN_FILTER]!==o.NEAREST&&(r[o.TEXTURE_MIN_FILTER]=o.LINEAR),r[o.TEXTURE_WRAP_S]=o.CLAMP_TO_EDGE,r[o.TEXTURE_WRAP_T]=o.CLAMP_TO_EDGE,r}var ii=Be(Fe(),1);function bs(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Cs(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?bs(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):bs(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function R_(e){var r=A_();return function(){var n=O(e),i;if(r){var a=O(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return U(this,i)}}function A_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var T_=10,Ve=function(e){x(t,e);var r=R_(t);function t(n){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};C(this,t),i=r.call(this,n,a),s(A(i),"device",void 0),s(A(i),"gl",void 0),s(A(i),"gl2",void 0),s(A(i),"handle",void 0),s(A(i),"target",void 0),s(A(i),"byteLength",void 0),s(A(i),"bytesUsed",void 0),s(A(i),"debugData",null),s(A(i),"webglUsage",void 0),i.device=n,i.gl=i.device.gl,i.gl2=i.device.gl2;var u=de(a)==="object"?a.handle:void 0;return i.handle=u||i.gl.createBuffer(),n.setSpectorMetadata(i.handle,Cs(Cs({},i.props),{},{data:de(i.props.data)})),i.target=i.props.target||v_(i.props.usage),i.webglUsage=i.props.webglUsage||g_(i.props.usage),i.debugData=null,a.data?i._initWithData(a.data,a.byteOffset,a.byteLength):i._initWithByteLength(a.byteLength||0),i}return N(t,[{key:"_initWithData",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i.byteLength+a;k(ArrayBuffer.isView(i));var f=this._getWriteTarget();return this.gl.bindBuffer(f,this.handle),this.gl.bufferData(f,u,this.webglUsage),this.gl.bufferSubData(f,a,i),this.gl.bindBuffer(f,null),this.debugData=i.slice(0,T_),this.bytesUsed=u,this.byteLength=u,this.trackAllocatedMemory(u),this}},{key:"_initWithByteLength",value:function(i){k(i>=0);var a=i;i===0&&(a=new Float32Array(0));var u=this._getWriteTarget();return this.gl.bindBuffer(u,this.handle),this.gl.bufferData(u,a,this.webglUsage),this.gl.bindBuffer(u,null),this.debugData=null,this.bytesUsed=i,this.byteLength=i,this}},{key:"destroy",value:function(){!this.destroyed&&this.handle&&(this.removeStats(),this.trackDeallocatedMemory(),this.gl.deleteBuffer(this.handle),this.destroyed=!0,this.handle=null)}},{key:"write",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=0,f=void 0,c=this.device.isWebGL2?o.COPY_WRITE_BUFFER:this.target;this.gl.bindBuffer(c,this.handle),u!==0||f!==void 0?(this.device.assertWebGL2(),this.gl2.bufferSubData(c,a,i,u,f)):this.gl.bufferSubData(c,a,i),this.gl.bindBuffer(c,null)}},{key:"readAsync",value:function(){var n=te(ii.default.mark(function a(){var u,f,c,l,_=arguments;return ii.default.wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return u=_.length>0&&_[0]!==void 0?_[0]:0,f=_.length>1?_[1]:void 0,this.device.assertWebGL2(),c=new Uint8Array(f),l=0,this.gl.bindBuffer(o.COPY_READ_BUFFER,this.handle),this.gl2.getBufferSubData(o.COPY_READ_BUFFER,u,c,l,f),this.gl.bindBuffer(o.COPY_READ_BUFFER,null),d.abrupt("return",c);case 9:case"end":return d.stop()}},a,this)}));function i(){return n.apply(this,arguments)}return i}()},{key:"_invalidateDebugData",value:function(){this.debugData=null}},{key:"_getWriteTarget",value:function(){return this.target}},{key:"_getReadTarget",value:function(){return this.target}}]),t}(ue);function v_(e){return e&ue.INDEX?o.ELEMENT_ARRAY_BUFFER:e&ue.VERTEX?o.ARRAY_BUFFER:e&ue.UNIFORM?o.UNIFORM_BUFFER:o.ARRAY_BUFFER}function g_(e){return e&ue.INDEX?o.STATIC_DRAW:e&ue.VERTEX?o.STATIC_DRAW:e&ue.UNIFORM?o.DYNAMIC_DRAW:o.DYNAMIC_DRAW}function S_(e){var r=O_();return function(){var n=O(e),i;if(r){var a=O(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return U(this,i)}}function O_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var ur=function(e){x(t,e);var r=S_(t);function t(n,i){var a;return C(this,t),a=r.call(this,n,i),s(A(a),"device",void 0),s(A(a),"handle",void 0),s(A(a),"parameters",void 0),a.device=n,a.parameters=Xr(i),a.device.isWebGL2&&(a.handle=a.handle||a.device.gl2.createSampler(),a._setSamplerParameters(a.parameters)),a}return N(t,[{key:"destroy",value:function(){this.handle&&(this.device.gl2.deleteSampler(this.handle),this.handle=void 0)}},{key:"toString",value:function(){return"Sampler(".concat(this.id,",").concat(JSON.stringify(this.props),")")}},{key:"_setSamplerParameters",value:function(i){for(var a=0,u=Object.entries(i);a<u.length;a++){var f=V(u[a],2),c=f[0],l=f[1],_=Number(c);switch(_){case o.TEXTURE_MIN_LOD:case o.TEXTURE_MAX_LOD:this.device.gl2.samplerParameterf(this.handle,_,l);break;default:this.device.gl2.samplerParameteri(this.handle,_,l);break}}}}]),t}(dn);function b_(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=C_(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
268
268
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,f;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,f=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw f}}}}function C_(e,r){if(e){if(typeof e=="string")return Ns(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Ns(e,r)}}function Ns(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function Ps(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Hr(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Ps(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Ps(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function N_(e){var r=P_();return function(){var n=O(e),i;if(r){var a=O(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return U(this,i)}}function P_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var I_={parameters:{},pixelStore:{},pixels:null,border:0,dataFormat:void 0,textureUnit:void 0,target:void 0},ke=function(e){x(t,e);var r=N_(t);function t(n,i){var a,u;return C(this,t),u=r.call(this,n,Hr(Hr({},I_),{},{format:"rgba8unorm"},i)),s(A(u),"MAX_ATTRIBUTES",void 0),s(A(u),"device",void 0),s(A(u),"gl",void 0),s(A(u),"gl2",void 0),s(A(u),"handle",void 0),s(A(u),"sampler",void 0),s(A(u),"glFormat",void 0),s(A(u),"type",void 0),s(A(u),"dataFormat",void 0),s(A(u),"mipmaps",void 0),s(A(u),"target",void 0),s(A(u),"textureUnit",void 0),s(A(u),"loaded",!1),s(A(u),"_video",void 0),u.device=n,u.gl=u.device.gl,u.gl2=u.device.gl2,u.handle=u.props.handle||u.gl.createTexture(),u.device.setSpectorMetadata(u.handle,Hr(Hr({},u.props),{},{data:de(u.props.data)})),u.glFormat=o.RGBA,u.target=F_(u.props),u.loaded=!1,typeof((a=u.props)===null||a===void 0?void 0:a.data)=="string"&&Object.assign(u.props,{data:Sn(u.props.data)}),u.initialize(u.props),Object.seal(A(u)),u}return N(t,[{key:"destroy",value:function(){this.handle&&(this.gl.deleteTexture(this.handle),this.removeStats(),this.trackDeallocatedMemory("Texture"),this.destroyed=!0)}},{key:"toString",value:function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")}},{key:"initialize",value:function(){var i=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this.props.dimension==="cube")return this.initializeCube(a);var u=a.data;if(u instanceof Promise)return u.then(function(T){return i.initialize(Object.assign({},a,{pixels:T,data:T}))}),this;var f=typeof HTMLVideoElement<"u"&&u instanceof HTMLVideoElement;if(f&&u.readyState<HTMLVideoElement.HAVE_METADATA)return this._video=null,u.addEventListener("loadeddata",function(){return i.initialize(a)}),this;var c=a.parameters,l=c===void 0?{}:c,_=a.pixels,E=_===void 0?null:_,d=a.pixelStore,p=d===void 0?{}:d,h=a.textureUnit,R=h===void 0?void 0:h;u||(u=E);var S=a.width,v=a.height,P=a.dataFormat,y=a.type,B=a.compressed,w=B===void 0?!1:B,W=a.mipmaps,D=W===void 0?!0:W,z=a.depth,K=z===void 0?0:z,$=or(a.format,this.device.isWebGL2),H=this._deduceParameters({format:a.format,type:y,dataFormat:P,compressed:w,data:u,width:S,height:v});return S=H.width,v=H.height,w=H.compressed,P=H.dataFormat,y=H.type,this.width=S,this.height=v,this.glFormat=$,this.type=y,this.dataFormat=P,this.textureUnit=R,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(o.TEXTURE0+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),D&&this.device.isWebGL1&&Wr(this.width,this.height)&&(X.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaps"))(),D=!1),this.mipmaps=D,this.setImageData({data:u,width:S,height:v,depth:K,format:$,type:y,dataFormat:P,parameters:p,compressed:w}),this.setSampler(a.sampler),this._setSamplerParameters(l),D&&this.generateMipmap(),f&&(this._video={video:u,parameters:l,lastTime:u.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?u.currentTime:-1}),this}},{key:"initializeCube",value:function(i){var a=this,u=i.mipmaps,f=u===void 0?!0:u,c=i.parameters,l=c===void 0?{}:c;return this.setCubeMapImageData(i).then(function(){a.loaded=!0,f&&a.generateMipmap(i),a.setSampler(i.sampler),a._setSamplerParameters(l)}),this}},{key:"setSampler",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a;i instanceof ur?(this.sampler=i,a=i.props):(this.sampler=new ur(this.device,i),a=i);var u=Xr(a);return this._setSamplerParameters(u),this}},{key:"resize",value:function(i){var a=i.height,u=i.width,f=i.mipmaps,c=f===void 0?!1:f;return u!==this.width||a!==this.height?this.initialize({width:u,height:a,format:this.format,type:this.type,dataFormat:this.dataFormat,mipmaps:c}):this}},{key:"update",value:function(){if(this._video){var i=this._video,a=i.video,u=i.parameters,f=i.lastTime;if(f===a.currentTime||a.readyState<HTMLVideoElement.HAVE_CURRENT_DATA)return;this.setSubImageData({data:a,parameters:u}),this.mipmaps&&this.generateMipmap(),this._video.lastTime=a.currentTime}}},{key:"generateMipmap",value:function(){var i=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.device.isWebGL1&&Wr(this.width,this.height)?(X.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),nt(this.gl,a,function(){i.gl.generateMipmap(i.target)}),this.gl.bindTexture(this.target,null),this)}},{key:"setImageData",value:function(i){var a=this;if(this.props.dimension==="3d"||this.props.dimension==="2d-array")return this.setImageData3D(i);this.trackDeallocatedMemory("Texture");var u=i.target,f=u===void 0?this.target:u,c=i.pixels,l=c===void 0?null:c,_=i.level,E=_===void 0?0:_,d=i.glFormat,p=d===void 0?this.glFormat:d,h=i.offset,R=h===void 0?0:h,S=i.parameters,v=S===void 0?{}:S,P=i.data,y=P===void 0?null:P,B=i.type,w=B===void 0?this.type:B,W=i.width,D=W===void 0?this.width:W,z=i.height,K=z===void 0?this.height:z,$=i.dataFormat,H=$===void 0?this.dataFormat:$,T=i.compressed,m=T===void 0?!1:T;y||(y=l);var b=this._deduceParameters({format:this.props.format,type:w,dataFormat:H,compressed:m,data:y,width:D,height:K});w=b.type,H=b.dataFormat,m=b.compressed,D=b.width,K=b.height;var M=this.gl;M.bindTexture(this.target,this.handle);var L=null,F=this._getDataType({data:y,compressed:m});y=F.data,L=F.dataType;var Y;if(nt(this.gl,v,function(){switch(L){case"null":M.texImage2D(f,E,p,D,K,0,H,w,y);break;case"typed-array":M.texImage2D(f,E,p,D,K,0,H,w,y,R);break;case"buffer":Y=a.device.assertWebGL2(),Y.bindBuffer(o.PIXEL_UNPACK_BUFFER,y.handle||y),Y.texImage2D(f,E,p,D,K,0,H,w,R),Y.bindBuffer(o.PIXEL_UNPACK_BUFFER,null);break;case"browser-object":a.device.isWebGL2?M.texImage2D(f,E,p,D,K,0,H,w,y):M.texImage2D(f,E,p,H,w,y);break;case"compressed":var G=b_(y.entries()),J;try{for(G.s();!(J=G.n()).done;){var q=V(J.value,2),fe=q[0],Te=q[1];M.compressedTexImage2D(f,fe,Te.format,Te.width,Te.height,0,Te.data)}}catch(Oe){G.e(Oe)}finally{G.f()}break;default:k(!1,"Unknown image data type")}}),y&&y.byteLength)this.trackAllocatedMemory(y.byteLength,"Texture");else{var j=sr(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*j,"Texture")}return this.loaded=!0,this}},{key:"setSubImageData",value:function(i){var a=this,u=i.target,f=u===void 0?this.target:u,c=i.pixels,l=c===void 0?null:c,_=i.data,E=_===void 0?null:_,d=i.x,p=d===void 0?0:d,h=i.y,R=h===void 0?0:h,S=i.width,v=S===void 0?this.width:S,P=i.height,y=P===void 0?this.height:P,B=i.level,w=B===void 0?0:B,W=i.glFormat,D=W===void 0?this.glFormat:W,z=i.type,K=z===void 0?this.type:z,$=i.dataFormat,H=$===void 0?this.dataFormat:$,T=i.compressed,m=T===void 0?!1:T,b=i.offset,M=b===void 0?0:b,L=i.parameters,F=L===void 0?{}:L,Y=this._deduceParameters({format:this.props.format,type:K,dataFormat:H,compressed:m,data:E,width:v,height:y});if(K=Y.type,H=Y.dataFormat,m=Y.compressed,v=Y.width,y=Y.height,k(this.depth===1,"texSubImage not supported for 3D textures"),E||(E=l),E&&E.data){var j=E;E=j.data,v=j.shape[0],y=j.shape[1]}E instanceof Ve&&(E=E.handle),this.gl.bindTexture(this.target,this.handle),nt(this.gl,F,function(){if(m)a.gl.compressedTexSubImage2D(f,w,p,R,v,y,D,E);else if(E===null)a.gl.texSubImage2D(f,w,p,R,v,y,H,K,null);else if(ArrayBuffer.isView(E))a.gl.texSubImage2D(f,w,p,R,v,y,H,K,E,M);else if(typeof WebGLBuffer<"u"&&E instanceof WebGLBuffer){var G=a.device.assertWebGL2();G.bindBuffer(o.PIXEL_UNPACK_BUFFER,E),G.texSubImage2D(f,w,p,R,v,y,H,K,M),G.bindBuffer(o.PIXEL_UNPACK_BUFFER,null)}else if(a.device.isWebGL2){var J=a.device.assertWebGL2();J.texSubImage2D(f,w,p,R,v,y,H,K,E)}else a.gl.texSubImage2D(f,w,p,R,H,K,E)}),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return X.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"getActiveUnit",value:function(){return this.gl.getParameter(o.ACTIVE_TEXTURE)-o.TEXTURE0}},{key:"bind",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,a=this.gl;return i!==void 0&&(this.textureUnit=i,a.activeTexture(a.TEXTURE0+i)),a.bindTexture(this.target,this.handle),i}},{key:"unbind",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,a=this.gl;return i!==void 0&&(this.textureUnit=i,a.activeTexture(a.TEXTURE0+i)),a.bindTexture(this.target,null),i}},{key:"_getDataType",value:function(i){var a=i.data,u=i.compressed,f=u===void 0?!1:u;return f?{data:a,dataType:"compressed"}:a===null?{data:a,dataType:"null"}:ArrayBuffer.isView(a)?{data:a,dataType:"typed-array"}:a instanceof Ve?{data:a.handle,dataType:"buffer"}:typeof WebGLBuffer<"u"&&a instanceof WebGLBuffer?{data:a,dataType:"buffer"}:{data:a,dataType:"browser-object"}}},{key:"_deduceParameters",value:function(i){var a=i.format,u=i.data,f=i.width,c=i.height,l=i.dataFormat,_=i.type,E=i.compressed,d=wr(a,this.device.isWebGL2);l=l||d.dataFormat,_=_||d.type,E=E||d.compressed;var p=this._deduceImageSize(u,f,c);return f=p.width,c=p.height,{dataFormat:l,type:_,compressed:E,width:f,height:c,format:a,data:u}}},{key:"_deduceImageSize",value:function(i,a,u){var f;return typeof ImageData<"u"&&i instanceof ImageData?f={width:i.width,height:i.height}:typeof HTMLImageElement<"u"&&i instanceof HTMLImageElement?f={width:i.naturalWidth,height:i.naturalHeight}:typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement?f={width:i.width,height:i.height}:typeof ImageBitmap<"u"&&i instanceof ImageBitmap?f={width:i.width,height:i.height}:typeof HTMLVideoElement<"u"&&i instanceof HTMLVideoElement?f={width:i.videoWidth,height:i.videoHeight}:i?f={width:a,height:u}:f={width:a>=0?a:1,height:u>=0?u:1},k(f,"Could not deduced texture size"),k(a===void 0||f.width===a,"Deduced texture width does not match supplied width"),k(u===void 0||f.height===u,"Deduced texture height does not match supplied height"),f}},{key:"setCubeMapImageData",value:function(){var n=te(ai.default.mark(function a(u){var f=this,c,l,_,E,d,p,h,R,S,v,P;return ai.default.wrap(function(B){for(;;)switch(B.prev=B.next){case 0:return c=this.gl,l=u.width,_=u.height,E=u.pixels,d=u.data,p=u.format,h=p===void 0?o.RGBA:p,R=u.type,S=R===void 0?o.UNSIGNED_BYTE:R,v=E||d,B.next=5,Promise.all(t.FACES.map(function(w){var W=v[w];return Promise.all(Array.isArray(W)?W:[W])}));case 5:P=B.sent,this.bind(),t.FACES.forEach(function(w,W){P[W].length>1&&f.props.mipmaps!==!1&&X.warn("".concat(f.id," has mipmap and multiple LODs."))(),P[W].forEach(function(D,z){l&&_?c.texImage2D(w,z,h,l,_,0,h,S,D):c.texImage2D(w,z,h,h,S,D)})}),this.unbind();case 9:case"end":return B.stop()}},a,this)}));function i(a){return n.apply(this,arguments)}return i}()},{key:"setImageDataForFace",value:function(i){var a=this,u=i.face,f=i.width,c=i.height,l=i.pixels,_=i.data,E=i.format,d=E===void 0?o.RGBA:E,p=i.type,h=p===void 0?o.UNSIGNED_BYTE:p,R=this.gl,S=l||_;return this.bind(),S instanceof Promise?S.then(function(v){return a.setImageDataForFace(Object.assign({},i,{face:u,data:v,pixels:v}))}):this.width||this.height?R.texImage2D(u,0,d,f,c,0,d,h,S):R.texImage2D(u,0,d,d,h,S),this}},{key:"setImageData3D",value:function(i){var a=this,u=i.level,f=u===void 0?0:u,c=i.dataFormat,l=i.format,_=i.type,E=i.width,d=i.height,p=i.depth,h=p===void 0?1:p,R=i.offset,S=R===void 0?0:R,v=i.data,P=i.parameters,y=P===void 0?{}:P;this.trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle);var B=wr(l,this.device.isWebGL2);if(nt(this.gl,y,function(){ArrayBuffer.isView(v)&&a.gl.texImage3D(a.target,f,B.format,E,d,h,0,B.dataFormat,B.type,v),v instanceof Ve&&(a.gl.bindBuffer(o.PIXEL_UNPACK_BUFFER,v.handle),a.gl.texImage3D(a.target,f,c,E,d,h,0,l,_,S))}),v&&v.byteLength)this.trackAllocatedMemory(v.byteLength,"Texture");else{var w=sr(this.props.format,this.device.isWebGL2);this.trackAllocatedMemory(this.width*this.height*this.depth*w,"Texture")}return this.loaded=!0,this}},{key:"_setSamplerParameters",value:function(i){if(this.device.isWebGL1&&Wr(this.width,this.height)&&(i=ys(i)),!gt(i)){M_(i),this.gl.bindTexture(this.target,this.handle);for(var a=0,u=Object.entries(i);a<u.length;a++){var f=V(u[a],2),c=f[0],l=f[1],_=Number(c),E=l;switch(_){case o.TEXTURE_MIN_LOD:case o.TEXTURE_MAX_LOD:this.gl.texParameterf(this.target,_,E);break;default:this.gl.texParameteri(this.target,_,E);break}}this.gl.bindTexture(this.target,null)}}},{key:"_getWebGL1NPOTParameterOverride",value:function(i,a){var u=this.device.isWebGL1&&Wr(this.width,this.height);if(u)switch(i){case o.TEXTURE_MIN_FILTER:if(a!==o.LINEAR&&a!==o.NEAREST)return o.LINEAR;break;case o.TEXTURE_WRAP_S:case o.TEXTURE_WRAP_T:return o.CLAMP_TO_EDGE;default:break}return a}}]),t}(Ce);s(ke,"FACES",[o.TEXTURE_CUBE_MAP_POSITIVE_X,o.TEXTURE_CUBE_MAP_NEGATIVE_X,o.TEXTURE_CUBE_MAP_POSITIVE_Y,o.TEXTURE_CUBE_MAP_NEGATIVE_Y,o.TEXTURE_CUBE_MAP_POSITIVE_Z,o.TEXTURE_CUBE_MAP_NEGATIVE_Z]);function F_(e){switch(e.dimension){case"2d":return o.TEXTURE_2D;case"cube":return o.TEXTURE_CUBE_MAP;case"2d-array":return o.TEXTURE_2D_ARRAY;case"3d":return o.TEXTURE_3D;case"1d":case"cube-array":default:throw new Error(e.dimension)}}function Wr(e,r){return!e||!r?!1:!Tr(e)||!Tr(r)}function M_(e){X.log(1,"texture sampler parameters",e)()}function Vr(e,r){if(typeof r!="string")return r;var t=Number(r);if(!isNaN(t))return t;r=r.replace(/^.*\./,"");var n=e[r];return k(n!==void 0,"Accessing undefined constant GL.".concat(r)),n}function D_(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=B_(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
@@ -273,7 +273,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
273
273
|
`.concat(R)};i=a(i);var u=this.device.gl;u.shaderSource(this.handle,i),u.compileShader(this.handle);var f=u.getShaderParameter(this.handle,o.COMPILE_STATUS);if(!f){var c=u.getShaderInfoLog(this.handle),l=c?di(c):[],_=l.filter(function(h){return h.type==="error"}),E=An(_,i),d=_i(i).name,p="".concat(this.stage," shader ").concat(d);throw X.error("GLSL compilation errors in ".concat(p,`
|
|
274
274
|
`).concat(E))(),new Error("GLSL compilation errors in ".concat(d))}}}]),t}(En);function AE(e){return _i(e.source).name||e.id||re("unnamed ".concat(e.stage,"-shader"))}function tu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function TE(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?tu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):tu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function vE(e){var r=gE();return function(){var n=O(e),i;if(r){var a=O(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return U(this,i)}}function gE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var SE=256,OE=1024,yE=16384,hi=6144,ru=function(e){x(t,e);var r=vE(t);function t(n,i){var a;return C(this,t),a=r.call(this,n,i),s(A(a),"device",void 0),s(A(a),"glParameters",void 0),a.device=n,a.setParameters(a.props.parameters),a.clear(),a}return N(t,[{key:"end",value:function(){}},{key:"pushDebugGroup",value:function(i){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(i){}},{key:"setParameters",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a={};this.props.framebuffer&&(a.framebuffer=this.props.framebuffer),this.props.depthReadOnly&&(a.depthMask=!this.props.depthReadOnly),a.stencilMask=this.props.stencilReadOnly?0:1,a[o.RASTERIZER_DISCARD]=this.props.discard,i.viewport&&(a.viewport=i.viewport,a.depthRange=[i.viewport[4],i.viewport[5]]),a.scissorTest=Boolean(i.scissorRect),i.scissorRect&&(a.scissor=i.scissorRect),i.blendConstant&&(a.blendColor=i.blendConstant),i.stencilReference&&(console.warn("RenderPassParameters.stencilReference not yet implemented in WebGL"),i[o.STENCIL_REF]=i.stencilReference),this.glParameters=a}},{key:"clear",value:function(){var i=this,a=TE({},this.glParameters),u=0;this.props.clearColor!==!1&&(u|=yE,a.clearColor=this.props.clearColor),this.props.clearDepth!==!1&&(u|=SE,a.clearDepth=this.props.clearDepth),this.props.clearStencil!==!1&&(u|=OE,a.clearStencil=this.props.clearStencil),u!==0&&nt(this.device,a,function(){i.device.gl.clear(u)})}},{key:"clearColorBuffer",value:function(){var i=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0,0];nt(this.device.gl2,{framebuffer:this.props.framebuffer},function(){switch(u.constructor){case Int32Array:i.device.gl2.clearBufferiv(hi,a,u);break;case Uint32Array:i.device.gl2.clearBufferuiv(hi,a,u);break;case Float32Array:default:i.device.gl2.clearBufferfv(hi,a,u);break}})}}]),t}(Sr);var ne;function nu(e){return bE.includes(e)}var bE=[o.SAMPLER_2D,o.SAMPLER_CUBE,o.SAMPLER_3D,o.SAMPLER_2D_SHADOW,o.SAMPLER_2D_ARRAY,o.SAMPLER_2D_ARRAY_SHADOW,o.SAMPLER_CUBE_SHADOW,o.INT_SAMPLER_2D,o.INT_SAMPLER_3D,o.INT_SAMPLER_CUBE,o.INT_SAMPLER_2D_ARRAY,o.UNSIGNED_INT_SAMPLER_2D,o.UNSIGNED_INT_SAMPLER_3D,o.UNSIGNED_INT_SAMPLER_CUBE,o.UNSIGNED_INT_SAMPLER_2D_ARRAY],iu=(ne={},s(ne,o.FLOAT,[o.FLOAT,1,"float","f32","float32"]),s(ne,o.FLOAT_VEC2,[o.FLOAT,2,"vec2","vec2<f32>","float32x2"]),s(ne,o.FLOAT_VEC3,[o.FLOAT,3,"vec3","vec3<f32>","float32x3"]),s(ne,o.FLOAT_VEC4,[o.FLOAT,4,"vec4","vec4<f32>","float32x4"]),s(ne,o.INT,[o.INT,1,"int","i32","sint32"]),s(ne,o.INT_VEC2,[o.INT,2,"ivec2","vec2<i32>","sint32x2"]),s(ne,o.INT_VEC3,[o.INT,3,"ivec3","vec3<i32>","sint32x3"]),s(ne,o.INT_VEC4,[o.INT,4,"ivec4","vec4<i32>","sint32x4"]),s(ne,o.UNSIGNED_INT,[o.UNSIGNED_INT,1,"uint","u32","uint32"]),s(ne,o.UNSIGNED_INT_VEC2,[o.UNSIGNED_INT,2,"uvec2","vec2<u32>","uint32x2"]),s(ne,o.UNSIGNED_INT_VEC3,[o.UNSIGNED_INT,3,"uvec3","vec3<u32>","uint32x3"]),s(ne,o.UNSIGNED_INT_VEC4,[o.UNSIGNED_INT,4,"uvec4","vec4<u32>","uint32x4"]),s(ne,o.BOOL,[o.FLOAT,1,"bool","f32","float32x2"]),s(ne,o.BOOL_VEC2,[o.FLOAT,2,"bvec2","vec2<f32>"]),s(ne,o.BOOL_VEC3,[o.FLOAT,3,"bvec3","vec3<f32>"]),s(ne,o.BOOL_VEC4,[o.FLOAT,4,"bvec4","vec4<f32>"]),s(ne,o.FLOAT_MAT2,[o.FLOAT,8,"mat2","mat2x2<f32>"]),s(ne,o.FLOAT_MAT2x3,[o.FLOAT,8,"mat2x3","mat2x3<f32>"]),s(ne,o.FLOAT_MAT2x4,[o.FLOAT,8,"mat2x4","mat2x4<f32>"]),s(ne,o.FLOAT_MAT3x2,[o.FLOAT,12,"mat3x2","mat3x2<f32>"]),s(ne,o.FLOAT_MAT3,[o.FLOAT,12,"mat3","mat3x3<f32>"]),s(ne,o.FLOAT_MAT3x4,[o.FLOAT,12,"mat3x4","mat3x4<f32>"]),s(ne,o.FLOAT_MAT4x2,[o.FLOAT,16,"mat4x2","mat4x2<f32>"]),s(ne,o.FLOAT_MAT4x3,[o.FLOAT,16,"mat4x3","mat4x3<f32>"]),s(ne,o.FLOAT_MAT4,[o.FLOAT,16,"mat4","mat4x4<f32>"]),ne);function mi(e){var r=iu[e];if(!r)throw new Error("uniform");var t=V(r,4),n=t[0],i=t[1],a=t[3];return{format:a,components:i,glType:n}}function au(e){var r=iu[e];if(!r)throw new Error("attribute");var t=V(r,5),n=t[0],i=t[1],a=t[4];return{format:a,components:i,glType:n}}function ou(e,r){var t=CE(e);switch(r){case 1:return t;case 2:return"".concat(t,"x2");case 3:return"".concat(t,"x3");case 4:return"".concat(t,"x4");default:throw new Error(String(r))}}function CE(e){switch(e){case o.INT:return"sint32";case o.UNSIGNED_INT:return"uint32";case o.FLOAT:return"float32";default:throw new Error(String(e))}}var Re;function su(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function uu(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?su(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):su(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Ri(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=NE(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
275
275
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,f;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,f=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw f}}}}function NE(e,r){if(e){if(typeof e=="string")return fu(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return fu(e,r)}}function fu(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function cu(e,r){var t,n,i=PE(e,r),a={attributes:[],bindings:[]},u=Ri(i.attributes),f;try{for(u.s();!(f=u.n()).done;){var c=f.value,l=Math.min(c.accessor.size,4),_=ou(c.accessor.type||o.FLOAT,l);a.attributes.push({name:c.name,location:c.location,format:_,stepMode:c.accessor.divisor===1?"instance":"vertex"})}}catch(D){u.e(D)}finally{u.f()}var E=Ri(i.uniformBlocks),d;try{for(E.s();!(d=E.n()).done;){var p=d.value,h=p.uniforms.map(function(D){return{name:D.name,format:D.format,byteOffset:D.byteOffset,byteStride:D.byteStride,arrayLength:D.arrayLength}});a.bindings.push({type:"uniform",name:p.name,location:p.location,visibility:(p.vertex?1:0)&(p.fragment?2:0),minBindingSize:p.byteLength,uniforms:h})}}catch(D){E.e(D)}finally{E.f()}var R=0,S=Ri(i.uniforms),v;try{for(S.s();!(v=S.n()).done;){var P=v.value;if(nu(P.type)){var y=xE(P.type),B=y.viewDimension,w=y.sampleType;a.bindings.push({type:"texture",name:P.name,location:R,viewDimension:B,sampleType:w}),P.textureUnit=R,R+=1}}}catch(D){S.e(D)}finally{S.f()}var W=((t=i.uniforms)===null||t===void 0?void 0:t.filter(function(D){return D.location!==null}))||[];return W.length&&(a.uniforms=W),(n=i.varyings)!==null&&n!==void 0&&n.length&&(a.varyings=i.varyings),a}function PE(e,r){var t={attributes:IE(e,r),uniforms:ME(e,r),uniformBlocks:DE(e,r),varyings:FE(e,r)};return Object.seal(t),t}function IE(e,r){for(var t=[],n=e.getProgramParameter(r,e.ACTIVE_ATTRIBUTES),i=0;i<n;i++){var a=e.getActiveAttrib(r,i);if(!a)throw new Error("activeInfo");var u=a.name,f=a.type,c=a.size,l=e.getAttribLocation(r,u);if(l>=0){var _=au(f),E=_.glType,d=_.components,p={type:E,size:c*d};/instance/i.test(u)&&(p.divisor=1);var h={location:l,name:u,accessor:new je(p)};t.push(h)}}return t.sort(function(R,S){return R.location-S.location}),t}function FE(e,r){if(!Q(e))return[];for(var t=e,n=[],i=e.getProgramParameter(r,o.TRANSFORM_FEEDBACK_VARYINGS),a=0;a<i;a++){var u=t.getTransformFeedbackVarying(r,a);if(!u)throw new Error("activeInfo");var f=u.name,c=u.type,l=u.size,_=mi(c),E=_.glType,d=_.components,p=new je({type:E,size:l*d}),h={location:a,name:f,accessor:p};n.push(h)}return n.sort(function(R,S){return R.location-S.location}),n}function ME(e,r){for(var t=[],n=e.getProgramParameter(r,o.ACTIVE_UNIFORMS),i=0;i<n;i++){var a=e.getActiveUniform(r,i);if(!a)throw new Error("activeInfo");var u=a.name,f=a.size,c=a.type,l=UE(u),_=l.name,E=l.isArray,d=e.getUniformLocation(r,_),p={location:d,name:_,size:f,type:c,isArray:E};if(t.push(p),p.size>1)for(var h=0;h<p.size;h++){var R="".concat(_,"[").concat(h,"]");d=e.getUniformLocation(r,R);var S=uu(uu({},p),{},{name:R,location:d});t.push(S)}}return t}function DE(e,r){if(!Q(e))return[];for(var t=e,n=function(S,v){return t.getActiveUniformBlockParameter(r,S,v)},i=[],a=t.getProgramParameter(r,o.ACTIVE_UNIFORM_BLOCKS),u=0;u<a;u++){for(var f={name:t.getActiveUniformBlockName(r,u)||"",location:n(u,o.UNIFORM_BLOCK_BINDING),byteLength:n(u,o.UNIFORM_BLOCK_DATA_SIZE),vertex:n(u,o.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),fragment:n(u,o.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),uniformCount:n(u,o.UNIFORM_BLOCK_ACTIVE_UNIFORMS),uniforms:[]},c=n(u,o.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)||[],l=t.getActiveUniforms(r,c,o.UNIFORM_TYPE),_=t.getActiveUniforms(r,c,o.UNIFORM_SIZE),E=t.getActiveUniforms(r,c,o.UNIFORM_OFFSET),d=t.getActiveUniforms(r,c,o.UNIFORM_ARRAY_STRIDE),p=0;p<f.uniformCount;++p){var h=t.getActiveUniform(r,c[p]);if(!h)throw new Error("activeInfo");f.uniforms.push({name:h.name,format:mi(l[p]).format,type:l[p],arrayLength:_[p],byteOffset:E[p],byteStride:d[p]})}i.push(f)}return i.sort(function(R,S){return R.location-S.location}),i}var BE=(Re={},s(Re,o.SAMPLER_2D,["2d","float"]),s(Re,o.SAMPLER_CUBE,["cube","float"]),s(Re,o.SAMPLER_3D,["3d","float"]),s(Re,o.SAMPLER_2D_SHADOW,["3d","depth"]),s(Re,o.SAMPLER_2D_ARRAY,["2d-array","float"]),s(Re,o.SAMPLER_2D_ARRAY_SHADOW,["2d-array","depth"]),s(Re,o.SAMPLER_CUBE_SHADOW,["cube","float"]),s(Re,o.INT_SAMPLER_2D,["2d","sint"]),s(Re,o.INT_SAMPLER_3D,["3d","sint"]),s(Re,o.INT_SAMPLER_CUBE,["cube","sint"]),s(Re,o.INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),s(Re,o.UNSIGNED_INT_SAMPLER_2D,["2d","uint"]),s(Re,o.UNSIGNED_INT_SAMPLER_3D,["3d","uint"]),s(Re,o.UNSIGNED_INT_SAMPLER_CUBE,["cube","uint"]),s(Re,o.UNSIGNED_INT_SAMPLER_2D_ARRAY,["2d-array","uint"]),Re);function xE(e){var r=BE[e];if(!r)throw new Error("sampler");var t=V(r,2),n=t[0],i=t[1];return{viewDimension:n,sampleType:i}}function UE(e){if(e[e.length-1]!=="]")return{name:e,length:1,isArray:!1};var r=/([^[]*)(\[[0-9]+\])?/,t=r.exec(e);if(!t||t.length<2)throw new Error("Failed to parse GLSL uniform name ".concat(e));return{name:t[1],length:t[2]?1:0,isArray:Boolean(t[2])}}function lu(e,r,t,n){var i=e;if(typeof n=="number")switch(t){case o.SAMPLER_2D:case o.SAMPLER_CUBE:case o.SAMPLER_3D:case o.SAMPLER_2D_SHADOW:case o.SAMPLER_2D_ARRAY:case o.SAMPLER_2D_ARRAY_SHADOW:case o.SAMPLER_CUBE_SHADOW:case o.INT_SAMPLER_2D:case o.INT_SAMPLER_3D:case o.INT_SAMPLER_CUBE:case o.INT_SAMPLER_2D_ARRAY:case o.UNSIGNED_INT_SAMPLER_2D:case o.UNSIGNED_INT_SAMPLER_3D:case o.UNSIGNED_INT_SAMPLER_CUBE:case o.UNSIGNED_INT_SAMPLER_2D_ARRAY:return e.uniform1i(r,n)}n===!0&&(n=1),n===!1&&(n=1);var a=typeof n=="number"?[n]:n;switch(t){case o.FLOAT:return e.uniform1fv(r,a);case o.FLOAT_VEC2:return e.uniform2fv(r,a);case o.FLOAT_VEC3:return e.uniform3fv(r,a);case o.FLOAT_VEC4:return e.uniform4fv(r,a);case o.INT:return e.uniform1iv(r,a);case o.INT_VEC2:return e.uniform2iv(r,a);case o.INT_VEC3:return e.uniform3iv(r,a);case o.INT_VEC4:return e.uniform4iv(r,a);case o.BOOL:return e.uniform1iv(r,a);case o.BOOL_VEC2:return e.uniform2iv(r,a);case o.BOOL_VEC3:return e.uniform3iv(r,a);case o.BOOL_VEC4:return e.uniform4iv(r,a);case o.UNSIGNED_INT:return i.uniform1uiv(r,a,1);case o.UNSIGNED_INT_VEC2:return i.uniform2uiv(r,a,2);case o.UNSIGNED_INT_VEC3:return i.uniform3uiv(r,a,3);case o.UNSIGNED_INT_VEC4:return i.uniform4uiv(r,a,4);case o.FLOAT_MAT2:return e.uniformMatrix2fv(r,!1,a);case o.FLOAT_MAT3:return e.uniformMatrix3fv(r,!1,a);case o.FLOAT_MAT4:return e.uniformMatrix4fv(r,!1,a);case o.FLOAT_MAT2x3:return i.uniformMatrix2x3fv(r,!1,a);case o.FLOAT_MAT2x4:return i.uniformMatrix2x4fv(r,!1,a);case o.FLOAT_MAT3x2:return i.uniformMatrix3x2fv(r,!1,a);case o.FLOAT_MAT3x4:return i.uniformMatrix3x4fv(r,!1,a);case o.FLOAT_MAT4x2:return i.uniformMatrix4x2fv(r,!1,a);case o.FLOAT_MAT4x3:return i.uniformMatrix4x3fv(r,!1,a)}throw new Error("Illegal uniform")}function wE(e){var r=LE();return function(){var n=O(e),i;if(r){var a=O(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return U(this,i)}}function LE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var XE="elements must be GL.ELEMENT_ARRAY_BUFFER",_u=function(e,r){x(n,e);var t=wE(n);function n(i,a){return C(this,n),t.call(this,i,a,{})}return N(n,[{key:r,get:function(){return"BaseVertexArrayObject"}},{key:"_createHandle",value:function(){return this.gl2.createVertexArray()}},{key:"_deleteHandle",value:function(){return this.gl2.deleteVertexArray(this.handle),[this.elements]}},{key:"_bindHandle",value:function(a){this.gl2.bindVertexArray(a)}},{key:"setElementBuffer",value:function(){var a=this,u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return k(!u||u.target===o.ELEMENT_ARRAY_BUFFER,XE),this.bind(function(){a.gl.bindBuffer(o.ELEMENT_ARRAY_BUFFER,u?u.handle:null)}),this}},{key:"setBuffer",value:function(a,u,f){var c=this;if(u.target===o.ELEMENT_ARRAY_BUFFER)return this.setElementBuffer(u,f);var l=f.size,_=f.type,E=f.stride,d=f.offset,p=f.normalized,h=f.integer,R=f.divisor,S=this.gl,v=this.gl2;return a=Number(a),this.bind(function(){S.bindBuffer(S.ARRAY_BUFFER,u.handle),h?(c.device.assertWebGL2(),v.vertexAttribIPointer(a,l,_,E,d)):S.vertexAttribPointer(a,l,_,p,E,d),S.enableVertexAttribArray(a),v.vertexAttribDivisor(a,R||0)}),this}},{key:"enable",value:function(a){var u=this,f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,c=this.device.isWebGL2||hr()==="Chrome",l=c||a!==0;return(f||l)&&(a=Number(a),this.bind(function(){return f?u.gl.enableVertexAttribArray(a):u.gl.disableVertexAttribArray(a)})),this}}]),n}(kr,Symbol.toStringTag);function Eu(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=HE(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
276
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,f;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,f=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw f}}}}function HE(e,r){if(e){if(typeof e=="string")return du(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return du(e,r)}}function du(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function WE(e){var r=VE();return function(){var n=O(e),i;if(r){var a=O(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return U(this,i)}}function VE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var pu=4,hu=function(e){x(t,e);var r=WE(t);function t(n,i){var a;C(this,t),a=r.call(this,n,i),s(A(a),"device",void 0),s(A(a),"handle",void 0),s(A(a),"vs",void 0),s(A(a),"fs",void 0),s(A(a),"layout",void 0),s(A(a),"varyings",null),s(A(a),"vertexArrayObject",void 0),s(A(a),"_indexBuffer",void 0),s(A(a),"uniforms",{}),s(A(a),"bindings",{}),s(A(a),"_textureUniforms",{}),s(A(a),"_textureIndexCounter",0),s(A(a),"_uniformCount",0),s(A(a),"_uniformSetters",{}),a.device=n,a.handle=a.props.handle||a.device.gl.createProgram(),a.device.setSpectorMetadata(a.handle,{id:a.props.id}),a.vs=i.vs,a.fs=i.fs;var u=i.varyings,f=i.bufferMode,c=f===void 0?o.SEPARATE_ATTRIBS:f;if(u&&u.length>0){var l;a.device.assertWebGL2(),a.varyings=u,(l=a.device.gl2)===null||l===void 0||l.transformFeedbackVaryings(a.handle,u,c)}return a._compileAndLink(),a.layout=i.layout||cu(a.device.gl,a.handle),a.vertexArrayObject=new _u(a.device),a}return N(t,[{key:"destroy",value:function(){this.handle&&(this.device.gl.deleteProgram(this.handle),this.destroyed=!0)}},{key:"setIndexBuffer",value:function(i){var a=i;this.vertexArrayObject.setElementBuffer(a),this._indexBuffer=i}},{key:"setAttributes",value:function(i){for(var a=0,u=Object.entries(i);a<u.length;a++){var f=V(u[a],2),c=f[0],l=f[1],_=l,E=KE(this.layout,c);if(!E){X.warn('Ignoring buffer supplied for unknown attribute "'.concat(c,'" in pipeline "').concat(this.id,'" (buffer "').concat(l.id,'")'))();continue}var d=Rn(E.format),p=d.type,h=d.components,R=d.byteLength,S=d.normalized,v=d.integer,P=E.stepMode==="instance"?1:0,y=qn(p);this.vertexArrayObject.setBuffer(E.location,_,{size:h,type:y,stride:R,offset:0,normalized:S,integer:v,divisor:P})}}},{key:"setBindings",value:function(i){for(var a=this,u=function(){var E=V(c[f],2),d=E[0],p=E[1],h=a.layout.bindings.find(function(R){return R.name===d});if(!h)return X.warn("Unknown binding ".concat(d," in render pipeline ").concat(a.id))(),"continue";switch(p||X.warn("Unsetting binding ".concat(d," in render pipeline ").concat(a.id))(),h.type){case"uniform":if(!(p instanceof Ve)&&!(p.buffer instanceof Ve))throw new Error("buffer value");break;case"texture":if(!(p instanceof ke))throw new Error("texture value");break;case"sampler":X.warn("Ignoring sampler ".concat(d))();break;default:throw new Error(h.type)}a.bindings[d]=p},f=0,c=Object.entries(i);f<c.length;f++)var l=u()}},{key:"setUniforms",value:function(i){Object.assign(this.uniforms,i)}},{key:"draw",value:function(i){var a,u=this,f=i.renderPass,c=i.vertexCount,l=i.instanceCount,_=i.firstVertex,E=_===void 0?0:_,d=kE(this.props.topology),p=Boolean(this._indexBuffer),h=((a=this._indexBuffer)===null||a===void 0?void 0:a.props.indexType)==="uint16"?o.UNSIGNED_SHORT:o.UNSIGNED_INT,R=Number(i.instanceCount)>0;return!this._areTexturesRenderable()||i.vertexCount===0?!1:(this.device.gl.useProgram(this.handle),this.vertexArrayObject.bind(function(){var S=jE(u.props.topology),v=null;v&&v.begin(S),u._applyBindings(),u._applyUniforms();var P=f;gs(u.device,u.props.parameters,function(){vs(u.device,P.glParameters,function(){if(p&&R){var y;(y=u.device.gl2)===null||y===void 0||y.drawElementsInstanced(d,c||0,h,E,l||0)}else if(p)u.device.gl.drawElements(d,c||0,h,E);else if(R){var B;(B=u.device.gl2)===null||B===void 0||B.drawArraysInstanced(d,E,c||0,l||0)}else u.device.gl.drawArrays(d,E,c||0)}),v&&v.end()})}),!0)}},{key:"_compileAndLink",value:function(){var i=this.device.gl;if(i.attachShader(this.handle,this.vs.handle),i.attachShader(this.handle,this.fs.handle),X.time(pu,"linkProgram for ".concat(this.id))(),i.linkProgram(this.handle),X.timeEnd(pu,"linkProgram for ".concat(this.id))(),i.debug||X.level>0){var a=i.getProgramParameter(this.handle,i.LINK_STATUS);if(!a)throw new Error("Error linking: ".concat(i.getProgramInfoLog(this.handle)));i.validateProgram(this.handle);var u=i.getProgramParameter(this.handle,i.VALIDATE_STATUS);if(!u)throw new Error("Error validating: ".concat(i.getProgramInfoLog(this.handle)))}}},{key:"_areTexturesRenderable",value:function(){for(var i=!0,a=0,u=Object.entries(this._textureUniforms);a<u.length;a++){var f=V(u[a],2),c=f[1];c.update(),i=i&&c.loaded}for(var l=0,_=Object.entries(this.bindings);l<_.length;l++){var E=V(_[l],2),d=E[1];d.loaded!==void 0&&(i=i&&d.loaded)}return i}},{key:"_applyBindings",value:function(){this.device.gl.useProgram(this.handle);var i=this.device.gl2;if(!i)throw new Error("bindings");var a=0,u=0,f=Eu(this.layout.bindings),c;try{for(f.s();!(c=f.n()).done;){var l=c.value,_=this.bindings[l.name];if(!_)throw new Error("No value for binding ".concat(l.name," in ").concat(this.id));switch(l.type){case"uniform":var E=l.name,d=i.getUniformBlockIndex(this.handle,E);if(d===o.INVALID_INDEX)throw new Error("Invalid uniform block name ".concat(E));i.uniformBlockBinding(this.handle,u,d),_ instanceof Ve?i.bindBufferBase(o.UNIFORM_BUFFER,u,_.handle):i.bindBufferRange(o.UNIFORM_BUFFER,u,_.buffer.handle,_.offset||0,_.size||_.buffer.byteLength-_.offset),u+=1;break;case"texture":if(!(_ instanceof ke))throw new Error("texture");var p=_;i.activeTexture(o.TEXTURE0+a),i.bindTexture(p.target,p.handle),a+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error("binding type '".concat(l.type,"' not supported in WebGL"))}}}catch(h){f.e(h)}finally{f.f()}}},{key:"_applyUniforms",value:function(){var i=Eu(this.layout.uniforms||[]),a;try{for(i.s();!(a=i.n()).done;){var u=a.value,f
|
|
276
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,f;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,f=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw f}}}}function HE(e,r){if(e){if(typeof e=="string")return du(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return du(e,r)}}function du(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function WE(e){var r=VE();return function(){var n=O(e),i;if(r){var a=O(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return U(this,i)}}function VE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var pu=4,hu=function(e){x(t,e);var r=WE(t);function t(n,i){var a;C(this,t),a=r.call(this,n,i),s(A(a),"device",void 0),s(A(a),"handle",void 0),s(A(a),"vs",void 0),s(A(a),"fs",void 0),s(A(a),"layout",void 0),s(A(a),"varyings",null),s(A(a),"vertexArrayObject",void 0),s(A(a),"_indexBuffer",void 0),s(A(a),"uniforms",{}),s(A(a),"bindings",{}),s(A(a),"_textureUniforms",{}),s(A(a),"_textureIndexCounter",0),s(A(a),"_uniformCount",0),s(A(a),"_uniformSetters",{}),a.device=n,a.handle=a.props.handle||a.device.gl.createProgram(),a.device.setSpectorMetadata(a.handle,{id:a.props.id}),a.vs=i.vs,a.fs=i.fs;var u=i.varyings,f=i.bufferMode,c=f===void 0?o.SEPARATE_ATTRIBS:f;if(u&&u.length>0){var l;a.device.assertWebGL2(),a.varyings=u,(l=a.device.gl2)===null||l===void 0||l.transformFeedbackVaryings(a.handle,u,c)}return a._compileAndLink(),a.layout=i.layout||cu(a.device.gl,a.handle),a.vertexArrayObject=new _u(a.device),a}return N(t,[{key:"destroy",value:function(){this.handle&&(this.device.gl.deleteProgram(this.handle),this.destroyed=!0)}},{key:"setIndexBuffer",value:function(i){var a=i;this.vertexArrayObject.setElementBuffer(a),this._indexBuffer=i}},{key:"setAttributes",value:function(i){for(var a=0,u=Object.entries(i);a<u.length;a++){var f=V(u[a],2),c=f[0],l=f[1],_=l,E=KE(this.layout,c);if(!E){X.warn('Ignoring buffer supplied for unknown attribute "'.concat(c,'" in pipeline "').concat(this.id,'" (buffer "').concat(l.id,'")'))();continue}var d=Rn(E.format),p=d.type,h=d.components,R=d.byteLength,S=d.normalized,v=d.integer,P=E.stepMode==="instance"?1:0,y=qn(p);this.vertexArrayObject.setBuffer(E.location,_,{size:h,type:y,stride:R,offset:0,normalized:S,integer:v,divisor:P})}}},{key:"setBindings",value:function(i){for(var a=this,u=function(){var E=V(c[f],2),d=E[0],p=E[1],h=a.layout.bindings.find(function(R){return R.name===d});if(!h)return X.warn("Unknown binding ".concat(d," in render pipeline ").concat(a.id))(),"continue";switch(p||X.warn("Unsetting binding ".concat(d," in render pipeline ").concat(a.id))(),h.type){case"uniform":if(!(p instanceof Ve)&&!(p.buffer instanceof Ve))throw new Error("buffer value");break;case"texture":if(!(p instanceof ke))throw new Error("texture value");break;case"sampler":X.warn("Ignoring sampler ".concat(d))();break;default:throw new Error(h.type)}a.bindings[d]=p},f=0,c=Object.entries(i);f<c.length;f++)var l=u()}},{key:"setUniforms",value:function(i){Object.assign(this.uniforms,i)}},{key:"draw",value:function(i){var a,u=this,f=i.renderPass,c=i.vertexCount,l=i.instanceCount,_=i.firstVertex,E=_===void 0?0:_,d=kE(this.props.topology),p=Boolean(this._indexBuffer),h=((a=this._indexBuffer)===null||a===void 0?void 0:a.props.indexType)==="uint16"?o.UNSIGNED_SHORT:o.UNSIGNED_INT,R=Number(i.instanceCount)>0;return!this._areTexturesRenderable()||i.vertexCount===0?!1:(this.device.gl.useProgram(this.handle),this.vertexArrayObject.bind(function(){var S=jE(u.props.topology),v=null;v&&v.begin(S),u._applyBindings(),u._applyUniforms();var P=f;gs(u.device,u.props.parameters,function(){vs(u.device,P.glParameters,function(){if(p&&R){var y;(y=u.device.gl2)===null||y===void 0||y.drawElementsInstanced(d,c||0,h,E,l||0)}else if(p)u.device.gl.drawElements(d,c||0,h,E);else if(R){var B;(B=u.device.gl2)===null||B===void 0||B.drawArraysInstanced(d,E,c||0,l||0)}else u.device.gl.drawArrays(d,E,c||0)}),v&&v.end()})}),!0)}},{key:"_compileAndLink",value:function(){var i=this.device.gl;if(i.attachShader(this.handle,this.vs.handle),i.attachShader(this.handle,this.fs.handle),X.time(pu,"linkProgram for ".concat(this.id))(),i.linkProgram(this.handle),X.timeEnd(pu,"linkProgram for ".concat(this.id))(),i.debug||X.level>0){var a=i.getProgramParameter(this.handle,i.LINK_STATUS);if(!a)throw new Error("Error linking: ".concat(i.getProgramInfoLog(this.handle)));i.validateProgram(this.handle);var u=i.getProgramParameter(this.handle,i.VALIDATE_STATUS);if(!u)throw new Error("Error validating: ".concat(i.getProgramInfoLog(this.handle)))}}},{key:"_areTexturesRenderable",value:function(){for(var i=!0,a=0,u=Object.entries(this._textureUniforms);a<u.length;a++){var f=V(u[a],2),c=f[1];c.update(),i=i&&c.loaded}for(var l=0,_=Object.entries(this.bindings);l<_.length;l++){var E=V(_[l],2),d=E[1];d.loaded!==void 0&&(i=i&&d.loaded)}return i}},{key:"_applyBindings",value:function(){this.device.gl.useProgram(this.handle);var i=this.device.gl2;if(!i)throw new Error("bindings");var a=0,u=0,f=Eu(this.layout.bindings),c;try{for(f.s();!(c=f.n()).done;){var l=c.value,_=this.bindings[l.name];if(!_)throw new Error("No value for binding ".concat(l.name," in ").concat(this.id));switch(l.type){case"uniform":var E=l.name,d=i.getUniformBlockIndex(this.handle,E);if(d===o.INVALID_INDEX)throw new Error("Invalid uniform block name ".concat(E));i.uniformBlockBinding(this.handle,u,d),_ instanceof Ve?i.bindBufferBase(o.UNIFORM_BUFFER,u,_.handle):i.bindBufferRange(o.UNIFORM_BUFFER,u,_.buffer.handle,_.offset||0,_.size||_.buffer.byteLength-_.offset),u+=1;break;case"texture":if(!(_ instanceof ke))throw new Error("texture");var p=_;i.activeTexture(o.TEXTURE0+a),i.bindTexture(p.target,p.handle),a+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error("binding type '".concat(l.type,"' not supported in WebGL"))}}}catch(h){f.e(h)}finally{f.f()}}},{key:"_applyUniforms",value:function(){var i=Eu(this.layout.uniforms||[]),a;try{for(i.s();!(a=i.n()).done;){var u,f=a.value,c=f.name,l=f.location,_=f.type,E=f.textureUnit,d=(u=this.uniforms[c])!==null&&u!==void 0?u:E;d!==void 0&&lu(this.device.gl,l,_,d)}}catch(p){i.e(p)}finally{i.f()}}}]),t}(bt);function kE(e){switch(e){case"point-list":return o.POINTS;case"line-list":return o.LINES;case"line-strip":return o.LINE_STRIP;case"line-loop":return o.LINE_LOOP;case"triangle-list":return o.TRIANGLES;case"triangle-strip":return o.TRIANGLE_STRIP;case"triangle-fan":return o.TRIANGLE_FAN;default:throw new Error(e)}}function jE(e){switch(e){case"point-list":return o.POINTS;case"line-list":return o.LINES;case"line-strip":return o.LINES;case"line-loop":return o.LINES;case"triangle-list":return o.TRIANGLES;case"triangle-strip":return o.TRIANGLES;case"triangle-fan":return o.TRIANGLES;default:throw new Error(e)}}function KE(e,r){return e.attributes.find(function(t){return t.name===r})||null}function YE(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=GE(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
277
277
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,u=!1,f;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){u=!0,f=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(u)throw f}}}}function GE(e,r){if(e){if(typeof e=="string")return mu(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return mu(e,r)}}function mu(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function zE(e){var r=$E();return function(){var n=O(e),i;if(r){var a=O(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return U(this,i)}}function $E(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Ru=function(e){x(t,e);var r=zE(t);function t(n){var i;return C(this,t),i=r.call(this,{}),s(A(i),"device",void 0),s(A(i),"commands",[]),i.device=n,i}return N(t,[{key:"submitCommands",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.commands,a=YE(i),u;try{for(a.s();!(u=a.n()).done;){var f=u.value;switch(f.name){case"copy-buffer-to-buffer":ZE(this.device,f.options);break;case"copy-buffer-to-texture":qE(this.device,f.options);break;case"copy-texture-to-buffer":QE(this.device,f.options);break;case"copy-texture-to-texture":JE(this.device,f.options);break}}}catch(c){a.e(c)}finally{a.f()}}}]),t}(mn);function ZE(e,r){var t=r.source,n=r.destination,i=e.assertWebGL2();if(i){var a,u;i.bindBuffer(o.COPY_READ_BUFFER,t.handle),i.bindBuffer(o.COPY_WRITE_BUFFER,n.handle),i.copyBufferSubData(o.COPY_READ_BUFFER,o.COPY_WRITE_BUFFER,(a=r.sourceOffset)!==null&&a!==void 0?a:0,(u=r.destinationOffset)!==null&&u!==void 0?u:0,r.size),i.bindBuffer(o.COPY_READ_BUFFER,null),i.bindBuffer(o.COPY_WRITE_BUFFER,null)}else throw new Error("copyBufferToBuffer not implemented in WebGL1")}function qE(e,r){throw new Error("Not implemented")}function QE(e,r){var t=r.source,n=r.mipLevel,i=n===void 0?0:n,a=r.aspect,u=a===void 0?"all":a,f=r.width,c=f===void 0?r.source.width:f,l=r.height,_=l===void 0?r.source.height:l,E=r.depthOrArrayLayers,d=E===void 0?0:E,p=r.origin,h=p===void 0?[0,0]:p,R=r.destination,S=r.byteOffset,v=S===void 0?0:S,P=r.bytesPerRow,y=r.rowsPerImage;if(u!=="all")throw new Error("not supported");if(i!==0||d!==void 0||P||y)throw new Error("not implemented");var B=e.assertWebGL2(),w=Au(t),W=w.framebuffer,D=w.destroyFramebuffer;try{var z=R,K=c||W.width,$=_||W.height,H=o.RGBA,T=o.UNSIGNED_BYTE;B.bindBuffer(o.PIXEL_PACK_BUFFER,z.handle),B.bindFramebuffer(o.FRAMEBUFFER,W.handle),B.readPixels(h[0],h[1],K,$,H,T,v)}finally{B.bindBuffer(o.PIXEL_PACK_BUFFER,null),B.bindFramebuffer(o.FRAMEBUFFER,null),D&&W.destroy()}}function JE(e,r){var t=r.source,n=r.origin,i=n===void 0?[0,0]:n,a=r.destination,u=r.width,f=u===void 0?r.destination.width:u,c=r.height,l=c===void 0?r.destination.width:c,_=0,E=o.RGBA,d=Au(t),p=d.framebuffer,h=d.destroyFramebuffer,R=V(i,2),S=R[0],v=R[1],P=!1;e.gl.bindFramebuffer(o.FRAMEBUFFER,p.handle);var y=null,B;if(a instanceof ke)y=a,f=Number.isFinite(f)?f:y.width,l=Number.isFinite(l)?l:y.height,y.bind(0),B=y.destination;else throw new Error("whoops");return P||e.gl.copyTexImage2D(B,_,E,S,v,f,l,0),y&&y.unbind(),e.gl.bindFramebuffer(o.FRAMEBUFFER,prevHandle||null),h&&p.destroy(),y}function Au(e){if(e instanceof Ce){var r=e.width,t=e.height,n=e.id,i=e.device.createFramebuffer({id:"framebuffer-for-".concat(n),width:r,height:t,colorAttachments:[e]});return{framebuffer:i,destroyFramebuffer:!0}}return{framebuffer:e,destroyFramebuffer:!1}}function ed(e){var r=td();return function(){var n=O(e),i;if(r){var a=O(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return U(this,i)}}function td(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Tu=function(e){x(t,e);var r=ed(t);function t(n,i){var a;return C(this,t),a=r.call(this,i),s(A(a),"device",void 0),s(A(a),"commandBuffer",void 0),a.device=n,a.commandBuffer=new Ru(n),a}return N(t,[{key:"destroy",value:function(){}},{key:"finish",value:function(){this.commandBuffer.submitCommands()}},{key:"copyBufferToBuffer",value:function(i){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:i})}},{key:"copyBufferToTexture",value:function(i){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:i})}},{key:"copyTextureToBuffer",value:function(i){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:i})}},{key:"copyTextureToTexture",value:function(i){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:i})}},{key:"pushDebugGroup",value:function(i){}},{key:"popDebugGroup",value:function(){}},{key:"insertDebugMarker",value:function(i){}}]),t}(hn);function vu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Ke(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?vu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):vu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function rd(e){var r=nd();return function(){var n=O(e),i;if(r){var a=O(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return U(this,i)}}function nd(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Gr=1,me=function(e){x(t,e);var r=rd(t);function t(n){var i,a;C(this,t),a=r.call(this,Ke(Ke({},n),{},{id:n.id||re("webgl-device")})),s(A(a),"info",void 0),s(A(a),"canvasContext",void 0),s(A(a),"handle",void 0),s(A(a),"lost",void 0),s(A(a),"_resolveContextLost",void 0),s(A(a),"_features",void 0),s(A(a),"_limits",void 0),s(A(a),"renderPass",null),s(A(a),"gl",void 0),s(A(a),"gl2",null),s(A(a),"debug",!1),s(A(a),"isWebGL1",void 0),s(A(a),"isWebGL2",void 0),s(A(a),"_canvasSizeInfo",{clientWidth:0,clientHeight:0,devicePixelRatio:1}),s(A(a),"_extensions",{}),s(A(a),"_polyfilled",!1),s(A(a),"spector",void 0),s(A(a),"_webglLimits",void 0);var u=(i=n.gl)===null||i===void 0?void 0:i.device;if(u)throw new Error("WebGL context already attached to device ".concat(u.id));a.canvasContext=new xs(A(a),n),a.lost=new Promise(function(R){a._resolveContextLost=R});var f=function(S){var v,P;return(v=(P=a)._resolveContextLost)===null||v===void 0?void 0:v.call(P,{reason:"destroyed",message:"Computer entered sleep mode, or too many apps or browser tabs are using the GPU."})},c=n.gl||null;if(c=c||(oe()?os(a.canvasContext.canvas,Ke(Ke({},n),{},{onContextLost:f})):null),c=c||(oe()?null:Xo(Ke(Ke({},n),{},{onContextLost:f}))),!c)throw new Error("WebGL context creation failed");a.handle=c,a.gl=a.handle,a.gl2=a.gl,a.isWebGL2=ad(a.gl),a.isWebGL1=!a.isWebGL2,a.info=ss(a.gl),a.gl.device=A(a),a.gl._version=a.isWebGL2?2:1,$o(a.gl);var l=n.enable,_=l===void 0?!0:l,E=n.copyState,d=E===void 0?!1:E;if(zn(a.gl,{enable:_,copyState:d,log:function(){for(var S=arguments.length,v=new Array(S),P=0;P<S;P++)v[P]=arguments[P];return X.log.apply(X,[1].concat(v))()}}),oe()&&n.debug&&(a.gl=Ys(a.gl,Ke(Ke({},n),{},{webgl2:a.isWebGL2,throwOnError:!0})),a.gl2=a.gl,a.debug=!0,X.level=Math.max(X.level,1),X.warn("WebGL debug mode activated. Performance reduced.")()),oe()&&n.spector){var p=a.handle.canvas||n.canvas;a.spector=Hs(Ke(Ke({},a.props),{},{canvas:p}))}var h="Created ".concat(a.info.type).concat(a.debug?" debug":""," context: ").concat(a.info.vendor,", ").concat(a.info.renderer," for canvas: ").concat(a.canvasContext.id);return X.probe(Gr,h)(),X.groupEnd(Gr)(),a}return N(t,[{key:"features",get:function(){return this._features=this._features||ms(this.gl),this._features}},{key:"limits",get:function(){return this._limits=this._limits||As(this.gl),this._limits}},{key:"destroy",value:function(){var i=this.gl.getExtension("STACKGL_destroy_context");i&&i.destroy()}},{key:"isLost",get:function(){return this.gl.isContextLost()}},{key:"getSize",value:function(){return[this.gl.drawingBufferWidth,this.gl.drawingBufferHeight]}},{key:"isTextureFormatSupported",value:function(i){return ir(this.gl,i)}},{key:"isTextureFormatFilterable",value:function(i){return _s(this.gl,i)}},{key:"isTextureFormatRenderable",value:function(i){return Es(this.gl,i)}},{key:"assertWebGL2",value:function(){if(!this.gl2)throw new Error("Requires WebGL2");return this.gl2}},{key:"createCanvasContext",value:function(i){throw new Error("WebGL only supports a single canvas")}},{key:"createBuffer",value:function(i){var a=this._getBufferProps(i);return new qs(this,a)}},{key:"_createTexture",value:function(i){return new ke(this,i)}},{key:"createExternalTexture",value:function(i){throw new Error("createExternalTexture() not implemented")}},{key:"createSampler",value:function(i){return new ur(this,i)}},{key:"createShader",value:function(i){return new eu(this,i)}},{key:"createFramebuffer",value:function(i){return new Kr(this,i)}},{key:"createRenderPipeline",value:function(i){return new hu(this,i)}},{key:"beginRenderPass",value:function(i){return new ru(this,i)}},{key:"createComputePipeline",value:function(i){throw new Error("ComputePipeline not supported in WebGL")}},{key:"beginComputePass",value:function(i){throw new Error("compute shaders not supported in WebGL")}},{key:"getDefaultRenderPass",value:function(){return this.renderPass=this.renderPass||this.beginRenderPass({framebuffer:this.canvasContext.getCurrentFramebuffer()}),this.renderPass}},{key:"createCommandEncoder",value:function(i){return new Tu(this,i)}},{key:"submit",value:function(){var i;(i=this.renderPass)===null||i===void 0||i.end(),this.renderPass=null}},{key:"webglLimits",get:function(){return this._webglLimits=this._webglLimits||Ts(this.gl),this._webglLimits}},{key:"loseDevice",value:function(){var i,a=!1,u=this.gl.getExtension("WEBGL_lose_context");return u&&(a=!0,u.loseContext()),(i=this._resolveContextLost)===null||i===void 0||i.call(this,{reason:"destroyed",message:"Application triggered context loss"}),a}},{key:"pushState",value:function(){pt(this.gl)}},{key:"popState",value:function(){rt(this.gl)}},{key:"setSpectorMetadata",value:function(i,a){i.__SPECTOR_Metadata=a}},{key:"getGLKey",value:function(i,a){a=a||this.gl2||this.gl;var u=Number(i);for(var f in a)if(a[f]===u)return"GL.".concat(f);return String(i)}}],[{key:"isSupported",value:function(){return typeof WebGLRenderingContext<"u"||Lo()}},{key:"attach",value:function(i){if(i instanceof t)return i;if(i?.device instanceof Yt)return i.device;if(!id(i))throw new Error("Invalid WebGLRenderingContext");return new t({gl:i})}},{key:"create",value:function(){var n=te(Ai.default.mark(function a(){var u,f=arguments;return Ai.default.wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(u=f.length>0&&f[0]!==void 0?f[0]:{},X.groupCollapsed(Gr,"WebGLDevice created"),typeof u.canvas!="string"){l.next=5;break}return l.next=5,Ot.pageLoaded;case 5:if(!u.debug){l.next=8;break}return l.next=8,Ks();case 8:if(!u.spector){l.next=11;break}return l.next=11,Xs();case 11:if(X.probe(Gr+1,"DOM is loaded")(),!(u.gl&&u.gl.device)){l.next=14;break}return l.abrupt("return",t.attach(u.gl));case 14:return l.abrupt("return",new t(u));case 15:case"end":return l.stop()}},a)}));function i(){return n.apply(this,arguments)}return i}()}]),t}(Yt);s(me,"type","webgl");function id(e){return typeof WebGLRenderingContext<"u"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&Number.isFinite(e._version))}function ad(e){return typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext?!0:Boolean(e&&e._version===2)}function gu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function zr(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?gu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):gu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Su=function(){function e(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};C(this,e),s(this,"device",void 0),s(this,"gl",void 0),s(this,"elementCount",0),s(this,"elementIDBuffer",null),this.device=me.attach(r),this.gl=this.device.gl2,this._buildResourceTransforms(t),t=this._updateModelProps(t),this.model=new It(this.device,zr(zr({},t),{},{fs:t.fs||xn({version:Bn(t.vs).version}),id:t.id||"transform-model",drawMode:t.drawMode||o.POINTS,vertexCount:t.elementCount})),Object.seal(this)}return N(e,[{key:"destroy",value:function(){}},{key:"delete",value:function(){this.destroy()}},{key:"run",value:function(t){var n=t||{},i=n.clearRenderTarget,a=i===void 0?!0:i,u=this._updateDrawOptions(t);a&&u.framebuffer}},{key:"swap",value:function(){}},{key:"getBuffer",value:function(t){return null}},{key:"getData",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}}},{key:"getFramebuffer",value:function(){return null}},{key:"update",value:function(t){}},{key:"_updateModelProps",value:function(t){var n=zr({},t);return n}},{key:"_buildResourceTransforms",value:function(t){}},{key:"_updateDrawOptions",value:function(t){var n=zr({},t);return n}}],[{key:"isSupported",value:function(t){return!1}}]),e}();function Ou(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function od(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?Ou(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Ou(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var Se=function(){function e(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};C(this,e),s(this,"id",void 0),s(this,"userData",{}),s(this,"topology",void 0),s(this,"drawMode",o.TRIANGLES),s(this,"vertexCount",void 0),s(this,"attributes",void 0),s(this,"indices",void 0);var t=r.id,n=t===void 0?re("geometry"):t,i=r.drawMode,a=i===void 0?o.TRIANGLES:i,u=r.attributes,f=u===void 0?{}:u,c=r.indices,l=c===void 0?null:c,_=r.vertexCount,E=_===void 0?null:_;this.id=n,this.drawMode=a,this.topology=r.topology||sd(a),l&&(this.indices=ArrayBuffer.isView(l)?{value:l,size:1}:l),this.attributes={};for(var d=0,p=Object.entries(f);d<p.length;d++){var h=V(p[d],2),R=h[0],S=h[1],v=ArrayBuffer.isView(S)?{value:S}:S;k(ArrayBuffer.isView(v.value),"".concat(this._print(R),": must be typed array or object with value as typed array")),(R==="POSITION"||R==="positions")&&!v.size&&(v.size=3),R==="indices"?(k(!this.indices),this.indices=v):this.attributes[R]=v}this.indices&&this.indices.isIndexed!==void 0&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this.vertexCount=E||this._calculateVertexCount(this.attributes,this.indices)}return N(e,[{key:"mode",get:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.indices?od({indices:this.indices},this.attributes):this.attributes}},{key:"_print",value:function(t){return"Geometry ".concat(this.id," attribute ").concat(t)}},{key:"_setAttributes",value:function(t,n){return this}},{key:"_calculateVertexCount",value:function(t,n){if(n)return n.value.length;var i=1/0;for(var a in t){var u=t[a],f=u.value,c=u.size,l=u.constant;!l&&f&&c>=1&&(i=Math.min(i,f.length/c))}return k(Number.isFinite(i)),i}}]),e}();s(Se,"DRAW_MODE",{POINTS:o.POINTS,LINES:o.LINES,LINE_LOOP:o.LINE_LOOP,LINE_STRIP:o.LINE_STRIP,TRIANGLES:o.TRIANGLES,TRIANGLE_STRIP:o.TRIANGLE_STRIP,TRIANGLE_FAN:o.TRIANGLE_FAN});function sd(e){switch(e){case o.POINTS:return"point-list";case o.LINES:return"line-list";case o.LINE_STRIP:return"line-strip";case o.TRIANGLES:return"triangle-list";case o.TRIANGLE_STRIP:return"triangle-strip";case o.TRIANGLE_FAN:return"triangle-fan";case o.LINE_LOOP:return"line-loop";default:throw new Error(String(e))}}var yu;function bu(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Cu(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?bu(Object(t),!0).forEach(function(n){s(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):bu(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function ud(e){var r=fd();return function(){var n=O(e),i;if(r){var a=O(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return U(this,i)}}function fd(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var cd=ya(yu||(yu=ce([`attribute vec2 aClipSpacePosition;
|
|
278
278
|
attribute vec2 aTexCoord;
|
|
279
279
|
attribute vec2 aCoordinate;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luma.gl/engine",
|
|
3
|
-
"version": "9.0.0-alpha.
|
|
3
|
+
"version": "9.0.0-alpha.24",
|
|
4
4
|
"description": "WebGL2 Components for High Performance Rendering and Computation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -40,13 +40,13 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@babel/runtime": "^7.0.0",
|
|
43
|
-
"@luma.gl/api": "9.0.0-alpha.
|
|
44
|
-
"@luma.gl/constants": "9.0.0-alpha.
|
|
45
|
-
"@luma.gl/shadertools": "9.0.0-alpha.
|
|
46
|
-
"@luma.gl/webgl": "9.0.0-alpha.
|
|
43
|
+
"@luma.gl/api": "9.0.0-alpha.24",
|
|
44
|
+
"@luma.gl/constants": "9.0.0-alpha.24",
|
|
45
|
+
"@luma.gl/shadertools": "9.0.0-alpha.24",
|
|
46
|
+
"@luma.gl/webgl": "9.0.0-alpha.24",
|
|
47
47
|
"@math.gl/core": "4.0.0-alpha.4",
|
|
48
48
|
"@probe.gl/log": "^4.0.2",
|
|
49
49
|
"@probe.gl/stats": "^4.0.2"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "3707968c288edbfef7ab4060195493ca8f00e7d5"
|
|
52
52
|
}
|