# 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

```text
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

```toml
[dependencies]
rae = { path = "../KnottRustDesign", version = "0.1.0" }
```

## Verify

```bash
cargo fmt --all --check
cargo check
cargo test
cargo package --allow-dirty
```

## 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.
