Diffs=
960d8be2a1 fix flutter tests (#8429)
c64659be84 Make build script work on mac (#8421)
8178dd7936 fix for imagediff avrg being wrong (#8430)
7a9e69314d Fix resources getting deleted prematurely in vkutil::ResourcePool (#8411)
5cde901062 Upgrade legacy artboards to work with layouts (#8419)
aec431eeb7 Layout fractional sizes & flexBasis (#8405)
a02ac789ca imagediff -> opencv (#8397)
4fec171eac Fix crash on controlSize when image not yet available (#8414)
Co-authored-by: Luigi Rosso <luigi-rosso@users.noreply.github.com>
This gives better support for smaller screens and side-by-side windows.
Also standardize the formatting check on GitHub on version 17.
Diffs=
e52e9fff29 Drop the ColumnLimit to 80 for clang-format (#8320)
52913023ba add support for listeners on layout components (#8317)
1b5e50fcec Optimize atomic rendering for input attachments (#8310)
1cc5f2b6f6 Prep for rhi (#8270)
f9715435dd Nnnn fix databind state machine shared data context (#8307)
708a913eae Implement isHidden in DrawableProxy (#8302)
Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
Diffs=
71ec9987a Rive flutter release v0.13.13 (#7997)
cc903ee02 Support Vulkan on Android (#7915)
c7bb5eb5a Change class names to strip PLS (#7988)
2be9ddc7e Set core audio session category to none (#7772)
25d423274 Initial file moves and renames (#7951)
69cffe900 Check if clipping shape's worldpath exists (#7956)
Co-authored-by: Gordon <pggordonhayes@gmail.com>
The goal of this PR is to improve the usability of events for the Flutter runtime and to hide unnecessary editor implementation detail. This also ensures that an event is not modifiable after it has been reported (from the runtime's perspective)
This is achieved by exposing runtime specific classes `RiveEvent`, `RiveOpenURLEvent` and `RiveGeneralEvent` (similar to the other runtimes), and mapping the current `Event` to these classes as an immutable object. It also maps the list of events to a Map called `properties`.
This PR also:
- Adds more event examples and fixes the audio example (`.stop` resulted in issues, and calling dispose, etc.)
- Adds tests for events
TODO:
- Will need to potentially change things (and expose the `delay`) when this lands: https://github.com/rive-app/rive/pull/5951
Diffs=
eae01824d feat: expose wrapper event class to runtime (#5956)
Co-authored-by: Gordon <pggordonhayes@gmail.com>
Resolves https://github.com/rive-app/rive-flutter/issues/321
This requires Sentry to be updated as well.
Diffs=
05c8632e8 Update http v1.1.0 (#5540)
db5688c4a Don't use the '-g' buildoption in premake (#5621)
b17671130 Fixing modifier ranges not updating on the right frame. (#5623)
Co-authored-by: Gordon <pggordonhayes@gmail.com>
Also update the auto formatter to run on *.m and *.mm files, and effectively ban breaking on return types entirely, as I think this is ugly.
Diffs=
c7d125c7d Update ObjC formatting to look more similar to the C++
I started adding Text features to rive_core and realized that the dependency structure is going to be very difficult to manage here. Here's why:
## rive_core
- has most of the runtime logic for things like IK, mesh, shapes, etc
## rive_flutter
- depends on rive_core (not directly but we transpile rive_core to rive_flutter)
- also includes the FFI/WASM text runtime
The problem is that rive_core needs the FFI/WASM text runtime. So we have a cyclic dependency. We've dealt with something similar (not quite as extreme) by abstracting things like nested artboards, but it gets very complex for a verbose API like the text one.
## rive_common
What this PR does is reworks a lot of shared logic like Math (Vec2D, Mat2D, etc), low-level text runtime (FFI/WASM), etc into a "rive_common" package. We've had shared packages before but none that have been shared by rive_flutter and rive_editor. I think it's finally time to bite the bullet here.
This will make it much easier to work through some of the obtuse abstraction patterns we've had to do to disambiguate if you're using a Vec2D from the runtime or the editor, for example.
Yes, this means we'll only have one set of math classes, one set of binary writer/readers, etc. I only did the bare minimum necessary to move text into rive_common in this first pass but we can do more as we go forward.
## TODO:
- [x] move Text WASM & FFI to rive_common
- [x] move Math used by text (Mat2D, Vec2D, TransformComponents, PathInterface, etc) to rive_common
- [x] move utilities used by text (binary reader/writer) to rive_common
- [x] fix core_generator and core_generator_runtime
- [x] fix github actions to use new paths
- [x] publish rive_common to pub.dev and unlist it
Diffs=
12c6ee130 rive_common package (#4434)
5a24e63d0 Initialize isClosed on TessRenderPath (#4431)
Uses it in the artboard title but also updates the flutter runtime massively to support FFI & WASM C++ Rive Text. PRing to let the tests run.
Diffs=
3be5ff0d8 Text (#4372)
90245a5e1 Fix the Android debug build
0a0f3c267 Fix for missing animation in a blend state. (#4415)
440512dca Add simd::if_then_else (#4403)
ec9fb5bfc Revert "Update SIMD booleans to use bitwise logic operators"
701d8dee2 Update SIMD booleans to use bitwise logic operators
e98b93a61 Add SIMD fallbacks for missing builtins
466f68e3a Add some more core math and SIMD functions