melonjs 19.6.0 → 19.7.1

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 (118) hide show
  1. package/README.md +17 -14
  2. package/build/application/application.d.ts +34 -2
  3. package/build/application/application.d.ts.map +1 -1
  4. package/build/application/settings.d.ts +37 -1
  5. package/build/application/settings.d.ts.map +1 -1
  6. package/build/camera/camera2d.d.ts +59 -7
  7. package/build/camera/camera2d.d.ts.map +1 -1
  8. package/build/camera/camera3d.d.ts +335 -0
  9. package/build/camera/camera3d.d.ts.map +1 -0
  10. package/build/camera/frustum.d.ts +162 -0
  11. package/build/camera/frustum.d.ts.map +1 -0
  12. package/build/const.d.ts +30 -3
  13. package/build/const.d.ts.map +1 -1
  14. package/build/geometries/sphere.d.ts +105 -0
  15. package/build/geometries/sphere.d.ts.map +1 -0
  16. package/build/index.d.ts +6 -4
  17. package/build/index.d.ts.map +1 -1
  18. package/build/index.js +27497 -24696
  19. package/build/index.js.map +4 -4
  20. package/build/input/keyboard.d.ts.map +1 -1
  21. package/build/input/pointerevent.d.ts.map +1 -1
  22. package/build/lang/deprecated.d.ts +18 -0
  23. package/build/lang/deprecated.d.ts.map +1 -1
  24. package/build/level/tiled/TMXLayer.d.ts.map +1 -1
  25. package/build/loader/loadingscreen.d.ts +8 -0
  26. package/build/loader/loadingscreen.d.ts.map +1 -1
  27. package/build/loader/parsers/mtl.d.ts.map +1 -1
  28. package/build/loader/parsers/obj.d.ts.map +1 -1
  29. package/build/math/color.d.ts +43 -5
  30. package/build/math/color.d.ts.map +1 -1
  31. package/build/math/math.d.ts +44 -0
  32. package/build/math/math.d.ts.map +1 -1
  33. package/build/math/matrix3d.d.ts +1 -1
  34. package/build/math/observableVector2d.d.ts +14 -2
  35. package/build/math/observableVector2d.d.ts.map +1 -1
  36. package/build/math/observableVector3d.d.ts +14 -2
  37. package/build/math/observableVector3d.d.ts.map +1 -1
  38. package/build/math/vector2d.d.ts +16 -2
  39. package/build/math/vector2d.d.ts.map +1 -1
  40. package/build/math/vector3d.d.ts +16 -2
  41. package/build/math/vector3d.d.ts.map +1 -1
  42. package/build/particles/emitter.d.ts.map +1 -1
  43. package/build/physics/adapter.d.ts +77 -0
  44. package/build/physics/adapter.d.ts.map +1 -1
  45. package/build/physics/broadphase/aabb3d.d.ts +115 -0
  46. package/build/physics/broadphase/aabb3d.d.ts.map +1 -0
  47. package/build/physics/broadphase/broadphase.d.ts +74 -0
  48. package/build/physics/broadphase/broadphase.d.ts.map +1 -0
  49. package/build/physics/broadphase/factory.d.ts +30 -0
  50. package/build/physics/broadphase/factory.d.ts.map +1 -0
  51. package/build/physics/broadphase/octree.d.ts +325 -0
  52. package/build/physics/broadphase/octree.d.ts.map +1 -0
  53. package/build/physics/broadphase/quadtree.d.ts +184 -0
  54. package/build/physics/broadphase/quadtree.d.ts.map +1 -0
  55. package/build/physics/builtin/body.d.ts +7 -3
  56. package/build/physics/builtin/body.d.ts.map +1 -1
  57. package/build/physics/builtin/builtin-adapter.d.ts +6 -1
  58. package/build/physics/builtin/builtin-adapter.d.ts.map +1 -1
  59. package/build/physics/builtin/raycast.d.ts.map +1 -1
  60. package/build/physics/world.d.ts +15 -4
  61. package/build/physics/world.d.ts.map +1 -1
  62. package/build/renderable/container.d.ts +51 -5
  63. package/build/renderable/container.d.ts.map +1 -1
  64. package/build/renderable/mesh.d.ts +85 -10
  65. package/build/renderable/mesh.d.ts.map +1 -1
  66. package/build/renderable/renderable.d.ts +9 -4
  67. package/build/renderable/renderable.d.ts.map +1 -1
  68. package/build/renderable/ui/uitextbutton.d.ts +2 -1
  69. package/build/renderable/ui/uitextbutton.d.ts.map +1 -1
  70. package/build/state/stage.d.ts +8 -0
  71. package/build/state/stage.d.ts.map +1 -1
  72. package/build/state/state.d.ts.map +1 -1
  73. package/build/system/device.d.ts +196 -310
  74. package/build/system/device.d.ts.map +1 -1
  75. package/build/system/event.d.ts +49 -0
  76. package/build/system/event.d.ts.map +1 -1
  77. package/build/system/fullscreen.d.ts +16 -0
  78. package/build/system/fullscreen.d.ts.map +1 -0
  79. package/build/system/platform.d.ts +32 -4
  80. package/build/system/platform.d.ts.map +1 -1
  81. package/build/system/timer.d.ts.map +1 -1
  82. package/build/utils/function.d.ts +7 -1
  83. package/build/utils/function.d.ts.map +1 -1
  84. package/build/utils/types.d.ts +5 -0
  85. package/build/utils/types.d.ts.map +1 -1
  86. package/build/video/buffer/vertex.d.ts +19 -4
  87. package/build/video/buffer/vertex.d.ts.map +1 -1
  88. package/build/video/canvas/canvas_renderer.d.ts +4 -4
  89. package/build/video/canvas/canvas_renderer.d.ts.map +1 -1
  90. package/build/video/canvas_factory.d.ts +25 -0
  91. package/build/video/canvas_factory.d.ts.map +1 -0
  92. package/build/video/renderer.d.ts +89 -15
  93. package/build/video/renderer.d.ts.map +1 -1
  94. package/build/video/renderstate.d.ts +12 -0
  95. package/build/video/renderstate.d.ts.map +1 -1
  96. package/build/video/rendertarget/rendertarget.d.ts +3 -1
  97. package/build/video/rendertarget/rendertarget.d.ts.map +1 -1
  98. package/build/video/texture/cache.d.ts +5 -0
  99. package/build/video/texture/cache.d.ts.map +1 -1
  100. package/build/video/texture/resource.d.ts +22 -14
  101. package/build/video/texture/resource.d.ts.map +1 -1
  102. package/build/video/video.d.ts +3 -1
  103. package/build/video/video.d.ts.map +1 -1
  104. package/build/video/webgl/batchers/batcher.d.ts.map +1 -1
  105. package/build/video/webgl/batchers/lit_quad_batcher.d.ts.map +1 -1
  106. package/build/video/webgl/batchers/material_batcher.d.ts +9 -0
  107. package/build/video/webgl/batchers/material_batcher.d.ts.map +1 -1
  108. package/build/video/webgl/batchers/mesh_batcher.d.ts +45 -1
  109. package/build/video/webgl/batchers/mesh_batcher.d.ts.map +1 -1
  110. package/build/video/webgl/batchers/primitive_batcher.d.ts.map +1 -1
  111. package/build/video/webgl/batchers/quad_batcher.d.ts +2 -2
  112. package/build/video/webgl/batchers/quad_batcher.d.ts.map +1 -1
  113. package/build/video/webgl/renderers/tmxlayer/orthogonal.d.ts.map +1 -1
  114. package/build/video/webgl/webgl_renderer.d.ts +2 -2
  115. package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
  116. package/package.json +4 -3
  117. package/build/physics/builtin/quadtree.d.ts +0 -112
  118. package/build/physics/builtin/quadtree.d.ts.map +0 -1
@@ -291,6 +291,53 @@ export declare const ONCONTEXT_LOST = "renderer.contextlost";
291
291
  * @see event.on
292
292
  */
293
293
  export declare const ONCONTEXT_RESTORED = "renderer.contextrestored";
294
+ /**
295
+ * Emitted by the GPU texture cache after a unit-reassignment reset
296
+ * (either because the shader's sampler range was exhausted, or via
297
+ * explicit `resetUnitAssignments()`). Subscribers — typically batchers
298
+ * — should drop any cached `texture → unit` tracking they hold so they
299
+ * re-bind on first use. Without that, the `texture === boundTextures[unit]`
300
+ * short-circuit in `bindTexture2D` lets a batcher skip the actual
301
+ * `gl.bindTexture` call while a different texture sits at the unit on
302
+ * the GPU. The historical symptom was mesh draws coming out as black
303
+ * silhouettes (sampling a transparent HUD Text canvas) and
304
+ * sprite/bullet draws turning pure white (sampling the multi-material
305
+ * white-pixel fallback).
306
+ *
307
+ * Named GPU-prefixed rather than WEBGL- because the same contract
308
+ * applies to any GPU backend that batches textures across draw calls
309
+ * (WebGL today, WebGPU once it lands).
310
+ *
311
+ * Data passed: none
312
+ * @see event.on
313
+ */
314
+ export declare const GPU_TEXTURE_CACHE_RESET = "renderer.gpu.texturecachereset";
315
+ /**
316
+ * Fired by the WebGL renderer at the start of a new render pass on the
317
+ * active target. The signal is "begin new render pass — invalidate any
318
+ * target-scoped state you've accumulated", not strictly "the framebuffer
319
+ * identity changed". Emitted from:
320
+ *
321
+ * - `clear()` — frame start: the active target's color/stencil were just
322
+ * wiped, depth wasn't (lazy), so a new pass begins now.
323
+ * - `clearRenderTarget()` — a non-camera FBO was just bound and color-
324
+ * cleared, beginning a new pass on it.
325
+ * - `endPostEffect()` — the parent target was rebound (a physical change
326
+ * of framebuffer identity), beginning a new pass on it.
327
+ *
328
+ * Subscribers with target-scoped state (depth-clear flag, instance buffers
329
+ * keyed on the target, sort accumulators, etc.) invalidate it here.
330
+ * Batchers without target-scoped state don't subscribe and pay nothing —
331
+ * same shape as `GPU_TEXTURE_CACHE_RESET`.
332
+ *
333
+ * The future WebGPU renderer will emit this when it begins a new
334
+ * `RenderPassEncoder` (clear loadOps replace `clear()` calls in WebGPU's
335
+ * declarative pass descriptors).
336
+ *
337
+ * Data passed: none
338
+ * @see event.on
339
+ */
340
+ export declare const RENDER_TARGET_CHANGED = "renderer.target.changed";
294
341
  interface Events {
295
342
  [DOM_READY]: () => void;
296
343
  [BOOT]: () => void;
@@ -336,6 +383,8 @@ interface Events {
336
383
  [VIEWPORT_ONCHANGE]: (position: Vector2d) => void;
337
384
  [ONCONTEXT_LOST]: (renderer: Renderer) => void;
338
385
  [ONCONTEXT_RESTORED]: (renderer: Renderer) => void;
386
+ [GPU_TEXTURE_CACHE_RESET]: () => void;
387
+ [RENDER_TARGET_CHANGED]: () => void;
339
388
  }
340
389
  /**
341
390
  * Add a listener for a given event.
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/system/event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/system/event.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Browser full screen support — probed once at module load via the
3
+ * unprefixed `fullscreenEnabled` field with vendor-prefixed fallbacks.
4
+ */
5
+ export declare const hasFullscreenSupport: boolean;
6
+ /**
7
+ * Returns true if the browser/device is in full screen mode.
8
+ *
9
+ * Pure document-state probe — no Application context needed, since the
10
+ * browser tracks exactly one fullscreen element per document regardless
11
+ * of how many Applications are running.
12
+ * @category Application
13
+ * @returns true when any of the four vendor variants of `fullscreenElement` is non-null
14
+ */
15
+ export declare function isFullscreen(): boolean;
16
+ //# sourceMappingURL=fullscreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fullscreen.d.ts","sourceRoot":"","sources":["../../src/system/fullscreen.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,eAAO,MAAM,oBAAoB,SAO/B,CAAC;AAEH;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAStC"}
@@ -5,12 +5,12 @@
5
5
  * ua the user agent string for the current device
6
6
  * iOS `true` if the device is an iOS platform
7
7
  * android `true` if the device is an Android platform
8
- * android2 `true` if the device is an Android 2.x platform
8
+ * android2 `true` if the device is an Android 2.x platform (deprecated)
9
9
  * linux `true` if the device is a Linux platform
10
10
  * chromeOS `true` if the device is running on ChromeOS.
11
- * wp `true` if the device is a Windows Phone platform
12
- * BlackBerry`true` if the device is a BlackBerry platform
13
- * Kindle`true` if the device is a Kindle platform
11
+ * wp `true` if the device is a Windows Phone platform (deprecated)
12
+ * BlackBerry `true` if the device is a BlackBerry platform (deprecated)
13
+ * Kindle `true` if the device is a Kindle platform (deprecated)
14
14
  * ejecta `true` if running under Ejecta
15
15
  * isWeixin `true` if running under Wechat
16
16
  * nodeJS `true` if running under node.js
@@ -18,13 +18,41 @@
18
18
  * webApp `true` if running as a standalone web app
19
19
  */
20
20
  export declare const ua: string;
21
+ /**
22
+ * iPad-on-Mac-UA predicate. Exported so the spec file can assert the
23
+ * SAME function the module evaluates at load time (no drift between
24
+ * docs and implementation), but marked `@internal` because it's a
25
+ * test-seam, not a stable public API — the engine reserves the right
26
+ * to change / inline / rename it without a breaking-change bump.
27
+ *
28
+ * Parameter shape is `Partial<Pick<Navigator, ...>>` rather than a
29
+ * named alias so no engine-defined type leaks into the emitted
30
+ * `.d.ts` (`tsconfig.build.json` doesn't currently set
31
+ * `stripInternal`).
32
+ * @param nav - a `navigator`-shaped object (or `undefined` for Node/SSR)
33
+ * @returns `true` when `nav` looks like an iPad reporting under the iPadOS-13+ desktop Mac UA
34
+ * @internal
35
+ */
36
+ export declare function isIPadOnMacUA(nav: Partial<Pick<Navigator, "platform" | "maxTouchPoints">> | undefined): boolean;
21
37
  export declare const iOS: boolean;
22
38
  export declare const android: boolean;
39
+ /**
40
+ * @deprecated since 19.7.0 — Android 2.x predates 2012. Will be removed in 20.x.
41
+ */
23
42
  export declare const android2: boolean;
24
43
  export declare const linux: boolean;
25
44
  export declare const chromeOS: boolean;
45
+ /**
46
+ * @deprecated since 19.7.0 — Windows Phone was EOL'd by Microsoft in 2017. Will be removed in 20.x.
47
+ */
26
48
  export declare const wp: boolean;
49
+ /**
50
+ * @deprecated since 19.7.0 — BlackBerry stopped shipping BB10 devices in 2016. Will be removed in 20.x.
51
+ */
27
52
  export declare const BlackBerry: boolean;
53
+ /**
54
+ * @deprecated since 19.7.0 — Kindle has a negligible market share and behaves like Android. Will be removed in 20.x.
55
+ */
28
56
  export declare const Kindle: boolean;
29
57
  export declare const ejecta: boolean;
30
58
  export declare const isWeixin: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/system/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,eAAO,MAAM,EAAE,QAGT,CAAC;AACP,eAAO,MAAM,GAAG,SAA+B,CAAC;AAChD,eAAO,MAAM,OAAO,SAAsB,CAAC;AAC3C,eAAO,MAAM,QAAQ,SAAwB,CAAC;AAC9C,eAAO,MAAM,KAAK,SAAoB,CAAC;AACvC,eAAO,MAAM,QAAQ,SAAkB,CAAC;AACxC,eAAO,MAAM,EAAE,SAA4B,CAAC;AAC5C,eAAO,MAAM,UAAU,SAAyB,CAAC;AACjD,eAAO,MAAM,MAAM,SAAyC,CAAC;AAC7D,eAAO,MAAM,MAAM,SAAyB,CAAC;AAC7C,eAAO,MAAM,QAAQ,SAA6B,CAAC;AACnD,eAAO,MAAM,MAAM,SAMiB,CAAC;AACrC,eAAO,MAAM,QAAQ,SACqD,CAAC;AAC3E,eAAO,MAAM,MAAM,SAK2C,CAAC"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/system/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,eAAO,MAAM,EAAE,QAGT,CAAC;AAaP;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAC5B,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,gBAAgB,CAAC,CAAC,GAAG,SAAS,GACtE,OAAO,CAET;AAOD,eAAO,MAAM,GAAG,SAAsD,CAAC;AACvE,eAAO,MAAM,OAAO,SAAsB,CAAC;AAC3C;;GAEG;AACH,eAAO,MAAM,QAAQ,SAAwB,CAAC;AAC9C,eAAO,MAAM,KAAK,SAAoB,CAAC;AACvC,eAAO,MAAM,QAAQ,SAAkB,CAAC;AACxC;;GAEG;AACH,eAAO,MAAM,EAAE,SAA4B,CAAC;AAC5C;;GAEG;AACH,eAAO,MAAM,UAAU,SAAyB,CAAC;AACjD;;GAEG;AACH,eAAO,MAAM,MAAM,SAAyC,CAAC;AAC7D,eAAO,MAAM,MAAM,SAAyB,CAAC;AAC7C,eAAO,MAAM,QAAQ,SAA6B,CAAC;AAOnD,eAAO,MAAM,MAAM,SAGW,CAAC;AAO/B,eAAO,MAAM,QAAQ,SAAqC,CAAC;AAC3D,eAAO,MAAM,MAAM,SAK2C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../../src/system/timer.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,cAAM,KAAK;IACV,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QACP,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,IAAI,EAAE,GAAG,EAAE,CAAC;KACZ,EAAE,CAAC;IACJ,OAAO,EAAE,MAAM,CAAC;;IAsEhB;;;OAGG;IACH,KAAK;IAYL;;;;;;;;;;;;OAYG;IACH,UAAU,CACT,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC3B,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,OAAO,EACnB,GAAG,IAAI,EAAE,GAAG,EAAE;IAcf;;;;;;;;;;;;OAYG;IACH,WAAW,CACV,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC3B,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,OAAO,EACnB,GAAG,IAAI,EAAE,GAAG,EAAE;IAcf;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM;IAQ9B;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM;IAQhC;;;;OAIG;IACH,OAAO;IAIP;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM;IAgCnB;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM;IAS1B;;;OAGG;IACH,YAAY;CAgBZ;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B;;;;;;;;;;;;GAYG;AACH,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../../src/system/timer.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,cAAM,KAAK;IACV,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QACP,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,IAAI,EAAE,GAAG,EAAE,CAAC;KACZ,EAAE,CAAC;IACJ,OAAO,EAAE,MAAM,CAAC;;IAsEhB;;;OAGG;IACH,KAAK;IAWL;;;;;;;;;;;;OAYG;IACH,UAAU,CACT,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC3B,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,OAAO,EACnB,GAAG,IAAI,EAAE,GAAG,EAAE;IAcf;;;;;;;;;;;;OAYG;IACH,WAAW,CACV,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC3B,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,OAAO,EACnB,GAAG,IAAI,EAAE,GAAG,EAAE;IAcf;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM;IAQ9B;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM;IAQhC;;;;OAIG;IACH,OAAO;IAIP;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM;IAgCnB;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM;IAS1B;;;OAGG;IACH,YAAY;CAgBZ;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B;;;;;;;;;;;;GAYG;AACH,eAAe,KAAK,CAAC"}
@@ -3,6 +3,12 @@
3
3
  */
4
4
  /**
5
5
  * Executes a function as soon as the interpreter is idle (stack empty).
6
+ *
7
+ * Generic over the target function's tail-args tuple so call sites pass
8
+ * the function's actual parameters without lying to TypeScript via
9
+ * `as unknown as (...args: unknown[]) => unknown` casts. The compiler
10
+ * infers `TArgs` from the trailing rest args and constrains `func` to
11
+ * accept them.
6
12
  * @param func - The function to be deferred.
7
13
  * @param thisArg - The value to be passed as the this parameter to the target function when the deferred function is called
8
14
  * @param args - Optional additional arguments to carry for the function.
@@ -13,7 +19,7 @@
13
19
  * // with the current context and [1, 2, 3] as parameter
14
20
  * me.utils.function.defer(myFunc, this, 1, 2, 3);
15
21
  */
16
- export declare function defer(func: (...args: unknown[]) => unknown, thisArg: unknown, ...args: unknown[]): number;
22
+ export declare function defer<TArgs extends unknown[]>(func: (...args: TArgs) => unknown, thisArg: unknown, ...args: TArgs): number;
17
23
  /**
18
24
  * returns a function that, when invoked will only be triggered at most once during a given window of time
19
25
  * @param fn - the function to be throttled.
@@ -1 +1 @@
1
- {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src/utils/function.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CACpB,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACrC,OAAO,EAAE,OAAO,EAChB,GAAG,IAAI,EAAE,OAAO,EAAE,UAGlB;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,OAAO,EAAE,EAC3C,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,EACxB,OAAM,MAAY,MAKV,GAAG,MAAM,CAAC,SAkBlB,CAAC"}
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src/utils/function.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CAAC,KAAK,SAAS,OAAO,EAAE,EAC5C,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EACjC,OAAO,EAAE,OAAO,EAChB,GAAG,IAAI,EAAE,KAAK,UAGd;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,OAAO,EAAE,EAC3C,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,EACxB,OAAM,MAAY,MAKV,GAAG,MAAM,CAAC,SAkBlB,CAAC"}
@@ -2,4 +2,9 @@ export type XYPoint = {
2
2
  x: number;
3
3
  y: number;
4
4
  };
5
+ export type XYZPoint = {
6
+ x: number;
7
+ y: number;
8
+ z: number;
9
+ };
5
10
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/C,MAAM,MAAM,QAAQ,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -12,6 +12,7 @@ export default class VertexArrayBuffer {
12
12
  buffer: ArrayBuffer;
13
13
  bufferF32: Float32Array<ArrayBuffer>;
14
14
  bufferU32: Uint32Array<ArrayBuffer>;
15
+ bufferU8: Uint8Array<ArrayBuffer>;
15
16
  /**
16
17
  * clear the vertex array buffer
17
18
  * @ignore
@@ -26,14 +27,15 @@ export default class VertexArrayBuffer {
26
27
  * push a new vertex to the buffer
27
28
  * @param {number} x - x position
28
29
  * @param {number} y - y position
29
- * @param {number} u - texture U coordinate
30
- * @param {number} v - texture V coordinate
30
+ * @param {number} z - z position (per-renderable depth; 0 under ortho)
31
+ * @param {number} u - texture U coordinate (or aNormal.x for primitives)
32
+ * @param {number} v - texture V coordinate (or aNormal.y for primitives)
31
33
  * @param {number} tint - tint color in UINT32 (argb) format
32
34
  * @param {number} [textureId] - texture unit index for multi-texture batching
33
35
  * @param {number} [normalTextureId] - paired normal-map texture unit index, or `-1` for unlit quads
34
36
  * @ignore
35
37
  */
36
- push(x: number, y: number, u: number, v: number, tint: number, textureId?: number, normalTextureId?: number): this;
38
+ push(x: number, y: number, z: number, u: number, v: number, tint: number, textureId?: number, normalTextureId?: number): this;
37
39
  /**
38
40
  * push a new vertex with all-float data to the buffer
39
41
  * @param {ArrayLike<number>} data - float values for one vertex
@@ -43,7 +45,12 @@ export default class VertexArrayBuffer {
43
45
  */
44
46
  pushFloats(data: ArrayLike<number>, srcOffset: number, count: number): this;
45
47
  /**
46
- * push a new vertex to the buffer (mesh format: x, y, z, u, v, tint)
48
+ * push a new vertex to the buffer (mesh format: x, y, z, u, v, tint).
49
+ * Color is unpacked from the ARGB Uint32 input into 4 normalized
50
+ * `[0, 1]` floats — the mesh batcher's `aColor` attribute is
51
+ * `FLOAT × 4` rather than `UNSIGNED_BYTE × 4` to avoid NaN-pattern
52
+ * bit values getting canonicalized on Metal-backed WebGL drivers.
53
+ * See `mesh_batcher.init` for the rationale.
47
54
  * @ignore
48
55
  */
49
56
  pushMesh(x: any, y: any, z: any, u: any, v: any, tint: any): this;
@@ -57,5 +64,13 @@ export default class VertexArrayBuffer {
57
64
  * @ignore
58
65
  */
59
66
  toUint32(begin: any, end: any): Uint32Array<ArrayBuffer>;
67
+ /**
68
+ * return a byte-view reference to the data — use this for `gl.bufferData`
69
+ * uploads to avoid the NaN-canonicalization that some drivers perform
70
+ * on Float32 uploads of the same backing buffer (see the constructor's
71
+ * `bufferU8` comment).
72
+ * @ignore
73
+ */
74
+ toUint8(byteBegin: any, byteEnd: any): Uint8Array<ArrayBuffer>;
60
75
  }
61
76
  //# sourceMappingURL=vertex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vertex.d.ts","sourceRoot":"","sources":["../../../src/video/buffer/vertex.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;IACC,6CAeC;IAbA,gBAA4B;IAE5B,eAA0B;IAE1B,oBAAoB;IAGpB,oBAEC;IAED,qCAA8C;IAC9C,oCAA6C;IAG9C;;;OAGG;IACH,cAEC;IAED;;;OAGG;IACH,6BAEC;IAED;;;;;;;;;;OAUG;IACH,QATW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,QACN,MAAM,cACN,MAAM,oBACN,MAAM,QA4BhB;IAED;;;;;;OAMG;IACH,iBALW,SAAS,CAAC,MAAM,CAAC,aACjB,MAAM,SACN,MAAM,QAahB;IAED;;;OAGG;IACH,kEAaC;IAED;;;OAGG;IACH,2DAMC;IAED;;;OAGG;IACH,yDAMC;CACD"}
1
+ {"version":3,"file":"vertex.d.ts","sourceRoot":"","sources":["../../../src/video/buffer/vertex.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;IACC,6CAyBC;IAvBA,gBAA4B;IAE5B,eAA0B;IAE1B,oBAAoB;IAGpB,oBAEC;IAED,qCAA8C;IAC9C,oCAA6C;IAU7C,kCAA2C;IAG5C;;;OAGG;IACH,cAEC;IAED;;;OAGG;IACH,6BAEC;IAED;;;;;;;;;;;OAWG;IACH,QAVW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,QACN,MAAM,cACN,MAAM,oBACN,MAAM,QA6BhB;IAED;;;;;;OAMG;IACH,iBALW,SAAS,CAAC,MAAM,CAAC,aACjB,MAAM,SACN,MAAM,QAahB;IAED;;;;;;;;OAQG;IACH,kEAgBC;IAED;;;OAGG;IACH,2DAMC;IAED;;;OAGG;IACH,yDAMC;IAED;;;;;;OAMG;IACH,+DAMC;CACD"}
@@ -78,7 +78,7 @@ export default class CanvasRenderer extends Renderer {
78
78
  /**
79
79
  * Create a pattern with the specified repetition
80
80
  * @param {HTMLImageElement|SVGImageElement|HTMLVideoElement|HTMLCanvasElement|ImageBitmap|OffscreenCanvas|VideoFrame} image - Source image to be used as the pattern's image
81
- * @param {string} repeat - Define how the pattern should be repeated
81
+ * @param {string} [repeat="no-repeat"] - Define how the pattern should be repeated. One of `"repeat"` / `"repeat-x"` / `"repeat-y"` / `"no-repeat"`.
82
82
  * @returns {CanvasPattern}
83
83
  * @see ImageLayer#repeat
84
84
  * @example
@@ -87,7 +87,7 @@ export default class CanvasRenderer extends Renderer {
87
87
  * let vertical = renderer.createPattern(image, "repeat-y");
88
88
  * let basic = renderer.createPattern(image, "no-repeat");
89
89
  */
90
- createPattern(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame, repeat: string): CanvasPattern;
90
+ createPattern(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame, repeat?: string): CanvasPattern;
91
91
  /**
92
92
  * Draw a pattern within the given rectangle.
93
93
  * @param {CanvasPattern} pattern - Pattern object
@@ -98,9 +98,9 @@ export default class CanvasRenderer extends Renderer {
98
98
  * @see CanvasRenderer#createPattern
99
99
  */
100
100
  drawPattern(pattern: CanvasPattern, x: number, y: number, width: number, height: number): void;
101
+ _meshColorCanvas: HTMLCanvasElement | OffscreenCanvas | undefined;
102
+ _meshColorCtx: RenderingContext | OffscreenCanvasRenderingContext2D | null | undefined;
101
103
  _meshSortBuf: Float64Array<ArrayBuffer> | undefined;
102
- _meshColorCanvas: HTMLCanvasElement | undefined;
103
- _meshColorCtx: CanvasRenderingContext2D | null | undefined;
104
104
  /**
105
105
  * starts a new path by emptying the list of sub-paths. Call this method when you want to create a new path
106
106
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"canvas_renderer.d.ts","sourceRoot":"","sources":["../../../src/video/canvas/canvas_renderer.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas_renderer.d.ts","sourceRoot":"","sources":["../../../src/video/canvas/canvas_renderer.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Create and return a new Canvas element (or `OffscreenCanvas` when
3
+ * supported and `returnOffscreenCanvas` is true). The single low-level
4
+ * allocator used by every renderer-side scratch / fallback / render-
5
+ * target canvas in the engine.
6
+ *
7
+ * Lives in its own module (not on `Renderer` directly) to break the
8
+ * circular dependency between `Renderer` and `CanvasRenderTarget` —
9
+ * both can import this helper without referencing each other.
10
+ * `Renderer.createCanvas` re-exposes it as a static method for the
11
+ * public-facing API; internal callers can import it directly.
12
+ *
13
+ * Gates the OffscreenCanvas path on `device.offscreenCanvas` (the
14
+ * vetted capability check — actually instantiates + verifies
15
+ * `getContext("2d")` works inside a try/catch, covering historical
16
+ * Safari quirks).
17
+ * @param {number} width - canvas width in pixels
18
+ * @param {number} height - canvas height in pixels
19
+ * @param {boolean} [returnOffscreenCanvas=false] - return an
20
+ * `OffscreenCanvas` if the platform supports it
21
+ * @returns {HTMLCanvasElement|OffscreenCanvas} a new canvas of the given size
22
+ * @ignore
23
+ */
24
+ export function createCanvas(width: number, height: number, returnOffscreenCanvas?: boolean): HTMLCanvasElement | OffscreenCanvas;
25
+ //# sourceMappingURL=canvas_factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas_factory.d.ts","sourceRoot":"","sources":["../../src/video/canvas_factory.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,oCAPW,MAAM,UACN,MAAM,0BACN,OAAO,GAEL,iBAAiB,GAAC,eAAe,CAsB7C"}
@@ -13,7 +13,35 @@
13
13
  * a base renderer object
14
14
  * @category Rendering
15
15
  */
16
- export default class Renderer {
16
+ declare class Renderer {
17
+ /**
18
+ * Create and return a new Canvas element (or `OffscreenCanvas` when
19
+ * supported and `returnOffscreenCanvas` is true). Centralized
20
+ * renderer-side allocator so every scratch / fallback / render-
21
+ * target canvas in the engine routes through the same
22
+ * `OffscreenCanvas`-aware path, instead of duplicating
23
+ * `document.createElement` calls that throw in worker contexts.
24
+ * @param {number} width - canvas width in pixels
25
+ * @param {number} height - canvas height in pixels
26
+ * @param {boolean} [returnOffscreenCanvas=false] - return an
27
+ * `OffscreenCanvas` if the platform supports it
28
+ * @returns {HTMLCanvasElement|OffscreenCanvas} a new canvas of the given size
29
+ */
30
+ static createCanvas(width: number, height: number, returnOffscreenCanvas?: boolean): HTMLCanvasElement | OffscreenCanvas;
31
+ /**
32
+ * Shared 1×1 fully-white canvas used as a no-op texture fallback.
33
+ * Renderers and renderables that need a "blank" texture binding
34
+ * (e.g. to satisfy a shader's sampler input when there's no real
35
+ * image — Kd-only `Mesh` materials, solid-color quad fills, etc.)
36
+ * should use this rather than allocating their own.
37
+ *
38
+ * Lazily created on first call; shared across every caller; uses
39
+ * `OffscreenCanvas` where supported (worker-safe). Static so it's
40
+ * accessible without a renderer instance (e.g. from a `Mesh`
41
+ * constructor that runs before the active renderer is set).
42
+ * @returns {HTMLCanvasElement|OffscreenCanvas} the shared 1×1 white canvas
43
+ */
44
+ static getWhitePixel(): HTMLCanvasElement | OffscreenCanvas;
17
45
  /**
18
46
  * @param {ApplicationSettings} [options] - optional parameters for the renderer
19
47
  */
@@ -49,14 +77,15 @@ export default class Renderer {
49
77
  */
50
78
  isContextValid: boolean;
51
79
  /**
52
- * The GPU renderer string (WebGL only, undefined for Canvas)
80
+ * The GPU device identifier string (set by GPU renderers — WebGL today,
81
+ * WebGPU once it lands; undefined for Canvas).
53
82
  * @type {string|undefined}
54
83
  */
55
84
  GPURenderer: string | undefined;
56
85
  /**
57
86
  * an optional custom shader to use instead of the default one.
58
87
  * Set by a renderable's preDraw when a shader is assigned.
59
- * (WebGL only, ignored by Canvas renderer)
88
+ * (GPU renderers only; ignored by Canvas renderer)
60
89
  * @type {GLShader|ShaderEffect|undefined}
61
90
  * @ignore
62
91
  */
@@ -136,6 +165,18 @@ export default class Renderer {
136
165
  * @type {string}
137
166
  */
138
167
  get currentBlendMode(): string;
168
+ set currentDepth(value: number);
169
+ /**
170
+ * Current per-renderable depth value. GPU batchers (WebGL today,
171
+ * WebGPU once it lands) push it into the vertex stream as the `z`
172
+ * component of each vertex — a no-op under the default orthographic
173
+ * projection, used by perspective (Camera3d) to
174
+ * scale and parallax sprites by distance. Mirrors `renderable.depth`,
175
+ * set automatically by `Renderable.preDraw` via {@link Renderer#setDepth}.
176
+ * @type {number}
177
+ * @default 0
178
+ */
179
+ get currentDepth(): number;
139
180
  set height(value: number);
140
181
  /**
141
182
  * return the height of the canvas which this renderer draws to
@@ -170,6 +211,12 @@ export default class Renderer {
170
211
  * Reset context state
171
212
  */
172
213
  reset(): void;
214
+ /**
215
+ * Release any renderer-owned resources. Default is a no-op;
216
+ * subclasses override to tear down batchers, FBO pools, GL
217
+ * programs, etc. Called by {@link Application#destroy}.
218
+ */
219
+ destroy(): void;
173
220
  /**
174
221
  * return a reference to the current render target corresponding canvas which this renderer draws to
175
222
  * @returns {HTMLCanvasElement}
@@ -182,9 +229,11 @@ export default class Renderer {
182
229
  getContext(): CanvasRenderingContext2D | WebGLRenderingContext;
183
230
  /**
184
231
  * return the list of supported compressed texture formats.
185
- * The base implementation returns null for all formats (no GPU compressed texture support).
186
- * The WebGL renderer overrides this with actual extension availability.
187
- * @returns {Object} an object with one key per extension family, each value is the WebGL extension object or null
232
+ * The base implementation returns null for all formats (no GPU
233
+ * compressed texture support). GPU renderers (WebGL today, WebGPU
234
+ * once it lands) override this with the backend-specific extension /
235
+ * feature query.
236
+ * @returns {Object} an object with one key per extension family, each value is the backend's compressed-texture handle or null
188
237
  */
189
238
  getSupportedCompressedTextureFormats(): Object;
190
239
  /**
@@ -267,9 +316,10 @@ export default class Renderer {
267
316
  getBlendMode(): string;
268
317
  /**
269
318
  * set the current blend mode.
270
- * Subclasses (CanvasRenderer, WebGLRenderer) implement the actual GL/Canvas logic.
319
+ * Subclasses (CanvasRenderer, WebGLRenderer, WebGPURenderer once it
320
+ * lands) implement the actual backend logic.
271
321
  * @param {string} [mode="normal"] - blend mode
272
- * @param {boolean} [premultipliedAlpha=true] - whether textures use premultiplied alpha (WebGL only)
322
+ * @param {boolean} [premultipliedAlpha=true] - whether textures use premultiplied alpha (GPU renderers only)
273
323
  */
274
324
  setBlendMode(mode?: string): void;
275
325
  /**
@@ -277,11 +327,12 @@ export default class Renderer {
277
327
  *
278
328
  * Called once per camera per frame by `Camera2d.draw()` (after the
279
329
  * FBO is bound, before the world tree walk fires `Sprite.draw` for
280
- * any normal-mapped sprite). The WebGL renderer overrides this to
281
- * pack the lights into the lit shader's uniform buffers; the Canvas
282
- * renderer cannot do per-pixel normal-map lighting and silently
283
- * ignores the call. The first time a non-empty light list is passed
284
- * in Canvas mode, a one-shot console warning is emitted.
330
+ * any normal-mapped sprite). GPU renderers (WebGL today, WebGPU once
331
+ * it lands) override this to pack the lights into the lit shader's
332
+ * uniform buffers; the Canvas renderer cannot do per-pixel normal-map
333
+ * lighting and silently ignores the call. The first time a non-empty
334
+ * light list is passed in Canvas mode, a one-shot console warning is
335
+ * emitted.
285
336
  *
286
337
  * Stage stays renderer-agnostic by passing the raw scene data —
287
338
  * lights iterable and ambient color — and letting the renderer
@@ -399,7 +450,8 @@ export default class Renderer {
399
450
  */
400
451
  setAntiAlias(enable?: boolean): void;
401
452
  /**
402
- * set/change the current projection matrix (WebGL only)
453
+ * set/change the current projection matrix (GPU renderers only —
454
+ * the Canvas renderer applies projection via the 2D context's transform stack).
403
455
  * @param {Matrix3d} matrix
404
456
  */
405
457
  setProjection(matrix: Matrix3d): void;
@@ -505,7 +557,8 @@ export default class Renderer {
505
557
  strokeLine(startX: number, startY: number, endX: number, endY: number): void;
506
558
  /**
507
559
  * Draw an image or sub-image into the framebuffer.
508
- * Implemented by subclasses (`CanvasRenderer` / `WebGLRenderer`).
560
+ * Implemented by subclasses (`CanvasRenderer` / `WebGLRenderer` /
561
+ * future `WebGPURenderer`).
509
562
  *
510
563
  * The 9-argument signature shown here is the canonical form used
511
564
  * throughout the engine; the concrete renderers also accept the
@@ -546,6 +599,23 @@ export default class Renderer {
546
599
  * @see Renderer#setTint
547
600
  */
548
601
  clearTint(): void;
602
+ /**
603
+ * Set the current per-renderable depth value. GPU batchers (WebGL
604
+ * today, WebGPU once it lands) push it into the vertex stream as the
605
+ * `z` component of each vertex — a no-op under the default
606
+ * orthographic projection, used by perspective (Camera3d) to scale
607
+ * and parallax sprites by distance.
608
+ *
609
+ * Typically called automatically by `Renderable.preDraw` from the
610
+ * renderable's `depth` property. User code only needs to call this
611
+ * directly when emitting draw calls outside of a `Renderable.draw()`
612
+ * — e.g. from a custom `Container.draw()` override.
613
+ *
614
+ * Honored by the save/restore stack like `setTint` / `setColor`.
615
+ * @param {number} depth - the depth value to set
616
+ * @see Renderable#depth
617
+ */
618
+ setDepth(depth: number): void;
549
619
  /**
550
620
  * creates a Blob object representing the last rendered frame
551
621
  * @param {string} [type="image/png"] - A string indicating the image format
@@ -575,6 +645,10 @@ export default class Renderer {
575
645
  */
576
646
  toDataURL(type?: string, quality?: number): Promise<any>;
577
647
  }
648
+ declare namespace Renderer {
649
+ let _whitePixel: any;
650
+ }
651
+ export default Renderer;
578
652
  import CanvasRenderTarget from "./rendertarget/canvasrendertarget.js";
579
653
  import { Vector2d } from "../math/vector2d.ts";
580
654
  import type RenderTargetPool from "./rendertarget/render_target_pool.js";
@@ -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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"}
@@ -50,6 +50,16 @@ export default class RenderState {
50
50
  * @type {ShaderEffect|undefined}
51
51
  */
52
52
  currentShader: ShaderEffect | undefined;
53
+ /**
54
+ * current per-renderable depth value, pushed into the vertex stream
55
+ * by the WebGL batchers as the `z` component of each vertex. Has no
56
+ * visible effect under the engine's default orthographic projection;
57
+ * required for perspective (Camera3d) to scale sprites by distance.
58
+ * Mirrors `renderable.depth`, set by `Renderable.preDraw` via
59
+ * {@link Renderer#setDepth}.
60
+ * @type {number}
61
+ */
62
+ currentDepth: number;
53
63
  /**
54
64
  * @ignore
55
65
  */
@@ -77,6 +87,8 @@ export default class RenderState {
77
87
  _blendStack: any[];
78
88
  /** @ignore */
79
89
  _shaderStack: any[];
90
+ /** @ignore */
91
+ _depthStack: Float32Array<ArrayBuffer>;
80
92
  /**
81
93
  * Save the current state onto the stack (zero allocations).
82
94
  * @param {boolean} [scissorTestActive=false] - whether scissor/clip is currently enabled
@@ -1 +1 @@
1
- {"version":3,"file":"renderstate.d.ts","sourceRoot":"","sources":["../../src/video/renderstate.js"],"names":[],"mappings":"AAGA;;GAEG;AAEH;;;;;;;GAOG;AACH;IAEE;;;OAGG;IACH,cAFU,KAAK,CAE4B;IAE3C;;;OAGG;IACH,aAFU,KAAK,CAEiC;IAEhD;;;OAGG;IACH,kBAFU,QAAQ,CAEoB;IAEtC;;;OAGG;IACH,gBAFU,UAAU,CAEmB;IAEvC;;;OAGG;IACH,iBAFU,QAAQ,GAAC,IAAI,CAEI;IAE3B;;;OAGG;IACH,UAFU,MAAM,EAAE,CAEA;IAElB;;;OAGG;IACH,kBAFU,MAAM,CAEc;IAE9B;;;OAGG;IACH,eAFU,YAAY,GAAC,SAAS,CAEF;IAI9B;;OAEG;IACH,uBAAwB;IAExB;;;OAGG;IACH,oBAAoB;IAEpB,cAAc;IACd,qBAEE;IAEF,cAAc;IACd,oBAEE;IAEF,cAAc;IACd,yBAEE;IAEF,cAAc;IACd,yCAEE;IAEF,cAAc;IACd,sBAAoD;IAEpD,cAAc;IACd,wCAAyD;IAEzD,cAAc;IACd,sBAAoD;IAEpD,cAAc;IACd,mBAAiD;IAEjD,cAAc;IACd,oBAAkD;IAGnD;;;OAGG;IACH,yBAFW,OAAO,QAyBjB;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,eAFa,UAAU,GAAG,IAAI,CAQ7B;IAED;;;;;;;;OAQG;IACH,qBAJW,MAAM,gBACN,MAAM,GACJ;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAyBhE;IAED;;;;OAIG;IACH,aAHW,MAAM,UACN,MAAM,QAUhB;IAED,sDAAsD;IACtD,oBAiBC;CACD;sBA9OqB,oBAAoB;yBACjB,qBAAqB;8BAGnB,eAAe"}
1
+ {"version":3,"file":"renderstate.d.ts","sourceRoot":"","sources":["../../src/video/renderstate.js"],"names":[],"mappings":"AAGA;;GAEG;AAEH;;;;;;;GAOG;AACH;IAEE;;;OAGG;IACH,cAFU,KAAK,CAE4B;IAE3C;;;OAGG;IACH,aAFU,KAAK,CAEiC;IAEhD;;;OAGG;IACH,kBAFU,QAAQ,CAEoB;IAEtC;;;OAGG;IACH,gBAFU,UAAU,CAEmB;IAEvC;;;OAGG;IACH,iBAFU,QAAQ,GAAC,IAAI,CAEI;IAE3B;;;OAGG;IACH,UAFU,MAAM,EAAE,CAEA;IAElB;;;OAGG;IACH,kBAFU,MAAM,CAEc;IAE9B;;;OAGG;IACH,eAFU,YAAY,GAAC,SAAS,CAEF;IAE9B;;;;;;;;OAQG;IACH,cAFU,MAAM,CAEK;IAIrB;;OAEG;IACH,uBAAwB;IAExB;;;OAGG;IACH,oBAAoB;IAEpB,cAAc;IACd,qBAEE;IAEF,cAAc;IACd,oBAEE;IAEF,cAAc;IACd,yBAEE;IAEF,cAAc;IACd,yCAEE;IAEF,cAAc;IACd,sBAAoD;IAEpD,cAAc;IACd,wCAAyD;IAEzD,cAAc;IACd,sBAAoD;IAEpD,cAAc;IACd,mBAAiD;IAEjD,cAAc;IACd,oBAAkD;IAElD,cAAc;IACd,uCAAwD;IAGzD;;;OAGG;IACH,yBAFW,OAAO,QA0BjB;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,eAFa,UAAU,GAAG,IAAI,CAQ7B;IAED;;;;;;;;OAQG;IACH,qBAJW,MAAM,gBACN,MAAM,GACJ;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CA0BhE;IAED;;;;OAIG;IACH,aAHW,MAAM,UACN,MAAM,QAWhB;IAED,sDAAsD;IACtD,oBAoBC;CACD;sBAlQqB,oBAAoB;yBACjB,qBAAqB;8BAGnB,eAAe"}
@@ -22,7 +22,9 @@ export default abstract class RenderTarget {
22
22
  /**
23
23
  * Bind this render target as the active draw destination.
24
24
  * All subsequent draw calls will render into this target until {@link unbind} is called.
25
- * No-op by default — subclasses override for GPU render targets (e.g. WebGL FBOs).
25
+ * No-op by default — subclasses override for GPU render targets
26
+ * (a WebGL FBO today, a `GPURenderPassEncoder` once the WebGPU
27
+ * renderer lands).
26
28
  */
27
29
  bind(): void;
28
30
  /**