If you use the fill tool on the colorize mask, the fill tool changes the pixels of the colorize mask result and not it's 'stroke' pixels like all the other paint tools do. steps to reproduce: 1. Have an image ready for colorisation. 2. Draw a few strokes, and run the colorize mask. 3. Now, switch to the fill tool, and try to fill an area with the fill tool. NOTE: The prefiltering will affect what the fill tool can fill. 4. Go back to the colorize mask and notice that 1) the update button is greyed out, 2) turning off "show output" will hide the result of the fill tool made in step 3. Conclusion: The fill tool is working on the wrong set of pixels.
I hypothesize that this may have something to do with this "key strokes" thing. I see hints to the fill tool not fitting into that model. I think it's not working strictly on pixels but something more vector-like, because if you remove a color from the keystrokes palette, in the case where you have overlapping keystrokes of different colors (one being the color you remove), you will see that the original keystroke is undamaged by the overlap. If you have an empty keystokes palette and use the fill tool, no color shows up in the palette, whereas the layer does get colored (might just be that there's no hook on using the tool? I don't know how it works.). If you apply the colorizing, there is no longer any coloring. However, if you convert the colorize mask to a paint layer, you will see that it is in fact filled. So I guess keystokes are just something "above" an underlying pixel layer. Seems like the pixel layer model is interacting badly with however this works? (or vice-versa). I'm not on phabricator (yet) so I can't add my uninformed thoughts to the relevant thread. Maybe this should be merged into "vector stuff", or have other tools be blacklisted on it, though that would probably be rather inconvenient.
At some point I have disabled painting on colorize masks without indirect painting mode. Therefore Fill Tool doesn't work on colorize mask at all now :)