# Overview

V-SwiFT is a part-variant framework for KSP2 Redux. In this workspace it is integrated as a standalone module under `Ksp2Redux/Assets/Modules/V-SwiFT`, with both runtime code and Patch Manager-facing authoring hooks.

## What V-SwiFT solves

* switching between multiple part variants without duplicating whole part definitions
* turning meshes or features on and off per variant
* modifying selected part data, resources, attach nodes, and engine modes
* showing variant-specific information in OAB UI, including dropdown and popout workflows
* preserving variant-driven overrides into generated part data when needed

## Main building blocks

* `Data_PartSwitch`: stores the authored variant data on a part
* `VariantSet`: groups related choices such as tank length, fairing layout, or engine mode package
* `Variant`: one concrete option inside a set
* transformers: small classes that actually apply changes to the part or generate saved overrides

## Dependencies

The shipped `swinfo.json` declares V-SwiFT as depending on:

* `patchmanager`
* `SpaceWarp`

At runtime the plugin also registers a raw Patch Manager library named `VSwift` that exposes the shipped mixins used in the authoring examples in this subtree.

## How to read this reference

* Start with `Getting started` if you want to author a part.
* Use `Authoring model` to understand the data shape.
* Use `Transformer reference` when choosing which changes to apply per variant.
* Use `Patch Manager integration` and `Runtime behavior` when you need to understand how the authoring surface maps to live behavior.