You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Text input: The on-screen keyboard could appear when focus moved to an element that only listens for key presses, which was especially evident in mobile browser experiences. It now appears only when the focused element, or one of its parents, takes typed text. StateMachine.focusState() now also returns expectsTextInput, alongside the existing expectsKeyboardInput. (Fix)
@rive-app/webgl2-threads: In Safari, resizing the window could show a blank frame, because the canvas was cleared and shown before the frame at the new size was drawn. The canvas now resizes right before that frame is drawn, so no blank frame appears. (Fix)
Scripting: A sized 2D canvas created during a script's init could have no image yet, so canvas.image.view() returned null and scripts that relied on it failed. 2D canvases are now ready at init, the same as GPU canvases. (Fix)
Performance
Layouts: Building and syncing layouts now makes fewer memory allocations. Each layout's style was also being visited twice whenever the runtime went through a layout's children; that duplicate is gone. (Change)
Data binding: Creating instances of data-bound artboards now makes fewer memory allocations. Instances share their bind paths instead of copying them, and bound values are stored inline. Adding list rows that are bound to view models is cheaper as a result. (Change)
Commits
docs(runtimes): match READMEs and package metadata to rive.app positioning #15442
fix(scripting): build the linux cli release on clang 14 again #15423
fix(runtime, runtime_wasm): raise the soft keyboard for text focus only #15428
perf(runtime): share bind paths and hold bound values inline when instancing artboards #15411
fix(scripting): mint 2d canvases before the device binds, like gpu canvases #15399
fix(js): resize the replay worker's canvas in its frame's task #15374
perf(runtime): build and sync layouts with fewer allocations #15378