From 1f4775515c648e98ed26ebcf13be7b8e80023518 Mon Sep 17 00:00:00 2001 From: Claas Date: Wed, 8 Jul 2026 17:47:06 +0200 Subject: [PATCH] Add generated streaming --- CLAUDE.md | 52 +++++ Cargo.lock | 21 ++ Cargo.toml | 8 +- afterglow-macros/Cargo.toml | 14 ++ afterglow-macros/src/lib.rs | 330 ++++++++++++++++++++++++++++++++ afterglow/Cargo.toml | 16 ++ afterglow/README.md | 76 ++++++++ afterglow/examples/axum_demo.rs | 86 +++++++++ afterglow/src/escape.rs | 45 +++++ afterglow/src/lib.rs | 35 ++++ afterglow/src/node.rs | 184 ++++++++++++++++++ afterglow/src/render.rs | 197 +++++++++++++++++++ afterglow/src/shell.rs | 186 ++++++++++++++++++ afterglow/src/stream.rs | 97 ++++++++++ afterglow/tests/macro.rs | 173 +++++++++++++++++ afterglow/tests/streaming.rs | 168 ++++++++++++++++ app/src/App.tsx | 27 ++- 17 files changed, 1708 insertions(+), 7 deletions(-) create mode 100644 CLAUDE.md create mode 100644 afterglow-macros/Cargo.toml create mode 100644 afterglow-macros/src/lib.rs create mode 100644 afterglow/Cargo.toml create mode 100644 afterglow/README.md create mode 100644 afterglow/examples/axum_demo.rs create mode 100644 afterglow/src/escape.rs create mode 100644 afterglow/src/lib.rs create mode 100644 afterglow/src/node.rs create mode 100644 afterglow/src/render.rs create mode 100644 afterglow/src/shell.rs create mode 100644 afterglow/src/stream.rs create mode 100644 afterglow/tests/macro.rs create mode 100644 afterglow/tests/streaming.rs diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..7579509 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,52 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Repository layout + +Cargo workspace (`afterglow`, `afterglow-macros`, `supernova`, `supernovi`, `web-shove`) plus a standalone frontend in `app/` that is **not** part of the workspace. + +- **`afterglow/`** + **`afterglow-macros/`** — Suspense-style streaming HTML templating: trees with `Node::Pending` futures render as a shell with ``/`…` placeholders, backfilled by streamed `