Now I really, really want to run graphics packs through DFHack only, and avoid all of the incompatibilities and save issues that come with constantly changing the raws...
As I remember, there is a difficulty with unloading old texture before loading a new tileset. Specifically, it's easy to delete entire texture, but then you need to reload creature graphics and that function isn't easily accessible. Of course it's doable, but raw patching isn't the most difficult part. I thought nobody done that mostly for other reasons like compatibility between dfhack/non-dfhack saves - being able to switch tilesets in-game and eliminate saves patching would be very cool.
Ah yes, and you either need to have a plugin that would reload tileset - it's not a problem, but if TWBT is used, then not that plugin but TWBT should do the reload to load its tilesets. Or it can be a TWBT-only feature but that's not very good. So there are things to discuss here.
Now I have a Node.js script to extract tile information from raws and a Lua script to apply it. I'll publish them soon.
Could the backend be used to speak to it from other interfaces too? Including, for example, a website with JavaScript? This would open the gate for a generally more user-friendly interface for Dwarf Fortress, playable in the browser.
Sure.