backdrop-blur-core 0.1.0

Backend-agnostic seam, material/geometry vocabulary, and error model for backdrop blur (frosted glass). The one crate with no GPU dependency.
Documentation
  • Coverage
  • 100%
    82 out of 82 items documented0 out of 0 items with examples
  • Size
  • Source code size: 72.03 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.05 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 5s Average build duration of successful builds.
  • all releases: 5s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • abdu-benayad

backdrop-blur-core — the backend-agnostic heart of backdrop-blur.

This crate owns the vocabulary of frosted glass and the seam every GPU backend implements, and nothing else. It has no GPU dependency, is fully headless-testable, and forbids unsafe. That makes it the one crate in the workspace that cannot break a backend: the material/geometry types, the [BlurError] model, the liveness policy, and the backdrop-blur seam trait all live here, while wgpu/glow resource types stay out.

The shape of a blur

A caller describes a frosted surface with a [BlurRequest] — where the backdrop lives and the surface goes ([Region]s in physical pixels), and what kind of glass it is ([BlurStrength], [Tint], [CornerRadius]). Core resolves the algorithm-agnostic parts (a physical blur radius via [BlurRequest::physical_blur_radius]; a clamped [ResolvedMask]); the backend resolves the algorithm-specific parts (kernel offsets, pipelines) and does the GPU work.

See docs/DESIGN.md (§4 is the load-bearing type design) and docs/IMPL.md for the rationale and build sequence.