| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| LittleJS-1.26.0.zip | 2026-10-08 | 2.8 MB | |
| LittleJS 1.26.0 - Environment Maps and 2D Directional Light source code.tar.gz | 2026-10-08 | 7.0 MB | |
| LittleJS 1.26.0 - Environment Maps and 2D Directional Light source code.zip | 2026-10-08 | 7.7 MB | |
| README.md | 2026-10-08 | 4.1 kB | |
| Totals: 4 Items | 17.5 MB | 4 | |
New Demos
- 3D Reflections - A chrome ball reflecting the scene around it, captured live, and balls from polished to rough under a sky painted in code
- Light Shadows - Now with a sun throwing long shadows across the room
New Changes
- 3D environment maps:
render3D.environmentis a cube map that reflective surfaces reflect, sharp or blurred by their shininess, andrender3D.skyBoxdraws one as the sky;makeCubeMappaints one in code,loadCubeMaploads six images, and a cube map with no faces captures the scene around a point, like three.js's CubeCamera. An object'sroughnesssets its shininess the way glTF measures it, and glTF models read theirs DirectionalLight, a sun for the 2D light system: long shadows across open space, a background markedcastBackgroundShadowlit only at its edges facing the sun, itssunDirectiontoward the sun as in 3D; one per scene, nothing changes without one- Wavedash plugin: achievements and leaderboards on Wavedash, the same shape as the Newgrounds plugin, doing nothing off Wavedash
- Object collision with many solids is far faster, through a grid: 2000 movers went from about 1.3 s a frame to 12 ms, every contact resolved exactly as before
- A failed assert's error says what went wrong, and common mistakes say what to pass: a color where a tile goes, a number where a vec2 goes, arguments out of order, changing a color constant
Shader.dispose()frees a shader's programs; skinned glTF models bend about a fifth faster; the level editors autosave a big map once the edits stop for a moment- The package exports
littlejsengine/plugins/*andlittlejsengine/src/*
Breaking Changes
- The built in video capture is removed (key 8,
debugVideoCaptureStartand the rest); the FAQ shows how to save a game frame by frame withengineStep - Node 22.12 or later to install the package; a game in the browser needs no Node
- The Electron example is removed
render3d.jsis in three files,render3d.js,render3dMesh.jsandrender3dObject.js; nothing changes for a game on a build indist
Fixes
- 3D solids meet as in 2D: a fast object no longer goes through a thin wall, two movers no longer pass through each other, and a pusher stops against a crate held by a wall; the speed cap applies after gravity in 2D and 3D, and
setEnablePhysicsSolver(false)stops 3D collision too - Tile collision stops an object at a wall or ceiling where it hits, not up to a frame's move short of it
- Text counts characters as a reader does: an emoji is one, an accent draws on its letter, and Windows line endings break lines
- A release build goes on past an error in its first frame, and its sounds, Box2D joints and UI shrug off NaN, Infinity and quick taps where they threw, stopped Box2D for good, or lost a click
- Particle effects: the same count whichever frame they start on, a moving emitter's particles spread along its path, and an option of the wrong kind keeps the effect's own value
- A glTF model's parts, an attached prefab's and a voxel map's see-through blocks take the settings set on the model
- Medals: an unlock in one tab is kept by another tab, and one unlocked before
medalsInitstays unlocked - A sound whose file fails to load calls its callback, a lens flare hidden at the start stays hidden, a tween that throws is ended, and many smaller fixes across the engine, the editors and the examples
Check out the latest on GitHub to see everything we've been working on!