Here's a fun fact, I found out that most CSS filters are hacks that don't do proper color space conversions that regular image editors do.
For example, css filter: blur(5px). You can see a dark line in the middle where green and red are merged.

Here is the same image with a gaussian filter in GIMP.

The reason behind this is most images are encoded in the sRGB color space. Working directly on pixels without converting sRGB to linear sRGB first results in mistakes like this. A typical editor workflow is:
- Convert your source images from sRGB to linear sRGB
- Run your edits/compositing operations using the linear sRGB colors
- At the very end, convert linear sRGB back to sRGB for display.
I know the hue-rotate filter also has an issue where it is approximating the rotation in sRGB space instead of properly converting to HSV/HSL first, rotating, then converting back to sRGB. It may be beneficial to implement "slow, but correct" versions of these filters.