melonjs 20.13.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.
- package/README.md +65 -22
- package/build/application/application.d.ts +6 -1
- package/build/application/application.d.ts.map +1 -1
- package/build/application/header.d.ts.map +1 -1
- package/build/application/resize.d.ts.map +1 -1
- package/build/application/settings.d.ts +13 -8
- package/build/application/settings.d.ts.map +1 -1
- package/build/audio/audio.d.ts +8 -4
- package/build/audio/audio.d.ts.map +1 -1
- package/build/audio/backend/engine.d.ts.map +1 -1
- package/build/audio/playback.d.ts +2 -2
- package/build/audio/playback.d.ts.map +1 -1
- package/build/audio/spatial.d.ts.map +1 -1
- package/build/audio/types.d.ts +15 -5
- package/build/audio/types.d.ts.map +1 -1
- package/build/camera/camera2d.d.ts +10 -9
- package/build/camera/camera2d.d.ts.map +1 -1
- package/build/camera/camera3d.d.ts +11 -8
- package/build/camera/camera3d.d.ts.map +1 -1
- package/build/geometries/path2d.d.ts +9 -8
- package/build/geometries/path2d.d.ts.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +40993 -39738
- package/build/index.js.map +4 -4
- package/build/input/keyboard.d.ts.map +1 -1
- package/build/input/pointerevent.d.ts.map +1 -1
- package/build/level/gltf/GLTFModel.d.ts.map +1 -1
- package/build/level/level.d.ts.map +1 -1
- package/build/level/tiled/TMXLayer.d.ts +2 -1
- package/build/level/tiled/TMXLayer.d.ts.map +1 -1
- package/build/level/tiled/TMXTileMap.d.ts +13 -3
- package/build/level/tiled/TMXTileMap.d.ts.map +1 -1
- package/build/level/tiled/TMXTileset.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXObliqueRenderer.d.ts +1 -0
- package/build/level/tiled/renderer/TMXObliqueRenderer.d.ts.map +1 -1
- package/build/level/tiled/renderer/TMXRenderer.d.ts +7 -3
- package/build/level/tiled/renderer/TMXRenderer.d.ts.map +1 -1
- package/build/lighting/light3d.d.ts +55 -0
- package/build/lighting/light3d.d.ts.map +1 -1
- package/build/loader/cache.d.ts +146 -97
- package/build/loader/cache.d.ts.map +1 -1
- package/build/loader/internal-types.d.ts +69 -0
- package/build/loader/internal-types.d.ts.map +1 -0
- package/build/loader/loader.d.ts +584 -292
- package/build/loader/loader.d.ts.map +1 -1
- package/build/loader/parsers/audio.d.ts.map +1 -1
- package/build/loader/parsers/fontface.d.ts.map +1 -1
- package/build/loader/parsers/gltf.d.ts.map +1 -1
- package/build/loader/parsers/tmx.d.ts.map +1 -1
- package/build/math/color.d.ts +4 -0
- package/build/math/color.d.ts.map +1 -1
- package/build/math/noise.d.ts +16 -16
- package/build/math/noise.d.ts.map +1 -1
- package/build/physics/adapter.d.ts +64 -25
- package/build/physics/adapter.d.ts.map +1 -1
- package/build/physics/builtin/body.d.ts +9 -0
- package/build/physics/builtin/body.d.ts.map +1 -1
- package/build/physics/builtin/builtin-adapter.d.ts +25 -3
- package/build/physics/builtin/builtin-adapter.d.ts.map +1 -1
- package/build/physics/builtin/detector.d.ts.map +1 -1
- package/build/physics/builtin/raycast.d.ts.map +1 -1
- package/build/physics/world.d.ts +40 -10
- package/build/physics/world.d.ts.map +1 -1
- package/build/renderable/container.d.ts +1 -0
- package/build/renderable/container.d.ts.map +1 -1
- package/build/renderable/draggable.d.ts.map +1 -1
- package/build/renderable/frameAnimation.d.ts.map +1 -1
- package/build/renderable/instanced_mesh.d.ts +16 -14
- package/build/renderable/instanced_mesh.d.ts.map +1 -1
- package/build/renderable/mesh.d.ts +62 -5
- package/build/renderable/mesh.d.ts.map +1 -1
- package/build/renderable/trigger.d.ts +5 -0
- package/build/renderable/trigger.d.ts.map +1 -1
- package/build/renderable/ui/uibaseelement.d.ts +8 -1
- package/build/renderable/ui/uibaseelement.d.ts.map +1 -1
- package/build/renderable/ui/uicheckbox.d.ts.map +1 -1
- package/build/system/device.d.ts +11 -2
- package/build/system/device.d.ts.map +1 -1
- package/build/system/fullscreen.d.ts.map +1 -1
- package/build/system/pool.d.ts.map +1 -1
- package/build/utils/utils.d.ts.map +1 -1
- package/build/video/canvas/canvas_renderer.d.ts +16 -14
- package/build/video/canvas/canvas_renderer.d.ts.map +1 -1
- package/build/video/canvas_factory.d.ts.map +1 -1
- package/build/video/effects/shadereffect.d.ts +127 -0
- package/build/video/effects/shadereffect.d.ts.map +1 -1
- package/build/video/renderer.d.ts.map +1 -1
- package/build/video/webgl/batchers/lit_mesh_batcher.d.ts.map +1 -1
- package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
- package/build/video/webgpu/batchers/lit_mesh_batcher.d.ts.map +1 -1
- package/build/video/webgpu/webgpu_renderer.d.ts.map +1 -1
- package/package.json +1 -1
- package/skills/melonjs/SKILL.md +38 -14
- package/skills/melonjs-20-migration/SKILL.md +50 -7
- package/skills/melonjs-3d/SKILL.md +138 -38
- package/skills/melonjs-3d-assets/SKILL.md +83 -33
- package/skills/melonjs-audio/SKILL.md +55 -14
- package/skills/melonjs-camera-and-drawing/SKILL.md +95 -8
- package/skills/melonjs-deployment/SKILL.md +92 -14
- package/skills/melonjs-display-and-scaling/SKILL.md +8 -3
- package/skills/melonjs-effects-and-shaders/SKILL.md +46 -15
- package/skills/melonjs-events/SKILL.md +3 -2
- package/skills/melonjs-getting-started/SKILL.md +5 -0
- package/skills/melonjs-input/SKILL.md +65 -15
- package/skills/melonjs-lighting/SKILL.md +13 -1
- package/skills/melonjs-loading-assets/SKILL.md +202 -27
- package/skills/melonjs-math/SKILL.md +12 -5
- package/skills/melonjs-particles-and-trails/SKILL.md +7 -3
- package/skills/melonjs-performance/SKILL.md +18 -8
- package/skills/melonjs-physics/SKILL.md +385 -127
- package/skills/melonjs-plugins/SKILL.md +45 -11
- package/skills/melonjs-renderables/SKILL.md +24 -7
- package/skills/melonjs-renderer-backends/SKILL.md +38 -17
- package/skills/melonjs-scenes-and-state/SKILL.md +30 -5
- package/skills/melonjs-sprites-and-animation/SKILL.md +23 -2
- package/skills/melonjs-tilemaps/SKILL.md +56 -18
- package/skills/melonjs-ui-and-text/SKILL.md +120 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/loader/loader.js"],"names":[],"mappings":"
|
|
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":"
|
|
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":"
|
|
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":"
|
|
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,
|
|
1
|
+
{"version":3,"file":"tmx.d.ts","sourceRoot":"","sources":["../../../src/loader/parsers/tmx.js"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,2FALW,MAAM,GACJ,MAAM,CA4FlB"}
|
package/build/math/color.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/math/color.ts"],"names":[],"mappings":"
|
|
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"}
|
package/build/math/noise.d.ts
CHANGED
|
@@ -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
|
|
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"}
|
|
@@ -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
|
|
26
|
-
* them onto per-
|
|
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
|
|
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
|
|
55
|
-
* melonJS shape onto one native collider
|
|
56
|
-
* contacts per collider pair, so
|
|
57
|
-
*
|
|
58
|
-
*
|
|
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 `
|
|
157
|
-
*
|
|
158
|
-
*
|
|
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
|
-
/**
|
|
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
|
|
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
|
|
377
|
-
* matter and
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
749
|
-
*
|
|
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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/physics/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/physics/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -293,6 +293,15 @@ export default class Body {
|
|
|
293
293
|
* @default false
|
|
294
294
|
*/
|
|
295
295
|
public readonly jumping: boolean;
|
|
296
|
+
/**
|
|
297
|
+
* whether a collision resolved in the current step pushed this body up
|
|
298
|
+
* out of something below it: an actual surface under it, which the
|
|
299
|
+
* `falling` / `jumping` flags alone do not say (a body held still
|
|
300
|
+
* with no gravity, or one never stepped, is not falling either)
|
|
301
|
+
* @ignore
|
|
302
|
+
* @type {boolean}
|
|
303
|
+
*/
|
|
304
|
+
onSurface: boolean;
|
|
296
305
|
onBodyUpdate: Function | undefined;
|
|
297
306
|
/**
|
|
298
307
|
* set the body as a static body
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../src/physics/builtin/body.js"],"names":[],"mappings":"AAgDA;;;;GAIG;AACH;IACC;;;;OAIG;IACH,sBAJW,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,WAClD,IAAI,GAAC,IAAI,EAAE,GAAC,OAAO,GAAC,OAAO,EAAE,GAAC,IAAI,GAAC,IAAI,EAAE,GAAC,OAAO,GAAC,OAAO,EAAE,GAAC,KAAK,GAAC,KAAK,EAAE,GAAC,MAAM,GAAC,MAAM,EAAE,GAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../src/physics/builtin/body.js"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { Sphere } from "../../geometries/sphere.ts";
|
|
|
3
3
|
import { Vector2d } from "../../math/vector2d.ts";
|
|
4
4
|
import { Vector3d } from "../../math/vector3d.ts";
|
|
5
5
|
import type Renderable from "../../renderable/renderable.js";
|
|
6
|
-
import type { AdapterCapabilities, AdapterOptions, BodyDefinition, BodyShape, PhysicsAdapter, RaycastHit, RaycastHit3d } from "../adapter.ts";
|
|
6
|
+
import type { AdapterCapabilities, AdapterOptions, BodyDefinition, BodyShape, PhysicsAdapter, PhysicsAdapterClass, RaycastHit, RaycastHit3d } from "../adapter.ts";
|
|
7
7
|
import type { Bounds } from "../bounds.ts";
|
|
8
8
|
import type World from "../world.js";
|
|
9
9
|
import Body from "./body.js";
|
|
@@ -16,8 +16,9 @@ import Detector from "./detector.js";
|
|
|
16
16
|
* `body.isStatic = true`) keeps working unchanged.
|
|
17
17
|
*
|
|
18
18
|
* Instantiated by default during `Application` construction; user code
|
|
19
|
-
* only touches this directly when explicitly wiring it
|
|
20
|
-
*
|
|
19
|
+
* only touches this directly when explicitly wiring it, for example with
|
|
20
|
+
* another gravity:
|
|
21
|
+
* `new Application(w, h, { physic: await BuiltinAdapter.create({ gravity }) })`.
|
|
21
22
|
* @category Physics
|
|
22
23
|
*/
|
|
23
24
|
export default class BuiltinAdapter implements PhysicsAdapter {
|
|
@@ -48,6 +49,27 @@ export default class BuiltinAdapter implements PhysicsAdapter {
|
|
|
48
49
|
* Back-reference to the owning world, set in {@link init}.
|
|
49
50
|
*/
|
|
50
51
|
private world;
|
|
52
|
+
/**
|
|
53
|
+
* Resolves once the adapter can be constructed. The built-in solver is plain JavaScript, loaded with melonJS, so this resolves
|
|
54
|
+
* at once; it is here so every adapter has the same
|
|
55
|
+
* {@link PhysicsAdapterClass} API, and code written as
|
|
56
|
+
* `await BuiltinAdapter.create()` reads the same as for one that loads
|
|
57
|
+
* WebAssembly first.
|
|
58
|
+
* @returns a resolved promise
|
|
59
|
+
*/
|
|
60
|
+
static load(): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Create an adapter, the same way for every adapter: wait for
|
|
63
|
+
* {@link BuiltinAdapter.load}, then construct it. Here that is the same as
|
|
64
|
+
* `new BuiltinAdapter(options)`, which stays supported.
|
|
65
|
+
* @param options - the constructor's options
|
|
66
|
+
* @returns the new adapter, an instance of the class `create` is called on
|
|
67
|
+
* @example
|
|
68
|
+
* const app = new Application(800, 600, {
|
|
69
|
+
* physic: await BuiltinAdapter.create(),
|
|
70
|
+
* });
|
|
71
|
+
*/
|
|
72
|
+
static create<T extends PhysicsAdapter>(this: PhysicsAdapterClass<T, AdapterOptions>, options?: AdapterOptions): Promise<T>;
|
|
51
73
|
constructor(options?: AdapterOptions);
|
|
52
74
|
init(world: World): void;
|
|
53
75
|
destroy(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-adapter.d.ts","sourceRoot":"","sources":["../../../src/physics/builtin/builtin-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC;AAE7D,OAAO,KAAK,EACX,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,SAAS,EACT,cAAc,EACd,UAAU,EACV,YAAY,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AAmTrC
|
|
1
|
+
{"version":3,"file":"builtin-adapter.d.ts","sourceRoot":"","sources":["../../../src/physics/builtin/builtin-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../../src/physics/builtin/detector.js"],"names":[],"mappings":";AAwGA;;GAEG;AACH;IACC;;OAEG;IACH,mBAFW,SAAS,EAkLnB;IA9KA,iBAAkB;IAElB;;;;OAIG;IACH,UAFU,cAAc,CAEY;IAEpC;;;;;;;;OAQG;IACH,mCAA8C;IAE9C;;;;;;OAMG;IACH,2BAA4B;IAC5B;;;;;OAKG;IACH,yBAA0B;IAC1B;;;;;;;;;;;;;;;OAeG;IACH;;;;;;;;;;;;;;;;;;;;;;;QAyCC;IAED;;;;;;;OAOG;IACH,gCAAiC;IACjC;;;OAGG;IACH,8BAA+B;IAE/B;;;;;;;OAOG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;QAmCC;IAED;;;;;;OAMG;IACH,+EAAuB;IACvB;;;OAGG;IACH,iBAAuB;IACvB;;;OAGG;IACH,uGAEC;IAGF;;;;;;;;;OASG;IACH;;;;;;;;;;;;;;;;;;;;;;;MA0CC;IAED;;;;;;OAMG;IACH,mBAGC;IAED;;;;;;;OAOG;IACH,iBA0DC;IAED;;;;;;OAMG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;MAsBC;IAED;;;;;;OAMG;IACH,4CAOC;IAED;;;;;;;;;;;;;;OAcG;IACH,yEAFa,OAAO,CAuBnB;IAED;;;;;;;;;;;;;;OAcG;IACH,2EAqBC;IAED;;;;;;;;;OASG;IACH,sCAMC;IAED;;;;;;OAMG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;MA2CC;IAED;;;;;OAKG;IACH,oFAyCC;IAED;;;;;;;;;OASG;IACH,yBAGC;IAED;;;;;;;;;;;;;OAaG;IACH,uEAFa,OAAO,CAanB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,uBAHW,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,QAClD,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,QA2H5D;IAED;;;;;;OAMG;IACH,iBAJW,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,KAClD,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,GAChD,OAAO,CAiBnB;IAED;;;;;OAKG;IACH,gBAJW,IAAI,SACJ,IAAI,qDACF,OAAO,CAsInB;IAED;;;;;;OAMG;IACH,iBAHW,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,GAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../../src/physics/builtin/detector.js"],"names":[],"mappings":";AAwGA;;GAEG;AACH;IACC;;OAEG;IACH,mBAFW,SAAS,EAkLnB;IA9KA,iBAAkB;IAElB;;;;OAIG;IACH,UAFU,cAAc,CAEY;IAEpC;;;;;;;;OAQG;IACH,mCAA8C;IAE9C;;;;;;OAMG;IACH,2BAA4B;IAC5B;;;;;OAKG;IACH,yBAA0B;IAC1B;;;;;;;;;;;;;;;OAeG;IACH;;;;;;;;;;;;;;;;;;;;;;;QAyCC;IAED;;;;;;;OAOG;IACH,gCAAiC;IACjC;;;OAGG;IACH,8BAA+B;IAE/B;;;;;;;OAOG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;QAmCC;IAED;;;;;;OAMG;IACH,+EAAuB;IACvB;;;OAGG;IACH,iBAAuB;IACvB;;;OAGG;IACH,uGAEC;IAGF;;;;;;;;;OASG;IACH;;;;;;;;;;;;;;;;;;;;;;;MA0CC;IAED;;;;;;OAMG;IACH,mBAGC;IAED;;;;;;;OAOG;IACH,iBA0DC;IAED;;;;;;OAMG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;MAsBC;IAED;;;;;;OAMG;IACH,4CAOC;IAED;;;;;;;;;;;;;;OAcG;IACH,yEAFa,OAAO,CAuBnB;IAED;;;;;;;;;;;;;;OAcG;IACH,2EAqBC;IAED;;;;;;;;;OASG;IACH,sCAMC;IAED;;;;;;OAMG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;MA2CC;IAED;;;;;OAKG;IACH,oFAyCC;IAED;;;;;;;;;OASG;IACH,yBAGC;IAED;;;;;;;;;;;;;OAaG;IACH,uEAFa,OAAO,CAanB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,uBAHW,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,QAClD,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,QA2H5D;IAED;;;;;;OAMG;IACH,iBAJW,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,KAClD,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,GAChD,OAAO,CAiBnB;IAED;;;;;OAKG;IACH,gBAJW,IAAI,SACJ,IAAI,qDACF,OAAO,CAsInB;IAED;;;;;;OAMG;IACH,iBAHW,UAAU,GAAC,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,eAAe,GAChD,OAAO,CAyMnB;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,cArBW,IAAI,WACJ,KAAK,CAAE,UAAU,CAAC,GAChB,KAAK,CAAE,UAAU,CAAC,CAqC9B;CACD;2BAhqCyB,+BAA+B;2BA3F9B,gBAAgB;4BA4FhB,gCAAgC;wBAFpC,mCAAmC;wBAGnC,4BAA4B;iCACnB,qCAAqC;0BAC9C,0BAA0B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raycast.d.ts","sourceRoot":"","sources":["../../../src/physics/builtin/raycast.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"raycast.d.ts","sourceRoot":"","sources":["../../../src/physics/builtin/raycast.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AAqWrC,wBAAgB,YAAY,CAC3B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACT,UAAU,EAAE,CAgGd"}
|
package/build/physics/world.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export default class World extends Container {
|
|
|
18
18
|
app: Application;
|
|
19
19
|
/**
|
|
20
20
|
* Identifier of the active physics adapter, taken from the
|
|
21
|
-
* adapter's `physicLabel` field
|
|
21
|
+
* adapter's `physicLabel` field by {@link World#setAdapter} —
|
|
22
22
|
* `"builtin"` (default — `BuiltinAdapter`), `"matter"`
|
|
23
23
|
* (`@melonjs/matter-adapter`), or a third-party label.
|
|
24
24
|
* The reserved value `"none"` is set when physics is disabled via
|
|
@@ -75,14 +75,6 @@ export default class World extends Container {
|
|
|
75
75
|
* @default true
|
|
76
76
|
*/
|
|
77
77
|
gpuTilemap: boolean;
|
|
78
|
-
/**
|
|
79
|
-
* the physics adapter driving this world. Defaults to a
|
|
80
|
-
* {@link BuiltinAdapter} wrapping the engine's native SAT-based
|
|
81
|
-
* physics. Override at `Application` construction time via
|
|
82
|
-
* `settings.physic.adapter`. Cannot be swapped at runtime.
|
|
83
|
-
* @type {PhysicsAdapter}
|
|
84
|
-
*/
|
|
85
|
-
adapter: PhysicsAdapter;
|
|
86
78
|
/**
|
|
87
79
|
* Spatial broadphase used by built-in physics and pointer
|
|
88
80
|
* event picking. The concrete class depends on
|
|
@@ -101,6 +93,44 @@ export default class World extends Container {
|
|
|
101
93
|
*/
|
|
102
94
|
broadphase: import("./broadphase/broadphase.ts").Broadphase;
|
|
103
95
|
onLevelLoaded: () => void;
|
|
96
|
+
/**
|
|
97
|
+
* The physics adapter driving this world: a {@link BuiltinAdapter}
|
|
98
|
+
* unless the `Application`'s `physic` setting, or
|
|
99
|
+
* {@link World#setAdapter}, gave it another one. Read-only; change it
|
|
100
|
+
* with {@link World#setAdapter}.
|
|
101
|
+
* @returns {PhysicsAdapter}
|
|
102
|
+
*/
|
|
103
|
+
get adapter(): PhysicsAdapter;
|
|
104
|
+
/**
|
|
105
|
+
* Replace the physics adapter driving this world, for example to move a
|
|
106
|
+
* game from `@melonjs/planck-adapter` to `@melonjs/matter-adapter`. The
|
|
107
|
+
* previous adapter is destroyed, and the new one builds every physics
|
|
108
|
+
* body in the world again, from each renderable's `bodyDef`, where the
|
|
109
|
+
* renderable stands.
|
|
110
|
+
*
|
|
111
|
+
* Nothing else carries over: velocities, forces, contacts and joints
|
|
112
|
+
* start again from rest, and gravity is the new adapter's own, in its
|
|
113
|
+
* own units. A body added with a direct `adapter.addBody()` call rather
|
|
114
|
+
* than a `bodyDef` is not built again, and a legacy `Body` without a
|
|
115
|
+
* `bodyDef` only works with the {@link BuiltinAdapter}.
|
|
116
|
+
*
|
|
117
|
+
* Called during a physics step, from a collision handler for example,
|
|
118
|
+
* the swap happens as soon as that step ends; called more than once in
|
|
119
|
+
* one step, the last adapter asked for is installed.
|
|
120
|
+
*
|
|
121
|
+
* A body the new adapter cannot build (a `Box3d`, `Sphere` or `Point`
|
|
122
|
+
* moving to a 2D adapter) does not stop the swap: every other body is
|
|
123
|
+
* moved, the refused ones are left without a body, and this throws once
|
|
124
|
+
* the swap is complete, naming the first refusal. Called during a step,
|
|
125
|
+
* that error is reported with `console.error` instead, so the game loop
|
|
126
|
+
* keeps running.
|
|
127
|
+
* @param {PhysicsAdapter} adapter - the adapter to use from now on
|
|
128
|
+
* @returns {World} this world
|
|
129
|
+
* @example
|
|
130
|
+
* import { MatterAdapter } from "@melonjs/matter-adapter";
|
|
131
|
+
* app.world.setAdapter(await MatterAdapter.create({ gravity: { x: 0, y: 1 } }));
|
|
132
|
+
*/
|
|
133
|
+
setAdapter(adapter: PhysicsAdapter): World;
|
|
104
134
|
/**
|
|
105
135
|
* Active physics bodies in this simulation. Backed by the active
|
|
106
136
|
* adapter; mutating this set directly is no longer the recommended
|
|
@@ -158,7 +188,7 @@ export default class World extends Container {
|
|
|
158
188
|
import Container from "../renderable/container.js";
|
|
159
189
|
import type Application from "./../application/application.ts";
|
|
160
190
|
import type { PhysicsAdapter } from "./adapter.ts";
|
|
161
|
-
import
|
|
191
|
+
import Body from "./builtin/body.js";
|
|
162
192
|
import type { Vector2d } from "../math/vector2d.ts";
|
|
163
193
|
import type Detector from "./builtin/detector.js";
|
|
164
194
|
//# sourceMappingURL=world.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/physics/world.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/physics/world.js"],"names":[],"mappings":"AAoFA;;;GAGG;AACH;IACC;;;;;;OAMG;IACH,gBANW,MAAM,MACN,MAAM,UACN,MAAM,WACN,MAAM,YACN,cAAc,EAqJxB;IAnIA;;;OAGG;IACH,KAFU,WAAW,CAED;IAEpB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,QANU,MAAM,CAMO;IAEvB;;;;;OAKG;IACH,YAAa;IAEb;;;;;;;OAOG;IACH,WAHU,OAAO,CAGK;IAEtB;;;;;;;;;;;;;;OAcG;IACH,YAHU,OAAO,CAGK;IAEtB;;;;OAIG;IACH,UAFU,cAAc,CAEC;IAEzB;;;;;OAKG;IACH,iBAFU,cAAc,GAAC,SAAS,CAEF;IAEhC;;;;OAIG;IACH,WAFU,OAAO,CAEK;IAItB;;;;;;;;;;;;;;;OAeG;IACH,YAFU,OAAO,4BAA4B,EAAE,UAAU,CAEjB;IAcxC,0BAMC;IAiDF;;;;;;OAMG;IACH,eAFa,cAAc,CAI1B;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,oBANW,cAAc,GACZ,KAAK,CAgDjB;IAED;;;;;;;;;;;OAWG;IACH,cAFa,GAAG,CAAC,IAAI,CAAC,CAOrB;IASD,eALa,QAAQ,EAOpB;IATD;;;OAGG;IACH,eAFa,QAAQ,CAIpB;IAKD;;;;OAIG;IACH,gBAFa,QAAQ,GAAG,SAAS,CAIhC;IA8CD;;;;;;;OAOG;IACH,cAHW,IAAI,GACF,KAAK,CASjB;IAED;;;;;OAKG;IACH,iBAHW,IAAI,GACF,KAAK,CASjB;IAED;;;;;OAKG;IACH,yBAIC;IAuBD;;;OAGG;IACH,SAFW,MAAM,QA2BhB;CACD;sBApiBM,4BAA4B;6BAcP,iCAAiC;oCAG1B,cAAc;iBAPhC,mBAAmB;8BAMP,qBAAqB;0BADzB,uBAAuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/renderable/container.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/renderable/container.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draggable.d.ts","sourceRoot":"","sources":["../../src/renderable/draggable.js"],"names":[],"mappings":"AAYA;;;;GAIG;AACH;IAUE,kBAAqB;IACrB,YAAkB;IAClB,qBAAoC;IAIrC;;;;;;;OAOG;IACH,mBA8BC;IAnBA,kDAEC;IAED,gEAIC;IAED,8DAIC;IAOF;;;;OAIG;IACH,aAHW,MAAM,GACJ,OAAO,CASnB;IAED;;;OAGG;IACH,YAFW,MAAM,
|
|
1
|
+
{"version":3,"file":"draggable.d.ts","sourceRoot":"","sources":["../../src/renderable/draggable.js"],"names":[],"mappings":"AAYA;;;;GAIG;AACH;IAUE,kBAAqB;IACrB,YAAkB;IAClB,qBAAoC;IAIrC;;;;;;;OAOG;IACH,mBA8BC;IAnBA,kDAEC;IAED,gEAIC;IAED,8DAIC;IAOF;;;;OAIG;IACH,aAHW,MAAM,GACJ,OAAO,CASnB;IAED;;;OAGG;IACH,YAFW,MAAM,QAYhB;IAED;;;OAGG;IACH,WAFa,OAAO,CAOnB;IAED;;;;OAIG;IACH,gBAQC;CACD;uBA9HsB,+BAA+B;yBAD7B,qBAAqB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frameAnimation.d.ts","sourceRoot":"","sources":["../../src/renderable/frameAnimation.js"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH;IACC;;;;;;;;;;;OAWG;IACH,kBAXW,MAAM,cAMN,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EA0FlC;IApFA;;;;;OAKG;IACH,MAJU,MAAM,CAIA;IAEhB;;;;;OAKG;IACH,aAJU,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAIL;IAE7B,qDAAqD;IACrD,MAD2C,MAAM,CACnC;IAEd;;;;OAIG;IACH,oGAA0B;IAE1B;;;;OAIG;IACH,kDAAwB;IAExB,wCAAwC;IACxC,SAD8B,MAAM,CAiBnC;IAED,kEAAkE;IAClE,IADwD,MAAM,CACnD;IAEX,qEAAqE;IACrE,gBAD2D,MAAM,CACxC;IAEzB,6DAA6D;IAC7D,gBADkD,OAAO,CAC9B;IAE3B;;;;OAIG;IACH,mBAAmB;IAEnB;;;;OAIG;IACH,mBAAsB;IAEtB;;;;;;;OAOG;IACH,0BAA6B;IAG9B;;;;;;OAMG;IACH,mBALW,MAAM,SACN,MAAM,EAAE,GAAC,MAAM,EAAE,GAAC,MAAM,EAAE,mBAC1B,MAAM,GACJ,MAAM,
|
|
1
|
+
{"version":3,"file":"frameAnimation.d.ts","sourceRoot":"","sources":["../../src/renderable/frameAnimation.js"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH;IACC;;;;;;;;;;;OAWG;IACH,kBAXW,MAAM,cAMN,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EA0FlC;IApFA;;;;;OAKG;IACH,MAJU,MAAM,CAIA;IAEhB;;;;;OAKG;IACH,aAJU,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAIL;IAE7B,qDAAqD;IACrD,MAD2C,MAAM,CACnC;IAEd;;;;OAIG;IACH,oGAA0B;IAE1B;;;;OAIG;IACH,kDAAwB;IAExB,wCAAwC;IACxC,SAD8B,MAAM,CAiBnC;IAED,kEAAkE;IAClE,IADwD,MAAM,CACnD;IAEX,qEAAqE;IACrE,gBAD2D,MAAM,CACxC;IAEzB,6DAA6D;IAC7D,gBADkD,OAAO,CAC9B;IAE3B;;;;OAIG;IACH,mBAAmB;IAEnB;;;;OAIG;IACH,mBAAsB;IAEtB;;;;;;;OAOG;IACH,0BAA6B;IAG9B;;;;;;OAMG;IACH,mBALW,MAAM,SACN,MAAM,EAAE,GAAC,MAAM,EAAE,GAAC,MAAM,EAAE,mBAC1B,MAAM,GACJ,MAAM,CAmFlB;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,sBAFW,MAAM,QAwBhB;IAED;;;;;;OAMG;IACH,0BALW,MAAM,cACN,MAAM,cAAU,MAAM,gBACtB,OAAO,GACL,MAAM,CAyFlB;IAED;;;;;OAKG;IACH,wBAFW,MAAM,QAQhB;IAED;;;OAGG;IACH,yBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;OAEG;IACH,qBAFa,MAAM,EAAE,CAIpB;IAED;;;;;OAKG;IACH,kBAHW,MAAM,GACJ,MAAM,CAiBlB;IAED;;;;OAIG;IACH,0BAHW,MAAM,GACJ,MAAM,CAOlB;IAED;;OAEG;IACH,4BAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH;;;;;;;;;;;;;;;;;OAiBG;IACH,2BAFa,OAAO,CAQnB;IAED,6CAEC;IAED;;;;OAIG;IACH,mBAGC;IAED;;;OAGG;IACH,eAKC;IAED;;;;;;;;OAQG;IACH,WAHW,MAAM,GACJ,OAAO,CA6FnB;IAED;;;;;;;OAOG;IACH,eAFa,OAAO,CAOnB;IAED;;;OAGG;IACH,gBAOC;CACD"}
|