docs: record the async-route (choo#653) design as a Phase 3 deliverable

Deliberately deferred so the SSR half (toStream) ships together with the
browser half — the missing server story is what stalled the original PR.
API shape goes to the RFC.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014NgfSjHE11oFpoSnLVKLXd
This commit is contained in:
Bendik Aagaard Lynghaug
2026-09-08 17:44:13 +02:00
co-authored by Claude Fable 5
parent 870aa79668
commit 37bd8adf81
+8 -1
View File
@@ -47,7 +47,14 @@ everything new lives under `packages/`.
- [ ] Phase 2 (remaining): adoption-style hydration with mismatch
warnings, Playwright suite in a real browser, benchmarks vs
nanohtml v1 / µhtml
- [ ] Phase 3: v8 wiring (`toStream`, devtools, codemod)
- [ ] Phase 3: v8 wiring (`toStream`, devtools, codemod). Includes the
answer to choojs/choo#653 (async/lazy routes): route handlers may
resolve lazily via native import(); browser renders previous tree
or a loading view until resolution, server awaits inside toStream
(toString stays sync and fails loudly). Deliberately deferred until
toStream exists so the SSR half ships with the browser half — the
missing server story is what stalled #653. API shape (thenable
handler vs lazy() wrapper vs loader-view option) goes to the RFC.
- [ ] Phase 4: bankai v10 (Vite 8/Rolldown shell, SSR middleware,
103 Early Hints, service worker, precompression)
- [ ] Phase 5: docs, examples, launch