melonjs 20.12.0 → 20.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/README.md +66 -22
  2. package/build/application/application.d.ts +6 -1
  3. package/build/application/application.d.ts.map +1 -1
  4. package/build/application/header.d.ts.map +1 -1
  5. package/build/application/resize.d.ts.map +1 -1
  6. package/build/application/settings.d.ts +13 -8
  7. package/build/application/settings.d.ts.map +1 -1
  8. package/build/audio/audio.d.ts +8 -4
  9. package/build/audio/audio.d.ts.map +1 -1
  10. package/build/audio/backend/engine.d.ts.map +1 -1
  11. package/build/audio/playback.d.ts +2 -2
  12. package/build/audio/playback.d.ts.map +1 -1
  13. package/build/audio/spatial.d.ts.map +1 -1
  14. package/build/audio/types.d.ts +15 -5
  15. package/build/audio/types.d.ts.map +1 -1
  16. package/build/camera/camera2d.d.ts +12 -9
  17. package/build/camera/camera2d.d.ts.map +1 -1
  18. package/build/camera/camera3d.d.ts +11 -8
  19. package/build/camera/camera3d.d.ts.map +1 -1
  20. package/build/camera/effects/fade_effect.d.ts.map +1 -1
  21. package/build/geometries/ellipse.d.ts +3 -0
  22. package/build/geometries/ellipse.d.ts.map +1 -1
  23. package/build/geometries/line.d.ts.map +1 -1
  24. package/build/geometries/path2d.d.ts +9 -8
  25. package/build/geometries/path2d.d.ts.map +1 -1
  26. package/build/geometries/polygon.d.ts +2 -1
  27. package/build/geometries/polygon.d.ts.map +1 -1
  28. package/build/index.d.ts +14 -3
  29. package/build/index.d.ts.map +1 -1
  30. package/build/index.js +50215 -45051
  31. package/build/index.js.map +4 -4
  32. package/build/input/gamepad.d.ts.map +1 -1
  33. package/build/input/keyboard.d.ts.map +1 -1
  34. package/build/input/pointerevent.d.ts.map +1 -1
  35. package/build/level/gltf/GLTFModel.d.ts.map +1 -1
  36. package/build/level/level.d.ts.map +1 -1
  37. package/build/level/tiled/TMXLayer.d.ts +50 -15
  38. package/build/level/tiled/TMXLayer.d.ts.map +1 -1
  39. package/build/level/tiled/TMXTileMap.d.ts +14 -4
  40. package/build/level/tiled/TMXTileMap.d.ts.map +1 -1
  41. package/build/level/tiled/TMXTileset.d.ts.map +1 -1
  42. package/build/level/tiled/TMXUtils.d.ts.map +1 -1
  43. package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts.map +1 -1
  44. package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -1
  45. package/build/level/tiled/renderer/TMXObliqueRenderer.d.ts +1 -0
  46. package/build/level/tiled/renderer/TMXObliqueRenderer.d.ts.map +1 -1
  47. package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts.map +1 -1
  48. package/build/level/tiled/renderer/TMXRenderer.d.ts +7 -3
  49. package/build/level/tiled/renderer/TMXRenderer.d.ts.map +1 -1
  50. package/build/level/tiled/renderer/TMXStaggeredRenderer.d.ts.map +1 -1
  51. package/build/lighting/light3d.d.ts +55 -0
  52. package/build/lighting/light3d.d.ts.map +1 -1
  53. package/build/loader/cache.d.ts +146 -97
  54. package/build/loader/cache.d.ts.map +1 -1
  55. package/build/loader/internal-types.d.ts +69 -0
  56. package/build/loader/internal-types.d.ts.map +1 -0
  57. package/build/loader/loader.d.ts +589 -253
  58. package/build/loader/loader.d.ts.map +1 -1
  59. package/build/loader/parsers/audio.d.ts.map +1 -1
  60. package/build/loader/parsers/fontface.d.ts.map +1 -1
  61. package/build/loader/parsers/gltf.d.ts.map +1 -1
  62. package/build/loader/parsers/tmx.d.ts.map +1 -1
  63. package/build/math/color.d.ts +4 -0
  64. package/build/math/color.d.ts.map +1 -1
  65. package/build/math/math.d.ts +6 -1
  66. package/build/math/math.d.ts.map +1 -1
  67. package/build/math/noise.d.ts +16 -16
  68. package/build/math/noise.d.ts.map +1 -1
  69. package/build/math/observableVector2d.d.ts +6 -6
  70. package/build/math/observableVector2d.d.ts.map +1 -1
  71. package/build/math/observableVector3d.d.ts +8 -8
  72. package/build/math/observableVector3d.d.ts.map +1 -1
  73. package/build/particles/emitter.d.ts +15 -3
  74. package/build/particles/emitter.d.ts.map +1 -1
  75. package/build/particles/particle.d.ts +6 -0
  76. package/build/particles/particle.d.ts.map +1 -1
  77. package/build/particles/settings.d.ts +22 -5
  78. package/build/particles/settings.d.ts.map +1 -1
  79. package/build/physics/adapter.d.ts +64 -25
  80. package/build/physics/adapter.d.ts.map +1 -1
  81. package/build/physics/builtin/body.d.ts +23 -4
  82. package/build/physics/builtin/body.d.ts.map +1 -1
  83. package/build/physics/builtin/builtin-adapter.d.ts +25 -3
  84. package/build/physics/builtin/builtin-adapter.d.ts.map +1 -1
  85. package/build/physics/builtin/detector.d.ts.map +1 -1
  86. package/build/physics/builtin/raycast.d.ts.map +1 -1
  87. package/build/physics/world.d.ts +40 -10
  88. package/build/physics/world.d.ts.map +1 -1
  89. package/build/renderable/container.d.ts +41 -6
  90. package/build/renderable/container.d.ts.map +1 -1
  91. package/build/renderable/draggable.d.ts.map +1 -1
  92. package/build/renderable/frameAnimation.d.ts.map +1 -1
  93. package/build/renderable/instanced_mesh.d.ts +16 -14
  94. package/build/renderable/instanced_mesh.d.ts.map +1 -1
  95. package/build/renderable/mesh.d.ts +62 -5
  96. package/build/renderable/mesh.d.ts.map +1 -1
  97. package/build/renderable/renderable.d.ts.map +1 -1
  98. package/build/renderable/sprite.d.ts +4 -2
  99. package/build/renderable/sprite.d.ts.map +1 -1
  100. package/build/renderable/text/bitmaptext.d.ts +12 -3
  101. package/build/renderable/text/bitmaptext.d.ts.map +1 -1
  102. package/build/renderable/text/text.d.ts +147 -4
  103. package/build/renderable/text/text.d.ts.map +1 -1
  104. package/build/renderable/text/textmetrics.d.ts +10 -2
  105. package/build/renderable/text/textmetrics.d.ts.map +1 -1
  106. package/build/renderable/text/textstyle.d.ts.map +1 -1
  107. package/build/renderable/trigger.d.ts +5 -0
  108. package/build/renderable/trigger.d.ts.map +1 -1
  109. package/build/renderable/ui/panelpaint.d.ts +5 -1
  110. package/build/renderable/ui/panelpaint.d.ts.map +1 -1
  111. package/build/renderable/ui/progressbar.d.ts +267 -95
  112. package/build/renderable/ui/progressbar.d.ts.map +1 -1
  113. package/build/renderable/ui/uibaseelement.d.ts +443 -50
  114. package/build/renderable/ui/uibaseelement.d.ts.map +1 -1
  115. package/build/renderable/ui/uicheckbox.d.ts +383 -0
  116. package/build/renderable/ui/uicheckbox.d.ts.map +1 -0
  117. package/build/renderable/ui/uifocus.d.ts +6 -0
  118. package/build/renderable/ui/uifocus.d.ts.map +1 -0
  119. package/build/renderable/ui/uilabel.d.ts +31 -0
  120. package/build/renderable/ui/uilabel.d.ts.map +1 -0
  121. package/build/renderable/ui/uipanel.d.ts +589 -116
  122. package/build/renderable/ui/uipanel.d.ts.map +1 -1
  123. package/build/renderable/ui/uiskin.d.ts +25 -0
  124. package/build/renderable/ui/uiskin.d.ts.map +1 -0
  125. package/build/renderable/ui/uislider.d.ts +518 -0
  126. package/build/renderable/ui/uislider.d.ts.map +1 -0
  127. package/build/renderable/ui/uispriteelement.d.ts +161 -85
  128. package/build/renderable/ui/uispriteelement.d.ts.map +1 -1
  129. package/build/renderable/ui/uitextbutton.d.ts +369 -63
  130. package/build/renderable/ui/uitextbutton.d.ts.map +1 -1
  131. package/build/state/stage.d.ts.map +1 -1
  132. package/build/system/device.d.ts +11 -2
  133. package/build/system/device.d.ts.map +1 -1
  134. package/build/system/fullscreen.d.ts.map +1 -1
  135. package/build/system/pool.d.ts.map +1 -1
  136. package/build/system/save.d.ts +2 -1
  137. package/build/system/save.d.ts.map +1 -1
  138. package/build/tweens/tween.d.ts +5 -2
  139. package/build/tweens/tween.d.ts.map +1 -1
  140. package/build/utils/fetchdata.d.ts.map +1 -1
  141. package/build/utils/utils.d.ts.map +1 -1
  142. package/build/video/canvas/canvas_renderer.d.ts +16 -19
  143. package/build/video/canvas/canvas_renderer.d.ts.map +1 -1
  144. package/build/video/canvas_factory.d.ts.map +1 -1
  145. package/build/video/effects/shadereffect.d.ts +127 -0
  146. package/build/video/effects/shadereffect.d.ts.map +1 -1
  147. package/build/video/renderer.d.ts +20 -4
  148. package/build/video/renderer.d.ts.map +1 -1
  149. package/build/video/renderstate.d.ts +26 -3
  150. package/build/video/renderstate.d.ts.map +1 -1
  151. package/build/video/utils/tessellation.d.ts +11 -0
  152. package/build/video/utils/tessellation.d.ts.map +1 -1
  153. package/build/video/webgl/batchers/lit_mesh_batcher.d.ts.map +1 -1
  154. package/build/video/webgl/webgl_renderer.d.ts +3 -6
  155. package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
  156. package/build/video/webgpu/batchers/lit_mesh_batcher.d.ts.map +1 -1
  157. package/build/video/webgpu/batchers/primitive_batcher.d.ts.map +1 -1
  158. package/build/video/webgpu/webgpu_renderer.d.ts +3 -6
  159. package/build/video/webgpu/webgpu_renderer.d.ts.map +1 -1
  160. package/package.json +1 -1
  161. package/skills/melonjs/SKILL.md +41 -17
  162. package/skills/melonjs-20-migration/SKILL.md +50 -7
  163. package/skills/melonjs-3d/SKILL.md +138 -38
  164. package/skills/melonjs-3d-assets/SKILL.md +83 -33
  165. package/skills/melonjs-audio/SKILL.md +62 -19
  166. package/skills/melonjs-camera-and-drawing/SKILL.md +135 -8
  167. package/skills/melonjs-deployment/SKILL.md +92 -14
  168. package/skills/melonjs-display-and-scaling/SKILL.md +8 -3
  169. package/skills/melonjs-effects-and-shaders/SKILL.md +47 -15
  170. package/skills/melonjs-events/SKILL.md +6 -3
  171. package/skills/melonjs-getting-started/SKILL.md +6 -2
  172. package/skills/melonjs-input/SKILL.md +102 -16
  173. package/skills/melonjs-lighting/SKILL.md +13 -1
  174. package/skills/melonjs-loading-assets/SKILL.md +255 -39
  175. package/skills/melonjs-math/SKILL.md +26 -8
  176. package/skills/melonjs-particles-and-trails/SKILL.md +77 -9
  177. package/skills/melonjs-performance/SKILL.md +18 -8
  178. package/skills/melonjs-physics/SKILL.md +435 -128
  179. package/skills/melonjs-plugins/SKILL.md +50 -11
  180. package/skills/melonjs-renderables/SKILL.md +31 -7
  181. package/skills/melonjs-renderer-backends/SKILL.md +38 -17
  182. package/skills/melonjs-scenes-and-state/SKILL.md +45 -5
  183. package/skills/melonjs-sprites-and-animation/SKILL.md +37 -2
  184. package/skills/melonjs-tilemaps/SKILL.md +149 -17
  185. package/skills/melonjs-ui-and-text/SKILL.md +674 -42
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/loader/loader.js"],"names":[],"mappings":"AAyHA;;;;GAIG;AACH,mDAEC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,oCAdG;IAAyB,WAAW;IACV,OAAO;IACP,eAAe;CACzC,QAqBF;AAED;;;;;;;;;;;;GAYG;AACH,iCATW,MAAM,QACN,MAAM,QA6BhB;AAwKD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,gCAxCW,MAAM,4BAsDhB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,gCAnDW,KAAK,EAAE,2CAEP,OAAO,GACL,OAAO,CAAC,IAAI,CAAC,CAyFzB;AAED;;;;;;;;;;;;;;IAcI;AACJ,4BAbW,MAAM,QAqChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,4BAhCW,KAAK,0CAGH,MAAM,GAAC,OAAO,CAAC,IAAI,CAAC,CAiGhC;AAED;;;;;;GAMG;AACH,8BALW,KAAK,GACH,OAAO,CA8DnB;AAED;;;;GAIG;AACH,kCAYC;AAhyBD;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH;;;GAGG;AACH;;;GAGG;AAGH,2BAAwB;AAExB;;GAEG;AACH;;EAA0B;AAE1B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAdU,MAAM,CAcO;AAEvB;;;;;;;;;;;;;;;;;GAiBG;AACH,4BAdU,OAAO,CAckB;;;;;;;;;;;;;;;;;;;;kBA4PrB,CAAS,IAAM,EAAN,MAAM,KAAG,MAAM;;;;;;;kBAGxB,CAAS,IAAM,EAAN,MAAM,KAAG,OAAO;;;;;;;;;UAWzB,MAAM;;;;UACN,MAAM;;;;;;UACN,MAAM,GAAC,MAAM,EAAE;;;;WAGf,MAAM,GAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC;;;;aACrC,OAAO;;;;eACP,OAAO;;;;WACP,OAAO;;;;;;;;;;uBA5UR,OAAO,mBAAmB,EAAE,QAAQ;;;;uBAIpC,OAAO,mBAAmB,EAAE,QAAQ"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/loader/loader.js"],"names":[],"mappings":"AA+OA;;;;GAIG;AACH,mDAEC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,oCAtBG;IAAyB,WAAW;IAIV,OAAO;IAIP,eAAe;CAGzC,QAqBF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,iCAdW,MAAM,QAGN,MAAM,QAgChB;AAycD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,gCAzCW,MAAM,4BAuDhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqEE;;8EAMU,OAAO,CAAC,IAAI,CAAC,CAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDA,gCACQ,KAAK,CAAC,KAAK,GAAC,MAAM,CAAC,6EAMjB,OAAO,CAAC,IAAI,CAAC,CAGvB;AAwJH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,4BAdW,MAAM,QA8EhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcE,yBACQ,MAAM,UACN,KAAK,EAAE,GAAC,KAAK,GAEX,OAAO,CAAC,IAAI,CAAC,CAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,yBACQ,MAAM,kEAKJ,OAAO,CAAC,IAAI,CAAC,CAEvB;;;;;;;;;;;;;;;;;;;;AAsBA,4BACQ,KAAK,GACH,OAAO,CAAC,IAAI,CAAC,CAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,4BACQ,KAAK,kEAMH,MAAM,GAAC,OAAO,CAAC,IAAI,CAAC,CAI9B;AA0JH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,8BAhBW,MAAM,GAAC,KAAK,GAEV,OAAO,CAsBnB;AA4HD;;;;;;;;;;;;;;GAcG;AACH,kCAqBC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,8BA7BW,MAAM,UACN,KAAK,EAAE,QA2CjB;AA2DD;;;;;;;;;;;;GAYG;AACH,8BATW,MAAM,GACJ,KAAK,EAAE,GAAC,SAAS,CAW7B;AAED;;;;;;;;;;;;;;GAcG;AACH,6BAVW,MAAM,GACJ,OAAO,CAWnB;AArxDD;;;;;;GAMG;AAEH;;;;;;;;GAQG;AACH;;;GAGG;AACH;;;;GAIG;AACH,2BAAwB;AAExB;;;;;;;;;GASG;AACH;;EAA0B;AAE1B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAZU,MAAM,CAYO;AAEvB;;;;;;;;;;;;;;;;;GAiBG;AACH,4BAZU,OAAO,CAYkB;;;;;;;;;;;;;;;;UAgjBrB,MAAM;;;;;;;;;UAGN,MAAM;;;;;;;;;;;;UAMN,MAAM,GAAC,MAAM,EAAE;;;;;;;;WASf,MAAM,GAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC;;;;;aAKrC,OAAO;;;;;;eAEP,OAAO;;;;WAGP,OAAO;;;;;;;;;;uBA/oBR,OAAO,mBAAmB,EAAE,QAAQ;;;;uBAIpC,OAAO,mBAAmB,EAAE,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../../src/loader/parsers/audio.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;GAiBG;AACH,mCARW,MAAM,CAAC,KAAK,oDAGZ,MAAM,GACJ,MAAM,CAMlB;AAED;;;;;;GAMG;AACH,kCALW,MAAM,GACJ,OAAO,CAMnB;AAED;;;;GAIG;AACH,uCAEC"}
1
+ {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../../src/loader/parsers/audio.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AACH,mCARW,MAAM,CAAC,KAAK,oDAGZ,MAAM,GACJ,MAAM,CAMlB;AAED;;;;;;GAMG;AACH,kCALW,MAAM,GACJ,OAAO,CAMnB;AAED;;;;;;GAMG;AACH,oCALW,MAAM,GACJ,OAAO,CAMnB;AAED;;;;GAIG;AACH,uCAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fontface.d.ts","sourceRoot":"","sources":["../../../src/loader/parsers/fontface.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,sCAXW,MAAM,CAAC,KAAK,0CAGV,MAAM,CAgElB;;IAED;;;;;;;;;OASG;IACH,2BALW,MAAM,GACJ,MAAM,CAOlB;IAED;;;;;;;OAOG;IACH,2BALW,MAAM,GACJ,OAAO,CAMnB"}
1
+ {"version":3,"file":"fontface.d.ts","sourceRoot":"","sources":["../../../src/loader/parsers/fontface.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AACH,sCAXW,MAAM,CAAC,KAAK,0CAGV,MAAM,CA6DlB;;IAED;;;;;;;;;OASG;IACH,2BALW,MAAM,GACJ,MAAM,CAOlB;IAED;;;;;;;OAOG;IACH,2BALW,MAAM,GACJ,OAAO,CAMnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"gltf.d.ts","sourceRoot":"","sources":["../../../src/loader/parsers/gltf.js"],"names":[],"mappings":"AA2CA;;;;;;GAMG;AACH,sCALW,WAAW,GACT;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAA;CAAE,CAmCpD;AAsED;;;;;GAKG;AACH,+EAgCC;AA8KD;;;;;;;;;;;GAWG;AACH,oCARW,MAAM,EAAE,eACR,MAAM,EAAE,YACR,MAAM,EAAE,SACR,MAAM,EAAE,GACN,MAAM,EAAE,CAqCpB;AAED;;;;;;;;GAQG;AACH,wCAPW,MAAM,EAAE,YACR,MAAM,EAAE,SACR,MAAM,EAAE,GACN,MAAM,EAAE,CAMpB;AAED;;;;GAIG;AACH,gDASC;AAsED;;;;;;GAMG;AACH,kEAWC;AAED;;;;GAIG;AACH,oDAEC;AAmID;;;;;;;;;;;GAWG;AACH,uCAVW,WAAW,YACX,MAAM,aAGN,MAAM,GAEJ,OAAO,CAAC,MAAM,CAAC,CAsa3B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;;;GASG;AAEH;;;;;;;;;GASG;AACH,kCARW,MAAM,CAAC,KAAK,oDAGZ,MAAM,GACJ,MAAM,CA8BlB;;;;;;;;;;;;WAjEa,MAAM,EAAE;;;;cACR,YAAY;;;;aACZ,YAAY;;;;SACZ,YAAY;;;;aACZ,WAAW,GAAC,WAAW;;;;iBACvB,MAAM;;;;WACN,gBAAgB,GAAC,IAAI;;;;sBACrB,MAAM,EAAE;;;;aACR,WAAW;;;;oBACX,MAAM;;;;oBACN,MAAM;;;;kBACN,MAAM;;;;eACN,MAAM,EAAE;;;;YACR,OAAO;;;;kBACP,OAAO;;;;WACP,MAAM;;;;;;;;;WAMN,QAAQ,EAAE;;;;aACV,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAC,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;;;;YAClJ,MAAM,EAAE;;;;YACR;QAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,EAAE,MAAM,EAAE,CAAA;KAAC;;;;WAC9B,MAAM,EAAE;;;;gBACR,MAAM,EAAE"}
1
+ {"version":3,"file":"gltf.d.ts","sourceRoot":"","sources":["../../../src/loader/parsers/gltf.js"],"names":[],"mappings":"AA4CA;;;;;;GAMG;AACH,sCALW,WAAW,GACT;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAA;CAAE,CAmCpD;AAsED;;;;;GAKG;AACH,+EAgCC;AA8KD;;;;;;;;;;;GAWG;AACH,oCARW,MAAM,EAAE,eACR,MAAM,EAAE,YACR,MAAM,EAAE,SACR,MAAM,EAAE,GACN,MAAM,EAAE,CAqCpB;AAED;;;;;;;;GAQG;AACH,wCAPW,MAAM,EAAE,YACR,MAAM,EAAE,SACR,MAAM,EAAE,GACN,MAAM,EAAE,CAMpB;AAED;;;;GAIG;AACH,gDASC;AAsED;;;;;;GAMG;AACH,kEAWC;AAED;;;;GAIG;AACH,oDAEC;AAmID;;;;;;;;;;;GAWG;AACH,uCAVW,WAAW,YACX,MAAM,aAGN,MAAM,GAEJ,OAAO,CAAC,MAAM,CAAC,CAsa3B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;;;GASG;AAEH;;;;;;;;;GASG;AACH,kCARW,MAAM,CAAC,KAAK,oDAGZ,MAAM,GACJ,MAAM,CA8BlB;;;;;;;;;;;;WAjEa,MAAM,EAAE;;;;cACR,YAAY;;;;aACZ,YAAY;;;;SACZ,YAAY;;;;aACZ,WAAW,GAAC,WAAW;;;;iBACvB,MAAM;;;;WACN,gBAAgB,GAAC,IAAI;;;;sBACrB,MAAM,EAAE;;;;aACR,WAAW;;;;oBACX,MAAM;;;;oBACN,MAAM;;;;kBACN,MAAM;;;;eACN,MAAM,EAAE;;;;YACR,OAAO;;;;kBACP,OAAO;;;;WACP,MAAM;;;;;;;;;WAMN,QAAQ,EAAE;;;;aACV,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAC,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;;;;YAClJ,MAAM,EAAE;;;;YACR;QAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,EAAE,MAAM,EAAE,CAAA;KAAC;;;;WAC9B,MAAM,EAAE;;;;gBACR,MAAM,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"tmx.d.ts","sourceRoot":"","sources":["../../../src/loader/parsers/tmx.js"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,2FALW,MAAM,GACJ,MAAM,CAoFlB"}
1
+ {"version":3,"file":"tmx.d.ts","sourceRoot":"","sources":["../../../src/loader/parsers/tmx.js"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,2FALW,MAAM,GACJ,MAAM,CA4FlB"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * A color manipulation object.
3
+ * @category Math
4
+ */
1
5
  export declare class Color {
2
6
  private normalizedRGBA;
3
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/math/color.ts"],"names":[],"mappings":"AAuOA,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;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,SAAM;IAStD;;;;;;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;IAgBpB;;;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,0JAwBpB,CAAC"}
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/math/color.ts"],"names":[],"mappings":"AAmOA;;;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;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,SAAM;IAStD;;;;;;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;IA+C7C;;;;OAIG;IACH,QAAQ,CAAC,KAAK,SAAM;IAgBpB;;;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,0JAwBpB,CAAC"}
@@ -30,6 +30,8 @@ export declare const EPSILON = 0.000001;
30
30
  export declare function isPowerOfTwo(val: number): boolean;
31
31
  /**
32
32
  * returns true if the given value is a power of four
33
+ * (1, 4, 16, 64, …). Like {@link isPowerOfTwo}, only a positive integer can
34
+ * be one: a fraction, a negative number, `NaN` or `Infinity` is not.
33
35
  * @param val number to test
34
36
  * @returns true if number is a power of four
35
37
  */
@@ -97,13 +99,16 @@ export declare function randomFloat(min: number, max: number): number;
97
99
  */
98
100
  export declare function weightedRandom(min: number, max: number): number;
99
101
  /**
100
- * round a value to the specified number of digit
102
+ * round a value to the specified number of digit.
103
+ * Rounds to the nearest value, and a tie the way `Math.round` does, toward
104
+ * positive infinity: `round(2.5)` is 3 and `round(-2.5)` is -2.
101
105
  * @param num - value to be rounded.
102
106
  * @param [dec] - number of decimal digit to be rounded to.
103
107
  * @returns rounded value
104
108
  * @example
105
109
  * // round a specific value to 2 digits
106
110
  * math.round(10.33333, 2); // return 10.33
111
+ * math.round(-2.7); // return -3
107
112
  */
108
113
  export declare function round(num: number, dec?: number): number;
109
114
  /**
@@ -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;;;;;;;;;;;;;;;;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"}
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,WAMvC;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,WAIxC;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;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,SAAI,UAMzC;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"}
@@ -1,19 +1,3 @@
1
- /**
2
- * Coherent value/gradient noise with fractal (fBm / ridged) layering.
3
- *
4
- * `Noise` is the renderer-free *algorithm*: a CPU-samplable field you can read
5
- * directly with {@link Noise#getNoise2d} / {@link Noise#getNoise3d} for gameplay
6
- * (heightmaps, terrain, spawn jitter, flow fields), or feed to a
7
- * {@link NoiseTexture2d} to bake it into a drawable texture.
8
- *
9
- * Each sample returns a value in the `[-1, 1]` range. The field is fully
10
- * deterministic for a given `seed`, so the same parameters always reproduce the
11
- * same field.
12
- * @category Math
13
- * @example
14
- * const noise = new me.Noise({ type: "simplex", seed: 1337, frequency: 0.02, octaves: 4 });
15
- * const h = noise.getNoise2d(x, y); // -1 .. 1
16
- */
17
1
  export type NoiseType = "simplex" | "perlin" | "value" | "valueCubic" | "cellular";
18
2
  export type FractalType = "none" | "fbm" | "ridged" | "pingPong";
19
3
  export interface NoiseSettings {
@@ -52,6 +36,22 @@ export interface NoiseSettings {
52
36
  /** constant offset added to sample coordinates (default `0`) */
53
37
  offsetZ?: number;
54
38
  }
39
+ /**
40
+ * Coherent value/gradient noise with fractal (fBm / ridged) layering.
41
+ *
42
+ * `Noise` is the renderer-free *algorithm*: a CPU-samplable field you can read
43
+ * directly with {@link Noise#getNoise2d} / {@link Noise#getNoise3d} for gameplay
44
+ * (heightmaps, terrain, spawn jitter, flow fields), or feed to a
45
+ * {@link NoiseTexture2d} to bake it into a drawable texture.
46
+ *
47
+ * Each sample returns a value in the `[-1, 1]` range. The field is fully
48
+ * deterministic for a given `seed`, so the same parameters always reproduce the
49
+ * same field.
50
+ * @category Math
51
+ * @example
52
+ * const noise = new me.Noise({ type: "simplex", seed: 1337, frequency: 0.02, octaves: 4 });
53
+ * const h = noise.getNoise2d(x, y); // -1 .. 1
54
+ */
55
55
  export declare class Noise {
56
56
  type: NoiseType;
57
57
  seed: number;
@@ -1 +1 @@
1
- {"version":3,"file":"noise.d.ts","sourceRoot":"","sources":["../../src/math/noise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,SAAS,GAClB,SAAS,GACT,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,UAAU,CAAC;AACd,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC7B,mDAAmD;IACnD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAqDD,qBAAa,KAAK;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;gBASJ,QAAQ,GAAE,aAAkB;IAwBxC;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM;IAoBtB;;;;OAIG;IACH,UAAU,CAAC,CAAC,EAAE,MAAM;IAIpB;;;;;OAKG;IACH,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IA8B/B;;;;;;;OAOG;IACH,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;CAskB1C"}
1
+ {"version":3,"file":"noise.d.ts","sourceRoot":"","sources":["../../src/math/noise.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAClB,SAAS,GACT,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,UAAU,CAAC;AACd,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC7B,mDAAmD;IACnD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAqDD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,KAAK;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;gBASJ,QAAQ,GAAE,aAAkB;IAwBxC;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM;IAoBtB;;;;OAIG;IACH,UAAU,CAAC,CAAC,EAAE,MAAM;IAIpB;;;;;OAKG;IACH,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IA8B/B;;;;;;;OAOG;IACH,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;CAskB1C"}
@@ -46,9 +46,9 @@ export declare class ObservableVector2d {
46
46
  set y(value: number);
47
47
  /**
48
48
  * Sets the callback function to be called when the point changes.
49
- * @param callback - The callback function.
49
+ * @param callback - The callback function, or `undefined` to remove it.
50
50
  */
51
- setCallback(callback: () => void): void;
51
+ setCallback(callback: (() => void) | undefined): void;
52
52
  /**
53
53
  * set the Vector x and y properties to 0
54
54
  * @returns Reference to this object for method chaining
@@ -119,7 +119,7 @@ export declare class ObservableVector2d {
119
119
  * @param high maximum component value
120
120
  * @returns Reference to this object for method chaining
121
121
  */
122
- clampSelf(low: number, high: number): Vector2d;
122
+ clampSelf(low: number, high: number): this;
123
123
  /**
124
124
  * Update this vector with the minimum value between this and the passed vector
125
125
  * @param v other vector
@@ -141,7 +141,7 @@ export declare class ObservableVector2d {
141
141
  * Floor this vector values
142
142
  * @returns Reference to this object for method chaining
143
143
  */
144
- floorSelf(): Vector2d;
144
+ floorSelf(): this;
145
145
  /**
146
146
  * Ceil the vector values
147
147
  * @returns new Vector2d
@@ -151,7 +151,7 @@ export declare class ObservableVector2d {
151
151
  * Ceil this vector values
152
152
  * @returns Reference to this object for method chaining
153
153
  */
154
- ceilSelf(): Vector2d;
154
+ ceilSelf(): this;
155
155
  /**
156
156
  * Negate the vector values
157
157
  * @returns new Vector2d
@@ -161,7 +161,7 @@ export declare class ObservableVector2d {
161
161
  * Negate this vector values
162
162
  * @returns Reference to this object for method chaining
163
163
  */
164
- negateSelf(): Vector2d;
164
+ negateSelf(): this;
165
165
  /**
166
166
  * Copy the x,y values of the passed vector to this one
167
167
  * @param v other vector
@@ -1 +1 @@
1
- {"version":3,"file":"observableVector2d.d.ts","sourceRoot":"","sources":["../../src/math/observableVector2d.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAsBzC;;;GAGG;AACH,qBAAa,kBAAkB;IAiB9B,OAAO,CAAC,eAAe,CAAiB;IAExC;;;;;OAKG;gBACS,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI;IAsB/D;;;;;OAKG;IACH,GAAG,CAAC,CAAC,SAAI,EAAE,CAAC,SAAI;IAShB;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,SAAI,EAAE,CAAC,SAAI;IAQrB;;OAEG;IACH,IAAI,CAAC,IAQQ,MAAM,CANlB;IAED;;;OAGG;IACH,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED;;OAEG;IACH,IAAI,CAAC,IAQQ,MAAM,CANlB;IAED;;;OAGG;IACH,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI;IAIhC;;;OAGG;IACH,OAAO;IAIP;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB;IAIrC;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB;IAIpC;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB;IAIpC;;;;;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,GAAG,kBAAkB;IAIvC;;;;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,GAAG,kBAAkB;IAIrC;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB;IAIrC;;;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,GAAG,kBAAkB;IAIrC;;;;;;;;;;;OAWG;IACH,MAAM,CACL,GAAG,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAC3D,OAAO;IAOV;;;OAGG;IACH,SAAS;IAIT;;;;OAIG;IACH,IAAI;IAIJ;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB;IAkBvD;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB;IAIpC;;;;OAIG;IACH,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB;IAItC;;;OAGG;IACH,OAAO;IAIP;;;OAGG;IACH,MAAM;IAIN;;;;;;;OAOG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB,EAAE,KAAK,EAAE,MAAM;IAKpD;;;;;;;;;;OAUG;IACH,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB,EAAE,KAAK,EAAE,MAAM;IAUrD;;;;;;;;OAQG;IACH,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAQtE;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,kBAAkB,EAAE,IAAI,EAAE,MAAM;IAiB/D;;;;;;;;OAQG;IACH,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB;IAIzC;;;;OAIG;IACH,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB;IAItC;;;;OAIG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB;IAIxC;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB;IAIzC;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI;IAIrB;;;OAGG;IACH,QAAQ;IAIR;;OAEG;IACH,MAAM;CAGN;AAED,eAAO,MAAM,sBAAsB,mHAEgC,IAAI,EAarE,CAAC"}
1
+ {"version":3,"file":"observableVector2d.d.ts","sourceRoot":"","sources":["../../src/math/observableVector2d.ts"],"names":[],"mappings":"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"}
@@ -53,9 +53,9 @@ export declare class ObservableVector3d {
53
53
  set z(value: number);
54
54
  /**
55
55
  * Sets the callback function to be called when the point changes.
56
- * @param callback - The callback function.
56
+ * @param callback - The callback function, or `undefined` to remove it.
57
57
  */
58
- setCallback(callback: () => void): void;
58
+ setCallback(callback: (() => void) | undefined): void;
59
59
  /**
60
60
  * set the Vector x and y properties to 0
61
61
  * @returns Reference to this object for method chaining
@@ -127,7 +127,7 @@ export declare class ObservableVector3d {
127
127
  * @param high upper bound
128
128
  * @returns Reference to this object for method chaining
129
129
  */
130
- clampSelf(low: number, high: number): Vector3d;
130
+ clampSelf(low: number, high: number): this;
131
131
  /**
132
132
  * Update this vector with the minimum value between this and the passed vector
133
133
  * @param v other vector
@@ -149,7 +149,7 @@ export declare class ObservableVector3d {
149
149
  * Floor this vector values
150
150
  * @returns Reference to this object for method chaining
151
151
  */
152
- floorSelf(): Vector3d;
152
+ floorSelf(): this;
153
153
  /**
154
154
  * Ceil the vector values
155
155
  * @returns new Vector3d
@@ -159,7 +159,7 @@ export declare class ObservableVector3d {
159
159
  * Ceil this vector values
160
160
  * @returns Reference to this object for method chaining
161
161
  */
162
- ceilSelf(): Vector3d;
162
+ ceilSelf(): this;
163
163
  /**
164
164
  * Negate the vector values
165
165
  * @returns new Vector3d
@@ -169,7 +169,7 @@ export declare class ObservableVector3d {
169
169
  * Negate this vector values
170
170
  * @returns Reference to this object for method chaining
171
171
  */
172
- negateSelf(): Vector3d;
172
+ negateSelf(): this;
173
173
  /**
174
174
  * Copy the components of the given vector into this one
175
175
  * @param v other vector
@@ -186,13 +186,13 @@ export declare class ObservableVector3d {
186
186
  * normalize this vector (scale the vector so that its magnitude is 1)
187
187
  * @returns Reference to this object for method chaining
188
188
  */
189
- normalize(): Vector3d;
189
+ normalize(): this;
190
190
  /**
191
191
  * change this vector to be perpendicular to what it was before.<br>
192
192
  * (Effectively rotates it 90 degrees in a clockwise direction around the z axis)
193
193
  * @returns Reference to this object for method chaining
194
194
  */
195
- perp(): Vector3d;
195
+ perp(): this;
196
196
  /**
197
197
  * Rotate this vector (counter-clockwise) by the specified angle (in radians) around the z axis
198
198
  * @param angle - The angle to rotate (in radians)
@@ -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":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAG/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAsBtC;;;GAGG;AACH,qBAAa,kBAAkB;IAiB9B,OAAO,CAAC,eAAe,CAAiB;IAExC;;;;;;OAMG;gBAEF,CAAC,GAAE,MAAU,EACb,CAAC,GAAE,MAAU,EACb,CAAC,GAAE,MAAU,EACb,QAAQ,CAAC,EAAE,MAAM,IAAI;IAuBtB;;;;;;OAMG;IACH,GAAG,CAAC,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI;IAUvB;;;;;;OAMG;IACH,QAAQ,CAAC,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI;IAS5B;;OAEG;IACH,IAAI,CAAC,IAQQ,MAAM,CANlB;IAED;;;OAGG;IACH,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED;;OAEG;IACH,IAAI,CAAC,IAQQ,MAAM,CANlB;IAED;;;OAGG;IACH,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,IAAI,CAAC,IAIQ,MAAM,CAFlB;IAED,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;IAI9C;;;OAGG;IACH,OAAO;IAIP;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,kBAAkB;IAIhD;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,kBAAkB;IAI/C;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,kBAAkB;IAI/C;;;;;;OAMG;IACH,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI;IAI7B;;;;OAIG;IACH,MAAM,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB;IAIvC;;;OAGG;IACH,KAAK;IAIL;;;OAGG;IACH,IAAI;IAIJ;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,MAAM;IAIb;;;OAGG;IACH,GAAG;IAQH;;;;;OAKG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAI/B;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAQnC;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,kBAAkB;IAShD;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,kBAAkB;IAShD;;;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,GAAG,QAAQ,GAAG,kBAAkB;IAIhD;;;;OAIG;IACH,MAAM,CACL,GAAG,IAAI,EACJ,CAAC,MAAM,CAAC,GACR,CAAC,QAAQ,CAAC,GACV,CAAC,QAAQ,CAAC,GACV,CAAC,kBAAkB,CAAC,GACpB,CAAC,MAAM,EAAE,MAAM,CAAC,GAChB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACzB,OAAO;IAuBV;;;OAGG;IACH,SAAS;IAIT;;;;OAIG;IACH,IAAI;IAIJ;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ;IAkBrD;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,kBAAkB;IAI/C;;;;OAIG;IACH,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB;IAatC;;;OAGG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,MAAM;IAIN;;;;;;;OAOG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB,EAAE,KAAK,EAAE,MAAM;IASpD;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB,EAAE,KAAK,EAAE,MAAM;IAUrD;;;;;;;;OAQG;IACH,IAAI,CACH,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,kBAAkB,EAChD,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM;IAUX;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,kBAAkB,EAAE,IAAI,EAAE,MAAM;IAuB1E;;;;OAIG;IACH,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,kBAAkB;IAIpD;;;;OAIG;IACH,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,kBAAkB;IAIjD;;;;OAIG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,kBAAkB;IAKnD;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,kBAAkB;IAQpD;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI;IAIrB;;;OAGG;IACH,QAAQ;IAIR;;OAEG;IACH,MAAM;CAGN;AAED,eAAO,MAAM,sBAAsB,2IAMhB,IAAI,EAerB,CAAC"}
@@ -16,6 +16,13 @@ import { type ParticleEmitterSettings } from "./settings.ts";
16
16
  * emitter.blendMode = "overlay"; // live particles AND future ones
17
17
  * ```
18
18
  *
19
+ * ### Visibility layers
20
+ *
21
+ * Particles are on their emitter's {@link Renderable#visibilityLayer}: they
22
+ * are born on it, and follow a change to it on the emitter's next `update`.
23
+ * So a camera whose {@link Camera2d#cullMask} draws only the emitter's layer
24
+ * draws the emitter's particles as well.
25
+ *
19
26
  * ### Reference space
20
27
  *
21
28
  * A particle stores a position, and
@@ -44,6 +51,7 @@ import { type ParticleEmitterSettings } from "./settings.ts";
44
51
  * const emitter = new ParticleEmitter(x, y, { referenceSpace: "world" });
45
52
  * ```
46
53
  * @category Particles
54
+ * @see [Particle Editor](https://melonjs.github.io/melonJS/examples/#/particle-editor) — tune an emitter live, in 2D or 3D, and copy the matching code
47
55
  */
48
56
  export default class ParticleEmitter extends Container {
49
57
  #private;
@@ -52,11 +60,15 @@ export default class ParticleEmitter extends Container {
52
60
  */
53
61
  settings: ParticleEmitterSettings;
54
62
  /**
55
- * @param x - x position of the particle emitter
56
- * @param y - y position of the particle emitter
63
+ * The spawn area (`settings.width` by `settings.height`) is centred on
64
+ * (x, y). After construction `pos` is the area's top left corner, as on
65
+ * any renderable: to move the emitter to a new point, offset by half the
66
+ * area.
67
+ * @param x - x position of the centre of the spawn area
68
+ * @param y - y position of the centre of the spawn area
57
69
  * @param [settings=ParticleEmitterSettings] - the settings for the particle emitter.
58
70
  * @example
59
- * // Create a particle emitter at position 100, 100
71
+ * // Create a particle emitter centred on 100, 100
60
72
  * let emitter = new ParticleEmitter(100, 100, {
61
73
  * width: 16,
62
74
  * height : 16,
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/particles/emitter.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,8BAA8B,CAAC;AAMrD,OAA+B,EAC9B,KAAK,uBAAuB,EAC5B,MAAM,eAAe,CAAC;AAuKvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,SAAS;;IACrD;;OAEG;IACH,QAAQ,EAAE,uBAAuB,CAAC;IA2IlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;gBAEF,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,GAAE,OAAO,CAAC,uBAAuB,CAAM;IAwCvC,KAAK,CAAC,QAAQ,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAAG,IAAI;IA4DrE;;;;;;;;;;;OAWG;IACH,IAAI,cAAc,IAAI,OAAO,GAAG,OAAO,GAAG,SAAS,CAElD;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,EAQtD;IAyHD;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,eAAe,IAAI,MAAM;IAuEzB;;;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;CAuJpC"}
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/particles/emitter.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,8BAA8B,CAAC;AAKrD,OAA+B,EAC9B,KAAK,uBAAuB,EAC5B,MAAM,eAAe,CAAC;AAqJvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,SAAS;;IACrD;;OAEG;IACH,QAAQ,EAAE,uBAAuB,CAAC;IAiJlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;gBAEF,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,GAAE,OAAO,CAAC,uBAAuB,CAAM;IAwCvC,KAAK,CAAC,QAAQ,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAAG,IAAI;IAmDrE;;;;;;;;;;;OAWG;IACH,IAAI,cAAc,IAAI,OAAO,GAAG,OAAO,GAAG,SAAS,CAElD;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,EAQtD;IAyHD;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,eAAe,IAAI,MAAM;IAyEzB;;;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;CAkKpC"}
@@ -45,6 +45,12 @@ export default class Particle extends Renderable {
45
45
  private _frameIndex;
46
46
  /** @ignore */
47
47
  private _animateFrames;
48
+ /**
49
+ * whether the image is the emitter's built-in square, the shared white
50
+ * pixel: drawn whole, stretched to the particle's size
51
+ * @ignore
52
+ */
53
+ private _builtin;
48
54
  /**
49
55
  * @param emitter - the particle emitter
50
56
  */
@@ -1 +1 @@
1
- {"version":3,"file":"particle.d.ts","sourceRoot":"","sources":["../../src/particles/particle.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAgB,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,UAAU,MAAM,6BAA6B,CAAC;AAIrD,OAAO,eAAe,MAAM,cAAc,CAAC;AAU3C;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,UAAU;;IAC/C;;;;;;;;OAQG;IACH,GAAG,EAAE,QAAQ,CAAC;IACd;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IAqBxB,KAAK,EAAE,OAAO,CAAC;IACf,cAAc;IACd,OAAO,CAAC,OAAO,CAAuD;IAQtE,cAAc;IACd,OAAO,CAAC,WAAW,CAAS;IAC5B,cAAc;IACd,OAAO,CAAC,cAAc,CAAU;IAEhC;;OAEG;gBACS,OAAO,EAAE,eAAe;IAqd3B,YAAY,CAAC,QAAQ,UAAO;CAqHrC;AAED,eAAO,MAAM,YAAY,kEAWxB,CAAC"}
1
+ {"version":3,"file":"particle.d.ts","sourceRoot":"","sources":["../../src/particles/particle.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAgB,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,UAAU,MAAM,6BAA6B,CAAC;AAKrD,OAAO,eAAe,MAAM,cAAc,CAAC;AAqD3C;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,UAAU;;IAC/C;;;;;;;;OAQG;IACH,GAAG,EAAE,QAAQ,CAAC;IACd;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IAqBxB,KAAK,EAAE,OAAO,CAAC;IACf,cAAc;IACd,OAAO,CAAC,OAAO,CAAuD;IAQtE,cAAc;IACd,OAAO,CAAC,WAAW,CAAS;IAC5B,cAAc;IACd,OAAO,CAAC,cAAc,CAAU;IAEhC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAU;IAE1B;;OAEG;gBACS,OAAO,EAAE,eAAe;IAod3B,YAAY,CAAC,QAAQ,UAAO;CA0HrC;AAED,eAAO,MAAM,YAAY,kEAWxB,CAAC"}
@@ -6,10 +6,12 @@ import type ParticleEmitter from "./emitter.ts";
6
6
  * to the constructor or {@link ParticleEmitter#reset}.
7
7
  * @category Particles
8
8
  * @see {@link ParticleEmitter}
9
+ * @see [Particle Editor](https://melonjs.github.io/melonJS/examples/#/particle-editor) — every setting on a slider, with the code or JSON to copy
9
10
  */
10
11
  export interface ParticleEmitterSettings {
11
12
  /**
12
- * Width of the particle spawn area.
13
+ * Width of the particle spawn area. The constructor centres the area on
14
+ * the point it is given; `pos` is then its top left corner.
13
15
  * @default 1
14
16
  */
15
17
  width: number;
@@ -19,8 +21,23 @@ export interface ParticleEmitterSettings {
19
21
  */
20
22
  height: number;
21
23
  /**
22
- * Image used for particles texture (by default melonJS will create a white
23
- * 8x8 texture image).
24
+ * Depth of the particle spawn area, along Z: each particle is born at a
25
+ * random depth within it, centered on the emitter. With
26
+ * {@link ParticleEmitterSettings.width} and
27
+ * {@link ParticleEmitterSettings.height} it makes the area a box, so under
28
+ * a {@link Camera3d} rain falls through a volume instead of a sheet facing
29
+ * the viewer. A 2D camera does not show the depth itself; with an order
30
+ * dependent blend mode, the particles are then sorted by it.
31
+ * <br><br>
32
+ * Not {@link Renderable#depth}, the emitter's own position along Z.
33
+ * @default 0
34
+ */
35
+ depth: number;
36
+ /**
37
+ * Image used for particles texture. Without one, particles are white
38
+ * squares of {@link textureSize} pixels, colored by `tint`: every such
39
+ * emitter draws the renderer's one shared white pixel, stretched, so none
40
+ * makes a texture of its own.
24
41
  * @default undefined
25
42
  * @see {@link textureSize}
26
43
  */
@@ -61,8 +78,8 @@ export interface ParticleEmitterSettings {
61
78
  */
62
79
  randomFrame?: boolean;
63
80
  /**
64
- * Default texture size used for particles if no image is specified
65
- * (by default melonJS will create a white 8x8 texture image).
81
+ * Size, in pixels, of the white square particles are drawn as when the
82
+ * emitter has no {@link image}.
66
83
  * @default 8
67
84
  * @see {@link image}
68
85
  */
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/particles/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/particles/settings.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,11 @@ import type World from "./world.js";
13
13
  * `dynamic` bodies are simulated (player, projectiles); `kinematic`
14
14
  * bodies are user-positioned but participate in collision (moving
15
15
  * platforms, elevators).
16
+ *
17
+ * The planck and Rapier adapters simulate `kinematic` as such. The builtin
18
+ * and matter adapters build a dynamic body, which falls under gravity; for a
19
+ * portable moving platform use `static` and move it with
20
+ * {@link PhysicsAdapter.setPosition}.
16
21
  */
17
22
  export type BodyType = "static" | "dynamic" | "kinematic";
18
23
  /**
@@ -22,14 +27,16 @@ export type BodyType = "static" | "dynamic" | "kinematic";
22
27
  * body's rather than replacing them — `collisionType`, `collisionMask`,
23
28
  * `isTrigger` and `isActive`. See {@link Body#addShape} for the semantics.
24
29
  *
25
- * Adapter support: the builtin and planck adapters honour them (planck maps
26
- * them onto per-fixture filters, which Box2D provides natively). The matter
30
+ * Adapter support: the builtin, planck and Rapier adapters honour them
31
+ * (planck and Rapier map them onto per-collider filters, which both engines
32
+ * provide natively). The matter
27
33
  * adapter does NOT — its `collisionFilter` and `isSensor` belong to a body, not
28
- * to the parts it is built from, so per-shape values are ignored there.
34
+ * to the parts it is built from, so per-shape values are ignored there, except
35
+ * `isActive: false`, which leaves the shape out of the body.
29
36
  *
30
37
  * **The two 3D shapes are builtin-only.** `Box3d` and `Sphere` exist because
31
- * the builtin solver resolves along Z; the matter and planck adapters are 2D
32
- * engines with no depth to resolve and THROW when handed either one. They are
38
+ * the builtin solver resolves along Z; the matter, planck and Rapier adapters
39
+ * are 2D engines with no depth to resolve and THROW when handed either one. They are
33
40
  * in this union because a body definition is otherwise portable and these are
34
41
  * body shapes, not because every adapter accepts them: a game that wants to
35
42
  * stay adapter-portable builds its bodies from the planar three.
@@ -51,11 +58,13 @@ export type BodyShape = Rect | Ellipse | Polygon | Box3d | Sphere;
51
58
  * at least one of these handlers. Declaring none costs nothing.
52
59
  *
53
60
  * **Supported on every backend.** The builtin detector enumerates shape pairs
54
- * directly; `@melonjs/planck-adapter` and `@melonjs/matter-adapter` map one
55
- * melonJS shape onto one native collider and their engines already report
56
- * contacts per collider pair, so both dispatch these natively. The adapters
57
- * supply `normal` and `depth` rather than the full SAT vector set, matching
58
- * what they already provide to `onCollision`.
61
+ * directly; `@melonjs/planck-adapter`, `@melonjs/matter-adapter` and
62
+ * `@melonjs/rapier2d-adapter` map one melonJS shape onto one native collider
63
+ * and their engines already report contacts per collider pair, so they
64
+ * dispatch these natively. The adapters
65
+ * derive the SAT fields from their `normal` and `depth`, as the builtin
66
+ * defines them: `overlapN` is `-normal`, `overlapV` is `overlapN * depth`, and
67
+ * the Z fields are 0.
59
68
  *
60
69
  * **Receiver-symmetric**, exactly like `CollisionResponse`: `a` and `shapeA`
61
70
  * are always the side whose handler is firing, `b` and `shapeB` the partner.
@@ -153,9 +162,9 @@ export interface CollisionResponse {
153
162
  depth: number;
154
163
  /**
155
164
  * Engine-native contact pair object. **Shape is adapter-specific** —
156
- * `Matter.Pair` under `@melonjs/matter-adapter`, a `ContactPair`-shaped
157
- * object under a future Rapier adapter, a `b2Contact` under a future
158
- * Box2D adapter, etc. Reading this commits your code to a specific
165
+ * `Matter.Pair` under `@melonjs/matter-adapter`, a planck `Contact` under
166
+ * `@melonjs/planck-adapter`, `{ collider1, collider2 }` (the two collider
167
+ * handles) under `@melonjs/rapier2d-adapter`. Reading this commits your code to a specific
159
168
  * engine; use the portable `normal` / `depth` fields for
160
169
  * adapter-portable handlers.
161
170
  *
@@ -206,7 +215,11 @@ export interface CollisionResponse {
206
215
  * itself (e.g. `adapter.setVelocity(r, v)` always works).
207
216
  */
208
217
  export interface PhysicsBody {
209
- /** Set linear velocity in viewport pixels per frame. */
218
+ /**
219
+ * Set linear velocity, in pixels per step on the builtin and matter
220
+ * adapters (a step is 1/60 s) and in pixels per second on planck and
221
+ * Rapier.
222
+ */
210
223
  setVelocity(x: number, y: number): void;
211
224
  /** Read linear velocity; writes into `out` if provided to avoid an alloc. */
212
225
  getVelocity(out?: Vector2d): Vector2d;
@@ -325,8 +338,8 @@ export interface BodyDefinition {
325
338
  * Number applies uniformly; `{x, y}` damps each axis independently
326
339
  * (melonJS-specific — Matter only supports scalar and will average).
327
340
  *
328
- * It damps ROTATION as well as translation on the matter and planck
329
- * adapters, so it is also what stops a body spinning once something has
341
+ * It damps ROTATION as well as translation on the matter, planck and
342
+ * Rapier adapters, so it is also what stops a body spinning once something has
330
343
  * set it turning. Left at `0`, a spin never decays. The builtin adapter
331
344
  * maps it onto its per-axis `body.friction` damping vector instead, and
332
345
  * has no rotation to damp.
@@ -373,8 +386,8 @@ export interface BodyDefinition {
373
386
  /**
374
387
  * Disable rotation simulation, so the body keeps whatever angle it has.
375
388
  *
376
- * Defaults to whatever the underlying engine defaults to, which for both
377
- * matter and planck is `false`: a rigid body turns when something turns
389
+ * Defaults to whatever the underlying engine defaults to, which for
390
+ * matter, planck and Rapier is `false`: a rigid body turns when something turns
378
391
  * it. Pass `true` for anything that must stay upright, such as a
379
392
  * platformer actor that should never tip over.
380
393
  *
@@ -474,7 +487,7 @@ export interface ShapeEntry {
474
487
  * shape file, which is resolved into real shapes when the renderable is added
475
488
  * to a container — so every adapter receives the same
476
489
  * {@link BodyDefinition}, and one definition works unchanged on the builtin,
477
- * matter and planck backends alike.
490
+ * matter, planck and Rapier backends alike.
478
491
  * @example
479
492
  * // preload the file the shape editor exported, like any other JSON
480
493
  * { name: "shapes", type: "json", src: "data/physics/shapes.json" }
@@ -534,7 +547,7 @@ export interface AdapterCapabilities {
534
547
  raycasts: boolean;
535
548
  /**
536
549
  * supports {@link PhysicsAdapter.raycast3d}. 2D-only adapters
537
- * (matter, planck) report `false` and omit the method; users can
550
+ * (matter, planck, Rapier) report `false` and omit the method; users can
538
551
  * branch on this flag before calling
539
552
  * `world.adapter.raycast3d?.(...)` to skip a no-op delegation.
540
553
  */
@@ -684,7 +697,9 @@ export interface PhysicsAdapter {
684
697
  /**
685
698
  * Register a body with the simulation. Returns an opaque handle that
686
699
  * becomes `renderable.body`. Each adapter chooses its own concrete
687
- * body type — see the class doc for the convention.
700
+ * body type — see the class doc for the convention. Like the builtin
701
+ * `Body` constructor, it sets `renderable.isKinematic` to `false`, so the
702
+ * renderable takes part in physics and receives pointer events.
688
703
  *
689
704
  * **Prefer the declarative path.** Set `renderable.bodyDef` and call
690
705
  * `Container.addChild(renderable)` — the container auto-invokes
@@ -719,9 +734,9 @@ export interface PhysicsAdapter {
719
734
  setAngle?(renderable: Renderable, angle: number): void;
720
735
  /** Read absolute rotation angle (radians). Returns 0 if not tracked. */
721
736
  getAngle?(renderable: Renderable): number;
722
- /** Set angular velocity (rad / frame). */
737
+ /** Set angular velocity: radians per step, per second on planck and Rapier. */
723
738
  setAngularVelocity?(renderable: Renderable, omega: number): void;
724
- /** Read angular velocity (rad / frame). Returns 0 if not tracked. */
739
+ /** Read angular velocity, in the same unit. Returns 0 if not tracked. */
725
740
  getAngularVelocity?(renderable: Renderable): number;
726
741
  /** Apply an angular impulse (`Δω = τ / inertia`). */
727
742
  applyTorque?(renderable: Renderable, torque: number): void;
@@ -745,8 +760,9 @@ export interface PhysicsAdapter {
745
760
  /**
746
761
  * Read the body's current velocity cap (mirror of
747
762
  * {@link setMaxVelocity}). Returns plain `{x, y}` so callers don't
748
- * need to import a vector type. Optional — adapters that don't
749
- * implement velocity caps omit this method.
763
+ * need to import a vector type. A body with no cap reports `Infinity`
764
+ * on both axes; a builtin `Body` always has one, 490 by default. Optional — adapters that don't implement velocity caps
765
+ * omit this method.
750
766
  */
751
767
  getMaxVelocity?(renderable: Renderable): {
752
768
  x: number;
@@ -869,4 +885,27 @@ export interface PhysicsAdapter {
869
885
  */
870
886
  getBodyShapes(renderable: Renderable): readonly BodyShape[];
871
887
  }
888
+ /**
889
+ * The static side every physics adapter class shares, next to its
890
+ * constructor. `load()` resolves once the adapter can be constructed, and
891
+ * `create()` waits for it, then constructs: an adapter whose engine is plain
892
+ * JavaScript (the builtin, matter and planck adapters) resolves `load()` at
893
+ * once, while one built on WebAssembly downloads and compiles it there. So
894
+ * `await X.create(options)` is the same line for every adapter, at boot or
895
+ * before {@link World#setAdapter}; `new X(options)` stays available wherever
896
+ * the adapter needs no loading.
897
+ * @example
898
+ * const app = new Application(800, 600, {
899
+ * physic: await PlanckAdapter.create({ gravity: { x: 0, y: 320 } }),
900
+ * });
901
+ * // later, between two screens
902
+ * app.world.setAdapter(await MatterAdapter.create());
903
+ */
904
+ export interface PhysicsAdapterClass<T extends PhysicsAdapter = PhysicsAdapter, O = any> {
905
+ new (options?: O): T;
906
+ /** Resolves once the adapter can be constructed. Every call returns the same promise. */
907
+ load(): Promise<void>;
908
+ /** Resolves with a new adapter: waits for `load()`, then constructs it. */
909
+ create(options?: O): Promise<T>;
910
+ }
872
911
  //# sourceMappingURL=adapter.d.ts.map