Core and the app · crate
kinogaki-color-service
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.
- Repository
- Core and the app (kinogaki/studio-core)
- Folder
studio/core/color- Source
- 2 files, 991 lines
- Tests
- 1 file, 40 lines
What it is
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. All color science is lib-color's; this picks its processors.
- Renders arrive in ACEScg and are drawn through the viewer: ACEScg to the working space, the viewer's exposure, the display and view, the viewer's gamma (
ColorManagement::render_display, on the GPU). - Final renders are written in the working space, tagged with it (
ColorManagement::exr_output), or as display code values through their Render Output's color management, the project's target display and its view unless it says otherwise, as the 2D canvas shows them (ColorManagement::picture_output). A page composes those code values (ColorManagement::entering). - An emitter's color (a light's swatch) is a spectrum's at luminance 1 in the working space: a blackbody's or a published illuminant's (
ColorManagement::blackbody,ColorManagement::illuminant). - Packages convert colors through it as the SDK's
ColorService: between any of the config's spaces by name or alias, and to and from the working space. Core lends one service to formats, cooks, runners and the render. What only core asks (a file's space by the config's rules, a display profile's display, a display's views) is this type's own (ColorManagement::file_spaceand the rest).
Depends on
| Crate | Repository | As | What it is |
|---|---|---|---|
kinogaki-color | lib-color | normal | Color science and color management for Kinogaki. |
kinogaki-render-api | SDK | normal | Kinogaki's render interface: what a host (Studio) sends a render engine and what comes back, with no GPU or OS API. |
kinogaki-studio-api | SDK | normal | Kinogaki Studio's headless plugin API. |
For its tests alone
| Crate | Repository | As | What it is |
|---|---|---|---|
kinogaki-spectra | lib-render | tests | Spectral data and the color science hosts and engines share. |
Third-party
None.
Used by
| Crate | Repository | As | What it is |
|---|---|---|---|
kinogaki-core-package | Core and the app | normal | Core's own SDK package (kinogaki.core): what Studio holds whatever plugins are installed. |
kinogaki-document | Core and the app | normal | 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-editor | Core and the app | normal | Kinogaki Studio's editor: the document and everything the window shows of it, as parts one frame borrows one by one. |
kinogaki-image-pipeline | Core and the app | normal | ImagePipeline: what renders become on screen and in files. |
kinogaki-network | Core and the app | normal | Studio's core networks (design: core-owned networks; "Cooking DAG for nodes is studio core"). |
kinogaki-scene | Core and the app | normal | Studio's scene: the document cooked object by object. |
kinogaki-testkit | Core and the app | normal | Kinogaki Studio's core testkit: toy packages written against the SDK alone, so core is tested with no real plugin. |
Modules
picture(private)What pictures reach a display through: the project's output, a Render Output's color management over it, and how a render's pixels enter a page composing for another display.281 lines
Public types and traits
At the crate root
Structs ColorManagementColorSettingsPictureOutputProjectColorsRenderColor
Enums Background
By module: 3 public types and traits in 1 module
picture BackgroundPictureOutputRenderColor
Besides these, 1 public function at module level.
