reqlanOverviewIdeasFilesCode filesClustersAttributesGraphPrint

Printable idea sheet

webview_app_state

reqlan rq/codestyle/typescript.rq:42

Katz 0.070

Complex webviews ( activity bar, Ideas Summary ) own a single `AppState` class in `state/app.svelte.ts`.
Fields that drive UI are Svelte 5 `$state` properties on that class; side effects and host I / O are methods.
Export one module singleton ( `export const app = new AppState()` ) and inject it via svelte_app_context.
Do not use `svelte/store` writable / readable stores for new UI, and do not put zustand inside webview code
( zustand_boundary ).
Simple panels ( export form, onboarding, index diagnostics ) may keep `$state` on the root `App.svelte`
instead of a separate AppState module when the surface is a single form / flow.
Related: table_column_filters `$derived` binding rule;
graph_ui_persistence.

apply_to
*.rq".*_pane, *.rq".*, webview
implementation
app.svelte.ts, app.svelte.ts, App.svelte, App.svelte, App.svelte
status
done
tests
graph-ui-state.test.ts

Interactive page: webview_app_state