Problem
Remix is composable inside an application's existing host, but public examples and test helpers predominantly use MaterialApp and Scaffold. The infrastructure required by ordinary widgets, portal-based overlays, and route dialogs is not documented or protected as an explicit compatibility contract.
Scope
- Document a host capability matrix covering:
- ordinary Remix/Fortal widgets in an existing subtree;
- menu, select, popover, and tooltip with a caller-provided
Overlay;
- dialogs with a caller-provided
Navigator;
- Material, Cupertino, Widgets, and router-based application hosts.
- Add a
WidgetsApp.builder test using Flutter's Overlay.wrap with no Navigator, and exercise the portal component families with Fortal/Mix inheritance.
- Add dialog tests under
WidgetsApp with an explicitly caller-owned Navigator.
- Update README, documentation, examples, and shared test guidance so
MaterialApp and Scaffold are presented as interoperability choices rather than Remix requirements.
Acceptance criteria
- Portal component tests pass with
Overlay.wrap and no Navigator.
- Dialog tests pass with a caller-provided
Navigator, and the requirement is documented.
- Public documentation contains a concise host capability matrix.
- No Remix-owned application, overlay-host, navigation, or scaffold abstraction is introduced.
Non-goals
- Rewriting the dashboard shell.
- Adding
RemixApp, RemixOverlayHost, or RemixScaffold.
- Removing Material imports, default icons, or
uses-material-design.
- Changing the dashboard toast without a current failing regression test.
Supersedes the focused host-contract portion of #82. The dashboard itself landed independently in #95.
References
Problem
Remix is composable inside an application's existing host, but public examples and test helpers predominantly use
MaterialAppandScaffold. The infrastructure required by ordinary widgets, portal-based overlays, and route dialogs is not documented or protected as an explicit compatibility contract.Scope
Overlay;Navigator;WidgetsApp.buildertest using Flutter'sOverlay.wrapwith noNavigator, and exercise the portal component families with Fortal/Mix inheritance.WidgetsAppwith an explicitly caller-ownedNavigator.MaterialAppandScaffoldare presented as interoperability choices rather than Remix requirements.Acceptance criteria
Overlay.wrapand noNavigator.Navigator, and the requirement is documented.Non-goals
RemixApp,RemixOverlayHost, orRemixScaffold.uses-material-design.Supersedes the focused host-contract portion of #82. The dashboard itself landed independently in #95.
References
Overlay.wrapWidgetsApp.builderOverlayPortal