Nice. Thanks. Another tip from my utilities is to use a small square texture Sprite. Create a helper factor to ::create, ->setTextureRect(winRect), and choose default anchor/position (either center,center or bottom_left, bottom_left, and return where the user can then just use ->setColor(..) on it (or obviously you could pass in color to factor createFullScreenColorLayerAsSprite(..., color) or whatever).
The purpose here is that you can then batch along with all your other sprites. Not sure if it saves anything (perf, etc), but my reasoning was to simplify the API since LayerColor is kinda an oddball.
I think structs like Color3B etc are very good and we shouldn’t change them. We can add simple layer obove them because 0xff00ff00 don’t have information about is it ARGB or RGBA etc.