Commit Graph

20 Commits

Author SHA1 Message Date
bodymovin
6362192a61 data bind artboards rcp file (#10214) c542b9b7ac
* make file ref counted

* migrate File to refcnt

* add bindable artboard class to keep file reference

* feat(unity): support rcp file and BindableArtboard class (#10228)

* refactor(apple): use updated file bindable artboard apis (#10229)

* update command queue to support bindable artboards

* use bindable artboards on command queue

* self manage view model instances in js runtime

* change remaining viewModelInstanceRuntimes to rcp

* refactor(apple): update view model instances to use rcp (#10298)

* refactor(unity): support rcp ViewModelInstanceRuntime (#10309)

* rebase fix

* deprecate getArtboard in favor of getBindableArtboard

* fix merge

* remove unused lambda capture

* fix rive binding

* feat(Android): RCP File, VMI, and add bindable artboards (#10456)

* refactor: C++ refactors

- Import from long (incorrect) -> jlong
- Header clang-tidy fix
- Use reinterpret_cast instead of C-style cast
- Break out some variables instead of long one liners
- Use auto
- Remove unused env and thisObj

# Conflicts:
#	packages/runtime_android/kotlin/src/main/cpp/src/helpers/general.cpp

* docs: Improve documentation on the File class

* feat: Support bindable artboard type and RCP VMIs

# Conflicts:
#	packages/runtime_android/kotlin/src/androidTest/java/app/rive/runtime/kotlin/core/RiveDataBindingTest.kt

* feat: Support RCP files

* refactor: Change from +1/-1 ref to just release

* fix: Moved to the more appropriate null pointer for GetStringUTFChars

* replace unref with release

Co-authored-by: Adam <67035612+damzobridge@users.noreply.github.com>
Co-authored-by: David Skuza <david@rive.app>
Co-authored-by: Erik <erik@rive.app>
Co-authored-by: hernan <hernan@rive.app>
2025-09-30 00:01:40 +00:00
luigi-rosso
08f276b192 feature: making rive::File rcp (#10439) 213f07ec13
* feature: making rive::File rcp

* fixes

* fix: recorder

Co-authored-by: Luigi Rosso <luigi-rosso@users.noreply.github.com>
2025-08-22 15:58:24 +00:00
blakdragan7
dc19a4d22a feat(CommandQueue): Several small additions (#10215) c508ec1d15
* added decoded callbacks for image,font and audio

* added external reousrce interface

* Added artboard databinding

* typo fix

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
2025-07-19 03:08:48 +00:00
blakdragan7
5b4cfdc295 refactor(CommandQueue): Added more enum data (#10191) 1c9db764ea
Added a enum name as a part of data received from property listing

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
2025-07-16 20:44:04 +00:00
blakdragan7
a4b821e6bf reafactor(CommandQueue): added dependency map between files->artboards->statemachines (#10106) 1d45c6418d
Added dependency between state machines and the artboards they are created from.
Added dependency between artboards and the file they are made from
Made all dependencies get cleaned up correctly when owning dependency is deleted.

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
2025-07-03 00:00:00 +00:00
blakdragan7
9133af2934 feat(CommandQueue): Several needed features (#10097) cf63e43d70
* added way to get default view model for a given artboard

* added request Id to errors and mouse events

* finished tests

* order matter when getting deleted apperently

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
2025-07-02 20:11:09 +00:00
blakdragan7
5d540c313a featt(CommandQueue): Added internal file asset loader (#10040) d13f8c2bf6
* started file asset implementation

* asset loader implemented

* started adding tests

* updated fonts and audio to validate before returning an object.

* audio source and font tests

* added deleted callback tests for audio source and fonts

* fixed compiler issues for non windows clang

* updated cargo checks to latest rive_hb

* msvc maudio does not support mp3. use wav instead

* Updated based on PR comments

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
2025-06-24 19:40:58 +00:00
blakdragan7
107319bc52 feat(CommandQueue): Added error messages for each type of error that could happen (#10020) 9af17212ca
* started implementing error messages

* send errors to command q as well as print to cerr

* started adding tests for error messages

* started file error tests

* file error tests

* render image error tests

* state machine error tets

* PR suggestion to convert template function to helper class

* prevent mixup for 32 bit platforms

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
2025-06-19 01:08:48 +00:00
blakdragan7
68cfb79591 feature(CommandQueue): View Model Properties finished (#9993) 1d144e0d61
* added renderimagehandle and fileLoaded and enumsListe

* coded out lists

* added tests for list

* property subscriptions complete

* Added abililty to fire triggers

* added tests code cov vaught

* better name

* ASAN for unit tests (#9997)

chore: enable asan

* changes requested by PR comments

* addressed PR comment

* enum renames

* feat: add asan for tests

* chore: missed lua file

* chore: remove windows asan for now

* remove extra ref

* update print text

Co-authored-by: Hernan Torrisi <hernantorrisi@gmail.com>
Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
Co-authored-by: Luigi Rosso <luigi-rosso@users.noreply.github.com>
Co-authored-by: Luigi Rosso <luigi.rosso@gmail.com>
2025-06-17 23:59:04 +00:00
blakdragan7
a78b8e0baa feat(CommandQueue) Get / Set Basic Properties (#9929) 6d8f034217
* Added initial property set / get for view models

* added nested view models set

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
2025-06-07 02:28:11 +00:00
blakdragan7
e5551407e6 feat(CommandQueue)Server side Cursor Math (#9916) 8bf9682caa
* added math and pointer event struct to easily translate cursor events

* better comment

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
2025-06-06 03:31:21 +00:00
blakdragan7
98245fed75 feat(CommandQueue) View Models and View Model Instances (#9908) f4960cff48
* added viewmodels and started tests

* creating and destroying viewmodels and isntances

* listViewModels

* view model listeners finished

* added bindViewModelInstance

* added more tests

* addressed PR comments

* updated api to not use ViewModelHandles and have a more consice api

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
2025-06-06 02:46:34 +00:00
ErikUggeldahl
f248d545d0 feat(Command Queue): Pointer Events (#9881) ab11082212
Adds pointer events to the command queue.

Also fixes an errant callback name.

Co-authored-by: Erik <erik@rive.app>
2025-06-03 21:13:49 +00:00
blakdragan7
2df8634833 refactor(CommandQueue) removed erase in processMessage to avoid double erase (#9887) e296e14c35
removed erase in processMessage to avoid double erase

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
2025-06-03 19:39:42 +00:00
blakdragan7
a7ecf16399 removed generation of reqeust ids (#9859) b8bfaaf5e7
* removed generation of reqeust ids

* removed request id type

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
2025-05-31 01:13:32 +00:00
blakdragan7
523d8b7264 added advance state machine and settle callback (#9857) 58ece530ef
* added advance state machine and settle callback

* better tests

* address pr comments

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
2025-05-31 00:19:53 +00:00
blakdragan7
47e0734849 feat(CommandQueue)File asset loader (#9799) 77172ea62b
* added file asset loader

* tests for asset loader

* made asset loader rcp

* addressed pr comments

feat(CommandQueue) Added request Ids associated with jobs (#9796) 5aedcdc61f
* added request ids that are associated with callbacks for the command queue

* modified tests to check for request id

feat: TextInput - refactor shapes for runtime text input (#9836) 455374455c
* chore: updating runtime defs

* chore: refactor TextStyle into TextStylePaint

* chore: missed hpp files

* chore: missed cpp files

* chore: fix clone of text_style_paint

* feat: more text input at runtime

* chore: cleanup

* chore: add typed child iterator

* chore: missed files

* chore: running runtime input in editor

* feat: completing integration with editor

* chore: missed file

* chore: fix builds with text disabled

* chore: use child for test

* tests: adding more tests for text input

* chore: missed test file

* chore: more coverage for child iterator

* chore: using clipping on text input

* chore: test text input selected text

* chore: dry up iterator

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
Co-authored-by: Luigi Rosso <luigi-rosso@users.noreply.github.com>
2025-05-29 19:46:50 +00:00
blakdragan7
0776aef8ed feature(CommandQeue) Message Queue (#9704) 5b253d0b0b
* added message queue for receiving information back from server

* addressed some issues

* renamed everything to listeners, manage lifetime of listeners implcictly, modified tests to match and updated example to use listeners.

* updated to match naming convention we talked about

* addressed PR

* added delete messages for file,artboard and statemachine

* fix dumb dumb

* Update packages/runtime/include/rive/command_queue.hpp

* more pr changes

* nested listener classes

* addressed pr requests

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
Co-authored-by: Umberto Sonnino <umberto@rive.app>
2025-05-22 21:08:34 +00:00
blakdragan7
cee0b8f887 refactor(CommandQueue) moved drawloop to be driven from commandQueue rather than from the server (#9692) 203b35111d
* moved drawloop to be driven from commandQue rather then from the server

* made pollMessages and waitMessages return !M_disconnect

* removed drawloop added drawkey added stopmessage

* addressed PR comments

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
2025-05-18 18:25:32 +00:00
csmartdalton
29b1922034 feat: First draft of a CommandQueue (#9620) 18dc7c390b
* feat: First draft of a RiveCommandBuffer

RiveCommandBuffer hopes to eventually become the basic high-level Rive
API. It's an asynchronous command queue that hides the data behind
handles and executes on a separate thread.

This initial example is just something to get started. We will evolve
the API as we feel out what is needed in the various backends.

* More testing

* AutoLockAndNotify

* CommandQueue

* Fix linux build

Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
2025-05-09 16:40:56 +00:00