melonjs 19.3.0 → 19.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/README.md +19 -2
  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 +37 -2
  6. package/build/application/settings.d.ts.map +1 -1
  7. package/build/audio/audio.d.ts +77 -253
  8. package/build/audio/audio.d.ts.map +1 -1
  9. package/build/audio/backend.d.ts +121 -0
  10. package/build/audio/backend.d.ts.map +1 -0
  11. package/build/audio/playback.d.ts +157 -0
  12. package/build/audio/playback.d.ts.map +1 -0
  13. package/build/audio/procedural.d.ts +105 -0
  14. package/build/audio/procedural.d.ts.map +1 -0
  15. package/build/audio/types.d.ts +205 -0
  16. package/build/audio/types.d.ts.map +1 -0
  17. package/build/index.d.ts +6 -3
  18. package/build/index.d.ts.map +1 -1
  19. package/build/index.js +3334 -498
  20. package/build/index.js.map +4 -4
  21. package/build/input/pointerevent.d.ts.map +1 -1
  22. package/build/level/tiled/TMXLayer.d.ts +72 -5
  23. package/build/level/tiled/TMXLayer.d.ts.map +1 -1
  24. package/build/level/tiled/TMXTile.d.ts +19 -1
  25. package/build/level/tiled/TMXTile.d.ts.map +1 -1
  26. package/build/level/tiled/TMXTileMap.d.ts.map +1 -1
  27. package/build/level/tiled/TMXTileset.d.ts +27 -0
  28. package/build/level/tiled/TMXTileset.d.ts.map +1 -1
  29. package/build/level/tiled/factories/shape.d.ts +1 -1
  30. package/build/level/tiled/factories/shape.d.ts.map +1 -1
  31. package/build/level/tiled/factories/tile.d.ts.map +1 -1
  32. package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts +7 -1
  33. package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts.map +1 -1
  34. package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts +7 -1
  35. package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -1
  36. package/build/level/tiled/renderer/TMXObliqueRenderer.d.ts.map +1 -1
  37. package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +7 -1
  38. package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts.map +1 -1
  39. package/build/loader/loader.d.ts +2 -2
  40. package/build/loader/loader.d.ts.map +1 -1
  41. package/build/loader/parsers/aseprite.d.ts +37 -0
  42. package/build/loader/parsers/aseprite.d.ts.map +1 -0
  43. package/build/physics/adapter.d.ts +560 -0
  44. package/build/physics/adapter.d.ts.map +1 -0
  45. package/build/physics/bounds.d.ts +18 -5
  46. package/build/physics/bounds.d.ts.map +1 -1
  47. package/build/physics/builtin/body.d.ts +605 -0
  48. package/build/physics/builtin/body.d.ts.map +1 -0
  49. package/build/physics/builtin/builtin-adapter.d.ts +91 -0
  50. package/build/physics/builtin/builtin-adapter.d.ts.map +1 -0
  51. package/build/physics/builtin/detector.d.ts +167 -0
  52. package/build/physics/builtin/detector.d.ts.map +1 -0
  53. package/build/physics/builtin/quadtree.d.ts +112 -0
  54. package/build/physics/builtin/quadtree.d.ts.map +1 -0
  55. package/build/physics/builtin/raycast.d.ts +4 -0
  56. package/build/physics/builtin/raycast.d.ts.map +1 -0
  57. package/build/physics/{sat.d.ts → builtin/sat.d.ts} +7 -7
  58. package/build/physics/builtin/sat.d.ts.map +1 -0
  59. package/build/physics/world.d.ts +77 -26
  60. package/build/physics/world.d.ts.map +1 -1
  61. package/build/renderable/collectable.d.ts +7 -1
  62. package/build/renderable/collectable.d.ts.map +1 -1
  63. package/build/renderable/container.d.ts +0 -13
  64. package/build/renderable/container.d.ts.map +1 -1
  65. package/build/renderable/imagelayer.d.ts.map +1 -1
  66. package/build/renderable/renderable.d.ts +78 -17
  67. package/build/renderable/renderable.d.ts.map +1 -1
  68. package/build/renderable/trigger.d.ts +14 -1
  69. package/build/renderable/trigger.d.ts.map +1 -1
  70. package/build/renderable/ui/uispriteelement.d.ts.map +1 -1
  71. package/build/system/timer.d.ts +0 -5
  72. package/build/system/timer.d.ts.map +1 -1
  73. package/build/utils/function.d.ts +1 -1
  74. package/build/utils/function.d.ts.map +1 -1
  75. package/build/video/canvas/canvas_renderer.d.ts +0 -130
  76. package/build/video/canvas/canvas_renderer.d.ts.map +1 -1
  77. package/build/video/renderer.d.ts +126 -1
  78. package/build/video/renderer.d.ts.map +1 -1
  79. package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -1
  80. package/build/video/texture/cache.d.ts.map +1 -1
  81. package/build/video/texture/resource.d.ts +113 -0
  82. package/build/video/texture/resource.d.ts.map +1 -0
  83. package/build/video/webgl/batchers/material_batcher.d.ts +8 -1
  84. package/build/video/webgl/batchers/material_batcher.d.ts.map +1 -1
  85. package/build/video/webgl/effects/shine.d.ts +87 -0
  86. package/build/video/webgl/effects/shine.d.ts.map +1 -0
  87. package/build/video/webgl/renderers/tmxlayer/orthogonal.d.ts +108 -0
  88. package/build/video/webgl/renderers/tmxlayer/orthogonal.d.ts.map +1 -0
  89. package/build/video/webgl/utils/attributes.d.ts +7 -0
  90. package/build/video/webgl/utils/attributes.d.ts.map +1 -1
  91. package/build/video/webgl/utils/precision.d.ts +1 -1
  92. package/build/video/webgl/utils/precision.d.ts.map +1 -1
  93. package/build/video/webgl/utils/uniforms.d.ts +13 -0
  94. package/build/video/webgl/utils/uniforms.d.ts.map +1 -1
  95. package/build/video/webgl/webgl_renderer.d.ts +19 -106
  96. package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
  97. package/package.json +1 -1
  98. package/build/physics/body.d.ts +0 -351
  99. package/build/physics/body.d.ts.map +0 -1
  100. package/build/physics/detector.d.ts +0 -72
  101. package/build/physics/detector.d.ts.map +0 -1
  102. package/build/physics/quadtree.d.ts +0 -69
  103. package/build/physics/quadtree.d.ts.map +0 -1
  104. package/build/physics/sat.d.ts.map +0 -1
