You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #134 removes Remix-owned Material imports, Material default icons, and uses-material-design from the published remix and remix_fortal packages. That establishes an important direct-source boundary, but it does not yet make the resolved dependency graph Material-free.
The current check_material_independence.dart scans only the two packages' own lib trees and pubspecs, then reports that the libraries “are independent of Material.” After the chart work merged to main, remix_fortal also depends on mix_chart, so the distinction matters:
mix has both replaceable broad imports and real Material theme integration. Tracked in conceptadev/mix#1021.
naked_ui uses Material selection controls and magnifier defaults as well as broad imports. Tracked in conceptadev/naked_ui#86.
mix_chart can remove its own direct Material color usage, but fl_chart remains a known transitive Material dependency unless or until its boundary changes.
This is a follow-up dependency-graph tracker, not a reopening of the host and navigation work from #82 or #96.
Target boundary
Use two explicit milestones:
Direct independence: published Remix source and manifests do not import, export, depend on, or enable Flutter Material themselves.
Transitive independence: the resolved runtime dependency graph also contains no Material-backed package code.
PR #134 should claim and enforce the first milestone. The second remains tracked here until compatible upstream releases exist.
Keep the source-level validator blocking for remix and remix_fortal, but change its success/error language and documentation to say direct Material independence.
Reuse existing canonical values for implementation code:
design tokens first for themed values;
MixColors for exact shared constants such as transparent, white, black, and black54 where Mix is already a dependency;
local constants only when adding a dependency would be unjustified.
Do not mechanically rewrite generated Radix color/icon source-of-truth files merely to deduplicate literals.
Track the first compatible Mix and Naked UI releases from the linked upstream issues, then update Remix constraints and tests deliberately.
Record fl_chart as a known transitive exception; do not require a fork or replacement without a separate evidence-backed decision.
Add a dependency-graph validation step when the transitive milestone becomes achievable.
The complete generated FortalIcons Radix catalog remains intentionally integrated in remix_fortal. Removing uses-material-design removes the Material icon-font contract; it does not mean the package must contain no font assets, and this tracker does not require extracting a separate icon package.
Problem
PR #134 removes Remix-owned Material imports, Material default icons, and
uses-material-designfrom the publishedremixandremix_fortalpackages. That establishes an important direct-source boundary, but it does not yet make the resolved dependency graph Material-free.The current
check_material_independence.dartscans only the two packages' ownlibtrees and pubspecs, then reports that the libraries “are independent of Material.” After the chart work merged tomain,remix_fortalalso depends onmix_chart, so the distinction matters:mixhas both replaceable broad imports and real Material theme integration. Tracked in conceptadev/mix#1021.naked_uiuses Material selection controls and magnifier defaults as well as broad imports. Tracked in conceptadev/naked_ui#86.mix_chartcan remove its own direct Material color usage, butfl_chartremains a known transitive Material dependency unless or until its boundary changes.This is a follow-up dependency-graph tracker, not a reopening of the host and navigation work from #82 or #96.
Target boundary
Use two explicit milestones:
PR #134 should claim and enforce the first milestone. The second remains tracked here until compatible upstream releases exist.
Coordination plan
Colors.transparent.remixandremix_fortal, but change its success/error language and documentation to say direct Material independence.MixColorsfor exact shared constants such as transparent, white, black, and black54 where Mix is already a dependency;fl_chartas a known transitive exception; do not require a fork or replacement without a separate evidence-backed decision.The complete generated
FortalIconsRadix catalog remains intentionally integrated inremix_fortal. Removinguses-material-designremoves the Material icon-font contract; it does not mean the package must contain no font assets, and this tracker does not require extracting a separate icon package.Acceptance criteria
Direct milestone
packages/remix/libandpackages/remix_fortal/libcontain no directpackage:flutter/material.dartimports or exports.uses-material-designor declare a Material UI dependency.WidgetsApp-based tests cover representative Remix, Fortal, overlay, and chart usage without a Material host.MixColorsvalues when exact equivalents already exist.FortalIconsfont behavior and release-size cost are documented accurately.Transitive milestone
mix_chartandfl_chart.Non-goals
fl_chartas part of feat(remix)!: remove direct Material usage from published packages #134.FortalIconsinto a standalone package without a separate consumer or release-management need.