Materials
ModelJson.materials.
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { AddMaterialMethod } from "./AddMaterialMethod.js";
import type { Argument } from "./Argument.js";
import type { PropertyNode } from "./PropertyNode.js";
/**
* A `materials[]` entry: the `addMaterial` head plus a `properties` list
* for everything else. Identity is `key`, unique within `materials[]`.
*/
export type MaterialNode = {
/**
* identity — unique in the document's one key namespace, every lane.
*/
key: string,
/**
* intent — editor-chrome display name, printed verbatim.
*/
label?: string,
/**
* intent — the one closed-literal materials-lane head.
*/
method: AddMaterialMethod,
/**
* intent — `baseColor`/`texture`/`tileWidth`/`tileHeight`.
*/
args?: Array<Argument>,
/**
* intent — every other `ResolvedMaterial` field.
*/
properties?: Array<PropertyNode>, };// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
/**
* The one materials-lane head method.
*/
export type AddMaterialMethod = "addMaterial";// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { Argument } from "./Argument.js";
/**
* One entry of a `properties` list — `{ method, args? }`, OPEN at the shape
* tier: which methods are legal in which home is a registry check
* (`crate::validate::registry`), never a schema enum.
*/
export type PropertyNode = {
/**
* intent — the registry-checked property method.
*/
method: string,
/**
* intent — the method's arguments.
*/
args?: Array<Argument>, };// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
/**
* One value + its domain — the shape of every arg (a parameter's value, a
* step arg, a properties arg). `min`/`max` are numeric-only; `options`, when
* present, is the arg's whole domain.
*/
export type Argument = {
/**
* identity — the arg's name, unique among its owning node's `args`.
*/
key: string,
/**
* geometry — an expression string; may be empty (an unselected file
* parameter authors nothing, so this arg's min/max/options do not apply).
*/
input: string,
/**
* intent — expression → number, inclusive lower bound.
*/
min?: string,
/**
* intent — expression → number, inclusive upper bound.
*/
max?: string,
/**
* intent — expression → non-empty array, the arg's whole domain.
*/
options?: string, };Catalog methods
Every engine_catalog node whose context names "materials" — the addMaterial head plus every materials[].properties method, both read from the same array.
18 catalog method(s) whose context names "materials".
addMaterial
Material · step · returns material · context: materials
Default key: material.
Surface appearance record, identified by its node key; PBR factors live on
properties.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
baseColor | color | Surface color, #rrggbb. | ||||
texture | url | Base color map address. | ||||
tileWidth | length | 1000 | 0 | Physical tile width. | ||
tileHeight | length | 1000 | 0 | Physical tile height. |
alphaCutout
Alpha cutout · step · returns number · context: materials
Default key: alphaCutout.
Presence derives alphaMode MASK.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
value | number | 0.5 | 0 | 1 |
ambientOcclusionMap
AO map · step · returns string · context: materials
Default key: ambientOcclusionMap.
Ambient-occlusion map address.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
value | url |
attributes
Attributes · step · returns object · context: properties, materials, layers, patterns
Default key: attributes.
Free-form domain bag.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
value | object | function | {} |
clearcoat
Clearcoat · step · returns number · context: materials
Default key: clearcoat.
Varnish/gloss paint.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
amount | number | 0 | 1 | |||
roughness | number | 0 | 1 |
colorFactor
Color factor · step · returns number · context: materials
Default key: colorFactor.
How far baseColor tints the texture, 0..1.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
value | number | 1 | 0 | 1 |
cutPattern
Cut pattern · step · returns string · context: materials
Default key: cutPattern.
patterns[] record key drawn where a section cuts this material.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
value | string |
displacement
Displacement · step · returns string · context: materials
Default key: displacement.
Height map + amplitude, tessellated geometry only.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
url | url | |||||
scale | length | 1 |
doubleSided
Double sided · step · returns binary · context: materials
Default key: doubleSided.
Render both faces of a surface.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
value | binary | 0 |
emissive
Emissive · step · returns color · context: materials
Default key: emissive.
Self-lit color + strength + map.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
color | color | |||||
intensity | number | 1 | 0 | |||
map | url |
metallic
Metallic · step · returns number · context: materials
Default key: metallic.
Metalness, 0..1.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
value | number | 0 | 0 | 1 |
metallicMap
Metallic map · step · returns string · context: materials
Default key: metallicMap.
Metallic map address.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
value | url |
normalMap
Normal map · step · returns string · context: materials
Default key: normalMap.
Normal map address.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
value | url |
opacity
Opacity · step · returns number · context: materials
Default key: opacity.
Surface opacity, 0..1.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
value | number | 1 | 0 | 1 |
roughness
Roughness · step · returns number · context: materials
Default key: roughness.
Microfacet roughness, 0..1.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
value | number | 1 | 0 | 1 |
roughnessMap
Roughness map · step · returns string · context: materials
Default key: roughnessMap.
Roughness map address.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
value | url |
sheen
Sheen · step · returns color · context: materials
Default key: sheen.
Fabric/upholstery sheen.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
color | color | |||||
roughness | number | 0 | 1 |
transmission
Transmission · step · returns number · context: materials
Default key: transmission.
Glass walls (KHR_materials_transmission).
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
amount | number | 0 | 1 | |||
ior | number | 1.5 | 1 | |||
thickness | length | |||||
attenuationColor | color | |||||
attenuationDistance | length |