This isn't possible - Android's APIs only allow painting on top of the screen, not modifying what's already there. This is why all the non-root solutions are just a red overlay.
It doesn't pass #2 - the black areas of the screen are visibly red.
Every application that I've tried so far does this, which leads me to believe that it is an inherent limitation in stock Android APIs (which also explains why apps that require root can work around that limitation).
1. Doesn't require root.
2. Actually filters blue out, instead of adding red (i.e. a pure black screen should remain pure black).
The built-in feature in Nougat previews was great, until they removed it...