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.
Files changed (214) hide show
  1. package/README.md +4 -5
  2. package/build/application/application.d.ts.map +1 -1
  3. package/build/application/defaultApplicationSettings.d.ts +1 -0
  4. package/build/application/defaultApplicationSettings.d.ts.map +1 -1
  5. package/build/application/settings.d.ts +54 -3
  6. package/build/application/settings.d.ts.map +1 -1
  7. package/build/audio/audio.d.ts +14 -4
  8. package/build/audio/audio.d.ts.map +1 -1
  9. package/build/audio/backend/sound.d.ts.map +1 -1
  10. package/build/audio/playback.d.ts.map +1 -1
  11. package/build/audio/spatial.d.ts +13 -2
  12. package/build/audio/spatial.d.ts.map +1 -1
  13. package/build/audio/types.d.ts +44 -4
  14. package/build/audio/types.d.ts.map +1 -1
  15. package/build/camera/camera2d.d.ts +48 -4
  16. package/build/camera/camera2d.d.ts.map +1 -1
  17. package/build/camera/camera3d.d.ts.map +1 -1
  18. package/build/camera/effects/pixelate_transition_effect.d.ts +67 -0
  19. package/build/camera/effects/pixelate_transition_effect.d.ts.map +1 -0
  20. package/build/camera/effects/shake_effect.d.ts +3 -1
  21. package/build/camera/effects/shake_effect.d.ts.map +1 -1
  22. package/build/geometries/ellipse.d.ts +8 -4
  23. package/build/geometries/ellipse.d.ts.map +1 -1
  24. package/build/geometries/line.d.ts +2 -2
  25. package/build/geometries/line.d.ts.map +1 -1
  26. package/build/geometries/polygon.d.ts +3 -3
  27. package/build/geometries/polygon.d.ts.map +1 -1
  28. package/build/geometries/rectangle.d.ts +2 -2
  29. package/build/geometries/rectangle.d.ts.map +1 -1
  30. package/build/geometries/roundrect.d.ts +2 -2
  31. package/build/geometries/roundrect.d.ts.map +1 -1
  32. package/build/index.d.ts +5 -2
  33. package/build/index.d.ts.map +1 -1
  34. package/build/index.js +9944 -6234
  35. package/build/index.js.map +4 -4
  36. package/build/input/gamepad.d.ts.map +1 -1
  37. package/build/input/pointerevent.d.ts.map +1 -1
  38. package/build/lang/console.d.ts +16 -1
  39. package/build/lang/console.d.ts.map +1 -1
  40. package/build/level/tiled/TMXLayer.d.ts +1 -1
  41. package/build/level/tiled/TMXLayer.d.ts.map +1 -1
  42. package/build/level/tiled/TMXObject.d.ts +196 -1
  43. package/build/level/tiled/TMXObject.d.ts.map +1 -1
  44. package/build/level/tiled/TMXObjectFactory.d.ts +18 -5
  45. package/build/level/tiled/TMXObjectFactory.d.ts.map +1 -1
  46. package/build/level/tiled/TMXTile.d.ts.map +1 -1
  47. package/build/level/tiled/TMXTileMap.d.ts.map +1 -1
  48. package/build/level/tiled/TMXTileset.d.ts +17 -1
  49. package/build/level/tiled/TMXTileset.d.ts.map +1 -1
  50. package/build/level/tiled/TMXUtils.d.ts.map +1 -1
  51. package/build/level/tiled/factories/shape.d.ts.map +1 -1
  52. package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -1
  53. package/build/level/tiled/renderer/TMXObliqueRenderer.d.ts.map +1 -1
  54. package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts.map +1 -1
  55. package/build/level/tiled/renderer/TMXRenderer.d.ts.map +1 -1
  56. package/build/lighting/light2d.d.ts +30 -0
  57. package/build/lighting/light2d.d.ts.map +1 -1
  58. package/build/loader/loadingscreen.d.ts.map +1 -1
  59. package/build/math/matrix2d.d.ts +3 -2
  60. package/build/math/matrix2d.d.ts.map +1 -1
  61. package/build/math/matrix3d.d.ts +4 -1
  62. package/build/math/matrix3d.d.ts.map +1 -1
  63. package/build/particles/emitter.d.ts.map +1 -1
  64. package/build/particles/particle.d.ts.map +1 -1
  65. package/build/particles/settings.d.ts +25 -0
  66. package/build/particles/settings.d.ts.map +1 -1
  67. package/build/physics/bounds.d.ts +5 -5
  68. package/build/physics/bounds.d.ts.map +1 -1
  69. package/build/physics/builtin/body.d.ts +1 -0
  70. package/build/physics/builtin/body.d.ts.map +1 -1
  71. package/build/physics/builtin/builtin-adapter.d.ts.map +1 -1
  72. package/build/physics/builtin/detector.d.ts.map +1 -1
  73. package/build/physics/builtin/raycast.d.ts.map +1 -1
  74. package/build/physics/builtin/sat.d.ts +40 -1
  75. package/build/physics/builtin/sat.d.ts.map +1 -1
  76. package/build/renderable/animation.d.ts +16 -2
  77. package/build/renderable/animation.d.ts.map +1 -1
  78. package/build/renderable/colorlayer.d.ts.map +1 -1
  79. package/build/renderable/container.d.ts +22 -2
  80. package/build/renderable/container.d.ts.map +1 -1
  81. package/build/renderable/entity/entity.d.ts.map +1 -1
  82. package/build/renderable/frameAnimation.d.ts.map +1 -1
  83. package/build/renderable/imagelayer.d.ts.map +1 -1
  84. package/build/renderable/instanced_mesh.d.ts.map +1 -1
  85. package/build/renderable/mesh.d.ts.map +1 -1
  86. package/build/renderable/renderable.d.ts +69 -1
  87. package/build/renderable/renderable.d.ts.map +1 -1
  88. package/build/renderable/sprite.d.ts +23 -7
  89. package/build/renderable/sprite.d.ts.map +1 -1
  90. package/build/renderable/sprite3d.d.ts +5 -3
  91. package/build/renderable/sprite3d.d.ts.map +1 -1
  92. package/build/renderable/text/text.d.ts.map +1 -1
  93. package/build/renderable/trail3d.d.ts.map +1 -1
  94. package/build/renderable/ui/uipanel.d.ts +3 -3
  95. package/build/renderable/ui/uipanel.d.ts.map +1 -1
  96. package/build/state/stage.d.ts +12 -4
  97. package/build/state/stage.d.ts.map +1 -1
  98. package/build/state/state.d.ts +31 -6
  99. package/build/state/state.d.ts.map +1 -1
  100. package/build/system/legacy_pool.d.ts.map +1 -1
  101. package/build/system/timer.d.ts +1 -0
  102. package/build/system/timer.d.ts.map +1 -1
  103. package/build/utils/fetchdata.d.ts.map +1 -1
  104. package/build/video/buffer/vertex.d.ts.map +1 -1
  105. package/build/video/canvas/canvas_renderer.d.ts +8 -7
  106. package/build/video/canvas/canvas_renderer.d.ts.map +1 -1
  107. package/build/video/effects/ambientlight.d.ts +2 -0
  108. package/build/video/effects/ambientlight.d.ts.map +1 -0
  109. package/build/video/effects/bloom.d.ts +8 -9
  110. package/build/video/effects/bloom.d.ts.map +1 -1
  111. package/build/video/effects/blur.d.ts +3 -2
  112. package/build/video/effects/blur.d.ts.map +1 -1
  113. package/build/video/effects/chromaticAberration.d.ts +3 -2
  114. package/build/video/effects/chromaticAberration.d.ts.map +1 -1
  115. package/build/video/effects/dissolve.d.ts +5 -2
  116. package/build/video/effects/dissolve.d.ts.map +1 -1
  117. package/build/video/effects/dropShadow.d.ts +15 -3
  118. package/build/video/effects/dropShadow.d.ts.map +1 -1
  119. package/build/video/effects/flash.d.ts +6 -2
  120. package/build/video/effects/flash.d.ts.map +1 -1
  121. package/build/video/effects/frame.d.ts +48 -0
  122. package/build/video/effects/frame.d.ts.map +1 -0
  123. package/build/video/effects/glow.d.ts +8 -4
  124. package/build/video/effects/glow.d.ts.map +1 -1
  125. package/build/video/effects/glsl_realization.d.ts.map +1 -1
  126. package/build/video/effects/hologram.d.ts +5 -2
  127. package/build/video/effects/hologram.d.ts.map +1 -1
  128. package/build/video/effects/local_space.d.ts +19 -0
  129. package/build/video/effects/local_space.d.ts.map +1 -0
  130. package/build/video/effects/mesh_splice.d.ts.map +1 -1
  131. package/build/video/effects/outline.d.ts +8 -4
  132. package/build/video/effects/outline.d.ts.map +1 -1
  133. package/build/video/effects/pixelate.d.ts +3 -2
  134. package/build/video/effects/pixelate.d.ts.map +1 -1
  135. package/build/video/effects/radialGradient.d.ts +13 -16
  136. package/build/video/effects/radialGradient.d.ts.map +1 -1
  137. package/build/video/effects/rgba.d.ts +2 -0
  138. package/build/video/effects/rgba.d.ts.map +1 -0
  139. package/build/video/effects/scanline.d.ts.map +1 -1
  140. package/build/video/effects/shadereffect.d.ts +13 -0
  141. package/build/video/effects/shadereffect.d.ts.map +1 -1
  142. package/build/video/effects/shine.d.ts +10 -2
  143. package/build/video/effects/shine.d.ts.map +1 -1
  144. package/build/video/effects/squish.d.ts.map +1 -1
  145. package/build/video/effects/sway.d.ts +69 -0
  146. package/build/video/effects/sway.d.ts.map +1 -0
  147. package/build/video/effects/tintPulse.d.ts +5 -2
  148. package/build/video/effects/tintPulse.d.ts.map +1 -1
  149. package/build/video/effects/vignette.d.ts.map +1 -1
  150. package/build/video/effects/wave.d.ts +21 -2
  151. package/build/video/effects/wave.d.ts.map +1 -1
  152. package/build/video/effects/wgsl/parse.d.ts.map +1 -1
  153. package/build/video/effects/wgsl/scaffold.d.ts.map +1 -1
  154. package/build/video/effects/wgsl_realization.d.ts.map +1 -1
  155. package/build/video/gpu/frame.d.ts +2 -0
  156. package/build/video/gpu/frame.d.ts.map +1 -0
  157. package/build/video/renderer.d.ts +37 -12
  158. package/build/video/renderer.d.ts.map +1 -1
  159. package/build/video/rendertarget/canvasrendertarget.d.ts +14 -4
  160. package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -1
  161. package/build/video/rendertarget/rendertarget.d.ts +12 -16
  162. package/build/video/rendertarget/rendertarget.d.ts.map +1 -1
  163. package/build/video/rendertarget/webgpurendertarget.d.ts +1 -0
  164. package/build/video/rendertarget/webgpurendertarget.d.ts.map +1 -1
  165. package/build/video/texture/atlas.d.ts +47 -28
  166. package/build/video/texture/atlas.d.ts.map +1 -1
  167. package/build/video/texture/cache.d.ts.map +1 -1
  168. package/build/video/utils/pixel_snap.d.ts +44 -0
  169. package/build/video/utils/pixel_snap.d.ts.map +1 -0
  170. package/build/video/webgl/batchers/batcher.d.ts.map +1 -1
  171. package/build/video/webgl/batchers/lit_quad_batcher.d.ts.map +1 -1
  172. package/build/video/webgl/batchers/material_batcher.d.ts.map +1 -1
  173. package/build/video/webgl/batchers/mesh_batcher.d.ts.map +1 -1
  174. package/build/video/webgl/batchers/quad_batcher.d.ts +2 -1
  175. package/build/video/webgl/batchers/quad_batcher.d.ts.map +1 -1
  176. package/build/video/webgl/glshader.d.ts.map +1 -1
  177. package/build/video/webgl/renderers/tmxlayer/orthogonal.d.ts.map +1 -1
  178. package/build/video/webgl/shaders/frameclamp.d.ts +2 -0
  179. package/build/video/webgl/shaders/frameclamp.d.ts.map +1 -0
  180. package/build/video/webgl/shaders/multitexture-lit.d.ts.map +1 -1
  181. package/build/video/webgl/shaders/multitexture.d.ts.map +1 -1
  182. package/build/video/webgl/utils/uniforms.d.ts.map +1 -1
  183. package/build/video/webgl/webgl_renderer.d.ts +0 -21
  184. package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
  185. package/build/video/webgpu/batchers/lit_quad_batcher.d.ts +2 -1
  186. package/build/video/webgpu/batchers/lit_quad_batcher.d.ts.map +1 -1
  187. package/build/video/webgpu/batchers/mesh_batcher.d.ts +0 -1
  188. package/build/video/webgpu/batchers/mesh_batcher.d.ts.map +1 -1
  189. package/build/video/webgpu/batchers/quad_batcher.d.ts +2 -2
  190. package/build/video/webgpu/batchers/quad_batcher.d.ts.map +1 -1
  191. package/build/video/webgpu/buffer/uniformring.d.ts.map +1 -1
  192. package/build/video/webgpu/effect_binding.d.ts.map +1 -1
  193. package/build/video/webgpu/renderers/tmxlayer/orthogonal.d.ts.map +1 -1
  194. package/build/video/webgpu/webgpu_renderer.d.ts +3 -4
  195. package/build/video/webgpu/webgpu_renderer.d.ts.map +1 -1
  196. package/package.json +21 -19
  197. package/skills/AGENTS.md +2 -1
  198. package/skills/melonjs/SKILL.md +1 -0
  199. package/skills/melonjs-audio/SKILL.md +47 -5
  200. package/skills/melonjs-camera-and-drawing/SKILL.md +63 -1
  201. package/skills/melonjs-display-and-scaling/SKILL.md +117 -7
  202. package/skills/melonjs-effects-and-shaders/SKILL.md +136 -19
  203. package/skills/melonjs-input/SKILL.md +24 -2
  204. package/skills/melonjs-lighting/SKILL.md +43 -8
  205. package/skills/melonjs-loading-assets/SKILL.md +4 -3
  206. package/skills/melonjs-math/SKILL.md +21 -1
  207. package/skills/melonjs-particles-and-trails/SKILL.md +36 -2
  208. package/skills/melonjs-performance/SKILL.md +4 -0
  209. package/skills/melonjs-plugins/SKILL.md +20 -1
  210. package/skills/melonjs-renderables/SKILL.md +46 -6
  211. package/skills/melonjs-renderer-backends/SKILL.md +2 -2
  212. package/skills/melonjs-scenes-and-state/SKILL.md +17 -2
  213. package/skills/melonjs-sprites-and-animation/SKILL.md +19 -3
  214. 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":"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
