Ok, so it's hacky but we're getting close to a workaround...
I'm creating a 1x1 pixel texture to populate all the meshes in the 'Meshes' skin. For each skin export I'm deleting all skins except the skin to export and Meshes, then exporting with atlas.
Unfortunately I've got to do that for each skin (will be dozens eventually) but it will work with minimal extra work and memory; and without engineers spending time modifying the runtime!
Ok it's less ideal than I thought...
I often need to modify a mesh I'm using, like a reset kind of modification. But resetting a mesh crunches the mesh down around the 1x1 pixel. Even when I swap back to a correctly sized sprite for the mesh it collapses down to 1x1.
So I can't reset the mesh after using this workaround?
Also getting the occasional crash while trying to edit the mesh.
Ok I found the bit I missed: "If the image was made smaller by trimming, so the image contents are the same size but the image dimensions are now smaller, then the scaled down UVs may not be desirable. Spine currently doesn't have a way to scale the UVs, so the mesh will have to be recreated."
This kinda put me back to where I was. I have to create a big 'blank' sprite for each mesh and export those as part of every skin, effectively adding 50% more texture to the already quickly growing mip-mapped tatlases.
I'll try the ignore = true thing.
Update 4/18:
So I put a pack.json file that was saved from the export settings into my Meshes folder. It has 1 line between the braces "ignore: true". But images in the Meshes folder are still showing up in the texture atlas when I export from Spine. I can only guess the folder settings are being overridden, but that folder has no children folders. Could something else be overriding it?
Also, let's say I have a platformer game with many levels and many enemies. Let's say the enemies are all re-skins and each level introduces a new enemy (new skin). As far as I can tell, I have to either load ALL skins for every single level or export each skin as its own skeleton. Either way there's a bunch or redundant data loaded when playing the game. Is this right?
Thank you very much for your time!