Resume owned behavior
The site package emits complete HTML. The optional client package compiles to WASM and resumes only the stateful boundary marked by the document. It does not hydrate or diff the entire page.
toml
[client]
package = "my-app-client"
wasm_name = "my_app_client"
bindgen_output = "target/my-app-client/pkg"External adapter contract
javascript
export default {
version: 1,
mount(context) {
const instance = createLibrary(context.root, context.props);
return {
update(next) { instance.update(next); },
unmount() { instance.destroy(); }
};
}
};GSAP, Lenis, Three.js, WebGL, and other mature browser libraries remain native JavaScript. PliegoRS owns when they load, which capabilities admit them, and how they are cancelled and cleaned up.
Admission policy
- trigger
- load, visible, interaction, or explicit intent
- capability tier
- Device and renderer requirements checked before import
- Save-Data
- Can deny optional media or runtime work
- reduced motion
- Preserves content and actions while removing nonessential motion
Cleanup is automatic
Unmount, route replacement, policy changes, aborted imports, and failed updates cannot leave an adapter alive. Async cleanup completes before the next generation mounts.