Commit Graph

15 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
csmartdalton
edae0548c3 feat(wgpu): Add a wgpu backend to the test suite (#10586) 48bb6538bd
Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
2025-09-16 18:32:10 +00:00
csmartdalton
6efab9c56f feat: Update goldens and player to deploy in the browser (#10453) 827077b899
Set up http and websocket servers in deploy_tests.py that allow us to
communicate with the remote wasm app similarly to how we communicate
with android & ios devices. Add a "-w" target to check_golds.sh that
kicks tests off in the default browser.

Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
2025-08-27 02:58:49 +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
csmartdalton
3d7ce2b533 chore: Simplify testing configs (#10072) b1793e755e
Rather than having an explosion of enums for all the different backend
configs, us very basic backend enums (gl, vulkan, metal, etc.), and
capture all the permutations in the separate BackendParams struct.

Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
2025-06-30 18:29:58 +00:00
blakdragan7
9b209b75f8 Tighter RHI integration, extra build options
Diffs=
f161bf4679 Tighter RHI integration, extra build options (#9149)

Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
2025-03-05 10:08:58 -07:00
klingerj
a231bb5efa Renderer shader hotloading
Diffs=
abc5cb40b7 Renderer shader hotloading (#8848)

Co-authored-by: klingerj <16977116+klingerj@users.noreply.github.com>
2025-02-21 14:40:59 +00:00
klingerj
071a9e2f5c Player mouse events
Pass mouse events from GLFW thru to rive so player.exe can be interactive.

Diffs=
274578e4ac Player mouse events (#8896)

Co-authored-by: klingerj <16977116+klingerj@users.noreply.github.com>
2025-01-30 17:59:30 +00:00
csmartdalton
5192aa33d5 feather v1
Diffs=
7ed60faf76 Vector feathering v1! (#8799)

Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
2025-01-18 00:41:35 +00:00
csmartdalton
640bd5f9ed Render gms to the screen when the test app is launched without a harness
This will allow us to render gms on BrowserStack.

Diffs=
b9a4114eba Render gms to the screen when the test app is launched without a harness (#8559)

Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
2024-11-15 02:52:23 +00:00
csmartdalton
163f1beef3 Drop the ColumnLimit to 80 for clang-format
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)

Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
2024-10-11 19:22:48 +00:00
csmartdalton
ee9325b0bd Optimize atomic rendering for input attachments
Pack clip data into an RGBA8 attachment and turn on src-over blending for both color and clip.

Handle advanced blend modes by rearranging the math such that the correct color isn't reached until *AFTER* the hardware blend state is applied.

This allows us to preserve clip and color contents by just emitting a=0 instead of loading the current value. It also saves flops by offloading the blending work onto the ROP blending unit, and serves as a hint to the hardware that it doesn't need to read or write anything when a == 0.

Diffs=
1b5e50fce Optimize atomic rendering for input attachments (#8310)

Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
2024-10-11 17:01:50 +00:00
csmartdalton
b9a69586b6 Update player to run without the python server
Diffs=
9e4b81762 Update player to run without the python server (#8175)

Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
2024-09-20 00:27:15 +00:00
csmartdalton
41efaaf853 Implement keystrokes for the player test
It's easier to experiment and debug when you can interact with it. Pump sys.stdin over the TCP server to the target.

Also delete the separate "RIV server" in favor of a "FETCH_RIV_FILE" request on the main TestHarness server.

Diffs=
0dcbf4d1f Implement keystrokes for the player test (#8065)

Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
2024-09-05 22:29:34 +00:00
rivessamr
5207dd8ba2 Opensource (tools) tests as part of runtime
- Most of tools/* have been moved to the new packages/runtime/tests. (Excludes fuzz and a few things with proprietary information)

- The tools/test are now in packages/runtime/unit_tests/renderer.

- The runtime/tests are now also moved, to the following packages/runtime/unit_tests/runtime (moved the "dev/tests" to packages/runtime/unit_tests)

- Thus unit_tests comprises of runtime and renderer tests (in the future we can add more categories as folder, this avoids too many tests in one folder)

- The rendering tests and runtime tests are built together in one executable called unit_tests*. This is what is described in the rive-runtime README - it is the way our developers can test the rendering (GPU) and runtime (CPU) unit tests in one go.

- pr_runtime_tests now builds and runs all the unit_tests, previously it was only executing the runtime tests, but now it includes the renderer tests for the (same platforms still tested: windows, windows msvc, mac, linux)

- The pr_tools_tests still tests the same workloads on the same devices, limited still to the rendering tests

ISSUES:

- We cannot build all the "tools" tests (e.g. imagediff, rendering tests) with the runtime tests. The runtime tests enables TESTING. I'm also not sure if running the runtime tests on all the devices is actually is worth it - if the tests are platform+device agnostic then probably not worth it.

- Windows pr_runtime_tests switched to ws-actions/configure-aws-credentials@v1 from microsoft/setup-msbuild@v1.1, as would not build otherwise, seems related to old version of premake

TODO:

- Verify of the performance is reasonable for runner / checkins

Diffs=
f25ee97a0 Opensource (tools) tests as part of runtime (#8035)

Co-authored-by: rivessamr <suki@rive.app>
2024-09-03 22:45:48 +00:00