piston An engine dyno simulator in C++17. Four-stroke spark-ignition engines and basic compression-ignition, from the command line, with an optional ImGui front end. Status Early alpha (v0.1.0-alpha), as of 2026-09-30. It is not validated for engineering use. Do not rely on its numbers. Accuracy 22 engines in the validation set, wide open throttle, SAE J1349 corrected. Mean absolute error across the set is 8.2 percent on peak power and 5.0 percent on torque. Worst peak-power cases: Ford Flathead V8 +30.2, 2JZ-GTE -16.9, Honda F20C +15.5 percent. Only 3 engines are compared against a measured dyno curve; the rest use spec-sheet peaks. There is no blind predict-then-dyno test yet, and part throttle is not checked against anything. Models Otto and detailed cycles (Wiebe combustion, Woschni heat transfer), slider-crank with Chen-Flynn friction, a 1D intake with cam phasing and VTEC lobes, knock retard, residual gas, turbo power balance. Two-zone combustion, the parts database and forced induction are partial. Build CMake, Ninja and MinGW-w64 GCC 13. No installer yet, and release binaries will be unsigned. Usage piston simulate -c engine.json -o out.csv piston report -c engine.json -o report.html piston --help License Source is proprietary. Release binaries are free to use under an EULA.