Version 0.16.2
Phones reach a flat 60 fps in levels and in Settings, text input works with the on-screen keyboard, and the Afterbeat import keeps its structure
Game
- A phone starts with anti-aliasing off, and a desktop keeps MSAA. With MSAA a Xiaomi 2209116AG ran its GPU at 98% and 47-56 fps in a level. With FXAA in its place the GPU was 51% busy and the level held a flat 60. FXAA is not the default either, because it keeps the post-processing pass running even on levels that use none. You can still turn anti-aliasing on in the graphics settings, and switching away from MSAA now really turns it off
- A screen that covers the whole view stops the level from being drawn behind it: Settings, the editor's settings, the generators and the beat window. On the same phone Settings runs at 60 fps instead of 45. The level keeps playing underneath, it just is not drawn
- The graphics settings show the frame rate cap the game actually holds, for example
60 fpsorUnlimited - Typing on a phone works with the on-screen keyboard. It opens every time a field opens, its Done key keeps the text and Cancel puts the old text back, and the next field gets its own keyboard, so letters no longer land in a number field. A greyed-out field can no longer be edited through the input window
Editor
- A selected clip on the timeline gets a bright 4 px border, and a selected keyframe point gets a frame. Before, selection was a thin border in a colour close to the clip's own border, and on a phone it disappeared
- In the editor on a phone, the viewport keeps your touches while a bot drives the avatar, so you can still pan and select. Before, the viewport ignored every touch
- In the
Relativecontrol mode the cursor keeps its place on screen while the camera moves. Before, it slid across the screen
Afterbeat import and export
- The import packs layers: depth still decides what draws in front, but time decides the row. Children take their own layers from 1 up, and a prefab placement takes one row. On the level weathergirl the busiest row went from 128 clips at once to 2, and 687 negative child layers went to 0
- The import recovers prefabs: expanded instances become placements again, and nested prefabs are inlined
- The export writes an unchanged, static, untrimmed placement as a real Afterbeat prefab object and leaves its copies out. Any other placement is flattened as before