What a browser tab loads: the page's scripts (its entry and the chunks it preloads), and the server function hash they call. `asset` is the chunk that calls it: the app's own code.
tcm start --base, behind tcm serve --proxy: the app is served under a path of the site, its page, assets, server functions and cookies under it, and its links (the react library's href) too, rendered on the server and followed in the browser
A build's browser code is a few chunks, named by their content, in a directory builds share: a deploy that changes the app's code leaves tcm's runtime chunk at the same URL (a browser keeps it), and assets are served compressed.
A build of the app `tcm start` serves, while it serves it (two at once, each replacing it), doesn't break serving: it reads the build before or the one after, whole; and pruning leaves the build it serves
A build is of the app and of what tcm puts beside it in the browser, so one another tcm made (an older runtime) is made again, not reused: upgrading tcm reaches apps whose code didn't change
Builds of one app at once (two verifies, say) all succeed and give the same build: each is made in a directory of its own and put in place whole, and nothing of either is left behind
No dead code to eliminate: a production build holds only the definitions the app reaches, never the rest of a namespace it uses (what isn't reached was never in it to shake out)
After a deploy, a browser that has the app's previous chunk gets the new one as the difference from it (Compression Dictionary Transport): Chrome asks with the old chunk's hash, and the server sends `dcb`, a few hundred bytes for a chunk of thousands.
a kept build whose code the codebase no longer has (the web UI's, its codebase copied in again when tcm changes): its tabs are told to reload (410), and the server keeps answering
tcm start renders a page's shell once and sends it at once: what renders the same every time (worked out from the code), with the fallbacks of what's live; then what's live, rendered for each request, streams in after it
React's cache in server components tcm renders: what one keeps is kept for the request, shared by everything it renders, and asked again in the next; cacheSignal is the request's
tcm start: a server component that renders the same for the same props (worked out from its code) is asked for with GET and kept for good, by the server and the browser, and through server function calls; and what a page shows is rendered before the browser goes there, when a link to it is pressed
tcm build --static, and PWAs: an app with a `pwa` beside it gets a manifest, its icons and a service worker, which tcm start serves too; changing the pwa alone is a new build; and an app that calls the server can't be a static site, which has none
tcm build --static renders every page an app links to, from /, as it's built: server components run then, their trees kept as files, so the pages are there before any code runs, and the app goes from one to another in the browser with no server