Load engines from TOML and improve scenario audio and carb tuning

Migrate 32 engine definitions into validated startup-loaded TOML files and separate configuration and snapshots from scenario assembly. Add camera-based stereo propagation from shared pipe geometry, preserve exhaust character, tune carburetor mixtures and idle, use ignition cuts for carb engines, and support returning to the scenario menu.

Validation: full Windows build and all 14 CTest checks passed.
This commit is contained in:
max
2026-10-24 03:24:35 +02:00
parent 5607dcf2b5
commit bf8621ad39
82 changed files with 24084 additions and 648 deletions

View File

@@ -1,4 +1,5 @@
#include "FluidSim/Scenario.hpp"
#include "FluidSim/ScenarioCatalog.hpp"
#include "FluidSim/HelmholtzScenario.hpp"
#include "FluidSim/PulseTestScenario.hpp"
#include "FluidSim/TwoStrokeScenario.hpp"
@@ -10,12 +11,12 @@
#include <iostream>
#include <string>
int main(int argc, char** argv) {
int main(int argc, char** argv) try {
using namespace fluidsim::port;
float duration_seconds = 1.0f;
float throttle = 0.35f;
std::string scenario_name = "twin";
TwoStrokeConfig two_stroke_config;
auto two_stroke_config=scenario_example("yz-racing").two;
PipeSolver pipe_solver=PipeSolver::Rusanov;
for (int i = 1; i + 1 < argc; ++i) {
const std::string option = argv[i];
@@ -107,4 +108,7 @@ int main(int argc, char** argv) {
return 2;
}
return 0;
} catch(const std::exception& error) {
std::cerr<<error.what()<<'\n';
return 2;
}