Releases / v0.117.0-rc23
v0.117.0-rc23 Whole Worlds
2026-10-26
Everything in rc22, plus a refresh rate that follows the window, additive scenes that leave the running world alone, and new decals that wait for their ground.
Frame pacing
app.refreshRate()reports the display the window is on, and follows it when the window moves to another one. Before the window is first shown it answers with the fastest display, so a frame cap set from it never holds a game below its display. Read it when you set the cap:app.setFrameCap(app.refreshRate()).- When a compositor presents the window on another display's clock, the frame-time panel and the Console say so and name both displays.
- With Adaptive or Immediate presentation, the frame-time panel no longer reports dt snapping as a fault: nothing in those modes waits for the display, and the panel says how to hold frames to the refresh instead.
- A display path that cannot do the presentation a project asks for (such as Adaptive under XWayland on some drivers) falls back with a Console warning that says what it fell back to and what that means.
Scenes and decals
scene.load(name, { additive = true })starts only the new layer's sounds and effects. Before, it restarted every sound and effect already playing in the world. Its steps are named inperf.partslike a full scene change.- A new decal waits for the ground under it to be ready before it is laid, instead of preparing that ground on the frame. A mark asked for just before a dig now lies on the dug ground.
- The terrain shadow's first volume after a world arrives is always made in the background, even when the GPU is short of memory, and the shadow work is named in parts.
Profiler
perf.counts()reports the terrain's field chunks:fieldChunksat full detail,fieldEditeddug or built, andfieldStandInsput away.
Upgrading
Nothing to do. A game that relied on an additive load restarting the world's sounds or effects should start them itself.
Floptle Hub
Linux x86_64
10.7 MB
Download →
sha256 04de7949216ebf2652fa2cd8fe688fa34905163ef8fefb271499909b4e8aa50c
macOS Apple Silicon
7.5 MB
Download →
sha256 4e4f2cd6eeac81ef0c4cbbb32d194678ddae63ef3bf003c6fd1137ed4836e311
macOS Intel
8.0 MB
Download →
sha256 36c30b3add771a0e96b10dbe4fdcd4646b212b2b32cabed179d7d4acc30a750b
Windows x86_64
9.2 MB
Download →
sha256 51f44da9ca86a8a6c8351cb0542aecc94fc4e73a5b5f8fca25184fc27a71bb15
Engine
Linux x86_64
58.7 MB
Download →
sha256 118c88fc3c886b6aba53fdbc9f9ad9de7737305afb527c8c2bcdb65f6e706ddc
macOS Apple Silicon
46.2 MB
Download →
sha256 69de4bb2954ba2ef5416c131aeede2947a39067757300cb4a018ca5a39779d12
macOS Intel
49.7 MB
Download →
sha256 fc8d9278122d7d8e29bdf5146f275ca009cd61b9a9db5de77ab3d1316da8b31f
Windows x86_64
56.1 MB
Download →
sha256 4058c36a11b1915068460d64db76bb1f62345ad928dd4c722abd6576d15e9d9e
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.