docs(requirements): split island boundary rule
Split oversized canonical_authoring/007 into explicit leaf adapter and no-second-UI-model requirements. req: canonical_authoring/007 req: canonical_authoring/017
This commit is contained in:
+4
-1
@@ -92,7 +92,10 @@ client app state framework.
|
||||
013 Explicit primitives, raw targets, raw HTML, raw effects, manual registries/form parsing, low-level ids/opcodes, wire formats, and raw routes remain named escape hatches or internals around the same render/target/effect/transport model. [north_star]
|
||||
|
||||
### req: canonical/007
|
||||
007 Opaque islands are explicit leaf adapters: templates declare `data-hemx-island` and optional generated handles/events; server code may emit snapshots/events such as `ui::game.emit(event)`, while island JS owns only high-frequency local behavior. Islands do not introduce a component runtime, client state graph, VDOM, or second UI model. [north_star]
|
||||
007 Opaque islands are explicit leaf adapters: templates declare `data-hemx-island` and optional generated handles/events; server code may emit snapshots/events such as `ui::game.emit(event)`. [north_star]
|
||||
|
||||
### req: canonical/017
|
||||
017 Island JavaScript owns only high-frequency local behavior and must not introduce a component runtime, client state graph, VDOM, or second UI model. [north_star]
|
||||
|
||||
### req: canonical/008
|
||||
008 Offline/PWA support is opt-in adapter territory. Server-first hemx may fail interactions while offline; cached shells and local-sync queues live in crates such as `hemx-pwa` or `hemx-sync`, reuse generated slots/effects, queue explicit patches, and reconcile with server-canonical effects. Core hemx must not gain a mandatory client state graph, scheduler, CRDT, or local app runtime. [north_star]
|
||||
|
||||
Reference in New Issue
Block a user