melonjs 19.7.1 → 19.8.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 +18 -6
- package/build/application/defaultApplicationSettings.d.ts +1 -0
- package/build/application/defaultApplicationSettings.d.ts.map +1 -1
- package/build/application/settings.d.ts +34 -0
- package/build/application/settings.d.ts.map +1 -1
- package/build/camera/camera3d.d.ts +49 -0
- package/build/camera/camera3d.d.ts.map +1 -1
- package/build/index.d.ts +7 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +17392 -14529
- package/build/index.js.map +4 -4
- package/build/level/gltf/GLTFModel.d.ts +173 -0
- package/build/level/gltf/GLTFModel.d.ts.map +1 -0
- package/build/level/gltf/GLTFScene.d.ts +84 -0
- package/build/level/gltf/GLTFScene.d.ts.map +1 -0
- package/build/level/gltf/gltf_sampler.d.ts +49 -0
- package/build/level/gltf/gltf_sampler.d.ts.map +1 -0
- package/build/level/level.d.ts +7 -3
- package/build/level/level.d.ts.map +1 -1
- package/build/level/tiled/TMXTileMap.d.ts +5 -0
- package/build/level/tiled/TMXTileMap.d.ts.map +1 -1
- package/build/{renderable → lighting}/light2d.d.ts +79 -78
- package/build/lighting/light2d.d.ts.map +1 -0
- package/build/lighting/light3d.d.ts +86 -0
- package/build/lighting/light3d.d.ts.map +1 -0
- package/build/loader/cache.d.ts +1 -0
- package/build/loader/cache.d.ts.map +1 -1
- package/build/loader/loader.d.ts +95 -5
- package/build/loader/loader.d.ts.map +1 -1
- package/build/loader/parsers/gltf.d.ts +71 -0
- package/build/loader/parsers/gltf.d.ts.map +1 -0
- package/build/loader/parsers/mtl.d.ts.map +1 -1
- package/build/math/math.d.ts +2 -2
- package/build/math/vertex.d.ts +25 -0
- package/build/math/vertex.d.ts.map +1 -1
- package/build/physics/broadphase/aabb3d.d.ts +23 -2
- package/build/physics/broadphase/aabb3d.d.ts.map +1 -1
- package/build/renderable/animation.d.ts +41 -0
- package/build/renderable/animation.d.ts.map +1 -0
- package/build/renderable/container.d.ts +0 -1
- package/build/renderable/container.d.ts.map +1 -1
- package/build/renderable/frameAnimation.d.ts +154 -0
- package/build/renderable/frameAnimation.d.ts.map +1 -0
- package/build/renderable/mesh.d.ts +151 -6
- package/build/renderable/mesh.d.ts.map +1 -1
- package/build/renderable/renderable.d.ts +22 -0
- package/build/renderable/renderable.d.ts.map +1 -1
- package/build/renderable/sprite.d.ts +74 -28
- package/build/renderable/sprite.d.ts.map +1 -1
- package/build/renderable/sprite3d.d.ts +314 -0
- package/build/renderable/sprite3d.d.ts.map +1 -0
- package/build/state/stage.d.ts +20 -1
- package/build/state/stage.d.ts.map +1 -1
- package/build/video/buffer/vertex.d.ts +7 -0
- package/build/video/buffer/vertex.d.ts.map +1 -1
- package/build/video/renderer.d.ts +21 -0
- package/build/video/renderer.d.ts.map +1 -1
- package/build/video/texture/atlas.d.ts +1 -1
- package/build/video/webgl/batchers/lit_mesh_batcher.d.ts +18 -0
- package/build/video/webgl/batchers/lit_mesh_batcher.d.ts.map +1 -0
- package/build/video/webgl/batchers/lit_quad_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/mesh_batcher.d.ts +52 -11
- package/build/video/webgl/batchers/mesh_batcher.d.ts.map +1 -1
- package/build/video/webgl/effects/shine.d.ts +1 -1
- package/build/video/webgl/lighting/pack3d.d.ts +32 -0
- package/build/video/webgl/lighting/pack3d.d.ts.map +1 -0
- package/build/video/webgl/webgl_renderer.d.ts +18 -0
- package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
- package/package.json +1 -1
- package/build/renderable/light2d.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ melonJS is designed so you can **focus on making games, not on graphics plumbing
|
|
|
32
32
|
|
|
33
33
|
- **Complete engine, minimal footprint** — Physics, tilemaps, audio, input, cameras, tweens, particles, UI — a full game stack in a single tree-shakeable ES module. No dependency sprawl, no library stitching.
|
|
34
34
|
|
|
35
|
-
- **
|
|
35
|
+
- **Scenes, loaded in one call** — `level.load(name)` brings an authored scene straight into your world. [Tiled](https://www.mapeditor.org) is a first-class citizen for **2D** — orthogonal, isometric, hexagonal & staggered maps, animated tilesets, collision shapes, object properties, compressed formats, with GPU-accelerated tile rendering under WebGL 2 — and **glTF / GLB** is the equivalent for **3D scenes**: author in Blender (or any DCC tool), export a `.glb`, and the whole scene — meshes, materials, cameras, lights, and node animation — loads under a `Camera3d`, no per-mesh wiring. Animated models play back through the same animation API as a 2D `Sprite`.
|
|
36
36
|
|
|
37
37
|
- **Batteries included, hackable by design** — Get started in minutes with minimal setup. When you need to go deeper: ES6 classes throughout, a plugin system for engine extensions, and a clean architecture that's easy to extend without fighting the framework.
|
|
38
38
|
|
|
@@ -49,12 +49,14 @@ Graphics
|
|
|
49
49
|
- Fast WebGL renderer for desktop and mobile devices with fallback to Canvas rendering
|
|
50
50
|
- Extensible batcher system for custom rendering pipelines
|
|
51
51
|
- High DPI resolution & Canvas advanced auto scaling
|
|
52
|
-
- Sprite with 9-slice scaling option
|
|
52
|
+
- Sprite with 9-slice scaling option and frame animation
|
|
53
53
|
- Built-in effects such as tinting, masking, and CSS-style blend modes (normal, additive, multiply, screen, darken, lighten)
|
|
54
54
|
- Standard spritesheet, single and multiple Packed Textures support
|
|
55
55
|
- Compressed texture support (DDS, KTX, KTX2, PVR, PKM) with automatic format detection and fallback
|
|
56
|
-
- 3D mesh rendering with OBJ/MTL model loading, multi-material support, hardware depth testing, and perspective projection via `Camera3d`
|
|
57
|
-
-
|
|
56
|
+
- 3D mesh rendering with OBJ/MTL model loading, multi-material support, hardware depth testing, and perspective projection via `Camera3d` — ~30% faster mesh rendering with near-zero per-frame allocation (a re-drawn static mesh produces no GC garbage)
|
|
57
|
+
- Lighting, in 2D and 3D:
|
|
58
|
+
- **2D** — `Light2d` as a first-class `Renderable` (multiple dynamic lights, radial-gradient falloff, illumination-only mode, procedural rendering via `drawLight`), plus optional per-pixel normal-map shading on sprites for 3D-looking dynamic lights
|
|
59
|
+
- **3D** — `Light3d` directional + ambient lights, added to the world like `Light2d` (half-Lambert diffuse + ambient fill, runtime-manipulable for day/night), auto-loaded from a glTF scene's authored sun
|
|
58
60
|
- Built-in shader effects (Flash, Outline, Glow, Dissolve, CRT, Hologram, etc.) with multi-pass chaining via `postEffects`, plus custom shader support via `ShaderEffect` for per-sprite fragment effects (WebGL)
|
|
59
61
|
- Trail renderable for fading, tapering ribbons behind moving objects (speed lines, sword slashes, magic trails)
|
|
60
62
|
- System & Bitmap Text with built-in typewriter effect
|
|
@@ -92,7 +94,8 @@ UI
|
|
|
92
94
|
- `Draggable` / `DropTarget` for drag-and-drop with configurable overlap or contains-check
|
|
93
95
|
- `UITextButton` text button with hover, press, and key-bind support — built on `BitmapText`
|
|
94
96
|
|
|
95
|
-
|
|
97
|
+
Scenes
|
|
98
|
+
- Load a scene in one call with `level.load(name)` — 2D Tiled maps and 3D glTF scenes alike, auto-registered on preload
|
|
96
99
|
- [Tiled](https://www.mapeditor.org) map format [up to 1.12](https://doc.mapeditor.org/en/stable/reference/tmx-changelog/) built-in support for easy level design
|
|
97
100
|
- **GPU-accelerated tile rendering** for orthogonal maps under WebGL 2 — each layer draws as a single quad with no per-tile loop, ~5–8× faster than the legacy CPU renderer on dense maps. Honors animated tiles, flip bits, per-layer opacity/tint/blend, and oversized bottom-aligned tiles; falls back transparently to the CPU renderer on isometric/staggered/hexagonal layers or non-WebGL-2 contexts
|
|
98
101
|
- Uncompressed and [compressed](https://github.com/melonjs/melonJS/tree/master/packages/tiled-inflate-plugin) Plain, Base64, CSV and JSON encoded XML tilemap loading
|
|
@@ -110,11 +113,18 @@ Level Editor
|
|
|
110
113
|
- Dynamic Layer and Object/Group ordering
|
|
111
114
|
- Dynamic Entity loading via an extensible object factory registry — register custom handlers for any Tiled class name without modifying engine code
|
|
112
115
|
- Shape based Tile collision support
|
|
116
|
+
- glTF / GLB 3D scenes — load an authored 3D scene with `level.load(...)`, the same one call as a Tiled map
|
|
117
|
+
- The whole scene loads at once — meshes, materials, cameras and lights — viewed under a `Camera3d`
|
|
118
|
+
- Automatically lit by the scene's directional lights (the sun set up in the authoring tool)
|
|
119
|
+
- Textured, solid-colored, and vertex-colored materials
|
|
120
|
+
- Node animation — walk/idle/sprint characters, spinning pickups, doors, lifts — played through the same `setCurrentAnimation` / `play` / `pause` / `stop` API as a 2D `Sprite`
|
|
121
|
+
- `.glb` and `.gltf` files, with embedded *or* external buffers & textures
|
|
122
|
+
- Works with any glTF authoring tool (Blender, Maya, 3ds Max, Cinema 4D, …)
|
|
113
123
|
|
|
114
124
|
Assets
|
|
115
125
|
- Asynchronous asset loading with progress tracking
|
|
116
126
|
- A fully customizable preloader
|
|
117
|
-
- Support for images, JSON, TMX/TSX, `.aseprite` / `.ase` binary, audio, video, binary and fonts
|
|
127
|
+
- Support for images, JSON, TMX/TSX, glTF / GLB 3D scenes, `.aseprite` / `.ase` binary, audio, video, binary and fonts
|
|
118
128
|
|
|
119
129
|
Core
|
|
120
130
|
- `Application` class as the modern entry point with built-in pause, resume, and `freeze()` (hit-stop) primitives
|
|
@@ -173,6 +183,8 @@ Examples
|
|
|
173
183
|
* [3D Mesh](https://melonjs.github.io/melonJS/examples/#/mesh-3d) ([source](https://github.com/melonjs/melonJS/tree/master/packages/examples/src/examples/mesh3d))
|
|
174
184
|
* [3D Mesh Material](https://melonjs.github.io/melonJS/examples/#/mesh-3d-material) ([source](https://github.com/melonjs/melonJS/tree/master/packages/examples/src/examples/mesh3dMaterial))
|
|
175
185
|
* [AfterBurner Clone](https://melonjs.github.io/melonJS/examples/#/after-burner) ([source](https://github.com/melonjs/melonJS/tree/master/packages/examples/src/examples/afterBurner)) — `Camera3d` + 3D Mesh arcade shooter
|
|
186
|
+
* [glTF Scene](https://melonjs.github.io/melonJS/examples/#/gltf) ([source](https://github.com/melonjs/melonJS/tree/master/packages/examples/src/examples/gltf)) — a Blender-authored, lit 3D scene loaded with `level.load`
|
|
187
|
+
* [glTF Animated Model](https://melonjs.github.io/melonJS/examples/#/gltf-character) ([source](https://github.com/melonjs/melonJS/tree/master/packages/examples/src/examples/gltf)) — a rigged character (Kenney Blocky Characters) with node animation, driven by the Sprite-aligned `setCurrentAnimation` / `play` / `pause` / `stop` API
|
|
176
188
|
* [Trail](https://melonjs.github.io/melonJS/examples/#/trail) ([source](https://github.com/melonjs/melonJS/tree/master/packages/examples/src/examples/trail))
|
|
177
189
|
* [Shader Effects](https://melonjs.github.io/melonJS/examples/#/shader-effects) ([source](https://github.com/melonjs/melonJS/tree/master/packages/examples/src/examples/shaderEffects))
|
|
178
190
|
* [Spine](https://melonjs.github.io/melonJS/examples/#/spine) ([source](https://github.com/melonjs/melonJS/tree/master/packages/examples/src/examples/spine))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultApplicationSettings.d.ts","sourceRoot":"","sources":["../../src/application/defaultApplicationSettings.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"defaultApplicationSettings.d.ts","sourceRoot":"","sources":["../../src/application/defaultApplicationSettings.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;CAmBC,CAAC"}
|
|
@@ -77,6 +77,40 @@ export type ApplicationSettings = {
|
|
|
77
77
|
* @default false
|
|
78
78
|
*/
|
|
79
79
|
antiAlias: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Default texture magnification/minification filter, **decoupled from
|
|
82
|
+
* `antiAlias`** (WebGL only — the 2D Canvas renderer has no per-texture
|
|
83
|
+
* filtering and ignores this).
|
|
84
|
+
*
|
|
85
|
+
* `antiAlias` conflates two separate concerns: polygon-edge antialiasing
|
|
86
|
+
* (MSAA) *and* texture sampling smoothness. This setting separates the
|
|
87
|
+
* texture half out, so you can choose them independently — e.g. smooth
|
|
88
|
+
* textures with no MSAA, or crisp pixel-art textures *with* MSAA edges.
|
|
89
|
+
*
|
|
90
|
+
* - `"auto"` (default) — follow `antiAlias` (`linear` when `true`, `nearest`
|
|
91
|
+
* when `false`): unchanged behavior.
|
|
92
|
+
* - `"nearest"` — crisp/pixelated upscaling, regardless of `antiAlias`.
|
|
93
|
+
* - `"linear"` — smooth, regardless of `antiAlias`.
|
|
94
|
+
*
|
|
95
|
+
* This is the **default** for every texture; a {@link Mesh} can still override
|
|
96
|
+
* it per-mesh via its own `textureFilter` setting (which wins).
|
|
97
|
+
* @default "auto"
|
|
98
|
+
* @example
|
|
99
|
+
* // smooth textures but NO polygon-edge MSAA
|
|
100
|
+
* const app = new Application(1024, 768, {
|
|
101
|
+
* renderer: video.WEBGL,
|
|
102
|
+
* antiAlias: false, // MSAA off
|
|
103
|
+
* textureFilter: "linear", // textures still filtered smooth
|
|
104
|
+
* });
|
|
105
|
+
*
|
|
106
|
+
* // crisp pixel-art textures WITH MSAA-smoothed edges
|
|
107
|
+
* new Application(1024, 768, {
|
|
108
|
+
* renderer: video.WEBGL,
|
|
109
|
+
* antiAlias: true, // MSAA on
|
|
110
|
+
* textureFilter: "nearest", // textures stay crisp
|
|
111
|
+
* });
|
|
112
|
+
*/
|
|
113
|
+
textureFilter: "auto" | "nearest" | "linear";
|
|
80
114
|
/**
|
|
81
115
|
* whether to display melonJS version and basic device information in the console
|
|
82
116
|
* @default true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/application/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,KAAK,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE3E;;;;;;;;GAQG;AACH,KAAK,WAAW,GACb,SAAS,GACT,MAAM,GACN,cAAc,GACd;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,CAAC;AAE/B,KAAK,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;AAE/C,MAAM,MAAM,mBAAmB,GAAG;IACjC;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,EAAE,YAAY,GAAG,QAAQ,CAAC;IAElC;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;;OAGG;IACH,WAAW,EAAE,WAAW,CAAC;IAEzB;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;IAEzB;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,eAAe,EAAE,eAAe,CAAC;IAEjC;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,SAAS,EAAE,SAAS,CAAC;IAErB;;;;;;;;;;;;;;OAcG;IACH,MAAM,EAAE,WAAW,CAAC;IAEpB;;;;;;;;;;OAUG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,4BAA4B,EAAE,OAAO,CAAC;IAEtC;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IAE1D;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IAEvD;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,EAAE,KACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,KACR,QAAQ,CAAC;CACd,GAAG,CACD;IACA;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC;IAC7B,MAAM,CAAC,EAAE,KAAK,CAAC;CACd,GACD;IACA,MAAM,CAAC,EAAE,KAAK,CAAC;IACf;;;OAGG;IACH,MAAM,EAAE,iBAAiB,CAAC;CACzB,CACH,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,mBAAmB,GAAG;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/application/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ObservableVector3d } from "../math/observableVector3d.ts";
|
|
2
|
+
import { Vector2d } from "../math/vector2d.ts";
|
|
2
3
|
import { Vector3d } from "../math/vector3d.ts";
|
|
3
4
|
import type Container from "./../renderable/container.js";
|
|
4
5
|
import type Renderable from "./../renderable/renderable.js";
|
|
@@ -155,6 +156,37 @@ export default class Camera3d extends Camera2d {
|
|
|
155
156
|
* @returns this camera (chainable)
|
|
156
157
|
*/
|
|
157
158
|
setClipPlanes(near: number, far: number): this;
|
|
159
|
+
/**
|
|
160
|
+
* Write the camera's world-space orientation basis into the given vectors:
|
|
161
|
+
* `right` (camera local +X), `up` (+Y), and `forward` (+Z — the direction the
|
|
162
|
+
* camera looks). Derived from `yaw` / `pitch` (the inverse of the view
|
|
163
|
+
* rotation), so they update as the camera turns. Handy for orienting
|
|
164
|
+
* camera-facing geometry — e.g. {@link Sprite3d} billboards.
|
|
165
|
+
* @param right - receives the right axis (unit)
|
|
166
|
+
* @param up - receives the up axis (unit)
|
|
167
|
+
* @param forward - receives the forward / look axis (unit)
|
|
168
|
+
* @returns this camera, for chaining
|
|
169
|
+
*/
|
|
170
|
+
getBasis(right: Vector3d, up: Vector3d, forward: Vector3d): this;
|
|
171
|
+
/**
|
|
172
|
+
* The camera's world-space right axis (unit). See {@link Camera3d#getBasis}.
|
|
173
|
+
* @param out - vector to write into (returned)
|
|
174
|
+
* @returns `out`
|
|
175
|
+
*/
|
|
176
|
+
getRight(out: Vector3d): Vector3d;
|
|
177
|
+
/**
|
|
178
|
+
* The camera's world-space up axis (unit). See {@link Camera3d#getBasis}.
|
|
179
|
+
* @param out - vector to write into (returned)
|
|
180
|
+
* @returns `out`
|
|
181
|
+
*/
|
|
182
|
+
getUp(out: Vector3d): Vector3d;
|
|
183
|
+
/**
|
|
184
|
+
* The camera's world-space forward / look axis (unit). See
|
|
185
|
+
* {@link Camera3d#getBasis}.
|
|
186
|
+
* @param out - vector to write into (returned)
|
|
187
|
+
* @returns `out`
|
|
188
|
+
*/
|
|
189
|
+
getForward(out: Vector3d): Vector3d;
|
|
158
190
|
/**
|
|
159
191
|
* Rebuild the projection matrix from the frustum. Called by the
|
|
160
192
|
* base `Camera2d` constructor and by `resize()`. Camera3d's
|
|
@@ -323,6 +355,23 @@ export default class Camera3d extends Camera2d {
|
|
|
323
355
|
* @ignore
|
|
324
356
|
*/
|
|
325
357
|
update(dt?: number): boolean;
|
|
358
|
+
/**
|
|
359
|
+
* Project a world-space point to 2D screen (canvas pixel) coordinates
|
|
360
|
+
* through this camera's view + perspective projection (perspective divide
|
|
361
|
+
* included). The origin is top-left with **y down**, matching where
|
|
362
|
+
* geometry at `world` rasterizes and the engine's 2D draw space — so the
|
|
363
|
+
* result can be fed straight to the 2D draw API (HUD pinned to a 3D object,
|
|
364
|
+
* picking, debug overlays such as the 3D bounding-box wireframe).
|
|
365
|
+
*
|
|
366
|
+
* **Returns `null` when the point is at or behind the camera** (clip
|
|
367
|
+
* `w ≤ 0`) — projecting it would yield a mirrored/degenerate pixel, so
|
|
368
|
+
* callers (e.g. a debug wireframe) can skip it cleanly instead of drawing
|
|
369
|
+
* garbage. Otherwise returns the screen-space pixel coordinates.
|
|
370
|
+
* @param world - the world-space point to project
|
|
371
|
+
* @param [out] - optional Vector2d to receive the result (allocated if omitted)
|
|
372
|
+
* @returns the screen-space pixel coordinates, or `null` if behind the camera
|
|
373
|
+
*/
|
|
374
|
+
worldToScreen(world: Vector3d, out?: Vector2d): Vector2d | null;
|
|
326
375
|
/**
|
|
327
376
|
* Recompute the frustum's six bounding planes from the current
|
|
328
377
|
* `projectionMatrix × viewMatrix` (the world → clip matrix).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera3d.d.ts","sourceRoot":"","sources":["../../src/camera/camera3d.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,8BAA8B,CAAC;AAC1D,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AACnD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,OAAO,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"camera3d.d.ts","sourceRoot":"","sources":["../../src/camera/camera3d.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import MaskEffect from "./camera/effects/mask_effect.ts";
|
|
|
8
8
|
import ShakeEffect from "./camera/effects/shake_effect.ts";
|
|
9
9
|
import Frustum from "./camera/frustum.ts";
|
|
10
10
|
import Pointer from "./input/pointer.ts";
|
|
11
|
+
import GLTFModel from "./level/gltf/GLTFModel.js";
|
|
11
12
|
import TMXHexagonalRenderer from "./level/tiled/renderer/TMXHexagonalRenderer.js";
|
|
12
13
|
import TMXIsometricRenderer from "./level/tiled/renderer/TMXIsometricRenderer.js";
|
|
13
14
|
import TMXOrthogonalRenderer from "./level/tiled/renderer/TMXOrthogonalRenderer.js";
|
|
@@ -19,6 +20,7 @@ import TMXTileMap from "./level/tiled/TMXTileMap.js";
|
|
|
19
20
|
import TMXTileset from "./level/tiled/TMXTileset.js";
|
|
20
21
|
import TMXTilesetGroup from "./level/tiled/TMXTilesetGroup.js";
|
|
21
22
|
import * as TMXUtils from "./level/tiled/TMXUtils.js";
|
|
23
|
+
import Light2d from "./lighting/light2d.ts";
|
|
22
24
|
import { ColorMatrix } from "./math/color_matrix.ts";
|
|
23
25
|
import ParticleEmitter from "./particles/emitter.ts";
|
|
24
26
|
import Particle from "./particles/particle.ts";
|
|
@@ -32,12 +34,13 @@ import Container from "./renderable/container.js";
|
|
|
32
34
|
import { Draggable } from "./renderable/draggable.js";
|
|
33
35
|
import { DropTarget } from "./renderable/dragndrop.js";
|
|
34
36
|
import Entity from "./renderable/entity/entity.js";
|
|
37
|
+
import FrameAnimation from "./renderable/frameAnimation.js";
|
|
35
38
|
import ImageLayer from "./renderable/imagelayer.js";
|
|
36
|
-
import Light2d from "./renderable/light2d.js";
|
|
37
39
|
import Mesh from "./renderable/mesh.js";
|
|
38
40
|
import NineSliceSprite from "./renderable/nineslicesprite.js";
|
|
39
41
|
import Renderable from "./renderable/renderable.js";
|
|
40
42
|
import Sprite from "./renderable/sprite.js";
|
|
43
|
+
import Sprite3d from "./renderable/sprite3d.js";
|
|
41
44
|
import BitmapText from "./renderable/text/bitmaptext.js";
|
|
42
45
|
import BitmapTextData from "./renderable/text/bitmaptextdata.ts";
|
|
43
46
|
import Text from "./renderable/text/text.js";
|
|
@@ -99,6 +102,7 @@ export * as input from "./input/input.ts";
|
|
|
99
102
|
export * from "./lang/deprecated.js";
|
|
100
103
|
export { level } from "./level/level.js";
|
|
101
104
|
export { registerTiledObjectClass, registerTiledObjectFactory, } from "./level/tiled/TMXObjectFactory.js";
|
|
105
|
+
export { Light3d } from "./lighting/light3d.ts";
|
|
102
106
|
export * as loader from "./loader/loader.js";
|
|
103
107
|
export { Color } from "./math/color.ts";
|
|
104
108
|
export * as math from "./math/math.ts";
|
|
@@ -110,6 +114,7 @@ export { Vector2d } from "./math/vector2d.ts";
|
|
|
110
114
|
export { Vector3d } from "./math/vector3d.ts";
|
|
111
115
|
export type { AdapterCapabilities, AdapterOptions, BodyDefinition, BodyShape, BodyType, CollisionResponse, PhysicsAdapter, PhysicsBody, RaycastHit, RaycastHit3d, } from "./physics/adapter.ts";
|
|
112
116
|
export { Bounds } from "./physics/bounds.ts";
|
|
117
|
+
export { AABB3d } from "./physics/broadphase/aabb3d.ts";
|
|
113
118
|
export { default as BuiltinAdapter } from "./physics/builtin/builtin-adapter.ts";
|
|
114
119
|
export { collision } from "./physics/collision.js";
|
|
115
120
|
export * as plugin from "./plugin/plugin.ts";
|
|
@@ -120,7 +125,7 @@ export * as utils from "./utils/utils.ts";
|
|
|
120
125
|
export * from "./version.ts";
|
|
121
126
|
export * as video from "./video/video.js";
|
|
122
127
|
export { Application, Batcher, BitmapText, BitmapTextData, BlurEffect, Body, Camera2d, Camera3d, CameraEffect, CanvasRenderer, CanvasRenderTarget, ChromaticAberrationEffect, Collectable, ColorLayer, ColorMatrix, ColorMatrixEffect, Container, DesaturateEffect, DissolveEffect, Draggable, DropShadowEffect, DropTarget, Entity, // eslint-disable-line @typescript-eslint/no-deprecated
|
|
123
|
-
FadeEffect, FlashEffect, Frustum, GLShader, GlowEffect, Gradient, HologramEffect, ImageLayer, InvertEffect, Light2d, MaskEffect, Mesh, NineSliceSprite, OutlineEffect, Particle, ParticleEmitter, ParticleEmitterSettings, PixelateEffect, Pointer, PrimitiveBatcher, plugins, pool, QuadBatcher, Renderable, Renderer, RenderState, RenderTarget, ScanlineEffect, SepiaEffect, ShaderEffect, ShakeEffect, ShineEffect, Sprite, Stage, save, state, Text, TextureAtlas, Tile, TintPulseEffect, TMXHexagonalRenderer, TMXIsometricRenderer, TMXLayer, TMXOrthogonalRenderer, TMXRenderer, TMXStaggeredRenderer, TMXTileMap, TMXTileset, TMXTilesetGroup, TMXUtils, Trail, Trigger, Tween, timer, UIBaseElement, UISpriteElement, UITextButton, VignetteEffect, WaveEffect, WebGLRenderer, World, };
|
|
128
|
+
FadeEffect, FlashEffect, FrameAnimation, Frustum, GLShader, GLTFModel, GlowEffect, Gradient, HologramEffect, ImageLayer, InvertEffect, Light2d, MaskEffect, Mesh, NineSliceSprite, OutlineEffect, Particle, ParticleEmitter, ParticleEmitterSettings, PixelateEffect, Pointer, PrimitiveBatcher, plugins, pool, QuadBatcher, Renderable, Renderer, RenderState, RenderTarget, ScanlineEffect, SepiaEffect, ShaderEffect, ShakeEffect, ShineEffect, Sprite, Sprite3d, Stage, save, state, Text, TextureAtlas, Tile, TintPulseEffect, TMXHexagonalRenderer, TMXIsometricRenderer, TMXLayer, TMXOrthogonalRenderer, TMXRenderer, TMXStaggeredRenderer, TMXTileMap, TMXTileset, TMXTilesetGroup, TMXUtils, Trail, Trigger, Tween, timer, UIBaseElement, UISpriteElement, UITextButton, VignetteEffect, WaveEffect, WebGLRenderer, World, };
|
|
124
129
|
/**
|
|
125
130
|
* disable melonJS auto-initialization
|
|
126
131
|
* @see {@link boot}
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,qBAAqB,CAAC;AAE7B,OAAO,WAA+B,MAAM,8BAA8B,CAAC;AAC3E,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,YAAY,MAAM,mCAAmC,CAAC;AAC7D,OAAO,UAAU,MAAM,iCAAiC,CAAC;AACzD,OAAO,UAAU,MAAM,iCAAiC,CAAC;AACzD,OAAO,WAAW,MAAM,kCAAkC,CAAC;AAC3D,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,oBAAoB,MAAM,gDAAgD,CAAC;AAClF,OAAO,oBAAoB,MAAM,gDAAgD,CAAC;AAClF,OAAO,qBAAqB,MAAM,iDAAiD,CAAC;AACpF,OAAO,WAAW,MAAM,uCAAuC,CAAC;AAChE,OAAO,oBAAoB,MAAM,gDAAgD,CAAC;AAClF,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,IAAI,MAAM,0BAA0B,CAAC;AAC5C,OAAO,UAAU,MAAM,6BAA6B,CAAC;AACrD,OAAO,UAAU,MAAM,6BAA6B,CAAC;AACrD,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAC/D,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,eAAe,MAAM,wBAAwB,CAAC;AACrD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,uBAAuB,MAAM,yBAAyB,CAAC;AAE9D,OAAO,IAAI,MAAM,2BAA2B,CAAC;AAC7C,OAAO,KAAK,MAAM,oBAAoB,CAAC;AAEvC,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,UAAU,MAAM,4BAA4B,CAAC;AACpD,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,MAAM,MAAM,+BAA+B,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|