Fix island hydration double-render bug, add marshes plan

Client-rendered islands were re-hydrated by boot.sx because
renderDomIsland didn't mark them as processed. Hydration read
empty data-sx-state, overwriting kwargs (e.g. path) with NIL.
Fix: mark-processed! in adapter-dom.sx so boot skips them.

New plan: marshes — where reactivity and hypermedia interpenetrate.
Three patterns: server writes to signals, reactive marsh zones with
transforms, and signal-bound hypermedia interpretation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-10 15:53:44 +00:00
parent b8c5426093
commit e149dfe968
5 changed files with 282 additions and 2 deletions

View File

@@ -213,6 +213,8 @@
:summary "Page-level signal containers via def-store/use-store — persist across island destruction/recreation.")
(dict :label "Plan" :href "/reactive-islands/plan"
:summary "The full design document — rendering boundary, state flow, signal primitives, island lifecycle.")
(dict :label "Marshes" :href "/reactive-islands/marshes"
:summary "Where reactivity and hypermedia interpenetrate — server writes to signals, reactive transforms reshape server content, client state modifies how hypermedia is interpreted.")
(dict :label "Phase 2" :href "/reactive-islands/phase2"
:summary "Input binding, keyed lists, reactive class/style, refs, portals, error boundaries, suspense, transitions.")))