# Page snapshot ```yaml - main [ref=e4]: - generic [ref=e6]: - complementary - generic [ref=e7]: - generic [ref=e8]: - generic [ref=e11]: - link "()" [ref=e12] [cursor=pointer]: - /url: /sx/ - generic [ref=e14]: () - paragraph [ref=e15]: The framework-free reactive hypermedium - paragraph [ref=e17]: © Giles Bradshaw 2026· /sx/(geography) - generic [ref=e18]: - link "← Etc" [ref=e19] [cursor=pointer]: - /url: /sx/(etc) - link "Geography" [ref=e20] [cursor=pointer]: - /url: /sx/(geography) - link "Language →" [ref=e21] [cursor=pointer]: - /url: /sx/(language) - generic [ref=e23]: - link "Reactive Islands" [ref=e24] [cursor=pointer]: - /url: /sx/(geography.(reactive)) - link "Hypermedia Lakes" [ref=e25] [cursor=pointer]: - /url: /sx/(geography.(hypermedia)) - link "Scopes" [ref=e26] [cursor=pointer]: - /url: /sx/(geography.(scopes)) - link "Provide / Emit!" [ref=e27] [cursor=pointer]: - /url: /sx/(geography.(provide)) - link "Spreads" [ref=e28] [cursor=pointer]: - /url: /sx/(geography.(spreads)) - link "Marshes" [ref=e29] [cursor=pointer]: - /url: /sx/(geography.(marshes)) - link "Isomorphism" [ref=e30] [cursor=pointer]: - /url: /sx/(geography.(isomorphism)) - link "CEK Machine" [ref=e31] [cursor=pointer]: - /url: /sx/(geography.(cek)) - link "Capabilities" [ref=e32] [cursor=pointer]: - /url: /sx/(geography.(capabilities)) - link "Reactive Runtime" [ref=e33] [cursor=pointer]: - /url: /sx/(geography.(reactive-runtime)) - generic [ref=e36]: - heading "Geography" [level=2] [ref=e37] - paragraph [ref=e38]: Where code runs and how it gets there. Geography maps the rendering pipeline from server-side evaluation through wire formats to client-side hydration. - generic [ref=e39]: - heading "Rendering Pipeline" [level=3] [ref=e40] - generic [ref=e41]: - generic [ref=e42]: - generic [ref=e43]: OCaml kernel - generic [ref=e44]: - paragraph [ref=e45]: The evaluator is a CEK machine written in SX and bootstrapped to OCaml. It evaluates page definitions, expands components, resolves IO (helpers, queries), and serializes the result as SX wire format. - paragraph [ref=e46]: spec/evaluator.sx → hosts/ocaml/ → aser-slot with batch IO - generic [ref=e47]: - generic [ref=e48]: Wire format - generic [ref=e49]: - paragraph [ref=e50]: - text: The aser (async-serialize) mode produces SX text — HTML tags and component calls serialized as s-expressions. Components with server affinity are expanded; client components stay as calls. The wire format is placed in a - code [ref=e51]: