docs(requirements): split canonical app shape rule
Split oversized canonical_authoring/001 into canonical app shape, ordinary-code escape hatches, and CSS ownership rows. req: canonical_authoring/001 req: canonical_authoring/010 req: canonical_authoring/011
This commit is contained in:
+7
-1
@@ -50,7 +50,13 @@ client app state framework.
|
||||
## canonical_authoring
|
||||
|
||||
### req: canonical/001
|
||||
001 The canonical app shape is templates plus Rust, not a frontend folder: `.heml` files declare `data-hemx-root`, `data-hemx-slot`, `data-hemx-handle`, `data-hemx-form`, `h-key`, optional pending/page/island facts, and handlers return generated UI commands. Ordinary app code avoids selectors, numeric ids, raw effects, wire formats, manual registries/form parsing, raw `SafeHtml`, and raw render calls. Plain CSS owns appearance. [north_star]
|
||||
001 The canonical app shape is templates plus Rust, not a frontend folder: `.heml` files declare roots, slots, handles, forms, keys, and optional pending/page/island facts; handlers return generated UI commands. [north_star]
|
||||
|
||||
### req: canonical/010
|
||||
010 Ordinary app code avoids selectors, numeric ids, raw effects, wire formats, manual registries/form parsing, raw `SafeHtml`, and raw render calls. [north_star]
|
||||
|
||||
### req: canonical/011
|
||||
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]
|
||||
|
||||
Reference in New Issue
Block a user