# Authoring model

This section documents the core V-SwiFT data model that authors patch against.

## Data hierarchy

A V-SwiFT-authored part switch is built in layers:

* `Data_PartSwitch`
  * owns the full switch definition for a part
* `VariantSet`
  * groups one family of choices
* `Variant`
  * represents one selectable option in that set
* transformers
  * apply the actual changes or generate saved override data

## Practical mental model

Think of `Data_PartSwitch` as the container, `VariantSet` as a category, and `Variant` as a choice inside that category. The transformer list on a variant is where the real behavior lives.

## Special authored collections

`Data_PartSwitch` also carries `PredefinedDynamicNodes`, which gives you a way to define attach-node data that exists independently of any one variant transformer.

## Related topics

[Transformer reference](/doc/d173a47e-7e6c-44e8-a552-6008184a3521) 

[Patch Manager integration](/doc/d214157c-8d79-454f-a882-53c454b88b2e) 

[Runtime behavior](/doc/696762a6-bcba-4365-9ad0-edd9916a55a8)

---

**Documents**

- [PredefinedDynamicNodes](https://docs.ksp2redux.org/s/0a4a3e31-0b40-48e0-bd81-e14856f80d3d/doc/predefineddynamicnodes-9KcDQUkRcs)
- [Variant](https://docs.ksp2redux.org/s/0a4a3e31-0b40-48e0-bd81-e14856f80d3d/doc/variant-VmOysJbpFH)
- [VariantSet](https://docs.ksp2redux.org/s/0a4a3e31-0b40-48e0-bd81-e14856f80d3d/doc/variantset-eIg4tMZA3X)
- [Data_PartSwitch](https://docs.ksp2redux.org/s/0a4a3e31-0b40-48e0-bd81-e14856f80d3d/doc/data_partswitch-0Je7Uqy0Oj)