Core reactive primitives (signal, deref, reset!, swap!, computed, effect, batch, notify-subscribers, dispose-computed, with-island-scope, register-in-scope) moved to spec/signals.sx — pure SX, zero platform dependencies. Usable by any host: web, CLI, embedded, server, harness. Web extensions (marsh scopes, stores, event bridge, resource) remain in web/signals.sx, which now depends on spec/signals.sx. Updated all load paths: - hosts/ocaml/bin/sx_server.ml — loads spec/signals.sx before web/signals.sx - hosts/ocaml/bin/run_tests.ml — loads both in order - hosts/ocaml/browser/bundle.sh + sx-platform.js — loads core-signals.sx first - shared/sx/ocaml_bridge.py — loads spec/signals.sx before web extensions 1116/1116 OCaml tests pass. Browser reactive island preview works. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.7 KiB
3.7 KiB