littlejsengine 1.24.2 → 1.24.3
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/CHANGELOG.md +19 -0
- package/REFERENCE.md +2 -1
- package/dist/littlejs.d.ts +131 -109
- package/dist/littlejs.esm.js +95 -55
- package/dist/littlejs.esm.min.js +3 -3
- package/dist/littlejs.js +95 -55
- package/dist/littlejs.min.js +2 -2
- package/dist/littlejs.release.js +95 -55
- package/package.json +1 -1
- package/plugins/box2d.js +9 -5
- package/plugins/gltf.js +6 -1
- package/plugins/render3dExtras.js +12 -8
- package/plugins/textureSheet.js +15 -7
- package/src/engine.js +31 -17
- package/src/engineAudio.js +3 -3
- package/src/engineBuild.mjs +49 -2
- package/src/engineDraw.js +11 -9
- package/src/engineInput.js +6 -3
- package/src/engineWebGL.js +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,25 @@ What changed in each release, newest first. Releases before 1.20.0 are on the
|
|
|
7
7
|
|
|
8
8
|
Nothing yet.
|
|
9
9
|
|
|
10
|
+
## 1.24.3 - 2026-10-03
|
|
11
|
+
|
|
12
|
+
### Fixes
|
|
13
|
+
|
|
14
|
+
- TypeScript: the d.ts keeps `undefined` where a value may be missing, so a game in strict mode can write `render3D.shader = undefined` and is told `light.flare`, `levelEditor.edit3D` or `uiSystem.keyInputObject` may be undefined; a game not in strict mode reads the same types as before
|
|
15
|
+
- `box2d.boxCast` and `boxCastAll` say that they test each shape's bounding box, which can find an object near the corner of a turned box or a circle that the box does not touch
|
|
16
|
+
- An image that failed to load gives tiles of no size, which draw nothing, where `tile()` gave NaN places in release builds and stopped debug builds at an assert; a texture slot never given an image still asserts in debug
|
|
17
|
+
- A release build says when a sound, a `loadSprite` or a `loadAtlas` fails to load, as it did for textures and tile sets
|
|
18
|
+
- A `Box2dObject` keeps one `pos` for life, moved in place each step as an EngineObject's is, so a camera holding it follows the body
|
|
19
|
+
- `drawRectGradient` takes no size, as its docs say
|
|
20
|
+
- A release build going on past an error logs each new error, not only the first, and an error every tick no longer runs the game at the screen's refresh rate
|
|
21
|
+
- Under pointer lock a click is a press wherever the locked mouse was left, a letterbox bar too
|
|
22
|
+
- A gamepad with no sticks keeps the one its d-pad stands in for, where its stick count flickered
|
|
23
|
+
- A zzfx `Sound` made in a browser with no audio counts as loaded and plays nothing, where it threw
|
|
24
|
+
- `glCompileShader`, `glCreateProgram` and `glCreateTexture` are typed as giving undefined with no WebGL
|
|
25
|
+
- A release build going on past an error clears that frame's input, where a key press whose action threw was pressed again every frame
|
|
26
|
+
- `loadSprite`, `loadTiles` and `loadAtlas` forget a load whose file failed, so loading it again tries again, where a failure once was kept for the session
|
|
27
|
+
- glTF: a file the model names in subfolders is found when what is in its folder was dropped, not the folder, and a file found by its name alone may have capitals in it, where both said the file was not among those given; the 3D Mesh short keeps a dropped folder's name when other files come with it
|
|
28
|
+
|
|
10
29
|
## 1.24.2 - 2026-10-03
|
|
11
30
|
|
|
12
31
|
### New Changes
|
package/REFERENCE.md
CHANGED
|
@@ -2048,7 +2048,8 @@ box2d.raycast(start, end, includeSensors=false) // Returns the closest Box2dR
|
|
|
2048
2048
|
// are passed through unless includeSensors
|
|
2049
2049
|
box2d.raycastAll(start, end, includeSensors=false) // Every Box2dRaycastResult along the ray, nearest first
|
|
2050
2050
|
box2d.boxCast(pos, size, includeSensors=false) / boxCastAll(pos, size, includeSensors=false) // An object, or all
|
|
2051
|
-
// of them, whose shapes overlap the box
|
|
2051
|
+
// of them, whose shapes' bounding boxes overlap the box, so near the corner of a turned
|
|
2052
|
+
// box or a circle it can find one the box misses; sensors are passed through unless included
|
|
2052
2053
|
box2d.circleCast(pos, diameter, includeSensors=false) / circleCastAll(pos, diameter, includeSensors=false) // The
|
|
2053
2054
|
// nearest object, or all of them, whose position is in the circle, wherever its shapes
|
|
2054
2055
|
// are; objects of only sensors are passed over unless included
|