docs(requirements): split typed partial swap rule

Split oversized canonical_authoring/002 into handler partial-swap flow and primitive-shape requirements.

req: canonical_authoring/002

req: canonical_authoring/014
This commit is contained in:
slhx agent
2026-06-25 14:07:32 +02:00
parent 89dbc3f0f4
commit 8c3a22d720
2 changed files with 5 additions and 1 deletions
+4 -1
View File
@@ -59,7 +59,10 @@ client app state framework.
011 Plain CSS owns appearance. [north_star]
### req: canonical/002
002 Typed partial swaps are the primary UX, not an advanced feature: handlers change domain state in Rust, convert domain values into view values, render hemplate partials through generated helpers, and place them into generated targets. The real primitive is generated target + rendered partial + swap kind. [north_star]
002 Typed partial swaps are the primary UX, not an advanced feature: handlers change domain state in Rust, convert domain values into view values, render hemplate partials, and place them into generated targets. [north_star]
### req: canonical/014
014 The partial-swap primitive is generated target plus rendered partial plus swap kind. [north_star]
### req: canonical/003
003 Canonical keyed-row CRUD reads like ordinary Rust intent: create appends a rendered row partial, update/toggle replaces a keyed row partial, delete removes a keyed row, summary/text/form effects compose in tuples, arrays, or `Vec<T: IntoEffect>` for dynamic batches, and no handler chooses a target with a CSS selector. [north_star]