A huge int no longer escapes the named refusal (math.isfinite raised OverflowError);
color() and color_rgba() share unit_component(). Tests accept 0 and 1 exactly and
refuse 1.0000001, -1e-9 and 10**400; "color": null is documented as absent.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
color sets Principled Base Color and diffuse_color; a bad color fails naming the field before
anything is created. A second assign of the same material to an object adds no slot.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>