Download Latest Version 1.18.26 - Touch gamepad, texture sheets, three.js plugin source code.zip (5.4 MB) Google Add to Preferred Sources
Home / v1.18.26
Name Modified Size InfoDownloads / Week
Parent folder
1.18.26 - Touch gamepad, texture sheets, three.js plugin source code.tar.gz 2026-08-16 5.0 MB
1.18.26 - Touch gamepad, texture sheets, three.js plugin source code.zip 2026-08-16 5.4 MB
README.md 2026-08-16 4.4 kB
LittleJS-1.18.26.zip 2026-08-16 1.0 MB
Totals: 4 Items   11.5 MB 5

1.18.26 - Touch gamepad, texture sheets, three.js plugin

New Demos

Three.js 3D Platformer (killedbyapixel.github.io) Dynamic Lighting System Low Resolution Output Mini Grapple Game Mini 3D Ball Track Game Crescent Rendering

screenshot (34)

New Changes

  • Added the Three.js plugin to render a 3D scene behind the LittleJS canvas, with a camera aligned to the 2D camera and ThreeJSObject to drive meshes with LittleJS physics
  • Added the Light System plugin for 2D dynamic lighting: colored lights accumulate additively into a lightmap that multiplies over the scene, and objects can glow by overriding renderLight()
  • Added the Texture Sheet plugin: loadSprite packs images into texture sheets at runtime, loadAtlas imports TexturePacker and Aseprite atlases with named frames
  • Touch gamepad rewritten as a full-viewport HTML/SVG overlay, so controls can sit outside the canvas and respect device safe areas
  • Each touch gamepad side is now configurable as a stick, dpad, or 1-4 face buttons, plus new floating controls, button vibration, and a passthrough setting
  • Added cameraFit to frame a world space rectangle, with world margins and screen pixel insets for HUD space
  • Added drawCrescent and getCrescentPoints for moon phase shapes, with WebGL, color, and outline support
  • Added engineStep and setEngineManualStep to advance the engine one frame at a time for headless tests and frame stepping tools
  • Added TileInfo.columns so animation frames wrap across multiple rows
  • Added Color.setAlpha and Color.withAlpha, lastInputDevice with usingMouseInput/usingKeyboardInput/usingGamepadInput, and medalsReset
  • Renames (breaking for ESM/TS users): TileInfo.tile()TileInfo.index(), setBlendModesetAdditiveBlendMode, UIObject.posUIObject.nativePos
  • Medal saves consolidated into a single JSON object, old per-medal storage keys are no longer read
  • Fixed ImageFont dropping a row of pixels by snapping glyph edges to the pixel grid instead of glyph centers
  • Canvas2D drawTile and drawRectGradient now flip Y the same way the WebGL path does, so both renderers match
  • Physics now updates before object updates, so update() sees post-physics positions
  • Tile collision fixes: layer position offset was ignored, ghost collisions off the negative layer edge, and tile layer render ignoring drawSize
  • Box2D fixes: joint referenceAngle sign, prismatic and wheel joint axes, setPosition flipping the body angle, and setFilterData on existing contacts
  • Input fixes: touch delta jump when the primary finger changes, wasPressed lost on key release with WASD emulation, right stick press button when it is the only stick
  • Math fixes: oscillate with negative time, isPowerOfTwo returning true for zero
  • More fixes: particle rotation in emitter local space, particle emitSize, UI dialog close crash and touch passthrough while paused, showConfirmDialog return value, Newgrounds non-JSON responses, tween path asserts, and debug video capture audio
  • Reduced per-frame allocations in drawing, transforms, particles, and Box2D
  • New demos: Light System, Low Resolution Output, Texture Sheet, Texture Atlas, Crescent, Grapple Game, 3D Ball Track Game, and two Three.js examples
  • Particle editor now supports drag and drop textures, a tile padding setting, and a default texture button
  • Docs build moved into the repo as npm run build-docs, REFERENCE.md expanded to the full public API, and README gained JS13k, Three.js, and AI resource sections
  • Added 16 new test files covering texture sheets, lighting, medals, sound, input, tile collision, draw utilities, and engine stepping

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

Source: README.md, updated 2026-08-16