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.
- package/README.md +66 -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 +12 -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/camera/effects/fade_effect.d.ts.map +1 -1
- package/build/geometries/ellipse.d.ts +3 -0
- package/build/geometries/ellipse.d.ts.map +1 -1
- package/build/geometries/line.d.ts.map +1 -1
- package/build/geometries/path2d.d.ts +9 -8
- package/build/geometries/path2d.d.ts.map +1 -1
- package/build/geometries/polygon.d.ts +2 -1
- package/build/geometries/polygon.d.ts.map +1 -1
- package/build/index.d.ts +14 -3
- package/build/index.d.ts.map +1 -1
- package/build/index.js +50215 -45051
- package/build/index.js.map +4 -4
- package/build/input/gamepad.d.ts.map +1 -1
- 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 +50 -15
- package/build/level/tiled/TMXLayer.d.ts.map +1 -1
- package/build/level/tiled/TMXTileMap.d.ts +14 -4
- package/build/level/tiled/TMXTileMap.d.ts.map +1 -1
- package/build/level/tiled/TMXTileset.d.ts.map +1 -1
- package/build/level/tiled/TMXUtils.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/TMXOrthogonalRenderer.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/level/tiled/renderer/TMXStaggeredRenderer.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 +589 -253
- 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/math.d.ts +6 -1
- package/build/math/math.d.ts.map +1 -1
- package/build/math/noise.d.ts +16 -16
- package/build/math/noise.d.ts.map +1 -1
- package/build/math/observableVector2d.d.ts +6 -6
- package/build/math/observableVector2d.d.ts.map +1 -1
- package/build/math/observableVector3d.d.ts +8 -8
- package/build/math/observableVector3d.d.ts.map +1 -1
- package/build/particles/emitter.d.ts +15 -3
- package/build/particles/emitter.d.ts.map +1 -1
- package/build/particles/particle.d.ts +6 -0
- package/build/particles/particle.d.ts.map +1 -1
- package/build/particles/settings.d.ts +22 -5
- package/build/particles/settings.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 +23 -4
- 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 +41 -6
- 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/renderable.d.ts.map +1 -1
- package/build/renderable/sprite.d.ts +4 -2
- package/build/renderable/sprite.d.ts.map +1 -1
- package/build/renderable/text/bitmaptext.d.ts +12 -3
- package/build/renderable/text/bitmaptext.d.ts.map +1 -1
- package/build/renderable/text/text.d.ts +147 -4
- package/build/renderable/text/text.d.ts.map +1 -1
- package/build/renderable/text/textmetrics.d.ts +10 -2
- package/build/renderable/text/textmetrics.d.ts.map +1 -1
- package/build/renderable/text/textstyle.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/panelpaint.d.ts +5 -1
- package/build/renderable/ui/panelpaint.d.ts.map +1 -1
- package/build/renderable/ui/progressbar.d.ts +267 -95
- package/build/renderable/ui/progressbar.d.ts.map +1 -1
- package/build/renderable/ui/uibaseelement.d.ts +443 -50
- package/build/renderable/ui/uibaseelement.d.ts.map +1 -1
- package/build/renderable/ui/uicheckbox.d.ts +383 -0
- package/build/renderable/ui/uicheckbox.d.ts.map +1 -0
- package/build/renderable/ui/uifocus.d.ts +6 -0
- package/build/renderable/ui/uifocus.d.ts.map +1 -0
- package/build/renderable/ui/uilabel.d.ts +31 -0
- package/build/renderable/ui/uilabel.d.ts.map +1 -0
- package/build/renderable/ui/uipanel.d.ts +589 -116
- package/build/renderable/ui/uipanel.d.ts.map +1 -1
- package/build/renderable/ui/uiskin.d.ts +25 -0
- package/build/renderable/ui/uiskin.d.ts.map +1 -0
- package/build/renderable/ui/uislider.d.ts +518 -0
- package/build/renderable/ui/uislider.d.ts.map +1 -0
- package/build/renderable/ui/uispriteelement.d.ts +161 -85
- package/build/renderable/ui/uispriteelement.d.ts.map +1 -1
- package/build/renderable/ui/uitextbutton.d.ts +369 -63
- package/build/renderable/ui/uitextbutton.d.ts.map +1 -1
- package/build/state/stage.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/system/save.d.ts +2 -1
- package/build/system/save.d.ts.map +1 -1
- package/build/tweens/tween.d.ts +5 -2
- package/build/tweens/tween.d.ts.map +1 -1
- package/build/utils/fetchdata.d.ts.map +1 -1
- package/build/utils/utils.d.ts.map +1 -1
- package/build/video/canvas/canvas_renderer.d.ts +16 -19
- 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 +20 -4
- package/build/video/renderer.d.ts.map +1 -1
- package/build/video/renderstate.d.ts +26 -3
- package/build/video/renderstate.d.ts.map +1 -1
- package/build/video/utils/tessellation.d.ts +11 -0
- package/build/video/utils/tessellation.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 +3 -6
- 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/batchers/primitive_batcher.d.ts.map +1 -1
- package/build/video/webgpu/webgpu_renderer.d.ts +3 -6
- package/build/video/webgpu/webgpu_renderer.d.ts.map +1 -1
- package/package.json +1 -1
- package/skills/melonjs/SKILL.md +41 -17
- 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 +62 -19
- package/skills/melonjs-camera-and-drawing/SKILL.md +135 -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 +47 -15
- package/skills/melonjs-events/SKILL.md +6 -3
- package/skills/melonjs-getting-started/SKILL.md +6 -2
- package/skills/melonjs-input/SKILL.md +102 -16
- package/skills/melonjs-lighting/SKILL.md +13 -1
- package/skills/melonjs-loading-assets/SKILL.md +255 -39
- package/skills/melonjs-math/SKILL.md +26 -8
- package/skills/melonjs-particles-and-trails/SKILL.md +77 -9
- package/skills/melonjs-performance/SKILL.md +18 -8
- package/skills/melonjs-physics/SKILL.md +435 -128
- package/skills/melonjs-plugins/SKILL.md +50 -11
- package/skills/melonjs-renderables/SKILL.md +31 -7
- package/skills/melonjs-renderer-backends/SKILL.md +38 -17
- package/skills/melonjs-scenes-and-state/SKILL.md +45 -5
- package/skills/melonjs-sprites-and-animation/SKILL.md +37 -2
- package/skills/melonjs-tilemaps/SKILL.md +149 -17
- package/skills/melonjs-ui-and-text/SKILL.md +674 -42
|
@@ -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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"}
|
|
@@ -274,6 +274,10 @@ export default class Body {
|
|
|
274
274
|
* falling state of the body<br>
|
|
275
275
|
* true if the object is falling<br>
|
|
276
276
|
* false if the object is standing on something<br>
|
|
277
|
+
* Set from the velocity by each step, then by the collisions resolved
|
|
278
|
+
* in it: pushed up out of something below while not rising clears it
|
|
279
|
+
* (and `jumping`), pushed down by something above while rising sets
|
|
280
|
+
* it (and clears `jumping`), however far the body was pushed.
|
|
277
281
|
* @readonly
|
|
278
282
|
* @public
|
|
279
283
|
* @type {boolean}
|
|
@@ -289,6 +293,15 @@ export default class Body {
|
|
|
289
293
|
* @default false
|
|
290
294
|
*/
|
|
291
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;
|
|
292
305
|
onBodyUpdate: Function | undefined;
|
|
293
306
|
/**
|
|
294
307
|
* set the body as a static body
|
|
@@ -320,8 +333,10 @@ export default class Body {
|
|
|
320
333
|
* `force/mass·dt²`, typically ~100× smaller than builtin).
|
|
321
334
|
* @param {number} x - force along the X axis
|
|
322
335
|
* @param {number} y - force along the Y axis
|
|
323
|
-
* @param {number} [pointX] - world X of the application point
|
|
324
|
-
*
|
|
336
|
+
* @param {number} [pointX] - world X of the application point, as on
|
|
337
|
+
* the matter and planck adapters (inside an offset container, that
|
|
338
|
+
* includes the container's position). When present (along with
|
|
339
|
+
* `pointY`) and different from the body centroid,
|
|
325
340
|
* the resulting lever arm generates a torque
|
|
326
341
|
* `τ = (r.x · F.y) − (r.y · F.x)` that bumps {@link Body#angularVelocity}
|
|
327
342
|
* by `τ / pseudoInertia`. Omit both `pointX` and `pointY` for the
|
|
@@ -334,7 +349,9 @@ export default class Body {
|
|
|
334
349
|
*
|
|
335
350
|
* // off-centre push on a crate: the contact point at the top of the
|
|
336
351
|
* // crate is above its centroid, so the same horizontal force now
|
|
337
|
-
* // both translates AND tips the crate forward.
|
|
352
|
+
* // both translates AND tips the crate forward. (`pos` is the top-left
|
|
353
|
+
* // corner here because the crate's anchorPoint is (0, 0), as for a
|
|
354
|
+
* // Tiled object; with the default (0.5, 0.5) anchor, `pos` is its centre.)
|
|
338
355
|
* const topX = crate.pos.x + crate.width / 2;
|
|
339
356
|
* const topY = crate.pos.y;
|
|
340
357
|
* crate.body.applyForce(1.5, 0, topX, topY);
|
|
@@ -387,7 +404,9 @@ export default class Body {
|
|
|
387
404
|
* Set absolute rotation angle (radians). Updates the body's `angle`
|
|
388
405
|
* field and re-syncs the renderable's `currentTransform` immediately
|
|
389
406
|
* so the visual rotation reflects the new value without waiting for
|
|
390
|
-
* the next integration step.
|
|
407
|
+
* the next integration step. The renderable turns about the centre of
|
|
408
|
+
* the body's shapes, whatever its `anchorPoint`; the shapes themselves
|
|
409
|
+
* are not rotated (see {@link Body#rotate} for that).
|
|
391
410
|
* @param {number} rad - target angle in radians
|
|
392
411
|
* @example
|
|
393
412
|
* // turret aims at the player every frame:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../src/physics/builtin/body.js"],"names":[],"mappings":"
|
|
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":"
|
|
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,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
/**
|
|
2
3
|
* additional import for TypeScript
|
|
3
4
|
* @import {Color} from "./../math/color.ts";
|
|
@@ -89,9 +90,13 @@ export default class Container extends Renderable {
|
|
|
89
90
|
*/
|
|
90
91
|
onChildChange: () => void;
|
|
91
92
|
/**
|
|
92
|
-
* Re-measure this container's bounds from its children
|
|
93
|
-
*
|
|
94
|
-
*
|
|
93
|
+
* Re-measure this container's bounds from its children, so they follow
|
|
94
|
+
* the children as they move: on every update (after the children have
|
|
95
|
+
* been updated), whenever a child is added or removed, and, while the
|
|
96
|
+
* container is culled, before each visibility check, so a group whose
|
|
97
|
+
* members come back into view is drawn again. Expensive — every
|
|
98
|
+
* update walks the whole child list — and off by default, because a
|
|
99
|
+
* parent almost never needs it.
|
|
95
100
|
*
|
|
96
101
|
* Enable it for a group whose extent genuinely IS its members' union
|
|
97
102
|
* and moves as they do: a flock of birds, a squad of enemies. A
|
|
@@ -154,6 +159,8 @@ export default class Container extends Renderable {
|
|
|
154
159
|
get sortOn(): "x" | "y" | "z" | "depth";
|
|
155
160
|
/**
|
|
156
161
|
* reset the container, removing all children, and resetting transforms.
|
|
162
|
+
* Persistent children ({@link Renderable#isPersistent}) are kept, and a
|
|
163
|
+
* sort still pending for them still happens.
|
|
157
164
|
*/
|
|
158
165
|
reset(): void;
|
|
159
166
|
/**
|
|
@@ -165,7 +172,15 @@ export default class Container extends Renderable {
|
|
|
165
172
|
* original container. Then when the World container reset() method is called the renderable
|
|
166
173
|
* will not be in any container. <br>
|
|
167
174
|
* if the given child implements an onActivateEvent method, that method will be called
|
|
168
|
-
* once the child is added to this container
|
|
175
|
+
* once the child is added to this container, when this container is in the
|
|
176
|
+
* world (or as soon as it is added to it). Each `onActivateEvent` is matched
|
|
177
|
+
* by exactly one `onDeactivateEvent` when the child leaves the world again. <br>
|
|
178
|
+
* Once this container is in the world, the physics body of the child
|
|
179
|
+
* (its `bodyDef`, or a pre-built `Body`) is registered with the world's
|
|
180
|
+
* physics adapter, and so is the body of every renderable below it if it is
|
|
181
|
+
* a container, at any depth. They are taken out again when the child leaves
|
|
182
|
+
* the world, so moving a whole group from one container to another keeps
|
|
183
|
+
* its bodies simulated, once each.
|
|
169
184
|
* @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be added
|
|
170
185
|
* @param {number} [z] - forces the z index of the child to the specified
|
|
171
186
|
* value. This depth is scoped to THIS container: it orders the child among
|
|
@@ -253,7 +268,7 @@ export default class Container extends Renderable {
|
|
|
253
268
|
* let allCoins = container.getChildByProp("name", /coin/i);
|
|
254
269
|
*
|
|
255
270
|
* // searching for numbers or other data types :
|
|
256
|
-
* let
|
|
271
|
+
* let depth10 = container.getChildByProp("depth", 10);
|
|
257
272
|
* let inViewport = container.getChildByProp("inViewport", true);
|
|
258
273
|
*/
|
|
259
274
|
getChildByProp(prop: string, value: string | RegExp | number | boolean, objList?: any[]): Renderable[];
|
|
@@ -297,7 +312,8 @@ export default class Container extends Renderable {
|
|
|
297
312
|
getRootAncestor(): Container;
|
|
298
313
|
/**
|
|
299
314
|
* Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has completed. <br>
|
|
300
|
-
* if the given child implements an onDeactivateEvent() method, that method will be called once the child is removed from this container
|
|
315
|
+
* if the given child implements an onDeactivateEvent() method, that method will be called once the child is removed from this container
|
|
316
|
+
* (exactly once, for a child that had its `onActivateEvent`: the children of a removed container are told once, however deep they sit).
|
|
301
317
|
* @param {Renderable|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be removed
|
|
302
318
|
* @param {boolean} [keepalive=false] - true to prevent calling child.destroy()
|
|
303
319
|
*/
|
|
@@ -305,6 +321,12 @@ export default class Container extends Renderable {
|
|
|
305
321
|
/**
|
|
306
322
|
* Removes (and optionally destroys) a child from the container.<br>
|
|
307
323
|
* (removal is immediate and unconditional)<br>
|
|
324
|
+
* A child that had its `onActivateEvent` gets one `onDeactivateEvent`, and
|
|
325
|
+
* so does each child below it if it is a container — once, even though the
|
|
326
|
+
* container's own `onDeactivateEvent` and its `destroy()` both reach them.<br>
|
|
327
|
+
* The physics bodies of the child and of everything below it are taken out
|
|
328
|
+
* of the simulation, at any depth and with or without `keepalive`; a child
|
|
329
|
+
* kept alive and added back gets them registered again.<br>
|
|
308
330
|
* Never use keepalive=true with objects from {@link pool}. Doing so will create a memory leak.
|
|
309
331
|
* @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be removed
|
|
310
332
|
* @param {boolean} [keepalive=False] - True to prevent calling child.destroy()
|
|
@@ -364,6 +386,19 @@ export default class Container extends Renderable {
|
|
|
364
386
|
* @param {boolean} [recursive=false] - recursively sort sub-containers
|
|
365
387
|
*/
|
|
366
388
|
sortNow(recursive?: boolean): void;
|
|
389
|
+
/**
|
|
390
|
+
* Whether this container shows its children at a point.
|
|
391
|
+
*
|
|
392
|
+
* Always true unless {@link Container#clipping} is on, in which case only
|
|
393
|
+
* its own rectangle is shown. The pointer asks every container above a
|
|
394
|
+
* region before letting it answer, so a child cropped out of view cannot
|
|
395
|
+
* be clicked where it is not drawn.
|
|
396
|
+
* @param {number} x - the point, in the same coordinates as the bounds of
|
|
397
|
+
* this container (screen pixels for a floating one)
|
|
398
|
+
* @param {number} y - the point
|
|
399
|
+
* @returns {boolean} false where the children are clipped away
|
|
400
|
+
*/
|
|
401
|
+
clipContains(x: number, y: number): boolean;
|
|
367
402
|
/**
|
|
368
403
|
* draw this renderable (automatically called by melonJS)
|
|
369
404
|
* @param {Renderer} renderer - a renderer instance
|
|
@@ -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"}
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Everything {@link InstancedMesh} takes: the instancing settings, plus every
|
|
3
|
+
* {@link MeshSettings} — they are handed to {@link Mesh} whole, so the type
|
|
4
|
+
* says so by intersection rather than by copying the list.
|
|
5
|
+
* @typedef {object} InstancedMeshOwnSettings
|
|
6
|
+
* @property {number} [instanceCount=0] - number of instances to pre-allocate. Instances start at the group origin (identity transform) until placed; `addInstance` grows past this.
|
|
7
|
+
* @property {boolean} [instanceColors=false] - give each instance its own colour (16 bytes per instance), multiplied into the mesh tint
|
|
8
|
+
* @property {boolean} [instanceData=false] - give each instance an opaque `vec4` (16 bytes per instance). Read as emissive by the built-in lit shading, or as anything at all by a custom mesh shader.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* @typedef {InstancedMeshOwnSettings & import("./mesh.js").MeshSettings} InstancedMeshSettings
|
|
12
|
+
*/
|
|
1
13
|
/**
|
|
2
14
|
* A {@link Mesh} drawn many times from one copy of its geometry.
|
|
3
15
|
*
|
|
@@ -26,8 +38,10 @@
|
|
|
26
38
|
* instance with one uniform write and re-uploads nothing.
|
|
27
39
|
*
|
|
28
40
|
* Requires a GPU backend (`renderer.supportsInstancing`). Under the Canvas
|
|
29
|
-
* renderer the instances are drawn one at a time through
|
|
30
|
-
* mesh path
|
|
41
|
+
* renderer (2D camera only) the instances are drawn one at a time through
|
|
42
|
+
* the ordinary CPU mesh path: a last-resort fallback that keeps them
|
|
43
|
+
* visible, without any of the benefit, and whose cost grows with every
|
|
44
|
+
* instance.
|
|
31
45
|
*
|
|
32
46
|
* ### When a plain {@link Mesh} each is the better answer
|
|
33
47
|
*
|
|
@@ -79,18 +93,6 @@
|
|
|
79
93
|
* forest.visibleInstanceCount = 1200;
|
|
80
94
|
* app.world.addChild(forest, 10);
|
|
81
95
|
*/
|
|
82
|
-
/**
|
|
83
|
-
* Everything {@link InstancedMesh} takes: the instancing settings, plus every
|
|
84
|
-
* {@link MeshSettings} — they are handed to {@link Mesh} whole, so the type
|
|
85
|
-
* says so by intersection rather than by copying the list.
|
|
86
|
-
* @typedef {object} InstancedMeshOwnSettings
|
|
87
|
-
* @property {number} [instanceCount=0] - number of instances to pre-allocate. Instances start at the group origin (identity transform) until placed; `addInstance` grows past this.
|
|
88
|
-
* @property {boolean} [instanceColors=false] - give each instance its own colour (16 bytes per instance), multiplied into the mesh tint
|
|
89
|
-
* @property {boolean} [instanceData=false] - give each instance an opaque `vec4` (16 bytes per instance). Read as emissive by the built-in lit shading, or as anything at all by a custom mesh shader.
|
|
90
|
-
*/
|
|
91
|
-
/**
|
|
92
|
-
* @typedef {InstancedMeshOwnSettings & import("./mesh.js").MeshSettings} InstancedMeshSettings
|
|
93
|
-
*/
|
|
94
96
|
export default class InstancedMesh extends Mesh {
|
|
95
97
|
/**
|
|
96
98
|
* @param {number} x - the x coordinate of the group origin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instanced_mesh.d.ts","sourceRoot":"","sources":["../../src/renderable/instanced_mesh.js"],"names":[],"mappings":"AA6CA
|
|
1
|
+
{"version":3,"file":"instanced_mesh.d.ts","sourceRoot":"","sources":["../../src/renderable/instanced_mesh.js"],"names":[],"mappings":"AA6CA;;;;;;;;GAQG;AAEH;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH;IACC;;;;OAIG;IACH,eAJW,MAAM,KACN,MAAM,YACN,qBAAqB,EAyF/B;IApFA;;;;;;;OAOG;IACH,gBAJU,MAAM,CAOf;IAED;;;;;;;OAOG;IACH,gBAFU,YAAY,CAEmB;IAEzC;;;;;;OAMG;IACH,kBAJU,MAAM,CAIS;IAUzB;;;OAGG;IACH,0BAA0B;IAG1B;;;OAGG;IACH,0BAA0B;IAE1B;;;OAGG;IACH,oBAA2B;IAC3B;;;OAGG;IACH,mBAAmB;IAEnB;;;OAGG;IACH,uBAAuB;IACvB;;;OAGG;IACH,8BAA+B;IAE/B;;;OAGG;IACH,sBAAuB;IAoBxB,yBANU,MAAM,EAgDf;IAvDD;;;;;;;;OAQG;IACH,qBAFU,MAAM,CAIf;IA8DD,gCAVU,MAAM,EAiBf;IAvBD;;;;;;;;;OASG;IACH,4BAJU,MAAM,CAQf;IAWD;;;;;;;OAOG;IACH,wBANW,QAAQ,YAEhB;QAAwB,KAAK;QACF,IAAI;KAC/B,GAAU,MAAM,CAqBlB;IAED;;;;;;;;;OASG;IACH,sBAFW,MAAM,QAiBhB;IAED;;;;OAIG;IACH,mBAHW,MAAM,aACN,QAAQ,QAYlB;IAED;;;;;OAKG;IACH,mBAJW,MAAM,QACN,QAAQ,GACN,QAAQ,GAAC,SAAS,CAW9B;IAED;;;;OAIG;IACH,wBAHW,MAAM,SACN,KAAK,QAaf;IAED;;;;;;;OAOG;IACH,uBANW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,MACN,MAAM,QAahB;IAED;;;;;;OAMG;IACH,0BAHW,MAAM,SACN,MAAM,QAyBhB;IAED;;;;;;;;OAQG;IAEH,oCAIC;IAED;;;;;;OAMG;IACH,cAJa,MAAM,EAAE,CAapB;IAED;;;;;;;;OAQG;IACH,iCALW,MAAM,GACJ,MAAM,CAelB;IAED;;;;OAIG;IACH,2BAIC;IAED;;;;;;;;OAQG;IACH;;;;;;;;;;;;OAYG;IACH,yCAkCC;IAdC;;;OAGG;IACH,gCAAsC;IAyFxC;;;;;;;;;;OAUG;IACH,qCALW,cAAc,aACd,QAAQ,QA8BlB;IAED;;;;OAIG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH;;;;;;;;;;;;;;;OAeG;IACH,6BAHW,MAAM,EAAE,GAAC,QAAQ,GAAC,SAAS,EASrC;IAED,cAAc;IACd,yBAZW,MAAM,EAAE,GAAC,QAAQ,GAAC,SAAS,CAcrC;IAED,gDAyOC;CAOD;;;;;;;;;;oBAj9Ba,MAAM;;;;qBACN,OAAO;;;;mBACP,OAAO;;oCAIR,wBAAwB,GAAG,OAAO,WAAW,EAAE,YAAY;iBAvCvD,WAAW;yBAfH,qBAAqB;2BAqBtB,kBAAkB;4BAEjB,sBAAsB;gCAHhB,oCAAoC;0BAD1C,uBAAuB"}
|
|
@@ -1,3 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A renderable object for displaying textured triangle meshes.
|
|
3
|
+
* Supports loading from Wavefront OBJ models (via `loader.preload` with type "obj")
|
|
4
|
+
* or from raw geometry data (vertices, uvs, indices).
|
|
5
|
+
* Includes a built-in perspective projection and supports 3D transforms
|
|
6
|
+
* through the standard Renderable API (`rotate`, `scale`, `translate`).
|
|
7
|
+
* Built for the GPU backends, WebGL 2 and WebGPU, with hardware depth
|
|
8
|
+
* testing, lighting and the full material set: target one of them. The
|
|
9
|
+
* Canvas renderer still draws a mesh under a 2D camera, as a last-resort
|
|
10
|
+
* fallback rather than a target: CPU-projected, sorted a triangle at a time
|
|
11
|
+
* (painter's algorithm, no depth buffer), unlit, one texture per mesh, and
|
|
12
|
+
* slower as the triangle count grows. It does not draw under a
|
|
13
|
+
* {@link Camera3d}, which needs a depth buffer.
|
|
14
|
+
*
|
|
15
|
+
* **Retained rendering** — under a {@link Camera3d} on a GPU backend
|
|
16
|
+
* (`renderer.supportsRetainedMesh`), the mesh's model-space geometry is
|
|
17
|
+
* uploaded to GPU buffers **once** and every frame just draws it by
|
|
18
|
+
* reference: placement, camera, tint, alpha and emissive all ride
|
|
19
|
+
* per-draw uniforms, so moving, rotating, scaling or re-tinting a mesh
|
|
20
|
+
* never re-uploads geometry (near-zero per-frame allocation). Editing
|
|
21
|
+
* the geometry itself in place is still possible — signal it with
|
|
22
|
+
* {@link Mesh#needsUpdate} and the GPU copy refreshes on the next draw.
|
|
23
|
+
* Under a 2D camera (or on Canvas) the mesh instead re-projects its
|
|
24
|
+
* vertices on the CPU each frame — same API, the camera and backend
|
|
25
|
+
* decide the path.
|
|
26
|
+
*
|
|
27
|
+
* **Pivot — transforms are applied about the mesh's local origin `(0, 0, 0)`,
|
|
28
|
+
* NOT a normalized anchor point.** Unlike a {@link Sprite} (whose
|
|
29
|
+
* {@link Renderable#anchorPoint} recenters a `width`×`height` box), a mesh has
|
|
30
|
+
* real vertex coordinates, so rotation and scale pivot around the model origin
|
|
31
|
+
* the geometry is authored against — the standard convention for 3D meshes.
|
|
32
|
+
* Place the origin where you want the pivot at authoring time (or nest the
|
|
33
|
+
* mesh under a transformed parent to pivot elsewhere). Consequently, on the
|
|
34
|
+
* `Camera3d` world-space path the mesh opts out of the anchor offset entirely
|
|
35
|
+
* (see {@link Renderable#applyAnchorTransform}); the legacy 2D path still
|
|
36
|
+
* honors `anchorPoint` for backward compatibility. Subclasses that bake the
|
|
37
|
+
* anchor into their vertex data instead (e.g. {@link Sprite3d}, via the
|
|
38
|
+
* internal `_anchorBaked` flag) opt out on **both** paths — for those, the
|
|
39
|
+
* vertex bake is the single anchoring mechanism.
|
|
40
|
+
* @example
|
|
41
|
+
* // meshes are built for the GPU backends: AUTO picks WebGPU or WebGL 2,
|
|
42
|
+
* // and only falls back to Canvas on a device with neither
|
|
43
|
+
* const app = new Application(1024, 768, {
|
|
44
|
+
* parent: "screen",
|
|
45
|
+
* renderer: video.AUTO,
|
|
46
|
+
* cameraClass: Camera3d,
|
|
47
|
+
* });
|
|
48
|
+
* await app.init();
|
|
49
|
+
* if (!app.renderer.supportsDepthBuffer) {
|
|
50
|
+
* // the Canvas fallback: a Camera3d scene cannot draw there, so say so
|
|
51
|
+
* // (a game whose meshes sit under a 2D camera could carry on instead)
|
|
52
|
+
* throw new Error("this game needs WebGL 2 or WebGPU");
|
|
53
|
+
* }
|
|
54
|
+
* @category Game Objects
|
|
55
|
+
*/
|
|
1
56
|
export default class Mesh extends Renderable {
|
|
2
57
|
/**
|
|
3
58
|
* @param {number} x - the x screen position of the mesh object
|
|
@@ -662,9 +717,10 @@ export default class Mesh extends Renderable {
|
|
|
662
717
|
* model needs. An explicit `settings.texture` suppresses the split
|
|
663
718
|
* entirely — asking for one texture is asking for one texture.
|
|
664
719
|
*
|
|
665
|
-
* The Canvas renderer ignores this:
|
|
666
|
-
*
|
|
667
|
-
*
|
|
720
|
+
* The Canvas renderer ignores this: it draws the mesh's one texture
|
|
721
|
+
* (the first `map_Kd` its material groups name) over the whole
|
|
722
|
+
* model, multiplied by each triangle's material color, and has no
|
|
723
|
+
* per-material textures.
|
|
668
724
|
* @type {Array<{texture: TextureAtlas, start: number, count: number, normalMap: TextureAtlas|undefined}>|undefined}
|
|
669
725
|
*/
|
|
670
726
|
textureGroups: Array<{
|
|
@@ -823,8 +879,9 @@ export default class Mesh extends Renderable {
|
|
|
823
879
|
* Multi-material meshes need no extra `drawMesh` calls per material vs
|
|
824
880
|
* single-material — each material's diffuse color is baked into
|
|
825
881
|
* `vertexColors` at construction time and pushed through the renderer's
|
|
826
|
-
* per-vertex `aColor` (GPU backends) or
|
|
827
|
-
*
|
|
882
|
+
* per-vertex `aColor` (GPU backends), or multiplied into the texture one
|
|
883
|
+
* triangle at a time on the Canvas fallback (a solid fill when there is
|
|
884
|
+
* no texture). The GPU batchers may still chunk very large meshes across multiple
|
|
828
885
|
* `drawElements` calls to fit its vertex/index buffer limits, and split the
|
|
829
886
|
* draw once per entry in {@link Mesh#textureGroups} when the materials
|
|
830
887
|
* carry different diffuse textures (#1573).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh.d.ts","sourceRoot":"","sources":["../../src/renderable/mesh.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mesh.d.ts","sourceRoot":"","sources":["../../src/renderable/mesh.js"],"names":[],"mappings":"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"}
|