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
Replace the 25 historical handwritten Fortal* wrappers with deterministic @MixWidget output while preserving the public APIs and behavior present on main.
The annotations use explicit Remix widget targets and curated recipe
parameters. Generated constructors expose existing variant/size controls and
the underlying content/behavior parameters, while omitting style, styleSpec, and non-widget recipe controls.
This PR also adds a clean-generation check that deletes every committed .g.dart artifact, regenerates from source, and verifies byte-for-byte output.
Related Issues
Uses the generator support merged in conceptadev/mix#997 and released
as mix_annotations 2.2.0-beta.1 and mix_generator 2.2.0-beta.2.
Checklist
My PR includes unit or integration tests for all changed/updated/fixed
behaviors.
I have updated or added relevant documentation (doc comments with ///).
I am prepared to follow up on review comments in a timely manner.
Breaking Change
Does this PR require users of the package to manually update their code?
Yes, this is a breaking change.
No, this is not a breaking change.
Validation
dart run tool/check_generated.dart — clean regeneration reproduced all 23
committed artifacts byte-for-byte.
flutter analyze — no issues.
flutter test --reporter=failures-only — 1,889 tests passed.
git diff --check — passed.
GitHub CI — analyzer and package test workflow passed against the published
Mix prereleases.
This PR is being closed without merging because the final Fortal
generator/API decision was completed on #80 after this branch was created.
Nothing is being discarded: every commit in this branch is already an ancestor
of #80, and #80 now targets main directly.
This branch must not be used as the final API reference. It still contains the
earlier contract:
25 curated factoryParameters annotations;
public fortal*Styler recipe names;
generated output that predates the final all-recipe-parameters surface.
named variant constructors plus the unnamed constructor/public variant for
dynamic selection;
all recipe parameters exposed, including supported highContrast controls
and Avatar fallbackLength;
no #998/#999 variant-registration machinery.
PRs #92 and #93 remain valid feature drafts, but their workspaces must fetch
the latest #80 head, replay only their handwritten feature source/tests onto feat/fortal-polish, regenerate all .g.dart files, and retarget their PR base
to feat/fortal-polish.
The feat/fortal-generated-wrappers branch is intentionally retained until
those dependent workspaces have migrated. Closing this PR does not delete or
rewrite that branch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Replace the 25 historical handwritten
Fortal*wrappers with deterministic@MixWidgetoutput while preserving the public APIs and behavior present onmain.The annotations use explicit Remix widget targets and curated recipe
parameters. Generated constructors expose existing variant/size controls and
the underlying content/behavior parameters, while omitting
style,styleSpec, and non-widget recipe controls.This PR also adds a clean-generation check that deletes every committed
.g.dartartifact, regenerates from source, and verifies byte-for-byte output.Related Issues
Uses the generator support merged in
conceptadev/mix#997 and released
as
mix_annotations 2.2.0-beta.1andmix_generator 2.2.0-beta.2.Checklist
behaviors.
///).Breaking Change
Does this PR require users of the package to manually update their code?
Validation
dart run tool/check_generated.dart— clean regeneration reproduced all 23committed artifacts byte-for-byte.
flutter analyze— no issues.flutter test --reporter=failures-only— 1,889 tests passed.git diff --check— passed.Mix prereleases.