SPA navigation, page component refactors, WASM rebuild

Refactor page components (docs, examples, specs, reference, layouts)
and adapters (adapter-sx, boot-helpers, orchestration) across sx/ and
web/ directories. Add Playwright SPA navigation tests. Rebuild WASM
kernel with updated bytecode. Add OCaml primitives for request handling.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-01 11:00:51 +00:00
parent 9f097026f8
commit 584445a843
38 changed files with 5854 additions and 3695 deletions

View File

@@ -665,6 +665,13 @@ let () =
match args with [String msg] -> raise (Eval_error msg)
| [a] -> raise (Eval_error (to_string a))
| _ -> raise (Eval_error "error: 1 arg"));
register "try-catch" (fun args ->
match args with
| [try_fn; catch_fn] ->
(try !_sx_trampoline_fn (!_sx_call_fn try_fn [])
with Eval_error msg ->
!_sx_trampoline_fn (!_sx_call_fn catch_fn [String msg]))
| _ -> raise (Eval_error "try-catch: expected (try-fn catch-fn)"));
(* client? — false by default (server); sx_browser.ml sets _is_client := true *)
register "client?" (fun _args -> Bool !_is_client);
(* Named stores — global mutable registry, bypasses env scoping issues *)