pub fn load_ui_solid_fill_body() -> String {
let config = crate::config::load_config();
let shader_path = format!(
"projects/{}/shared/shaders/ui_solid_fill.wgsl",
config.project.mod_name
);
std::fs::read_to_string(&shader_path).unwrap_or_else(|e| {
eprintln!("Warning: Failed to load shader from {}: {}", shader_path, e);
"let a = select(0.0, 1.0, input.distance <= 0.0);\nreturn vec4<f32>(input.color.rgb, a);"
.to_string()
})
}
pub fn load_custom_shader_body(path: &str) -> String {
let config = crate::config::load_config();
let full_path = format!("projects/{}/{}", config.project.mod_name, path);
std::fs::read_to_string(&full_path).unwrap_or_else(|e| {
eprintln!(
"Warning: Failed to load custom shader from {}: {}",
full_path, e
);
"return vec4<f32>(1.0, 0.0, 1.0, 1.0);".to_string()
})
}