Wow, amazing, thanks so much everyone! This is a real treasure trove

So putting everything together, here's what I'm thinking I'll do:
Keep layer opacity as an option, just like in RGBA mode. If you choose to export the document and you have layers with semi-transparency, then you'll just get an image with more colours than you have in your palette — I don't think I need to tell the user that they've done this, I think it should be pretty obvious.
If you select to merge a layer at 100% or 0% opacity, it will just merge down (the latter will just delete the layer).
If you select to merge a layer with any other opacity, you'll be presented with some sort of dialogue asking if you'd like to add the colours to the palette or quantise to existing colours.
Onion skinning will be available if you have more than one frame of animation.
Which leads me on to a few more questions:
- Does anyone have any thoughts on how the colour quantisation algorithm should work? My first thought was maybe to calculate the difference in hue, saturation, and brightness for each colour in the palette and the target colour, then take the palette colour with the smallest ΔH + ΔS + ΔB?
- I'm planning to allow the user to be able to import a palette from a list of palettes. If the current document palette has more colours than the imported palette, I thought it would be best to append the extra colours. So if you were working with a palette that was [#9CBD0F, #8CAD0F, #306230] and you import [#CC0000, #00CC00], you'd end up with [#CC0000, #00CC00, #306230]. I guess I could quantise, but it seems like it would be more annoying to lose colour distinctions in the document without being very explicit about doing so. I'm planning some sort of interactive colour merge feature too, so you could just merge the new colours if you didn't want them. What do you think?
- With regards to onion skinning, what options would you want to see there? My current plan is that I'll show the frame in front and the frame behind (which will loop if you're on the first or last frame), and have a single opacity option that will change the opacity of both frame previews. I know there's lots more I could do, but would this cover what most people would be happy with?
Thanks again!