diff --git a/crates/gc-formats/src/gs.rs b/crates/gc-formats/src/gs.rs index b969100..bc4add9 100644 --- a/crates/gc-formats/src/gs.rs +++ b/crates/gc-formats/src/gs.rs @@ -13,6 +13,24 @@ //! texel rather than repeating it. //! //! Nothing here touches wgpu: these are the rules the renderer must feed it. +//! +//! # Which of these are actually wired +//! +//! Stated explicitly, because a rule that exists in a module is not a rule the +//! renderer applies -- and the sampler in `gc-engine` sat behind a comment +//! claiming it clamped while the code did `..default()`, which is `Repeat`. The +//! failure mode here is a reader assuming a function is in the draw path because +//! it is in a file called `gs.rs`. +//! +//! | rule | wired? | where | +//! |---|---|---| +//! | CLAMP wrap | **yes** | `gc-engine`'s `image_of` sets `address_mode_u/v` | +//! | alpha `0x80` is opaque | **yes** | `texture::scale_alpha` delegates here | +//! | blend / alpha test | **no** | bevy's `AlphaMode` cannot express both at once | +//! | mip selection | **no** | only level 0 is decoded, so `mip_level` is always 0 | +//! +//! `passes_alpha_test` and `BlendMode` are reference: correct, tested, and not on +//! the draw path. That is a deliberate state, not an oversight. /// Alpha is 7-bit, so `0x80` is fully opaque rather than half-transparent. ///