One syntax, two execution boundaries.
The counter and disclosure update immediately in your browser. The search input passes its value to a shard, which asks the Worker for fresh HTML.
signal countInstant client expressions
These controls do not make a network request.
Release confidence
2 / 10
How did that update?
Toggle a reactive attribute.
Topcoat evaluated the Rust expression for the initial HTML, translated the same expression to JavaScript, and bound it to this DOM region.
#[shard]Server-filtered component catalog
Every changed query re-renders only the results fragment at the edge.
- SignalsBrowser
Local state with typed get and set expressions
- Bind attributesBrowser
Reactive DOM properties such as hidden and value
- Event handlersBrowser
Rust closures compiled into browser JavaScript
- ShardsWorker
Server-rendered components driven by reactive arguments
- ProceduresWorker
Async server functions callable from the browser
- ComponentsWorker
Async Rust functions that return composable views
- CookiesWorker
Request-scoped typed state written through response headers
- HTMXWorker
Explicit fragment requests and typed response headers