openrv-web / ColorAPI
Class: ColorAPI
Defined in: api/ColorAPI.ts:89
Extends
DisposableAPI
Constructors
Constructor
new ColorAPI(
colorControls,cdlControl,curvesControl,lutProvider?,toneMappingProvider?,displayProvider?,displayCapabilitiesProvider?,ocioProvider?,lutPipelineProvider?):ColorAPI
Defined in: api/ColorAPI.ts:113
Parameters
colorControls
cdlControl
curvesControl
lutProvider?
toneMappingProvider?
ToneMappingProvider
displayProvider?
DisplayProvider
displayCapabilitiesProvider?
DisplayCapabilitiesProvider
ocioProvider?
OCIOProvider
lutPipelineProvider?
Returns
ColorAPI
Overrides
DisposableAPI.constructor
Methods
applyLUTPreset()
applyLUTPreset(
name):void
Defined in: api/ColorAPI.ts:527
Apply a built-in LUT preset by name.
Parameters
name
string
Preset identifier (e.g. 'warm-film', 'bleach-bypass', 'identity').
Returns
void
Throws
If the preset name is not recognized.
Example
openrv.color.applyLUTPreset('warm-film');clearLUT()
clearLUT():
void
Defined in: api/ColorAPI.ts:510
Clear the currently active LUT.
Returns
void
Example
openrv.color.clearLUT();dispose()
dispose():
void
Defined in: api/Disposable.ts:19
Mark this sub-API as disposed. After this call, assertNotDisposed() will throw on every subsequent invocation.
Returns
void
Inherited from
DisposableAPI.dispose
exportCurvesJSON()
exportCurvesJSON():
string
Defined in: api/ColorAPI.ts:420
Export current curves as a JSON string.
Returns
string
A JSON string representation of the current curves data.
Example
const json = openrv.color.exportCurvesJSON();
localStorage.setItem('myCurves', json);getAdjustments()
getAdjustments():
PublicColorAdjustments
Defined in: api/ColorAPI.ts:201
Get current color adjustments.
Returns
A snapshot of all current color adjustment values.
Example
const adj = openrv.color.getAdjustments();
console.log(adj.exposure, adj.gamma);getAvailableConfigs()
getAvailableConfigs():
object[]
Defined in: api/ColorAPI.ts:931
Get the list of available OCIO configurations (both built-in and custom).
This is a static query that does not require an OCIO provider.
Returns
object[]
An array of configuration descriptors with name and description.
Example
const configs = openrv.color.getAvailableConfigs();
configs.forEach(c => console.log(c.name, c.description));getCDL()
getCDL():
CDLValues
Defined in: api/ColorAPI.ts:310
Get current CDL values (returns a defensive copy).
Returns
CDLValues
A deep copy of the current CDL slope, offset, power, and saturation values.
Example
const cdl = openrv.color.getCDL();
console.log(cdl.slope.r, cdl.offset.g, cdl.saturation);getCurves()
getCurves():
PublicColorCurvesData
Defined in: api/ColorAPI.ts:364
Get current curves.
Returns a defensive deep copy of master/red/green/blue channels.
Returns
getDisplayCapabilities()
getDisplayCapabilities():
DisplayCapabilities
Defined in: api/ColorAPI.ts:855
Get the probed display capabilities.
Returns
DisplayCapabilities
A snapshot of the display capability detection results.
Example
const caps = openrv.color.getDisplayCapabilities();
console.log(caps.displayGamut, caps.displayHDR);getDisplayProfile()
getDisplayProfile():
DisplayColorState
Defined in: api/ColorAPI.ts:834
Get the current display color profile.
Returns
DisplayColorState
A snapshot of the current display color state.
getLUTStageColorPrimaries()
getLUTStageColorPrimaries(
stage):ColorPrimaries|null
Defined in: api/ColorAPI.ts:633
Read the declared output color primaries for a LUT pipeline stage.
Parameters
stage
One of 'precache', 'file', 'look', 'display'.
Returns
ColorPrimaries | null
null if the stage is color-space-preserving, otherwise the declared value.
Throws
If no LUT pipeline provider is configured.
Throws
On invalid stage.
Example
const primaries = openrv.color.getLUTStageColorPrimaries('file');getLUTStageTransferFunction()
getLUTStageTransferFunction(
stage):TransferFunction|null
Defined in: api/ColorAPI.ts:690
Read the declared output transfer function for a LUT pipeline stage.
Parameters
stage
One of 'precache', 'file', 'look', 'display'.
Returns
TransferFunction | null
null if the stage is transfer-preserving, otherwise the declared value.
Throws
If no LUT pipeline provider is configured.
Throws
On invalid stage.
getOCIOState()
getOCIOState():
OCIOState
Defined in: api/ColorAPI.ts:912
Get current OCIO pipeline state.
Returns
OCIOState
A snapshot of the current OCIO configuration.
Example
const state = openrv.color.getOCIOState();
console.log(state.configName, state.inputColorSpace);getToneMapping()
getToneMapping():
ToneMappingState
Defined in: api/ColorAPI.ts:782
Get the current tone mapping state.
Returns
ToneMappingState
A snapshot of the current tone mapping configuration.
Example
const tm = openrv.color.getToneMapping();
console.log(tm.operator, tm.enabled);importCurvesJSON()
importCurvesJSON(
json):void
Defined in: api/ColorAPI.ts:440
Import curves from a JSON string.
The JSON must contain valid master, red, green, and blue channel data.
Parameters
json
string
A JSON string previously obtained from exportCurvesJSON().
Returns
void
Throws
If the JSON string is not valid or does not contain valid curves data.
Example
const json = localStorage.getItem('myCurves');
if (json) openrv.color.importCurvesJSON(json);loadLUT()
loadLUT(
lut):void
Defined in: api/ColorAPI.ts:476
Load a LUT (Look-Up Table) directly from a parsed LUT object.
Parameters
lut
A parsed LUT object (1D or 3D). Pass null to clear.
LUT | null
Returns
void
Example
openrv.color.loadLUT(parsedLut);reset()
reset():
void
Defined in: api/ColorAPI.ts:228
Reset all color adjustments to their default values.
Returns
void
Example
openrv.color.reset();resetCDL()
resetCDL():
void
Defined in: api/ColorAPI.ts:395
Reset CDL values to their defaults (slope 1.0, offset 0.0, power 1.0, saturation 1.0).
Returns
void
Example
openrv.color.resetCDL();resetCurves()
resetCurves():
void
Defined in: api/ColorAPI.ts:378
Reset all curves to the default identity state.
Returns
void
setAdjustments()
setAdjustments(
adjustments):void
Defined in: api/ColorAPI.ts:152
Set color adjustments (partial update - merges with current values).
Only the provided keys are updated; the rest retain their current values.
Parameters
adjustments
Partial<PublicColorAdjustments>
An object with one or more color adjustment fields to update. Valid keys: exposure, gamma, saturation, contrast, hueRotation, temperature, tint, brightness, highlights, shadows, whites, blacks.
Returns
void
Throws
If adjustments is not a plain object, or if any provided numeric field is not a finite number.
Example
openrv.color.setAdjustments({ exposure: 1.5, saturation: 0.8 });setCDL()
setCDL(
cdl):void
Defined in: api/ColorAPI.ts:268
Set CDL (Color Decision List) values (partial update - merges with current values).
Each of slope, offset, and power must be an object with numeric r, g, b fields. saturation must be a number. Only provided keys are updated.
Parameters
cdl
Partial<CDLValues>
An object with one or more CDL fields: slope, offset, power, saturation.
Returns
void
Throws
If cdl is not a plain object, or if slope/offset/power do not have numeric r, g, b fields, or if saturation is not a number.
Example
openrv.color.setCDL({ slope: { r: 1.1, g: 1.0, b: 0.9 }, saturation: 1.2 });setCurves()
setCurves(
curves):void
Defined in: api/ColorAPI.ts:335
Set color curves with support for per-channel partial updates.
Any subset of channels can be provided. Within each channel update, enabled and/or points may be provided.
Parameters
curves
Returns
void
Example
openrv.color.setCurves({
red: { points: [{ x: 0, y: 0.05 }, { x: 1, y: 0.95 }] },
blue: { enabled: false }
});setDisplayProfile()
setDisplayProfile(
profile):void
Defined in: api/ColorAPI.ts:818
Set the display color profile.
Parameters
profile
Partial<DisplayColorState>
Display color state including transfer function, gamma, brightness.
Returns
void
Throws
If profile is not a plain object.
Example
openrv.color.setDisplayProfile({
transferFunction: 'rec709',
displayGamma: 1.0,
displayBrightness: 1.0,
customGamma: 2.2,
});setLUTIntensity()
setLUTIntensity(
value):void
Defined in: api/ColorAPI.ts:493
Set the LUT blending intensity (0 = bypass, 1 = full effect).
Parameters
value
number
Intensity in [0, 1].
Returns
void
Throws
If value is not a finite number.
Example
openrv.color.setLUTIntensity(0.75);setLUTStageColorPrimaries()
setLUTStageColorPrimaries(
stage,primaries):void
Defined in: api/ColorAPI.ts:601
Declare the output color primaries for a LUT pipeline stage.
Pass null to mark the stage as color-space-preserving (the default). Pass a concrete value ('bt709', 'bt2020', 'p3') when the LUT is known to convert into that primary set; the per-stage cascade in Viewer.applyLUTMetadataCascade layers this on top of the input image metadata so downstream stages and the renderer interpret pixels correctly.
The string 'auto' is not accepted — pass null instead. This matches the underlying pipeline's null-sentinel contract.
Parameters
stage
One of 'precache', 'file', 'look', 'display'.
primaries
null (color-space-preserving) or a concrete primaries value.
ColorPrimaries | null
Returns
void
Throws
If no LUT pipeline provider is configured.
Throws
On invalid stage / primaries values.
Example
openrv.color.setLUTStageColorPrimaries('file', 'bt709');
openrv.color.setLUTStageColorPrimaries('file', null); // clearsetLUTStageTransferFunction()
setLUTStageTransferFunction(
stage,transfer):void
Defined in: api/ColorAPI.ts:661
Declare the output transfer function for a LUT pipeline stage.
Pass null to mark the stage as transfer-preserving (the default). Pass a concrete value ('srgb', 'hlg', 'pq', 'smpte240m', 'linear') when the LUT bakes in an EOTF/OETF transformation so the downstream renderer can pick the correct shader path.
The string 'auto' is not accepted — pass null instead.
Parameters
stage
One of 'precache', 'file', 'look', 'display'.
transfer
null (transfer-preserving) or a concrete transfer value.
TransferFunction | null
Returns
void
Throws
If no LUT pipeline provider is configured.
Throws
On invalid stage / transfer values.
Example
openrv.color.setLUTStageTransferFunction('look', 'linear');
openrv.color.setLUTStageTransferFunction('look', null); // clearsetOCIOState()
setOCIOState(
state):void
Defined in: api/ColorAPI.ts:892
Set OCIO pipeline state (partial update - merges with current values).
Parameters
state
Partial<OCIOState>
Partial OCIO state to merge.
Returns
void
Throws
If state is not a plain object.
Example
openrv.color.setOCIOState({
enabled: true,
configName: 'aces_1.2',
inputColorSpace: 'ARRI LogC3 (EI 800)',
});setToneMapping()
setToneMapping(
options):void
Defined in: api/ColorAPI.ts:723
Set tone mapping options.
Parameters
options
Partial<ToneMappingState>
Partial tone mapping state. At minimum, provide enabled and/or operator.
Returns
void
Throws
If options is not a plain object or contains invalid values.
Example
openrv.color.setToneMapping({ operator: 'aces', enabled: true });
openrv.color.setToneMapping({ enabled: false });