lib-color · crate

kinogaki-color

Libraryenvironment

Color science and color management for Kinogaki.

Repository
lib-color (kinogaki/lib-color)
Folder
libs/lib-color/crates/color
Source
31 files, 10,328 lines
Tests
4 files, 522 lines

Also 2 shader or C files, 219 lines.

depends onused by tests alonedependencies for tests alone are listed below, not drawn

What it is

Color science and color management for Kinogaki.

  • matrix, xyz: 3×3 matrices, CIE XYZ, chromaticities, primaries (sRGB, Display P3, Adobe RGB, Rec. 2020, ACES AP0/AP1, ProPhoto) and their derived matrices, Bradford adaptation.
  • transfer: sRGB, gamma, PQ and HLG curves.
  • lab, oklab, hsl: CIELAB with CIEDE2000, Oklab with its sRGB gamut, HSV and HSL for pickers.
  • temperature: correlated color temperature and tint.
  • spectral: the CIE 1931 observer, blackbodies, CIE daylight and the spectral upsampling of colors.
  • aces: the ACES 2.0 Output Transform and its inverse.
  • ocio: OpenColorIO v2 configs, our own reader and processors (CPU and WGSL), with the ACES 2.0 CG config built in.

No dependencies, no unsafe code.

Depends on

None.

Third-party

None.

Used by

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-color-wgpulib-colornormalkinogaki-color's processors on a wgpu device.
kinogaki-compositlib-compositnormalComp's device-free half: each operator's parameters and maths, tone curves, and the plan a host compiles a network to.
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-sceneCore and the apptestsStudio's scene: the document cooked object by object.
kinogaki-spectralib-rendernormalSpectral data and the color science hosts and engines share.
kinogaki-spectreSpectrenormalSpectre, the spectral path tracer, as a Kinogaki Studio render plugin.
kinogaki-workflowsWorkflowstestsTests alone: tests/workflows drives what a person does across the plugins the app ships, through the real editor offscreen.

Modules

Public types and traits

At the crate root

Structs Matrix3

Type aliases Rgb

By module: 52 public types and traits in 24 modules

aces InvalidPeakOutputTransform

aces::cam Cam

aces::gamut GamutHueGamut

aces::tables Corners

aces::tonescale ChromaTones

hsl HslHsv

icc CurveProfile

lab LabLCh

matrix Matrix3Rgb

ocio Error

ocio::config ColorSpaceConfigDisplayFileRuleLookNamedTransformReferenceRuleKindViewViewEntryViewingRuleViewTransform

ocio::curves Curve

ocio::lut InterpolationLut1DLut3D

ocio::ops CdlDynamicLogParamsNegativesOp

ocio::processor Processor

ocio::regex Regex

ocio::transform DirectionTransform

ocio::wgsl Shader

ocio::xml Element

ocio::yaml NodeValueYamlError

oklab Oklab

spectral SigmoidFit

transfer Transfer

xyz ChromaticityPrimaries

Besides these, 79 public functions at module level.