Skip to content

[WIP] Prototype interactive <DecisionTree> component on /interop - #14018

Draft
lamek wants to merge 14 commits into
flutter:mainfrom
lamek:interop-decision-tree
Draft

lamek wants to merge 14 commits into
flutter:mainfrom
lamek:interop-decision-tree

Conversation

@lamek

@lamek lamek commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

Early WIP prototype exploring an interactive <DecisionTree> component as one possible way to replace the duplicated Mermaid diagram + text walkthrough on /interop (/interop is the only example wired up here).

cc @mariamhas @parlough for early thoughts/visibility—just one experiment to poke at once the staged preview builds!

- Add Native interop landing page with decision tree and layers guide
- Add Pigeon guide covering platform channels and native bindings modes
- Add FFIgen guide covering Apple frameworks, C-ABI, and developer flow
- Add dart:ffi guide for native memory allocation and concurrency
- Move bind-native-code into platform-integration/interop/
- Add JNIgen guide for Java/Kotlin and Android bindings
- Update platform-channels to focus on manual message passing
- Update sidenav default.yml with new Native interop section
- Update firebase.json with 301 redirect for bind-native-code

TAG=agy
CONV=a76ca369-bcbf-4f8a-822b-b2d6bdd86f54
- Restore exact text, structure, and headings from the Google Doc
- Remove extraneous code examples from developer flow sections

TAG=agy
CONV=a76ca369-bcbf-4f8a-822b-b2d6bdd86f54
Replaces the duplicated Mermaid flowchart and text walkthrough on the Native Interop overview page (/interop) with a single YAML-driven <DecisionTree> custom Jaspr component.

- Adds DecisionTree and DecisionTreeComponent in package:site_shared/components/common/decision_tree.dart using server-rendered HTML + progressive client enhancement (avoiding @client build_runner codegen churn).
- Adds responsive, theme-aware styling in package:site_shared/_sass/components/_decision-tree.scss using existing site CSS custom properties, including 'Show all paths' and @media print support.
- Wires client interactivity (option selection, downstream step/recommendation reveal, reset, and 'Show all paths' toggle) in sites/docs/lib/src/client/global_scripts.dart.
- Updates sites/docs/src/content/interop/index.md to author the decision tree once in inline YAML.
@flutter-website-bot

Copy link
Copy Markdown
Collaborator

Staged preview of the updated docs.flutter.dev site (updated for commit a66efa5):

https://flutter-docs-prod--docs-pr14018-interop-decision-tree-ajwqq5l0.web.app

@lamek

lamek commented Oct 30, 2026

Copy link
Copy Markdown
Contributor Author

You can view the new decision tree plugin (mock up) on this page: https://flutter-docs-prod--docs-pr14018-interop-decision-tree-ajwqq5l0.web.app/interop

@flutter-website-bot

Copy link
Copy Markdown
Collaborator

Staged preview of the updated flutter.dev site (updated for commit a66efa5):

https://flutter-dev-230821--www-pr14018-interop-decision-tree-ri7a2776.web.app

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.

2 participants