Framework demo
The reference app from src/app/ — every core concept running live: module-scoped stores, controllers, standalone views, route params, and three worker islands on one shared worker.
If the frame is blank, the example isn't running: start it with npm run dev (framework demo) or npm run dev:enterprise from the repository root, or serve the built site with npm run serve:pages.
What to try
| Route | What it demonstrates |
|---|---|
/todos | TodoModule: module-scoped TodoStore + declared TodoController. Add todos, navigate away, come back — state survives because the module injector is cached. |
/counter | A view that is its own controller — signals on the class,onInit incrementing a root-provided session service. |
/hello/:name | A standalone view (no module) with @Component({ imports: [SharedModule] }) — route params plus module services without a feature module. |
/island | Three islands on ONE shared worker client: counter (click → event → worker re-render), clock (out-of-task pushes), a dynamically spawned fourth. The milestone emit lands in the shell's event log. See Islands. |
/raw-todos | Deliberately broken: TodoView mounted outside TodoModule's scope — the ownership check fails at mount and the error boundary catches it locally while the app stays alive. |