# V2 Vehicle Framework

§97 is implemented as a data-first framework in `V2Vehicles`. Designers author
one canonical vehicle row in `V2/balance/vehicles/<vehicle>.csv`; the row maps
to `UDA_Vehicle`, `UDA_VehicleTune`, `UDA_VehicleCustomization`, and
`UDA_VehicleDamage`, then the Unreal validation layer rejects incomplete data.

## Data Assets

`UDA_Vehicle` owns identity, class, manufacturer, model year, chassis archetype,
stock engine, drivetrain, tire, mass, collision, aero, suspension, damage, stock
performance, default loadout, livery options, lore, and rights metadata.

`UDA_VehicleTune` owns engine swap, ECU map, gear-ratio overrides, final-drive
offset, ride height, camber, toe, brake bias, differential lock, weight
distribution, nitrous capacity, and AWD torque split.

`UDA_VehicleCustomization` owns body kit, paint, vinyl, decal pack, wheels,
neon, tint, exhaust tip, license plate, hood ornament, roof scoop, hydraulics,
and sound-system selections.

`UDA_VehicleDamage` owns the five authored damage tiers: Clean, Scuffed,
Damaged, Wrecked, and Totaled. Each tier carries a decal preset, bend
deformation scalar, part-fall-off chance, steering pull, engine power loss,
brake failure chance, transmission seize chance, and repair cost.

## Chassis And Physics

The launch chassis list is Compact, Sedan, Coupe, Supercar, Hypercar, Muscle,
Tuner, Truck, SUV, Rally, Buggy, MonsterTruck, SportBike, Cruiser, PodRacer,
Hover, and MechVehicle. Legacy aliases remain in the enum for existing content,
but new authoring uses the launch list.

Every chassis has a collision profile with bounding box, center-of-mass offset,
and front, rear, and side crumple zones. Every chassis also has an aero profile
with drag coefficient, downforce-by-speed bands, and front/rear aero balance.

Mass tuning tracks mass, center of mass, moment of inertia, front weight bias,
and per-surface traction ceilings. Passenger vehicles are kept in the
1000-3500kg band, bikes in 200-400kg, and pod racers in 500-800kg.

## Drivetrain, Engine, Transmission

The drivetrain model supports FWD, RWD, AWD, FourByFour, BikeChain, and Hover.
Handling personalities are explicit data values, including understeer-stable
FWD, oversteer-friendly RWD, split-grip AWD, locked-diff off-road 4WD, and
thrust/lift hover vehicles.

The engine model owns a `UCurveFloat` torque curve hook, idle RPM, peak torque
RPM, max torque, peak power, redline, boost pressure, boost curve hook, spool
delay, engine-swap id, engine-swap mass delta, and RPM-bin sound ids for idle,
cruise, mid, high, and redline. Turbo and supercharger vehicles also carry a
blow-off-valve sound id.

Transmission data supports manual, automatic, and sequential modes. Gear ratios,
final drive, reverse gear, shift time, perfect-shift window, manual override,
clutch availability, and clutch-kick torque multiplier are part of the physics
model and tuneable by vehicle.

## Suspension And Tires

Suspension data includes spring rate, damper compression, damper rebound,
anti-roll bar, ride height, camber, toe, and caster. Rally, buggy, and monster
truck chassis use long-travel off-road suspension; bike chassis add lean-angle
influence; pod and hover chassis add thrust and lift vectors.

Tires carry longitudinal grip, lateral grip, slip-angle curve peak, slip-ratio
peak, heat build rate, and wear rate. Compounds include street, sport, track,
drag slick, drift, rally knobby, mud, sand, snow, off-road, and racing
semi-slick. Surface friction covers asphalt, concrete, dirt, mud, sand, snow,
ice, water, grass, and gravel. Sim rulesets use cold, optimal, and hot
temperature bands, tire wear over long races, and pit-stop tire replacement.

## Damage And Repair

The visual damage pipeline blends material parameters, bone-skin deformation,
and part-fall-off across Clean, Scuffed, Damaged, Wrecked, and Totaled. Sim
rulesets enable steering pull, engine power loss, brake failure, and
transmission seize. Arcade rulesets keep damage cosmetic-only.

Totaled vehicles trigger retire-from-race cinematics in sim races and the
get-out-and-fight transition for crossover events. Repair can happen in pit
lane, garage, or between rounds, with cost drawn from race winnings.

## Authoring And Dyno Gate

`V2/balance/vehicles/akashi_sx.csv` is the canonical row for the CSV to
DataTable round-trip. It includes every stat field from identity through damage
repair. The dyno harness contract is `V2.Vehicle.DynoHarness`: it measures power
curve, 0-100 kph, top speed, shift behavior, surface grip, and damage power
scaling. `check-v2-vehicle-framework.py` validates the authored contract, CSV,
docs, Unreal source anchors, automation tests, and CI registration.
