Files
rive-cpp/dev/defs/animation/linear_animation.json
mjtalbot 9122e58a54 Libraries
Bunch of changes, i think its at the point where it will be helpful to get a review, there is a *lot* of outstanding work to do here, but i'm hoping that much of it can be done while this is in master but not enabled for uat yet. so @susan101566 and I can work through that set together, with smaller more targeted fixes and changes.

There are a couple of things i want to figure out to make sure we can merge this:
- is the Resolver approach going to work (library components resolve to real components)
- writing library assets into the parent needs a bit more love, it should not cause problems unless you're using libraries
- I want to do a small refactor on the exporter before merge to keep asset writing and asset index updates together as suggested by @susan101566. there's a larger refactor here but i think that can be done in due course.
- re-check editor-only deliniation

After refactoring those i also need to re-check that all these things still work, because chances are i've broken something in the meantime.

for
    using a library in as a nested artboard &
    using a library as part of using a nested artboard that contains a library
check
    using a library animation
    using a library stateMachine
    using a library stateMachineInputs
        we can key state machine input changes
        we can trigger nested state machine input changes from teh state machine editor
    using a library with assets

exporting all the above and view in cpp viewer
exporting all the above and view in dart viewer

There is a large list of items that need to be worked on beyond this. but hopefully we can do that more incrementally. this includes but is not limited to:
- object validations make sense
- the asset panel is interacting as we want
- right click menus make sense
- out of band loading works
- library api failures are handled
- refactor how we add library assets
- refactor asset exporting
- tracking
- smi paths'

Diffs=
9d8a7e81fa Libraries (#9255)

Co-authored-by: Arthur Vivian <arthur@rive.app>
Co-authored-by: Maxwell Talbot <talbot.maxwell@gmail.com>
Co-authored-by: Susan Wang <susan@rive.app>
2025-04-03 17:27:06 +00:00

159 lines
3.7 KiB
JSON

{
"name": "LinearAnimation",
"key": {
"int": 31,
"string": "linearanimation"
},
"extends": "animation/linear_animation_resolver.json",
"properties": {
"fps": {
"type": "uint",
"initialValue": "60",
"key": {
"int": 56,
"string": "fps"
},
"description": "Frames per second used to quantize keyframe times to discrete values that match this rate."
},
"duration": {
"type": "uint",
"initialValue": "60",
"key": {
"int": 57,
"string": "duration"
},
"description": "Duration expressed in number of frames."
},
"speed": {
"type": "double",
"initialValue": "1",
"key": {
"int": 58,
"string": "speed"
},
"description": "Playback speed multiplier."
},
"loopValue": {
"type": "uint",
"initialValue": "0",
"key": {
"int": 59,
"string": "loop"
},
"description": "Loop value option matches Loop enumeration."
},
"workStart": {
"type": "uint",
"initialValue": "-1",
"key": {
"int": 60,
"string": "workstart"
},
"description": "Start of the work area in frames."
},
"workEnd": {
"type": "uint",
"initialValue": "-1",
"key": {
"int": 61,
"string": "workend"
},
"description": "End of the work area in frames."
},
"enableWorkArea": {
"type": "bool",
"initialValue": "false",
"key": {
"int": 62,
"string": "enableworkarea"
},
"description": "Whether or not the work area is enabled."
},
"playhead": {
"type": "uint",
"initialValue": "0",
"key": {
"int": 132,
"string": "playhead"
},
"description": "Playhead position in frames.",
"runtime": false,
"coop": false
},
"viewStart": {
"type": "uint",
"initialValue": "0",
"key": {
"int": 133,
"string": "viewstart"
},
"description": "Viewport start in frames.",
"runtime": false,
"coop": false
},
"viewEnd": {
"type": "uint",
"initialValue": "2147483648",
"key": {
"int": 134,
"string": "viewend"
},
"description": "Viewport end in frames.",
"runtime": false,
"coop": false
},
"scrollOffset": {
"type": "double",
"initialValue": "0.0",
"key": {
"int": 256,
"string": "scrolloffset"
},
"description": "Scroll offset of the key frame view",
"runtime": false,
"coop": false
},
"expandedComponents": {
"type": "List<Id>",
"initialValue": "[]",
"key": {
"int": 266,
"string": "expandedcomponents"
},
"description": "List of components that are expanded on the timeline view",
"runtime": false,
"coop": false
},
"timelineMode": {
"type": "uint",
"initialValue": "0",
"key": {
"int": 275,
"string": "timelinemode"
},
"description": "Edit time timeline mode",
"runtime": false,
"coop": false
},
"showSelected": {
"type": "bool",
"initialValue": "false",
"key": {
"int": 278,
"string": "showselected"
},
"description": "Whether to only show selected components on the timeline hierarchy",
"runtime": false,
"coop": false
},
"quantize": {
"type": "bool",
"initialValue": "false",
"key": {
"int": 376,
"string": "quantize"
},
"description": "Whether frames are quantized to desired frame rate or floating based on runtime speed."
}
}
}