-
Notifications
You must be signed in to change notification settings - Fork 8
feat!: experimental Rive runtime backend (iOS + Android) #134
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
mfazekas
wants to merge
88
commits into
main
Choose a base branch
from
feat/rive-ios-experimental
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
88 commits
Select commit
Hold shift + click to select a range
4327f4d
feat: experimental iOS Rive backend with synchronous API
mfazekas d72d589
chore: move docs to .local/docs, remove from git
mfazekas d116120
refactor: remove ExperimentalFileSource from legacy backend
mfazekas 74b2bb4
fix: restore whitespace in legacy files, remove fragile asset type gu…
mfazekas 9df8df8
fix: share single Worker across all files, fix artboard property data…
mfazekas bf78e1b
fix: wire up trigger property to experimental fire/stream API
mfazekas f053323
fix: set fit after view setup to fix .layout mode on initial render
mfazekas 469e3e1
test: add advanced data binding harness tests
mfazekas 18b97f2
fix: guard negative index in legacy viewModelByIndex and createInstan…
mfazekas 5ad1bd7
fix: correct trigger property listener task type signature
mfazekas e3a1904
fix: embed SPM RiveRuntime.framework via Podfile post_install hook
mfazekas e8012a2
refactor: split Android into legacy/experimental backend directories
mfazekas 3e524e1
feat: implement Android experimental backend using new app.rive.* API
mfazekas 4d19450
feat: implement Android experimental backend with CommandQueue API
mfazekas 3855397
feat: migrate getEnums() from sync to async (Promise)
mfazekas 36d8f48
fix: color property overflow and test tolerance for cross-platform di…
mfazekas 502be42
feat: add backend property to RiveFileFactory for runtime detection
mfazekas a6a9f4c
feat: migrate viewModelByIndex, createInstanceByIndex, viewModel to a…
mfazekas 5d27db3
fix: lint formatting in ViewModel spec and harness test
mfazekas 269545d
ci: add experimental runtime harness tests for iOS and Android
mfazekas 43b5115
ci: increase iOS experimental harness timeout to 90min for cold builds
mfazekas 9ecd070
fix: handle throwing Worker() init in rive-ios 6.15.1
mfazekas 1156c83
fix: experimental iOS instance lookup and test guards
mfazekas 958d6d1
feat: add async APIs for RiveFile/ViewModel and fix experimental inst…
mfazekas 25533b3
chore: upgrade rive-ios SPM to 6.15.2
mfazekas 3a49332
fix: only allow snakeLizard enum on android legacy backend
mfazekas 6ab1667
test: add useViewModelInstance e2e harness tests
mfazekas aae6102
fix: implement color property get/listen and fix UInt32 crash on expe…
mfazekas 330b390
feat(ios): decouple SPM from experimental runtime toggle
mfazekas 605f196
fix: unify USE_RIVE_NEW_API flag, replace SPM with CocoaPods, fix exp…
mfazekas acca25e
fix: skip autoPlay test on both experimental backends
mfazekas 8e5d85b
fix: remove unused Platform import
mfazekas 416e767
chore: update nitrogen generated files
mfazekas 7f7502e
fix: use ArrayBuffer instead of ArrayBufferHolder in new HybridRiveFi…
mfazekas 2a7a4d7
feat: add async versions of viewModelCount, artboardCount, artboardNames
mfazekas 982bb5c
feat: add async alternatives for ViewModel property value getters
mfazekas 51ce70a
fix: add missing Promise import in experimental Android property file…
mfazekas 44916b8
ci: remove android style guide enforcement from ktlint
mfazekas bd92e0b
fix(kotlin): fix all ktlint violations and add lint:fix:kotlin script
mfazekas 71921e6
ci: fail lint-kotlin job on ktlint errors
mfazekas a3cf97e
feat: add explicit type field to ResolvedReferencedAsset for asset lo…
mfazekas 5025668
fix: format import in ReferencedAssets.ts to satisfy Prettier
mfazekas 2b3b6c5
chore: re-run nitrogen to regenerate bridge code for RiveAssetType/ty…
mfazekas 5286d2d
fix: disable function-naming ktlint rule for Composable PascalCase fu…
mfazekas 1b1d70a
fix: apply ktlint auto-format to ComposeTestActivity
mfazekas 44cd7c9
fix(ios): update ExperimentalAssetLoader to use typed RiveAssetType enum
mfazekas 82386ce
fix(android): update ExperimentalAssetLoader to use typed RiveAssetTy…
mfazekas dfcca04
refactor: API cleanup — validate option, createBlankInstanceAsync ren…
mfazekas dda341b
fix(ios): correct set(value:) argument label to match generated protocol
mfazekas 39867b2
fix(ios): createInstanceByIndex(Async) now respects the index
mfazekas b052cb1
fix: remove createInstanceByIndexAsync, fix createInstanceByIndex on …
mfazekas e9d974e
fix(ios): implement propertyCount and instanceCount using runtime APIs
mfazekas b6d7c49
test: strengthen replaceViewModel assertion to verify actual replacement
mfazekas 66b124b
fix(ios): don't set instanceName to property path for nested VMIs
mfazekas 5b1fed1
fix(android): remove VM name heuristic, throw on unsupported ops for …
mfazekas e3e1cbe
fix: update Podfile.lock to RiveRuntime 6.17.0 from main
mfazekas dc7437b
chore: regenerate nitrogen bindings after rebase
mfazekas bfcd4a5
fix: remove duplicate async methods in legacy files, make HybridRiveV…
mfazekas 7d57200
fix: add missing createInstanceAsync to experimental backends
mfazekas e38fe9c
fix: remove redundant createInstanceAsync, keep only createBlankInsta…
mfazekas 1b4ffb6
fix: use yarn nitrogen (with postprocess), fix ktlint blank line
mfazekas fa43f78
chore: add Issue189 reproducer and nodefaultbouncing.riv from fix/and…
mfazekas 31c8f2f
fix(ios-exp): skip auto-binding when artboard has no default ViewModel
mfazekas 2b440d9
Fix "0x1 not found" error when artboard has no default ViewModel on A…
mfazekas 9bc3b46
fix: enable experimental API flag, await Worker init, update Podfile.…
mfazekas 3432fdc
fix: update test harnesses for useViewModelInstance {instance, error}…
mfazekas deca332
fix: ktlint spacing between declarations with comments
mfazekas 7501a26
test: skip Android experimental tests that need rive-android#443
mfazekas a77d87d
test: clarify skip reasons for Android experimental test guards
mfazekas 476fdad
fix: clean up legacy files to match upstream, fix Issue159 error type
mfazekas f176101
fix: make legacy HybridViewModel identical to main
mfazekas 5d09f4a
feat: make experimental runtime the default, legacy opt-in via USE_RI…
mfazekas 5f02d91
refactor: rename android/src/experimental to android/src/new to match…
mfazekas 334ff88
fix: add missing getPropertyCountAsync/getInstanceCountAsync to new b…
mfazekas 8cc8747
chore: enable prerelease (beta) versioning for 0.5.0 release track
mfazekas 832aa8f
fix(ios): add @MainActor to RiveReactNativeView, guard stale config t…
mfazekas 156967f
fix(ios): make awaitViewReady reentrant, support multiple callers
mfazekas f8368b6
fix(android): use RuntimeException instead of Error for recoverable f…
mfazekas 1483b6d
fix: log error instead of swallowing in createInstanceByName catch
mfazekas 3aae005
fix(android): log warning when inferFromMagicBytes falls back to IMAG…
mfazekas 3597ace
fix(ios): add MainActor.assumeIsolated for calls into @MainActor Rive…
mfazekas b942948
fix(ios): port Xcode 26 ODR workaround from main into podspec
mfazekas bc6d197
fix(ios): add missing try to MainActor.assumeIsolated in afterUpdate
mfazekas 971e1ed
fix(ios): use onMainSync instead of MainActor.assumeIsolated for JS-c…
mfazekas f9f503f
fix(ios): make onMainSync provide @MainActor isolation, fix infinite …
mfazekas 9a5182c
fix(ios): use Result to propagate errors from onMainSync across dispa…
mfazekas faec78f
fix(android): use device density for Fit.Layout default scale factor …
mfazekas 53d124e
fix(android): use device density for Fit.Layout in experimental backe…
mfazekas File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.