Core and the app · crate

kinogaki-anim

Core

Studio's animation channels.

Repository
Core and the app (kinogaki/studio-core)
Folder
studio/core/anim
Source
4 files, 492 lines
Tests
5 files, 663 lines
depends onused by tests alonedependencies for tests alone are listed below, not drawn

What it is

Studio's animation channels.

A Curve is one parameter's keys (the SDK's Key) over time, and its value at a moment by the parameter's kind; Channels are a node's curves by parameter name, which Channels::resolve_into writes into the node's Parameters before it cooks. The numbers come from kinogaki_prism::curve, the one definition of keyframe maths, so a project file, an export and Studio agree bit for bit.

What each kind does over time:

  • Number, Vector, Color and Channels: each component by its keys' interpolation, kept within the number's limits.
  • Integer: as a Number, rounded and kept within its limits.
  • Toggle and Choice: held, whatever a key's interpolation.
  • Ramp and tone curves: their own keys may come and go, so between two keys each is resampled onto the union of every key's positions and blended there.
  • The kinds that can't be animated: held.

Evaluating writes in place: into a value already of the kind's variant and size it allocates nothing.

Depends on

CrateRepositoryAsWhat it is
kinogaki-prismlib-prismnormalPrism documents for Kinogaki.
kinogaki-studio-apiSDKnormalKinogaki Studio's headless plugin API.

Third-party

None.

Used by

CrateRepositoryAsWhat it is
kinogaki-documentCore and the appnormalStudio's document: the scene, a tree of objects under one root, and the core network each object of a kind naming a context holds.
kinogaki-editorCore and the appnormalKinogaki Studio's editor: the document and everything the window shows of it, as parts one frame borrows one by one.
kinogaki-image-pipelineCore and the apptestsImagePipeline: what renders become on screen and in files.
kinogaki-networkCore and the appnormalStudio's core networks (design: core-owned networks; "Cooking DAG for nodes is studio core").
kinogaki-projectCore and the appnormalStudio's project files: a document as a Prism document.
kinogaki-sceneCore and the apptestsStudio's scene: the document cooked object by object.

Modules

Public types and traits

At the crate root

Structs ChannelsCurve

By module: 2 public types and traits in 2 modules

channels Channels

curve Curve