Core and the app · crate

kinogaki-core-package

Core

Core's own SDK package (kinogaki.core): what Studio holds whatever plugins are installed.

Repository
Core and the app (kinogaki/studio-core)
Folder
studio/core/package
Source
25 files, 5,498 lines
Tests
0 files, 0 lines
Depends on This crate Used by Studio's color service: the OpenColorIO config (lib-color's built-in ACES 2.0 CG config, or a file), the working space, and the viewer's display, view, look, exposure and gamma.kinogaki-color-service Geometry, curves and B-reps in the viewport, independent of any GPU API: the SDK's standard values as surface packets (over the SDK's display triangulation and shading normals, so Solid draws what Render renders), the one picker that answers rays and boxes ...kinogaki-geometry-view MaterialX 1.39 for Kinogaki Studio: the material layer every engine, format and core share, in our own implementation (MaterialX's C++ library is a reference and a test oracle, never a dependency).kinogaki-mtlx Studio's core networks (design: core-owned networks; "Cooking DAG for nodes is studio core").kinogaki-network Kinogaki's render interface: what a host (Studio) sends a render engine and what comes back, with no GPU or OS API.kinogaki-render-api The render side of Studio's standard geometry values: what render engines receive for them, whatever kernel made them.kinogaki-render-geometry Scripts over the standard values: lib-script's engine behind the SDK's [`ScriptEngine`], and what a script sees of each value.kinogaki-scripting Kinogaki Studio's headless plugin API.kinogaki-studio-api Kinogaki Studio's UI layer for plugins.kinogaki-studio-ui-api kinogaki-core-package Studio'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-document Kinogaki Studio's editor: the document and everything the window shows of it, as parts one frame borrows one by one.kinogaki-editor `ImagePipeline`: what renders become on screen and in files.kinogaki-image-pipeline Studio's project files: a document as a Prism document.kinogaki-project Studio's scene: the document cooked object by object.kinogaki-scene Kinogaki Studio: the editor in a window, after the plugins load.kinogaki-studio Kinogaki Studio's core testkit: toy packages written against the SDK alone, so core is tested with no real plugin.kinogaki-testkit
depends onused by tests alonedependencies for tests alone are listed below, not drawn

What it is

Core's own SDK package (kinogaki.core): what Studio holds whatever plugins are installed. The standard data types (standard, with instances), the File node (file_node), the Image node (image_node), the Stash node (kinogaki_network::stash, which networks keep values through), the Camera object kind (camera), Instances objects (a file's instances, instances::kind), Render Output, the scene's render outputs (render_output), Material Libraries and Material nodes (material), the stored values the project and its views keep (view_display among them), the components selected on an object (component_selection, a session slot) and the network contexts core declares (Comp and Materials are core contexts, DECISIONS.md): Comp, inside a Render Output object; Shading, inside a Material node; and Materials, inside a Material Library. Comp and Shading are compiled. Comp's plugin brings its node types, compiler and runner, and without it the context exists empty; Shading holds MaterialX's nodes, which core registers (core's material layer is MaterialX 1.39), and the nodes engines bring beside them; core compiles them all.

The host installs it once, as it starts (install), before any plugin's package: every package naming a standard type needs it in core's registry first.

Depends on

CrateRepositoryAsWhat it is
kinogaki-color-serviceCore and the appnormalStudio's color service: the OpenColorIO config (lib-color's built-in ACES 2.0 CG config, or a file), the working space, and the viewer's display, view, look, exposure and gamma.
kinogaki-geometry-viewCore and the appnormalGeometry, curves and B-reps in the viewport, independent of any GPU API: the SDK's standard values as surface packets (over the SDK's display triangulation and shading normals, so Solid draws what Render renders), the one picker that answers rays and boxes ...
kinogaki-mtlxSDKnormalMaterialX 1.39 for Kinogaki Studio: the material layer every engine, format and core share, in our own implementation (MaterialX's C++ library is a reference and a test oracle, never a dependency).
kinogaki-networkCore and the appnormalStudio's core networks (design: core-owned networks; "Cooking DAG for nodes is studio core").
kinogaki-render-apiSDKnormalKinogaki's render interface: what a host (Studio) sends a render engine and what comes back, with no GPU or OS API.
kinogaki-render-geometryCore and the appnormalThe render side of Studio's standard geometry values: what render engines receive for them, whatever kernel made them.
kinogaki-scriptingCore and the appnormalScripts over the standard values: lib-script's engine behind the SDK's ScriptEngine, and what a script sees of each value.
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-studio-api-testingSDKtestsThe SDK's test support (a dev-dependency only): assert_refused for admission tests, read_hostile for a format's tests of hostile files, format for its scratch folders and round trips, workers as a host installs them, with wgpu an ...

Third-party

CrateVersionLicenceFrozen inAsAlso used by
blake31.8.7CC0-1.0 OR Apache-2.0 OR Apache-2.0 WITH LLVM-exceptionlib-ui/vendornormalkinogaki-geometry, kinogaki-geometry-view, kinogaki-network, kinogaki-scene

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 appnormalImagePipeline: what renders become on screen and in files.
kinogaki-networkCore and the apptestsStudio'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 appnormalStudio's scene: the document cooked object by object.
kinogaki-studioCore and the appnormalKinogaki Studio: the editor in a window, after the plugins load.
kinogaki-testkitCore and the appnormalKinogaki Studio's core testkit: toy packages written against the SDK alone, so core is tested with no real plugin.

Modules

Public types and traits

Re-exported from other crates

From kinogaki_studio_api render::SHADING

By module: 26 public types and traits in 13 modules

camera CameraBody

component_selection ComponentSelection

default_engine DefaultEngine

file_node FileNode

image_node ImageNode

instances InstancesDisplayInstancesPickingInstancesType

instances::kind InstancesBody

loops ForEachLoopInput

material MaterialNode

render_output ProcessingRenderOutput

render_output::kind Kind

standard BrepTypeCameraTypeEmbeddedFileTypeGeometryTypeImageTypeLightTypeMaterialsTypeSelectionType

view_display OptionsViewDisplayViewShading

Besides these, 7 public functions at module level.