@@ -0,0 +1,113 @@
1
+ /**
2
+ * A texture data source that knows how to upload itself to a WebGL
3
+ * texture. Subclasses provide the actual upload logic for their kind
4
+ * of source (raw buffer, image, compressed data, etc.).
5
+ *
6
+ * Resources flow through the same `TextureCache` / batcher machinery
7
+ * as image-backed `TextureAtlas` instances: they expose the minimal
8
+ * shape (`sources`, `activeAtlas`, `getTexture()`, plus `width` /
9
+ * `height` / `premultipliedAlpha` / `repeat` / `filter`) the cache
10
+ * uses for unit allocation and the batcher uses for `boundTextures`
11
+ * bookkeeping. The cache therefore owns every `gl.bindTexture` call,
12
+ * which keeps the JS-side binding state in lockstep with the actual
13
+ * GL state across all texture kinds — image atlases included.
14
+ *
15
+ * Subclasses MUST implement `upload(gl, target)`. The framework calls
16
+ * it once per texture on first use (and again on forced re-upload via
17
+ * `batcher.uploadTexture(resource, w, h, true)`).
18
+ *
19
+ * @category Rendering
20
+ */
21
+ export class TextureResource {
22
+ /**
23
+ * @param {object} options
24
+ * @param {number} options.width - pixel width of the texture
25
+ * @param {number} options.height - pixel height of the texture
26
+ * @param {boolean} [options.premultipliedAlpha=false]
27
+ * @param {string} [options.repeat="no-repeat"] - "no-repeat" | "repeat" | "repeat-x" | "repeat-y"
28
+ * @param {number} [options.filter] - `gl.NEAREST` or `gl.LINEAR`; when
29
+ * omitted the batcher falls back to the renderer's `antiAlias` setting
30
+ */
31
+ constructor({ width, height, premultipliedAlpha, repeat, filter, }?: {
32
+ width: number;
33
+ height: number;
34
+ premultipliedAlpha?: boolean | undefined;
35
+ repeat?: string | undefined;
36
+ filter?: number | undefined;
37
+ });
38
+ /** @type {number} */
39
+ width: number;
40
+ /** @type {number} */
41
+ height: number;
42
+ /** @type {boolean} */
43
+ premultipliedAlpha: boolean;
44
+ /** @type {string} */
45
+ repeat: string;
46
+ /** @type {number|undefined} */
47
+ filter: number | undefined;
48
+ sources: Map<string, this>;
49
+ activeAtlas: string;
50
+ /**
51
+ * Returns the upload "source" the batcher hands to `createTexture2D`.
52
+ * For a resource this is the resource itself — `createTexture2D`
53
+ * dispatches to `resource.upload(gl, target)`.
54
+ * @ignore
55
+ */
56
+ getTexture(): this;
57
+ /**
58
+ * Issue the `gl.texImage2D` (or equivalent) call that uploads this
59
+ * resource's data into the currently-bound `TEXTURE_2D` slot.
60
+ * Subclasses MUST override.
61
+ * @abstract
62
+ * @param {WebGLRenderingContext|WebGL2RenderingContext} gl
63
+ * @param {number} target - `gl.TEXTURE_2D` (or future cube-map targets)
64
+ */
65
+ upload(gl: WebGLRenderingContext | WebGL2RenderingContext, target: number): void;
66
+ }
67
+ /**
68
+ * A texture sourced from a raw byte buffer. Used for synthesized
69
+ * textures (TMX layer GID index, font atlases, color LUTs, signed-
70
+ * distance fields, palette tables, etc.) — any case where the texture
71
+ * data isn't an image file.
72
+ *
73
+ * The buffer is uploaded as-is; the resource's `premultipliedAlpha`
74
+ * flag is applied at upload time so a raw-data texture (typical:
75
+ * `premultipliedAlpha = false`) doesn't get its RGB wiped by the
76
+ * driver when the alpha channel is zero.
77
+ *
78
+ * @category Rendering
79
+ */
80
+ export class BufferTextureResource extends TextureResource {
81
+ /**
82
+ * @param {ArrayBufferView} data - the pixel data; size must be
83
+ * `width * height * 4` bytes for the default RGBA / UNSIGNED_BYTE
84
+ * format
85
+ * @param {object} options
86
+ * @param {number} options.width
87
+ * @param {number} options.height
88
+ * @param {boolean} [options.premultipliedAlpha=false]
89
+ * @param {string} [options.repeat="no-repeat"]
90
+ * @param {number} [options.filter]
91
+ * @param {"rgba8"|"rgba8ui"} [options.format="rgba8"] - storage format.
92
+ * `"rgba8"` (default): normalized RGBA, sampled via `sampler2D` /
93
+ * `texture()`. `"rgba8ui"`: unsigned-integer RGBA, sampled via
94
+ * `usampler2D` / `texelFetch()` — requires WebGL2. Use the integer
95
+ * form for raw-data lookups (GID tables, palette indices, etc.) to
96
+ * skip the float-decode round trip and gain exact integer reads.
97
+ */
98
+ constructor(data: ArrayBufferView, options: {
99
+ width: number;
100
+ height: number;
101
+ premultipliedAlpha?: boolean | undefined;
102
+ repeat?: string | undefined;
103
+ filter?: number | undefined;
104
+ format?: "rgba8" | "rgba8ui" | undefined;
105
+ });
106
+ /** @type {ArrayBufferView} */
107
+ data: ArrayBufferView;
108
+ /** @type {string} */
109
+ format: string;
110
+ /** @ignore */
111
+ upload(gl: any, target: any): void;
112
+ }
113
+ //# sourceMappingURL=resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/video/texture/resource.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH;IACC;;;;;;;;OAQG;IACH,qEAPG;QAAwB,KAAK,EAArB,MAAM;QACU,MAAM,EAAtB,MAAM;QACY,kBAAkB;QAClB,MAAM;QACN,MAAM;KAElC,EAsBA;IAdA,qBAAqB;IACrB,OADW,MAAM,CACC;IAClB,qBAAqB;IACrB,QADW,MAAM,CACG;IACpB,sBAAsB;IACtB,oBADW,OAAO,CAC0B;IAC5C,qBAAqB;IACrB,QADW,MAAM,CACG;IACpB,+BAA+B;IAC/B,QADW,MAAM,GAAC,SAAS,CACP;IAGpB,2BAA2C;IAC3C,oBAA4B;IAG7B;;;;;OAKG;IACH,mBAEC;IAED;;;;;;;OAOG;IAEH,WAJW,qBAAqB,GAAC,sBAAsB,UAC5C,MAAM,QAKhB;CACD;AAED;;;;;;;;;;;;GAYG;AACH;IACC;;;;;;;;;;;;;;;;OAgBG;IACH,kBAhBW,eAAe,WAIvB;QAAyB,KAAK,EAAtB,MAAM;QACW,MAAM,EAAvB,MAAM;QACY,kBAAkB;QAClB,MAAM;QACN,MAAM;QACI,MAAM;KAM5C,EAOA;IAJA,8BAA8B;IAC9B,MADW,eAAe,CACV;IAChB,qBAAqB;IACrB,QADW,MAAM,CACsB;IAGxC,cAAc;IACd,mCAoCC;CACD"}
@@ -57,8 +57,15 @@ export class MaterialBatcher extends Batcher {
57
57
  unbindTexture2D(texture?: WebGLTexture, unit?: number): number;
58
58
  /**
59
59
  * @ignore
60
+ * @param {TextureAtlas|TextureResource} texture
61
+ * @param {number} [w] - ignored when the source has its own `width` (the
62
+ * common case); kept for the legacy signature where callers passed a
63
+ * destination size. Forwarded only as a last-resort default.
64
+ * @param {number} [h] - same as `w`.
65
+ * @param {boolean} [force=false]
66
+ * @param {boolean} [flush=true]
60
67
  */
61
- uploadTexture(texture: any, w: any, h: any, force?: boolean, flush?: boolean): any;
68
+ uploadTexture(texture: TextureAtlas | TextureResource, w?: number, h?: number, force?: boolean, flush?: boolean): any;
62
69
  }
