xgpui-shader
Opt-in gradients, mesh paints, portable WGSL and selectable kinetic typography.
xgpui-shader
Animated glyphs. Authentic text.
Typewriter reveal, wave motion and deterministic scramble with gradient fills, glow and drop shadows. Selection and copy preserve the original text; native accessibility exposes the complete source.
Open Selectable typography ↗Demo source
Read-only, single-line left-to-right text. The browser platform has no canvas accessibility bridge yet; use the native demo for accessibility review.
Instanced shaders · native app first
Typed fragment instances, ordered batching, configurable gradient shadows, soft animated borders and direct main-pass rendering. Experimental SDR subset; Windows runtime acceptance remains outstanding.
just --justfile apps/xgpui-ext-lab/shader-examples/justfile ui
just --justfile apps/xgpui-ext-lab/shader-examples/justfile compositionAPI, examples and implementation status → · WASM companion → · Demo source
Open Gradient paints ↗Demo source
Read the Paint and shader extension guide →
Producer and backend references
Selectable typography →
Gradient fills, glyph glow/shadows, typewriter, wave and scramble with stable selection and native accessibility.
Main-pass brushes →
Universal brushes, glyphs, paths, mesh gradients and cached layer effects.
Shader producer reference →
Mesh, gradient parameters and caches.
Shader paints (experimental) →
Write a portable WGSL producer.
Instanced shaders (experimental) →
Typed direct main-pass shaders and native-first examples.
Paint preparation and failure contracts →
Preparation and recording transactions.
Portable wgpu paints →
wgpu backend.
Native D3D11 paints →
Native Windows D3D11 backend.
Public surface at a glance
painted(), Paint, WindowPaintExt, SolidColor, Gradient, MeshGradient, portable shader producers and typography::SelectableText. Ordinary programs retain sRGB semantics; new_linear_p3 opts into native wide-SDR output.
API documentation
Rustdoc for the published crate is on docs.rs ↗. It documents the latest release, which can lag the repository.
Dependencies
Dependencies, optional features and target conditions are declared in Cargo.toml ↗.
Boundary to investigate
Keep effects and caching in the extension; preserve the small GPUI recording/preparation contract. Wide-gamut presentation is a separate backend capability.