Nnnn data binding api part 2

Initial POC for a data binding api

Diffs=
f99c5665ce Nnnn data binding api part 2 (#8611)
82f5a0cf71 fix: inner feather did not update when path changed (#9178)
bb272ebb45 Layout Direction (#9154)
cbde8c6d6a Remove stray depth resource creation in renderer. (#9171)
60524e873a update range mapper (#9170)
28f17bd861 editor+runtime: expose Shape length via databinding (#9160)
fa9791bbda core_generator: avoid empty switch statements  (#9163)
df6ccaa5ff fix dat converter formula crash (#9168)
de0026bd59 Add RenderText to rive_native (#9146)
f161bf4679 Tighter RHI integration, extra build options (#9149)
57d81702cb do not delete data context from state machine instance (#9166)
63bfa217f8 delete instances when objects are destructed (#9158)
94c410ff25 Custom property group (#9145)
b03ce165b9 Renderer depth stencil resource creation (#9068)
39b813b46c editor+runtime: support text follow path with position (#9131)
98a0ac9b24 Implement the feather atlas on Vulkan (#9139)
492dfea655 fixed for unreal (#9138)
edf4df442e Rhi feather
ca138bb038 invalidate stroke effects when path changes (#9124)
0fc29149b9 testing codecov (#9128)
82449bcb3f Move curve softening math for feathers to the GPU (#9064)
d7ff8f1372 Adding more layout unit tests (#9116)
fbd8b8f429 test actual amplitude computation (#9117)
104dc6a456 Infra fixups (#9119)
99cf88f77d Report runtime test coverage (#9114)
16567a3417 Rename gold/ to zzzgold/ (#9108)
07ffc16467 Move feather join tessellation to the draw shader (#9107)
2a983cdd65 Nnnn listeners export fixes (#9105)
cfde2d5136 editor+runtime: allow setting tolerance to path measure (#9102)
2e739a0358 resort glyphs to compensate core text auto sorting (#9101)
f4f4d35d02 Simplify the GMs registry (#9097)
c99270e6b4 Unify Vulkan descriptor set layouts (#9091)
3f4949c892 use quadToCubic instead of quadTo (#9092)
e33be19c21 runtime: text follow path using text modifiers (#9082)
bfdb1dddb8 Gm no static registry (#9090)
94ce2b1930 Fix Layout Style CPP callbacks (#9087)
b07ff750ca cherry pick stack vector use in vulkan impl (#9066)
95583d0c8f add converters support in conditions state machines (#9080)
834ec98f33 Change Scroll DraggableProxy to use drawProxy (#9084)
6b1dd12462 Turn off android file logging by default (#9083)
abc5cb40b7 Renderer shader hotloading (#8848)
35e26fd9f2 Fix a crash on Galaxy A10 (Mali-G71) (#9079)
cb0f89f200 Math formula converter (#8952)
5153dac481 Fix up android browserstack gms (#9076)
63c22338aa runtime: refactor text.buildRenderStyles (#9009)
8f9da9d694 Nnnn duplicate state layers (#9067)
63642c62d4 Nnnn apply target to source on change (#9049)
e417bb4754 add support for state transition duration binding (#9061)
98cac08e6a Convert the feather texture to a texture1d array (#9027)
c54d22119e Nnnn add blend mode text support (#9056)
93e625c1d4 Fix layout update on font load (#9034)
a4c0954201 Only use GL_R32F for the atlas if EXT_float_blend is supported (#9050)
223ed4c89a fix dash with world path (#9041)
9058a3fdad Add RenderPath::addRawPath (#9038)
7a6019fb97 add support for paths as holes (#9030)
50d49d051e Revert checks when using percent margin (#9036)
71d26ec7be add support for negative corner radius (#9012)
b8c47bea69 invalidate parent paint when dash is invalidated (#9029)
670e8ea231 Update premake to use latest patched Yoga (#9011)
aee913977a make decodeFont and decodeAudio non virtual (#9025)
e816b03089 Use hardware textureGather on hlsl (#9016)
633c8ef979 Draw large feathers at lower resolution (#9013)
339867b4de Fix Yoga crash with percent margin (#9010)
7968fd06b8 Make the segmentation of feathered curves more uniform (#9008)
0d03957f83 Add some .rivs with feathering to golden tests (#9007)
fa0e111996 add support for non exportable view model instances (#9005)
b2886f2449 Nnnn feather fixes 2 (#9003)
8f7120837b Implement a feather atlas for msaa (#9001)
1be3488d52 change lerp (#9000)
19b64a2c1b Update layout display before propagating to children (#8999)
48a376c63f Nnnn data bind fixes 5 (#8997)
6833000393 Delete the draw cache (#8995)
54dcceba76 Fix NestedArtboardLeaf render when parent is a group (#8994)
fd830a66ca add support for uint properties (#8982)
71b138cf40 Adapt ScrollConstraint to work with NestedArtboardLayouts (#8968)
697637dd27 Foreground fill fix (#8991)
899ce7e893 add boolean negate converter (#8992)
a224ede43e fix backwards path with multiple segments (#8989)
cdf66e9c29 fix gap in trim paths (#8953)
4d61f56bc2 Fix MSAA stencil settings for clockwise paths (#8985)
fc0ae67847 use clockwise flag at runtime (#8983)
35c972070b Fix webgpu defines for image meshes (#8940)
8162af1425 Simplify the feather integral calculations (#8977)
84f6941eb9 Improve feathered curve chopping (#8971)
776e2050a9 extend string converter (#8972)
4d81ae69b5 Update to 5 5 (#8945)
f8115f9e5d run code generators to fix outdated values (#8963)
641fe2ba15 fix sync with state machine triggers (#8950)
0b17404745 Improve layout display change handling (#8951)
8d30360d74 add support to round decimals in to string converter (#8948)
a1f435cb94 Fix feathered corners (#8946)
a95cbfa147 Implementing ScrollPercent and ScrollIndex properties (#8886)
b534512945 Remove Skia from android runtime (#8738)
c1482a731b Turn storage buffers back on for Android ANGLE (#8939)
274578e4ac Player mouse events (#8896)
c23d37a730 add time based converter interpolator (#8936)
86f65a5bb7 Fix text rendering with overflow clip (#8933)
3dd8f44cf2 make opacity bindable (#8909)
4c1da5310e fix bad property in animation at load (#8927)
94fc10095c Fix for Windows android builds. (#8932)
16063fdc26 Get hug working with text autoHeight (#8928)
bf57f85d7f change inherit blend mode default value to 127 (#8926)
fcda031783 Nnnn feather fixes (#8924)
6e30b9bb43 Nnnn fix invalid viewmodel properties (#8922)
6d8854ec04 use transition only when it has been selected (#8921)
9a43fe0b41 add support to disable layers in state machines (#8912)
7f3314f4f9 check whether state can change before evaluating conditions (#8917)
d8d42c0f13 Which way is up? (#8911)

Co-authored-by: hernan <hernan@rive.app>
This commit is contained in:
bodymovin
2025-03-06 02:01:57 +00:00
parent 5159b80110
commit 2b91ad3e27
4 changed files with 6 additions and 6 deletions

View File

@ -1 +1 @@
1b51fe394e81445b8e6c990780ed104ee582fde4
f99c5665ceb9de1780e91483c082b190d49839f6

View File

@ -824,7 +824,7 @@ class Artboard extends ArtboardBase with ShapePaintContainer {
ViewModelInstance? nestedViewModelInstance =
dataContext!.getViewModelInstance(nestedArtboard.dataBindPath);
if (nestedViewModelInstance != null) {
mountedArtboard.setDataContextFromInstance(
mountedArtboard.bindViewModelInstance(
nestedViewModelInstance, dataContext, false);
} else {
mountedArtboard.internalDataContext(
@ -835,7 +835,7 @@ class Artboard extends ArtboardBase with ShapePaintContainer {
computeBindings(isRoot);
}
void setDataContextFromInstance(
void bindViewModelInstance(
ViewModelInstance viewModelInstance, DataContext? parent, bool isRoot) {
final dataContext = DataContext(viewModelInstance);
internalDataContext(dataContext, parent, isRoot);

View File

@ -64,7 +64,7 @@ abstract class MountedArtboard {
void artboardHeightIntrinsicallySizeOverride(bool intrinsic);
void updateLayoutBounds(bool animate);
void dispose();
void setDataContextFromInstance(ViewModelInstance viewModelInstance,
void bindViewModelInstance(ViewModelInstance viewModelInstance,
DataContext? dataContextValue, bool isRoot);
void internalDataContext(DataContext dataContextValue,
DataContext? parentDataContext, bool isRoot);

View File

@ -153,9 +153,9 @@ class RuntimeMountedArtboard extends MountedArtboard {
}
@override
void setDataContextFromInstance(ViewModelInstance viewModelInstance,
void bindViewModelInstance(ViewModelInstance viewModelInstance,
DataContext? dataContextValue, bool isRoot) {
artboardInstance.setDataContextFromInstance(
artboardInstance.bindViewModelInstance(
viewModelInstance, dataContextValue, isRoot);
}