I would usually do that directly in engine. Most rogueliky engines are specifically designed to do glyph based recoloring. That generally assumes just a foreground and background color but can be workable with more than that, or forms of gradient based color sets.
Remapping 2-bit gameboy style assets to other colors is fairly easy.
And I have done that too.
Maybe the white or neutral color based approach would be better if it works well. As then you could possibly try tinting it? (Although in my experience tint based color swaps tend to look a lot worse than an indexing based approach.)
Although tinting a gradient/greyscale piece can work fairly well.
You can swap colors using indexing decently easy. (Or if you want to get fancy you can use something like a posturize filter.)
that makes sense.
This is such a cool idea.
If you can remap colors, then to an extent the programming logic, and art time can be spent making a larger variety of textures, rather than say repainting the same shape in a bunch of different tones.
Part of me wonders how feasible it would be to use something like this in a procedurally generated level. Or if it would basically mandate hand-done ones?
Regardless the tile placement really would need to work in at least 3-5 layers. Unless you want it to explode outwards in terms of predifined files. As most spaces are going to have at least 2 blocks of colors. and then possibly a line and a pattern on top. (Or multiple.)
And if you want things to feel connected then you need to have that encoded somewhere. Almost seems like it's full potential might require something like waveform collapse