CONCEPTS FEATURE
Late HTML
Deferred blocks stream server-rendered HTML later instead of handing control to a client renderer. The shell paints at once; slow regions arrive over SSE.
Connecting to the server stream…
Late HTML
"Deferred rendering" usually means: paint a skeleton, then let the client application fetch the data and render the rest. That is the exact moment a "server-rendered" page becomes a client app — the browser takes over as the renderer.
Semitexa's Late HTML means the opposite. The server renders the slow region later and streams the finished HTML into place. The client never becomes the renderer; it only swaps in HTML the server produced.
How "late" stays server-owned
Mark a region deferred: true: the shell paints instantly (with an optional skeleton template), the server finishes the region, and streams its HTML over the page's single SSE stream — swapping it into position. There is no client-side data fetching and no client templating.
You get the performance win of deferral — a fast first paint — without the architectural cost of a second client renderer. The deferred region is the same kind of server-rendered HTML as the rest of the page, so it stays inside the one rendering story. The region in the demo above is real: the skeleton paints first, then the server streams it in.
How it works
Mark a slot resource deferred: true and the shell paints instantly with an optional skeletonTemplate; the server finishes the region and streams its HTML over the page's one SSE stream, swapping it into position. No client-side data fetching, no client templating — just late server HTML. The region below is real: the skeleton paints first, then the server streams it in.
Why it matters
Late HTML gives the performance win of deferral (fast first paint) without the architectural cost (a second client renderer). The deferred region is the same kind of server-rendered HTML as the rest of the page, so it stays inside the one rendering story.