Lazy module loading (Step 5 piece 6 completion): - Add define-library wrappers + import declarations to 13 source .sx files - compile-modules.js generates module-manifest.json with dependency graph - compile-modules.js strips define-library/import before bytecode compilation (VM doesn't handle these as special forms) - sx-platform.js replaces hardcoded 24-file loadWebStack() with manifest-driven recursive loader — only downloads modules the page needs - Result: 12 modules loaded (was 24), zero errors, zero warnings - Fallback to full load if manifest missing VM transpilation prep (Step 6b): - Refactor lib/vm.sx: 20 accessor functions replace raw dict access - Factor out collect-n-from-stack, collect-n-pairs, pad-n-nils helpers - bootstrap_vm.py: transpiles 9 VM logic functions to OCaml - sx_vm_ref.ml: proof that vm.sx transpiles (preamble has stubs) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
133 lines
2.2 KiB
JSON
133 lines
2.2 KiB
JSON
{
|
|
"sx render": {
|
|
"file": "render.sxbc",
|
|
"deps": []
|
|
},
|
|
"sx signals": {
|
|
"file": "core-signals.sxbc",
|
|
"deps": []
|
|
},
|
|
"sx signals-web": {
|
|
"file": "signals.sxbc",
|
|
"deps": [
|
|
"sx dom",
|
|
"sx browser"
|
|
]
|
|
},
|
|
"web deps": {
|
|
"file": "deps.sxbc",
|
|
"deps": []
|
|
},
|
|
"web router": {
|
|
"file": "router.sxbc",
|
|
"deps": []
|
|
},
|
|
"web page-helpers": {
|
|
"file": "page-helpers.sxbc",
|
|
"deps": []
|
|
},
|
|
"sx freeze": {
|
|
"file": "freeze.sxbc",
|
|
"deps": []
|
|
},
|
|
"sx bytecode": {
|
|
"file": "bytecode.sxbc",
|
|
"deps": []
|
|
},
|
|
"sx compiler": {
|
|
"file": "compiler.sxbc",
|
|
"deps": []
|
|
},
|
|
"sx vm": {
|
|
"file": "vm.sxbc",
|
|
"deps": []
|
|
},
|
|
"sx dom": {
|
|
"file": "dom.sxbc",
|
|
"deps": []
|
|
},
|
|
"sx browser": {
|
|
"file": "browser.sxbc",
|
|
"deps": []
|
|
},
|
|
"web adapter-html": {
|
|
"file": "adapter-html.sxbc",
|
|
"deps": [
|
|
"sx render"
|
|
]
|
|
},
|
|
"web adapter-sx": {
|
|
"file": "adapter-sx.sxbc",
|
|
"deps": [
|
|
"web boot-helpers"
|
|
]
|
|
},
|
|
"web adapter-dom": {
|
|
"file": "adapter-dom.sxbc",
|
|
"deps": [
|
|
"sx dom",
|
|
"sx render"
|
|
]
|
|
},
|
|
"web boot-helpers": {
|
|
"file": "boot-helpers.sxbc",
|
|
"deps": [
|
|
"sx dom",
|
|
"sx browser",
|
|
"web adapter-dom"
|
|
]
|
|
},
|
|
"sx hypersx": {
|
|
"file": "hypersx.sxbc",
|
|
"deps": []
|
|
},
|
|
"sx harness": {
|
|
"file": "harness.sxbc",
|
|
"deps": []
|
|
},
|
|
"sx harness-reactive": {
|
|
"file": "harness-reactive.sxbc",
|
|
"deps": []
|
|
},
|
|
"sx harness-web": {
|
|
"file": "harness-web.sxbc",
|
|
"deps": []
|
|
},
|
|
"web engine": {
|
|
"file": "engine.sxbc",
|
|
"deps": [
|
|
"web boot-helpers",
|
|
"sx dom",
|
|
"sx browser"
|
|
]
|
|
},
|
|
"web orchestration": {
|
|
"file": "orchestration.sxbc",
|
|
"deps": [
|
|
"web boot-helpers",
|
|
"sx dom",
|
|
"sx browser",
|
|
"web adapter-dom",
|
|
"web engine"
|
|
]
|
|
},
|
|
"_entry": {
|
|
"file": "boot.sxbc",
|
|
"deps": [
|
|
"sx dom",
|
|
"sx browser",
|
|
"web boot-helpers",
|
|
"web adapter-dom",
|
|
"sx signals",
|
|
"sx signals-web",
|
|
"web router",
|
|
"web page-helpers",
|
|
"web orchestration",
|
|
"sx render"
|
|
],
|
|
"lazy_deps": [
|
|
"sx bytecode"
|
|
]
|
|
}
|
|
}
|