Site / Creating a site
Server rendering a route
The server does what prefetch does, then renders. URL → route → target
Model → sourcesFor → satisfy → an SSR plan over those Sources with
Remote's resume part → covered inspection → rendered page carrying the
destination's data:
ts
const plan = SSR.plan(App, {
id: 'owner',
state: Projection.pick(App.model.route),
surfaces: Object.values(active),
parts: [Remote.resume(Data)],
})
const rendered = yield* SSR.render(config, plan, { buildId: 'b' })
const page = SSR.page(template, rendered)SSR.inspect proves the plan covers what the browser's Surfaces will read;
the envelope carries exactly what the resolved Surfaces required — a page
resumes with its data present and asks the server for none of it. Static
generation is the same preparation under the staticSite build plugin, with
sitemap and robots derived from the generated pages. The browser takeover
(when / otherwise / freshness) stays proved in foldkit-ssr.