Static where possible
This showcase is pre-rendered into static HTML with a small native-module shell. esbuild bundles only the modules required by the playgrounds. There is no application server, analytics endpoint or account service.
Respect the deployment base path
GitHub project Pages are hosted below a repository prefix. Links, workers, styles and native asset URLs must all include that prefix. Test direct navigation to a nested component guide, not only navigation from the homepage.
SITE_BASE=/WebComponents/ npm run build
npm run previewNative assets and WebGPU
SkiaSharpWeb’s loader, WASM and license notices are copied from the installed package. No font binaries are copied. The playground uses a raster backend for broad sandbox compatibility. WebGPU requires a suitable browser/device and secure context.
Isolate editable code
The playground uses an iframe sandbox without same-origin access, a restricted Content Security Policy and per-run message validation. Shared source is not auto-executed. User code can still consume CPU or memory; an iframe is not a resource quota or a substitute for reviewing code.
Keep service boundaries honest
Static Pages do not host GridWeb collaboration services, databases or server-side Blazor. Those capabilities need application-owned services and their own authentication and deployment configuration.
Component APIs and compatibility boundaries are documented in their upstream repositories. Each component page links to its own source and guide.
Put it into practice