catalog
Every car kind and swappable part as data: `kinds` (12, with dimensions, mass, suspension, drive layout, final drive, brakes, drag area, default parts and camera mounts), `engines` (9 torque curves with idle/redline/limiter, turbo share and lag, voice), `gearboxes` (5), `diffs` (…
torqueCars.catalog
Every car kind and swappable part as data: kinds (12, with dimensions, mass, suspension, drive layout, final drive, brakes, drag area, default parts and camera mounts), engines (9 torque curves with idle/redline/limiter, turbo share and lag, voice), gearboxes (5), diffs (3), tyres (8 grip curves with per-surface affinity), paints (12). Helpers: part(slot, name, kind), kind(name), torqueAt(engine, rpm), peakHp(engine). Read by assemble, Car and Garage; add an entry to add a car or part.
local Catalog = require("torqueCars.catalog")
print(Catalog.kinds.muscle.label, math.floor(Catalog.peakHp(Catalog.engines.v8)), "hp")
Scoped to this part · feeds back into the world's score.