Repository navigation
1.23.1 - Sprite Batching and Fixes
New Changes
- 3D sprites are batched: an object with a tile and no mesh, or a
drawBillboard, that is not transparent is drawn as one instanced batch with the other sprites of its sheet, its clear pixels cut out, so many sprites cost little; transparent and additive sprites still draw sorted, one by one - A level's block map works in a game with no images: it shows plain colored blocks, where it used to fail
- glTF: emission stronger than 1 from Blender is read (
KHR_materials_emissive_strength), a texture is smooth or pixelated as its sampler says whatever the game's tiles are, and a model with basis textures says they are not read - The 2D level editor keeps the last 100 undo steps, as the 3D one does
- The npm package and the release zip include REFERENCE.md and EDITOR.md
- EDITOR.md says how to keep a level as a script for a game opened from disk, and what changing the editors' own tools takes
- The deprecated names from 1.20 are kept until 1.25 at least
Fixes
- A UI button pressed and released inside one frame was clicked twice
drawRegularPoly, and circles withsetGLCircleSides, hung on a side count that was not a whole number- 2D level editor: a click on an object no longer rewrites its position with rounding noise and adds an undo step; applying saved edits to a file that gained an object layer leaves that layer alone; a level whose url has a
%20in it matches its file again - 3D level editor: saves of a prefab are written in the order they were asked for when
onSaveis async, a prefab edit that was undone no longer comes back after a reload, and objects a game's tool adds without ids get ids - An attached prefab inside another prefab is placed where it belongs, and its collision box follows parts that are turned
levelEditor.onSavemay be an async function in TypeScript too- A
Soundmade while sound is off counts as loaded, so a loading screen that waits for sounds finishes - A tween callback that throws no longer leaves the tween system allocating on every update
- The build and the docs build leave
dist/anddocs/untouched when a step fails
Check out the latest on GitHub to see everything we've been working on!