Repository navigation
1.1.0 prep: loop speed fix, triangle repaint, lower SDK floor, docs - #6
Merged
Merged
Conversation
…1.1.0 - MatrixLoader/DotLoader: a new `duration` now restarts a running loop or bounce so the speed change applies immediately (the demo speed slider was a no-op). - TriangleLoader: apply `duration` changes; repaint on color, triangleSize or wireframe changes (shouldRepaint compared progress only). - pubspec: sdk ^3.11.4 -> ^3.10.0 (no formatter-style change: dart_style gates nothing on 3.11), flutter >=1.17.0 -> >=3.38.0 to match it. Description and topics retuned for pub.dev search. - README: fix the JSON sample (used `frames` before declaring it) and the tap sample (printed a literal `$row`); complete the MatrixLoader table. - example/README.md: real usage guide (pub.dev shows it on the Example tab; it was flutter-create boilerplate). - .pubignore: exclude internal PROJECT.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Nqx3Cb32ba334DgP3HMese
- test/duration_change_test.dart: a running loop picks up a new duration (fails on the old code: the loop kept its original period). - ci.yml: sdk-floor job runs pub get, analyze lib and the tests on Flutter 3.38.0, the newly declared floor. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Nqx3Cb32ba334DgP3HMese
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Nqx3Cb32ba334DgP3HMese
Flutter 3.38.0 ships Dart 3.10.0-290.4.beta, a pre-release that `sdk: ^3.10.0` excludes, so the previous floor did not resolve on the Flutter version it named (caught by the new sdk-floor job). dart_style formats language 3.8-3.12 identically here (the only 3.10-gated change needs `trailing_commas: preserve`), so ^3.8.0 needs no reformat. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Nqx3Cb32ba334DgP3HMese
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FLp5T3rdw75F7RHF8w6GDL
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Quick wins from the 2026-10-10 package audit, revised after an independent review. The version stays 1.1.0 (still unpublished); the CHANGELOG 1.1.0 section is updated.
Fixes
durationchanges now apply to a running loop (MatrixLoader/DotLoader).repeat()keeps the period it started with, so a newdurationonly took effect afterplaybackorpausedchanged. The example's speed slider did nothing.durationchanges and playback islooporbounce.onceis untouched, soonCompletecan't fire twice.test/duration_change_test.dart. It fails on the old code.TriangleLoadernow appliesdurationchanges. It also repaints whencolor,triangleSizeorwireframechange;shouldRepaintcompared onlyprogress, so a static frame under reduced motion went stale.Reach
sdk ^3.11.4→^3.8.0,flutter >=1.17.0→>=3.32.0. The package previously needed about Flutter 3.41 and now resolves on Flutter 3.32 and later.sdk-floor:pub get,analyze liband the full test suite pass on Flutter 3.32.0 / Dart 3.8.0 stable.pub geterror, as annotations.trailing_commas: preserve. The format check passes.^3.10.0/ Flutter 3.38.0. The floor job showed that Flutter 3.38.0 ships Dart3.10.0-290.4.beta, a pre-release that^3.10.0excludes, so that floor did not actually resolve.loading, animation, ai, chat, dot-matrix.Docs
example/README.mdwas flutter-create boilerplate. pub.dev shows that file first on the Example tab, so it is now a recipe guide.framesbefore declaring it.\$row.MatrixLoadertable gainscolor,playback,curve,paused,onCompleteandonDotTapped..pubignorenow excludes the internalPROJECT.md.CLAUDE.mdstates the new floor.Not in this PR
DotLoader.repaint:painter refactor.TriangleLoaderclipping.Related: #1.
customDotSizeis already in 1.1.0; close #1 once 1.1.0 is published.🤖 Generated with Claude Code
Added on 2026-10-12, before release
publish.yml: pushing av<version>tag now publishes to pub.dev through GitHub's OIDC token. GitHub Actions publishing is now enabled on pub.dev for this package, with tag patternv{{version}}.deploy-web-demo.yml: rebuilds the live demo at https://hooshyar.github.io/flutter_dot_loader/ on every change tomain. It was last deployed by hand for 1.0.0.The example was built for the web and checked by hand. The gallery shows 60 loaders, and in the playground a duration change now slows the running loop.
🤖 Generated with Claude Code
https://claude.ai/code/session_01FLp5T3rdw75F7RHF8w6GDL
Generated by Claude Code