Plugin

Layout

Layout plugin

The Layout context for Kinogaki Studio: a page on the 2D canvas and the pieces arranged on it, images (core's Image node wired into Place Image: files, embedded files and live results) and text, written out as a picture. Its nodes (Page, Place Image, Text, Merge, File Out) declare handles over their rows and each piece names its node, so core's canvas selects, arranges and composites them. It is checked out at plugins/layout in the Kinogaki Studio tree and builds only there.

CratePathWhat
kinogaki-layout.The package kinogaki.layout: the value (src/value.rs), nodes, the Layout object kind, menu items
kinogaki-plugin-layoutplugin/It as the plugin nodes/layout.dylib

How the canvas and live results work: studio's docs/CANVAS.md and docs/LIVE-PIPELINE.md.

Tests. tests/ through the harness: arranging, the canvas chrome, files, results, output (GPU tests #[ignore]), run by the root's python3 tools/check_all.py.

GitHub
kinogaki/plugin-layout (private)
Folder
plugins/layout/
Crates
2
Rust lines
1,060 in src, 2,097 in tests

What it ships

Plugin filePackageCrate
nodes/layout.dylibkinogaki.layoutkinogaki-plugin-layout

Crates

CrateWhat it isFilesLinesTest lines
kinogaki-layoutThe Layout context: a page on the 2D canvas and the pieces arranged on it, images and text, back to front in the order their nodes run.71,0552,097
kinogaki-plugin-layoutThe Layout context as a Studio plugin library (nodes/layout.dylib).150

Uses

CrateRepositoryAsWhat it is
kinogaki-sharedCore and the appnormalThe crates Studio and its plugins share, built once as a Rust dylib.
kinogaki-studio-apiSDKnormalKinogaki Studio's headless plugin API.
kinogaki-studio-ui-apiSDKnormalKinogaki Studio's UI layer for plugins.

For its tests alone

CrateRepositoryAsWhat it is
kinogaki-harnessCore and the apptestsStudio's test harness: the real editor, its event routing and its background work, driven offscreen with only the packages a test names.
kinogaki-pnglib-imagetestsPNG images (ISO/IEC 15948, W3C PNG Third Edition) over kinogaki_deflate.
kinogaki-png-formatPNGtestsPNG, a format plugin: a PNG reads as one standard Image as the file holds it, and an Image writes as one PNG.
kinogaki-testkitCore and the apptestsKinogaki Studio's core testkit: toy packages written against the SDK alone, so core is tested with no real plugin.

Third-party

None.