Commit Graph

  • 1ee8f22197 chore: process listeners in specified order (#11487) 3253c0beae * chore: process listeners in specified order main bodymovin 2026-01-18 04:36:03 +00:00
  • b196057776 Add microprofile support (#11403) c83919a247 * Initial commit aliasbinman 2026-01-16 18:43:19 +00:00
  • c0a8d8353e fix(gl): Get running on Adreno 308 (#11467) 28e95e51e7 Adreno 308 had a few issues: csmartdalton 2026-01-16 06:30:34 +00:00
  • 9c299cd72a chore: Pass Lua VM from editor when decoding runtime File (#11458) f57124001d The C++ runtime requires a ScriptingVM and lua_State to run scripts. Previously when a runtime File was built, we would always instance a ScriptingVM and lua_State. At runtime, this is required, however, when building the runtime in the editor, this resulted in additional objects being created that weren't needed. This PR passes the lua_State into File::import so that the file will only create the ScriptingVM once and either use the passed in lua_State or instance a new one if none is passed. philter 2026-01-15 20:37:31 +00:00
  • c3be46500b feature: scripted listener actions (#11468) f3a89390cb bodymovin 2026-01-15 20:05:01 +00:00
  • 57230a4e32 feat(Android): Scripting support (#11438) 9112280455 Adds the build flags required to enable scripting. Adds two samples, one for legacy, one for Compose, using the Blinko example. ErikUggeldahl 2026-01-13 16:05:35 +00:00
  • 106a3cd169 chore: release v6.13.0 6.13.0 dskuza 2026-01-13 14:09:46 +00:00
  • 5728903929 Updating version files dskuza 2026-01-13 14:09:38 +00:00
  • 1fd12f448d feat(apple): add scripting (#11420) 41554dc098 dskuza 2026-01-13 13:22:13 +00:00
  • ddfaf378cd Fix ScriptedDrawable save/restore (#11451) e7142dcfed philter 2026-01-13 08:20:53 +00:00
  • 5bd0ba3093 No double deref luau (#11448) 62fcec60de luigi-rosso 2026-01-13 07:24:26 +00:00
  • d8d204cd88 Add opacity support to ScriptedDrawables (#11446) 9b416a02f6 philter 2026-01-13 05:23:17 +00:00
  • ce05e7fb58 fix(scripting): search first parent transform component to build scri… (#11443) 99ca3a30cc fix(scripting): search first parent transform component to build script node bodymovin 2026-01-13 01:24:38 +00:00
  • affa4c208a feature(scripting): add support for accessing view models and enum pr… (#11437) 620000211e feature(scripting): add support for accessing view models and enum properties bodymovin 2026-01-13 00:59:15 +00:00
  • 67410b9d56 Nnnnn provide path node data (#11428) 67006966a5 chore: replace path effect signature to pass full node to scripting bodymovin 2026-01-12 19:40:27 +00:00
  • 9aa107dee0 Scripting namespaces (#11429) f810efd11a philter 2026-01-12 18:06:40 +00:00
  • bbeff2211a feature: add support for data binding scripted artboard inputs (#11423) 48d14f1521 chore: do not track nested artboard count bodymovin 2026-01-12 01:09:47 +00:00
  • 00eb7788cd feature: configure scripting timeout & improve Data warnings (#11425) 8328e97639 * feature: configure timeout luigi-rosso 2026-01-10 17:47:56 +00:00
  • fcfb04527d feature(scripting): instance linear animations (#11386) 722a1ae998 bodymovin 2026-01-10 14:50:13 +00:00
  • 41a70b519e feat(scripting): build dummy luau vm if disabled (#11422) 393e19b4fa dskuza 2026-01-10 00:21:54 +00:00
  • 8ce13954e0 fix: Scroll with snapping max scroll target (#11419) ce274af56c philter 2026-01-09 20:39:02 +00:00
  • 3cbab09734 Nnnnn different fixes (#11415) 4b0ea7e631 * fix: invalidate effects when sorted bodymovin 2026-01-09 19:53:38 +00:00
  • 1640a74c6a feat(scripting): forward declare luastate (#11418) a08d538dbf Fixes an issue when building runtimes with scripting enabled where certain headers may not be included philter 2026-01-09 19:08:56 +00:00
  • 492f54f690 feature: pass view model instance to bindable artboard (#10815) 3734dc3ab9 bodymovin 2026-01-09 17:42:59 +00:00
  • 532377d9c4 Nnnnn fix memory lua issues (#11412) ba94f03ad0 * push scripted drawable to stack twice to ensure it is not destroyed before use * code improvements bodymovin 2026-01-09 08:05:19 +00:00
  • fc65c45c23 fix: trigger change on solid color change (#11399) b5a73917b1 bodymovin 2026-01-08 01:29:28 +00:00
  • 793d4f5272 chore: advance scripting only if it is still active (#11394) 0488666fb0 * chore: advance scripting only if it is still active bodymovin 2026-01-07 23:38:09 +00:00
  • 0f774a72da chore: Move clockwiseAtomic shaders to the new system (#11388) 85c5519c6e With clockwise mode, we introduced ".vert" and ".frag" files and started sharing the main vertex shaders with multiple fragment shaders. This PR is a cleanup that removes redundant code and moves the clockwiseAtomic shaders to that same system. clockwiseAtomic shaders also work out paint colors via varyings now instead of storage buffers, which seems better but doesn't register a difference in performance. csmartdalton 2026-01-07 23:00:35 +00:00
  • b403e9a002 test: Add a 'paintType' option to player (#11371) 209e1b6d96 Allows us to turn off fills or strokes for testing. csmartdalton 2026-01-07 22:31:57 +00:00
  • 93bf014e93 fix(runtime): ScriptedArtboard origin fix (#11395) 88f2054b8a philter 2026-01-07 21:40:15 +00:00
  • 2097b9adc3 fix(runtime): additional null checks on audio play (#11281) a4e9d50469 * fix(runtime): additional null checks on audio play HayesGordon 2026-01-07 20:10:34 +00:00
  • 1255bc9223 fix(scripting): some crashed related to paths (#11378) c05b97d6d5 * fix(scripting): some crashed related to paths bodymovin 2026-01-06 20:41:24 +00:00
  • 6de36fedd4 chore: Enable with_rive_scripting flag for wasm (#11329) 8e395d6bb0 philter 2026-01-06 19:16:50 +00:00
  • 0482d51b54 chore: complete groups path effects work (#11373) 8f9dae9f36 * fix effects sorting bodymovin 2026-01-03 01:00:30 +00:00
  • 36b6d740a9 feature: add group effects support (#11359) df0db41a9c bodymovin 2026-01-02 23:04:55 +00:00
  • 1d30a6c3a8 Nnnnn relative data bind all paths (#11346) 41d316c675 * StateMachineListener relative view model property path * StateMachineFireTrigger relative view model property path * ScriptInputViewModelProperty relative view model property path bodymovin 2026-01-02 21:21:33 +00:00
  • 5c6955454e fix: lua error on in-flight path mutation (#11350) 56f08da6b1 * fix: lua error on in-flight path mutation luigi-rosso 2025-12-23 23:53:16 +00:00
  • 3006709834 feature: add support for relative view model data bind paths for nested artboards (#11344) 923b32059d feature: add support for relative view model data bind paths bodymovin 2025-12-23 23:24:27 +00:00
  • c20e03b41b fix: cast int as double when solo is bound to a number (#11332) 699b891b79 bodymovin 2025-12-21 21:00:12 +00:00
  • 1bc459b964 Library Scripts export fix (#11294) 978d565911 philter 2025-12-19 21:50:07 +00:00
  • 38023df551 fix: initialize did change as true (#11323) 9f2de92c4c bodymovin 2025-12-19 20:27:10 +00:00
  • a40b1bb114 feature: allow listeners to listen to any type of view model change (#11313) 4b7a5a8032 bodymovin 2025-12-19 18:41:26 +00:00
  • eca39cec5f fix(vulkan): Fix "player" (#11314) 08c2e47d44 Testing window was restructured to allow the tests to destroy/recreate the device, but the render target was not being (re)created when the device was. JoshJRive 2025-12-18 23:48:00 +00:00
  • 6c1ef7e7fe fix(unity): webgl harfbuzz conflict in unity 6.3 (#11309) 5e2ecca169 damzobridge 2025-12-18 19:43:41 +00:00
  • a52837c891 feature: support name based binding paths (#11007) a55da7f31f * feature: support name based binding paths bodymovin 2025-12-18 00:41:30 +00:00
  • 8cb93cd04e Update public key for verifying script signatures (#11301) db3368437f philter 2025-12-17 23:34:09 +00:00
  • 1bcf91af47 feat(vk): Avoid a copy for rasterOrdering non-input-attachment passes (#11298) e4ef1ece98 When the renderTarget doesn't support VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, we have to use an offscreen color texture instead. Previously, we would copy this offscreen texture back into the renderTarget after the render pass, which incurred a substantial amount of memory bandwidth. This PR instead transfers the offscreen texture to the renderTarget as part of the render pass, and then discards the offscreen texture, saving a fullscreen copy on TBDR architectures. csmartdalton 2025-12-17 22:36:05 +00:00
  • 5ba42d3e0f feature: bytecode header format (#11293) 68f1096d75 * feature: bytecode header format luigi-rosso 2025-12-17 20:51:46 +00:00
  • 4ead3410e2 fix(vk): Make the color ramp pass interruptible (#11270) ba953a142b Color ramps are the final resource texture we need to make interruptible for old Android GPUs that don't support complex render passes. csmartdalton 2025-12-16 22:01:46 +00:00
  • 418fbb7ed6 Refactor Script registration (#11280) bc6f965d1f philter 2025-12-16 20:01:30 +00:00
  • eb93cc761e chore: bump to luau 0.703 (#11285) 752595c590 * chore: bump to luau 0.703 luigi-rosso 2025-12-16 18:51:45 +00:00
  • a8658aac32 Add .frag and .vert to file list (#11289) 3bd6d37844 Update premake5_pls_renderer.lua aliasbinman 2025-12-16 18:17:08 +00:00
  • 7a994358b1 Remove Vulkan support for PowerVR devices below Vulkan 1.3 (#11284) f15e7dd47a Due to issues with early PowerVR drivers, GL is recommended for these devices JoshJRive 2025-12-16 02:59:10 +00:00
  • 8c06db379d fix(UAT): only trigger callback when instance is created from scripting (#11283) 7564ef1fcb bodymovin 2025-12-15 23:37:27 +00:00
  • f9fba5ac2d feat(runtime): skip drawing unchanged frames (#11127) f32a23806c * skip drawing unchanged frames bodymovin 2025-12-15 20:08:49 +00:00
  • 57da7a8848 fix(vulkan) Rebuild vulkan device between gms on less devices (#11275) 8cdc26684f * fix(vulkan) Tighten the requirements for destroying/recreating the vulkan gms on Adrenos JoshJRive 2025-12-14 22:41:23 +00:00
  • f978b0633a Nnnnn add data metatable and viewmodels (#11269) f23eb70aec * feature(scripting): add support for accessing view models from context and creating view model from global data bodymovin 2025-12-14 14:56:38 +00:00
  • 1f58b58416 fix(ci): Increase tolerance on histogram compare (#11274) 332a226197 lots_of_tess_spans_stroke is seeing a histogram result as low as .95087 on a correct image. Bump the default tolerance to .05 so we don't get false negatives. Hopefully this holds us over until we can work on more accurate image diffing. csmartdalton 2025-12-14 03:26:37 +00:00
  • 185ed85ab1 fix(vk): Actually apply a workaround for the Android overflow texture (#11273) e6c21bf6fd We had a nice comment describing why we shouldn't create the overflow texture with VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, but then we went ahead and accidentally created it as an input attachment anyway. csmartdalton 2025-12-13 06:07:37 +00:00
  • f281198021 fix(Vulkan) Work around a Vulkan driver OOM on Mali devices (#11271) 37439d5fb6 The Mali Vulkan driver/device was running out of memory internally, occasionally. This adds a hook into the testing window that gets run after each GM finishes, which TestingWindowAndroidVulkan now uses to tear the device down completely. The device then gets rebuilt as needed. JoshJRive 2025-12-13 03:52:26 +00:00
  • 5e3256951b fix(editor): Input to VM toggle fix (#11272) 1dd286c979 philter 2025-12-13 02:49:28 +00:00
  • d172514627 Unity dx12 (#11162) 2517eb7d7f * Initial aliasbinman 2025-12-12 18:10:53 +00:00
  • 36f246c817 fix(vk): Make the tessellation pass interruptible (#11233) e7608ff659 chore(vk): Make the tessellation pass interruptible csmartdalton 2025-12-12 08:00:12 +00:00
  • bdd6395f2c Layout animation time bindable (#11264) c95fe9334e philter 2025-12-12 04:35:59 +00:00
  • 3f98f5f8b5 feat: Text input from editor + start of Focusable (#9905) e5c8a7ae8f * feat: working on focusable luigi-rosso 2025-12-12 01:36:59 +00:00
  • 11259b2977 feature(scripting): add support to create view model instances from s… (#11232) 6fc23e1608 * feature(scripting): add support to create view model instances from scripts bodymovin 2025-12-12 00:59:51 +00:00
  • 6ba84bcc6a Scripting in Core Runtime (#11235) 0a5325e474 philter 2025-12-11 23:17:56 +00:00
  • 814655609d chore: bump macos-version-min to 11 (#11260) 08a3949a0d luigi-rosso 2025-12-11 21:42:53 +00:00
  • adb73d8787 fix(wgpu): Bit rot (#11245) 47f4ec46d4 * Clean up some assumptions in WebGPU that support for PLS meant it was actually being used. Now that we support MSAA, it might not be in use. csmartdalton 2025-12-09 23:31:28 +00:00
  • 4410c00813 chore: skip save operations on clipped single shapes (#11244) d352fe277e bodymovin 2025-12-09 23:09:03 +00:00
  • e49b6691ed fix: virtualized lists with data bound artboards map to the correct s… (#11242) 44c9c0b2ec fix: virtualized lists with data bound artboards map to the correct source bodymovin 2025-12-09 22:32:35 +00:00
  • fde1465e10 feat(vk): Set the maxTextureSize in Vulkan (#11227) 8b2069142c Vulkan has always been using minimum sized atlases of 2048x2048 because we forgot to set PlatformFeatures::maxTextureSize. Start grabbing this value off the physicalDeviceProps to enable fewer flushes. csmartdalton 2025-12-06 03:04:36 +00:00
  • 7296c324ea fix(vulkan): Resolve validation error when resuming too-complex render passes (#11229) 3a8b9ba454 Vulkan's LOAD_OP_LOAD cannot be specified on a render pass attachment that is IMAGE_LAYOUT_UNDEFINED - this conditionally makes the image layout GENERAL in those cases (and allows it to stay UNDEFINED for the general case, since the texture may not yet be initialized) JoshJRive 2025-12-05 23:07:37 +00:00
  • dab5e18bfb feature: add support for animated clipping layouts and shapes (#11222) e2a5390cb1 bodymovin 2025-12-05 20:01:59 +00:00
  • 29da10c336 fix(Unreal): Unreal perf improvements (#11221) 6a24742e15 * move all used textures to rdg blakdragan7 2025-12-05 01:56:58 +00:00
  • f6383809eb fix(Unreal): Layout fit type fix (#11217) 294afdc22a * Added set / reset size for artboarsd to command queue. Use this for render targets in unrel. Set size directly for widgets. blakdragan7 2025-12-04 21:08:03 +00:00
  • 8f98e21354 fix(vk): Adreno atlas rendering workaround (#11219) 9b177fd1df Adreno 730, 740, and 830 don't seem to appreciate binding buffers and updating descriptor sets before beginning the render pass, even though this appears to be valid usage of the Vulkan API. Re-update atlas rendering to begin the render pass first. csmartdalton 2025-12-04 19:48:40 +00:00
  • 013dbc25c9 fix(vk): Workaround a crash on early Android tilers (#11212) 5d4d4b98f6 Some early Android tilers are known to crash when a render pass is too complex. This PR is a first stab at adding an "interrupt" mechanism to atlas and draw render passes, which allows us to break up our rendering into smaller chunks that don't crash. Currently, only rasterOrdering mode is supported for interrupting draw passes. We will need to investigate whether this workaround is also needed for msaa, tessellation, and gradient textures. JoshJRive 2025-12-04 08:50:29 +00:00
  • f05e7053d2 fix(Vulkan): Work around a driver issue causing graphical corruption, other minor changes (#11204) b8b0d3e01c This change primarily works around a driver issue that was causing visual corruption on some newer Adreno-based devices. There are other minor changes as well (displaying the driver version from the bootstrapping code, setting a minimum requirement of Vulkan 1.1 in the renderer) JoshJRive 2025-12-03 20:25:43 +00:00
  • d2919b9f21 chore: release v6.12.3 6.12.3 bodymovin 2025-12-03 17:55:33 +00:00
  • 3557439325 Updating version files bodymovin 2025-12-03 17:55:25 +00:00
  • cb5e586e6b Update the versions of the spir-v shaders to all be 460 (#11209) f38d54d8e4 Some tooling changed today-ish that is causing the 310 es shaders to fail to build with: `` runner/_work/rive/rive/packages/runtime/tests/unit_tests/out/android_arm64_debug/include/generated/shaders/glsl.minified.glsl:450: 'token pasting (##)' : not supported with this profile: es ERROR: spirv/blit_texture_as_draw_filtered.main:6: 'stringify (#)' : not supported with this profile: es ERROR: spirv/blit_texture_as_draw_filtered.main:6: '#' : '#' is not followed by a macro parameter. ERROR: spirv/blit_texture_as_draw_filtered.main:6: '' : missing #endif ERROR: spirv/blit_texture_as_draw_filtered.main:6: '' : compilation terminated ERROR: 5 compilation errors. No code generated. `` JoshJRive 2025-12-03 01:25:29 +00:00
  • 15fa975806 fix: list updates correctly when items are added or removed (#11206) 255f1ba3d2 bodymovin 2025-12-03 00:52:50 +00:00
  • 07d253d8c5 fix: ignore non visible clips when removing redundant operations (#11207) 673820da1a bodymovin 2025-12-03 00:32:01 +00:00
  • 7a3fff3ab8 update scripted drawable clipping to new strategy and remove unused function (#11195) 8002b223a3 * update clipping to new strategy bodymovin 2025-12-02 23:03:07 +00:00
  • 0cb5f14ae3 fix(scripting): store data on all cases (#11197) 7fae9fb6c8 bodymovin 2025-12-02 19:30:25 +00:00
  • 9190295c4e fix(EA): list index can be compared to numbers (#11194) e2f7d6cde1 bodymovin 2025-12-02 18:01:02 +00:00
  • 41e1692b5f feature: apply clippings as separate drawables (#11183) c3237c0283 * feature: apply clippings as separate drawables bodymovin 2025-12-01 20:21:54 +00:00
  • 52de604f36 chore(scripting): add clipping support to scripted drawables (#11184) 27085dfb0c bodymovin 2025-11-30 21:31:16 +00:00
  • ea2cbf312d fix(editor): Display runtime errors when Script input VM properties not set (#11177) cd70e30236 Fixes a crash when trying to use pointer events when a ViewModel property input is not setup properly on a scripted drawable instance. philter 2025-11-27 21:56:15 +00:00
  • c314773cdd chore: Refactor invalidateEffect for StrokeEffects (#11173) 05630acdb1 Refactors how invalidateEffect in StrokeEffects work. Now there are 2 code paths: philter 2025-11-26 23:06:31 +00:00
  • eeb30b2d3a chore: complete scripted converters implementation (#11166) 55853117b2 chore: finish scripted converters implementation bodymovin 2025-11-26 00:23:59 +00:00
  • 37a01cab69 chore: Preprocess transitions conditions on initialization (#11150) bb52cbd4a3 Preprocess transitions conditions on initialization bodymovin 2025-11-25 21:49:34 +00:00
  • 978608a0a8 fix: reset interpolator and initialize it on convert (#11157) 0791ee519d * fix: reset interpolator and initialize it on convert bodymovin 2025-11-25 21:05:02 +00:00
  • ef83f3e36f feature: goto definition (#11143) 4f005f715e luigi-rosso 2025-11-25 13:14:35 +00:00
  • 421b47e8aa chore: updating to luau_701 (#11142) d4dfc63c3a luigi-rosso 2025-11-23 19:25:28 +00:00
  • 0eb0ba4af8 fix(vk): Implement manual MSAA resolves (#11120) 756dc2db91 * fix(vk): Implement manual MSAA resolves csmartdalton 2025-11-22 03:01:05 +00:00
  • 4acd917e76 feature: add path effects for fills (#11136) 376052977b feature: add support for path effects for fills bodymovin 2025-11-21 18:12:09 +00:00
  • 6949a47656 fix(vk): Only rely on implicit PowerVR raster ordering on Vulkan 1.3 (#11132) 4cdb5779cd After testing a statistically significant number of devices (7, specifically!) I have concluded that implicit PowerVR raster ordering only works with Rive on Vulkan 1.3 contexts. Update our renderer accordingly. JoshJRive 2025-11-21 06:19:59 +00:00
  • 7085a0441c Update path_fiddle.cpp (#11123) 19be344a5a * Update path_fiddle.cpp aliasbinman 2025-11-20 21:54:50 +00:00