01
HTML is the bridge
Direct requests return real documents. Warm navigation may use Page Payloads, but it still starts from server-owned state.
Shield renders · Shell wakes · HTML stays the bridge
SchildW3rk keeps the server responsible for truth, the browser responsible for interaction, and HTML as the bridge between both.
01
Direct requests return real documents. Warm navigation may use Page Payloads, but it still starts from server-owned state.
02
Shell wakes existing markup and owns small UI state. It does not become a second backend or a hidden router.
03
Shield resources, services and models keep HTTP, business logic and persistence concerns explicit.
Runtime flow
The server chooses the view and data. The browser wakes the HTML that already exists.
request
Params, input, guards and middleware live at the HTTP boundary.
render
The server selects a Shell view and sends props, head metadata, cache policy and assets.
wake
The browser wakes SSR markers and enhances links/forms without turning the app into RPC.
page result
A Resource returns a page result. The client receives the selected view and props, not a frontend-defined backend call.
return page({ view: Projects, props: { title: 'Projects', projects }, head: { title: 'Projects' }})client entry
Shield owns the root target and serialized props. The client entry stays small and explicit.
import './style.css'import { wakeRoot } from '@schildw3rk/shield/client'import App from './App.shell'wakeRoot(App)Package map
frontend
Components, local state, SSR markers, wake and the stable root.
server
Resources, page envelopes, app.start, Node adapter and security defaults.
build
Shell compilation, generated view registry and production manifest assets.
Where to start