ImageCombineType behavior doesn't match documentation

While working with blend modes, I got a lot of unexpected results, and after testing them in a separate Place I noticed a lot of them don’t match the intended behavior their documentation describes:


Test case colors:
Target - R:64 G:128 B:255 A:128
Source - R:255 G:128 B:64 A:128

Enum.ImageCombineType.BlendSourceOver

What it should look like with “normal” blending…

Seems to be correct! Mostly, the center’s hue looks slightly off.

Enum.ImageCombineType.Add

What it should look like if source and target RGBA channels each are added together…

Incorrect… Source image is lower influence for some reason?

Enum.ImageCombineType.Multiply

What it should look like if RGBA channels are multiplied together, assuming 0-255 → 0-1 scaling…

Not really close. Why is the blue still there if its alpha should be multiplied with 0?

Enum.ImageCombineType.Subtract

What it should look like if source RGBA channels each are subtracted from target’s…

Correct, but unsure about the center RGB channels due to the unreliable behavior of the other ImageCombineTypes.

Expected behavior

All ImageCombineTypes should behave like the documentation describes, or the documentation should be rewritten to clarify the actual behavior of the ImageCombineTypes. For example, with Add and Multiply and Subtract, all RGBA channels should have the operation applied uniformly.