melonjs 20.4.0 → 20.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/audio/backend/sound.d.ts.map +1 -1
- package/build/audio/procedural.d.ts +7 -2
- package/build/audio/procedural.d.ts.map +1 -1
- package/build/audio/types.d.ts +22 -0
- package/build/audio/types.d.ts.map +1 -1
- package/build/camera/camera2d.d.ts +28 -0
- package/build/camera/camera2d.d.ts.map +1 -1
- package/build/camera/camera3d.d.ts +24 -3
- package/build/camera/camera3d.d.ts.map +1 -1
- package/build/geometries/polygon.d.ts +7 -1
- package/build/geometries/polygon.d.ts.map +1 -1
- package/build/index.d.ts +4 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1061 -166
- package/build/index.js.map +4 -4
- package/build/level/gltf/GLTFModel.d.ts +50 -7
- package/build/level/gltf/GLTFModel.d.ts.map +1 -1
- package/build/lighting/light3d.d.ts +20 -47
- package/build/lighting/light3d.d.ts.map +1 -1
- package/build/loader/loader.d.ts +106 -6
- package/build/loader/loader.d.ts.map +1 -1
- package/build/renderable/animation.d.ts +21 -6
- package/build/renderable/animation.d.ts.map +1 -1
- package/build/renderable/container.d.ts +27 -5
- package/build/renderable/container.d.ts.map +1 -1
- package/build/renderable/instanced_mesh.d.ts +34 -9
- package/build/renderable/instanced_mesh.d.ts.map +1 -1
- package/build/renderable/mesh.d.ts +131 -94
- package/build/renderable/mesh.d.ts.map +1 -1
- package/build/renderable/renderable.d.ts +17 -0
- package/build/renderable/renderable.d.ts.map +1 -1
- package/build/renderable/sprite3d.d.ts +12 -2
- package/build/renderable/sprite3d.d.ts.map +1 -1
- package/build/renderable/text/bitmaptext.d.ts +32 -7
- package/build/renderable/text/bitmaptext.d.ts.map +1 -1
- package/build/renderable/text/text.d.ts +78 -3
- package/build/renderable/text/text.d.ts.map +1 -1
- package/build/renderable/text/textmetrics.d.ts +2 -0
- package/build/renderable/text/textmetrics.d.ts.map +1 -1
- package/build/renderable/text/textstyle.d.ts.map +1 -1
- package/build/state/stage.d.ts +21 -0
- package/build/state/stage.d.ts.map +1 -1
- package/build/system/device.d.ts +1 -1
- package/build/system/device.d.ts.map +1 -1
- package/build/system/save.d.ts +44 -1
- package/build/system/save.d.ts.map +1 -1
- package/build/video/effects/glsl_realization.d.ts.map +1 -1
- package/build/video/effects/mesh_splice.d.ts +2 -0
- package/build/video/effects/mesh_splice.d.ts.map +1 -0
- package/build/video/effects/shadereffect.d.ts +12 -128
- package/build/video/effects/shadereffect.d.ts.map +1 -1
- package/build/video/effects/wgsl_realization.d.ts.map +1 -1
- package/build/video/gradient.d.ts +19 -0
- package/build/video/gradient.d.ts.map +1 -1
- package/build/video/renderer.d.ts.map +1 -1
- package/build/video/texture/noise_texture2d.d.ts +101 -34
- package/build/video/texture/noise_texture2d.d.ts.map +1 -1
- package/build/video/webgl/batchers/mesh_batcher.d.ts.map +1 -1
- package/build/video/webgl/glshader.d.ts +7 -2
- package/build/video/webgl/glshader.d.ts.map +1 -1
- package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
- package/build/video/webgpu/batchers/lit_mesh_batcher.d.ts.map +1 -1
- package/build/video/webgpu/batchers/mesh_batcher.d.ts +6 -1
- package/build/video/webgpu/batchers/mesh_batcher.d.ts.map +1 -1
- package/build/video/webgpu/webgpu_renderer.d.ts +1 -0
- package/build/video/webgpu/webgpu_renderer.d.ts.map +1 -1
- package/package.json +1 -1
- package/skills/melonjs-3d/SKILL.md +152 -3
- package/skills/melonjs-3d-assets/SKILL.md +139 -0
- package/skills/melonjs-audio/SKILL.md +17 -0
- package/skills/melonjs-camera-and-drawing/SKILL.md +45 -0
- package/skills/melonjs-effects-and-shaders/SKILL.md +93 -1
- package/skills/melonjs-loading-assets/SKILL.md +97 -1
- package/skills/melonjs-performance/SKILL.md +55 -1
- package/skills/melonjs-physics/SKILL.md +78 -0
- package/skills/melonjs-renderables/SKILL.md +63 -1
- package/skills/melonjs-renderer-backends/SKILL.md +19 -0
- package/skills/melonjs-scenes-and-state/SKILL.md +56 -0
- package/skills/melonjs-ui-and-text/SKILL.md +124 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/text.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/text.js"],"names":[],"mappings":"AAwCA;;;;;;;;;;;;;;GAcG;AACH;IACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACH,eA7DW,MAAM,KACN,MAAM,YAEd;QAAyB,IAAI,EAArB,MAAM;QACkB,IAAI,EAA5B,MAAM,GAAC,MAAM;QACoB,SAAS;QACvB,eAAe;QACV,WAAW;QACjB,SAAS;QACT,SAAS;QACT,YAAY;QACZ,UAAU;QACmB,WAAW,GAA1D,MAAM,GAAC,QAAQ,GAAC;YAAC,CAAC,EAAC,MAAM,CAAC;YAAA,CAAC,EAAC,MAAM,CAAA;SAAC;QACjB,aAAa;QACZ,IAAI;QACJ,MAAM;QACI,IAAI;KACzC,EAsHF;IAtEA;;;;OAIG;IACH,WAHU,KAAK,CAGwB;IAEvC;;;;OAIG;IACH,aAHU,KAAK,CAG0B;IAEzC;;;;OAIG;IACH,WAHU,MAAM,CAGE;IAElB;;;;;OAKG;IACH,WAHU,MAAM,CAGO;IAEvB;;;;;OAKG;IACH,cAHU,MAAM,CAGS;IAEzB;;;;;OAKG;IACH,YAHU,MAAM,CAGK;IAErB;;;;;OAKG;IACH,eAHU,MAAM,CAGO;IAEvB;;;;OAIG;IACH,UAHU,MAAM,CAGE;IAElB;;;;;OAKG;IACH,cAAe;IAMhB;;;OAGG;IACH,kDAgIC;IA3HA;;;;;;;;;;;;;;;;OAgBG;IACH,cARU,QAAQ,GAAC,SAAS,CAQC;IAE7B;;;;;;;;;;;;;;OAcG;IACH,qCAA2B;IA0E3B,8CAEE;IAEF;;;OAGG;IACH,wBAA4B;IAG5B,iCAAoC;IAMrC;;;OAGG;IACH,QAFa,IAAI,CAWhB;IAJC,UAA+B;IAMjC;;;OAGG;IACH,UAFa,IAAI,CAWhB;IAED;;;;;;;;OAQG;IACH,cAPW,MAAM,SACN,MAAM,GAAC,MAAM,GACX,IAAI,CAwChB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,MAAM,GAAC,MAAM,EAAE,GACpB,IAAI,CAkFhB;IAkBD,oCAZU,MAAM,EAiBf;IArBD;;;;;;;;;;;OAWG;IACH,gCARU,MAAM,CAUf;IAkCD,+BAlBU,MAAM,EA4Bf;IAnCD;;;;;;;;;;;;;;OAcG;IACH,2BARU,MAAM,CAgBf;IAiED;;;;;;;;;;;;OAYG;IACH,mBAXW,MAAM,GACJ,WAAW,CAYvB;IAED;;;OAGG;IACH,eAFW,cAAc,GAAC,aAAa,QA0CtC;IAED;;;OAGG;IACH,4EA+GC;IAED;;;;OAIG;IACH,gBAWC;CACD;uBAzxBsB,kBAAkB;sBALR,qBAAqB;yBAC7B,yBAAyB;+BAEnB,gDAAgD;wBAGvD,kBAAkB"}
|
|
@@ -34,6 +34,8 @@ declare class TextMetrics extends Bounds {
|
|
|
34
34
|
measureText(text: string, context?: CanvasRenderingContext2D): TextMetrics;
|
|
35
35
|
glyphYOffset: number | undefined;
|
|
36
36
|
glyphMaxBottom: number | undefined;
|
|
37
|
+
inkPadTop: number | undefined;
|
|
38
|
+
inkPadBottom: number | undefined;
|
|
37
39
|
/**
|
|
38
40
|
* wrap the given text based on the given width
|
|
39
41
|
* @param {string|string[]} text - the text to be wrapped
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textmetrics.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/textmetrics.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"textmetrics.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/textmetrics.js"],"names":[],"mappings":";AA0BA;;GAEG;AACH;IACC;;OAEG;IACH,sBAFW,IAAI,GAAC,UAAU,EAczB;IARA;;;;OAIG;IACH,UAHU,UAAU,CAGI;IAKzB;;;OAGG;IACH,cAFa,MAAM,CAalB;IAED;;;;;OAKG;IACH,gBAJW,MAAM,YACN,wBAAwB,GACtB,MAAM,CA4BlB;IAED;;;;;OAKG;IACH,kBAJW,MAAM,YACN,wBAAwB,GACtB,WAAW,CAiHvB;IA/EA,iCAAqB;IACrB,mCAAuB;IAmCvB,8BAAkB;IAClB,iCAAqB;IA4CtB;;;;;;;;;;;;;;;OAeG;IACH,gBAJa,WAAW,CAoBvB;IAED;;;;;;OAMG;IACH,eALW,MAAM,GAAC,MAAM,EAAE,SACf,MAAM,YACN,wBAAwB,GACtB,MAAM,EAAE,CAyCpB;CACD;uBA1SsB,yBAAyB;iBAC/B,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textstyle.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/textstyle.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"textstyle.d.ts","sourceRoot":"","sources":["../../../src/renderable/text/textstyle.js"],"names":[],"mappings":"AAmEA;;;;;;;;GAQG;AACH,iDAPW,wBAAwB,SACxB,MAAM,GACJ,MAAM,GAAC,cAAc,CAcjC"}
|
package/build/state/stage.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type Application from "./../application/application.ts";
|
|
|
2
2
|
import Camera2d from "./../camera/camera2d.ts";
|
|
3
3
|
import type Light2d from "./../lighting/light2d.ts";
|
|
4
4
|
import { Color } from "./../math/color.ts";
|
|
5
|
+
import type World from "./../physics/world.js";
|
|
5
6
|
import type Renderer from "./../video/renderer.js";
|
|
6
7
|
interface StageSettings {
|
|
7
8
|
cameras: Camera2d[];
|
|
@@ -82,6 +83,26 @@ export default class Stage {
|
|
|
82
83
|
* @param [settings.onDestroyEvent] - called by the state manager before switching to another state
|
|
83
84
|
*/
|
|
84
85
|
constructor(settings?: Partial<StageSettings>);
|
|
86
|
+
/**
|
|
87
|
+
* Update the stage. Override it to run your own per-frame logic, and call
|
|
88
|
+
* `super.update(dt)` so the world and cameras still advance.
|
|
89
|
+
* @param dt - time since the last update in milliseconds.
|
|
90
|
+
* @returns true if the stage needs to be redrawn
|
|
91
|
+
*/
|
|
92
|
+
update(dt: number): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* draw the current stage
|
|
95
|
+
*
|
|
96
|
+
* Lights are rendered as part of the world tree (they're now first-class
|
|
97
|
+
* Renderables) and the ambient overlay pass runs inside each Camera's
|
|
98
|
+
* post-effect FBO bracket via {@link Stage#drawLighting}.
|
|
99
|
+
*
|
|
100
|
+
* Override it to draw under or over the world, calling `super.draw(...)`
|
|
101
|
+
* where the world itself belongs in that order.
|
|
102
|
+
* @param renderer - the renderer object to draw with
|
|
103
|
+
* @param world - the world object to draw
|
|
104
|
+
*/
|
|
105
|
+
draw(renderer: Renderer, world: World): void;
|
|
85
106
|
/**
|
|
86
107
|
* Draw the stage's ambient-light overlay with cutouts for each active
|
|
87
108
|
* light. Called from each `Camera2d` inside its post-effect FBO bracket —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../src/state/stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,iCAAiC,CAAC;AAC/D,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../src/state/stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,iCAAiC,CAAC;AAC/D,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAC;AAE/C,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,UAAU,aAAa;IACtB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,KACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,KACR,QAAQ,CAAC;IACd,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC9D,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;CAC5C;AAUD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACzB;;;;OAIG;IACH,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAoB7B;;;;;;OAMG;IACH,YAAY,EAAE,KAAK,CAAC;IAEpB;;;;;;;;OAQG;IACH,oBAAoB,EAAE,KAAK,CAAC;IAE5B;;OAEG;IACH,QAAQ,EAAE,aAAa,CAAC;IAExB;;;;;OAKG;gBACS,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IA2K7C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAgB3B;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAM5C;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CACX,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,QAAQ,EAChB,UAAU,GAAE,MAAuC,EACnD,UAAU,GAAE,MAAuC,GACjD,IAAI;IAuEP;;;;;;;OAOG;IACH,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAOxD;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;CAMtC"}
|
package/build/system/device.d.ts
CHANGED
|
@@ -204,7 +204,7 @@ export declare function isLandscape(): boolean;
|
|
|
204
204
|
* @returns a reference to the device storage
|
|
205
205
|
* @category Application
|
|
206
206
|
*/
|
|
207
|
-
export declare function getStorage(type?: string):
|
|
207
|
+
export declare function getStorage(type?: string): import("./save.ts").SaveAPI;
|
|
208
208
|
/**
|
|
209
209
|
* return the parent DOM element for the given parent name or HTMLElement object
|
|
210
210
|
* @param element - the parent element name or a HTMLElement object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/system/device.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,eAAe,MAAM,eAAe,CAAC;AA2GjD;;GAEG;AACH,eAAO,MAAM,QAAQ,wBAAkB,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,UAAU,SAA+B,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,YAAY,OAA4B,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,KAAK,SACsD,CAAC;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,QAIvB,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,KAAK,SAEoC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,qBAAqB,SAE4B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,oBAAoB,OAAsC,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,SAC6C,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,gBAAgB,OAAiC,CAAC;AAO/D,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,WAAW,OAIvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,SAA0C,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,KAAK,OAA+B,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,QAAQ,SAEoC,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,YAAY,SAAoB,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,eAAe,SAAuB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,YAAY,SAAwC,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,QAAQ,QAMb,CAAC;AAET;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAmC,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,QAAQ,SAAoB,CAAC;AAE1C;;;GAGG;AACH,eAAO,IAAI,aAAa,QAAI,CAAC;AAE7B;;;GAGG;AACH,eAAO,IAAI,aAAa,QAAI,CAAC;AAE7B;;;GAGG;AACH,eAAO,IAAI,aAAa,QAAI,CAAC;AAE7B;;;GAGG;AACH,eAAO,IAAI,KAAK,QAAI,CAAC;AAErB;;;GAGG;AACH,eAAO,IAAI,IAAI,QAAI,CAAC;AAEpB;;;;GAIG;AACH,eAAO,IAAI,KAAK,QAAI,CAAC;AAErB;;;;;;;;;;GAUG;AACH,eAAO,IAAI,SAAS,SAAO,CAAC;AAE5B;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAElD;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,IAAI,QAErC;AA+CD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,QAiB3C;AAUD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1E;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAoC7C;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,WAY7D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,YAYhC;AAED;;;GAGG;AACH,wBAAgB,UAAU,YAEzB;AAED;;;GAGG;AACH,wBAAgB,WAAW,YAE1B;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAgB
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/system/device.ts"],"names":[],"mappings":"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"}
|
package/build/system/save.d.ts
CHANGED
|
@@ -1,3 +1,46 @@
|
|
|
1
|
-
|
|
1
|
+
import { Jsonifiable } from "type-fest";
|
|
2
|
+
/**
|
|
3
|
+
* The shape of the {@link save} namespace.
|
|
4
|
+
*
|
|
5
|
+
* Declared rather than left as a bare index signature: typed as
|
|
6
|
+
* `Record<string, unknown>` every member was swallowed by the index, so
|
|
7
|
+
* `save.add` came out as `unknown` and could not be CALLED at all under
|
|
8
|
+
* `strict` — the namespace's own documented example did not typecheck — while
|
|
9
|
+
* every registered key read back as `unknown` and needed a cast to compare or
|
|
10
|
+
* assign.
|
|
11
|
+
*
|
|
12
|
+
* The index signature stays, so anything registered elsewhere is still
|
|
13
|
+
* reachable; declared members simply take precedence over it.
|
|
14
|
+
*/
|
|
15
|
+
export interface SaveAPI {
|
|
16
|
+
/**
|
|
17
|
+
* Add new keys to localStorage and set them to the given default values if
|
|
18
|
+
* they do not exist.
|
|
19
|
+
* @param props - key and corresponding values
|
|
20
|
+
* @returns this namespace, typed with the keys just registered, so they can
|
|
21
|
+
* be read back without a cast
|
|
22
|
+
* @example
|
|
23
|
+
* // Initialize "score" and "lives" with default values
|
|
24
|
+
* me.save.add({ score : 0, lives : 3 });
|
|
25
|
+
* // get or set the value through me.save
|
|
26
|
+
* me.save.score = 1000;
|
|
27
|
+
* @example
|
|
28
|
+
* // or keep the returned view, and read the keys with their real types
|
|
29
|
+
* const store = me.save.add({ score : 0, lives : 3 });
|
|
30
|
+
* store.lives -= 1;
|
|
31
|
+
*/
|
|
32
|
+
add<T extends Record<string, Jsonifiable>>(props: T): this & T;
|
|
33
|
+
/**
|
|
34
|
+
* Remove a key from localStorage
|
|
35
|
+
* @param key - key to be removed
|
|
36
|
+
* @example
|
|
37
|
+
* // Remove the "score" key from localStorage
|
|
38
|
+
* me.save.remove("score");
|
|
39
|
+
*/
|
|
40
|
+
remove(key: string): void;
|
|
41
|
+
/** keys registered through {@link SaveAPI.add} */
|
|
42
|
+
[key: string]: unknown;
|
|
43
|
+
}
|
|
44
|
+
declare const save: SaveAPI;
|
|
2
45
|
export default save;
|
|
3
46
|
//# sourceMappingURL=save.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/system/save.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/system/save.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAqFxC;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,OAAO;IACvB;;;;;;;;;;;;;;;OAeG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IAE/D;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,kDAAkD;IAClD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,IAAI,EAAE,OAqEX,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glsl_realization.d.ts","sourceRoot":"","sources":["../../../src/video/effects/glsl_realization.js"],"names":[],"mappings":"AAoHA;;;;;;;;GAQG;AACH,+CALW,MAAM,GACJ;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,
|
|
1
|
+
{"version":3,"file":"glsl_realization.d.ts","sourceRoot":"","sources":["../../../src/video/effects/glsl_realization.js"],"names":[],"mappings":"AAoHA;;;;;;;;GAQG;AACH,+CALW,MAAM,GACJ;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAoCvH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mesh_splice.d.ts","sourceRoot":"","sources":["../../../src/video/effects/mesh_splice.js"],"names":[],"mappings":"AA4EA;;;;;;;;;;;;GAYG;AACH,6CAPW,MAAM,+BAEN,MAAM,GACJ,MAAM,GAAC,IAAI,CAmCvB;AAED;;;;;;GAMG;AACH,yCALW,MAAM,GACJ,OAAO,CAWnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qCANW,MAAM,QACN,MAAM,GACJ,MAAM,GAAC,IAAI,CAgBvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,kCANW,MAAM,SACN,MAAM,GACJ,MAAM,CAWlB"}
|
|
@@ -1,129 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A simplified shader class for applying custom fragment effects to renderables.
|
|
3
|
-
* Only requires a fragment `apply()` function — the vertex shader, uniforms, and
|
|
4
|
-
* texture sampling boilerplate are handled automatically.
|
|
5
|
-
*
|
|
6
|
-
* ## Dual-language bodies
|
|
7
|
-
*
|
|
8
|
-
* An effect body is written in the active renderer's shading language:
|
|
9
|
-
* GLSL on the WebGL renderer, WGSL on the WebGPU renderer. Pass a plain
|
|
10
|
-
* string for a GLSL-only effect (the historical form), or one body per
|
|
11
|
-
* language for an effect that runs on both backends:
|
|
12
|
-
*
|
|
13
|
-
* ```js
|
|
14
|
-
* new ShaderEffect(renderer, { glsl: glslBody, wgsl: wgslBody });
|
|
15
|
-
* ```
|
|
16
|
-
*
|
|
17
|
-
* The renderer compiles the body matching its
|
|
18
|
-
* {@link Renderer#shaderLanguage}. When no matching body exists — a
|
|
19
|
-
* GLSL-only effect on the WebGPU renderer, any effect on the Canvas
|
|
20
|
-
* renderer — the effect warns once and stays **disabled**
|
|
21
|
-
* (`enabled === false`, every method a safe no-op): the scene renders
|
|
22
|
-
* without the effect, it never breaks.
|
|
23
|
-
*
|
|
24
|
-
* ## The WGSL convention
|
|
25
|
-
*
|
|
26
|
-
* A WGSL body mirrors the GLSL one — declarations plus an apply function,
|
|
27
|
-
* compiled verbatim inside engine boilerplate:
|
|
28
|
-
*
|
|
29
|
-
* - `fn apply(color : vec4f, uv : vec2f) -> vec4f` — required; receives
|
|
30
|
-
* the sampled, tinted pixel and its UV, returns the modified color.
|
|
31
|
-
* - Uniforms are the members of ONE struct bound as
|
|
32
|
-
* `@group(3) @binding(0) var<uniform> fx : MyUniforms;` — member names
|
|
33
|
-
* are the {@link ShaderEffect#setUniform} names, so a dual-language
|
|
34
|
-
* effect uses the same uniform names in both bodies and one
|
|
35
|
-
* `setUniform` call serves both. Supported member types: `f32`, `i32`,
|
|
36
|
-
* `u32`, `vec2f`, `vec3f`, `vec4f`, `mat3x3f`, `mat4x4f`,
|
|
37
|
-
* `array<vec4f, N>`.
|
|
38
|
-
* - Extra {@link ShaderEffect#setTexture} samplers are texture/sampler
|
|
39
|
-
* pairs at explicit consecutive group-3 bindings (from 1):
|
|
40
|
-
* `@group(3) @binding(1) var uNoise : texture_2d<f32>;`
|
|
41
|
-
* `@group(3) @binding(2) var uNoiseSampler : sampler;`
|
|
42
|
-
* - The source texture is available as `uTexture` with `uSampler`
|
|
43
|
-
* (`textureSample(uTexture, uSampler, uv)` — the WGSL spelling of
|
|
44
|
-
* GLSL's `texture2D(uSampler, uv)`), and the interpolated tint as
|
|
45
|
-
* `vColor`, under the same names as the GLSL side.
|
|
46
|
-
* - The shader builtins keep their names: `screen_uv`, `noise_uv`, and
|
|
47
|
-
* `screen_texture` — sampled through `screen_sampler` (clamped) or
|
|
48
|
-
* `screen_sampler_repeat` (wrapping), replacing the GLSL
|
|
49
|
-
* `: screen_texture(repeat)` annotation.
|
|
50
|
-
* - Porting note: a texture sampled after a non-uniform `return` or
|
|
51
|
-
* inside a varying branch must use
|
|
52
|
-
* `textureSampleLevel(uTexture, uSampler, uv, 0.0)` (a WGSL
|
|
53
|
-
* uniform-control-flow rule; identical output for sprite textures).
|
|
54
|
-
*
|
|
55
|
-
* ## Directional UV arithmetic (`uUVYDir`)
|
|
56
|
-
*
|
|
57
|
-
* The vertical orientation of `apply()`'s UV space depends on the draw
|
|
58
|
-
* path: sampling the sprite directly, `uv.y` grows downward, but the
|
|
59
|
-
* WebGL multi-effect (pooled) path composites through capture FBOs whose
|
|
60
|
-
* rows are bottom-up — there `uv.y` grows upward. A body that offsets its
|
|
61
|
-
* sampling coordinate vertically (a drop shadow, a directional smear)
|
|
62
|
-
* would render mirrored on that path. Declare a `float uUVYDir` uniform
|
|
63
|
-
* (WGSL: `uUVYDir : f32` in the uniform struct) and multiply vertical UV
|
|
64
|
-
* offsets by it: the renderer feeds `+1` where `uv.y` grows downward —
|
|
65
|
-
* including every WebGPU path — and `-1` on the WebGL pooled path, so
|
|
66
|
-
* "down" stays down everywhere. Initialize it to `1.0` with `setUniform`;
|
|
67
|
-
* bodies that don't declare it are unaffected. The built-in
|
|
68
|
-
* {@link DropShadowEffect} is the reference use.
|
|
69
|
-
* @category Rendering
|
|
70
|
-
* @example
|
|
71
|
-
* // one effect, both backends: dual-language body
|
|
72
|
-
* const fx = new ShaderEffect(renderer, {
|
|
73
|
-
* glsl: `
|
|
74
|
-
* uniform float uStrength;
|
|
75
|
-
* vec4 apply(vec4 color, vec2 uv) {
|
|
76
|
-
* return vec4(color.rgb * uStrength, color.a);
|
|
77
|
-
* }
|
|
78
|
-
* `,
|
|
79
|
-
* wgsl: `
|
|
80
|
-
* struct Fx { uStrength : f32, };
|
|
81
|
-
* @group(3) @binding(0) var<uniform> fx : Fx;
|
|
82
|
-
* fn apply(color : vec4f, uv : vec2f) -> vec4f {
|
|
83
|
-
* return vec4f(color.rgb * fx.uStrength, color.a);
|
|
84
|
-
* }
|
|
85
|
-
* `,
|
|
86
|
-
* });
|
|
87
|
-
* mySprite.addPostEffect(fx);
|
|
88
|
-
* fx.setUniform("uStrength", 0.5); // sets either backend
|
|
89
|
-
* @example
|
|
90
|
-
* // create a grayscale effect
|
|
91
|
-
* mySprite.addPostEffect(new ShaderEffect(renderer, `
|
|
92
|
-
* vec4 apply(vec4 color, vec2 uv) {
|
|
93
|
-
* float gray = dot(color.rgb, vec3(0.299, 0.587, 0.114));
|
|
94
|
-
* return vec4(vec3(gray), color.a);
|
|
95
|
-
* }
|
|
96
|
-
* `));
|
|
97
|
-
* @example
|
|
98
|
-
* // create an effect with a custom uniform
|
|
99
|
-
* const pulse = new ShaderEffect(renderer, `
|
|
100
|
-
* uniform float uTime;
|
|
101
|
-
* vec4 apply(vec4 color, vec2 uv) {
|
|
102
|
-
* float brightness = 0.8 + 0.2 * sin(uTime * 3.0);
|
|
103
|
-
* return vec4(color.rgb * brightness, color.a);
|
|
104
|
-
* }
|
|
105
|
-
* `);
|
|
106
|
-
* mySprite.addPostEffect(pulse);
|
|
107
|
-
* // update the uniform each frame
|
|
108
|
-
* pulse.setUniform("uTime", time);
|
|
109
|
-
* @example
|
|
110
|
-
* // Shader builtins — no JS plumbing, no UV math:
|
|
111
|
-
* // `: screen_texture` keeps the sampler filled with everything drawn so
|
|
112
|
-
* // far (a back-buffer copy; one screen copy per draw of the effect),
|
|
113
|
-
* // `screen_uv` is this fragment's 0..1 screen position, and `noise_uv`
|
|
114
|
-
* // runs 0..1 across the sprite regardless of its atlas frame.
|
|
115
|
-
* const water = new ShaderEffect(renderer, `
|
|
116
|
-
* uniform sampler2D uNoise;
|
|
117
|
-
* uniform sampler2D screenTex : screen_texture;
|
|
118
|
-
* uniform float uTime;
|
|
119
|
-
* vec4 apply(vec4 color, vec2 uv) {
|
|
120
|
-
* vec2 flow = texture2D(uNoise, noise_uv + uTime * 0.25).rg;
|
|
121
|
-
* vec4 refracted = texture2D(screenTex, screen_uv + flow * 0.005);
|
|
122
|
-
* return refracted * texture2D(uSampler, uv + flow * 0.005);
|
|
123
|
-
* }
|
|
124
|
-
* `);
|
|
125
|
-
* water.setTexture("uNoise", noiseTexture.getTexture(), "repeat");
|
|
126
|
-
*/
|
|
127
1
|
export default class ShaderEffect {
|
|
128
2
|
/**
|
|
129
3
|
* @param {WebGLRenderer|WebGPURenderer|CanvasRenderer} renderer - the current renderer instance
|
|
@@ -173,9 +47,19 @@ export default class ShaderEffect {
|
|
|
173
47
|
/**
|
|
174
48
|
* Set the uniform to the given value
|
|
175
49
|
* @param {string} name - the uniform name
|
|
176
|
-
* @param {
|
|
50
|
+
* @param {number|boolean|number[]|Float32Array|object} value - the value to assign to that
|
|
51
|
+
* uniform. Scalars (`float`, `int`, `bool`) take a number or a boolean;
|
|
52
|
+
* vectors and matrices take an array, a `Float32Array`, or any object
|
|
53
|
+
* exposing `toArray()` — which is every {@link Vector2d},
|
|
54
|
+
* {@link Vector3d}, {@link Color} and {@link Matrix3d}.
|
|
55
|
+
* @example
|
|
56
|
+
* // a scalar the body declares as `uniform float uStrength;`
|
|
57
|
+
* fx.setUniform("uStrength", 0.5);
|
|
58
|
+
* // a vec3 — an array, or anything with toArray()
|
|
59
|
+
* fx.setUniform("uTint", [1.0, 0.82, 0.55]);
|
|
60
|
+
* fx.setUniform("uOrigin", new me.Vector2d(0.5, 0.5));
|
|
177
61
|
*/
|
|
178
|
-
setUniform(name: string, value:
|
|
62
|
+
setUniform(name: string, value: number | boolean | number[] | Float32Array | object): void;
|
|
179
63
|
/**
|
|
180
64
|
* Set the shader's `uTime` uniform (elapsed time, in seconds). A convenience
|
|
181
65
|
* over `setUniform("uTime", ...)`; call it once per frame from your update
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadereffect.d.ts","sourceRoot":"","sources":["../../../src/video/effects/shadereffect.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shadereffect.d.ts","sourceRoot":"","sources":["../../../src/video/effects/shadereffect.js"],"names":[],"mappings":"AAiJA;IAiCC;;;;;;;;;;;OAWG;IACH,sBAXW,aAAa,GAAC,cAAc,GAAC,cAAc,QAC3C,MAAM,GAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,cAQrC,MAAM,EAiKhB;IA3MD;;;;;;OAMG;IACH,SAFU,OAAO,CAED;IAEhB;;;;;;;OAOG;IACH,oBAHU,OAAO,CAGC;IAElB;;;;;;;;;;OAUG;IACH,QAHU,OAAO,CAGF;IAed;;;;;;;OAOG;IACH,eAAyB;IAEzB;;;;;;OAMG;IACH;eA5ByB,MAAM;eAAS,MAAM;MA4BrB;IACzB;;;OAGG;IACH,+BAA2B;IAoB3B;;;;;;;OAOG;IACH,0CAA+B;IAE/B;;;;;OAKG;IACH,0CAA+B;IAE/B;;;;OAIG;IACH,8BAAgC;IAQ/B;;;;;;OAMG;IACH,wBAJU,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAIK;IACpD;;;OAGG;IACH,iBAAkC;IAClC;;;;;;OAMG;IACH,eAA6B;IAC7B;;;OAGG;IACH,mBAAqC;IAErC;;;OAGG;IACH,8BAKC;IAyBD;;;OAGG;IACH,mDAAkC;IAsBpC;;;;OAIG;IACH,uBAsBC;IAjBA;;;OAGG;IACH,2CAAyC;IAe1C;;;;OAIG;IACH,2BAQC;IAED;;;;;;;;;;;;;;OAcG;IACH,iBAbW,MAAM,SACN,MAAM,GAAC,OAAO,GAAC,MAAM,EAAE,GAAC,YAAY,GAAC,MAAM,QAsCrD;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,iBAbW,MAAM,GACJ,YAAY,CAoDxB;IAED;;;;;;;;;;;;OAYG;IACH,gBAJW,MAAM,QA0BhB;IAbC;;;OAGG;IACH,aAAkB;IAWpB;;;;;;;;;;;;;;OAcG;IACH,6BATW,MAAM,gBACN,MAAM,eACN,MAAM,gBACN,MAAM,MACN,MAAM,MACN,MAAM,QAqDhB;IAED;;;;;;;OAOG;IACH,8DAaC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,iBAnBW,MAAM,SACN,SAAS,GAAC,gBAAgB,GAAC,iBAAiB,GAAC,eAAe,GAAC,WAAW,WACxE,QAAQ,GAAC,UAAU,GAAC,UAAU,GAAC,WAAW,GACxC,YAAY,CA0GxB;IAED;;;;;;;;;OASG;IACH,0BAJW,MAAM,QAgGhB;IA/DI;;;OAGG;IACH,4CAAkC;IA6DvC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,SATa,YAAY,CAsDxB;IAKD;;;OAGG;IACH,aAIC;IAED;;;OAGG;IACH,qCAIC;IAED;;;OAGG;IACH,iEAIC;IAED;;;OAGG;IACH,mCAEC;IAED;;;OAGG;IACH,kBAEC;IAED;;;OAGG;IACH,oBAEC;IAED;;;OAGG;IACH,qBAEC;IAED;;;OAGG;IACH,uBAEC;IAED;;;;OAIG;IACH,gBAyCC;CACD;qBAjhCoB,sBAAsB;kCAET,uBAAuB;sBAHnC,yBAAyB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgsl_realization.d.ts","sourceRoot":"","sources":["../../../src/video/effects/wgsl_realization.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wgsl_realization.d.ts","sourceRoot":"","sources":["../../../src/video/effects/wgsl_realization.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH;IACC;;;;OAIG;IACH,kBAFW,MAAM,EA2EhB;IAtEA;;;OAGG;IACH,OAFU,OAAO,CAEc;IAC/B,0BAA0B;IAC1B,OADW,MAAM,GAAC,IAAI,CAC+B;IAMrD;;;;OAIG;IACH,MAFU,MAAM,CAEA;IAChB,wEAAwE;IACxE,2BAAoB;IACpB,iEAAiE;IACjE,YAA2B;IAC3B,4DAA4D;IAC5D,gBAAmC;IACnC,iDAAiD;IACjD,cAA+B;IAC/B,0BAA0B;IAC1B,cAA+B;IAG/B,8CAA8C;IAC9C,yBAAuB;IACvB,mEAAmE;IACnE,oCAAsC;IAEtC;;;;;OAKG;IACH,uCAA4B;IAG5B,6BAAwD;IACxD,2CAAqC;IACrC,yCAAmC;IACnC,0CAAoC;IAIpC,gDAAmC;IAEnC;;;;OAIG;IACH,QAFU,GAAG,CAAC,MAAM,EAAE,MAAM,GAAC,MAAM,EAAE,CAAC,CAEf;IAIvB,6BAAuB;IAEvB;;;;OAIG;IACH,KAFU,MAAM,GAAC,IAAI,CAEN;IAGhB;;;;;;OAMG;IACH,iBALW,MAAM,SACN,MAAM,GAAC,MAAM,EAAE,GAAC,YAAY,GAAC;QAAC,GAAG,EAAE,YAAY,CAAA;KAAC,GAE9C,OAAO,CAwDnB;IAED;;;;;OAKG;IACH,iBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,mBAEC;IAED;;;;;;;;;;;OAWG;IACH,uBALW,MAAM,GACJ,MAAM,CAWlB;CACD"}
|
|
@@ -21,6 +21,25 @@ export class Gradient {
|
|
|
21
21
|
* gradient.addColorStop(1, "blue");
|
|
22
22
|
*/
|
|
23
23
|
addColorStop(offset: number, color: Color | string): Gradient;
|
|
24
|
+
/**
|
|
25
|
+
* Get or create a native `CanvasGradient` for use with a 2D context.
|
|
26
|
+
*
|
|
27
|
+
* This is the one to reach for when baking a gradient into your own
|
|
28
|
+
* canvas — it hands back a value for `ctx.fillStyle` and touches no
|
|
29
|
+
* shared state, so two callers cannot clobber each other.
|
|
30
|
+
*
|
|
31
|
+
* The result is cached and reused until a stop changes.
|
|
32
|
+
* @param {CanvasRenderingContext2D} context - the 2D context to create the gradient on
|
|
33
|
+
* @returns {CanvasGradient} a native gradient bound to that context
|
|
34
|
+
* @example
|
|
35
|
+
* // bake a gradient into a standalone canvas
|
|
36
|
+
* const c = document.createElement("canvas");
|
|
37
|
+
* c.width = 64; c.height = 64;
|
|
38
|
+
* const ctx = c.getContext("2d");
|
|
39
|
+
* ctx.fillStyle = myGradient.toCanvasGradient(ctx);
|
|
40
|
+
* ctx.fillRect(0, 0, 64, 64);
|
|
41
|
+
*/
|
|
42
|
+
toCanvasGradient(context: CanvasRenderingContext2D): CanvasGradient;
|
|
24
43
|
/**
|
|
25
44
|
* Get the interpolated color at a given position along the gradient.
|
|
26
45
|
* Useful for procedural effects like trails that need per-segment colors.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gradient.d.ts","sourceRoot":"","sources":["../../src/video/gradient.js"],"names":[],"mappings":"AAmCA;;;;GAIG;AACH;IACC;;;OAGG;IACH,kBAHW,QAAQ,GAAC,QAAQ,UACjB,MAAM,EAAE,EA8DlB;IA3DA;;;OAGG;IACH;;;OAGG;IACH,YAA2B;IAE3B,0BAAgB;IAEhB;;;;;OAKG;IACH,QAJU,MAAM,EAAE,CAIE;IAEpB;;;;;OAKG;IACH,YAJU,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC,CAI5B;IAEpB;;;;;OAKG;IACH,iBAJU,cAAc,GAAC,SAAS,CAIF;IAEhC;;;;;OAKG;IACH,eAJU,kBAAkB,GAAC,SAAS,CAIR;IAE9B;;;;;OAKG;IACH,QAJU,OAAO,CAIC;IAElB;;;;;OAKG;IACH,cAJU;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAC,EAAE,GAAC,IAAI,CAIvB;IAGzB;;;;;;;;;OASG;IACH,qBARW,MAAM,SACN,KAAK,GAAC,MAAM,GACV,QAAQ,CA0BpB;IAED
|
|
1
|
+
{"version":3,"file":"gradient.d.ts","sourceRoot":"","sources":["../../src/video/gradient.js"],"names":[],"mappings":"AAmCA;;;;GAIG;AACH;IACC;;;OAGG;IACH,kBAHW,QAAQ,GAAC,QAAQ,UACjB,MAAM,EAAE,EA8DlB;IA3DA;;;OAGG;IACH;;;OAGG;IACH,YAA2B;IAE3B,0BAAgB;IAEhB;;;;;OAKG;IACH,QAJU,MAAM,EAAE,CAIE;IAEpB;;;;;OAKG;IACH,YAJU,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC,CAI5B;IAEpB;;;;;OAKG;IACH,iBAJU,cAAc,GAAC,SAAS,CAIF;IAEhC;;;;;OAKG;IACH,eAJU,kBAAkB,GAAC,SAAS,CAIR;IAE9B;;;;;OAKG;IACH,QAJU,OAAO,CAIC;IAElB;;;;;OAKG;IACH,cAJU;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAC,EAAE,GAAC,IAAI,CAIvB;IAGzB;;;;;;;;;OASG;IACH,qBARW,MAAM,SACN,KAAK,GAAC,MAAM,GACV,QAAQ,CA0BpB;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,0BAVW,wBAAwB,GACtB,cAAc,CAuC1B;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,mBATW,cAAc,GAAC,aAAa,KAC5B,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,GACJ;QAAC,MAAM,EAAE,iBAAiB,GAAC,eAAe,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAyFtF;IAED;;;;;;;;;;;OAWG;IACH,qBATW,MAAM,OACN,KAAK,GACH,KAAK,CA+CjB;IAED;;;;OAIG;IACH,0BAWC;IAED;;OAEG;IACH,gBAOC;CACD;+BAvX8B,sCAAsC;2BAF7C,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/video/renderer.js"],"names":[],"mappings":"AAiCA;;;GAGG;AACH;
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/video/renderer.js"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,100 @@
|
|
|
1
1
|
export default NoiseTexture2d;
|
|
2
|
+
/**
|
|
3
|
+
* What a {@link NoiseTexture2d} bakes WITH — its own settings, as opposed to
|
|
4
|
+
* the field's.
|
|
5
|
+
*/
|
|
6
|
+
export type NoiseTexture2dBakeSettings = {
|
|
7
|
+
/**
|
|
8
|
+
* - baked texture width in pixels
|
|
9
|
+
*/
|
|
10
|
+
width?: number;
|
|
11
|
+
/**
|
|
12
|
+
* - baked texture height in pixels
|
|
13
|
+
*/
|
|
14
|
+
height?: number;
|
|
15
|
+
/**
|
|
16
|
+
* - an existing {@link Noise} to bake; when omitted
|
|
17
|
+
* one is built from the forwarded field settings
|
|
18
|
+
*/
|
|
19
|
+
noise?: Noise;
|
|
20
|
+
/**
|
|
21
|
+
* - tile cleanly in both axes
|
|
22
|
+
*/
|
|
23
|
+
seamless?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* - edge blend band width as a
|
|
26
|
+
* fraction (0..1) of the smaller dimension, when `seamless`
|
|
27
|
+
*/
|
|
28
|
+
seamlessBlendSkirt?: number;
|
|
29
|
+
/**
|
|
30
|
+
* - invert the noise value (`1 - v`)
|
|
31
|
+
*/
|
|
32
|
+
invert?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* - encode as a normal map
|
|
35
|
+
*/
|
|
36
|
+
asNormalMap?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* - normal steepness when `asNormalMap`
|
|
39
|
+
*/
|
|
40
|
+
bumpStrength?: number;
|
|
41
|
+
/**
|
|
42
|
+
* - map the noise
|
|
43
|
+
* value to a color
|
|
44
|
+
*/
|
|
45
|
+
colorRamp?: import("../gradient.js").Gradient;
|
|
46
|
+
/**
|
|
47
|
+
* - sample in 3D (`getNoise3d`) using an
|
|
48
|
+
* internal `time` as the third axis, advanced by {@link NoiseTexture2d#update}
|
|
49
|
+
*/
|
|
50
|
+
animated?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* - animation speed in noise z-units per second
|
|
53
|
+
* (only used while `animated`)
|
|
54
|
+
*/
|
|
55
|
+
speed?: number;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Everything the constructor takes.
|
|
59
|
+
*
|
|
60
|
+
* The settings object is handed to {@link Noise} WHOLE when no `noise` instance
|
|
61
|
+
* is given, so every field setting — `type`, `seed`, `frequency`/`scale`,
|
|
62
|
+
* `octaves`, `gain`/`persistence`, `lacunarity`, `fractalType`, the domain-warp
|
|
63
|
+
* settings — belongs here too. Spelling them out a second time is what would
|
|
64
|
+
* drift; the intersection cannot.
|
|
65
|
+
*/
|
|
66
|
+
export type NoiseTexture2dSettings = NoiseTexture2dBakeSettings & import("../../math/noise.ts").NoiseSettings;
|
|
67
|
+
/**
|
|
68
|
+
* What a {@link NoiseTexture2d} bakes WITH — its own settings, as opposed to
|
|
69
|
+
* the field's.
|
|
70
|
+
* @typedef {object} NoiseTexture2dBakeSettings
|
|
71
|
+
* @property {number} [width=256] - baked texture width in pixels
|
|
72
|
+
* @property {number} [height=256] - baked texture height in pixels
|
|
73
|
+
* @property {Noise} [noise] - an existing {@link Noise} to bake; when omitted
|
|
74
|
+
* one is built from the forwarded field settings
|
|
75
|
+
* @property {boolean} [seamless=false] - tile cleanly in both axes
|
|
76
|
+
* @property {number} [seamlessBlendSkirt=0.1] - edge blend band width as a
|
|
77
|
+
* fraction (0..1) of the smaller dimension, when `seamless`
|
|
78
|
+
* @property {boolean} [invert=false] - invert the noise value (`1 - v`)
|
|
79
|
+
* @property {boolean} [asNormalMap=false] - encode as a normal map
|
|
80
|
+
* @property {number} [bumpStrength=1] - normal steepness when `asNormalMap`
|
|
81
|
+
* @property {import("../gradient.js").Gradient} [colorRamp] - map the noise
|
|
82
|
+
* value to a color
|
|
83
|
+
* @property {boolean} [animated=false] - sample in 3D (`getNoise3d`) using an
|
|
84
|
+
* internal `time` as the third axis, advanced by {@link NoiseTexture2d#update}
|
|
85
|
+
* @property {number} [speed=1] - animation speed in noise z-units per second
|
|
86
|
+
* (only used while `animated`)
|
|
87
|
+
*/
|
|
88
|
+
/**
|
|
89
|
+
* Everything the constructor takes.
|
|
90
|
+
*
|
|
91
|
+
* The settings object is handed to {@link Noise} WHOLE when no `noise` instance
|
|
92
|
+
* is given, so every field setting — `type`, `seed`, `frequency`/`scale`,
|
|
93
|
+
* `octaves`, `gain`/`persistence`, `lacunarity`, `fractalType`, the domain-warp
|
|
94
|
+
* settings — belongs here too. Spelling them out a second time is what would
|
|
95
|
+
* drift; the intersection cannot.
|
|
96
|
+
* @typedef {NoiseTexture2dBakeSettings & import("../../math/noise.ts").NoiseSettings} NoiseTexture2dSettings
|
|
97
|
+
*/
|
|
2
98
|
/**
|
|
3
99
|
* A {@link Texture2d} that bakes a {@link Noise} field into a drawable canvas —
|
|
4
100
|
* usable directly as a sprite image, a normal map, an image layer, or a custom
|
|
@@ -41,39 +137,10 @@ export default NoiseTexture2d;
|
|
|
41
137
|
*/
|
|
42
138
|
declare class NoiseTexture2d extends Texture2d {
|
|
43
139
|
/**
|
|
44
|
-
* @param {
|
|
45
|
-
*
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
* @param {number} [settings.width=256] - baked texture width in pixels
|
|
49
|
-
* @param {number} [settings.height=256] - baked texture height in pixels
|
|
50
|
-
* @param {Noise} [settings.noise] - an existing {@link Noise} to bake; when
|
|
51
|
-
* omitted one is built from the forwarded settings
|
|
52
|
-
* @param {boolean} [settings.seamless=false] - tile cleanly in both axes
|
|
53
|
-
* @param {number} [settings.seamlessBlendSkirt=0.1] - edge blend band width
|
|
54
|
-
* as a fraction (0..1) of the smaller dimension, when `seamless`
|
|
55
|
-
* @param {boolean} [settings.invert=false] - invert the noise value (`1 - v`)
|
|
56
|
-
* @param {boolean} [settings.asNormalMap=false] - encode as a normal map
|
|
57
|
-
* @param {number} [settings.bumpStrength=1] - normal steepness when `asNormalMap`
|
|
58
|
-
* @param {Gradient} [settings.colorRamp] - map the noise value to a color
|
|
59
|
-
* @param {boolean} [settings.animated=false] - sample in 3D (`getNoise3d`)
|
|
60
|
-
* using an internal `time` as the third axis, advanced by {@link NoiseTexture2d#update}
|
|
61
|
-
* @param {number} [settings.speed=1] - animation speed in noise z-units per
|
|
62
|
-
* second (only used while `animated`)
|
|
63
|
-
*/
|
|
64
|
-
constructor(settings?: {
|
|
65
|
-
width?: number | undefined;
|
|
66
|
-
height?: number | undefined;
|
|
67
|
-
noise?: Noise | undefined;
|
|
68
|
-
seamless?: boolean | undefined;
|
|
69
|
-
seamlessBlendSkirt?: number | undefined;
|
|
70
|
-
invert?: boolean | undefined;
|
|
71
|
-
asNormalMap?: boolean | undefined;
|
|
72
|
-
bumpStrength?: number | undefined;
|
|
73
|
-
colorRamp?: any;
|
|
74
|
-
animated?: boolean | undefined;
|
|
75
|
-
speed?: number | undefined;
|
|
76
|
-
});
|
|
140
|
+
* @param {NoiseTexture2dSettings} [settings] - bake settings, plus any
|
|
141
|
+
* {@link NoiseSettings} for the field itself
|
|
142
|
+
*/
|
|
143
|
+
constructor(settings?: NoiseTexture2dSettings);
|
|
77
144
|
/** baked texture width in pixels @type {number} */
|
|
78
145
|
width: number;
|
|
79
146
|
/** baked texture height in pixels @type {number} */
|
|
@@ -128,6 +195,6 @@ declare class NoiseTexture2d extends Texture2d {
|
|
|
128
195
|
*/
|
|
129
196
|
getTexture(): HTMLCanvasElement;
|
|
130
197
|
}
|
|
131
|
-
import Texture2d from "./texture2d.ts";
|
|
132
198
|
import { Noise } from "../../math/noise.ts";
|
|
199
|
+
import Texture2d from "./texture2d.ts";
|
|
133
200
|
//# sourceMappingURL=noise_texture2d.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noise_texture2d.d.ts","sourceRoot":"","sources":["../../../src/video/texture/noise_texture2d.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"noise_texture2d.d.ts","sourceRoot":"","sources":["../../../src/video/texture/noise_texture2d.js"],"names":[],"mappings":";;;;;;;;;YAkBc,MAAM;;;;aACN,MAAM;;;;;YACN,KAAK;;;;eAEL,OAAO;;;;;yBACP,MAAM;;;;aAEN,OAAO;;;;kBACP,OAAO;;;;mBACP,MAAM;;;;;gBACN,OAAO,gBAAgB,EAAE,QAAQ;;;;;eAEjC,OAAO;;;;;YAEP,MAAM;;;;;;;;;;;qCAYP,0BAA0B,GAAG,OAAO,qBAAqB,EAAE,aAAa;AA9BrF;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;GASG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH;IACC;;;OAGG;IACH,uBAHW,sBAAsB,EA0DhC;IApDA,mDAAmD;IACnD,OADyC,MAAM,CACb;IAClC,oDAAoD;IACpD,QAD0C,MAAM,CACZ;IACpC,0DAA0D;IAC1D,OADiD,KAAK,CAEiB;IACvE,gDAAgD;IAChD,UADqC,OAAO,CACF;IAC1C,2EAA2E;IAC3E,oBADiE,MAAM,CAItE;IACD,6CAA6C;IAC7C,QADkC,OAAO,CACH;IACtC,qEAAqE;IACrE,aAD0D,OAAO,CACjB;IAChD,yDAAyD;IACzD,cAD+C,MAAM,CACL;IAChD,2EAA2E;IAC3E,WAD0D,QAAQ,GAAC,IAAI,CAC5B;IAC3C,4EAA4E;IAC5E,UADiE,OAAO,CAC9B;IAC1C,iEAAiE;IACjE,OADuD,MAAM,CAC7B;IAChC,sEAAsE;IACtE,MAD4D,MAAM,CACrD;IAEb;;;;OAIG;IACH,SAJ2D,iBAAiB,GAAC,IAAI,CAI9D;IACnB;;;;OAIG;IACH,YAJkE,SAAS,GAAC,IAAI,CAI1D;IACtB;;;;OAIG;IACH,UAJqE,YAAY,GAAC,IAAI,CAIlE;IACpB;wFACoF;IACpF,UADkE,MAAM,CACvD;IAKlB;;;;;OAKG;IACH,eAFa,MAAM,CAIlB;IAED;;;;;OAKG;IACH,QAFa,cAAc,CAiC1B;IAED;;;;;;;;;OASG;IACH,WAHW,MAAM,GACJ,cAAc,CAQ1B;IAED;;;;;;;;OAQG;IACH,kCAMC;IAED;;;;;OAKG;IACH,8CAOC;IAED;;;;;;;OAOG;IACH,qBAJa,YAAY,CA4CxB;IAED;;;OAGG;IACH,+CASC;IAED;;;OAGG;IACH,+CAWC;IAED;;;;;;OAMG;IACH,+CA+BC;IAED;;OAEG;IACH,cAFa,iBAAiB,CAI7B;CAcD;sBApYqB,qBAAqB;sBAErB,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh_batcher.d.ts","sourceRoot":"","sources":["../../../../src/video/webgl/batchers/mesh_batcher.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mesh_batcher.d.ts","sourceRoot":"","sources":["../../../../src/video/webgl/batchers/mesh_batcher.js"],"names":[],"mappings":"AA0EA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH;IACC;;;;OAIG;IACH,0BAuHC;IA7GA,wBAA4B;IAI5B,sBAA0B;IAC1B,sBAA0B;IAC1B,sBAA0B;IAI1B,sBAA0B;IAC1B,sBAA0B;IAC1B,sBAA0B;IAC1B,sBAA0B;IAI1B,yBAA6B;IAC7B,wBAA4B;IAI5B,iBAA6B;IAC7B,iBAA6B;IAC7B,iBAA6B;IAI7B,oBAAgC;IAChC,oBAAgC;IAChC,wBAAoC;IACpC,uBAAmC;IACnC,iBAA6B;IAC7B,iBAA6B;IAC7B,iBAA6B;IAC7B,qBAAiC;IACjC,qBAAiC;IACjC,qBAAiC;IACjC,oBAAgC;IAQhC,oCAAyB;IAQzB,qCAA0B;IAS1B,0CAA+B;IAO/B,sBAAiC;IAKjC,+CAAsC;IAMtC,oBAAuE;IACvE,kCAKI;IAYH,8DAOC;IAKH;;;;;;OAMG;IACH;;;;QA0BC;IAED;;;;;OAKG;IACH;;;MAEC;IAED;;;;;;;;;;OAUG;IACH,6BA2CC;IAgED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,wBAOC;IAcD;;;;;;;;;;;;;;;;OAgBG;IACH,wBAZW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,SACN,MAAM,SACN,MAAM,OACN,MAAM,QAMhB;IAED;;;;;;;;;;;;;OAaG;IACH;;;;;;;;;;;;;;;;OAgBG;IACH;;;;;;;;;;;;OAYG;IACH,8BANW,MAAM,OACN,YAAY,GACV,MAAM,CAOlB;IAED;;;;;;;OAOG;IACH,0BALW,MAAM,GACJ,gBAAgB,CAwB5B;IAED;;;;;;;;;;;;;;;OAeG;IACH,uBANW,MAAM,eACN,QAAQ,QACR,MAAM,QA8EhB;IAED;;;;;;;;;;;;;;OAcG;IACH,sCASC;IAED;;;;;;;;;;;;OAYG;IACH,uBAWC;IAED;;;;;;;;;;;;;OAaG;IACH,wBALW,aAAa,GACX,MAAM,CAsFlB;IAED;;;;;;;;;;;OAWG;IACH,2BALW,MAAM,GACJ,QAAQ,CA2BpB;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,wBALW,MAAM,GACJ,QAAQ,CAwCpB;IAPE,8CAAoC;IASvC;;;;;;;;;;;;OAYG;IACH,6BALW,MAAM,UACN,QAAQ,QAUlB;IAED;;;;;;OAMG;IACH,sBALW,MAAM,GACJ,OAAO,CA8BnB;IANC,8CAAoC;IAQtC;;;;;;;;;;;OAWG;IACH,mCAIC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,mBATW,MAAM,WACN,MAAM,iBACN,MAAM,mBACN,MAAM,GAEJ,QAAQ,CAepB;IAED;;;;;;;;;;;OAWG;IACH,sBAJa,OAAO,CASnB;IAED;;;;;OAKG;IACH,mCAWC;IAED;;;;;OAKG;IACH;;;MAEC;IAED;;;;;;;;OAQG;IACH,kCALW,MAAM,GACJ,MAAM,EAAE,CAepB;IAED;;;;;;;;;;;;OAYG;IACH,wBANW,aAAa,eACb,QAAQ,QACR,MAAM,QA2FhB;IAjEC,4CAAkC;IAmEpC;;;;;;;;;;OAUG;IACH,yBAJa,QAAQ,CAoBpB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,8BANW,aAAa,gBACb,MAAM,GACJ,MAAM,CAoElB;IAED;;;;;;;;;OASG;IACH,0BAPW,aAAa,gBACb,QAAQ,QACR,MAAM,QACN,MAAM,QAgChB;IAED;;;;;OAKG;IACH,uBAJW,MAAM,QAYhB;IAED;;;;OAIG;IACH,4BAOC;IAED;;;;;OAKG;IACH,sBAJW,MAAM,QAWhB;IAED;;;;OAIG;IACH,2BAMC;IAED;;;;;;;;;;;;OAYG;IACH,gCAJW,QAAQ,QAsBlB;IAED,mEAmIC;IAED;;;;;;;;;;;;;;;OAeG;IACH,wBATW,MAAM,YACN,YAAY,GAIV,MAAM,CA0KlB;IAED;;;;;;;;OAQG;IACH,sBAJW,MAAM,QAYhB;IAED,oCA0BC;IAED;;;;;;;;OAQG;IACH,sBANW,MAAM,QACN,MAAM,UACN,MAAM,QAsFhB;CACD;gCAryD+B,uBAAuB;6BAR1B,gCAAgC;yBAhBpC,2BAA2B;qBAkB/B,gBAAgB"}
|
|
@@ -148,11 +148,16 @@ export default class GLShader {
|
|
|
148
148
|
/**
|
|
149
149
|
* Set the uniform to the given value
|
|
150
150
|
* @param {string} name - the uniform name
|
|
151
|
-
* @param {
|
|
151
|
+
* @param {number|boolean|number[]|Float32Array|object} value - the value to assign to that
|
|
152
|
+
* uniform. Scalars (`float`, `int`, `bool`) take a number or a boolean;
|
|
153
|
+
* vectors and matrices take an array, a `Float32Array`, or any object
|
|
154
|
+
* exposing `toArray()` — which is every {@link Vector2d},
|
|
155
|
+
* {@link Vector3d}, {@link Color} and {@link Matrix3d}.
|
|
152
156
|
* @example
|
|
153
157
|
* myShader.setUniform("uProjectionMatrix", this.projectionMatrix);
|
|
158
|
+
* myShader.setUniform("uStrength", 0.5); // a scalar is a plain number
|
|
154
159
|
*/
|
|
155
|
-
setUniform(name: string, value:
|
|
160
|
+
setUniform(name: string, value: number | boolean | number[] | Float32Array | object): void;
|
|
156
161
|
/**
|
|
157
162
|
* activate the given vertex attribute for this shader.
|
|
158
163
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glshader.d.ts","sourceRoot":"","sources":["../../../src/video/webgl/glshader.js"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH;IACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,iBAtCW,qBAAqB,UAGrB,MAAM,GAAC,MAAM,aAGb,MAAM,cACN,MAAM,EAqLhB;IAzIA;;;OAGG;IACH,IAFU,qBAAqB,CAEnB;IAEZ;;;;;OAKG;IACH,kBAHU,OAAO,CAIwD;IAEzE;;;;;OAKG;IACH,mBAHU,OAAO,CAGuB;IAExC;;;OAGG;IACH,MAFU,MAAM,GAAC,SAAS,CAEV;IAEhB;;;;OAIG;IACH,OAFU,MAAM,GAAC,SAAS,CAER;IAIlB,mBAAqB;IAKrB;;;OAGG;IACH;;;MAAwD;IAWxD;;;;;;;OAOG;IACH,oBAHU,OAAO,CAGK;IAEtB;;;;;;;;;OASG;IACH,QAHU,OAAO,CAGE;IAEnB;;;;;;;;;;OAUG;IACH,oBAHU,OAAO,CAGK;IAGtB;;;OAGG;IACH,+BAA2B;IAC3B;;;OAGG;IACH,oCAA+B;IAC/B;;;OAGG;IACH,+BAA2B;IAG3B;;;OAGG;IACH,mBAAwC;IAMtC,sBAAmB;IACnB,iBAAoB;IACpB,qBAAsB;IAgBzB;;;;;;;;OAQG;IACH,iBA0CC;IAzCA,YAGC;IACD,cAGC;IAoCF;;;;;;;OAOG;IACH,uBAgBC;IAED;;;;;;;OAOG;IACH,2BAMC;IAED;;OAEG;IACH,aAcC;IAED;;;;OAIG;IACH,wBAHW,MAAM,GACJ,KAAK,CAcjB;IAED
|
|
1
|
+
{"version":3,"file":"glshader.d.ts","sourceRoot":"","sources":["../../../src/video/webgl/glshader.js"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH;IACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,iBAtCW,qBAAqB,UAGrB,MAAM,GAAC,MAAM,aAGb,MAAM,cACN,MAAM,EAqLhB;IAzIA;;;OAGG;IACH,IAFU,qBAAqB,CAEnB;IAEZ;;;;;OAKG;IACH,kBAHU,OAAO,CAIwD;IAEzE;;;;;OAKG;IACH,mBAHU,OAAO,CAGuB;IAExC;;;OAGG;IACH,MAFU,MAAM,GAAC,SAAS,CAEV;IAEhB;;;;OAIG;IACH,OAFU,MAAM,GAAC,SAAS,CAER;IAIlB,mBAAqB;IAKrB;;;OAGG;IACH;;;MAAwD;IAWxD;;;;;;;OAOG;IACH,oBAHU,OAAO,CAGK;IAEtB;;;;;;;;;OASG;IACH,QAHU,OAAO,CAGE;IAEnB;;;;;;;;;;OAUG;IACH,oBAHU,OAAO,CAGK;IAGtB;;;OAGG;IACH,+BAA2B;IAC3B;;;OAGG;IACH,oCAA+B;IAC/B;;;OAGG;IACH,+BAA2B;IAG3B;;;OAGG;IACH,mBAAwC;IAMtC,sBAAmB;IACnB,iBAAoB;IACpB,qBAAsB;IAgBzB;;;;;;;;OAQG;IACH,iBA0CC;IAzCA,YAGC;IACD,cAGC;IAoCF;;;;;;;OAOG;IACH,uBAgBC;IAED;;;;;;;OAOG;IACH,2BAMC;IAED;;OAEG;IACH,aAcC;IAED;;;;OAIG;IACH,wBAHW,MAAM,GACJ,KAAK,CAcjB;IAED;;;;;;;;;;;OAWG;IACH,iBAVW,MAAM,SACN,MAAM,GAAC,OAAO,GAAC,MAAM,EAAE,GAAC,YAAY,GAAC,MAAM,QAiDrD;IAED;;;;;;;;;;;;;OAaG;IACH,wBAJW,qBAAqB,cACrB,MAAM,EAAE,UACR,MAAM,QAmBhB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,SAFa,QAAQ,CA8BpB;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAVW,MAAM,QACN,MAAM,oBACN,kBAAkB,EAAE,mBACpB,MAAM,GACJ,MAAM,GAAC,IAAI,CAiFvB;IAED;;;;;OAKG;IACH,gBAkCC;CACD"}
|