summaryrefslogtreecommitdiff
path: root/src/tests/test_shader_composer.cc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-03 18:44:41 +0100
committerskal <pascal.massimino@gmail.com>2026-02-03 18:44:41 +0100
commitbf46e44e1cb6027a072819a2a3aa3be32651f6e1 (patch)
tree21267e7ef52fd91e7b99271ed87e275e91b3de3c /src/tests/test_shader_composer.cc
parent815c428dea14a6a1ea5c421c400985d0c14d473d (diff)
refactor: Task #20 - Platform & Code Hygiene
- Consolidated all WebGPU shims and platform-specific logic into src/platform.h. - Refactored platform_init to return PlatformState by value and platform_poll to automatically refresh time and aspect_ratio. - Removed STL dependencies (std::map, std::vector, std::string) from AssetManager and Procedural subsystems. - Fixed Windows cross-compilation by adjusting include paths and linker flags in CMakeLists.txt and updating build_win.sh. - Removed redundant direct inclusions of GLFW/glfw3.h and WebGPU headers across the project. - Applied clang-format and updated documentation. handoff(Gemini): Completed Task #20 and 20.1. Platform abstraction is now unified, and core paths are STL-free. Windows build is stable.
Diffstat (limited to 'src/tests/test_shader_composer.cc')
-rw-r--r--src/tests/test_shader_composer.cc46
1 files changed, 24 insertions, 22 deletions
diff --git a/src/tests/test_shader_composer.cc b/src/tests/test_shader_composer.cc
index 7efcd83..16dabba 100644
--- a/src/tests/test_shader_composer.cc
+++ b/src/tests/test_shader_composer.cc
@@ -15,7 +15,6 @@
// Forward declaration for asset loading
const uint8_t* GetAsset(AssetId asset_id, size_t* out_size);
-
void test_composition() {
std::cout << "Testing Shader Composition..." << std::endl;
auto& sc = ShaderComposer::Get();
@@ -42,35 +41,38 @@ void test_composition() {
}
void test_asset_composition() {
- std::cout << "Testing Asset-Based Shader Composition..." << std::endl;
+ std::cout << "Testing Asset-Based Shader Composition..." << std::endl;
- // Use test assets
- auto& sc = ShaderComposer::Get();
+ // Use test assets
+ auto& sc = ShaderComposer::Get();
- size_t snippet_a_size;
- const char* snippet_a_code = (const char*)GetAsset(AssetId::ASSET_SHADER_SNIPPET_A, &snippet_a_size);
- assert(snippet_a_code != nullptr);
- sc.RegisterSnippet("SNIPPET_A", std::string(snippet_a_code, snippet_a_size));
+ size_t snippet_a_size;
+ const char* snippet_a_code =
+ (const char*)GetAsset(AssetId::ASSET_SHADER_SNIPPET_A, &snippet_a_size);
+ assert(snippet_a_code != nullptr);
+ sc.RegisterSnippet("SNIPPET_A", std::string(snippet_a_code, snippet_a_size));
- size_t snippet_b_size;
- const char* snippet_b_code = (const char*)GetAsset(AssetId::ASSET_SHADER_SNIPPET_B, &snippet_b_size);
- sc.RegisterSnippet("SNIPPET_B", std::string(snippet_b_code, snippet_b_size));
+ size_t snippet_b_size;
+ const char* snippet_b_code =
+ (const char*)GetAsset(AssetId::ASSET_SHADER_SNIPPET_B, &snippet_b_size);
+ sc.RegisterSnippet("SNIPPET_B", std::string(snippet_b_code, snippet_b_size));
- std::string main_code = "fn main() -> f32 { return snippet_a() + snippet_b(); }";
- std::string result = sc.Compose({"SNIPPET_A", "SNIPPET_B"}, main_code);
+ std::string main_code =
+ "fn main() -> f32 { return snippet_a() + snippet_b(); }";
+ std::string result = sc.Compose({"SNIPPET_A", "SNIPPET_B"}, main_code);
- assert(result.find("fn snippet_a()") != std::string::npos);
- assert(result.find("fn snippet_b()") != std::string::npos);
- assert(result.find("fn main()") != std::string::npos);
+ assert(result.find("fn snippet_a()") != std::string::npos);
+ assert(result.find("fn snippet_b()") != std::string::npos);
+ assert(result.find("fn main()") != std::string::npos);
- size_t pos_a = result.find("snippet_a");
- size_t pos_b = result.find("snippet_b");
- size_t pos_main = result.find("main");
+ size_t pos_a = result.find("snippet_a");
+ size_t pos_b = result.find("snippet_b");
+ size_t pos_main = result.find("main");
- assert(pos_a < pos_b);
- assert(pos_b < pos_main);
+ assert(pos_a < pos_b);
+ assert(pos_b < pos_main);
- std::cout << "Asset-based composition logic verified." << std::endl;
+ std::cout << "Asset-based composition logic verified." << std::endl;
}
int main() {