//! # Configuration Module //! //! Holds shared constants for the WSG library — primarily shader paths and embedded WGSL source code. //! Centralized here so all submodules import from one place instead of duplicating literal strings. //! This enables the PipelineCache to fall back to an embedded default shader when the file-based one is missing. //! Also provides application defaults for window title, width, and height used by AppBuilder. //! //! ## Interaction with Other Modules //! - **pipeline_cache::load_shader()** reads `BASIC_SHADER_PATH` from disk; if unreadable, falls back to `BASIC_SHADER`. //! - Both constants are compile-time values (`include_str!`) ensuring the fallback shader is always available even without external files. //! - **app::AppBuilder** reads APP_DEFAULT_TITLE, APP_DEFAULT_WIDTH, and APP_DEFAULT_HEIGHT for default window configuration. /// Path to the default WGSL shader file on disk (runtime). Used by PipelineCache::load_shader() for file-based loading. pub const BASIC_SHADER_PATH: &str = "assets/shaders/basic_shader.wgsl"; /// The basic WGSL shader source code, embedded at compile time via `include_str!`. /// Serves as a fallback when `BASIC_SHADER_PATH` cannot be read at runtime. pub const BASIC_SHADER: &str = include_str!("../shaders/basic_shader.wgsl"); /// Path to the standard (Phong) WGSL shader file on disk (runtime). Used by PipelineCache::load_shader() /// once standardized (Étape 3) : this shader carries the full uniform contract (frame + object bind groups) /// and supports an unlit mode so flat 2D rendering is a special case of the 3D lit path. pub const STANDARD_SHADER_PATH: &str = "assets/shaders/standard_shader.wgsl"; /// The standard (Phong) WGSL shader source code, embedded at compile time via `include_str!`. /// Not yet compiled by any pipeline (Étape 2 : shader seul, non branché). Becomes the unified /// pipeline shader once the uniform infrastructure exists (Étape 3). The unlit variant is the /// replacement for the flat `basic` family. pub const STANDARD_SHADER: &str = include_str!("../shaders/standard_shader.wgsl"); /// Default application title displayed in the OS taskbar/window decorations. pub const APP_DEFAULT_TITLE: &str = "WSG App"; /// Default window width in pixels. pub const APP_DEFAULT_WIDTH: u32 = 800; /// Default window height in pixels. pub const APP_DEFAULT_HEIGHT: u32 = 600;