Persistence and generated part data
This page documents how V-SwiFT stores variant-driven override data and replays it into generated part definitions.
What gets stored
Data_PartSwitch.GetStoredVariantInformation() walks the currently active variants and collects only transformers where SavesInformation = true.
The stored structure is keyed by variant-set index and transformer index, and each entry records:
the loader type as an assembly-qualified name
the saved JSON payload
Write path
StoreVariantPartData pulls that data from either:
a live
Module_PartSwitchin OAB, ora
PartComponentModule_PartSwitch/Data_PartSwitchpair
It then writes the result into SerializedPart.PartSwitchOverrides through the V-SwiFT serialized-part extensions.
Read path
LoadVariantPartData.GetVariantPartData(...):
reads the stored overrides from the serialized part
clones the original
PartCoresorts the saved set and transformer keys numerically when possible
recreates the corresponding
IInformationLoaderinstances from the saved type namesapplies those loaders into the cloned
PartCore.data
Variant-name caching
V-SwiFT also derives a current variant string by joining ActiveVariants with +. If that string is present, the generated PartCore is cached under partName + "+" + variantName.
What this means for authors
If a transformer saves information instead of directly mutating the live OAB part, its effect will usually show up through this persistence pipeline rather than through the immediate editor object alone.