melonjs 20.10.1 → 20.12.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/README.md +4 -5
- package/build/application/application.d.ts.map +1 -1
- package/build/application/defaultApplicationSettings.d.ts +1 -0
- package/build/application/defaultApplicationSettings.d.ts.map +1 -1
- package/build/application/settings.d.ts +54 -3
- package/build/application/settings.d.ts.map +1 -1
- package/build/audio/audio.d.ts +14 -4
- package/build/audio/audio.d.ts.map +1 -1
- package/build/audio/backend/sound.d.ts.map +1 -1
- package/build/audio/playback.d.ts.map +1 -1
- package/build/audio/spatial.d.ts +13 -2
- package/build/audio/spatial.d.ts.map +1 -1
- package/build/audio/types.d.ts +44 -4
- package/build/audio/types.d.ts.map +1 -1
- package/build/camera/camera2d.d.ts +48 -4
- package/build/camera/camera2d.d.ts.map +1 -1
- package/build/camera/camera3d.d.ts.map +1 -1
- package/build/camera/effects/pixelate_transition_effect.d.ts +67 -0
- package/build/camera/effects/pixelate_transition_effect.d.ts.map +1 -0
- package/build/camera/effects/shake_effect.d.ts +3 -1
- package/build/camera/effects/shake_effect.d.ts.map +1 -1
- package/build/geometries/ellipse.d.ts +8 -4
- package/build/geometries/ellipse.d.ts.map +1 -1
- package/build/geometries/line.d.ts +2 -2
- package/build/geometries/line.d.ts.map +1 -1
- package/build/geometries/polygon.d.ts +3 -3
- package/build/geometries/polygon.d.ts.map +1 -1
- package/build/geometries/rectangle.d.ts +2 -2
- package/build/geometries/rectangle.d.ts.map +1 -1
- package/build/geometries/roundrect.d.ts +2 -2
- package/build/geometries/roundrect.d.ts.map +1 -1
- package/build/index.d.ts +5 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +9944 -6234
- package/build/index.js.map +4 -4
- package/build/input/gamepad.d.ts.map +1 -1
- package/build/input/pointerevent.d.ts.map +1 -1
- package/build/lang/console.d.ts +16 -1
- package/build/lang/console.d.ts.map +1 -1
- package/build/level/tiled/TMXLayer.d.ts +1 -1
- package/build/level/tiled/TMXLayer.d.ts.map +1 -1
- package/build/level/tiled/TMXObject.d.ts +196 -1
- package/build/level/tiled/TMXObject.d.ts.map +1 -1
- package/build/level/tiled/TMXObjectFactory.d.ts +18 -5
- package/build/level/tiled/TMXObjectFactory.d.ts.map +1 -1
- package/build/level/tiled/TMXTile.d.ts.map +1 -1
- package/build/level/tiled/TMXTileMap.d.ts.map +1 -1
- package/build/level/tiled/TMXTileset.d.ts +17 -1
- package/build/level/tiled/TMXTileset.d.ts.map +1 -1
- package/build/level/tiled/TMXUtils.d.ts.map +1 -1
- package/build/level/tiled/factories/shape.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXObliqueRenderer.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXRenderer.d.ts.map +1 -1
- package/build/lighting/light2d.d.ts +30 -0
- package/build/lighting/light2d.d.ts.map +1 -1
- package/build/loader/loadingscreen.d.ts.map +1 -1
- package/build/math/matrix2d.d.ts +3 -2
- package/build/math/matrix2d.d.ts.map +1 -1
- package/build/math/matrix3d.d.ts +4 -1
- package/build/math/matrix3d.d.ts.map +1 -1
- package/build/particles/emitter.d.ts.map +1 -1
- package/build/particles/particle.d.ts.map +1 -1
- package/build/particles/settings.d.ts +25 -0
- package/build/particles/settings.d.ts.map +1 -1
- package/build/physics/bounds.d.ts +5 -5
- package/build/physics/bounds.d.ts.map +1 -1
- package/build/physics/builtin/body.d.ts +1 -0
- package/build/physics/builtin/body.d.ts.map +1 -1
- package/build/physics/builtin/builtin-adapter.d.ts.map +1 -1
- package/build/physics/builtin/detector.d.ts.map +1 -1
- package/build/physics/builtin/raycast.d.ts.map +1 -1
- package/build/physics/builtin/sat.d.ts +40 -1
- package/build/physics/builtin/sat.d.ts.map +1 -1
- package/build/renderable/animation.d.ts +16 -2
- package/build/renderable/animation.d.ts.map +1 -1
- package/build/renderable/colorlayer.d.ts.map +1 -1
- package/build/renderable/container.d.ts +22 -2
- package/build/renderable/container.d.ts.map +1 -1
- package/build/renderable/entity/entity.d.ts.map +1 -1
- package/build/renderable/frameAnimation.d.ts.map +1 -1
- package/build/renderable/imagelayer.d.ts.map +1 -1
- package/build/renderable/instanced_mesh.d.ts.map +1 -1
- package/build/renderable/mesh.d.ts.map +1 -1
- package/build/renderable/renderable.d.ts +69 -1
- package/build/renderable/renderable.d.ts.map +1 -1
- package/build/renderable/sprite.d.ts +23 -7
- package/build/renderable/sprite.d.ts.map +1 -1
- package/build/renderable/sprite3d.d.ts +5 -3
- package/build/renderable/sprite3d.d.ts.map +1 -1
- package/build/renderable/text/text.d.ts.map +1 -1
- package/build/renderable/trail3d.d.ts.map +1 -1
- package/build/renderable/ui/uipanel.d.ts +3 -3
- package/build/renderable/ui/uipanel.d.ts.map +1 -1
- package/build/state/stage.d.ts +12 -4
- package/build/state/stage.d.ts.map +1 -1
- package/build/state/state.d.ts +31 -6
- package/build/state/state.d.ts.map +1 -1
- package/build/system/legacy_pool.d.ts.map +1 -1
- package/build/system/timer.d.ts +1 -0
- package/build/system/timer.d.ts.map +1 -1
- package/build/utils/fetchdata.d.ts.map +1 -1
- package/build/video/buffer/vertex.d.ts.map +1 -1
- package/build/video/canvas/canvas_renderer.d.ts +8 -7
- package/build/video/canvas/canvas_renderer.d.ts.map +1 -1
- package/build/video/effects/ambientlight.d.ts +2 -0
- package/build/video/effects/ambientlight.d.ts.map +1 -0
- package/build/video/effects/bloom.d.ts +8 -9
- package/build/video/effects/bloom.d.ts.map +1 -1
- package/build/video/effects/blur.d.ts +3 -2
- package/build/video/effects/blur.d.ts.map +1 -1
- package/build/video/effects/chromaticAberration.d.ts +3 -2
- package/build/video/effects/chromaticAberration.d.ts.map +1 -1
- package/build/video/effects/dissolve.d.ts +5 -2
- package/build/video/effects/dissolve.d.ts.map +1 -1
- package/build/video/effects/dropShadow.d.ts +15 -3
- package/build/video/effects/dropShadow.d.ts.map +1 -1
- package/build/video/effects/flash.d.ts +6 -2
- package/build/video/effects/flash.d.ts.map +1 -1
- package/build/video/effects/frame.d.ts +48 -0
- package/build/video/effects/frame.d.ts.map +1 -0
- package/build/video/effects/glow.d.ts +8 -4
- package/build/video/effects/glow.d.ts.map +1 -1
- package/build/video/effects/glsl_realization.d.ts.map +1 -1
- package/build/video/effects/hologram.d.ts +5 -2
- package/build/video/effects/hologram.d.ts.map +1 -1
- package/build/video/effects/local_space.d.ts +19 -0
- package/build/video/effects/local_space.d.ts.map +1 -0
- package/build/video/effects/mesh_splice.d.ts.map +1 -1
- package/build/video/effects/outline.d.ts +8 -4
- package/build/video/effects/outline.d.ts.map +1 -1
- package/build/video/effects/pixelate.d.ts +3 -2
- package/build/video/effects/pixelate.d.ts.map +1 -1
- package/build/video/effects/radialGradient.d.ts +13 -16
- package/build/video/effects/radialGradient.d.ts.map +1 -1
- package/build/video/effects/rgba.d.ts +2 -0
- package/build/video/effects/rgba.d.ts.map +1 -0
- package/build/video/effects/scanline.d.ts.map +1 -1
- package/build/video/effects/shadereffect.d.ts +13 -0
- package/build/video/effects/shadereffect.d.ts.map +1 -1
- package/build/video/effects/shine.d.ts +10 -2
- package/build/video/effects/shine.d.ts.map +1 -1
- package/build/video/effects/squish.d.ts.map +1 -1
- package/build/video/effects/sway.d.ts +69 -0
- package/build/video/effects/sway.d.ts.map +1 -0
- package/build/video/effects/tintPulse.d.ts +5 -2
- package/build/video/effects/tintPulse.d.ts.map +1 -1
- package/build/video/effects/vignette.d.ts.map +1 -1
- package/build/video/effects/wave.d.ts +21 -2
- package/build/video/effects/wave.d.ts.map +1 -1
- package/build/video/effects/wgsl/parse.d.ts.map +1 -1
- package/build/video/effects/wgsl/scaffold.d.ts.map +1 -1
- package/build/video/effects/wgsl_realization.d.ts.map +1 -1
- package/build/video/gpu/frame.d.ts +2 -0
- package/build/video/gpu/frame.d.ts.map +1 -0
- package/build/video/renderer.d.ts +37 -12
- package/build/video/renderer.d.ts.map +1 -1
- package/build/video/rendertarget/canvasrendertarget.d.ts +14 -4
- package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -1
- package/build/video/rendertarget/rendertarget.d.ts +12 -16
- package/build/video/rendertarget/rendertarget.d.ts.map +1 -1
- package/build/video/rendertarget/webgpurendertarget.d.ts +1 -0
- package/build/video/rendertarget/webgpurendertarget.d.ts.map +1 -1
- package/build/video/texture/atlas.d.ts +47 -28
- package/build/video/texture/atlas.d.ts.map +1 -1
- package/build/video/texture/cache.d.ts.map +1 -1
- package/build/video/utils/pixel_snap.d.ts +44 -0
- package/build/video/utils/pixel_snap.d.ts.map +1 -0
- package/build/video/webgl/batchers/batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/lit_quad_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/material_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/mesh_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/quad_batcher.d.ts +2 -1
- package/build/video/webgl/batchers/quad_batcher.d.ts.map +1 -1
- package/build/video/webgl/glshader.d.ts.map +1 -1
- package/build/video/webgl/renderers/tmxlayer/orthogonal.d.ts.map +1 -1
- package/build/video/webgl/shaders/frameclamp.d.ts +2 -0
- package/build/video/webgl/shaders/frameclamp.d.ts.map +1 -0
- package/build/video/webgl/shaders/multitexture-lit.d.ts.map +1 -1
- package/build/video/webgl/shaders/multitexture.d.ts.map +1 -1
- package/build/video/webgl/utils/uniforms.d.ts.map +1 -1
- package/build/video/webgl/webgl_renderer.d.ts +0 -21
- package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
- package/build/video/webgpu/batchers/lit_quad_batcher.d.ts +2 -1
- package/build/video/webgpu/batchers/lit_quad_batcher.d.ts.map +1 -1
- package/build/video/webgpu/batchers/mesh_batcher.d.ts +0 -1
- package/build/video/webgpu/batchers/mesh_batcher.d.ts.map +1 -1
- package/build/video/webgpu/batchers/quad_batcher.d.ts +2 -2
- package/build/video/webgpu/batchers/quad_batcher.d.ts.map +1 -1
- package/build/video/webgpu/buffer/uniformring.d.ts.map +1 -1
- package/build/video/webgpu/effect_binding.d.ts.map +1 -1
- package/build/video/webgpu/renderers/tmxlayer/orthogonal.d.ts.map +1 -1
- package/build/video/webgpu/webgpu_renderer.d.ts +3 -4
- package/build/video/webgpu/webgpu_renderer.d.ts.map +1 -1
- package/package.json +21 -19
- package/skills/AGENTS.md +2 -1
- package/skills/melonjs/SKILL.md +1 -0
- package/skills/melonjs-audio/SKILL.md +47 -5
- package/skills/melonjs-camera-and-drawing/SKILL.md +63 -1
- package/skills/melonjs-display-and-scaling/SKILL.md +117 -7
- package/skills/melonjs-effects-and-shaders/SKILL.md +136 -19
- package/skills/melonjs-input/SKILL.md +24 -2
- package/skills/melonjs-lighting/SKILL.md +43 -8
- package/skills/melonjs-loading-assets/SKILL.md +4 -3
- package/skills/melonjs-math/SKILL.md +21 -1
- package/skills/melonjs-particles-and-trails/SKILL.md +36 -2
- package/skills/melonjs-performance/SKILL.md +4 -0
- package/skills/melonjs-plugins/SKILL.md +20 -1
- package/skills/melonjs-renderables/SKILL.md +46 -6
- package/skills/melonjs-renderer-backends/SKILL.md +2 -2
- package/skills/melonjs-scenes-and-state/SKILL.md +17 -2
- package/skills/melonjs-sprites-and-animation/SKILL.md +19 -3
- package/skills/melonjs-tilemaps/SKILL.md +126 -4
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
export namespace LOCAL_MODE {
|
|
3
|
+
let uv: number;
|
|
4
|
+
let sprite: number;
|
|
5
|
+
let chain: number;
|
|
6
|
+
}
|
|
7
|
+
export namespace ME_LAYOUT {
|
|
8
|
+
let sizeObj: number;
|
|
9
|
+
let sizeImg: number;
|
|
10
|
+
let offset: number;
|
|
11
|
+
let mode: number;
|
|
12
|
+
let ydir: number;
|
|
13
|
+
let localX: number;
|
|
14
|
+
let localY: number;
|
|
15
|
+
let toUV: number;
|
|
16
|
+
let art: number;
|
|
17
|
+
let length: number;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=local_space.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local_space.d.ts","sourceRoot":"","sources":["../../../src/video/effects/local_space.js"],"names":[],"mappings":"AAsFA;;;;;;;GAOG;AACH,sDALW;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAC,GAChC,MAAM,EAAE,CAiBpB;AAED;;;;;;;GAOG;AACH,oDALW;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAC,GAChC,MAAM,EAAE,CAepB;AAwDD;;;;;;GAMG;AACH,oDALW;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAC,GAChC,MAAM,EAAE,CAoBpB;AA/MD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH;;;;GAIG;AACH,4CAAgE;;;;;;;;;;;;;;;;;;AAgFhE;;;;;GAKG;AACH,4BACC,yGAAyG,CAAC;AAE3G;;;;;GAKG;AACH,yCAkBa;AAEb;;;;GAIG;AACH,sCAYE;AA2BF;;;;;GAKG;AACH,0CAqBE;AAEF;;;;;;GAMG;AACH,0CAMa;AAEb;;;;GAIG;AACH,0CAMa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh_splice.d.ts","sourceRoot":"","sources":["../../../src/video/effects/mesh_splice.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mesh_splice.d.ts","sourceRoot":"","sources":["../../../src/video/effects/mesh_splice.js"],"names":[],"mappings":"AA0FA;;;;;;;;;;;;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,CAmBvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,kCANW,MAAM,SACN,MAAM,GACJ,MAAM,CAWlB"}
|
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
* width: 2.0,
|
|
13
13
|
* }));
|
|
14
14
|
* @example
|
|
15
|
+
* // a half-transparent white outline
|
|
16
|
+
* mySprite.addPostEffect(new OutlineEffect(renderer, { color: [1, 1, 1, 0.5] }));
|
|
17
|
+
* @example
|
|
15
18
|
* // remove the effect
|
|
16
19
|
* mySprite.removePostEffect(outline);
|
|
17
20
|
*/
|
|
@@ -19,9 +22,9 @@ export default class OutlineEffect extends ShaderEffect {
|
|
|
19
22
|
/**
|
|
20
23
|
* @param {Renderer} renderer - the current renderer instance
|
|
21
24
|
* @param {object} [options] - effect options
|
|
22
|
-
* @param {number[]} [options.color=[1.0, 1.0, 1.0]] - outline color as [r, g, b] (0.0–1.0)
|
|
25
|
+
* @param {number[]} [options.color=[1.0, 1.0, 1.0]] - outline color as [r, g, b] or [r, g, b, a] (0.0–1.0); the alpha is the outline's opacity
|
|
23
26
|
* @param {number} [options.width=1.0] - outline width in pixels
|
|
24
|
-
* @param {number[]} [options.textureSize] -
|
|
27
|
+
* @param {number[]} [options.textureSize] - the size, `[width, height]`, of the texture its width is measured in; by default the texture it draws: a sprite's own, alone or with other effects and at any scale or zoom, the screen for a camera's effect
|
|
25
28
|
*/
|
|
26
29
|
constructor(renderer: Renderer, options?: {
|
|
27
30
|
color?: number[] | undefined;
|
|
@@ -30,7 +33,7 @@ export default class OutlineEffect extends ShaderEffect {
|
|
|
30
33
|
});
|
|
31
34
|
/**
|
|
32
35
|
* set the outline color
|
|
33
|
-
* @param {number[]} color - outline color as [r, g, b] (0.0–1.0)
|
|
36
|
+
* @param {number[]} color - outline color as [r, g, b] or [r, g, b, a] (0.0–1.0); the alpha is the outline's opacity
|
|
34
37
|
*/
|
|
35
38
|
setColor(color: number[]): void;
|
|
36
39
|
/**
|
|
@@ -39,7 +42,8 @@ export default class OutlineEffect extends ShaderEffect {
|
|
|
39
42
|
*/
|
|
40
43
|
setWidth(width: number): void;
|
|
41
44
|
/**
|
|
42
|
-
*
|
|
45
|
+
* Measure the effect's width in the texels of a texture of this size,
|
|
46
|
+
* rather than of the texture it draws (the default)
|
|
43
47
|
* @param {number} width - texture width in pixels
|
|
44
48
|
* @param {number} height - texture height in pixels
|
|
45
49
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../../src/video/effects/outline.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../../src/video/effects/outline.js"],"names":[],"mappings":"AA6CA;;;;;;;;;;;;;;;;;;;GAmBG;AACH;IACC;;;;;;OAMG;IACH,sBANW,QAAQ,YAEhB;QAA2B,KAAK;QACP,KAAK;QACH,WAAW;KACxC,EA4CA;IAED;;;OAGG;IACH,gBAFW,MAAM,EAAE,QAIlB;IAED;;;OAGG;IACH,gBAFW,MAAM,QAIhB;IAED;;;;;OAKG;IACH,sBAHW,MAAM,UACN,MAAM,QAIhB;CACD;yBA7IwB,mBAAmB;0BAOnB,gBAAgB"}
|
|
@@ -15,7 +15,7 @@ export default class PixelateEffect extends ShaderEffect {
|
|
|
15
15
|
* @param {Renderer} renderer - the current renderer instance
|
|
16
16
|
* @param {object} [options] - effect options
|
|
17
17
|
* @param {number} [options.size=4.0] - pixel size in texels (higher = more pixelated)
|
|
18
|
-
* @param {number[]} [options.textureSize
|
|
18
|
+
* @param {number[]} [options.textureSize] - the size, `[width, height]`, of the texture its pixel size is measured in; by default the texture it draws: a sprite's own, alone or with other effects and at any scale or zoom, the screen for a camera's effect
|
|
19
19
|
*/
|
|
20
20
|
constructor(renderer: Renderer, options?: {
|
|
21
21
|
size?: number | undefined;
|
|
@@ -28,7 +28,8 @@ export default class PixelateEffect extends ShaderEffect {
|
|
|
28
28
|
*/
|
|
29
29
|
setSize(size: number): void;
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
31
|
+
* Measure the effect's pixel size in the texels of a texture of this size,
|
|
32
|
+
* rather than of the texture it draws (the default)
|
|
32
33
|
* @param {number} width - texture width in pixels
|
|
33
34
|
* @param {number} height - texture height in pixels
|
|
34
35
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixelate.d.ts","sourceRoot":"","sources":["../../../src/video/effects/pixelate.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pixelate.d.ts","sourceRoot":"","sources":["../../../src/video/effects/pixelate.js"],"names":[],"mappings":"AA0BA;;;;;;;;;;;GAWG;AACH;IACC;;;;;OAKG;IACH,sBALW,QAAQ,YAEhB;QAAyB,IAAI;QACF,WAAW;KACxC,EAqBA;IALA,aAA+B;IAOhC;;;OAGG;IACH,cAFW,MAAM,QAKhB;IAED;;;;;OAKG;IACH,sBAHW,MAAM,UACN,MAAM,QAIhB;CACD;yBApFwB,mBAAmB;0BAOnB,gBAAgB"}
|
|
@@ -12,18 +12,10 @@
|
|
|
12
12
|
* fading linearly to fully transparent at the edge of the host quad.
|
|
13
13
|
* The falloff is naturally elliptical for non-square quads.
|
|
14
14
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* dedicated 1×1 white pixel, a non-atlased Sprite, an FBO blit, or
|
|
20
|
-
* the engine-provided light atlas used by `WebGLRenderer.drawLight`).
|
|
21
|
-
* If you attach this effect to a Sprite that uses a *sub-region* of a
|
|
22
|
-
* larger atlas, `uv` will be in `[u0..u1] × [v0..v1]` and the radial
|
|
23
|
-
* center will be misplaced. For atlas-based renderables, set the
|
|
24
|
-
* effect's `uColor`/`uIntensity` and pair it with a Sprite whose
|
|
25
|
-
* texture covers a full atlas, or use a Sprite created from a
|
|
26
|
-
* standalone image.
|
|
15
|
+
* It is centred on the renderable it draws, wherever that sits in its
|
|
16
|
+
* texture: a dedicated 1×1 white pixel, a standalone image, a sprite cut
|
|
17
|
+
* from an atlas, or the engine-provided light atlas used by
|
|
18
|
+
* `WebGLRenderer.drawLight`.
|
|
27
19
|
*
|
|
28
20
|
* The falloff curve is **linear** (`f = clamp(1 - d, 0, 1)`) to match
|
|
29
21
|
* the Canvas 2D `createRadialGradient` two-stop output exactly. Output
|
|
@@ -77,12 +69,17 @@
|
|
|
77
69
|
* color: new Color(80, 160, 255),
|
|
78
70
|
* intensity: 0.4,
|
|
79
71
|
* });
|
|
72
|
+
* @example
|
|
73
|
+
* // a half-strength warm spot: the Color's alpha scales the whole gradient
|
|
74
|
+
* const dim = new RadialGradientEffect(renderer, {
|
|
75
|
+
* color: new Color(255, 220, 120, 0.5),
|
|
76
|
+
* });
|
|
80
77
|
*/
|
|
81
78
|
export default class RadialGradientEffect extends ShaderEffect {
|
|
82
79
|
/**
|
|
83
80
|
* @param {Renderer} renderer - the current renderer instance
|
|
84
81
|
* @param {object} [options] - initial uniform values
|
|
85
|
-
* @param {Color} [options.color] - center color (0..255 RGB); defaults to white
|
|
82
|
+
* @param {Color} [options.color] - center color (0..255 RGB, and its alpha scales the gradient); defaults to opaque white
|
|
86
83
|
* @param {number} [options.intensity=1] - peak alpha at the center (0..1+)
|
|
87
84
|
*/
|
|
88
85
|
constructor(renderer: Renderer, options?: {
|
|
@@ -90,9 +87,9 @@ export default class RadialGradientEffect extends ShaderEffect {
|
|
|
90
87
|
intensity?: number | undefined;
|
|
91
88
|
});
|
|
92
89
|
/**
|
|
93
|
-
* Set the center color.
|
|
94
|
-
* falloff
|
|
95
|
-
* @param {Color} color - 0..255 RGB color
|
|
90
|
+
* Set the center color. Its alpha scales the whole gradient, on top of
|
|
91
|
+
* the falloff, so a half-transparent color gives a half-strength spot.
|
|
92
|
+
* @param {Color} color - 0..255 RGB color, with its alpha
|
|
96
93
|
*/
|
|
97
94
|
setColor(color: Color): void;
|
|
98
95
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radialGradient.d.ts","sourceRoot":"","sources":["../../../src/video/effects/radialGradient.js"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH
|
|
1
|
+
{"version":3,"file":"radialGradient.d.ts","sourceRoot":"","sources":["../../../src/video/effects/radialGradient.js"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH;IACC;;;;;OAKG;IACH,sBALW,QAAQ,YAEhB;QAAwB,KAAK;QACJ,SAAS;KACpC,EAmEA;IAjBA;;;OAGG;IACH,qCAAoC;IAerC;;;;OAIG;IACH,gBAFW,KAAK,QAQf;IAED;;;;OAIG;IACH,wBAFW,MAAM,QAIhB;CACD;yBAhLwB,mBAAmB;2BAIlB,qBAAqB;0BAKtB,gBAAgB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rgba.d.ts","sourceRoot":"","sources":["../../../src/video/effects/rgba.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,4BALW,MAAM,EAAE,GAAC,YAAY,GACnB,YAAY,CAgBxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanline.d.ts","sourceRoot":"","sources":["../../../src/video/effects/scanline.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scanline.d.ts","sourceRoot":"","sources":["../../../src/video/effects/scanline.js"],"names":[],"mappings":"AAsDA;;;;;;;;;;;;;;;GAeG;AACH;IACC;;;;;;OAMG;IACH,sBANW,QAAQ,YAEhB;QAAyB,OAAO;QACP,SAAS;QACT,gBAAgB;KAC3C,EA8CA;IAED;;;OAGG;IACH,oBAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,wBAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,8BAFW,MAAM,QAIhB;CACD;yBApJwB,mBAAmB;0BAOnB,gBAAgB"}
|
|
@@ -59,12 +59,25 @@ export default class ShaderEffect {
|
|
|
59
59
|
* vectors and matrices take an array, a `Float32Array`, or any object
|
|
60
60
|
* exposing `toArray()` — which is every {@link Vector2d},
|
|
61
61
|
* {@link Vector3d}, {@link Color} and {@link Matrix3d}.
|
|
62
|
+
*
|
|
63
|
+
* Sprites drawn one after the other through the same effect share one
|
|
64
|
+
* draw call. A new value draws the sprites queued before it first, so
|
|
65
|
+
* each sprite draws with the values it was given; the value it already
|
|
66
|
+
* has changes nothing, and keeps the draw shared.
|
|
62
67
|
* @example
|
|
63
68
|
* // a scalar the body declares as `uniform float uStrength;`
|
|
64
69
|
* fx.setUniform("uStrength", 0.5);
|
|
65
70
|
* // a vec3 — an array, or anything with toArray()
|
|
66
71
|
* fx.setUniform("uTint", [1.0, 0.82, 0.55]);
|
|
67
72
|
* fx.setUniform("uOrigin", new me.Vector2d(0.5, 0.5));
|
|
73
|
+
* @example
|
|
74
|
+
* // one outline shared by every enemy: drawn in a single call. Marked
|
|
75
|
+
* // shared, so the first enemy destroyed does not destroy it for the rest
|
|
76
|
+
* const outline = new me.OutlineEffect(renderer, { color: [1, 1, 1] });
|
|
77
|
+
* outline.shared = true;
|
|
78
|
+
* for (const enemy of enemies) {
|
|
79
|
+
* enemy.addPostEffect(outline);
|
|
80
|
+
* }
|
|
68
81
|
*/
|
|
69
82
|
setUniform(name: string, value: number | boolean | number[] | Float32Array | object): void;
|
|
70
83
|
/**
|
|
@@ -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":"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"}
|
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
* "etched grooves" look of a coin's rim). An optional subtle brightness
|
|
8
8
|
* pulse can be layered on top via `pulseDepth` — set to 0 to disable.
|
|
9
9
|
*
|
|
10
|
+
* The sweep, its bands and its width are measured across the texture the
|
|
11
|
+
* sprite is drawn from: on a sprite cut from an atlas, across the atlas, so
|
|
12
|
+
* a single sweep crosses the sprite only part of the time. With other
|
|
13
|
+
* effects after it, it stays on the sprite.
|
|
14
|
+
*
|
|
10
15
|
* The `time` uniform must be updated each frame for the animation.
|
|
11
16
|
* @category Effects
|
|
12
17
|
* @see {@link Renderable#addPostEffect} for usage
|
|
@@ -33,12 +38,15 @@
|
|
|
33
38
|
*
|
|
34
39
|
* // update each frame
|
|
35
40
|
* coinShine.setTime(timer.getTime() / 1000);
|
|
41
|
+
* @example
|
|
42
|
+
* // a gentler glint: the color's alpha scales its strength
|
|
43
|
+
* mySprite.addPostEffect(new ShineEffect(renderer, { color: [1.0, 1.0, 1.0, 0.4] }));
|
|
36
44
|
*/
|
|
37
45
|
export default class ShineEffect extends ShaderEffect {
|
|
38
46
|
/**
|
|
39
47
|
* @param {Renderer} renderer - the current renderer instance
|
|
40
48
|
* @param {object} [options] - effect options
|
|
41
|
-
* @param {number[]} [options.color=[1.0, 1.0, 1.0]] - shine color as [r, g, b] (0.0–1.0)
|
|
49
|
+
* @param {number[]} [options.color=[1.0, 1.0, 1.0]] - shine color as [r, g, b] or [r, g, b, a] (0.0–1.0); the alpha scales the glint
|
|
42
50
|
* @param {number} [options.speed=0.5] - sweeps per second
|
|
43
51
|
* @param {number} [options.width=0.15] - glint half-width as a fraction of one tile (0.0–1.0)
|
|
44
52
|
* @param {number} [options.intensity=0.5] - maximum highlight strength
|
|
@@ -59,7 +67,7 @@ export default class ShineEffect extends ShaderEffect {
|
|
|
59
67
|
});
|
|
60
68
|
/**
|
|
61
69
|
* set the shine color
|
|
62
|
-
* @param {number[]} color - shine color as [r, g, b] (0.0–1.0)
|
|
70
|
+
* @param {number[]} color - shine color as [r, g, b] or [r, g, b, a] (0.0–1.0); the alpha scales the glint
|
|
63
71
|
*/
|
|
64
72
|
setColor(color: number[]): void;
|
|
65
73
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shine.d.ts","sourceRoot":"","sources":["../../../src/video/effects/shine.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shine.d.ts","sourceRoot":"","sources":["../../../src/video/effects/shine.js"],"names":[],"mappings":"AAoDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH;IACC;;;;;;;;;;;OAWG;IACH,sBAXW,QAAQ,YAEhB;QAA2B,KAAK;QACP,KAAK;QACL,KAAK;QACL,SAAS;QACT,KAAK;QACL,KAAK;QACL,UAAU;QACV,UAAU;KACrC,EA2DA;IAED;;;OAGG;IACH,gBAFW,MAAM,EAAE,QAIlB;IAED;;;OAGG;IACH,gBAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,oBAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,gBAFW,MAAM,QAIhB;CACD;yBAvMwB,mBAAmB;0BAOnB,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"squish.d.ts","sourceRoot":"","sources":["../../../src/video/effects/squish.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"squish.d.ts","sourceRoot":"","sources":["../../../src/video/effects/squish.js"],"names":[],"mappings":"AAwCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH;IACC;;;;OAIG;IACH,sBAJW,QAAQ,YAEhB;QAAyB,KAAK;KAChC,EAoDA;IAjBA;;;;OAIG;IACH,eAAe;IAEf;;;;;OAKG;IACH,kCAA4C;IAM7C;;;OAGG;IACH,gBAFW,MAAM,QAWhB;IAED;;;;;;;OAOG;IACH,kHAcC;IAED;;;OAGG;IACH,SAFa,YAAY,CAOxB;CACD;yBAtMwB,mBAAmB;0BAOnB,gBAAgB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A shader effect that leans a sprite from side to side, as if a breeze went
|
|
3
|
+
* through it: each row is drawn a little to the left or right by a sine of
|
|
4
|
+
* the time, and by more the further above its anchor row it is, so the top
|
|
5
|
+
* sways most and everything from the anchor down stays put. For grass, trees,
|
|
6
|
+
* reeds or a whole background layer: anything planted at its bottom.
|
|
7
|
+
*
|
|
8
|
+
* Everything is measured across the sprite itself: its strength is a
|
|
9
|
+
* fraction of the sprite's width and its anchor a row of the sprite, so a
|
|
10
|
+
* sprite sways the same whether it has a texture of its own or is cut from
|
|
11
|
+
* an atlas, and whatever else it draws through.
|
|
12
|
+
*
|
|
13
|
+
* It is a {@link WaveEffect} with an anchor and sway-sized defaults, so it
|
|
14
|
+
* shares its shader rather than adding one. The other difference is the time:
|
|
15
|
+
* {@link SwayEffect#setTime} wraps the phase to one turn on the CPU before
|
|
16
|
+
* the shader sees it. A raw clock grows without bound, and a medium-precision
|
|
17
|
+
* float, the default on most phones, runs out of digits a few minutes into a
|
|
18
|
+
* session and the sway starts to stutter; a wrapped phase never grows.
|
|
19
|
+
* @category Effects
|
|
20
|
+
* @see {@link Renderable#addPostEffect} for usage
|
|
21
|
+
* @example
|
|
22
|
+
* // a tree whose trunk is planted at 90% of its height
|
|
23
|
+
* const sway = new SwayEffect(renderer, { strength: 0.02, anchor: 0.9 });
|
|
24
|
+
* tree.addPostEffect(sway);
|
|
25
|
+
* // each frame
|
|
26
|
+
* sway.setTime(timer.getTime() / 1000);
|
|
27
|
+
*/
|
|
28
|
+
export default class SwayEffect extends WaveEffect {
|
|
29
|
+
/**
|
|
30
|
+
* @param {Renderer} renderer - the current renderer instance
|
|
31
|
+
* @param {object} [options] - effect options
|
|
32
|
+
* @param {number} [options.strength=0.02] - how far the top moves each way, as a fraction of the sprite's width
|
|
33
|
+
* @param {number} [options.anchor=1.0] - the row of the sprite that stays put, as a fraction of its height from the top (1 = the bottom row)
|
|
34
|
+
* @param {number} [options.speed=1.5] - how fast it sways, in radians per second
|
|
35
|
+
* @param {number} [options.frequency=3.0] - how much the sway bends along the height: low values lean the whole sprite as one, high ones ripple it
|
|
36
|
+
*/
|
|
37
|
+
constructor(renderer: Renderer, options?: {
|
|
38
|
+
strength?: number | undefined;
|
|
39
|
+
anchor?: number | undefined;
|
|
40
|
+
speed?: number | undefined;
|
|
41
|
+
frequency?: number | undefined;
|
|
42
|
+
});
|
|
43
|
+
/**
|
|
44
|
+
* how fast it sways, in radians per second
|
|
45
|
+
* @type {number}
|
|
46
|
+
*/
|
|
47
|
+
speed: number;
|
|
48
|
+
/**
|
|
49
|
+
* advance the sway to a moment in time
|
|
50
|
+
* @param {number} seconds - the time, in seconds (any clock: only its rate matters)
|
|
51
|
+
* @returns {SwayEffect} this effect for chaining
|
|
52
|
+
*/
|
|
53
|
+
setTime(seconds: number): SwayEffect;
|
|
54
|
+
/**
|
|
55
|
+
* set how far the top moves each way
|
|
56
|
+
* @param {number} strength - a fraction of the sprite's width
|
|
57
|
+
*/
|
|
58
|
+
setStrength(strength: number): void;
|
|
59
|
+
/**
|
|
60
|
+
* Create an independent copy of this effect, swaying the same way. A
|
|
61
|
+
* plain {@link ShaderEffect#clone} would copy the uniforms but not the
|
|
62
|
+
* speed, nor the wrapping of the time that keeps the sway smooth.
|
|
63
|
+
* @returns {SwayEffect} a new effect
|
|
64
|
+
*/
|
|
65
|
+
clone(): SwayEffect;
|
|
66
|
+
}
|
|
67
|
+
import WaveEffect from "./wave.js";
|
|
68
|
+
import type Renderer from "../renderer.js";
|
|
69
|
+
//# sourceMappingURL=sway.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sway.d.ts","sourceRoot":"","sources":["../../../src/video/effects/sway.js"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH;IACC;;;;;;;OAOG;IACH,sBAPW,QAAQ,YAEhB;QAAyB,QAAQ;QACR,MAAM;QACN,KAAK;QACL,SAAS;KACpC,EAiBA;IAPA;;;OAGG;IACH,OAFU,MAAM,CAEiB;IAKlC;;;;OAIG;IACH,iBAHW,MAAM,GACJ,UAAU,CAKtB;IAED;;;OAGG;IACH,sBAFW,MAAM,QAIhB;IAED;;;;;OAKG;IACH,SAFa,UAAU,CAetB;CACD;uBAtGsB,WAAW;0BAIT,gBAAgB"}
|
|
@@ -14,12 +14,15 @@
|
|
|
14
14
|
*
|
|
15
15
|
* // update each frame
|
|
16
16
|
* poison.setTime(timer.getTime() / 1000);
|
|
17
|
+
* @example
|
|
18
|
+
* // a subtle pulse: the color's alpha caps how far it tints
|
|
19
|
+
* mySprite.addPostEffect(new TintPulseEffect(renderer, { color: [1.0, 0.8, 0.0, 0.35] }));
|
|
17
20
|
*/
|
|
18
21
|
export default class TintPulseEffect extends ShaderEffect {
|
|
19
22
|
/**
|
|
20
23
|
* @param {Renderer} renderer - the current renderer instance
|
|
21
24
|
* @param {object} [options] - effect options
|
|
22
|
-
* @param {number[]} [options.color=[1.0, 0.0, 0.0]] - pulse color as [r, g, b] (0.0–1.0)
|
|
25
|
+
* @param {number[]} [options.color=[1.0, 0.0, 0.0]] - pulse color as [r, g, b] or [r, g, b, a] (0.0–1.0); the alpha scales the intensity
|
|
23
26
|
* @param {number} [options.speed=2.0] - pulse speed (oscillations per second)
|
|
24
27
|
* @param {number} [options.intensity=0.3] - maximum tint strength (0.0–1.0)
|
|
25
28
|
*/
|
|
@@ -30,7 +33,7 @@ export default class TintPulseEffect extends ShaderEffect {
|
|
|
30
33
|
});
|
|
31
34
|
/**
|
|
32
35
|
* set the pulse color
|
|
33
|
-
* @param {number[]} color - pulse color as [r, g, b] (0.0–1.0)
|
|
36
|
+
* @param {number[]} color - pulse color as [r, g, b] or [r, g, b, a] (0.0–1.0); the alpha scales the intensity
|
|
34
37
|
*/
|
|
35
38
|
setColor(color: number[]): void;
|
|
36
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tintPulse.d.ts","sourceRoot":"","sources":["../../../src/video/effects/tintPulse.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tintPulse.d.ts","sourceRoot":"","sources":["../../../src/video/effects/tintPulse.js"],"names":[],"mappings":"AA4BA;;;;;;;;;;;;;;;;;;;GAmBG;AACH;IACC;;;;;;OAMG;IACH,sBANW,QAAQ,YAEhB;QAA2B,KAAK;QACP,KAAK;QACL,SAAS;KACpC,EAsBA;IAED;;;OAGG;IACH,gBAFW,MAAM,EAAE,QAIlB;CACD;yBArFwB,mBAAmB;0BAOnB,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vignette.d.ts","sourceRoot":"","sources":["../../../src/video/effects/vignette.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vignette.d.ts","sourceRoot":"","sources":["../../../src/video/effects/vignette.js"],"names":[],"mappings":"AAsCA;;;;;;;;;;;;;;;GAeG;AACH;IACC;;;;;OAKG;IACH,sBALW,QAAQ,YAEhB;QAAyB,QAAQ;QACR,IAAI;KAC/B,EASA;IALA,iBAAwC;IACxC,aAAgC;IAMjC;;;OAGG;IACH,sBAFW,MAAM,QAKhB;IAED;;;OAGG;IACH,cAFW,MAAM,QAKhB;CACD;yBAxFwB,mBAAmB;0BAOnB,gBAAgB"}
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
* A shader effect that applies a sine wave distortion to the sprite.
|
|
3
3
|
* Commonly used for underwater, heat haze, or dream sequence effects.
|
|
4
4
|
* The `time` uniform should be updated each frame for animation.
|
|
5
|
+
*
|
|
6
|
+
* With an `anchor`, the wave fades out toward a row instead of moving the
|
|
7
|
+
* whole sprite: full at the top, nothing at the anchor and below. That is
|
|
8
|
+
* how {@link SwayEffect} leans a sprite while its feet stay planted. The
|
|
9
|
+
* anchor is a row of the sprite, wherever it sits in its texture; the
|
|
10
|
+
* amplitude and the frequency are measured across the texture, so on a
|
|
11
|
+
* sprite cut from an atlas they are fractions of the atlas ({@link SwayEffect}
|
|
12
|
+
* measures them across the sprite).
|
|
5
13
|
* @category Effects
|
|
6
14
|
* @see {@link Renderable#addPostEffect} for usage
|
|
7
15
|
* @example
|
|
@@ -9,19 +17,25 @@
|
|
|
9
17
|
* mySprite.addPostEffect(wave);
|
|
10
18
|
* // update each frame
|
|
11
19
|
* wave.setTime(performance.now() / 1000);
|
|
20
|
+
* @example
|
|
21
|
+
* // seaweed: the tips wave, the roots on the bottom row stay planted
|
|
22
|
+
* const seaweed = new WaveEffect(renderer, { amplitude: 0.02, frequency: 6.0, anchor: 1.0 });
|
|
23
|
+
* mySprite.addPostEffect(seaweed);
|
|
12
24
|
*/
|
|
13
25
|
export default class WaveEffect extends ShaderEffect {
|
|
14
26
|
/**
|
|
15
27
|
* @param {Renderer} renderer - the current renderer instance
|
|
16
28
|
* @param {object} [options] - effect options
|
|
17
|
-
* @param {number} [options.amplitude=0.01] - wave displacement strength
|
|
18
|
-
* @param {number} [options.frequency=10.0] -
|
|
29
|
+
* @param {number} [options.amplitude=0.01] - wave displacement strength, as a fraction of the texture's width (0.01 = subtle)
|
|
30
|
+
* @param {number} [options.frequency=10.0] - the wave's frequency down the texture's height, in radians per height (2π is one whole wave)
|
|
19
31
|
* @param {number} [options.speed=2.0] - wave animation speed
|
|
32
|
+
* @param {number} [options.anchor=0] - the row of the sprite the wave fades out at, as a fraction of its height from the top (0..1); 0 waves every row alike
|
|
20
33
|
*/
|
|
21
34
|
constructor(renderer: Renderer, options?: {
|
|
22
35
|
amplitude?: number | undefined;
|
|
23
36
|
frequency?: number | undefined;
|
|
24
37
|
speed?: number | undefined;
|
|
38
|
+
anchor?: number | undefined;
|
|
25
39
|
});
|
|
26
40
|
/**
|
|
27
41
|
* set the wave amplitude
|
|
@@ -33,6 +47,11 @@ export default class WaveEffect extends ShaderEffect {
|
|
|
33
47
|
* @param {number} frequency - number of waves
|
|
34
48
|
*/
|
|
35
49
|
setFrequency(frequency: number): void;
|
|
50
|
+
/**
|
|
51
|
+
* set the row the wave fades out at
|
|
52
|
+
* @param {number} anchor - a fraction of the sprite's height from the top (0..1); 0 waves every row alike
|
|
53
|
+
*/
|
|
54
|
+
setAnchor(anchor: number): void;
|
|
36
55
|
}
|
|
37
56
|
import ShaderEffect from "./shadereffect.js";
|
|
38
57
|
import type Renderer from "../renderer.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wave.d.ts","sourceRoot":"","sources":["../../../src/video/effects/wave.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wave.d.ts","sourceRoot":"","sources":["../../../src/video/effects/wave.js"],"names":[],"mappings":"AAoCA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH;IACC;;;;;;;OAOG;IACH,sBAPW,QAAQ,YAEhB;QAAyB,SAAS;QACT,SAAS;QACT,KAAK;QACL,MAAM;KACjC,EAoCA;IAED;;;OAGG;IACH,wBAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,wBAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,kBAFW,MAAM,QAIhB;CACD;yBAhIwB,mBAAmB;0BAOnB,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/video/effects/wgsl/parse.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/video/effects/wgsl/parse.js"],"names":[],"mappings":"AAyHA;;;;;;;GAOG;AACH,oCANW,MAAM,GACJ,MAAM,CAwKlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../../../src/video/effects/wgsl/scaffold.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../../../src/video/effects/wgsl/scaffold.js"],"names":[],"mappings":"AAkCA;;;;;;;;;GASG;AACH,8CANW,MAAM,GACJ;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAA;CAAC,CA4BxG;AAED;;;;;;;;GAQG;AACH,sCAPW,MAAM,UACN,MAAM,GACJ;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAkJ5C"}
|
|
@@ -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":"AAgCA;;;;;;;;;;;;;;;GAeG;AACH;IACC;;;;OAIG;IACH,kBAFW,MAAM,EAqFhB;IAhFA;;;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;IAKpC,gDAAkD;IAElD;;;;OAIG;IACH,QAFU,GAAG,CAAC,MAAM,EAAE,MAAM,GAAC,MAAM,EAAE,CAAC,CAEf;IAEvB;;;;OAIG;IACH,KAFU,MAAM,GAAC,IAAI,CAEN;IAEf;;;;;;;;;;OAUG;IACH,iBAJU,CAAC,MAAM,IAAI,CAAC,GAAC,IAAI,CAIA;IAG5B;;;;;;OAMG;IACH,iBALW,MAAM,SACN,MAAM,GAAC,MAAM,EAAE,GAAC,YAAY,GAAC;QAAC,GAAG,EAAE,YAAY,CAAA;KAAC,GAE9C,OAAO,CA2DnB;IAED;;;;;OAKG;IACH,iBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,mBAEC;IAED;;;;;;;;;;;OAWG;IACH,uBALW,MAAM,GACJ,MAAM,CAWlB;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/frame.js"],"names":[],"mappings":"AAmBA;;;;;;;;GAQG;AACH,kCALW;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAC,GACf,OAAO,CAOnB;AAaD;;;;;;;;;;GAUG;AACH,yCALW;IAAC,QAAQ,EAAE;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,uBAAuB,CAAC,EAAE,MAAM,MAAM,CAAA;CAAC,GAClG,MAAM,CAelB;AAlED;;;;;;;;GAQG;AAEH;;;;;;GAMG;AACH,8BAA+B,CAAC,GAAG,CAAC;AAgBpC;;;;;;;;GAQG;AACH;;;;GAA0E"}
|
|
@@ -209,7 +209,6 @@ declare class Renderer {
|
|
|
209
209
|
*/
|
|
210
210
|
lineWidth: number;
|
|
211
211
|
projectionMatrix: Matrix3d;
|
|
212
|
-
uvOffset: number;
|
|
213
212
|
/**
|
|
214
213
|
* The normal-map texture associated with the next `drawImage` call,
|
|
215
214
|
* if any. Set by `Sprite.draw` (and any other normal-map-aware
|
|
@@ -221,11 +220,11 @@ declare class Renderer {
|
|
|
221
220
|
*/
|
|
222
221
|
currentNormalMap: HTMLImageElement | HTMLCanvasElement | OffscreenCanvas | ImageBitmap | null;
|
|
223
222
|
/**
|
|
224
|
-
* Number of active `Light2d` instances
|
|
225
|
-
*
|
|
226
|
-
*
|
|
227
|
-
*
|
|
228
|
-
*
|
|
223
|
+
* Number of active `Light2d` instances for the camera drawing, set by
|
|
224
|
+
* `setLightUniforms`. The GPU renderers' `drawImage` reads it to
|
|
225
|
+
* choose between the unlit batcher (default) and the lit one (only
|
|
226
|
+
* when lights AND a normal map are both in play); the Canvas renderer,
|
|
227
|
+
* to say when a normal-mapped sprite is drawn unlit.
|
|
229
228
|
* @type {number}
|
|
230
229
|
*/
|
|
231
230
|
activeLightCount: number;
|
|
@@ -437,8 +436,9 @@ declare class Renderer {
|
|
|
437
436
|
* @param {number} height - destination height
|
|
438
437
|
* @param {ShaderEffect} shader - the shader effect to apply
|
|
439
438
|
* @param {boolean} [keepBlend=false] - if true, keep current blend mode (for sprite compositing)
|
|
439
|
+
* @param {number} [alpha=1] - the opacity to composite the blit at (0.0 to 1.0)
|
|
440
440
|
*/
|
|
441
|
-
blitEffect(source: WebGLTexture, x: number, y: number, width: number, height: number, shader: ShaderEffect, keepBlend?: boolean): void;
|
|
441
|
+
blitEffect(source: WebGLTexture, x: number, y: number, width: number, height: number, shader: ShaderEffect, keepBlend?: boolean, alpha?: number): void;
|
|
442
442
|
/**
|
|
443
443
|
* Sets the viewport for the renderer.
|
|
444
444
|
* Defines the affine transformation from normalized device coordinates to window coordinates.
|
|
@@ -486,7 +486,26 @@ declare class Renderer {
|
|
|
486
486
|
* @param {string} [mode="normal"] - blend mode
|
|
487
487
|
*/
|
|
488
488
|
setBlendMode(mode?: string): void;
|
|
489
|
-
|
|
489
|
+
/**
|
|
490
|
+
* Upload the active scene lights to the lit sprite pipeline.
|
|
491
|
+
*
|
|
492
|
+
* Called once per camera per frame by `Camera2d.draw()` (after the
|
|
493
|
+
* FBO is bound, before the world tree walk fires `Sprite.draw` for
|
|
494
|
+
* any normal-mapped sprite). The WebGL and WebGPU renderers override
|
|
495
|
+
* this to pack the lights into the lit shader's uniform buffers. A light
|
|
496
|
+
* only reaches a sprite with a normal map, on those renderers alone: the
|
|
497
|
+
* Canvas renderer cannot light per pixel, so it only counts the lights,
|
|
498
|
+
* and says once when it draws a sprite with a normal map under them.
|
|
499
|
+
*
|
|
500
|
+
* Stage stays renderer-agnostic by passing the raw scene data —
|
|
501
|
+
* lights iterable and ambient color — and letting the renderer
|
|
502
|
+
* decide how to encode them.
|
|
503
|
+
* @param {Iterable<object>} [lights] - active `Light2d` instances; falsy/empty no-ops
|
|
504
|
+
* @param {object} [ambient] - ambient lighting color (0..255 RGB)
|
|
505
|
+
* @param {number} [translateX=0] - world-to-screen X translate (matches `Camera2d.draw()`)
|
|
506
|
+
* @param {number} [translateY=0] - world-to-screen Y translate
|
|
507
|
+
*/
|
|
508
|
+
setLightUniforms(lights?: Iterable<object>, ambient?: object, translateX?: number, translateY?: number): void;
|
|
490
509
|
/**
|
|
491
510
|
* Render a `Light2d` instance.
|
|
492
511
|
*
|
|
@@ -654,8 +673,9 @@ declare class Renderer {
|
|
|
654
673
|
/**
|
|
655
674
|
* Resolve the default texture filter **mode** for this renderer, decoupled
|
|
656
675
|
* from {@link Renderer#setAntiAlias} (which controls polygon-edge MSAA on GPU
|
|
657
|
-
* backends). Honors the `textureFilter` setting (`"nearest"` / `"linear"
|
|
658
|
-
*
|
|
676
|
+
* backends). Honors the `textureFilter` setting (`"nearest"` / `"linear"`,
|
|
677
|
+
* `"linear-mipmap"` resolving to `"linear"`), falling back to the
|
|
678
|
+
* `antiAlias` setting when it's `"auto"` (the default).
|
|
659
679
|
*
|
|
660
680
|
* Backend-neutral on purpose: it returns the mode as a string so each GPU
|
|
661
681
|
* backend maps it to its own enum (WebGL `gl.LINEAR` / `gl.NEAREST`, a future
|
|
@@ -669,9 +689,14 @@ declare class Renderer {
|
|
|
669
689
|
* decoupled from {@link Renderer#setAntiAlias}. The base implementation just
|
|
670
690
|
* records the setting (the Canvas renderer has no per-texture filtering);
|
|
671
691
|
* GPU backends override this to re-apply the filter to live textures.
|
|
672
|
-
* @param {"auto"|"nearest"|"linear"} [mode="auto"] - `"auto"` follows `antiAlias`
|
|
692
|
+
* @param {"auto"|"nearest"|"linear"|"linear-mipmap"} [mode="auto"] - `"auto"` follows `antiAlias`
|
|
693
|
+
* @example
|
|
694
|
+
* // smooth, and from the mipmaps wherever something is drawn small
|
|
695
|
+
* app.renderer.setTextureFilter("linear-mipmap");
|
|
696
|
+
* // back to the antiAlias setting
|
|
697
|
+
* app.renderer.setTextureFilter("auto");
|
|
673
698
|
*/
|
|
674
|
-
setTextureFilter(mode?: "auto" | "nearest" | "linear"): void;
|
|
699
|
+
setTextureFilter(mode?: "auto" | "nearest" | "linear" | "linear-mipmap"): void;
|
|
675
700
|
/**
|
|
676
701
|
* set/change the current projection matrix (GPU renderers only —
|
|
677
702
|
* the Canvas renderer applies projection via the 2D context's transform stack).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/video/renderer.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/video/renderer.js"],"names":[],"mappings":"AAiDA;;;GAGG;AACH;IAghCC;;;;;;;;;;;;OAYG;IACH,2BANW,MAAM,UACN,MAAM,0BACN,OAAO,GAEL,iBAAiB,GAAC,eAAe,CAI7C;IAED;;;;;;;;;;;;OAYG;IACH,wBAFa,iBAAiB,GAAC,eAAe,CAgB7C;IA3jCD;;OAEG;IACH,sBAFW,mBAAmB,EAgW7B;IA7VA;;;OAGG;IACH,cAFU,kBAAkB,CAS3B;IAED;;;;OAIG;IACH,iBAFU,MAAM,CAEO;IAEvB;;;;OAIG;IACH,oBAFU,MAAM,CAE6C;IAE7D;;;;OAIG;IACH,YAHU,QAAQ,CAGsD;IAExE;;;;OAIG;IACH,gBAFU,OAAO,CAES;IAE1B;;;;OAIG;IACH,aAFU,MAAM,GAAC,SAAS,CAEE;IAE5B;;;;;;;OAOG;IACH,cAJU,QAAQ,GAAC,YAAY,GAAC,SAAS,CAIZ;IAE7B;;;;;;OAMG;IACH,eAJU,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAIC;IAElC;;;;;;OAMG;IACH,aAJU,MAAM,GAAC,IAAI,CAIE;IAEvB;;;;;;;OAOG;IACH,eAJU,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAID;IAElC;;;;;;;OAOG;IACH,aAJU,MAAM,EAAE,GAAC,IAAI,CAIA;IAEvB;;;;;;OAMG;IACH,gBAJU,OAAO,CAIU;IAE3B;;;;;;OAMG;IACH,mBAJU,gBAAgB,GAAC,IAAI,CAIF;IAE7B;;;OAGG;IACH,QAFU,MAAM,CAEU;IAE1B;;;;;;;;;;OAUG;IACH,MAFU,MAAM,CAEK;IAErB;;;;;OAKG;IACH,mBAFU,WAAW,GAAC,SAAS,CAEG;IAElC;;;;;;;;OAQG;IACH,0BAHU,OAAO,CAGoB;IAErC;;;;;;;;OAQG;IACH,sBALU,OAAO,CAKgB;IAEjC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,aAHU,OAAO,CAGO;IAExB;;;;;;;;;;;;OAYG;IACH,mBAHU,OAAO,CAGa;IAE9B;;;;;;OAMG;IACH,sBAHU,OAAO,CAGgB;IAEjC;;;;;;;OAOG;IACH,oBAHU,OAAO,CAGc;IAE/B;;;;;;;;;;;;;OAaG;IACH,gBAHU,MAAM,GAAC,MAAM,GAAC,IAAI,CAGF;IAE1B;;;;;;;OAOG;IACH,qBAHU,OAAO,CAGe;IAEhC;;;;;OAKG;IACH,iBAFU,KAAK,CAOd;IAED;;;;OAIG;IACH,aAFU,WAAW,CAEe;IAGpC,oBAAiD;IACjD,mBAA+C;IAC/C,4CAAqD;IAErD;;;;;;;;;OASG;IACH,WAHU,MAAM,CAGE;IAElB;;;OAGG;IACH,kBAAkB;IAGlB,2BAAsC;IAEtC;;;;OAIG;IACH,uBAAyB;IACzB,wBAAwB;IAExB;;;;;;;OAOG;IACH,sBAAkB;IAElB;;;;;;OAMG;IACH,cAJU,OAAO,CAIQ;IAEzB;;;;;;;;OAQG;IACH,kBAFU,gBAAgB,GAAC,iBAAiB,GAAC,eAAe,GAAC,WAAW,GAAC,IAAI,CAEjD;IAE5B;;;;;;;OAOG;IACH,kBAJU,MAAM,CAIS;IAEzB;;;;;;;OAOG;IACH,kBAFU,MAAM,CAES;IAU1B,4BANU,MAAM,EAQf;IATD;;OAEG;IACH,wBAFU,MAAM,CAIf;IAoBD,wBAPU,MAAM,EASf;IAhBD;;;;;;;;;OASG;IACH,oBAHU,MAAM,CAKf;IAcD,kBANa,MAAM,EAQlB;IAVD;;;OAGG;IACH,cAFa,MAAM,CAIlB;IAcD,iBANa,MAAM,EAQlB;IAVD;;;OAGG;IACH,aAFa,MAAM,CAIlB;IAMD;;;;;;;;OAQG;IACH,QAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;OAEG;IACH,cAAU;IAEV;;OAEG;IACH,cAAU;IAEV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuDG;IACH,WAVa,OAAO,CAAC,IAAI,CAAC,CAYzB;IAED;;;;;;OAMG;IACH,yBAGC;IAFA,wBAAwB;IACxB,uBAA0D;IAG3D;;;;;;;;;;;;OAYG;IACH,wBAmBC;IAED;;;;OAIG;IACH,uBAGC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,uBAXW,MAAM,eACN,QAAQ,QAGR,MAAM,UACN,MAAM,cACN,MAAM,QA0FhB;IAED;;;;;;;;;;;;OAYG;IACH,qBAJa,MAAM,CAMlB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,uBALW,MAAM,GACJ;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAgB3C;IAED;;;;;OAKG;IACH,wBAJU,MAAM,EAAE,CAMjB;IAED;;;;;OAKG;IACH,yBAJU,MAAM,CAMf;IAED;;;;;;;;;;;;OAYG;IACH,wBARW,MAAM,eACN,QAAQ,QACR,MAAM,cACN,MAAM,QAOhB;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,yBAiBC;IAED;;;;;;;;;;;OAWG;IACH,6BAgGC;IA1DA,wBAAwB;IACxB,0CAAgC;IAgC7B,wBAAwB;IACxB,kBAA+B;IA0BnC;;;OAGG;IACH,2BAEC;IAED;;;;;;;OAOG;IACH,8BAJW,MAAM,QAYhB;IAED;;;;;;OAMG;IACH,yBALW;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,QAC/B,MAAM,QAyBhB;IAED;;;;;;;;;;;;;;;;;OAiBG;IAEH,eAJW,IAAI,gBACJ,QAAQ,QAGW;IAE9B;;OAEG;IACH,cAiCC;IAED;;;;OAIG;IACH,gBAAY;IAEZ;;;OAGG;IACH,aAFa,iBAAiB,CAI7B;IAED;;;;;;;;;;OAUG;IACH,oBALW,MAAM,UACN,MAAM,0BACN,OAAO,GACL,iBAAiB,GAAC,eAAe,CAI7C;IAgDD;;;OAGG;IACH,cAFa,wBAAwB,GAAC,qBAAqB,GAAC,gBAAgB,CAI3E;IAED;;;;;;;OAOG;IACH,wCAFa,MAAM,CAYlB;IAED;;;;OAIG;IACH,sCAHW,MAAM,GACJ,OAAO,CAgBnB;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,oCANW,UAAU,WACV,MAAM,EAAE,GACN,OAAO,CAUnB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,4BAJW,UAAU,QA4BpB;IAED;;;;;;;;;OASG;IACH,4BANW,UAAU,WACV,MAAM,EAAE,GACN,OAAO,CAUnB;IAED;;;;;;;;OAQG;IACH,6BAJW,UAAU,QAcpB;IAED;;;;OAIG;IACH,yBAGC;IAED;;;;;;;;;;;;OAYG;IACH,0BALW,OAAO,GACL,YAAY,GAAC,IAAI,CAwD7B;IAED;;;;;;;;;;;OAWG;IACH,2BALW,UAAU,GACR,MAAM,EAAE,GAAC,IAAI,CAsBzB;IAED;;;;;;;;;;;OAWG;IACH,2BANW,UAAU,QACV,MAAM,GACJ,MAAM,GAAC,IAAI,CA6GvB;IAED;;;;;;;;OAQG;IACH,4BALW,UAAU,GACR,OAAO,CAenB;IAED;;;;;;;OAOG;IAEH,0BALW,UAAU,QAKO;IAE5B;;;;;;;;;;;;;OAaG;IAEH,mBAVW,YAAY,KACZ,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,UACN,YAAY,cACZ,OAAO,UACP,MAAM,QAGmD;IAEpE;;;;;;;;OAQG;IAEH,gBANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAGiB;IAElC;;;;OAIG;IACH,0BAAsB;IAEtB;;;;;;;OAOG;IAEH,iBANW,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,QAGoB;IAErC;;;OAGG;IACH,uBAAmB;IAEnB;;;;OAIG;IAEH,wBAHW,OAAO,QAGQ;IAE1B;;;OAGG;IACH,gBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,oBAFW,MAAM,QAIhB;IAED;;;;;;;;;;;;;;;OAeG;IACH,aAJW,MAAM,GAAC,IAAI,QAMrB;IAED;;;;;;;;;;;;;;;;;;OAkBG;IAEH,0BANW,QAAQ,CAAC,MAAM,CAAC,YAChB,MAAM,eACN,MAAM,eACN,MAAM,QAiBhB;IAED;;;;;;;OAOG;IACH,4BASC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IAEH,iBAJW,MAAM,QAMhB;IAED;;;;;;;;;;;;;;;;OAgBG;IAEH,wBAZW,KAAK,UACL,QAAQ,CAAC,OAAO,CAAC,KACjB,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,cACN,MAAM,eACN,MAAM,QAgBhB;IAGD;;;;;;;;;;;;OAYG;IACH,qBAHW,MAAM,QACN,IAAI,QAwCd;IAED;;;;;;;;;OASG;IACH,uBAAmB;IAEnB;;;;;OAKG;IACH,qBAAiB;IAEjB;;;;OAIG;IAEH,gBAHW,KAAK,GAAC,MAAM,GAAC,QAAQ,QAK/B;IAED;;;OAGG;IACH,YAFa,KAAK,CAIjB;IAED;;;;;;;OAOG;IACH,yBANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,QAAQ,CAIpB;IAED;;;;;;;;;OASG;IACH,yBARW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,QAAQ,CAIpB;IAED;;;;;;;;;OASG;IACH,sBARW,MAAM,EAAE,QAsBlB;IAED;;;OAGG;IACH,eAFa,MAAM,EAAE,CAIpB;IAED;;;OAGG;IACH,eAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,iBAHW,IAAI,GAAC,MAAM,GACT,OAAO,CASnB;IAED;;;;OAIG;IACH,cAHW,MAAM,UACN,MAAM,QAchB;IAED;;;OAGG;IACH,sBAFW,OAAO,QAOjB;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,4BALW,UAAU,GACR,YAAY,EAAE,CAgB1B;IAED;;;;;;;;;;;;;;OAcG;IACH,gCANW,UAAU,WACV,YAAY,EAAE,GACZ,MAAM,CAMlB;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,uBAJW,UAAU,QAwBpB;IAdC;;;;;OAKG;IACH,wCAA2B;IAU7B;;;;;;;OAOG;IACH,mBANW,OAAO,GAEL,OAAO,CAAC,IAAI,CAAC,EAAE,CA6C3B;IAxBA,gCAAqC;IA0BtC;;;;;;;;OAQG;IACH,+BAJa,OAAO,CAAC,IAAI,CAAC,EAAE,CAO3B;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,eALa,OAAO,CAAC,IAAI,CAAC,GAAC,SAAS,CAiBnC;IAED;;;;;;;;;;;;;OAaG;IACH,iCAkBC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,kBAJa,OAAO,EAAE,CAsBrB;IAED;;;;;;;OAOG;IACH,4BAJW,UAAU,QAwBpB;IAED;;;;;;OAMG;IAEH,6BALW,UAAU,QAKU;IAE/B;;;;;;;OAOG;IAEH,sBALW,UAAU,QAKG;IAExB;;;;;;OAMG;IACH,2BAAuB;IAEvB;;;;;;;;;;OAUG;IACH,6BALW,UAAU,GACR,OAAO,CAUnB;IAED;;;;;OAKG;IACH,qBAAiB;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,sBAfW,MAAM,GAAC,MAAM,GAAC,UAAU,GAAC,aAAa,YAE9C;QAAyB,QAAQ;QACR,KAAK;KAC9B,QA2CF;IAED;;;;;;;;OAQG;IACH,4BA2BC;IAlBC;;;OAGG;IACH,8CAA+B;IAgBjC;;;;;;;;OAQG;IACH,sBAFW,OAAO,QAIjB;IAED;;;;;;;;;;;;;;;OAeG;IACH,gBARW,OAAO,QAUjB;IAED;;;;;;;;;;;;OAYG;IACH,2BAFa,QAAQ,GAAC,SAAS,CAa9B;IAED;;;;;;;;;;;;OAYG;IACH,sBALW,MAAM,GACJ,OAAO,CAanB;IAED;;;;;;;;;;;OAWG;IACH,wBAPW,MAAM,GAAC,SAAS,GAAC,QAAQ,GAAC,eAAe,QASnD;IAED;;;;OAIG;IACH,sBAFW,QAAQ,QAIlB;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,mBARW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,QACN,MAAM,GAEJ,OAAO,CA6BnB;IAED;;;;;;;OAOG;IACH,kBAFa,OAAO,CAWnB;IAED;;;;OAIG;IACH,uBAFW,OAAO,QAcjB;IAED;;;;OAIG;IACH,eAHW,IAAI,GAAC,SAAS,GAAC,OAAO,GAAC,IAAI,GAAC,OAAO,GAAC,MAAM,GAAC,KAAK,GAAC,MAAM,SACvD,OAAO,QA2HjB;IAED;;;OAGG;IACH,aAFW,IAAI,GAAC,SAAS,GAAC,OAAO,GAAC,IAAI,GAAC,OAAO,GAAC,MAAM,GAAC,KAAK,GAAC,MAAM,QAIjE;IAED;;;;;;OAMG;IACH,UALW,gBAAgB,GAAC,iBAAiB,GAAC,eAAe,SAClD,KAAK,GAAC,MAAM,SACZ,MAAM,GACJ,iBAAiB,GAAC,eAAe,CAyB7C;IAED;;;;;;;OAOG;IAEH,YANW,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,QAGe;IAEhC;;;OAGG;IACH,uBAAmB;IAEnB;;;OAGG;IACH,aAAS;IAET;;;;OAIG;IACH,gBAAY;IAEZ;;;;OAIG;IAEH,aAJW,MAAM,KACN,MAAM,QAGC;IAElB;;;OAGG;IAEH,cAHW,MAAM,QAGD;IAEhB;;;;OAIG;IAEH,SAJW,MAAM,KACN,MAAM,QAGH;IAEd;;;;OAIG;IAEH,sBAHW,MAAM,QAGO;IAExB;;;;;;;OAOG;IAEH,YANW,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,QAGe;IAEhC;;;;;;;;OAQG;IAEH,cAPW,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,SACN,OAAO,QAGsB;IAExC;;;;;;;OAOG;IAEH,eANW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,QAGS;IAE1B;;;;;;;;OAQG;IAEH,iBAPW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,SACN,OAAO,QAGgB;IAElC;;;;;;;OAOG;IAEH,mBANW,MAAM,UACN,MAAM,QACN,MAAM,QACN,MAAM,QAGwB;IAEzC;;;;;;;;;;;;;;;;;;OAkBG;IAEH,iBAXW,gBAAgB,GAAC,eAAe,GAAC,gBAAgB,GAAC,iBAAiB,GAAC,WAAW,GAAC,eAAe,GAAC,UAAU,MAC1G,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAGkC;IAEnD;;;;;;OAMG;IAEH,eAJW,IAAI,GAAC,SAAS,GAAC,OAAO,GAAC,IAAI,GAAC,OAAO,WACnC,OAAO,QAGM;IAExB;;;OAGG;IACH,kBAAc;IAEd;;;;OAIG;IACH,cAHW,KAAK,UACL,MAAM,QAMhB;IAED;;;OAGG;IACH,kBAGC;IAED;;;;;;;;;;;;;;;OAeG;IACH,gBAHW,MAAM,QAgBhB;IAED;;;;;;;OAOG;IACH,cANW,MAAM,YACN,MAAM,gBAOhB;IAED;;;;;;;;OAQG;IACH,qBANW,MAAM,YACN,MAAM,gBAOhB;IAED;;;;;;;OAOG;IACH,iBANW,MAAM,YACN,MAAM,gBAOhB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IAEH,yBAnBG;QAAiC,MAAM;QAIwC,MAAM;eAAlE,MAAM;eAAK,MAAM;mBAAS,MAAM;oBAAU,MAAM;;KAMnE,GAAU,SAAS,GAAC,IAAI,CAW1B;CACD;;;;;+BAz/F8B,sCAAsC;yBAT5C,qBAAqB;8BAsBjB,2BAA2B;kCALvB,sCAAsC;mBArBpD,2BAA2B;6BAsBlB,+BAA+B;sBApBrC,oBAAoB;wBAUlB,kBAAkB;yBATjB,qBAAqB;sBAsBzB,uBAAuB;0BAMrB,8BAA8B;yBApB5B,eAAe;4BAyBf,wBAAwB;8BA1BP,sBAAsB;+BAsBpC,8BAA8B;6BAChC,0BAA0B;0BAC7B,yBAAyB;6BACtB,4BAA4B;2BAX9B,wBAAwB;4BAGvB,yBAAyB;0CAUX,wBAAwB;yCAdzB,4BAA4B"}
|