Skip to content

Document and test Remix host capability requirements #96

Description

@leoafarias

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions