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
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../src/input/keyboard.ts"],"names":[],"mappings":"AA8EA;;GAEG;AACH,eAAO,MAAM,mBAAmB,MAAO,CAAC;AAExC,wBAAgB,iBAAiB,SAahC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,WAQ1C;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,WAEvC;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,WAAW,CAAC,EAAE,MAAM,QAIpB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,GACnB,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,OAAO,OAAO,EACd,wBAAqC,SASrC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,UAE5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,QAEvC;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,QASxC"}
1
+ {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../src/input/keyboard.ts"],"names":[],"mappings":"AA6EA;;GAEG;AACH,eAAO,MAAM,mBAAmB,MAAO,CAAC;AAExC,wBAAgB,iBAAiB,SAWhC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,WAQ1C;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,WAEvC;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,WAAW,CAAC,EAAE,MAAM,QAIpB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,GACnB,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,OAAO,OAAO,EACd,wBAAqC,SASrC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,UAE5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,QAEvC;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,QASxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pointerevent.d.ts","sourceRoot":"","sources":["../../src/input/pointerevent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAepD,OAAO,OAAO,MAAM,cAAc,CAAC;AAoBnC;;;GAGG;AACH,eAAO,IAAI,IAAI,EAAE,WAAW,CAAC;AAmgB7B;;GAEG;AACH,eAAO,IAAI,kBAAkB,EAAE,WAAW,GAAG,IAAW,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAAiC,CAAC;AAExD;;GAEG;AACH,eAAO,IAAI,MAAM,EAAE,OAAe,CAAC;AAEnC;;;;GAIG;AACH,eAAO,IAAI,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;AAElD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAY1E;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,KAAK,CAAC,EAAE,MAAM,GACZ,IAAI,CAEN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAanD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAGnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,oBAAoB,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,GAC5C,IAAI,CAsCN;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,GAAG,EACX,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,GAC7C,IAAI,CAiCN;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAMzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAO5C;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAMzC"}
1
+ {"version":3,"file":"pointerevent.d.ts","sourceRoot":"","sources":["../../src/input/pointerevent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAepD,OAAO,OAAO,MAAM,cAAc,CAAC;AAoBnC;;;GAGG;AACH,eAAO,IAAI,IAAI,EAAE,WAAW,CAAC;AAggB7B;;GAEG;AACH,eAAO,IAAI,kBAAkB,EAAE,WAAW,GAAG,IAAW,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAAiC,CAAC;AAExD;;GAEG;AACH,eAAO,IAAI,MAAM,EAAE,OAAe,CAAC;AAEnC;;;;GAIG;AACH,eAAO,IAAI,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;AAElD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAY1E;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,KAAK,CAAC,EAAE,MAAM,GACZ,IAAI,CAEN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAanD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAGnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,oBAAoB,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,GAC5C,IAAI,CAsCN;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,GAAG,EACX,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,GAC7C,IAAI,CAiCN;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAMzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAO5C;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAMzC"}
@@ -1,3 +1,21 @@
1
+ /**
2
+ * Triggers a fullscreen request. Requires fullscreen support from the browser/device.
3
+ *
4
+ * Re-exported under `me.device.*` for backwards compatibility; the canonical
5
+ * post-19.7 entry point is `Application#requestFullscreen`, which uses the
6
+ * Application's own `parentElement` instead of the deprecated global-game canvas lookup.
7
+ * @param {Element} [element] - the element to be set in full-screen mode
8
+ * @deprecated since 19.7.0 — use {@link Application#requestFullscreen} instead.
9
+ */
10
+ export function requestFullscreen(element?: Element): void;
11
+ /**
12
+ * Exit fullscreen mode. Requires fullscreen support from the browser/device.
13
+ *
14
+ * Re-exported under `me.device.*` for backwards compatibility; the canonical
15
+ * post-19.7 entry point is `Application#exitFullscreen`.
16
+ * @deprecated since 19.7.0 — use {@link Application#exitFullscreen} instead.
17
+ */
18
+ export function exitFullscreen(): void;
1
19
  /**
2
20
  * @deprecated since 17.1.0
3
21
  * @see CanvasRenderTarget
@@ -1 +1 @@
1
- {"version":3,"file":"deprecated.d.ts","sourceRoot":"","sources":["../../src/lang/deprecated.js"],"names":[],"mappings":"AAYA;;;GAGG;AACH;IACC;;;;;;;;OAQG;IACH,mBARW,MAAM,UACN,MAAM,cAEd;QAA6B,OAAO;QACP,eAAe;QACf,kBAAkB;QAClB,SAAS;KACxC,EAIA;CACD;AA4BD;;;GAGG;AACH;IACC,0BAA0B;IAC1B,qBADY,GAAG,EAAE,EAIhB;CACD;AAED;;;GAGG;AACH;IACC,0BAA0B;IAC1B,qBADY,GAAG,EAAE,EAIhB;CACD;AAED;;;GAGG;AACH;IACC,0BAA0B;IAC1B,qBADY,GAAG,EAAE,EAIhB;CACD;;+BA3F8B,6CAA6C;wBACpD,oCAAoC;6BAC/B,8CAA8C;wBACnD,yCAAyC"}
1
+ {"version":3,"file":"deprecated.d.ts","sourceRoot":"","sources":["../../src/lang/deprecated.js"],"names":[],"mappings":"AAuJA;;;;;;;;GAQG;AACH,4CAHW,OAAO,QAsBjB;AAED;;;;;;GAMG;AACH,uCAeC;AA7LD;;;GAGG;AACH;IACC;;;;;;;;OAQG;IACH,mBARW,MAAM,UACN,MAAM,cAEd;QAA6B,OAAO;QACP,eAAe;QACf,kBAAkB;QAClB,SAAS;KACxC,EAIA;CACD;AA4BD;;;GAGG;AACH;IACC,0BAA0B;IAC1B,qBADY,GAAG,EAAE,EAIhB;CACD;AAED;;;GAGG;AACH;IACC,0BAA0B;IAC1B,qBADY,GAAG,EAAE,EAIhB;CACD;AAED;;;GAGG;AACH;IACC,0BAA0B;IAC1B,qBADY,GAAG,EAAE,EAIhB;CACD;;+BA5F8B,6CAA6C;wBAEpD,oCAAoC;6BAC/B,8CAA8C;wBACnD,yCAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TMXLayer.d.ts","sourceRoot":"","sources":["../../../src/level/tiled/TMXLayer.js"],"names":[],"mappings":"AA2GA;;;;GAIG;AACH;IACC;;;;;;;;OAQG;IACH,iBARW,MAAM,QACN,MAAM,aACN,MAAM,cACN,MAAM,eACN,MAAM,YACN,eAAe,KACf,MAAM,EA4LhB;IArLA,eAA4C;IAC5C,gBAA+C;IAG/C,oBAA8B;IAE9B;;;;OAIG;IACH,GAFU,MAAM,CAEN;IAEV;;;;OAIG;IACH,GAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,UAFU,eAAe,CAED;IAGxB,aAAwE;IAGxE;;;MAGC;IAaD;;;OAGG;IACH,kBAFU,UAAU,EAAE,CAEI;IAE1B;;;OAGG;IACH,YAFU,OAAO,CAEM;IAEvB;;;;;OAKG;IACH,aAHU,MAAM,CAGmC;IAEnD;;;OAGG;IACH,OAFU,MAAM,CAEO;IASvB,UAAqB;IACrB,aAAuB;IACvB,aAAwB;IA8BxB;;;;;;;;;OASG;IACH,WAFU,WAAW,CAEsC;IAE3D;;;;;;;;;;;OAWG;IACH,YAHU,KAAK,CAAC,IAAI,GAAC,IAAI,CAAC,GAAC,IAAI,CAGT;IAEtB;;;;;OAKG;IACH,aAFU,MAAM,CAEI;IAEpB;;;;;;;;;;;;;;OAcG;IACH,YAHU,MAAM,CAGQ;IAwBzB,wBAkCC;IAfC,2CAKE;IAOH,+BAAgD;IAKjD;;;;;;;OAOG;IACH,2BAqDC;IAED;;;;;;OAMG;IACH,kCALW,MAAM,cACN,OAAO,GACL;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,CA+C1C;IAGD,0BAOC;IAED;;;;;;;OAOG;IACH,sBANW,WAAW,QASrB;IAFA,cAAwB;IAIzB;;;OAGG;IACH,eAFa,WAAW,CAIvB;IAED;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,GACJ,MAAM,CAKlB;IAED;;;;;;;;;;OAUG;IACH,WATW,MAAM,KACN,MAAM,GACJ,IAAI,CAoBhB;IAED;;;;;;OAMG;IACH,cALW,IAAI,KACJ,MAAM,KACN,MAAM,GACJ,IAAI,CA4BhB;IAfC,uCAA6B;IAiB/B;;;;;;OAMG;IACH,oBALW,MAAM,KACN,MAAM,KACN,MAAM,GACJ,IAAI,CAQhB;IAED;;;;;;;;;OASG;IACH,UARW,MAAM,KACN,MAAM,gBACN,MAAM,GACJ,IAAI,CA6ChB;IAED;;;;;;;;;OASG;IACH,aARW,MAAM,KACN,MAAM,QA8BhB;IAED;;;OAGG;IACH,yBAQC;IAED;;;OAGG;IACH,qCAIC;CACD;uBAlrBsB,gCAAgC;iBAStC,cAAc;2BARJ,oCAAoC"}
1
+ {"version":3,"file":"TMXLayer.d.ts","sourceRoot":"","sources":["../../../src/level/tiled/TMXLayer.js"],"names":[],"mappings":"AAmHA;;;;GAIG;AACH;IACC;;;;;;;;OAQG;IACH,iBARW,MAAM,QACN,MAAM,aACN,MAAM,cACN,MAAM,eACN,MAAM,YACN,eAAe,KACf,MAAM,EA4LhB;IArLA,eAA4C;IAC5C,gBAA+C;IAG/C,oBAA8B;IAE9B;;;;OAIG;IACH,GAFU,MAAM,CAEN;IAEV;;;;OAIG;IACH,GAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,UAFU,eAAe,CAED;IAGxB,aAAwE;IAGxE;;;MAGC;IAaD;;;OAGG;IACH,kBAFU,UAAU,EAAE,CAEI;IAE1B;;;OAGG;IACH,YAFU,OAAO,CAEM;IAEvB;;;;;OAKG;IACH,aAHU,MAAM,CAGmC;IAEnD;;;OAGG;IACH,OAFU,MAAM,CAEO;IASvB,UAAqB;IACrB,aAAuB;IACvB,aAAwB;IA8BxB;;;;;;;;;OASG;IACH,WAFU,WAAW,CAEsC;IAE3D;;;;;;;;;;;OAWG;IACH,YAHU,KAAK,CAAC,IAAI,GAAC,IAAI,CAAC,GAAC,IAAI,CAGT;IAEtB;;;;;OAKG;IACH,aAFU,MAAM,CAEI;IAEpB;;;;;;;;;;;;;;OAcG;IACH,YAHU,MAAM,CAGQ;IAwBzB,wBAkCC;IAfC,2CAKE;IAOH,+BAAgD;IAKjD;;;;;;;OAOG;IACH,2BAkEC;IAED;;;;;;OAMG;IACH,kCALW,MAAM,cACN,OAAO,GACL;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,CA+C1C;IAGD,0BAOC;IAED;;;;;;;OAOG;IACH,sBANW,WAAW,QASrB;IAFA,cAAwB;IAIzB;;;OAGG;IACH,eAFa,WAAW,CAIvB;IAED;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,GACJ,MAAM,CAKlB;IAED;;;;;;;;;;OAUG;IACH,WATW,MAAM,KACN,MAAM,GACJ,IAAI,CAoBhB;IAED;;;;;;OAMG;IACH,cALW,IAAI,KACJ,MAAM,KACN,MAAM,GACJ,IAAI,CA4BhB;IAfC,uCAA6B;IAiB/B;;;;;;OAMG;IACH,oBALW,MAAM,KACN,MAAM,KACN,MAAM,GACJ,IAAI,CAQhB;IAED;;;;;;;;;OASG;IACH,UARW,MAAM,KACN,MAAM,gBACN,MAAM,GACJ,IAAI,CA6ChB;IAED;;;;;;;;;OASG;IACH,aARW,MAAM,KACN,MAAM,QA8BhB;IAED;;;OAGG;IACH,yBAQC;IAED;;;OAGG;IACH,qCAIC;CACD;uBAvsBsB,gCAAgC;iBAStC,cAAc;2BARJ,oCAAoC"}
@@ -4,6 +4,14 @@ export default DefaultLoadingScreen;
4
4
  * @ignore
5
5
  */
6
6
  declare class DefaultLoadingScreen extends Stage {
7
+ /**
8
+ * Pin the loading screen to a Camera2d regardless of the
9
+ * application's `cameraClass` setting. The loader must render
10
+ * correctly even when the host app opts in to Camera3d globally
11
+ * — a perspective camera applied to a 2D progress bar would
12
+ * stretch / clip the bar based on its depth.
13
+ */
14
+ constructor();
7
15
  /**
8
16
  * @ignore
9
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"loadingscreen.d.ts","sourceRoot":"","sources":["../../src/loader/loadingscreen.js"],"names":[],"mappings":";AA4EA;;;GAGG;AACH;IACC;;OAEG;IACH,kBAAmB;IAEnB;;OAEG;IACH,iBAAkB;IAclB;;;OAGG;IACH,6BAiCC;IAsBD;;;OAGG;IACH,uBAOC;;CACD;kBA5KiB,qBAAqB"}
1
+ {"version":3,"file":"loadingscreen.d.ts","sourceRoot":"","sources":["../../src/loader/loadingscreen.js"],"names":[],"mappings":";AA6EA;;;GAGG;AACH;IAuBC;;;;;;OAMG;IACH,cAEC;IA/BD;;OAEG;IACH,kBAAmB;IAEnB;;OAEG;IACH,iBAAkB;IAyBlB;;;OAGG;IACH,6BAiCC;IAiCD;;;OAGG;IACH,uBAOC;;CACD;kBAlMiB,qBAAqB"}
@@ -1 +1 @@
1
- {"version":3,"file":"mtl.d.ts","sourceRoot":"","sources":["../../../src/loader/parsers/mtl.js"],"names":[],"mappings":"AAsIA;;;;;;;;GAQG;AACH,iCAPW,MAAM,CAAC,KAAK,oDAGZ,MAAM,GACJ,MAAM,CAyBlB"}
1
+ {"version":3,"file":"mtl.d.ts","sourceRoot":"","sources":["../../../src/loader/parsers/mtl.js"],"names":[],"mappings":"AA+HA;;;;;;;;GAQG;AACH,iCAPW,MAAM,CAAC,KAAK,oDAGZ,MAAM,GACJ,MAAM,CAyBlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"obj.d.ts","sourceRoot":"","sources":["../../../src/loader/parsers/obj.js"],"names":[],"mappings":"AA+KA;;;;;;;;GAQG;AACH,iCAPW,MAAM,CAAC,KAAK,oDAGZ,MAAM,GACJ,MAAM,CAuBlB"}
1
+ {"version":3,"file":"obj.d.ts","sourceRoot":"","sources":["../../../src/loader/parsers/obj.js"],"names":[],"mappings":"AAoQA;;;;;;;;GAQG;AACH,iCAPW,MAAM,CAAC,KAAK,oDAGZ,MAAM,GACJ,MAAM,CAuBlB"}
@@ -3,7 +3,7 @@
3
3
  * @category Math
4
4
  */
5
5
  export declare class Color {
6
- private glArray;
6
+ private normalizedRGBA;
7
7
  /**
8
8
  * Creates a new Color instance.
9
9
  * @param r - A Color object or the red component [0 .. 255]. Defaults to 0.
@@ -79,13 +79,51 @@ export declare class Color {
79
79
  */
80
80
  setHSV(h: number, s: number, v: number): this;
81
81
  /**
82
- * Sets the color to the specified HSL values.
83
- * @param h - The hue [0 .. 1].
84
- * @param s - The saturation [0 .. 1].
85
- * @param l - The lightness [0 .. 1].
82
+ * Sets the color from HSL values, **with hue in `[0..1]`** (the
83
+ * GLSL / WebGL shader convention — `0 = red`, `1/3 = green`,
84
+ * `2/3 = blue`, `1` = back to red). If you're coming from CSS /
85
+ * Photoshop / D3 and have a hue in degrees (`0..360`), divide by
86
+ * 360 first — or call {@link Color#setHSLDeg} which does it for you.
87
+ *
88
+ * Hue wraps at integer boundaries, so `h = 1` and `h = 0` produce
89
+ * the same red. Saturation `0` short-circuits to a grey at the
90
+ * requested lightness, ignoring hue. Lightness `0` or `1` produce
91
+ * pure black or pure white regardless of the other two.
92
+ * @param h - The hue, normalized to `[0..1]` (NOT degrees).
93
+ * @param s - The saturation `[0..1]`.
94
+ * @param l - The lightness `[0..1]`.
86
95
  * @returns Reference to this object for method chaining.
96
+ * @see {@link Color#setHSLDeg} for the degrees-based variant.
97
+ * @example
98
+ * // pure green (hue 1/3, full saturation, mid lightness)
99
+ * color.setHSL(1 / 3, 1, 0.5);
100
+ * // CSS hsl(200deg, 80%, 60%) — divide hue by 360 first
101
+ * color.setHSL(200 / 360, 0.8, 0.6);
87
102
  */
88
103
  setHSL(h: number, s: number, l: number): this;
104
+ /**
105
+ * Sets the color from HSL values with **hue in degrees `[0..360]`**
106
+ * — the CSS / Photoshop / D3 convention. Thin convenience wrapper
107
+ * over {@link Color#setHSL}: divides `hDeg` by 360 and delegates.
108
+ * Saturation and lightness stay in `[0..1]` (the same units CSS
109
+ * percentages would normalize to).
110
+ *
111
+ * Use this when you're working from CSS color values, color-picker
112
+ * output, or any standard color reference. Prefer {@link Color#setHSL}
113
+ * when your hue is already normalized (e.g. from `Math.random()`,
114
+ * a noise function, or a shader uniform).
115
+ * @param hDeg - The hue in degrees `[0..360]`. Values outside the
116
+ * range are accepted (the underlying hue calc wraps).
117
+ * @param s - The saturation `[0..1]`.
118
+ * @param l - The lightness `[0..1]`.
119
+ * @returns Reference to this object for method chaining.
120
+ * @example
121
+ * // CSS hsl(200deg, 80%, 60%)
122
+ * color.setHSLDeg(200, 0.8, 0.6);
123
+ * // 360° wraps back to red — same as setHSLDeg(0, ...)
124
+ * color.setHSLDeg(360, 1, 0.5);
125
+ */
126
+ setHSLDeg(hDeg: number, s: number, l: number): this;
89
127
  /**
90
128
  * Creates a new copy of this color object.
91
129
  * @returns Reference to the newly cloned object.
@@ -1 +1 @@
1
- {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/math/color.ts"],"names":[],"mappings":"AA0MA;;;GAGG;AACH,qBAAa,KAAK;IACjB,OAAO,CAAC,OAAO,CAAe;IAE9B;;;;;;OAMG;gBACS,CAAC,GAAE,KAAK,GAAG,MAAM,GAAG,MAAU,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,KAAK,SAAM;IAcrE;;;OAGG;IACH,IAAI,CAAC,WAEJ;IAED;;;OAGG;IACH,IAAI,CAAC,CAAC,KAAK,QAAA,EAEV;IAED;;;OAGG;IACH,IAAI,CAAC,WAEJ;IAED;;;OAGG;IACH,IAAI,CAAC,CAAC,KAAK,QAAA,EAEV;IAED;;;OAGG;IACH,IAAI,CAAC,WAEJ;IAED;;;OAGG;IACH,IAAI,CAAC,CAAC,KAAK,QAAA,EAEV;IAED;;;OAGG;IACH,IAAI,KAAK,WAER;IAED;;;OAGG;IACH,IAAI,KAAK,CAAC,KAAK,QAAA,EAEd;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,EAAE,KAAK,SAAM;IASjE;;;;;;;OAOG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,SAAM;IASrD;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IA8CtC;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAmBtC;;;OAGG;IACH,KAAK;IAIL;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAS1B;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,KAAK;IAShB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM;IASpB;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;IAShC;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM;IAqBrB;;;;;OAKG;IACH,MAAM,CAAC,GAAG,SAAI,EAAE,GAAG,SAAM;IAgBzB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK;IASnB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAQzB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAazB;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,IAAI,MAAM,EAAE,EAAE,IAAI,UAAQ;IAmD7C;;;;OAIG;IACH,QAAQ,CAAC,KAAK,SAAM;IAUpB;;;OAGG;IACH,OAAO;IAIP;;;OAGG;IACH,KAAK;IAKL;;;;OAIG;IACH,MAAM,CAAC,KAAK,SAAkB;IAK9B;;;OAGG;IACH,KAAK;IAIL;;;;OAIG;IACH,MAAM,CAAC,KAAK,SAAa;CAGzB;AAED,eAAO,MAAM,SAAS,gKAwBpB,CAAC"}
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/math/color.ts"],"names":[],"mappings":"AA0MA;;;GAGG;AACH,qBAAa,KAAK;IACjB,OAAO,CAAC,cAAc,CAAe;IAErC;;;;;;OAMG;gBACS,CAAC,GAAE,KAAK,GAAG,MAAM,GAAG,MAAU,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,KAAK,SAAM;IAcrE;;;OAGG;IACH,IAAI,CAAC,WAEJ;IAED;;;OAGG;IACH,IAAI,CAAC,CAAC,KAAK,QAAA,EAEV;IAED;;;OAGG;IACH,IAAI,CAAC,WAEJ;IAED;;;OAGG;IACH,IAAI,CAAC,CAAC,KAAK,QAAA,EAEV;IAED;;;OAGG;IACH,IAAI,CAAC,WAEJ;IAED;;;OAGG;IACH,IAAI,CAAC,CAAC,KAAK,QAAA,EAEV;IAED;;;OAGG;IACH,IAAI,KAAK,WAER;IAED;;;OAGG;IACH,IAAI,KAAK,CAAC,KAAK,QAAA,EAEd;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,EAAE,KAAK,SAAM;IASjE;;;;;;;OAOG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,SAAM;IASrD;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IA8CtC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAmBtC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAY5C;;;OAGG;IACH,KAAK;IAIL;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAS1B;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,KAAK;IAsBhB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM;IASpB;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;IAYhC;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM;IAqBrB;;;;;OAKG;IACH,MAAM,CAAC,GAAG,SAAI,EAAE,GAAG,SAAM;IAgBzB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK;IASnB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAQzB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAazB;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,IAAI,MAAM,EAAE,EAAE,IAAI,UAAQ;IAmD7C;;;;OAIG;IACH,QAAQ,CAAC,KAAK,SAAM;IAUpB;;;OAGG;IACH,OAAO;IAIP;;;OAGG;IACH,KAAK;IAKL;;;;OAIG;IACH,MAAM,CAAC,KAAK,SAAyB;IAKrC;;;OAGG;IACH,KAAK;IAIL;;;;OAIG;IACH,MAAM,CAAC,KAAK,SAAa;CAGzB;AAED,eAAO,MAAM,SAAS,gKAwBpB,CAAC"}
@@ -125,6 +125,50 @@ export declare function toBeCloseTo(expected: number, actual: number, precision?
125
125
  * @returns The result of raising the number to the power of 2.
126
126
  */
127
127
  export declare function pow(n: number): number;
128
+ /**
129
+ * Linear interpolation between two scalar values.
130
+ * `t = 0` returns `a`, `t = 1` returns `b`. Values of `t` outside
131
+ * `[0, 1]` extrapolate — the result is NOT clamped.
132
+ *
133
+ * **Don't use this for smooth follow at a fixed alpha per frame.**
134
+ * `x = lerp(x, target, 0.1)` per frame converges 2× faster at 60 fps
135
+ * than at 30 fps — the visual feel changes with the frame rate. Use
136
+ * {@link damp} instead for frame-rate-independent smoothing.
137
+ * @param a - the value at `t = 0`
138
+ * @param b - the value at `t = 1`
139
+ * @param t - the interpolation parameter (typically `0..1`, but not clamped)
140
+ * @returns `a + (b - a) * t`
141
+ * @example
142
+ * math.lerp(0, 10, 0.5); // 5
143
+ * math.lerp(0, 10, 1.5); // 15 (extrapolation past `b`)
144
+ */
145
+ export declare function lerp(a: number, b: number, t: number): number;
146
+ /**
147
+ * Frame-rate-independent exponential damping toward a target.
148
+ *
149
+ * After total elapsed time `t_total` (in seconds), the result
150
+ * satisfies
151
+ * `result = current + (target - current) * (1 - exp(-lambda * t_total))`
152
+ * regardless of how `t_total` was split across `dt` calls. Same
153
+ * algorithm as `THREE.MathUtils.damp` in Three.js.
154
+ *
155
+ * `lambda` is the decay rate in `1/seconds` — higher = snappier
156
+ * convergence. A rule of thumb: `lambda = 5` reaches ≈ 99% of the
157
+ * target in one second; `lambda = 10` reaches ≈ 99% in ~0.5 s.
158
+ *
159
+ * Use this — NOT `lerp(current, target, alpha)` per frame — whenever
160
+ * the smoothing should feel the same regardless of frame rate
161
+ * (camera follow, value tracking, input smoothing).
162
+ * @param current - the current value (carries forward across frames)
163
+ * @param target - the value to approach
164
+ * @param lambda - decay rate in 1/seconds. Higher = snappier.
165
+ * @param dt - delta time in **seconds** (note: melonJS engine `dt` is in ms; divide by 1000)
166
+ * @returns the new value, one step closer to `target`
167
+ * @example
168
+ * // frame-rate independent smooth follow:
169
+ * cameraX = math.damp(cameraX, target.x, 5, dt / 1000);
170
+ */
171
+ export declare function damp(current: number, target: number, lambda: number, dt: number): number;
128
172
  /**
129
173
  * Linearly interpolate a value from an array at the given position.
130
174
  * The array is treated as evenly spaced samples along the 0–1 range.
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/math/math.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU,QAAkB,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,UAAU,QAAkB,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,GAAG,QAAc,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,GAAG,QAAgB,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,OAAO,WAAW,CAAC;AAEhC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,WAEvC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,WAcxC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,UASzC;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,UAErC;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,UAEvC;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAE3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAE9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAEnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAEtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,SAAI,UAIzC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAI,WAE1E;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,UAE5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,UAS3D"}
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/math/math.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU,QAAkB,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,UAAU,QAAkB,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,GAAG,QAAc,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,GAAG,QAAgB,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,OAAO,WAAW,CAAC;AAEhC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,WAEvC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,WAcxC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,UASzC;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,UAErC;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,UAEvC;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAE3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAE9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAEnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAEtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,SAAI,UAIzC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAI,WAE1E;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,UAE5B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,IAAI,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,GACR,MAAM,CAER;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,UAS3D"}
@@ -122,7 +122,7 @@ export declare class Matrix3d {
122
122
  applyInverse(v: Vector3d | Vector2d): Vector2d | Vector3d;
123
123
  /**
124
124
  * generate an orthogonal projection matrix, with the result replacing the current matrix
125
- * <img src="images/glOrtho.gif"/><br>
125
+ * <img src="images/glortho.gif"/><br>
126
126
  * @param left - farthest left on the x-axis
127
127
  * @param right - farthest right on the x-axis
128
128
  * @param bottom - farthest down on the y-axis
@@ -226,11 +226,23 @@ export declare class ObservableVector2d {
226
226
  length(): number;
227
227
  /**
228
228
  * Linearly interpolate between this vector and the given one.
229
- * @param v other vector
230
- * @param alpha - distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).
229
+ * Frame-rate dependent at a fixed alpha — for smooth tracking
230
+ * use {@link ObservableVector2d.damp} instead.
231
+ * @param v - other vector
232
+ * @param alpha - distance along the line (alpha = 0 → this vector, alpha = 1 → `v`)
231
233
  * @returns Reference to this object for method chaining
232
234
  */
233
235
  lerp(v: Vector2d | ObservableVector2d, alpha: number): this;
236
+ /**
237
+ * Frame-rate independent exponential damping toward `target`.
238
+ * Per-component wrapper around {@link damp} that triggers the
239
+ * change-callback exactly once via the underlying {@link set}.
240
+ * @param target - vector to approach
241
+ * @param lambda - decay rate in `1/seconds` (higher = snappier)
242
+ * @param dt - delta time in **seconds**
243
+ * @returns Reference to this object for method chaining
244
+ */
245
+ damp(target: Vector2d | ObservableVector2d, lambda: number, dt: number): this;
234
246
  /**
235
247
  * interpolate the position of this vector towards the given one by the given maximum step.
236
248
  * @param target vector to rotate towards
@@ -1 +1 @@
1
- {"version":3,"file":"observableVector2d.d.ts","sourceRoot":"","sources":["../../src/math/observableVector2d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observableVector2d.d.ts","sourceRoot":"","sources":["../../src/math/observableVector2d.ts"],"names":[],"mappings":"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"}
@@ -227,11 +227,23 @@ export declare class ObservableVector3d {
227
227
  length(): number;
228
228
  /**
229
229
  * Linearly interpolate between this vector and the given one.
230
- * @param v other vector
231
- * @param alpha - distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).
230
+ * Frame-rate dependent at a fixed alpha — for smooth tracking
231
+ * use {@link ObservableVector3d.damp} instead.
232
+ * @param v - other vector
233
+ * @param alpha - distance along the line (alpha = 0 → this vector, alpha = 1 → `v`)
232
234
  * @returns Reference to this object for method chaining
233
235
  */
234
236
  lerp(v: Vector3d | ObservableVector3d, alpha: number): this;
237
+ /**
238
+ * Frame-rate independent exponential damping toward `target`.
239
+ * Per-component wrapper around {@link damp} that triggers the
240
+ * change-callback exactly once via the underlying {@link set}.
241
+ * @param target - vector to approach (Vector2d treats `z` as 0)
242
+ * @param lambda - decay rate in `1/seconds` (higher = snappier)
243
+ * @param dt - delta time in **seconds**
244
+ * @returns Reference to this object for method chaining
245
+ */
246
+ damp(target: Vector2d | Vector3d | ObservableVector3d, lambda: number, dt: number): this;
235
247
  /**
236
248
  * interpolate the position of this vector on the x and y axis towards the given one by the given maximum step.
237
249
  * @param target other vector
@@ -1 +1 @@
1
- {"version":3,"file":"observableVector3d.d.ts","sourceRoot":"","sources":["../../src/math/observableVector3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observableVector3d.d.ts","sourceRoot":"","sources":["../../src/math/observableVector3d.ts"],"names":[],"mappings":"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"}
@@ -198,11 +198,25 @@ export declare class Vector2d {
198
198
  length(): number;
199
199
  /**
200
200
  * Linearly interpolate between this vector and the given one.
201
- * @param v other vector
202
- * @param alpha - distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).
201
+ * Frame-rate dependent at a fixed alpha — for smooth tracking
202
+ * use {@link Vector2d.damp} instead.
203
+ * @param v - other vector
204
+ * @param alpha - distance along the line (alpha = 0 → this vector, alpha = 1 → `v`)
203
205
  * @returns Reference to this object for method chaining
204
206
  */
205
207
  lerp(v: Vector2d, alpha: number): this;
208
+ /**
209
+ * Frame-rate independent exponential damping toward `target`.
210
+ * Wrapper around {@link damp} applied per component.
211
+ * @param target - vector to approach
212
+ * @param lambda - decay rate in `1/seconds` (higher = snappier)
213
+ * @param dt - delta time in **seconds**
214
+ * @returns Reference to this object for method chaining
215
+ * @example
216
+ * // smooth-follow a target point at a frame-rate independent rate:
217
+ * this.pos.damp(target.pos, 5, dt / 1000);
218
+ */
219
+ damp(target: Vector2d, lambda: number, dt: number): this;
206
220
  /**
207
221
  * interpolate the position of this vector towards the given one by the given maximum step.
208
222
  * @param target vector to rotate towards
@@ -1 +1 @@
1
- {"version":3,"file":"vector2d.d.ts","sourceRoot":"","sources":["../../src/math/vector2d.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C;;;GAGG;AACH,qBAAa,QAAQ;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAEV;;;OAGG;gBACS,CAAC,GAAE,MAAM,GAAG,SAAa,EAAE,CAAC,GAAE,MAAM,GAAG,SAAa;IAKhE;;;;OAIG;IACH,YAAY,CAAC,CAAC,SAAI,EAAE,CAAC,SAAI;IAWzB;;;;;OAKG;IACH,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAMxB;;;OAGG;IACH,OAAO;IAIP;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ;IAIhB;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ;IAIf;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ;IAIf;;;;;OAKG;IACH,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,SAAI;IAItB;;;OAGG;IACH,KAAK;IAIL;;;OAGG;IACH,IAAI;IAIJ;;;;OAIG;IACH,MAAM,CAAC,CAAC,EAAE,QAAQ;IAIlB;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,MAAM;IAIb;;;OAGG;IACH,GAAG;IAOH;;;;;OAKG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAI/B;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAInC;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ;IAIhB;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ;IAIhB;;;OAGG;IACH,KAAK;IAIL;;;OAGG;IACH,SAAS;IAIT;;;OAGG;IACH,IAAI;IAIJ;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,MAAM;IAIN;;;OAGG;IACH,UAAU;IAIV;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ;IAIhB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;IAOvD;;;OAGG;IACH,SAAS;IAIT;;;;OAIG;IACH,IAAI;IAIJ;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO;IAkBjC;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ;IAIf;;;;OAIG;IACH,KAAK,CAAC,CAAC,EAAE,QAAQ;IAIjB;;;OAGG;IACH,OAAO;IAIP;;;OAGG;IACH,MAAM;IAIN;;;;;OAKG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM;IAM/B;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM;IAe1C;;;;;;;;OAQG;IACH,QAAQ,CAAC,CAAC,EAAE,QAAQ;IAMpB;;;;OAIG;IACH,KAAK,CAAC,CAAC,EAAE,QAAQ;IAIjB;;;;OAIG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ;IAInB;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,EAAE,QAAQ;IAIpB;;;OAGG;IACH,KAAK;IAIL;;;OAGG;IACH,QAAQ;CAGR;AAED,eAAO,MAAM,YAAY,8FAavB,CAAC"}
1
+ {"version":3,"file":"vector2d.d.ts","sourceRoot":"","sources":["../../src/math/vector2d.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C;;;GAGG;AACH,qBAAa,QAAQ;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAEV;;;OAGG;gBACS,CAAC,GAAE,MAAM,GAAG,SAAa,EAAE,CAAC,GAAE,MAAM,GAAG,SAAa;IAKhE;;;;OAIG;IACH,YAAY,CAAC,CAAC,SAAI,EAAE,CAAC,SAAI;IAWzB;;;;;OAKG;IACH,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAMxB;;;OAGG;IACH,OAAO;IAIP;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ;IAIhB;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ;IAIf;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ;IAIf;;;;;OAKG;IACH,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,SAAI;IAItB;;;OAGG;IACH,KAAK;IAIL;;;OAGG;IACH,IAAI;IAIJ;;;;OAIG;IACH,MAAM,CAAC,CAAC,EAAE,QAAQ;IAIlB;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,MAAM;IAIb;;;OAGG;IACH,GAAG;IAOH;;;;;OAKG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAI/B;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAInC;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ;IAIhB;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ;IAIhB;;;OAGG;IACH,KAAK;IAIL;;;OAGG;IACH,SAAS;IAIT;;;OAGG;IACH,IAAI;IAIJ;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,MAAM;IAIN;;;OAGG;IACH,UAAU;IAIV;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ;IAIhB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;IAOvD;;;OAGG;IACH,SAAS;IAIT;;;;OAIG;IACH,IAAI;IAIJ;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO;IAkBjC;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ;IAIf;;;;OAIG;IACH,KAAK,CAAC,CAAC,EAAE,QAAQ;IAIjB;;;OAGG;IACH,OAAO;IAIP;;;OAGG;IACH,MAAM;IAIN;;;;;;;OAOG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM;IAM/B;;;;;;;;;;OAUG;IACH,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAMjD;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM;IAe1C;;;;;;;;OAQG;IACH,QAAQ,CAAC,CAAC,EAAE,QAAQ;IAMpB;;;;OAIG;IACH,KAAK,CAAC,CAAC,EAAE,QAAQ;IAIjB;;;;OAIG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ;IAInB;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,EAAE,QAAQ;IAIpB;;;OAGG;IACH,KAAK;IAIL;;;OAGG;IACH,QAAQ;CAGR;AAED,eAAO,MAAM,YAAY,8FAavB,CAAC"}
@@ -191,11 +191,25 @@ export declare class Vector3d {
191
191
  length(): number;
192
192
  /**
193
193
  * Linearly interpolate between this vector and the given one.
194
- * @param v other vector
195
- * @param alpha - distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).
194
+ * Frame-rate dependent at a fixed alpha — for smooth tracking
195
+ * use {@link Vector3d.damp} instead.
196
+ * @param v - other vector
197
+ * @param alpha - distance along the line (alpha = 0 → this vector, alpha = 1 → `v`)
196
198
  * @returns Reference to this object for method chaining
197
199
  */
198
200
  lerp(v: Vector3d, alpha: number): this;
201
+ /**
202
+ * Frame-rate independent exponential damping toward `target`.
203
+ * Wrapper around {@link damp} applied per component.
204
+ * @param target - vector to approach (Vector2d treats `z` as 0)
205
+ * @param lambda - decay rate in `1/seconds` (higher = snappier)
206
+ * @param dt - delta time in **seconds**
207
+ * @returns Reference to this object for method chaining
208
+ * @example
209
+ * // smooth-follow a Camera3d target at a frame-rate independent rate:
210
+ * camera.pos.damp(target.pos, 5, dt / 1000);
211
+ */
212
+ damp(target: Vector2d | Vector3d, lambda: number, dt: number): this;
199
213
  /**
200
214
  * interpolate the position of this vector on the x and y axis towards the given one by the given maximum step.
201
215
  * @param target other vector
@@ -1 +1 @@
1
- {"version":3,"file":"vector3d.d.ts","sourceRoot":"","sources":["../../src/math/vector3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vector3d.d.ts","sourceRoot":"","sources":["../../src/math/vector3d.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/particles/emitter.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,8BAA8B,CAAC;AAErD,OAAO,kBAAkB,MAAM,6CAA6C,CAAC;AAE7E,OAA+B,EAC9B,KAAK,uBAAuB,EAC5B,MAAM,eAAe,CAAC;AAmCvB;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,SAAS;IACrD;;OAEG;IACH,QAAQ,EAAE,uBAAuB,CAAC;IAElC,cAAc;IACd,OAAO,EAAE,OAAO,CAAC;IAEjB,cAAc;IACd,eAAe,EAAE,MAAM,CAAC;IAExB,cAAc;IACd,cAAc,EAAE,MAAM,CAAC;IAEvB,cAAc;IACd,QAAQ,EAAE,OAAO,CAAC;IAElB,cAAc;IACd,YAAY,EAAE,MAAM,CAAC;IAErB,cAAc;IACd,GAAG,EAAE,MAAM,CAAC;IAEZ,cAAc;IACd,gBAAgB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAEjD;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;gBAEF,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,GAAE,OAAO,CAAC,uBAAuB,CAAM;IAoChD;;;OAGG;IACM,KAAK,CAAC,QAAQ,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAAG,IAAI;IAqCrE;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,eAAe,IAAI,MAAM;IAKzB,cAAc;IACd,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAcjC;;;OAGG;IACH,SAAS,IAAI,OAAO;IAIpB;;;OAGG;IACH,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAQxC;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;;OAGG;IACH,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IASpC;;OAEG;IACM,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAoEpC;;;OAGG;IACM,OAAO,IAAI,IAAI;CASxB"}
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/particles/emitter.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,8BAA8B,CAAC;AAErD,OAAO,kBAAkB,MAAM,6CAA6C,CAAC;AAE7E,OAA+B,EAC9B,KAAK,uBAAuB,EAC5B,MAAM,eAAe,CAAC;AAmCvB;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,SAAS;IACrD;;OAEG;IACH,QAAQ,EAAE,uBAAuB,CAAC;IAElC,cAAc;IACd,OAAO,EAAE,OAAO,CAAC;IAEjB,cAAc;IACd,eAAe,EAAE,MAAM,CAAC;IAExB,cAAc;IACd,cAAc,EAAE,MAAM,CAAC;IAEvB,cAAc;IACd,QAAQ,EAAE,OAAO,CAAC;IAElB,cAAc;IACd,YAAY,EAAE,MAAM,CAAC;IAErB,cAAc;IACd,GAAG,EAAE,MAAM,CAAC;IAEZ,cAAc;IACd,gBAAgB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAEjD;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;gBAEF,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,GAAE,OAAO,CAAC,uBAAuB,CAAM;IAoChD;;;OAGG;IACM,KAAK,CAAC,QAAQ,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAAG,IAAI;IAqCrE;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,eAAe,IAAI,MAAM;IAKzB,cAAc;IACd,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAkBjC;;;OAGG;IACH,SAAS,IAAI,OAAO;IAIpB;;;OAGG;IACH,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAQxC;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;;OAGG;IACH,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IASpC;;OAEG;IACM,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IA4EpC;;;OAGG;IACM,OAAO,IAAI,IAAI;CAcxB"}
@@ -1,7 +1,9 @@
1
1
  import type { Ellipse } from "../geometries/ellipse.ts";
2
2
  import type { Polygon } from "../geometries/polygon.ts";
3
3
  import type { Rect } from "../geometries/rectangle.ts";
4
+ import type { Sphere } from "../geometries/sphere.ts";
4
5
  import type { Vector2d } from "../math/vector2d.ts";
6
+ import type { Vector3d } from "../math/vector3d.ts";
5
7
  import type Renderable from "../renderable/renderable.js";
6
8
  import type { Bounds } from "./bounds.ts";
7
9
  import type World from "./world.js";
@@ -296,6 +298,13 @@ export interface AdapterCapabilities {
296
298
  sleepingBodies: boolean;
297
299
  /** supports {@link PhysicsAdapter.raycast} */
298
300
  raycasts: boolean;
301
+ /**
302
+ * supports {@link PhysicsAdapter.raycast3d}. 2D-only adapters
303
+ * (matter, planck) report `false` and omit the method; users can
304
+ * branch on this flag before calling
305
+ * `world.adapter.raycast3d?.(...)` to skip a no-op delegation.
306
+ */
307
+ raycasts3d: boolean;
299
308
  /**
300
309
  * supports {@link BodyDefinition.maxVelocity} /
301
310
  * {@link PhysicsAdapter.setMaxVelocity}. BuiltinAdapter does this
@@ -328,6 +337,24 @@ export interface RaycastHit {
328
337
  /** position along the ray, `0..1` from `from` to `to` */
329
338
  fraction: number;
330
339
  }
340
+ /**
341
+ * Result of a successful {@link PhysicsAdapter.raycast3d}. Same
342
+ * shape as {@link RaycastHit}, with Vector3d in place of Vector2d.
343
+ * 3D adapters approximate each renderable's collision volume as a
344
+ * bounding sphere centred on `renderable.getAbsolutePosition()`
345
+ * with radius = the renderable's bounds circumradius — same model
346
+ * `Camera3d.isVisible` uses for frustum culling.
347
+ */
348
+ export interface RaycastHit3d {
349
+ /** the renderable the ray hit */
350
+ renderable: Renderable;
351
+ /** world-space hit point (sphere entry) */
352
+ point: Vector3d;
353
+ /** surface normal at the hit point (outward from sphere centre) */
354
+ normal: Vector3d;
355
+ /** position along the ray, `0..1` from `from` to `to` */
356
+ fraction: number;
357
+ }
331
358
  /**
332
359
  * Swappable physics engine integration. `BuiltinAdapter` ships with
333
360
  * melonjs and wraps the engine's native SAT-based physics; third-party
@@ -523,7 +550,57 @@ export interface PhysicsAdapter {
523
550
  * exposing it costs nothing).
524
551
  */
525
552
  raycast?(from: Vector2d, to: Vector2d): RaycastHit | null;
553
+ /**
554
+ * Optional 3D variant of {@link PhysicsAdapter.raycast}. Walks
555
+ * the world's {@link Octree} (active only under `cameraClass:
556
+ * Camera3d`) and returns the nearest renderable whose bounding
557
+ * sphere the ray intersects. 2D adapters omit this method;
558
+ * call sites should check `capabilities.raycasts3d` first.
559
+ */
560
+ raycast3d?(from: Vector3d, to: Vector3d): RaycastHit3d | null;
526
561
  queryAABB(rect: Rect): Renderable[];
562
+ /**
563
+ * Optional 3D sphere region query — returns renderables whose
564
+ * `getAbsolutePosition()` lies within `radius` of `center`.
565
+ * The narrow phase is a point-in-sphere test against each
566
+ * candidate's centre; callers wanting bounding-sphere overlap
567
+ * should intersect with the candidate's bounds afterwards.
568
+ *
569
+ * Two call shapes:
570
+ * - `querySphere(center: Vector3d, radius: number)` — loose form
571
+ * - `querySphere(sphere: Sphere)` — packaged form, the
572
+ * idiomatic surface once a query shape needs to be passed
573
+ * around or cached
574
+ *
575
+ * Active only under a 3D broadphase ({@link Octree}, set when
576
+ * `world.sortOn === "depth"`). Adapters that don't expose a 3D
577
+ * spatial index omit the method.
578
+ * @example
579
+ * // Loose form — quick one-off query:
580
+ * const nearby = world.adapter.querySphere?.(enemy.pos, HIT_RADIUS);
581
+ * @example
582
+ * // Idiomatic form — give an entity its own bounding sphere and
583
+ * // reuse it each frame:
584
+ * import { Sphere } from "melonjs";
585
+ *
586
+ * class Enemy extends Renderable {
587
+ * collider = new Sphere(0, 0, 0, 30);
588
+ *
589
+ * update(dt) {
590
+ * // keep the sphere glued to this renderable's pose
591
+ * this.collider.pos.set(this.pos.x, this.pos.y, this.pos.z);
592
+ * // query — returns every renderable whose centre is within
593
+ * // this enemy's collider
594
+ * const nearby = world.adapter.querySphere?.(this.collider) ?? [];
595
+ * for (const r of nearby) {
596
+ * // narrow-phase / kind filter / etc.
597
+ * }
598
+ * return super.update(dt);
599
+ * }
600
+ * }
601
+ */
602
+ querySphere?(center: Vector3d, radius: number): Renderable[];
603
+ querySphere?(sphere: Sphere): Renderable[];
527
604
  /**
528
605
  * Return the body's axis-aligned bounding box in **renderable-local**
529
606
  * coordinates (relative to `renderable.pos`). Writes into the
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/physics/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/physics/adapter.ts"],"names":[],"mappings":"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"}