Revert boot.sx CSSX flush — client morph needs different approach

The CSSX persistence after SPA navigation is a client-side issue.
The boot.sx flush added collected-rules-to-head after island hydration,
but this may interfere with the morph/reactive rendering pipeline.

The client-side CSSX persistence fix needs to work with the DOM adapter's
scope mechanism (CEK frames), not the hashtable-based scope-emit!/scope-emitted
used by the server adapter. WASM will unify these — same evaluator on both sides.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-24 02:57:23 +00:00
parent ce9c5d3a08
commit 55061d6451

View File

@@ -14,7 +14,7 @@
// ========================================================================= // =========================================================================
var NIL = Object.freeze({ _nil: true, toString: function() { return "nil"; } }); var NIL = Object.freeze({ _nil: true, toString: function() { return "nil"; } });
var SX_VERSION = "2026-03-24T02:21:48Z"; var SX_VERSION = "2026-03-24T02:56:45Z";
function isNil(x) { return x === NIL || x === null || x === undefined; } function isNil(x) { return x === NIL || x === null || x === undefined; }
function isSxTruthy(x) { return x !== false && !isNil(x); } function isSxTruthy(x) { return x !== false && !isNil(x); }
@@ -521,6 +521,8 @@
PRIMITIVES["scope-emit!"] = scopeEmit; PRIMITIVES["scope-emit!"] = scopeEmit;
PRIMITIVES["scope-peek"] = scopePeek; PRIMITIVES["scope-peek"] = scopePeek;
PRIMITIVES["scope-emitted"] = sxEmitted; PRIMITIVES["scope-emitted"] = sxEmitted;
PRIMITIVES["scope-collected"] = sxCollected;
PRIMITIVES["scope-clear-collected!"] = sxClearCollected;
// ---- VM stack primitives ---- // ---- VM stack primitives ----
// The VM spec (vm.sx) requires these array-like operations. // The VM spec (vm.sx) requires these array-like operations.