Add Isomorphism as top-level section in sx-docs
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 4m34s

Move isomorphic architecture roadmap and bundle analyzer from Plans
into their own top-level "Isomorphism" section. The roadmap is the
default page at /isomorphism/, bundle analyzer at /isomorphism/bundle-analyzer.

Plans section retains reader macros and SX-Activity.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-06 12:57:17 +00:00
parent 8ff9827d7b
commit 652e7f81c8
4 changed files with 50 additions and 20 deletions

View File

@@ -14,6 +14,7 @@
(dict :label "Essays" :href "/essays/") (dict :label "Essays" :href "/essays/")
(dict :label "Specs" :href "/specs/") (dict :label "Specs" :href "/specs/")
(dict :label "Bootstrappers" :href "/bootstrappers/") (dict :label "Bootstrappers" :href "/bootstrappers/")
(dict :label "Isomorphism" :href "/isomorphism/")
(dict :label "Plans" :href "/plans/")))) (dict :label "Plans" :href "/plans/"))))
(<> (map (lambda (item) (<> (map (lambda (item)
(~nav-link (~nav-link

View File

@@ -102,11 +102,11 @@
(dict :label "call/cc" :href "/specs/callcc") (dict :label "call/cc" :href "/specs/callcc")
(dict :label "Deps" :href "/specs/deps"))) (dict :label "Deps" :href "/specs/deps")))
(define isomorphism-nav-items (list
(dict :label "Roadmap" :href "/isomorphism/")
(dict :label "Bundle Analyzer" :href "/isomorphism/bundle-analyzer")))
(define plans-nav-items (list (define plans-nav-items (list
(dict :label "Isomorphic Architecture" :href "/plans/isomorphic-architecture"
:summary "Making the server/client boundary a sliding window — per-page bundles, smart expansion, SPA routing, client IO, streaming suspense.")
(dict :label "Bundle Analyzer" :href "/plans/bundle-analyzer"
:summary "Live per-page component dependency analysis — see which components each page needs and the payload savings.")
(dict :label "Reader Macros" :href "/plans/reader-macros" (dict :label "Reader Macros" :href "/plans/reader-macros"
:summary "Extensible parse-time transformations via # dispatch — datum comments, raw strings, and quote shorthand.") :summary "Extensible parse-time transformations via # dispatch — datum comments, raw strings, and quote shorthand.")
(dict :label "SX-Activity" :href "/plans/sx-activity" (dict :label "SX-Activity" :href "/plans/sx-activity"

View File

@@ -625,7 +625,7 @@
(div :class "flex items-center gap-2 mb-2" (div :class "flex items-center gap-2 mb-2"
(span :class "inline-block px-2 py-0.5 rounded text-xs font-bold bg-green-600 text-white uppercase" "Complete") (span :class "inline-block px-2 py-0.5 rounded text-xs font-bold bg-green-600 text-white uppercase" "Complete")
(a :href "/specs/deps" :class "text-green-700 underline text-sm font-medium" "View canonical spec: deps.sx") (a :href "/specs/deps" :class "text-green-700 underline text-sm font-medium" "View canonical spec: deps.sx")
(a :href "/plans/bundle-analyzer" :class "text-green-700 underline text-sm font-medium" "Live bundle analyzer")) (a :href "/isomorphism/bundle-analyzer" :class "text-green-700 underline text-sm font-medium" "Live bundle analyzer"))
(p :class "text-green-900 font-medium" "What it enables") (p :class "text-green-900 font-medium" "What it enables")
(p :class "text-green-800" "Per-page component bundles instead of sending every definition to every page. Smaller payloads, faster boot, better cache hit rates.")) (p :class "text-green-800" "Per-page component bundles instead of sending every definition to every page. Smaller payloads, faster boot, better cache hit rates."))
@@ -677,7 +677,7 @@
(li "15 dedicated tests: scan, transitive closure, circular deps, compute-all, components-needed") (li "15 dedicated tests: scan, transitive closure, circular deps, compute-all, components-needed")
(li "Bootstrapped output verified on both host targets") (li "Bootstrapped output verified on both host targets")
(li "Full test suite passes with zero regressions") (li "Full test suite passes with zero regressions")
(li (a :href "/plans/bundle-analyzer" :class "text-violet-700 underline" "Live bundle analyzer") " shows real per-page savings on this app")))) (li (a :href "/isomorphism/bundle-analyzer" :class "text-violet-700 underline" "Live bundle analyzer") " shows real per-page savings on this app"))))
;; ----------------------------------------------------------------------- ;; -----------------------------------------------------------------------
;; Phase 2 ;; Phase 2

View File

@@ -387,6 +387,49 @@
:bootstrapper-source bootstrapper-source :bootstrapper-source bootstrapper-source
:bootstrapped-output bootstrapped-output)))) :bootstrapped-output bootstrapped-output))))
;; ---------------------------------------------------------------------------
;; Isomorphism section
;; ---------------------------------------------------------------------------
(defpage isomorphism-index
:path "/isomorphism/"
:auth :public
:layout (:sx-section
:section "Isomorphism"
:sub-label "Isomorphism"
:sub-href "/isomorphism/"
:sub-nav (~section-nav :items isomorphism-nav-items :current "Roadmap")
:selected "Roadmap")
:content (~plan-isomorphic-content))
(defpage isomorphism-page
:path "/isomorphism/<slug>"
:auth :public
:layout (:sx-section
:section "Isomorphism"
:sub-label "Isomorphism"
:sub-href "/isomorphism/"
:sub-nav (~section-nav :items isomorphism-nav-items
:current (find-current isomorphism-nav-items slug))
:selected (or (find-current isomorphism-nav-items slug) ""))
:content (case slug
"bundle-analyzer" (~bundle-analyzer-content
:pages pages :total-components total-components :total-macros total-macros)
:else (~plan-isomorphic-content)))
(defpage bundle-analyzer
:path "/isomorphism/bundle-analyzer"
:auth :public
:layout (:sx-section
:section "Isomorphism"
:sub-label "Isomorphism"
:sub-href "/isomorphism/"
:sub-nav (~section-nav :items isomorphism-nav-items :current "Bundle Analyzer")
:selected "Bundle Analyzer")
:data (bundle-analyzer-data)
:content (~bundle-analyzer-content
:pages pages :total-components total-components :total-macros total-macros))
;; --------------------------------------------------------------------------- ;; ---------------------------------------------------------------------------
;; Plans section ;; Plans section
;; --------------------------------------------------------------------------- ;; ---------------------------------------------------------------------------
@@ -413,20 +456,6 @@
:current (find-current plans-nav-items slug)) :current (find-current plans-nav-items slug))
:selected (or (find-current plans-nav-items slug) "")) :selected (or (find-current plans-nav-items slug) ""))
:content (case slug :content (case slug
"isomorphic-architecture" (~plan-isomorphic-content)
"reader-macros" (~plan-reader-macros-content) "reader-macros" (~plan-reader-macros-content)
"sx-activity" (~plan-sx-activity-content) "sx-activity" (~plan-sx-activity-content)
:else (~plans-index-content))) :else (~plans-index-content)))
(defpage bundle-analyzer
:path "/plans/bundle-analyzer"
:auth :public
:layout (:sx-section
:section "Plans"
:sub-label "Plans"
:sub-href "/plans/"
:sub-nav (~section-nav :items plans-nav-items :current "Bundle Analyzer")
:selected "Bundle Analyzer")
:data (bundle-analyzer-data)
:content (~bundle-analyzer-content
:pages pages :total-components total-components :total-macros total-macros))