At this point I took a few steps back and reconsidered what I was doing. I realized I shouldn't be saving #bevy Components for a map editor. This is a generic editor for the moment so I can learn things. The output should be a fixed format, not whatever trash I happen to have in my components at the time (there's a lot; you'll see).
So I took another approach:
Take the entities in the world and construct an intermediate Map representation, and serialize that.