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.
Files changed (70) hide show
  1. package/README.md +18 -6
  2. package/build/application/defaultApplicationSettings.d.ts +1 -0
  3. package/build/application/defaultApplicationSettings.d.ts.map +1 -1
  4. package/build/application/settings.d.ts +34 -0
  5. package/build/application/settings.d.ts.map +1 -1
  6. package/build/camera/camera3d.d.ts +49 -0
  7. package/build/camera/camera3d.d.ts.map +1 -1
  8. package/build/index.d.ts +7 -2
  9. package/build/index.d.ts.map +1 -1
  10. package/build/index.js +17392 -14529
  11. package/build/index.js.map +4 -4
  12. package/build/level/gltf/GLTFModel.d.ts +173 -0
  13. package/build/level/gltf/GLTFModel.d.ts.map +1 -0
  14. package/build/level/gltf/GLTFScene.d.ts +84 -0
  15. package/build/level/gltf/GLTFScene.d.ts.map +1 -0
  16. package/build/level/gltf/gltf_sampler.d.ts +49 -0
  17. package/build/level/gltf/gltf_sampler.d.ts.map +1 -0
  18. package/build/level/level.d.ts +7 -3
  19. package/build/level/level.d.ts.map +1 -1
  20. package/build/level/tiled/TMXTileMap.d.ts +5 -0
  21. package/build/level/tiled/TMXTileMap.d.ts.map +1 -1
  22. package/build/{renderable → lighting}/light2d.d.ts +79 -78
  23. package/build/lighting/light2d.d.ts.map +1 -0
  24. package/build/lighting/light3d.d.ts +86 -0
  25. package/build/lighting/light3d.d.ts.map +1 -0
  26. package/build/loader/cache.d.ts +1 -0
  27. package/build/loader/cache.d.ts.map +1 -1
  28. package/build/loader/loader.d.ts +95 -5
  29. package/build/loader/loader.d.ts.map +1 -1
  30. package/build/loader/parsers/gltf.d.ts +71 -0
  31. package/build/loader/parsers/gltf.d.ts.map +1 -0
  32. package/build/loader/parsers/mtl.d.ts.map +1 -1
  33. package/build/math/math.d.ts +2 -2
  34. package/build/math/vertex.d.ts +25 -0
  35. package/build/math/vertex.d.ts.map +1 -1
  36. package/build/physics/broadphase/aabb3d.d.ts +23 -2
  37. package/build/physics/broadphase/aabb3d.d.ts.map +1 -1
  38. package/build/renderable/animation.d.ts +41 -0
  39. package/build/renderable/animation.d.ts.map +1 -0
  40. package/build/renderable/container.d.ts +0 -1
  41. package/build/renderable/container.d.ts.map +1 -1
  42. package/build/renderable/frameAnimation.d.ts +154 -0
  43. package/build/renderable/frameAnimation.d.ts.map +1 -0
  44. package/build/renderable/mesh.d.ts +151 -6
  45. package/build/renderable/mesh.d.ts.map +1 -1
  46. package/build/renderable/renderable.d.ts +22 -0
  47. package/build/renderable/renderable.d.ts.map +1 -1
  48. package/build/renderable/sprite.d.ts +74 -28
  49. package/build/renderable/sprite.d.ts.map +1 -1
  50. package/build/renderable/sprite3d.d.ts +314 -0
  51. package/build/renderable/sprite3d.d.ts.map +1 -0
  52. package/build/state/stage.d.ts +20 -1
  53. package/build/state/stage.d.ts.map +1 -1
  54. package/build/video/buffer/vertex.d.ts +7 -0
  55. package/build/video/buffer/vertex.d.ts.map +1 -1
  56. package/build/video/renderer.d.ts +21 -0
  57. package/build/video/renderer.d.ts.map +1 -1
  58. package/build/video/texture/atlas.d.ts +1 -1
  59. package/build/video/webgl/batchers/lit_mesh_batcher.d.ts +18 -0
  60. package/build/video/webgl/batchers/lit_mesh_batcher.d.ts.map +1 -0
  61. package/build/video/webgl/batchers/lit_quad_batcher.d.ts.map +1 -1
  62. package/build/video/webgl/batchers/mesh_batcher.d.ts +52 -11
  63. package/build/video/webgl/batchers/mesh_batcher.d.ts.map +1 -1
  64. package/build/video/webgl/effects/shine.d.ts +1 -1
  65. package/build/video/webgl/lighting/pack3d.d.ts +32 -0
  66. package/build/video/webgl/lighting/pack3d.d.ts.map +1 -0
  67. package/build/video/webgl/webgl_renderer.d.ts +18 -0
  68. package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
  69. package/package.json +1 -1
  70. 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
- - **Tiled as a first-class citizen** — Deep [Tiled](https://www.mapeditor.org) integration built into the core: orthogonal, isometric, hexagonal and staggered maps, animated tilesets, collision shapes, object properties, compressed formats — all parsed and rendered natively, with GPU-accelerated tile rendering for orthogonal maps under WebGL 2.
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, frame animation, and optional per-pixel normal-map shading for 3D-looking dynamic lights
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
- - `Light2d` as a first-class `Renderable` — multiple dynamic lights, radial-gradient falloff, illumination-only mode, and procedural rendering via `drawLight`
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
- Level Editor
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))
@@ -6,6 +6,7 @@ export declare const defaultApplicationSettings: {
6
6
  powerPreference: "default";
7
7
  transparent: false;
8
8
  antiAlias: false;
9
+ textureFilter: "auto";
9
10
  consoleHeader: true;
10
11
  blendMode: "normal";
11
12
  physic: "builtin";
@@ -1 +1 @@
1
- {"version":3,"file":"defaultApplicationSettings.d.ts","sourceRoot":"","sources":["../../src/application/defaultApplicationSettings.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;CAkBC,CAAC"}
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":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAE7C;;;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,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":"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"}
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}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}