Skip to content

Align shell builder APIs and complete public authoring docs - #197

Merged
zcourts merged 5 commits into
mainfrom
fix/shell-builder-api-parity
Aug 28, 2026
Merged

Align shell builder APIs and complete public authoring docs#197
zcourts merged 5 commits into
mainfrom
fix/shell-builder-api-parity

Conversation

@zcourts

@zcourts zcourts commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Fission applications can now seed the same prepared Env on Desktop, Mobile, Web, and Terminal. That makes translation and design-system setup portable instead of forcing Web apps to smuggle bundles through with_sync_env. Browser islands now retain the complete environment too, and can synchronize locale or theme from their own state before each build.\n\nA Web app can use the same setup as native:\n\nrust\nWebApp::<AppState, _>::new(App)\n .with_env(create_env()?)\n .with_design_system::<AppDesignSystem>(DesignMode::Light)\n .with_sync_env(|state, env| {\n env.locale = state.locale.clone();\n env.theme = AppDesignSystem::theme(state.theme_mode);\n })\n .run()?;\n\n\nThe common stateful builders now also expose the shared host key-handler and persistent reducer hooks where they were accidentally omitted. Mobile gains the matching live-test token builder. Terminal gains state initialization, startup action, design-system, frame-hook, and registry APIs. Its old closure-shaped with_env(|env| ...) convenience is renamed configure_env(...); with_env(...) now consistently takes a complete Env. Terminal font registration remains intentionally absent because the terminal emulator owns its font. Static and SSR retain build-time and request-time environment hooks because they do not have a persistent frame loop.\n\nThe routing reference now documents both synchronous and SQLite-backed asynchronous protected-route decisions at the router boundary. route_component publishes captured RouteParams during retained component conversion, so a matching component can read parameters without falling back to a function-built widget tree.\n\nFinally, the facade prelude is now rooted in the conflict-resolved public facade and includes the previously omitted built-in widget and terminal types. Public authoring widgets and the stateful shell APIs have substantive Rust documentation describing their behavior and parameters.

@zcourts
zcourts merged commit 0d21828 into main Aug 28, 2026
4 checks passed
@zcourts
zcourts deleted the fix/shell-builder-api-parity branch August 28, 2026 05:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant