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
{{ message }}
Repository navigation
Commit 8ce8bfc
Browse filesBrowse the repository at this point in the historyBrowse files
@@ -12,8 +13,8 @@ From a 3-dot "thinking…" indicator for AI chats to a 60-pattern LED matrix wit
12
13
### ▶️ [Try the live demo](https://hooshyar.github.io/flutter_dot_loader/) — browse all 60 patterns, tweak every knob, and draw your own frames right in the browser.
13
14
14
15
<palign="center">
15
-
<imgsrc="assets/1.gif"width="48%"alt="Gallery of 60 dot-matrix loader patterns" />
16
-
<imgsrc="assets/2.gif"width="48%"alt="Interactive Dot Matrix Studio editor" />
16
+
<imgsrc="https://raw.githubusercontent.com/hooshyar/flutter_dot_loader/main/assets/1.gif"width="48%"alt="Gallery of 60 dot-matrix loader patterns" />
17
+
<imgsrc="https://raw.githubusercontent.com/hooshyar/flutter_dot_loader/main/assets/2.gif"width="48%"alt="Interactive Dot Matrix Studio editor" />
17
18
</p>
18
19
19
20
---
@@ -23,7 +24,7 @@ From a 3-dot "thinking…" indicator for AI chats to a 60-pattern LED matrix wit
23
24
| Feature | Description |
24
25
|---|---|
25
26
| 💬 **AI-chat "thinking" indicator**| One-liner `DotLoader(color: …)` for chat / AI apps — sensible defaults, `const`-constructable |
Available on `MatrixLoader`, `DotLoader`, and `TriangleLoader`; follows the same convention as Flutter's `ProgressIndicator.semanticsLabel`.
221
+
Available on `MatrixLoader`, `DotLoader`, and `TriangleLoader`; follows the same convention as Flutter's `ProgressIndicator.semanticsLabel`. The `DotLoader.typing/thinking/searching/generating` presets ship with a default label.
222
+
223
+
**Reduced motion.** When the OS "reduce motion" setting is on (`MediaQuery.disableAnimations`), every loader stops its ticker and paints one static frame (the end frame for `MatrixPlayback.once`, which also fires `onComplete` right away). It reacts if the setting changes while the app runs. Opt out per widget with `respectReducedMotion: false`.
192
224
193
225
### 5. Pick from 60 Patterns
194
226
@@ -341,14 +373,18 @@ The primary widget for dot-matrix loading animations.
341
373
|`pattern`|`MatrixPattern`|`square1`| Animation pattern; use `custom` with `customIntensity`|
342
374
|`activeColor`|`Color`|`Colors.white`| Color of lit/active dots |
343
375
|`inactiveColor`|`Color`|`Color(0xFF27272A)`| Color of dim/inactive dots |
344
-
|`size`|`double`|`64.0`| Width and height of the bounding box |
376
+
|`size`|`double`|`64.0`| Square bounding-box shorthand; fallback for `width`/`height`|
377
+
|`width`|`double?`|`null`| Bounding box width; falls back to `size` when `null`|
378
+
|`height`|`double?`|`null`| Bounding box height; falls back to `size` when `null` (`DotLoader` derives it from `rows` instead) |
345
379
|`dotSize`|`double`|`4.0`| Diameter of each dot in logical pixels |
346
-
|`spacing`|`double?`| auto | Gap between dots; auto-calculated from `size` if `null`|
380
+
|`spacing`|`double?`| auto | Gap between dots; auto-calculated per axis to fit the box if `null`|
347
381
|`duration`|`Duration`|`1500ms`| Duration of one complete animation cycle |
348
382
|`hoverAnimated`|`bool`|`true`| Enables hover ripple on web/desktop |
349
383
|`opacityBase`|`double`|`0.08`| Minimum opacity for unlit dots |
350
384
|`opacityMid`|`double`|`0.34`| Mid-point opacity for the LED glow curve |
351
385
|`opacityPeak`|`double`|`0.94`| Maximum opacity for fully lit dots |
386
+
|`customDotSize`|`double Function(int row, int col)?`|`null`| Per-dot size scale (1.0 = `dotSize`, 0 hides the dot). Painting only: tap hit-testing and auto-spacing keep using `dotSize`|
387
+
|`respectReducedMotion`|`bool`|`true`| Stop animating and paint one static frame when the OS asks for reduced motion |
352
388
|`customMask`|`bool Function(int row, int col)?`|`null`| Custom function to determine if a dot is rendered |
353
389
|`customIntensity`|`double Function(int row, int col, double progress)?`|`null`| Custom function to drive dot intensity (use with `MatrixPattern.custom`) |
354
390
|`semanticsLabel`|`String?`|`null`| Label announced by screen readers; `null` = decorative (no semantics node) |
@@ -387,7 +423,10 @@ A geometric loader using a tessellated grid of equilateral triangles.
387
423
| Parameter | Type | Default | Description |
388
424
|---|---|---|---|
389
425
|`color`|`Color`|`Colors.indigoAccent`| Color of the triangles |
390
-
|`size`|`double`|`200.0`| Width and height of the bounding box |
426
+
|`size`|`double`|`200.0`| Square bounding-box shorthand; fallback for `width`/`height`|
427
+
|`width`|`double?`|`null`| Bounding box width; falls back to `size` when `null`|
428
+
|`height`|`double?`|`null`| Bounding box height; falls back to `size` when `null`|
429
+
|`respectReducedMotion`|`bool`|`true`| Stop animating and paint one static frame when the OS asks for reduced motion |
391
430
|`triangleSize`|`double`|`30.0`| Side length of each equilateral triangle |
392
431
|`duration`|`Duration`|`4s`| Duration of one animation cycle |
393
432
|`wireframe`|`bool`|`false`| If `true`, renders only triangle outlines |
Copy file name to clipboardExpand all lines: backlog/tasks/task-001 - Fix red CI on main (dart format drift).md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
id: TASK-001
3
3
title: Fix red CI on main (dart format drift)
4
-
status: To Do
4
+
status: Done
5
5
priority: high
6
6
labels: [improvement-plan-2026-09]
7
7
created_date: '2026-09-24'
@@ -19,3 +19,7 @@ Acceptance criteria:
19
19
-[ ] Ship as 1.0.1
20
20
21
21
See docs/IMPROVEMENT-PLAN-2026-09.md (P0-1, B1, B5, B6).
22
+
23
+
## Final Summary
24
+
25
+
Formatting fixed with the resolved package config, CI badge and README alias count (16) added, pubspec boilerplate removed. Included in 1.1.0 rather than a separate 1.0.1.
0 commit comments