Blends two colours in sRGB with a straight alpha, which is what the
compositing model expects.
Why this is not v1's signature
v1 takes two strings and parses them here, because a browser handed it a
parser for free. This package has no colour parser and deliberately so:
one parser serves both surfaces and it lives in meo-canvas-core, so the
string boundary belongs at a parseColor rather than inside every function
that touches a colour. A limitation of v1's environment produced its
signature; a decision of ours produces this one.
Why t is not clamped
v1 clamps it. We drop that, because CSS interpolates colour through an
overshooting curve and clamps where the colour becomes paint — so an
outBack driving a colour should be allowed to overshoot here and be
resolved later, exactly as it is for a number. formatColor is where an
out-of-gamut result stops being silent.
Both arguments are checked, because a v9 call passes strings to both and
naming only the first would send the reader back for the second.
Blends two colours in sRGB with a straight alpha, which is what the compositing model expects.
Why this is not v1's signature
v1 takes two strings and parses them here, because a browser handed it a parser for free. This package has no colour parser and deliberately so: one parser serves both surfaces and it lives in
meo-canvas-core, so the string boundary belongs at aparseColorrather than inside every function that touches a colour. A limitation of v1's environment produced its signature; a decision of ours produces this one.Why
tis not clampedv1 clamps it. We drop that, because CSS interpolates colour through an overshooting curve and clamps where the colour becomes paint — so an
outBackdriving a colour should be allowed to overshoot here and be resolved later, exactly as it is for a number.formatColoris where an out-of-gamut result stops being silent.Both arguments are checked, because a v9 call passes strings to both and naming only the first would send the reader back for the second.