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.