Architecture
How the parts work together
Each page follows one path through the code, from what a person does to what the parts do, naming the crates and types on the way.
An edit becomes a frame
An edit changes the document on the UI thread, is cooked on a worker, and comes back as packets that the viewport uploads and draws.
Undo
Undo belongs to the document.
The render path
A render starts as the cooked values of a scene's objects and ends as pixels in a Render view, a page on the 2D canvas or a file.
The image store
Core's image store is ImageFiles in kinogaki-scene: the document's one store of image files, on disk or embedded in the project.
Import and export
Every file format Studio reads or writes comes from a format plugin, a package that registers an SDK FileFormat.
Saving and loading a .kino
A project file is one Prism document, written and read by kinogaki-project.
How a plugin is found, loaded and offered
A plugin is a Rust dylib compiled against the same build of the shared library that Studio runs with.
