Download Latest Version LittleJS 1.28.0 - Cameras, Screen Shake and Box2D Platforms source code.zip (7.9 MB) Google Add to Preferred Sources
Home / v1.25.0
Name Modified Size InfoDownloads / Week
Parent folder
LittleJS-1.25.0.zip 2026-10-04 2.6 MB
LittleJS 1.25.0 - Skinned Animation and Focus Blur source code.tar.gz 2026-10-04 6.8 MB
LittleJS 1.25.0 - Skinned Animation and Focus Blur source code.zip 2026-10-04 7.4 MB
README.md 2026-10-04 3.7 kB
Totals: 4 Items   16.7 MB 4

New Demos

  • 3D Focus Blur - Tilt shift and depth of field, focused with the mouse
  • 3D Mesh - Drop in a rigged glTF character and step through its animations, each cross-faded from the one before

New Changes

  • glTF skinned animation: a rigged character plays its animations, its mesh bent by its joints each frame, on the CPU, so shadows, picking and custom shaders work with it; object.play(name, loop, speed, blend) cross-fades from the pose it is in, and object.getJointMatrix(name) gives a joint's place to hang a sword on a hand
  • Tilt shift and depth of field post effects: postProcessTiltShift(focus, size, blur) keeps a band across the screen sharp, in 2D or 3D, and postProcessDepthOfField(focus, range, blur) keeps what is at a distance sharp, reading the 3D depth
  • postProcess.values: a game's own values for the post process shader, set every frame; any effect setting may name one in place of a number, to change it live without making the shader again
  • REFERENCE has new sections on units and directions and on what functions give back, and says where the draw functions' parameter orders differ; the FAQ lists the global names a game's own declarations clash with in a script build

Breaking Changes

  • The names deprecated in 1.20 are gone: collideTiles is collideLevel, the weld joint's setSpringDampingRatio and getSpringDampingRatio are setDampingRatio and getDampingRatio, and NewgroundsPlugin.logView() is removed
  • drawNineSliceScreen and drawThreeSliceScreen take only the order since 1.20, a color after the tile

Fixes

  • A shader that fails to build on a device says why in a release build too, where the screen stayed blank: the engine falls back to Canvas2D when its own fails, and a game's Shader or post process that fails is drawn without
  • Phones with Mali and Adreno GPUs read the post process depth at full precision, so the outline no longer draws false lines on flat ground; no more NaN pixels from the outline without depth, or from a flattened 3D mesh or a reflective surface seen head on
  • Faster as a game grows: path smoothing on winding paths, stopping many tweens, a mesh cut many times by CSG, and painting in the level editor on a large map
  • lineTest starting on a whole number and heading down the grid no longer hits the cell behind it, a particle that rises lands on a ceiling, readSaveData ignores a stored string, and a child whose update throws no longer leaves the engine's child list behind
  • A JSON, glTF or particle effect file that fails to read names the file and says when it got a web page instead
  • TypeScript: the level and map loaders take their own types, editor tools are typed, and fetchJSON gives any
  • Level editor: a turned or mirrored stamp turns or mirrors its objects too
  • Examples: the breakout tutorial runs at every step, the platformer's dodge no longer blows up the ground, the Box2D smoke rises, the raycaster has no fisheye, and smaller fixes across the shorts

Check out the latest on GitHub to see everything we've been working on!

render3dMesh render3dFocusBlur

Source: README.md, updated 2026-10-04