Releases / v0.117.0-rc12

v0.117.0-rc12 Whole Worlds

2026-10-26

Everything in rc11, plus physics that costs a fraction of what it did for big craft and vehicles on the ground, shader materials that draw together, and a way to load a level's shaders and pictures before its first frame.

Physics costs less, and moves the same

Every body ends where it did before, to the last bit; only the work is less.

  • Each part of a craft is tested only against what it can actually reach this step, not everything around the whole craft. A distance question stops at the radius it needs, and a part in open air skips the ground entirely.
  • Ground queries near terrain are several times cheaper.
  • When a craft splits, only the parts near the other half are compared.
  • In our tests: a 15-part plane rolling on terrain went from about 21 ms of physics a frame to about 4; a 1,000-part craft released onto the ground from 53 ms to about 3, and asleep at 0.2 ms.
  • Sphere, capsule and box casts skip parts far from their path, so 20 casts past a 1,000-part craft went from 2.1 ms to 0.2 ms. perf.counts() now reports sweeps and sweepMs.

Drawing many of the same thing

  • Parts that use the same shader material with the same settings now share it, so they draw together: 3,000 parts with one shader material draw once instead of 3,000 times. A part whose settings change gets its own copy and the others keep theirs. What is drawn is the same, pixel for pixel.
  • Material changes are applied only to the nodes that changed, so a quiet frame does no material work.
  • perf.counts().unbatched and unbatchedBy say how many draws could not be shared, and why: a unique mesh, a texture, a shader, shader settings, or skinning.

No first-use freeze

  • assets.warm(list, cb) prepares pictures, shaders, materials, models and sounds in the background, and calls cb when all are ready. Warm a level's assets behind its loading screen and its first frame does no first-use work.
  • A shader's skinned version is built only when something skinned draws with it.
  • Built shader pipelines are kept on disk between runs (Vulkan), so a shader is faster to prepare the second time.
  • perf.hitches() names the assets a slow frame was waiting on, with their times: decoding, uploading, compiling a shader, or building its pipeline.

Upgrading

Nothing to do. A shader nobody warmed is still prepared the first time it draws; call assets.warm on your loading screen to move that work off play.

Floptle Hub

Linux x86_64 10.7 MB Download → sha256 697b71b1a214ecc227ae98dda7b5ff348176b33bdbf60fa946a8ea1a64bf891c
macOS Apple Silicon 7.4 MB Download → sha256 f91a63c8a4b71e73817ad93e2ba77f47bb0fb2fc87d97f62c10b552ee4ea4373
macOS Intel 8.0 MB Download → sha256 a308f373d903074f9b496039d863cc3130e1a0ec979a467373eea8b6d48a67d9
Windows x86_64 9.1 MB Download → sha256 79bfb40f94d1b322b6b231e717fa17b997834ca75e35b8ba8c55ebb0ba3d6b94

Engine

Linux x86_64 57.8 MB Download → sha256 7180276c1d9442e4cfe545fd892f63e66b1bff917b8fd1b721bd3b834857a9c8
macOS Apple Silicon 45.3 MB Download → sha256 208a8f738d18c95fca45bf6532729adc16f36d756f61c3767b309c5add90ba3b
macOS Intel 48.8 MB Download → sha256 c8647acf0f4bf8f6183d7a22d6a7884d270200c42743f4b72480d4f7314eb077
web 5.5 MB Download → sha256 855fb568010fc183f28a9033e069379ebefbc5beea0202e4dacc43b4da79c13f
Windows x86_64 55.2 MB Download → sha256 37d18212b347ad9459d477f39213ee0d7ff789ccae0adf8e6adcbcb2e6da70c0

The binaries are not signed yet. On macOS, right-click the app and pick Open the first time. On Windows, if SmartScreen appears, pick More info then Run anyway.