rae
rae is a renderer-neutral Rust design crate for shader-heavy desktop coding tools.
It was extracted from xrae so multiple codebases can improve the same widget, layout, math, agent-flow, and GLSL shader primitives without coupling themselves to one app shell.
What It Owns
src/color.rs Palette and RGBA primitives
src/effect.rs Ripple, glow, elevation, focus, and motion primitives
src/layout.rs Prompt/transcript/sidebar/status layout
src/math.rs CPU-side animation and shader math helpers
src/shader.rs Heavy GLSL shader catalog with families/descriptors
src/state.rs Agent mode, thinking, pane, overlay, resource state
src/transcript.rs Transcript viewport measurement and scroll materialization
src/deck.rs Command palette, context, provider, theme, status deck models
src/flow.rs Agent phases, Kanban, edit plans, run records, validation profiles
src/sidecar.rs Safe sidecar command previews and workspace write target guards
src/theme.rs Built-in visual themes
src/widget.rs Shared widget frame and prompt/transcript models
Use From A Sibling App
[]
= { = "../KnottRustDesign", = "0.1.0" }
Verify
Publishing Note
The package name is rae. Actual crates.io publishing should only happen after checking ownership/name availability and confirming the API surface is ready.
0.1.1 Focus
rae is leaning hard into high-end interaction design:
- Flutter/Material-style ripple pools and click effects.
- Glow, elevation, disabled, focus-ring, hover, selected, and pressed state resolution.
- Motion specs and curves for fast/standard/slow interaction timing.
- Shader descriptors grouped by background, panel, prompt, interaction, code, data, and agent-flow families.
- GLSL effects for curl nebula, aurora curtains, raymarched knot fields, terminal rain, ripples, bloom glows, code lenses, reaction-diffusion cells, Voronoi crystal panels, and plasma graph networks.