sx-tools: WASM kernel updates, TW/CSSX rework, content refresh, new debugging tools

Build tooling: updated OCaml bootstrapper, compile-modules, bundle.sh, sx-build-all.
WASM browser: rebuilt sx_browser.bc.js/wasm, sx-platform-2.js, .sxbc bytecode files.
CSSX/Tailwind: reworked cssx.sx templates and tw-layout, added tw-type support.
Content: refreshed essays, plans, geography, reactive islands, docs, demos, handlers.
New tools: bisect_sxbc.sh, test-spa.js, render-trace.sx, morph playwright spec.
Tests: added test-match.sx, test-examples.sx, updated test-tw.sx and web tests.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-02 11:31:57 +00:00
parent 9ed1100ef6
commit d40a9c6796
178 changed files with 13591 additions and 9110 deletions

View File

@@ -45,11 +45,11 @@
(filter (fn (item) (string-contains? (lower item) (lower query)))
items))))
(let ((shown (slice matches 0 3)))
(div :class "space-y-1"
(div (~tw :tokens "space-y-1")
(p :class (str "text-xs font-semibold uppercase " color) label)
(ul :class "list-disc pl-4"
(map (fn (m) (li :class "text-sm text-stone-600" m)) shown))
(p :class "text-xs text-stone-400"
(ul (~tw :tokens "list-disc pl-4")
(map (fn (m) (li (~tw :tokens "text-sm text-stone-600") m)) shown))
(p (~tw :tokens "text-xs text-stone-400")
(str (length matches) " result(s)"))))))
@@ -66,10 +66,10 @@
(now (helper "now" "%H:%M:%S")))
(let ((price (nth flash-sale-prices idx)))
(<>
(div :class "space-y-2"
(p :class "text-sm text-emerald-600 font-medium"
(div (~tw :tokens "space-y-2")
(p (~tw :tokens "text-sm text-emerald-600 font-medium")
(str "⚡ Flash sale! Price: $" price))
(p :class "text-xs text-stone-400" (str "at " now)))
(p (~tw :tokens "text-xs text-stone-400") (str "at " now)))
(script :type "text/sx" :data-init ""
(str "(reset! (use-store \"demo-price\") " price ")"))))))
@@ -86,9 +86,9 @@
(let ((idx (random-int 0 (- (length settle-items) 1)))
(now (helper "now" "%H:%M:%S")))
(let ((item (nth settle-items idx)))
(div :class "space-y-1"
(p :class "text-sm font-medium text-stone-700" (str "Fetched: " item))
(p :class "text-xs text-stone-400" (str "at " now))))))
(div (~tw :tokens "space-y-1")
(p (~tw :tokens "text-sm font-medium text-stone-700") (str "Fetched: " item))
(p (~tw :tokens "text-xs text-stone-400") (str "at " now))))))
;; --------------------------------------------------------------------------
@@ -160,7 +160,7 @@
"" rotated)
")")))
(<>
(p :class "text-sm text-emerald-600 font-medium"
(p (~tw :tokens "text-sm text-emerald-600 font-medium")
(str "Catalog loaded: " (length rotated) " items (shuffled at " now ")"))
(script :type "text/sx" :data-init ""
(str "(reset! (use-store \"catalog-items\") " items-sx ")")))))))