+ {"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] - texture dimensions [width, height] (defaults to renderer size)
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
- * set the texture size for accurate outline width calculation
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":"AAyCA;;;;;;;;;;;;;;;;GAgBG;AACH;IACC;;;;;;OAMG;IACH,sBANW,QAAQ,YAEhB;QAA2B,KAAK;QACP,KAAK;QACH,WAAW;KACxC,EAsCA;IAED;;;OAGG;IACH,gBAFW,MAAM,EAAE,QAIlB;IAED;;;OAGG;IACH,gBAFW,MAAM,QAIhB;IAED;;;;OAIG;IACH,sBAHW,MAAM,UACN,MAAM,QAIhB;CACD;yBAjIwB,mBAAmB;0BAOnB,gBAAgB"}
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=[256, 256]] - texture dimensions [width, height]
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
- * set the texture size
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":"AAyBA;;;;;;;;;;;GAWG;AACH;IACC;;;;;OAKG;IACH,sBALW,QAAQ,YAEhB;QAAyB,IAAI;QACF,WAAW;KACxC,EAoBA;IALA,aAA+B;IAOhC;;;OAGG;IACH,cAFW,MAAM,QAKhB;IAED;;;;OAIG;IACH,sBAHW,MAAM,UACN,MAAM,QAIhB;CACD;yBAlFwB,mBAAmB;0BAOnB,gBAAgB"}
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
- * **UV-space caveat.** The `apply(color, uv)` function receives
16
- * `vRegion` — the atlas UVs of the host quad. The falloff math
17
- * (`length(uv * 2 - 1)`) assumes those UVs span `[0, 1] × [0, 1]`,
18
- * which is true when the quad samples a full-rect texture (a
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. RGB only — alpha is ignored (the radial
94
- * falloff supplies the per-pixel alpha).
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH;IACC;;;;;OAKG;IACH,sBALW,QAAQ,YAEhB;QAAwB,KAAK;QACJ,SAAS;KACpC,EA+DA;IAhBA;;;OAGG;IACH,qCAAoC;IAcrC;;;;OAIG;IACH,gBAFW,KAAK,QAOf;IAED;;;;OAIG;IACH,wBAFW,MAAM,QAIhB;CACD;yBA9KwB,mBAAmB;2BAIlB,qBAAqB;0BAKtB,gBAAgB"}
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,2 @@
1
+
2
+ //# sourceMappingURL=rgba.d.ts.map
@@ -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":"AAiDA;;;;;;;;;;;;;;;GAeG;AACH;IACC;;;;;;OAMG;IACH,sBANW,QAAQ,YAEhB;QAAyB,OAAO;QACP,SAAS;QACT,gBAAgB;KAC3C,EAyCA;IAED;;;OAGG;IACH,oBAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,wBAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,8BAFW,MAAM,QAIhB;CACD;yBA1IwB,mBAAmB;0BAOnB,gBAAgB"}
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":"AAwJA;IAiCC;;;;;;;;;;;;;;;;;;OAkBG;IACH,sBAlBW,QAAQ,QACR,MAAM,GAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,cAerC,MAAM,EAgLhB;IAjOD;;;;;;OAMG;IACH,SAFU,OAAO,CAED;IAEhB;;;;;;;OAOG;IACH,oBAHU,OAAO,CAGC;IAElB;;;;;;;;;;OAUG;IACH,QAHU,OAAO,CAGF;IAsBd;;;;;;;OAOG;IACH,oBAAyB;IAEzB;;;;;;OAMG;IACH;eAnCyB,MAAM;eAAS,MAAM;MAmCrB;IACzB;;;OAGG;IACH,+BAA2B;IAE3B;;;;;;;;;;;;OAYG;IACH,cAJU;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC,CAIE;IAoBlC;;;;;;;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;0BAriCwB,gBAAgB;qBATpB,sBAAsB;kCAET,uBAAuB;sBAHnC,yBAAyB"}
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":"AAkDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH;IACC;;;;;;;;;;;OAWG;IACH,sBAXW,QAAQ,YAEhB;QAA2B,KAAK;QACP,KAAK;QACL,KAAK;QACL,SAAS;QACT,KAAK;QACL,KAAK;QACL,UAAU;QACV,UAAU;KACrC,EAgEA;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;yBAnMwB,mBAAmB;0BAOnB,gBAAgB"}
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":"AAoCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH;IACC;;;;OAIG;IACH,sBAJW,QAAQ,YAEhB;QAAyB,KAAK;KAChC,EA6CA;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;yBA5LwB,mBAAmB;0BAOnB,gBAAgB"}
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":"AA0BA;;;;;;;;;;;;;;;;GAgBG;AACH;IACC;;;;;;OAMG;IACH,sBANW,QAAQ,YAEhB;QAA2B,KAAK;QACP,KAAK;QACL,SAAS;KACpC,EAqBA;IAED;;;OAGG;IACH,gBAFW,MAAM,EAAE,QAIlB;CACD;yBAhFwB,mBAAmB;0BAOnB,gBAAgB"}
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":"AAoCA;;;;;;;;;;;;;;;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;yBAtFwB,mBAAmB;0BAOnB,gBAAgB"}
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 (in UV space, 0.01 = subtle)
18
- * @param {number} [options.frequency=10.0] - number of waves across the sprite
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":"AA2BA;;;;;;;;;;;GAWG;AACH;IACC;;;;;;OAMG;IACH,sBANW,QAAQ,YAEhB;QAAyB,SAAS;QACT,SAAS;QACT,KAAK;KAChC,EAqBA;IAED;;;OAGG;IACH,wBAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,wBAFW,MAAM,QAIhB;CACD;yBApFwB,mBAAmB;0BAOnB,gBAAgB"}
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":"AAwHA;;;;;;;GAOG;AACH,oCANW,MAAM,GACJ,MAAM,CAsKlB"}
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":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;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,CA2BxG;AAED;;;;;;;;GAQG;AACH,sCAPW,MAAM,UACN,MAAM,GACJ;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CA0G5C"}
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":"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"}
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,2 @@
1
+
2
+ //# sourceMappingURL=frame.d.ts.map
@@ -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 uploaded to the lit batcher
225
- * for the current frame. Set by `setLightUniforms`. The WebGL
226
- * renderer's `drawImage` reads this to decide between the unlit
227
- * fast-path batcher (default) and the lit batcher (only when
228
- * lights AND a normal map are both in play).
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
- setLightUniforms(lights: any, ambient: any, translateX: any, translateY: any): void;
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
- * falling back to the `antiAlias` setting when it's `"auto"` (the default).
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":"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"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/video/renderer.js"],"names":[],"mappings":"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"}