reel_text
A tactile Flutter text roll animation for tiny labels, counters, status text, and command buttons.
0.4.4
2.8K downloads/mo
#4736 most downloaded on pub.dev
KickNext/reel_text
What this package is like to depend on
Last release 13 days ago
10 Aug 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 15 of 15 stable releases
1 version withdrawn
withdrawn after publishing
2 months old
16 releases · first in 2026
16 releases in the last 12 months
see the full history below
Release timeline
16 releases · Jun 2026 to Aug 2026Releases
latest 16-
0.4.410 Aug 2026Release notes
Open source →- Added a concise, copy-ready example for the pub.dev Example tab while preserving the full interactive showcase as the default example app.
- No public API changes.
-
0.4.320 Jul 2026Release notes
Open source →-
Optimize recurring rolls and prepare 0.4.3
-
Refresh hero preview for 0.4.3
Release notes
Open source →- Reused up to four recent text measurements across recurring rolls, reducing transition-start UI-thread spikes while keeping style, direction, locale, text scaling, rich-span identity, and widget metrics in the cache key.
- Preserved vertical glyph bleed while outgoing faces fade, preventing accents and descenders from being clipped during animation.
- No public API changes.
-
-
0.4.220 Jul 2026Release notes
Open source →-
Harden ReelText transition correctness
-
Prepare reel_text 0.4.2
-
Preserve active waiting loops on invalid input
Release notes
Open source →- Discarded transitions queued by a previous
ReelTextControllerwhen aReelTextwidget switches controllers, preventing stale targets from being applied later. - Validated animation durations, waiting intervals, and bounce values before
mutating controller state, with consistent
ArgumentErrorfailures for invalid input. - Disposed temporary
TextPainterinstances after text-run measurement on both success and exception paths. - Updated the example app to
google_fonts8.2.0. - No public API changes.
-
-
0.4.109 Jul 2026Release notes
Open source →- Fixed vertical alignment for
ReelTextEditingControllerreplacements insideEditableTextandTextField, including active rolling replacements that rely on Flutter's dry layout and baseline placeholder metrics. - Preserved the surrounding editable text strut for inline replacement widgets.
- No public API changes.
- Fixed vertical alignment for
-
0.4.024 Jun 2026Release notes
Open source →- Reworked plain rolling text slots to paint through cached render objects,
reducing per-frame widget rebuild work for dense
ReelTextscenes. - Added a full-screen performance stress screen to the example app with theme support and adjustable tile density.
- Fixed RTL rolling slot alignment while animated slot widths change.
- Added intrinsic/dry layout support for painted rolling slots and disposed
transient/cached
TextPainterresources used by the optimized paint path. - No public API changes.
- Reworked plain rolling text slots to paint through cached render objects,
reducing per-frame widget rebuild work for dense
-
0.3.023 Jun 2026Release notes
Open source →- Added
WidgetSpansupport toReelText.rich: inline widgets now stay in the reel row while neighboring text spans keep rolling. - Reworked the internal roll planner around a shared measured token pipeline for text glyphs and widget placeholders.
- Added regression coverage for RTL and mixed-bidi widget spans, keyed widget reorders, interrupted rich updates, selection sizing, and late placeholder measurement.
- Split the example recipe shell and preview widgets into smaller files.
- No public API changes.
- Added
-
0.2.122 Jun 2026Release notes
Open source →- Renamed the optional agent skill to the spec-compliant
reel-textname and matching folder. - Switched skill install docs and the example copy command to the
npx skills add ... --agent universalflow used by the official Flutter and Dart skill repositories. - Restored full-height tap targets for the example install copy buttons.
- Renamed the optional agent skill to the spec-compliant
-
0.2.022 Jun 2026 withdrawnRelease notes
Open source →- Added the optional
reel_text-usageAI agent skill for choosing meaningful short text transitions, rejecting broad decorative animation requests, and selecting the narrowestreel_textAPI. - Documented installation through the Dart
skillsCLI and verified the local path-dependency install flow. - Recorded pressure-scenario evidence for copy feedback, async labels, hero text, editable corrections, and RTL/mixed-bidi guidance.
- Moved example app details out of the root README and kept the publish archive small by excluding generated platform scaffolds and the root hero asset.
- No runtime API changes.
- Added the optional
-
0.1.619 Jun 2026Release notes
Open source →- Added visual-order glyph layout for RTL and mixed-bidi labels while keeping the existing roll width and alignment model.
- Built bidi rolls from visual-order slots, aligned from the inline end for RTL, so stable glyphs do not need a separate horizontal correction phase.
- Added regression coverage and a mixed-bidi example recipe for visual checks.
-
0.1.516 Jun 2026Release notes
Open source →- Corrected the 0.1.4 changelog to remove a mixed-bidi fix claim for visual-order work that was reverted before release.
- No runtime changes.
-
0.1.416 Jun 2026Release notes
Open source →- Added accessibility guideline coverage for the example app across desktop and mobile Home, Recipes, and Editor layouts.
- Improved example tap targets, semantic labels, and text-scale resilience for top navigation, metadata links, recipe controls, and editor controls.
- Made
ReelText.richrespect nestedTextSpan.semanticsLabelvalues unless a widget-levelsemanticsLabeloverride is provided. - Added locale and RTL alignment regression coverage.
- Added an example RTL script recipe for visually checking right-to-left rolls.
-
0.1.316 Jun 2026Release notes
Open source →- Fixed
DefaultTextStyle.textAligninheritance soReelTextfollows FlutterTextlayout semantics while internal glyph faces stay anchored inside their paint boxes. - Added regression coverage for inherited alignment, internal glyph alignment, empty controller targets, and rapid controller updates.
- Expanded the README API map and clarified layout, editable text, and example app behavior.
- Persisted the selected theme in the example app.
- Fixed
-
0.1.216 Jun 2026Release notes
Open source →- Relaxed the Dart and Flutter SDK constraints to support Flutter 3.16.0 and newer, while keeping the current package implementation unchanged.
- Documented that the showcase example tracks current stable Flutter separately from the package compatibility floor.
-
0.1.115 Jun 2026Release notes
Open source →- Fixed horizontal glyph clipping for heavy text styles in both rolling and settled states.
- Kept animated row sizing on the original interpolated-width behavior while giving individual glyph faces extra paint room.
- Added regression coverage for glyph paint bleed, bounded alignment, and selection-surface layout.
-
0.1.015 Jun 2026Release notes
Open source →- Split internal implementation into focused Dart part files while preserving
the public
package:reel_text/reel_text.dartAPI. - Implemented and documented
textAlignsupport for fixed-widthReelTextlayouts, covering both settled and rolling glyph states. - Tightened layout to match Flutter
Textexactly for settled and rolling target strings without extra animation padding. - Added SelectionArea support through a full-string selectable surface while keeping animated glyphs visual-only.
- Added
ReelText.richfor styledTextSpanphrases that still roll and select as one plain-text run. - Added
ReelText.sequencefor rotating labels without manually wiring a controller and timer. - Added
ReelTextController.runWhilefor async waiting/success/failure labels. - Added
ReelWaiting.scramblefor readable idle loops without custom frame generators. - Added
ReelTextOptionshelpers for color modes and reversed direction. - Added
ReelTextEditingController, aTextEditingControllersubclass for animating inline replacements inside FlutterEditableTextlayouts. - Added
ReelTextEditingController.animateReplacements(replacements: ...)andspanBuilderto reduce subclass boilerplate for editable text integrations. - Added tests and examples for adjacent extended emoji clusters, selection, exact text sizing, and an inline document editor demo for typo corrections.
- Upgraded the editor demo to use a
SpellCheckServicepipeline with LanguageTool, native platform spellcheck where available, and a deterministic multilingual fallback for tests and offline demo phrases.
- Split internal implementation into focused Dart part files while preserving
the public
-
0.0.112 Jun 2026Release notes
Open source →- Initial Flutter
ReelTextwidget. - Added declarative and imperative controller APIs.
- Added
set,flash,ReelTextOptions,ReelTextFlashOptions, andchromatic. - Added
startWaitingwithReelWaitingidle presets:ellipsis,wave,frames, andbuilder, each with designed motion defaults and an auto-derived steady frame cadence. - The stagger cascade now runs across changed slots only, so tail-only diffs
(counters, ellipsis dots) start instantly; incoming glyphs skip
exitOffsetwhen their slot was empty. - Springy curves now render their overshoot (it was clamped flat before), so
glyphs visibly settle with a bounce;
bouncescales the overshoot depth. - First settled frames now preserve full text-run advances instead of measuring isolated glyphs, avoiding broken startup letter spacing.
- Added reduced-motion support:
ReelTextsnaps instantly when the platform disables animations (respectDisableAnimations). - Added widget tests and a two-page studio example app (designed showcase + developer recipes with live previews and copy-ready code).
- Initial Flutter