Frame.material ​

Contract 2.0.0 · package sha256 a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e · generated from configurator-runtime.d.ts by services/onsite-scripter/scripts/build-contract-docs.mjs; edit the source, not this file.

Method of Frame · stable · since 2.0.0

ts
material(material: Material, values: {
  baseColor?: ColorValue;
  emissive?: ColorValue;
  emissiveStrength?: number;
  roughness?: number;
  metallic?: number;
  alpha?: number;
} | null): void;

Values that never need a new shader. Others are skipped and record 'frame-needs-compile', at most once per hook, material and field per 10 s, with the count in message. null releases. Changes every part wearing material; Part.material says which parts share one, and how to give one part its own (a rule on that part).

Default: values: each omitted field keeps its value

Generic-API test (spec 3.1) ​

Rule Result
1. Neutral name pass: material names no product
2. A precedent not recorded: no ledger row (coverage.json) names this member or its owner
3. Two apps, or labs pass: 21 apps (fleet cross-check: app-04c2774145, app-0c773a4ee3, app-378d190f1b, app-4762caacdc, app-4f16d2f6da, app-510d750508, app-59c5b5751e, app-b362a81c85 and 13 more)
4. The cheaper fix first not recorded per member (Appendix B decides it per need)