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.

src/appdemo/ ↗

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

RouteWhat it demonstrates
/todosTodoModule: module-scoped TodoStore + declared TodoController. Add todos, navigate away, come back — state survives because the module injector is cached.
/counterA view that is its own controller — signals on the class,onInit incrementing a root-provided session service.
/hello/:nameA standalone view (no module) with @Component({ imports: [SharedModule] }) — route params plus module services without a feature module.
/islandThree 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-todosDeliberately 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.