63
70
  import { Batcher } from "./batcher.js";
64
71
  import type { TextureAtlas } from "./../../texture/atlas.js";
@@ -1 +1 @@
1
- {"version":3,"file":"material_batcher.d.ts","sourceRoot":"","sources":["../../../../src/video/webgl/batchers/material_batcher.js"],"names":[],"mappings":"AAGA;;;GAGG;AAEH;;;;GAIG;AACH;IAQE;;;OAGG;IACH,wBAA4B;IAE5B;;;OAGG;IACH,iCAAuB;IA0BxB;;;;;;;;;;;OAWG;IACH,sBAVW,MAAM,WACN,8DAAM,iBAAiB,GAAC,SAAS,GAAC,UAAU,EAAE,GAAC,YAAY,EAAE,UAC7D,MAAM,WACN,MAAM,MACN,MAAM,MACN,MAAM,uBACN,OAAO,WACP,OAAO,kCACL,YAAY,CAmHxB;IAED;;;OAGG;IACH,yBAFW,YAAY,GAAC,YAAY,QAiBnC;IAED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,YAAY,CAIxB;IAED;;;;OAIG;IACH,uBAHW,YAAY,QACZ,MAAM,yBAsBhB;IAED;;;;;OAKG;IACH,0BAJW,YAAY,SACZ,MAAM,GACJ,MAAM,CAalB;IAED;;OAEG;IACH,mFAsBC;CACD;wBA7RuB,cAAc;kCAIP,0BAA0B"}
1
+ {"version":3,"file":"material_batcher.d.ts","sourceRoot":"","sources":["../../../../src/video/webgl/batchers/material_batcher.js"],"names":[],"mappings":"AAGA;;;GAGG;AAEH;;;;GAIG;AACH;IAQE;;;OAGG;IACH,wBAA4B;IAE5B;;;OAGG;IACH,iCAAuB;IA0BxB;;;;;;;;;;;OAWG;IACH,sBAVW,MAAM,WACN,8DAAM,iBAAiB,GAAC,SAAS,GAAC,UAAU,EAAE,GAAC,YAAY,EAAE,UAC7D,MAAM,WACN,MAAM,MACN,MAAM,MACN,MAAM,uBACN,OAAO,WACP,OAAO,kCACL,YAAY,CAqJxB;IAED;;;OAGG;IACH,yBAFW,YAAY,GAAC,YAAY,QAiBnC;IAED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,YAAY,CAIxB;IAED;;;;OAIG;IACH,uBAHW,YAAY,QACZ,MAAM,yBAsBhB;IAED;;;;;OAKG;IACH,0BAJW,YAAY,SACZ,MAAM,GACJ,MAAM,CAalB;IAED;;;;;;;;;OASG;IACH,uBARW,YAAY,GAAC,eAAe,MAC5B,MAAM,MAGN,MAAM,UACN,OAAO,UACP,OAAO,OAiDjB;CACD;wBA/VuB,cAAc;kCAIP,0BAA0B"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * A shader effect that sweeps a bright highlight band across the sprite —
3
+ * the classic "shine" pass commonly used for coins, gems, polished metal,
4
+ * and hover-highlighted UI elements. Similar to pixi-filters' ShineFilter.
5
+ *
6
+ * Set `bands` > 1 to tile the sweep into N parallel glints (useful for the
7
+ * "etched grooves" look of a coin's rim). An optional subtle brightness
8
+ * pulse can be layered on top via `pulseDepth` — set to 0 to disable.
9
+ *
10
+ * The `time` uniform must be updated each frame for the animation.
11
+ * @category Effects
12
+ * @see {@link Renderable.shader} for usage
13
+ * @example
14
+ * // single diagonal sweep — classic "button shine"
15
+ * const shine = new ShineEffect(renderer, {
16
+ * color: [1.0, 0.95, 0.7],
17
+ * speed: 0.5,
18
+ * width: 0.18,
19
+ * angle: 0.5,
20
+ * });
21
+ *
22
+ * // gold coin with ~14 parallel glints and a subtle brightness pulse
23
+ * const coinShine = new ShineEffect(renderer, {
24
+ * color: [1.0, 0.95, 0.7],
25
+ * bands: 14.5,
26
+ * width: 0.15,
27
+ * intensity: 0.4,
28
+ * speed: 0.8,
29
+ * pulseDepth: 0.08,
30
+ * });
31
+ *
32
+ * mySprite.addPostEffect(coinShine);
33
+ *
34
+ * // update each frame
35
+ * coinShine.setTime(timer.getTime() / 1000);
36
+ */
37
+ export default class ShineEffect extends ShaderEffect {
38
+ /**
39
+ * @param {import("../webgl_renderer.js").default} renderer - the current renderer instance
40
+ * @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)
42
+ * @param {number} [options.speed=0.5] - sweeps per second
43
+ * @param {number} [options.width=0.15] - glint half-width as a fraction of one tile (0.0–1.0)
44
+ * @param {number} [options.intensity=0.5] - maximum highlight strength
45
+ * @param {number} [options.angle=0.5] - sweep direction in radians (0 = horizontal L→R, π/2 = vertical T→B)
46
+ * @param {number} [options.bands=1.0] - number of parallel glints (1 = single shine; ~14.5 mimics a coin's etched-rim look)
47
+ * @param {number} [options.pulseDepth=0.0] - subtle base-brightness pulse amplitude (0 disables the pulse)
48
+ * @param {number} [options.pulseSpeed=3.0] - pulse oscillation rate (radians/second)
49
+ */
50
+ constructor(renderer: import("../webgl_renderer.js").default, options?: {
51
+ color?: number[] | undefined;
52
+ speed?: number | undefined;
53
+ width?: number | undefined;
54
+ intensity?: number | undefined;
55
+ angle?: number | undefined;
56
+ bands?: number | undefined;
57
+ pulseDepth?: number | undefined;
58
+ pulseSpeed?: number | undefined;
59
+ });
60
+ /**
61
+ * set the current time (call each frame for animation)
62
+ * @param {number} time - time in seconds
63
+ */
64
+ setTime(time: number): void;
65
+ /**
66
+ * set the shine color
67
+ * @param {number[]} color - shine color as [r, g, b] (0.0–1.0)
68
+ */
69
+ setColor(color: number[]): void;
70
+ /**
71
+ * set the sweep speed
72
+ * @param {number} value - sweeps per second
73
+ */
74
+ setSpeed(value: number): void;
75
+ /**
76
+ * set the highlight intensity
77
+ * @param {number} value - maximum highlight strength
78
+ */
79
+ setIntensity(value: number): void;
80
+ /**
81
+ * set the number of parallel glints
82
+ * @param {number} value - 1 for a single shine, >1 for tiled stripes
83
+ */
84
+ setBands(value: number): void;
85
+ }
86
+ import ShaderEffect from "../shadereffect.js";
87
+ //# sourceMappingURL=shine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shine.d.ts","sourceRoot":"","sources":["../../../../src/video/webgl/effects/shine.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH;IACC;;;;;;;;;;;OAWG;IACH,sBAXW,OAAO,sBAAsB,EAAE,OAAO,YAE9C;QAA2B,KAAK;QACP,KAAK;QACL,KAAK;QACL,SAAS;QACT,KAAK;QACL,KAAK;QACL,UAAU;QACV,UAAU;KACrC,EAuDA;IAED;;;OAGG;IACH,cAFW,MAAM,QAIhB;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;yBAlJwB,oBAAoB"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * GPU-accelerated renderer for orthogonal TMX tile layers (WebGL2). Draws
3
+ * the visible region of a layer as one screen-aligned quad per tileset
4
+ * referenced by the layer — the fragment shader samples a per-layer GID
5
+ * index texture and the tileset atlas, eliminating the per-tile draw
6
+ * loop. The visible rect, GID range, tile size, opacity, and tint are
7
+ * pushed as uniforms; the index texture is uploaded once at activation
8
+ * and re-uploaded only when `layer.dataVersion` changes (mutations from
9
+ * `setTile`/`clearTile`).
10
+ *
11
+ * The per-layer index texture is a `BufferTextureResource` flowing
12
+ * through the standard `TextureCache` / batcher path — same lane as
13
+ * every other texture in the engine. Dynamic unit allocation, correct
14
+ * `boundTextures` bookkeeping, and per-resource premultiplied-alpha /
15
+ * filter all come for free; nothing here pokes `gl.bindTexture` or
16
+ * `gl.activeTexture` directly.
17
+ *
18
+ * Cache lifecycle: one `BufferTextureResource` per `TMXLayer`. Tile
19
+ * layers don't come and go individually — they only churn on game reset
20
+ * — so the cache is freed in bulk via `reset()`, called from
21
+ * `WebGLRenderer.reset()` (which the `GAME_RESET` event already
22
+ * triggers).
23
+ *
24
+ * @ignore
25
+ */
26
+ export default class OrthogonalTMXLayerGPURenderer {
27
+ /**
28
+ * @param {WebGLRenderer} renderer - the WebGL renderer instance
29
+ */
30
+ constructor(renderer: WebGLRenderer);
31
+ renderer: WebGLRenderer;
32
+ gl: WebGLRenderingContext;
33
+ shader: GLShader;
34
+ resources: Map<any, any>;
35
+ animLookups: Map<any, any>;
36
+ _v2: Float32Array<ArrayBuffer>;
37
+ _v4: Float32Array<ArrayBuffer>;
38
+ /**
39
+ * Free every cached per-layer index texture and empty the local
40
+ * resource map. Called from `WebGLRenderer.reset()` (which
41
+ * `GAME_RESET` triggers) so each level transition starts clean.
42
+ * @ignore
43
+ */
44
+ reset(): void;
45
+ /**
46
+ * Write a `vec2` uniform without allocating a fresh Float32Array per
47
+ * call. Both components flow into the shared `_v2` scratch buffer,
48
+ * which `setUniform` reads synchronously and forwards to
49
+ * `gl.uniform2fv` — so reusing the buffer across calls is safe.
50
+ * @param {string} name
51
+ * @param {number} x
52
+ * @param {number} y
53
+ * @private
54
+ */
55
+ private _setV2;
56
+ /**
57
+ * `vec4` counterpart to {@link _setV2}.
58
+ * @param {string} name
59
+ * @param {number} x
60
+ * @param {number} y
61
+ * @param {number} z
62
+ * @param {number} w
63
+ * @private
64
+ */
65
+ private _setV4;
66
+ /**
67
+ * Get-or-create the per-tileset animation-lookup entry. Returns
68
+ * `undefined` for tilesets that have no animated tiles (the shader's
69
+ * `uAnimEnabled` uniform is then set to 0 and the lookup texture is
70
+ * not bound).
71
+ *
72
+ * The entry holds a `tileCount × 1` RGBA8 `BufferTextureResource`
73
+ * where texel `localId` encodes the CURRENT frame's local id as
74
+ * `R = lo byte, G = hi byte` (same encoding as the GID index
75
+ * texture). Each call walks `tileset.animations` and rewrites
76
+ * dirty texels — `tileset.update(dt)` (driven by the layer) advances
77
+ * `anim.cur.tileid` independently of this renderer.
78
+ *
79
+ * @param {object} tileset
80
+ * @param {number} tileCount - tiles in the tileset's atlas grid
81
+ * (`atlasCols * atlasRows`)
82
+ * @returns {{resource: BufferTextureResource, data: Uint8Array,
83
+ * tileCount: number, dirty: boolean}|undefined}
84
+ */
85
+ _getOrUpdateAnimLookup(tileset: object, tileCount: number): {
86
+ resource: BufferTextureResource;
87
+ data: Uint8Array;
88
+ tileCount: number;
89
+ dirty: boolean;
90
+ } | undefined;
91
+ /**
92
+ * Get-or-create the per-layer index `BufferTextureResource`.
93
+ * @param {TMXLayer} layer
94
+ * @returns {BufferTextureResource}
95
+ */
96
+ _getResource(layer: TMXLayer): BufferTextureResource;
97
+ /**
98
+ * Draw an orthogonal TMX layer through the shader path.
99
+ * @param {TMXLayer} layer
100
+ * @param {object} rect - the visible viewport rect (world coords)
101
+ */
102
+ draw(layer: TMXLayer, rect: object): void;
103
+ }
104
+ import type { default as WebGLRenderer } from "../../webgl_renderer.js";
105
+ import GLShader from "../../glshader.js";
106
+ import { BufferTextureResource } from "../../../texture/resource.js";
107
+ import type { default as TMXLayer } from "../../../../level/tiled/TMXLayer.js";
108
+ //# sourceMappingURL=orthogonal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orthogonal.d.ts","sourceRoot":"","sources":["../../../../../src/video/webgl/renderers/tmxlayer/orthogonal.js"],"names":[],"mappings":"AAeA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH;IACC;;OAEG;IACH,sBAFW,aAAa,EAkCvB;IA/BA,wBAAwB;IACxB,0BAAqB;IAUrB,iBAKC;IAMD,yBAA0B;IAI1B,2BAA4B;IAG5B,+BAA8B;IAC9B,+BAA8B;IAG/B;;;;;OAKG;IACH,cAyBC;IAED;;;;;;;;;OASG;IACH,eAIC;IAED;;;;;;;;OAQG;IACH,eAMC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,gCANW,MAAM,aACN,MAAM,GAEJ;QAAC,QAAQ,EAAE,qBAAqB,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAC3D,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC,GAAC,SAAS,CA+ChD;IAED;;;;OAIG;IACH,oBAHW,QAAQ,GACN,qBAAqB,CA6BjC;IAED;;;;OAIG;IACH,YAHW,QAAQ,QACR,MAAM,QA0JhB;CACD;8CA1Y4C,yBAAyB;qBAPjD,mBAAmB;sCADF,8BAA8B;yCAO5B,qCAAqC"}
@@ -1,4 +1,11 @@
1
1
  /**
2
+ * Pick out every vertex attribute name from a shader source, regardless of
3
+ * GLSL version. GLSL 1.00 marks attributes with the `attribute` storage
4
+ * qualifier; GLSL ES 3.00 reuses `in` at file scope for the same purpose
5
+ * (and `in` inside function parameter lists, which we exclude by requiring
6
+ * the qualifier to start at the beginning of a line). Skipping the 3.00
7
+ * form leaves the shader with no bound vertex data and the rasterizer
8
+ * silently degenerates every triangle.
2
9
  * @ignore
3
10
  */
4
11
  export function extractAttributes(gl: any, shader: any): {};
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../../src/video/webgl/utils/attributes.js"],"names":[],"mappings":"AAAA;;GAEG;AACH,4DAYC"}
1
+ {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../../src/video/webgl/utils/attributes.js"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,4DAmBC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * set precision for the fiven shader source
2
+ * set precision for the given shader source
3
3
  * won't do anything if the precision is already specified
4
4
  * @ignore
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"precision.d.ts","sourceRoot":"","sources":["../../../../src/video/webgl/utils/precision.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,4DAKC;AAED;;;;;;GAMG;AACH,0CAJW,qBAAqB,kBACrB,OAAO,GACL,MAAM,CAoBlB"}
1
+ {"version":3,"file":"precision.d.ts","sourceRoot":"","sources":["../../../../src/video/webgl/utils/precision.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,4DA+BC;AAED;;;;;;GAMG;AACH,0CAJW,qBAAqB,kBACrB,OAAO,GACL,MAAM,CAoBlB"}
@@ -1,4 +1,17 @@
1
1
  /**
2
+ * Build the `uniforms` proxy object for a compiled shader program.
3
+ *
4
+ * Each detected uniform gets a defineProperty getter (returns its
5
+ * `WebGLUniformLocation`) and a setter that pushes the value to GL. The
6
+ * setter caches the last value it sent and skips the underlying
7
+ * `gl.uniform*` call when the incoming value matches — uniform writes are
8
+ * cheap individually, but a typical per-frame draw pass sets a dozen of
9
+ * them per shader, and most are layer-lifetime constants (`uMapSize`,
10
+ * `uCellSize`, `uOpacity`, projection matrix on idle frames, etc.).
11
+ *
12
+ * Cache scope is per-shader: each `GLShader` calls `extractUniforms` once
13
+ * and gets its own closure-captured `cache` map, so caches don't leak
14
+ * across programs.
2
15
  * @ignore
3
16
  */
4
17
  export function extractUniforms(gl: any, shader: any): {};
@@ -1 +1 @@
1
- {"version":3,"file":"uniforms.d.ts","sourceRoot":"","sources":["../../../../src/video/webgl/utils/uniforms.js"],"names":[],"mappings":"AAuBA;;GAEG;AACH,0DAuDC"}
1
+ {"version":3,"file":"uniforms.d.ts","sourceRoot":"","sources":["../../../../src/video/webgl/utils/uniforms.js"],"names":[],"mappings":"AA0FA;;;;;;;;;;;;;;;GAeG;AACH,0DAmEC"}
@@ -22,12 +22,6 @@ export default class WebGLRenderer extends Renderer {
22
22
  * @ignore
23
23
  */
24
24
  _savedEffectProjection: Matrix3d;
25
- /**
26
- * sets or returns the thickness of lines for shape drawing
27
- * @type {number}
28
- * @default 1
29
- */
30
- lineWidth: number;
31
25
  /**
32
26
  * sets or returns the shape used to join two line segments where they meet.
33
27
  * Out of the three possible values for this property: "round", "bevel", and "miter", only "round" is supported for now in WebGL
@@ -94,6 +88,24 @@ export default class WebGLRenderer extends Renderer {
94
88
  get WebGLVersion(): number;
95
89
  _lightShader: RadialGradientEffect | undefined;
96
90
  _lightAtlas: TextureAtlas | undefined;
91
+ _orthogonalTMXGPURenderer: OrthogonalTMXLayerGPURenderer | null | undefined;
92
+ /**
93
+ * Draw a TMX tile layer through whichever path the layer's `renderMode`
94
+ * resolves to. WebGL2-eligible layers (`renderMode === "shader"`) take
95
+ * the procedural shader path — one quad per tileset, GID lookup in a
96
+ * per-layer data texture. All other layers fall through to the base
97
+ * `Renderer.drawTileLayer` (preRender blit or per-tile loop).
98
+ * @param {object} layer - the TMXLayer to draw
99
+ * @param {object} rect - the visible region in world coords
100
+ */
101
+ drawTileLayer(layer: object, rect: object): void;
102
+ /**
103
+ * Lazy-init the orientation-specific GPU tilemap renderer.
104
+ * @param {string} orientation
105
+ * @returns {object|undefined}
106
+ * @ignore
107
+ */
108
+ _getTMXGPURendererFor(orientation: string): object | undefined;
97
109
  /**
98
110
  * add a new batcher to this renderer
99
111
  * @param {Batcher} batcher - a batcher instance
@@ -304,58 +316,6 @@ export default class WebGLRenderer extends Renderer {
304
316
  */
305
317
  setBlendMode(mode?: string, premultipliedAlpha?: boolean): string;
306
318
  currentPremultipliedAlpha: any;
307
- /**
308
- * restores the most recently saved renderer state by popping the top entry in the drawing state stack
309
- * @example
310
- * // Save the current state
311
- * renderer.save();
312
- *
313
- * // apply a transform and draw a rect
314
- * renderer.tranform(matrix);
315
- * renderer.fillRect(10, 10, 100, 100);
316
- *
317
- * // Restore to the state saved by the most recent call to save()
318
- * renderer.restore();
319
- */
320
- restore(): void;
321
- /**
322
- * saves the entire state of the renderer by pushing the current state onto a stack.
323
- * @example
324
- * // Save the current state
325
- * renderer.save();
326
- *
327
- * // apply a transform and draw a rect
328
- * renderer.tranform(matrix);
329
- * renderer.fillRect(10, 10, 100, 100);
330
- *
331
- * // Restore to the state saved by the most recent call to save()
332
- * renderer.restore();
333
- */
334
- save(): void;
335
- /**
336
- * adds a rotation to the transformation matrix.
337
- * @param {number} angle - the rotation angle, clockwise in radians
338
- * @example
339
- * // Rotated rectangle
340
- * renderer.rotate((45 * Math.PI) / 180);
341
- * renderer.setColor("red");
342
- * renderer.fillRect(10, 10, 100, 100);
343
- *
344
- * // Reset transformation matrix to the identity matrix
345
- * renderer.setTransform(1, 0, 0, 1, 0, 0);
346
- */
347
- rotate(angle: number): void;
348
- /**
349
- * adds a scaling transformation to the renderer units horizontally and/or vertically
350
- * @param {number} x - Scaling factor in the horizontal direction. A negative value flips pixels across the vertical axis. A value of 1 results in no horizontal scaling.
351
- * @param {number} y - Scaling factor in the vertical direction. A negative value flips pixels across the horizontal axis. A value of 1 results in no vertical scaling
352
- */
353
- scale(x: number, y: number): void;
354
- /**
355
- * Set the global alpha
356
- * @param {number} alpha - 0.0 to 1.0 values accepted.
357
- */
358
- setGlobalAlpha(alpha: number): void;
359
319
  /**
360
320
  * Return the global alpha
361
321
  * @returns {number} global alpha value
@@ -382,31 +342,6 @@ export default class WebGLRenderer extends Renderer {
382
342
  * @param {boolean} [antiClockwise=false] - draw arc anti-clockwise
383
343
  */
384
344
  fillArc(x: number, y: number, radius: number, start: number, end: number, antiClockwise?: boolean): void;
385
- /**
386
- * Stroke an ellipse at the specified coordinates with given radius
387
- * @param {number} x - ellipse center point x-axis
388
- * @param {number} y - ellipse center point y-axis
389
- * @param {number} w - horizontal radius of the ellipse
390
- * @param {number} h - vertical radius of the ellipse
391
- * @param {boolean} [fill=false] - also fill the shape with the current color if true
392
- */
393
- strokeEllipse(x: number, y: number, w: number, h: number, fill?: boolean): void;
394
- /**
395
- * Fill an ellipse at the specified coordinates with given radius
396
- * @param {number} x - ellipse center point x-axis
397
- * @param {number} y - ellipse center point y-axis
398
- * @param {number} w - horizontal radius of the ellipse
399
- * @param {number} h - vertical radius of the ellipse
400
- */
401
- fillEllipse(x: number, y: number, w: number, h: number): void;
402
- /**
403
- * Stroke a line of the given two points
404
- * @param {number} startX - the start x coordinate
405
- * @param {number} startY - the start y coordinate
406
- * @param {number} endX - the end x coordinate
407
- * @param {number} endY - the end y coordinate
408
- */
409
- strokeLine(startX: number, startY: number, endX: number, endY: number): void;
410
345
  /**
411
346
  * Fill a line of the given two points
412
347
  * @param {number} startX - the start x coordinate
@@ -426,23 +361,6 @@ export default class WebGLRenderer extends Renderer {
426
361
  * @param {Polygon} poly - the shape to draw
427
362
  */
428
363
  fillPolygon(poly: Polygon): void;
429
- /**
430
- * Draw a stroke rectangle at the specified coordinates
431
- * @param {number} x - x axis of the coordinate for the rectangle starting point.
432
- * @param {number} y - y axis of the coordinate for the rectangle starting point.
433
- * @param {number} width - The rectangle's width.
434
- * @param {number} height - The rectangle's height.
435
- * @param {boolean} [fill=false] - also fill the shape with the current color if true
436
- */
437
- strokeRect(x: number, y: number, width: number, height: number, fill?: boolean): void;
438
- /**
439
- * Draw a filled rectangle at the specified coordinates
440
- * @param {number} x - x axis of the coordinate for the rectangle starting point.
441
- * @param {number} y - y axis of the coordinate for the rectangle starting point.
442
- * @param {number} width - The rectangle's width.
443
- * @param {number} height - The rectangle's height.
444
- */
445
- fillRect(x: number, y: number, width: number, height: number): void;
446
364
  /**
447
365
  * Stroke a rounded rectangle at the specified coordinates
448
366
  * @param {number} x - x axis of the coordinate for the rounded rectangle starting point.
@@ -496,12 +414,6 @@ export default class WebGLRenderer extends Renderer {
496
414
  * @param {number} f - the f component to multiply the current matrix by
497
415
  */
498
416
  transform(a: Matrix2d | Matrix3d | number, b: number, c: number, d: number, e: number, f: number): void;
499
- /**
500
- * adds a translation transformation to the current matrix.
501
- * @param {number} x - Distance to move in the horizontal direction. Positive values are to the right, and negative to the left.
502
- * @param {number} y - Distance to move in the vertical direction. Positive values are down, and negative are up.
503
- */
504
- translate(x: number, y: number): void;
505
417
  /**
506
418
  * clip the given region from the original canvas. Once a region is clipped,
507
419
  * all future drawing will be limited to the clipped region.
@@ -532,6 +444,7 @@ import type { Batcher } from "./batchers/batcher.js";
532
444
  import TextureCache from "./../texture/cache.js";
533
445
  import RadialGradientEffect from "./effects/radialGradient.js";
534
446
  import { TextureAtlas } from "./../texture/atlas.js";
447
+ import OrthogonalTMXLayerGPURenderer from "./renderers/tmxlayer/orthogonal.js";
535
448
  import { Color } from "./../../math/color.ts";
536
449
  import type { Rect } from "./../../geometries/rectangle.ts";
537
450
  import type { RoundRect } from "./../../geometries/roundrect.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"webgl_renderer.d.ts","sourceRoot":"","sources":["../../../src/video/webgl/webgl_renderer.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgl_renderer.d.ts","sourceRoot":"","sources":["../../../src/video/webgl/webgl_renderer.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "melonjs",
3
- "version": "19.3.0",
3
+ "version": "19.5.0",
4
4
  "description": "melonJS Game Engine",
5
5
  "homepage": "http://www.melonjs.org/",
6
6
  "type": "module",