mirror of
https://github.com/johndoe6345789/SDL3CPlusPlus.git
synced 2026-04-24 13:44:58 +00:00
ROADMAP.md
This commit is contained in:
@@ -47,6 +47,34 @@
|
||||
"type": "luma_range",
|
||||
"min_luma": 0.01,
|
||||
"max_luma": 0.95
|
||||
},
|
||||
{
|
||||
"type": "mean_color",
|
||||
"color": [0.4, 0.45, 0.5],
|
||||
"tolerance": 0.25
|
||||
},
|
||||
{
|
||||
"type": "sample_points",
|
||||
"points": [
|
||||
{
|
||||
"x": 0.25,
|
||||
"y": 0.25,
|
||||
"color": [0.2, 0.3, 0.4],
|
||||
"tolerance": 0.35
|
||||
},
|
||||
{
|
||||
"x": 0.5,
|
||||
"y": 0.5,
|
||||
"color": [0.1, 0.2, 0.6],
|
||||
"tolerance": 0.4
|
||||
},
|
||||
{
|
||||
"x": 0.75,
|
||||
"y": 0.75,
|
||||
"color": [0.8, 0.85, 0.9],
|
||||
"tolerance": 0.3
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -49,3 +49,7 @@ Avoid stagnation; improve structure, clarity, and expressiveness over time.
|
||||
Roadmap discipline.
|
||||
If you run out of ROADMAP.md tasks, stop and report.
|
||||
We should reassess priorities before inventing work.
|
||||
|
||||
Prefer JSON workflows over LUA - Steps can be written in host language.
|
||||
|
||||
Vulkan can be a bit sketchy at first, very cryptic crashes. Try OpenGL.
|
||||
|
||||
@@ -74,6 +74,19 @@ std::filesystem::path GetSeedConfigPath() {
|
||||
return repoRoot / "config" / "seed_runtime.json";
|
||||
}
|
||||
|
||||
std::string DeterminePreferredRenderer() {
|
||||
if (const char* envRenderer = std::getenv("BGFX_RENDERER")) {
|
||||
return envRenderer;
|
||||
}
|
||||
if (const char* videoDriver = std::getenv("SDL_VIDEODRIVER")) {
|
||||
std::string driver(videoDriver);
|
||||
if (driver == "offscreen" || driver == "dummy") {
|
||||
return "opengl";
|
||||
}
|
||||
}
|
||||
return "opengl";
|
||||
}
|
||||
|
||||
std::optional<std::string> ReadFileContents(const std::filesystem::path& path) {
|
||||
std::ifstream input(path);
|
||||
if (!input) {
|
||||
@@ -388,14 +401,7 @@ bool RunGpuRenderTest(int& failures,
|
||||
|
||||
// Load and render the actual cube scene to catch color, geometry, and animation issues
|
||||
auto scriptPath = GetCubeScriptPath();
|
||||
auto configPath = GetSeedConfigPath();
|
||||
auto configJson = ReadFileContents(configPath);
|
||||
if (!configJson) {
|
||||
std::cerr << "GPU render test failed: could not load scene config\n";
|
||||
++failures;
|
||||
success = false;
|
||||
} else {
|
||||
auto sceneConfigService = std::make_shared<CubeDemoConfigService>(scriptPath, *configJson, "vulkan");
|
||||
auto sceneConfigService = configService;
|
||||
auto meshService = std::make_shared<sdl3cpp::services::impl::MeshService>(sceneConfigService, logger);
|
||||
auto audioService = std::make_shared<StubAudioCommandService>();
|
||||
auto physicsService = std::make_shared<sdl3cpp::services::impl::PhysicsBridgeService>(logger);
|
||||
@@ -533,7 +539,6 @@ bool RunGpuRenderTest(int& failures,
|
||||
|
||||
std::cout << "GPU render test: Successfully rendered and validated scene pipeline\n";
|
||||
}
|
||||
}
|
||||
|
||||
backend.Shutdown();
|
||||
windowService->DestroyWindow();
|
||||
@@ -552,7 +557,8 @@ void RunCubeDemoSceneTests(int& failures) {
|
||||
}
|
||||
|
||||
auto logger = std::make_shared<sdl3cpp::services::impl::LoggerService>();
|
||||
auto configService = std::make_shared<CubeDemoConfigService>(scriptPath, *configJson, "vulkan");
|
||||
const std::string preferredRenderer = DeterminePreferredRenderer();
|
||||
auto configService = std::make_shared<CubeDemoConfigService>(scriptPath, *configJson, preferredRenderer);
|
||||
auto meshService = std::make_shared<sdl3cpp::services::impl::MeshService>(configService, logger);
|
||||
auto audioService = std::make_shared<StubAudioCommandService>();
|
||||
auto physicsService = std::make_shared<sdl3cpp::services::impl::PhysicsBridgeService>(logger);
|
||||
|
||||
Reference in New Issue
Block a user