I've come to the crushing realization that I should have been making demo files a long time ago. Or at least in the last week, when I was taking screenies of eery single alt and costume change. If I had done that, I would have a demo record of each alt and each costume change. Instead, I have .costume files,which are incompatible with .cohdemo files.
They're mostly compatible. It's actually really easy to go from .costume -> .cohdemo, but significantly harder to go the other way.
A costume in City of Heroes/Villains consists of a body type, a skin color, a set of scales for the sliders, and a list of costume parts. The order of the list is important, as it defines which piece attaches where on the player skeleton.
Both .cohdemo files and Sentinel+ exports include for each costume part: Geo (i.e. model), Texture1, Texture2, Color1, Color2, FX, FXColor1, FXColor2. Those two formats are trivial to convert to each other.
.costume files include all of the above, but also include the region and the boneset (i.e. category) of each part. That information is not necessary to
display the costume, which is why demorecords don't include it, but is necessary to
edit the costume using the tailor. Otherwise it doesn't know what category the part came from as they often show up in multiple places.
I'm working on some heuristics in order to convert Sentinel+ files to .costume files. The same thing should work to get .costume files from demorecords. However the algorithm for this requires a full set of piggs because it needs to read costumes.bin in order to get the list of costume parts. As a bonus, it should in theory also be able to fix old costumes that uses things like the head pieces that were moved from one category to another, but without resetting them like the tailor does.