Skip to content
ParaShape

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.

keytypedefaultminmaxoptionstooltip
baseColorcolorSurface color, #rrggbb.
textureurlBase color map address.
tileWidthlength10000Physical tile width.
tileHeightlength10000Physical tile height.

alphaCutout

Alpha cutout · step · returns number · context: materials

Default key: alphaCutout.

Presence derives alphaMode MASK.

keytypedefaultminmaxoptionstooltip
valuenumber0.501

ambientOcclusionMap

AO map · step · returns string · context: materials

Default key: ambientOcclusionMap.

Ambient-occlusion map address.

keytypedefaultminmaxoptionstooltip
valueurl

attributes

Attributes · step · returns object · context: properties, materials, layers, patterns

Default key: attributes.

Free-form domain bag.

keytypedefaultminmaxoptionstooltip
valueobject | function{}

clearcoat

Clearcoat · step · returns number · context: materials

Default key: clearcoat.

Varnish/gloss paint.

keytypedefaultminmaxoptionstooltip
amountnumber01
roughnessnumber01

colorFactor

Color factor · step · returns number · context: materials

Default key: colorFactor.

How far baseColor tints the texture, 0..1.

keytypedefaultminmaxoptionstooltip
valuenumber101

cutPattern

Cut pattern · step · returns string · context: materials

Default key: cutPattern.

patterns[] record key drawn where a section cuts this material.

keytypedefaultminmaxoptionstooltip
valuestring

displacement

Displacement · step · returns string · context: materials

Default key: displacement.

Height map + amplitude, tessellated geometry only.

keytypedefaultminmaxoptionstooltip
urlurl
scalelength1

doubleSided

Double sided · step · returns binary · context: materials

Default key: doubleSided.

Render both faces of a surface.

keytypedefaultminmaxoptionstooltip
valuebinary0

emissive

Emissive · step · returns color · context: materials

Default key: emissive.

Self-lit color + strength + map.

keytypedefaultminmaxoptionstooltip
colorcolor
intensitynumber10
mapurl

metallic

Metallic · step · returns number · context: materials

Default key: metallic.

Metalness, 0..1.

keytypedefaultminmaxoptionstooltip
valuenumber001

metallicMap

Metallic map · step · returns string · context: materials

Default key: metallicMap.

Metallic map address.

keytypedefaultminmaxoptionstooltip
valueurl

normalMap

Normal map · step · returns string · context: materials

Default key: normalMap.

Normal map address.

keytypedefaultminmaxoptionstooltip
valueurl

opacity

Opacity · step · returns number · context: materials

Default key: opacity.

Surface opacity, 0..1.

keytypedefaultminmaxoptionstooltip
valuenumber101

roughness

Roughness · step · returns number · context: materials

Default key: roughness.

Microfacet roughness, 0..1.

keytypedefaultminmaxoptionstooltip
valuenumber101

roughnessMap

Roughness map · step · returns string · context: materials

Default key: roughnessMap.

Roughness map address.

keytypedefaultminmaxoptionstooltip
valueurl

sheen

Sheen · step · returns color · context: materials

Default key: sheen.

Fabric/upholstery sheen.

keytypedefaultminmaxoptionstooltip
colorcolor
roughnessnumber01

transmission

Transmission · step · returns number · context: materials

Default key: transmission.

Glass walls (KHR_materials_transmission).

keytypedefaultminmaxoptionstooltip
amountnumber01
iornumber1.51
thicknesslength
attenuationColorcolor
attenuationDistancelength
📖 4 min read