From f203baff92d14c3c64b920aba5ad5db95393c94a Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 14:03:07 -0700 Subject: [PATCH 01/40] chore: rename package to flutter_border_beam and move to SimplifyJobs The pub.dev name border_beam is taken by an unrelated package, so the barrel becomes package:flutter_border_beam/flutter_border_beam.dart and every import, the example app, README, CHANGELOG, CLAUDE.md, and the demo tooling follow. pubspec points at the canonical SimplifyJobs repository (repository/issue_tracker/homepage) and gains a screenshots section backed by the PNGs now shipped in screenshots/ (assets/ stays pub-ignored). LICENSE leads with the canonical MIT header so GitHub detects it, with the border-beam third-party notice preserved below. Example pubspec drops its boilerplate, the unused cupertino_icons dep, and aligns its SDK constraint with the package. Co-Authored-By: Claude Opus 5 (1M context) --- .gitignore | 5 +- .gitkeep | 0 .pubignore | 2 + CHANGELOG.md | 8 ++ CLAUDE.md | 4 +- LICENSE | 14 +-- README.md | 14 +-- example/README.md | 22 ++++- example/lib/main.dart | 6 +- example/lib/pulse_outside_demo.dart | 2 +- example/lib/showcase.dart | 2 +- example/lib/src/playground.dart | 2 +- example/pubspec.lock | 32 ++----- example/pubspec.yaml | 81 ++---------------- example/test/gallery_smoke_test.dart | 2 +- ...der_beam.dart => flutter_border_beam.dart} | 0 pubspec.yaml | 15 +++- {assets/showcase => screenshots}/line.png | Bin .../pulse_outside.png | Bin {assets/showcase => screenshots}/rotate.png | Bin {assets/showcase => screenshots}/squircle.png | Bin test/animation/beam_clock_test.dart | 2 +- test/animation/beam_phases_test.dart | 10 +-- test/animation/oscillator_test.dart | 6 +- test/constants/palette_data_test.dart | 10 +-- test/golden/beam_golden_test.dart | 2 +- test/painting/color_matrix_test.dart | 4 +- test/painting/paint_smoke_test.dart | 10 +-- test/widget/border_beam_test.dart | 2 +- tool/record_demo.sh | 2 +- 30 files changed, 109 insertions(+), 150 deletions(-) delete mode 100644 .gitkeep rename lib/{border_beam.dart => flutter_border_beam.dart} (100%) rename {assets/showcase => screenshots}/line.png (100%) rename {assets/showcase => screenshots}/pulse_outside.png (100%) rename {assets/showcase => screenshots}/rotate.png (100%) rename {assets/showcase => screenshots}/squircle.png (100%) diff --git a/.gitignore b/.gitignore index 3313a58..cb61abb 100644 --- a/.gitignore +++ b/.gitignore @@ -28,7 +28,10 @@ migrate_working_dir/ .dart_tool/ .flutter-plugins-dependencies /build/ -/coverage/ +coverage/ + +# Golden-test diff output (flutter test writes failures next to the goldens) +test/**/failures/ # Local demo recordings (tool/record_demo.sh) .demos/ diff --git a/.gitkeep b/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/.pubignore b/.pubignore index 8a23fd1..11f0675 100644 --- a/.pubignore +++ b/.pubignore @@ -1,4 +1,6 @@ # Repo-only files, excluded from the published pub package. +# `screenshots/` stays in the archive — pub.dev renders the images the +# pubspec's `screenshots:` section points at, so they must ship with the package. assets/ tool/ CLAUDE.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ecfbcb..f5189ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## Unreleased + +### Changed + +- The package is named `flutter_border_beam`; the barrel is + `package:flutter_border_beam/flutter_border_beam.dart`. +- The canonical repository is https://github.com/SimplifyJobs/flutter_border_beam. + ## 0.1.0 Initial release — a faithful Flutter port of the [border-beam](https://github.com/Jakubantalik/border-beam) React library (v1.3.0) by Jakub Antalik. diff --git a/CLAUDE.md b/CLAUDE.md index 2e5239f..4ea8a25 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,4 +1,4 @@ -# border_beam — agent guide +# flutter_border_beam — agent guide Flutter package: animated border beam effects. A faithful port of the [border-beam](https://github.com/Jakubantalik/border-beam) React library @@ -22,7 +22,7 @@ widget (`BeamClock`), mirroring the React library's single shared rAF loop. No `AnimationController`s; phases are recomputed from `elapsedSeconds` each frame. -- `lib/border_beam.dart` — barrel; ONLY `BorderBeam`, `BorderBeamController`, `BeamVariant`, `BeamColors`, `BeamBlob`/`LineBlob`, `BeamTheme` are public. +- `lib/flutter_border_beam.dart` — barrel; ONLY `BorderBeam`, `BorderBeamController`, `BeamVariant`, `BeamColors`, `BeamBlob`/`LineBlob`, `BeamTheme` are public. - `lib/src/border_beam.dart` — widget, 5 named constructors, scheduling/lifecycle. Controller attached ⇒ it owns playback exclusively (asserts `startAfter`/`duration` are null). - `lib/src/animation/` — `beam_clock.dart` (ticker, speed, pause, spring fades via `sprung`, optional fps cap), `oscillator.dart` (pingPong + the 17-oscillator pulse bank), `beam_phases.dart` (per-frame value object + keyframe sampling). - `lib/src/painting/` — `beam_painter.dart` (one `CustomPainter`, repaint driven by the clock, `behind`/`above` passes), `strategies/` (one per variant family), `ring_geometry.dart` (rrect + `RSuperellipse` ring via `Path.combine` difference), `gradient_builders.dart`, `color_matrix.dart` (hue/brightness/saturation matrices), `layer_utils.dart`. diff --git a/LICENSE b/LICENSE index 03f3c9f..200c6e9 100644 --- a/LICENSE +++ b/LICENSE @@ -2,11 +2,6 @@ MIT License Copyright (c) 2026 Rehmat Singh Gill -This package is a Flutter port of the "border-beam" React library: -Copyright (c) 2026 Jakub Antalik (https://github.com/Jakubantalik/border-beam), -released under the MIT License. All visual designs, color palettes, gradient -geometry, and animation timings are derived from that work. - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -24,3 +19,12 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------------------- + +Third-party notice + +This package is a Flutter port of the "border-beam" React library: +Copyright (c) 2026 Jakub Antalik (https://github.com/Jakubantalik/border-beam), +released under the MIT License. All visual designs, color palettes, gradient +geometry, and animation timings are derived from that work. diff --git a/README.md b/README.md index d3e62dc..f71da4e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# border_beam +# flutter_border_beam Animated border beam effects for Flutter — a traveling or breathing glow around any widget: cards, buttons, inputs, or search bars. @@ -9,21 +9,21 @@ A faithful Flutter port of the [border-beam](https://github.com/Jakubantalik/bor @@ -51,7 +51,7 @@ Run the example app for the full animated gallery (`cd example && flutter run`); ```yaml dependencies: - border_beam: ^0.1.0 + flutter_border_beam: ^0.1.0 ``` ## Usage @@ -59,7 +59,7 @@ dependencies: Wrap any widget: ```dart -import 'package:border_beam/border_beam.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; BorderBeam.rotate( child: Card(child: content), diff --git a/example/README.md b/example/README.md index c3a47ab..46e7c02 100644 --- a/example/README.md +++ b/example/README.md @@ -1,18 +1,32 @@ -# border_beam example +# flutter_border_beam example -A gallery recreating the original [border-beam demo](https://beam.jakubantalik.com) in Flutter: Rotate/Pulse example tabs with mock chat inputs, task cards, and search bars, plus an interactive playground (variant, palette, strength, squircle, play/pause) with live code snippets. Dark/light theme toggle included; styling uses the demo's own design tokens, not Material defaults. +The gallery app for the [`flutter_border_beam`](../) package — a Flutter +recreation of the original [border-beam demo](https://beam.jakubantalik.com). ```bash flutter run ``` +## What's in it + +- **Rotate** and **Pulse** example tabs, wrapping mock chat inputs, task cards, + and search bars — the same surfaces the original demo uses. +- **Playground** — pick a variant and palette, drag `strength`, toggle the + superellipse contour, and play/pause the beam, with a live code snippet that + matches whatever you've dialled in. +- A dark/light theme toggle. Styling comes from the demo's own design tokens + (`lib/src/demo_theme.dart`), not Material defaults. + ## Demo reels -Entry points other than `lib/main.dart` are recording reels driven by `lib/demo_harness.dart` (marker contract: `::START/END` … `:DONE`). Record them with the repo's `tool/record_demo.sh`: +Entry points other than `lib/main.dart` are recording reels driven by +`lib/demo_harness.dart` (marker contract: `::START/END` … +`:DONE`). Record them with the repo's `tool/record_demo.sh`: ```bash # from the package root, with a booted iOS simulator and ffmpeg installed tool/record_demo.sh --target lib/showcase.dart --prefix SHOWCASE --contact ``` -Output mp4s land in `.demos/` (gitignored), center-cropped at 60fps, with an optional contact-sheet PNG for review. +Output mp4s land in `.demos/` (gitignored), center-cropped at 60fps, with an +optional contact-sheet PNG for review. diff --git a/example/lib/main.dart b/example/lib/main.dart index a0948fb..733dfce 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,4 +1,4 @@ -import 'package:border_beam/border_beam.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; import 'package:flutter/material.dart'; import 'src/demo_theme.dart'; @@ -7,7 +7,7 @@ import 'src/playground.dart'; void main() => runApp(const BorderBeamDemoApp()); -/// The border_beam gallery — a Flutter recreation of the original React +/// The flutter_border_beam gallery — a Flutter recreation of the original React /// demo (https://beam.jakubantalik.com): hero, Rotate/Pulse example tabs, /// and an interactive playground, styled with the demo's own tokens instead /// of Material defaults. @@ -324,7 +324,7 @@ class _Footer extends StatelessWidget { ), const SizedBox(height: 4), Text( - 'Flutter port · border_beam package', + 'Flutter port · flutter_border_beam package', textAlign: TextAlign.center, style: muted.copyWith(color: t.muted.withValues(alpha: 0.5)), ), diff --git a/example/lib/pulse_outside_demo.dart b/example/lib/pulse_outside_demo.dart index f2927fb..49a86af 100644 --- a/example/lib/pulse_outside_demo.dart +++ b/example/lib/pulse_outside_demo.dart @@ -1,4 +1,4 @@ -import 'package:border_beam/border_beam.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; import 'package:flutter/material.dart'; import 'demo_harness.dart'; diff --git a/example/lib/showcase.dart b/example/lib/showcase.dart index 6c14531..6e277af 100644 --- a/example/lib/showcase.dart +++ b/example/lib/showcase.dart @@ -1,4 +1,4 @@ -import 'package:border_beam/border_beam.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; import 'package:flutter/material.dart'; import 'demo_harness.dart'; diff --git a/example/lib/src/playground.dart b/example/lib/src/playground.dart index bc77fe3..b79fccf 100644 --- a/example/lib/src/playground.dart +++ b/example/lib/src/playground.dart @@ -1,4 +1,4 @@ -import 'package:border_beam/border_beam.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; import 'package:flutter/material.dart'; import 'demo_theme.dart'; diff --git a/example/pubspec.lock b/example/pubspec.lock index 856c008..8636d13 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -17,13 +17,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.2" - border_beam: - dependency: "direct main" - description: - path: ".." - relative: true - source: path - version: "0.1.0" characters: dependency: transitive description: @@ -48,14 +41,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.19.1" - cupertino_icons: - dependency: "direct main" - description: - name: cupertino_icons - sha256: "41e005c33bd814be4d3096aff55b1908d419fde52ca656c8c47719ec745873cd" - url: "https://pub.dev" - source: hosted - version: "1.0.9" fake_async: dependency: transitive description: @@ -69,6 +54,13 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_border_beam: + dependency: "direct main" + description: + path: ".." + relative: true + source: path + version: "0.1.0" flutter_lints: dependency: "direct dev" description: @@ -159,14 +151,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.10.2" - sprung: - dependency: transitive - description: - name: sprung - sha256: "54322638f5e393d2b808175f7eadbaa4836a4425456e98d93c3d676dc56ebdf1" - url: "https://pub.dev" - source: hosted - version: "3.0.1" stack_trace: dependency: transitive description: @@ -224,5 +208,5 @@ packages: source: hosted version: "15.2.0" sdks: - dart: ">=3.12.2 <4.0.0" + dart: ">=3.10.0-0 <4.0.0" flutter: ">=3.35.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index bab8497..795c783 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -1,91 +1,24 @@ -name: border_beam_example -description: "A new Flutter project." -# The following line prevents the package from being accidentally published to -# pub.dev using `flutter pub publish`. This is preferred for private packages. -publish_to: 'none' # Remove this line if you wish to publish to pub.dev +name: flutter_border_beam_example +description: >- + Gallery and interactive playground for the flutter_border_beam package, + plus the recording reels used to capture its demo videos. +publish_to: 'none' -# The following defines the version and build number for your application. -# A version number is three numbers separated by dots, like 1.2.43 -# followed by an optional build number separated by a +. -# Both the version and the builder number may be overridden in flutter -# build by specifying --build-name and --build-number, respectively. -# In Android, build-name is used as versionName while build-number used as versionCode. -# Read more about Android versioning at https://developer.android.com/studio/publish/versioning -# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. -# Read more about iOS versioning at -# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -# In Windows, build-name is used as the major, minor, and patch parts -# of the product and file versions while build-number is used as the build suffix. version: 1.0.0+1 environment: - sdk: ^3.12.2 + sdk: ^3.9.0 -# Dependencies specify other packages that your package needs in order to work. -# To automatically upgrade your package dependencies to the latest versions -# consider running `flutter pub upgrade --major-versions`. Alternatively, -# dependencies can be manually updated by changing the version numbers below to -# the latest version available on pub.dev. To see which dependencies have newer -# versions available, run `flutter pub outdated`. dependencies: flutter: sdk: flutter - border_beam: + flutter_border_beam: path: ../ - # The following adds the Cupertino Icons font to your application. - # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^1.0.8 - dev_dependencies: flutter_test: sdk: flutter - - # The "flutter_lints" package below contains a set of recommended lints to - # encourage good coding practices. The lint set provided by the package is - # activated in the `analysis_options.yaml` file located at the root of your - # package. See that file for information about deactivating specific lint - # rules and activating additional ones. flutter_lints: ^6.0.0 -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following section is specific to Flutter packages. flutter: - - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. uses-material-design: true - - # To add assets to your application, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg - - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/to/resolution-aware-images - - # For details regarding adding assets from package dependencies, see - # https://flutter.dev/to/asset-from-package - - # To add custom fonts to your application, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts from package dependencies, - # see https://flutter.dev/to/font-from-package diff --git a/example/test/gallery_smoke_test.dart b/example/test/gallery_smoke_test.dart index 3862aba..b4eab22 100644 --- a/example/test/gallery_smoke_test.dart +++ b/example/test/gallery_smoke_test.dart @@ -1,4 +1,4 @@ -import 'package:border_beam_example/main.dart'; +import 'package:flutter_border_beam_example/main.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/lib/border_beam.dart b/lib/flutter_border_beam.dart similarity index 100% rename from lib/border_beam.dart rename to lib/flutter_border_beam.dart diff --git a/pubspec.yaml b/pubspec.yaml index dd3c902..9a6f123 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,17 +1,28 @@ -name: border_beam +name: flutter_border_beam description: >- Animated border beam effects for Flutter. Traveling and breathing glow animations around any widget — cards, buttons, inputs — with rotate, line, and pulse variants, custom palettes, superellipse borders, and an optional playback controller. A faithful port of the border-beam React library. version: 0.1.0 -repository: https://github.com/rehmatsg/border-beam +repository: https://github.com/SimplifyJobs/flutter_border_beam +issue_tracker: https://github.com/SimplifyJobs/flutter_border_beam/issues +homepage: https://github.com/SimplifyJobs/flutter_border_beam topics: - animation - border - glow - effect - ui +screenshots: + - path: screenshots/rotate.png + description: Rotate variant — a beam travels around the full border of a card. + - path: screenshots/pulse_outside.png + description: Pulse-outside variant — a breathing halo blooms behind the child. + - path: screenshots/line.png + description: Line variant — the beam rides the bottom edge of an input. + - path: screenshots/squircle.png + description: Superellipse borders in the ocean palette — Apple-style squircle contour. environment: sdk: ^3.9.0 diff --git a/assets/showcase/line.png b/screenshots/line.png similarity index 100% rename from assets/showcase/line.png rename to screenshots/line.png diff --git a/assets/showcase/pulse_outside.png b/screenshots/pulse_outside.png similarity index 100% rename from assets/showcase/pulse_outside.png rename to screenshots/pulse_outside.png diff --git a/assets/showcase/rotate.png b/screenshots/rotate.png similarity index 100% rename from assets/showcase/rotate.png rename to screenshots/rotate.png diff --git a/assets/showcase/squircle.png b/screenshots/squircle.png similarity index 100% rename from assets/showcase/squircle.png rename to screenshots/squircle.png diff --git a/test/animation/beam_clock_test.dart b/test/animation/beam_clock_test.dart index 643e8ae..5f740be 100644 --- a/test/animation/beam_clock_test.dart +++ b/test/animation/beam_clock_test.dart @@ -1,6 +1,6 @@ -import 'package:border_beam/src/animation/beam_clock.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/scheduler.dart'; +import 'package:flutter_border_beam/src/animation/beam_clock.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { diff --git a/test/animation/beam_phases_test.dart b/test/animation/beam_phases_test.dart index b8c928a..7f0e298 100644 --- a/test/animation/beam_phases_test.dart +++ b/test/animation/beam_phases_test.dart @@ -1,11 +1,11 @@ import 'dart:math' as math; import 'dart:ui'; -import 'package:border_beam/src/animation/beam_phases.dart'; -import 'package:border_beam/src/constants/line_keyframes.dart'; -import 'package:border_beam/src/models/beam_colors.dart'; -import 'package:border_beam/src/models/beam_config.dart'; -import 'package:border_beam/src/models/beam_variant.dart'; +import 'package:flutter_border_beam/src/animation/beam_phases.dart'; +import 'package:flutter_border_beam/src/constants/line_keyframes.dart'; +import 'package:flutter_border_beam/src/models/beam_colors.dart'; +import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_border_beam/src/models/beam_variant.dart'; import 'package:flutter_test/flutter_test.dart'; BeamConfig _config( diff --git a/test/animation/oscillator_test.dart b/test/animation/oscillator_test.dart index 5da0d13..8615aff 100644 --- a/test/animation/oscillator_test.dart +++ b/test/animation/oscillator_test.dart @@ -1,8 +1,8 @@ import 'dart:ui'; -import 'package:border_beam/src/animation/oscillator.dart'; -import 'package:border_beam/src/constants/pulse_params.dart'; -import 'package:border_beam/src/models/beam_variant.dart'; +import 'package:flutter_border_beam/src/animation/oscillator.dart'; +import 'package:flutter_border_beam/src/constants/pulse_params.dart'; +import 'package:flutter_border_beam/src/models/beam_variant.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { diff --git a/test/constants/palette_data_test.dart b/test/constants/palette_data_test.dart index 9d129a3..c1e8b78 100644 --- a/test/constants/palette_data_test.dart +++ b/test/constants/palette_data_test.dart @@ -1,9 +1,9 @@ -import 'package:border_beam/src/constants/palettes.dart'; -import 'package:border_beam/src/constants/pulse_tables.dart'; -import 'package:border_beam/src/constants/theme_presets.dart'; -import 'package:border_beam/src/models/beam_colors.dart'; -import 'package:border_beam/src/models/beam_variant.dart'; import 'package:flutter/widgets.dart'; +import 'package:flutter_border_beam/src/constants/palettes.dart'; +import 'package:flutter_border_beam/src/constants/pulse_tables.dart'; +import 'package:flutter_border_beam/src/constants/theme_presets.dart'; +import 'package:flutter_border_beam/src/models/beam_colors.dart'; +import 'package:flutter_border_beam/src/models/beam_variant.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { diff --git a/test/golden/beam_golden_test.dart b/test/golden/beam_golden_test.dart index 1ef9022..ffa4ba0 100644 --- a/test/golden/beam_golden_test.dart +++ b/test/golden/beam_golden_test.dart @@ -1,8 +1,8 @@ @Tags(['golden']) library; -import 'package:border_beam/border_beam.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; import 'package:flutter_test/flutter_test.dart'; /// Golden scenes freeze the (fake) test clock at 1.3s after activation — diff --git a/test/painting/color_matrix_test.dart b/test/painting/color_matrix_test.dart index b3f1e7a..13ed628 100644 --- a/test/painting/color_matrix_test.dart +++ b/test/painting/color_matrix_test.dart @@ -1,7 +1,7 @@ import 'dart:ui'; -import 'package:border_beam/src/painting/color_matrix.dart'; -import 'package:border_beam/src/painting/ring_geometry.dart'; +import 'package:flutter_border_beam/src/painting/color_matrix.dart'; +import 'package:flutter_border_beam/src/painting/ring_geometry.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { diff --git a/test/painting/paint_smoke_test.dart b/test/painting/paint_smoke_test.dart index 28a84dd..1eb230e 100644 --- a/test/painting/paint_smoke_test.dart +++ b/test/painting/paint_smoke_test.dart @@ -1,10 +1,10 @@ import 'dart:ui' as ui; -import 'package:border_beam/src/animation/beam_phases.dart'; -import 'package:border_beam/src/models/beam_colors.dart'; -import 'package:border_beam/src/models/beam_config.dart'; -import 'package:border_beam/src/models/beam_variant.dart'; -import 'package:border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_border_beam/src/animation/beam_phases.dart'; +import 'package:flutter_border_beam/src/models/beam_colors.dart'; +import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_border_beam/src/models/beam_variant.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { diff --git a/test/widget/border_beam_test.dart b/test/widget/border_beam_test.dart index 5601187..ced1441 100644 --- a/test/widget/border_beam_test.dart +++ b/test/widget/border_beam_test.dart @@ -1,5 +1,5 @@ -import 'package:border_beam/border_beam.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; import 'package:flutter_test/flutter_test.dart'; Widget _host(Widget child, {bool disableAnimations = false}) => MaterialApp( diff --git a/tool/record_demo.sh b/tool/record_demo.sh index 5fab391..4710bec 100755 --- a/tool/record_demo.sh +++ b/tool/record_demo.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# record_demo.sh — record a clean, high-quality demo video of a border_beam +# record_demo.sh — record a clean, high-quality demo video of a flutter_border_beam # reel running on the iOS simulator, with zero manual ffmpeg/simctl fuss. # # It drives the example app like this: From 20a098d44ea6706577422f542b981d0945c690bf Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 14:03:21 -0700 Subject: [PATCH 02/40] refactor(animation): ease the fade envelope with an in-package spring curve FadeSpringCurve reproduces the spring behind the fade-in/out envelope (mass 1, stiffness 180, damping 20, linear end-correction so t=1 lands on 1) bit-for-bit, so the package no longer carries a dependency for a single curve. The spring is lightly under-damped (zeta ~0.745) and overshoots by ~3%, which the clock's existing clamp absorbs; the BeamClock docs now state that instead of the previous ~1% estimate. A test pins 21 oracle samples, the endpoints, and the peak. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 6 ++ CLAUDE.md | 2 +- lib/src/animation/beam_clock.dart | 13 ++-- lib/src/animation/spring_curve.dart | 44 +++++++++++++ pubspec.yaml | 1 - test/animation/spring_curve_test.dart | 94 +++++++++++++++++++++++++++ 6 files changed, 152 insertions(+), 8 deletions(-) create mode 100644 lib/src/animation/spring_curve.dart create mode 100644 test/animation/spring_curve_test.dart diff --git a/CHANGELOG.md b/CHANGELOG.md index f5189ee..5c96f14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,12 @@ `package:flutter_border_beam/flutter_border_beam.dart`. - The canonical repository is https://github.com/SimplifyJobs/flutter_border_beam. +### Removed + +- The `sprung` dependency. The fade envelope is eased by the in-package + `FadeSpringCurve` (mass 1, stiffness 180, damping 20 — the same spring), + so the package depends on the Flutter SDK alone. + ## 0.1.0 Initial release — a faithful Flutter port of the [border-beam](https://github.com/Jakubantalik/border-beam) React library (v1.3.0) by Jakub Antalik. diff --git a/CLAUDE.md b/CLAUDE.md index 4ea8a25..da4c0bc 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -24,7 +24,7 @@ frame. - `lib/flutter_border_beam.dart` — barrel; ONLY `BorderBeam`, `BorderBeamController`, `BeamVariant`, `BeamColors`, `BeamBlob`/`LineBlob`, `BeamTheme` are public. - `lib/src/border_beam.dart` — widget, 5 named constructors, scheduling/lifecycle. Controller attached ⇒ it owns playback exclusively (asserts `startAfter`/`duration` are null). -- `lib/src/animation/` — `beam_clock.dart` (ticker, speed, pause, spring fades via `sprung`, optional fps cap), `oscillator.dart` (pingPong + the 17-oscillator pulse bank), `beam_phases.dart` (per-frame value object + keyframe sampling). +- `lib/src/animation/` — `beam_clock.dart` (ticker, speed, pause, spring fades via `spring_curve.dart`, optional fps cap), `oscillator.dart` (pingPong + the 17-oscillator pulse bank), `beam_phases.dart` (per-frame value object + keyframe sampling). - `lib/src/painting/` — `beam_painter.dart` (one `CustomPainter`, repaint driven by the clock, `behind`/`above` passes), `strategies/` (one per variant family), `ring_geometry.dart` (rrect + `RSuperellipse` ring via `Path.combine` difference), `gradient_builders.dart`, `color_matrix.dart` (hue/brightness/saturation matrices), `layer_utils.dart`. - `lib/src/constants/` — **verbatim transcriptions** of the React source's tables (`palettes.dart`, `theme_presets.dart`, `pulse_tables.dart`, `pulse_params.dart`, `line_keyframes.dart`). - `lib/src/models/` — public/internal data types; `BeamConfig.resolve` mirrors the React component's computed values (per-variant default durations, the line 13° hue cap, mono forcing static colors). diff --git a/lib/src/animation/beam_clock.dart b/lib/src/animation/beam_clock.dart index 5afa1bf..c2cf33a 100644 --- a/lib/src/animation/beam_clock.dart +++ b/lib/src/animation/beam_clock.dart @@ -1,6 +1,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/scheduler.dart'; -import 'package:sprung/sprung.dart'; + +import 'spring_curve.dart'; /// The fade lifecycle stage of a beam. enum BeamFadeStage { @@ -20,8 +21,8 @@ enum BeamFadeStage { /// function of elapsed time, driven by ONE [Ticker] (the React library uses /// one shared requestAnimationFrame loop). The clock integrates scaled /// deltas so [speed] changes and pauses keep continuity, runs the -/// fade-in/fade-out envelope (spring-eased via `sprung`), and can cap its -/// notification rate for the pulse variants (~30fps in the source). +/// fade-in/fade-out envelope (spring-eased via [FadeSpringCurve]), and can +/// cap its notification rate for the pulse variants (~30fps in the source). class BeamClock extends ChangeNotifier { /// Creates a clock. [createTicker] is typically /// `TickerProviderStateMixin.createTicker`. [maxFps] caps notification @@ -41,7 +42,7 @@ class BeamClock extends ChangeNotifier { static const double fadeOutSeconds = 0.5; // Spring-eased fade, isolated here so the curve is trivially replaceable. - static final _fadeCurve = Sprung.criticallyDamped; + static const _fadeCurve = FadeSpringCurve.instance; final Ticker Function(TickerCallback) _createTicker; @@ -83,8 +84,8 @@ class BeamClock extends ChangeNotifier { /// The current fade envelope value (0–1). /// - /// The spring curve can numerically overshoot by ~1%; the result is - /// clamped so it is always a valid opacity. + /// The spring curve is lightly under-damped and overshoots its target by + /// up to ~3%; the result is clamped so it is always a valid opacity. double get fadeOpacity { final raw = switch (_stage) { BeamFadeStage.none => _visible ? 1.0 : 0.0, diff --git a/lib/src/animation/spring_curve.dart b/lib/src/animation/spring_curve.dart new file mode 100644 index 0000000..9c7eecf --- /dev/null +++ b/lib/src/animation/spring_curve.dart @@ -0,0 +1,44 @@ +import 'package:flutter/animation.dart'; +import 'package:flutter/physics.dart'; + +/// The easing curve behind the beam's fade-in / fade-out envelope. +/// +/// The envelope is driven by a real spring simulation rather than a cubic +/// bezier so the beam settles with a little momentum instead of decelerating +/// mechanically. The spring is displaced by 1 with no initial velocity and +/// simulated over `t ∈ [0, 1]`: +/// +/// * mass `1.0` +/// * stiffness `180.0` +/// * damping `20.0` +/// +/// Those give a damping ratio of `ζ = damping / (2·√(mass·stiffness)) ≈ 0.745`, +/// i.e. a lightly under-damped spring: the value rises past its target, peaks +/// at about `1.03` near `t ≈ 0.35`, and oscillates back down. Callers that +/// feed the result to an opacity must clamp it (see `BeamClock.fadeOpacity`). +/// +/// The simulation has not fully settled at `t = 1`, so the residual is +/// distributed linearly across the curve; that keeps `transform(1) == 1` +/// exactly while leaving the shape untouched. +final class FadeSpringCurve extends Curve { + /// Creates the fade envelope curve. The curve is stateless — prefer the + /// shared [instance]. + const FadeSpringCurve(); + + /// The shared instance of the curve. + static const FadeSpringCurve instance = FadeSpringCurve(); + + static final SpringSimulation _simulation = SpringSimulation( + // mass, stiffness, damping — see the class doc. + SpringDescription(mass: 1, stiffness: 180, damping: 20), + 0, + 1, + 0, + ); + + /// How far short of 1 the simulation is when `t` reaches 1. + static final double _endCorrection = 1 - _simulation.x(1); + + @override + double transformInternal(double t) => _simulation.x(t) + t * _endCorrection; +} diff --git a/pubspec.yaml b/pubspec.yaml index 9a6f123..6e42121 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -31,7 +31,6 @@ environment: dependencies: flutter: sdk: flutter - sprung: ^3.0.1 dev_dependencies: flutter_test: diff --git a/test/animation/spring_curve_test.dart b/test/animation/spring_curve_test.dart new file mode 100644 index 0000000..97d3a26 --- /dev/null +++ b/test/animation/spring_curve_test.dart @@ -0,0 +1,94 @@ +import 'package:flutter_border_beam/src/animation/spring_curve.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// `FadeSpringCurve.transform(i * 0.05)` for i = 0..20, at full double +/// precision. The fade envelope's shape is visual API — goldens and the +/// documented ~3% overshoot both depend on these exact values. +const List _oracle = [ + 0.0, + 0.15986030326692727, + 0.44896452311296503, + 0.7063666247249973, + 0.8815479259123428, + 0.9784616720631045, + 1.020016563364826, + 1.029814982804687, + 1.0252447161959004, + 1.016641057993826, + 1.0089117673752073, + 1.003622629972982, + 1.0006807812985246, + 0.999408629217683, + 0.9990992111048517, + 0.9992285492416089, + 0.9994836129267871, + 0.9997147812271953, + 0.9998735617828104, + 0.9999619578842425, + 1.0, +]; + +void main() { + const curve = FadeSpringCurve.instance; + + test('matches the reference samples at 0.05 increments', () { + for (var i = 0; i < _oracle.length; i++) { + final t = i * 0.05; + expect( + curve.transform(t), + closeTo(_oracle[i], 1e-9), + reason: 'sample $i (t = $t)', + ); + } + }); + + test('pins both endpoints exactly', () { + expect(curve.transform(0), 0.0); + expect(curve.transform(1), 1.0); + }); + + test('rises monotonically to its peak, then settles', () { + const samples = 1000; + var peakIndex = 0; + var peak = 0.0; + final values = List.generate( + samples + 1, + (i) => curve.transform(i / samples), + ); + for (var i = 0; i <= samples; i++) { + if (values[i] > peak) { + peak = values[i]; + peakIndex = i; + } + } + + // Under-damped: it overshoots once, near t = 0.35, by ~3%. + expect(peak, closeTo(1.0298, 1e-3)); + expect(peakIndex / samples, closeTo(0.35, 0.02)); + + for (var i = 1; i <= peakIndex; i++) { + expect( + values[i], + greaterThanOrEqualTo(values[i - 1]), + reason: 'dip before the peak at sample $i', + ); + } + // Past the peak the spring rings down and never climbs back to it. + for (var i = peakIndex + 1; i <= samples; i++) { + expect(values[i], lessThan(peak), reason: 'second peak at sample $i'); + } + }); + + test('overshoot stays within the documented bound', () { + const samples = 100000; + var max = 0.0; + var min = 0.0; + for (var i = 0; i <= samples; i++) { + final v = curve.transform(i / samples); + if (v > max) max = v; + if (v < min) min = v; + } + expect(max, lessThan(1.03)); + expect(min, greaterThanOrEqualTo(0.0)); + }); +} From 9c9b24c14d4780a023ff3555d3db9e6a9e7db2d8 Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 14:13:50 -0700 Subject: [PATCH 03/40] ci: pin the SDK, gate the minimum Flutter, and publish releases over OIDC MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CI runs five independent jobs: format/analyze/test with coverage to Codecov (tokenless OIDC) and a publish dry-run on Flutter 3.44.2 — the version the goldens were rendered with — goldens on macOS with failure diffs uploaded as artifacts, the declared 3.35.0 lower bound built and tested as a hard gate, pana with a 20-point floor, and the example app analyzed, tested, and built for web. Pushing a vX.Y.Z tag runs release.yaml: it checks the tag against pubspec and CHANGELOG, re-runs the gate, publishes to pub.dev through dart-lang/setup-dart's OIDC token, and creates the GitHub Release from that changelog section. Dependabot groups weekly action and pub bumps; codecov.yml keeps coverage informational. Co-Authored-By: Claude Opus 5 (1M context) --- .github/dependabot.yml | 34 ++++++ .github/workflows/ci.yaml | 180 ++++++++++++++++++++++++++++-- .github/workflows/release.yaml | 195 +++++++++++++++++++++++++++++++++ codecov.yml | 15 +++ 4 files changed, 415 insertions(+), 9 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/release.yaml create mode 100644 codecov.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..41a5d27 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,34 @@ +# Weekly dependency updates, grouped so each ecosystem lands as a single PR +# rather than one PR per bump. +version: 2 + +updates: + # GitHub Actions used by ci.yaml and release.yaml. + - package-ecosystem: github-actions + directory: / + schedule: + interval: weekly + labels: + - dependencies + commit-message: + prefix: ci + groups: + github-actions: + patterns: + - "*" + + # Dart/Flutter dependencies for the package and the example gallery. + - package-ecosystem: pub + directories: + - / + - /example + schedule: + interval: weekly + labels: + - dependencies + commit-message: + prefix: chore + groups: + pub: + patterns: + - "*" diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f3be250..99eba4d 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,31 +1,193 @@ +# CI for flutter_border_beam. +# +# Two things about this workflow are deliberate and easy to get wrong: +# +# 1. The Flutter version is PINNED to 3.44.2 rather than tracking `stable`. +# The golden files in `test/` were generated on Flutter 3.44.2 (Dart 3.12) +# on macOS, and rasterization of blurs and gradients shifts between +# Flutter releases. An unpinned `stable` would turn every Flutter release +# into a spurious golden diff. Regenerate the goldens (macOS, +# `flutter test --update-goldens --tags golden`) in the same commit that +# bumps this pin. +# 2. The `min-sdk` job builds and tests on Flutter 3.35.0 — the exact lower +# bound declared by `environment: flutter: ">=3.35.0"` in pubspec.yaml. +# Without it that bound is an untested claim and consumers on the oldest +# supported SDK find the breakage for us. It is a hard gate, not an +# advisory one: no `continue-on-error`. +# +# Jobs are intentionally independent (no `needs:`) so they run in parallel. +# `goldens` is the only macOS runner, and therefore the only expensive one. + name: CI on: push: branches: [main] pull_request: + workflow_dispatch: + +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + +env: + # The pinned SDK. Keep in sync with the goldens and with release.yaml. + FLUTTER_VERSION: 3.44.2 + # The declared lower bound from pubspec.yaml's `environment:` block. + FLUTTER_MIN_VERSION: 3.35.0 jobs: - analyze-and-test: + quality: + name: Format, analyze, test, coverage runs-on: ubuntu-latest + permissions: + contents: read + # Required so codecov/codecov-action can mint a GitHub OIDC token and + # upload tokenlessly (the repo is public, so there is no CODECOV_TOKEN). + id-token: write steps: - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 with: + flutter-version: ${{ env.FLUTTER_VERSION }} channel: stable - - run: flutter pub get - - run: dart format --output=none --set-exit-if-changed . - - run: flutter analyze - # Goldens are pinned to macOS rendering; see the goldens job. - - run: flutter test --exclude-tags golden - - run: dart pub publish --dry-run + cache: true + + - name: Install dependencies + run: flutter pub get + + - name: Verify formatting + run: dart format --output=none --set-exit-if-changed . + + - name: Analyze + run: flutter analyze --fatal-infos + + # Goldens are pinned to macOS rendering — the `goldens` job owns them. + - name: Test with coverage + run: flutter test --exclude-tags golden --coverage + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v5 + with: + files: coverage/lcov.info + use_oidc: true + # Coverage reporting must never be the reason a PR goes red. + fail_ci_if_error: false + + - name: Validate the publishable archive + run: dart pub publish --dry-run goldens: + name: Goldens (macOS) runs-on: macos-latest steps: - uses: actions/checkout@v4 + + - uses: subosito/flutter-action@v2 + with: + # Same pin as `quality`: the goldens encode this exact renderer. + flutter-version: ${{ env.FLUTTER_VERSION }} + channel: stable + cache: true + + - name: Install dependencies + run: flutter pub get + + - name: Run golden tests + run: flutter test --tags golden + + - name: Upload golden failures + if: failure() + uses: actions/upload-artifact@v4 + with: + name: golden-failures + path: test/**/failures/** + retention-days: 7 + if-no-files-found: ignore + + min-sdk: + name: Minimum supported Flutter (3.35.0) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 with: + flutter-version: ${{ env.FLUTTER_MIN_VERSION }} channel: stable - - run: flutter pub get - - run: flutter test --tags golden + cache: true + + - name: Install dependencies + run: flutter pub get + + # `--fatal-infos` is deliberately omitted here: lint rule sets move + # between SDKs, and an info-level diagnostic from an older analyzer is + # not a reason to block. Errors and warnings still fail the job. + - name: Analyze + run: flutter analyze + + - name: Test + run: flutter test --exclude-tags golden + + pana: + name: pub.dev score (pana) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: subosito/flutter-action@v2 + with: + flutter-version: ${{ env.FLUTTER_VERSION }} + channel: stable + cache: true + + - name: Install dependencies + run: flutter pub get + + - name: Install pana + run: dart pub global activate pana + + # pana prints the full report to the log, then `--exit-code-threshold N` + # fails the job when MORE than N pub.dev points are lost. 20 is a floor, + # not a target: it leaves room for points only a published package can + # earn (downstream-usage and up-to-date-dependency signals) while still + # catching a real regression — a dropped example, a broken publish + # archive, undocumented public API, an unresolvable dependency. Ratchet + # it down as the package settles; the number should only get smaller. + - name: Run pana + run: dart pub global run pana --no-warning --exit-code-threshold 20 . + + example: + name: Example app + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: subosito/flutter-action@v2 + with: + flutter-version: ${{ env.FLUTTER_VERSION }} + channel: stable + cache: true + + # The example consumes the package by path, so it is the canary for API + # breaks in the gallery, and the web build proves the package carries no + # imports that fail to compile for web. + - name: Install dependencies + working-directory: example + run: flutter pub get + + - name: Analyze + working-directory: example + run: flutter analyze + + - name: Test + working-directory: example + run: flutter test + + - name: Build web + working-directory: example + run: flutter build web --release diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..0d3fa85 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,195 @@ +# Publish flutter_border_beam to pub.dev and cut a GitHub Release. +# +# Trigger: pushing a `vX.Y.Z` tag (a `-suffix` prerelease tag is allowed). +# +# ── ONE-TIME SETUP THE MAINTAINER MUST DO ──────────────────────────────────── +# +# 1. Publish the FIRST version by hand from a workstation: +# flutter pub publish +# pub.dev can only automate publishing of packages that already exist — +# "Today, you can only automate publishing of existing packages. To create +# a new package, you must publish the first version using `dart pub +# publish`." (https://dart.dev/tools/pub/automated-publishing). Until +# 0.1.0 is on pub.dev there is nothing to attach automated publishing to. +# 2. On pub.dev, open +# https://pub.dev/packages/flutter_border_beam/admin +# → "Automated publishing" → "Enable publishing from GitHub Actions", and +# set: +# Repository: SimplifyJobs/flutter_border_beam +# Tag pattern: v{{version}} +# (You must be an uploader on the package to see the Admin tab.) +# 3. Nothing else. There is no PUB_CREDENTIALS / CREDENTIAL_JSON secret to +# create — authentication is a short-lived GitHub-signed OIDC token, which +# is why this workflow needs `id-token: write`. +# +# ── WHY THIS JOB IS WRITTEN OUT INSTEAD OF CALLING THE REUSABLE WORKFLOW ───── +# +# The sanctioned shortcut is +# uses: dart-lang/setup-dart/.github/workflows/publish.yml@v1 +# but it runs a fixed pipeline (`dart pub get` → dry run → `dart pub publish +# -f`) with no hook for the tag/CHANGELOG verification, the quality gate, or +# the GitHub Release this repo wants. So the steps are inlined here, following +# the same SDK layout that reusable workflow uses — checkout, then +# `dart-lang/setup-dart`, then a Flutter SDK: +# https://github.com/dart-lang/setup-dart/blob/main/.github/workflows/publish.yml +# +# `dart-lang/setup-dart` is the step that mints the credential: it requests a +# GitHub OIDC token for the `https://pub.dev` audience, exports it as +# `PUB_TOKEN`, and runs `dart pub token add https://pub.dev --env-var +# PUB_TOKEN`. That writes the pub client's shared token store, so any later +# pub invocation — including the Flutter SDK's bundled one — is authenticated. +# Per the docs: "The workflow authenticates to pub.dev using a temporary +# GitHub-signed OIDC token, the token is created and configured in the +# `dart-lang/setup-dart` step. To publish to pub.dev, subsequent steps can run +# `dart pub publish --force`." +# (https://dart.dev/tools/pub/automated-publishing) +# +# `subosito/flutter-action` runs after setup-dart so the Flutter SDK's own +# Dart is the one on PATH for the gate and the publish — this package depends +# on the Flutter SDK, which a Dart-only SDK cannot resolve. + +name: Release + +on: + push: + tags: + - "v[0-9]+.[0-9]+.[0-9]+*" + +concurrency: + group: release-${{ github.ref }} + cancel-in-progress: false + +permissions: + contents: read + +env: + # Must match ci.yaml's pin. + FLUTTER_VERSION: 3.44.2 + +jobs: + publish: + name: Publish to pub.dev + runs-on: ubuntu-latest + permissions: + # Mints the pub.dev OIDC credential. + id-token: write + # Lets `gh release create` write the GitHub Release. + contents: write + steps: + - uses: actions/checkout@v4 + + # Order matters — see the header. This step configures the pub.dev + # credential; the Flutter SDK installed next provides the toolchain. + - uses: dart-lang/setup-dart@v1 + + - uses: subosito/flutter-action@v2 + with: + flutter-version: ${{ env.FLUTTER_VERSION }} + channel: stable + cache: true + + - name: Verify the tag matches pubspec.yaml + id: version + run: | + set -euo pipefail + TAG="${GITHUB_REF_NAME}" + VERSION="${TAG#v}" + PUBSPEC_VERSION="$(sed -n 's/^version:[[:space:]]*//p' pubspec.yaml \ + | head -n 1 | tr -d "\"' ")" + + if [ -z "$PUBSPEC_VERSION" ]; then + echo "::error::Could not read a 'version:' from pubspec.yaml." + exit 1 + fi + if [ "$VERSION" != "$PUBSPEC_VERSION" ]; then + echo "::error::Tag ${TAG} implies version ${VERSION}, but pubspec.yaml declares ${PUBSPEC_VERSION}. Bump one of them and re-tag." + exit 1 + fi + + { + echo "tag=${TAG}" + echo "version=${VERSION}" + } >> "$GITHUB_OUTPUT" + + if [[ "$VERSION" == *-* ]]; then + echo "prerelease=true" >> "$GITHUB_OUTPUT" + else + echo "prerelease=false" >> "$GITHUB_OUTPUT" + fi + + echo "Publishing ${PUBSPEC_VERSION} from tag ${TAG}." + + - name: Extract the CHANGELOG section + id: changelog + env: + VERSION: ${{ steps.version.outputs.version }} + run: | + set -euo pipefail + VERSION_RE="${VERSION//./\\.}" + if ! grep -qE "^## +${VERSION_RE}( |\$)" CHANGELOG.md; then + echo "::error::CHANGELOG.md has no '## ${VERSION}' heading. Every published version needs release notes." + exit 1 + fi + + NOTES_FILE="${RUNNER_TEMP}/release-notes.md" + # Capture everything between the `## ` heading (optionally + # followed by a date) and the next `## ` heading. + awk -v heading="## ${VERSION}" ' + index($0, "## ") == 1 { + if ($0 == heading || index($0, heading " ") == 1) { + found = 1 + next + } + if (found) { exit } + next + } + found { print } + ' CHANGELOG.md > "$NOTES_FILE" + + if ! grep -q '[^[:space:]]' "$NOTES_FILE"; then + echo "::error::The '## ${VERSION}' section of CHANGELOG.md is empty." + exit 1 + fi + + echo "notes-file=${NOTES_FILE}" >> "$GITHUB_OUTPUT" + echo "--- release notes ---" + cat "$NOTES_FILE" + + - name: Install dependencies + run: flutter pub get + + - name: Verify formatting + run: dart format --set-exit-if-changed --output=none . + + - name: Analyze + run: flutter analyze --fatal-infos + + # Goldens are excluded here: they are pinned to macOS rendering and this + # job runs on ubuntu, where they would fail on renderer differences + # alone. The `goldens` job in ci.yaml (macos-latest) is the golden gate, + # and it runs on every push to `main` — so the commit being tagged has + # already had its goldens verified. + - name: Test + run: flutter test --exclude-tags golden + + - name: Publish to pub.dev + run: flutter pub publish --force + + - name: Create the GitHub Release + env: + GH_TOKEN: ${{ github.token }} + TAG: ${{ steps.version.outputs.tag }} + NOTES_FILE: ${{ steps.changelog.outputs.notes-file }} + PRERELEASE: ${{ steps.version.outputs.prerelease }} + run: | + set -euo pipefail + if [ "$PRERELEASE" = "true" ]; then + gh release create "$TAG" \ + --title "$TAG" \ + --notes-file "$NOTES_FILE" \ + --prerelease + else + gh release create "$TAG" \ + --title "$TAG" \ + --notes-file "$NOTES_FILE" + fi diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 0000000..7c015e3 --- /dev/null +++ b/codecov.yml @@ -0,0 +1,15 @@ +# Coverage is a signal, not a gate, while the suite is being built out. +# Nothing here may turn a pull request red. +coverage: + status: + project: + default: + # Tolerate small dips; a real drop still shows up in the check. + threshold: 1% + informational: true + patch: + default: + informational: true + +# Keep pull requests quiet — the check status carries the number. +comment: false From 69a476b299a6344e15c77755c43a30f714f8c0fd Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 14:19:06 -0700 Subject: [PATCH 04/40] fix(engine): value-equal palettes, continuous retiming, runtime reduced motion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BeamColors and its blob types are value types with memoized resolution, so a palette rebuilt inline in build() hits the widget's config cache instead of re-deriving nine gradient tables; the spec variant derives its fallback tables directly rather than through a throwaway custom palette, and the phase resolver resolves PulseParams once. A cycleDuration change mid-run rescales the clock (BeamClock.retime) so every cycle-derived track keeps its fraction, while the fixed-period hue tracks are held by a resolver-side time offset — the beam speeds up or slows down without a snap, mid-fade included. Reduced motion is tracked in didChangeDependencies: turning it on pauses the clock, turning it off resumes only a pause it caused (a controller pause wins) or starts an autoplay beam that never got to run; build no longer mutates the clock. Co-Authored-By: Claude Opus 5 (1M context) --- lib/src/animation/beam_clock.dart | 19 + lib/src/animation/beam_phases.dart | 51 ++- lib/src/border_beam.dart | 101 ++++- lib/src/models/beam_blob.dart | 66 ++++ lib/src/models/beam_colors.dart | 180 ++++++--- test/animation/beam_phases_test.dart | 112 ++++++ test/models/beam_colors_test.dart | 237 ++++++++++++ test/widget/border_beam_update_test.dart | 462 +++++++++++++++++++++++ 8 files changed, 1141 insertions(+), 87 deletions(-) create mode 100644 test/models/beam_colors_test.dart create mode 100644 test/widget/border_beam_update_test.dart diff --git a/lib/src/animation/beam_clock.dart b/lib/src/animation/beam_clock.dart index c2cf33a..1092a38 100644 --- a/lib/src/animation/beam_clock.dart +++ b/lib/src/animation/beam_clock.dart @@ -148,6 +148,25 @@ class BeamClock extends ChangeNotifier { notifyListeners(); } + /// Rescales the timeline by [factor], keeping every cycle-relative phase + /// where it is. + /// + /// Used when a beam's cycle duration changes mid-run: every animated + /// track derived from the cycle reads `elapsed / cycleSeconds`, so + /// multiplying elapsed time by `newCycle / oldCycle` leaves each track at + /// the exact fraction it had. The fade envelope and the frame-rate cap + /// are wall-clock schedules, not cycle-relative ones, so their anchors + /// move with the timeline rather than being scaled — the fade keeps its + /// current opacity and its remaining duration. + void retime(double factor) { + assert(factor > 0, 'retime factor must be positive'); + final shift = _elapsed * factor - _elapsed; + _elapsed += shift; + _fadeStart += shift; + _lastNotify += shift; + notifyListeners(); + } + /// Marks the beam visible at full opacity without animating (used for /// reduced motion and for initially-active beams that must not fade in). void showStatic() { diff --git a/lib/src/animation/beam_phases.dart b/lib/src/animation/beam_phases.dart index 02b86cc..1115e95 100644 --- a/lib/src/animation/beam_phases.dart +++ b/lib/src/animation/beam_phases.dart @@ -6,6 +6,7 @@ import '../constants/line_keyframes.dart'; import '../constants/pulse_params.dart'; import '../models/beam_config.dart'; import '../models/beam_variant.dart'; +import 'beam_clock.dart'; import 'oscillator.dart'; /// Samples a keyframe table at cycle progress [t] (0–1). @@ -88,29 +89,38 @@ class BeamFramePhases { /// mirroring the source's CSS keyframes and JS pulse driver exactly. class BeamPhaseResolver { /// Creates a resolver for [config]. - BeamPhaseResolver(this.config) - : _bank = config.variant.isPulse - ? PulseOscillatorBank( - PulseParams.resolve( - config.variant, - config.brightness, - config.cycleSeconds, - ), - ) - : null, - _pulseParams = config.variant.isPulse - ? PulseParams.resolve( - config.variant, - config.brightness, - config.cycleSeconds, - ) - : null; + factory BeamPhaseResolver(BeamConfig config) => BeamPhaseResolver._( + config, + config.variant.isPulse + ? PulseParams.resolve( + config.variant, + config.brightness, + config.cycleSeconds, + ) + : null, + ); + + BeamPhaseResolver._(this.config, PulseParams? pulseParams) + : _pulseParams = pulseParams, + _bank = pulseParams == null ? null : PulseOscillatorBank(pulseParams); /// The resolved beam configuration. final BeamConfig config; final PulseOscillatorBank? _bank; final PulseParams? _pulseParams; + /// Seconds added to the sample time of the fixed-period hue tracks only. + /// + /// The cycle-derived tracks (rotate angle, line travel, pulse + /// oscillators) all scale with [BeamConfig.cycleSeconds], so a cycle + /// change can be absorbed by rescaling elapsed time + /// ([BeamClock.retime]) — their fractions come out unchanged. The hue + /// tracks run on fixed periods ([huePeriodSeconds], + /// [bloomHuePeriodSeconds], [PulseParams.huePeriod]) and would jump under + /// that rescale, so the widget shifts them back by the amount the + /// timeline moved. + double hueTimeOffset = 0; + /// The hue ping-pong keyframes of the rotate/line variants /// (0% −range, 50% +range, 100% −range, ease-in-out per segment, 12s). static const double huePeriodSeconds = 12; @@ -139,7 +149,7 @@ class BeamPhaseResolver { fadeOpacity: fadeOpacity, hueDegrees: hue, bloomHueDegrees: _pingPongHue( - t, + t + hueTimeOffset, bloomHuePeriodSeconds, config.hueRange + 10, ), @@ -174,12 +184,13 @@ class BeamPhaseResolver { double _hue(double t) { if (config.staticColors) return 0; + final hueT = t + hueTimeOffset; if (config.variant.isPulse) { // Continuous full revolution (sawtooth 0→360°). final period = _pulseParams!.huePeriod; - return ((t / period) % 1.0) * 360; + return ((hueT / period) % 1.0) * 360; } - return _pingPongHue(t, huePeriodSeconds, config.hueRange); + return _pingPongHue(hueT, huePeriodSeconds, config.hueRange); } // CSS `beam-hue-shift`: keyframes −range @0%, +range @50%, −range @100%, diff --git a/lib/src/border_beam.dart b/lib/src/border_beam.dart index 3d7c365..8a57fc4 100644 --- a/lib/src/border_beam.dart +++ b/lib/src/border_beam.dart @@ -439,6 +439,10 @@ class BorderBeam extends StatefulWidget { /// Length of one animation cycle; null uses the variant default /// (1.96s rotate/small, 3.1s line, 2.3s pulse). + /// + /// Changing it while the beam runs retimes the animation in place: every + /// track keeps the phase it was at, so the beam speeds up or slows down + /// without a jump. final Duration? cycleDuration; /// Optional playback controller. When set it owns playback exclusively — @@ -492,6 +496,13 @@ class BorderBeam extends StatefulWidget { State createState() => _BorderBeamState(); } +// The cycle length a widget resolves to, independent of theme — enough to +// detect a cycle change without resolving the whole config. +double _cycleSecondsOf(BorderBeam widget) => + (widget.cycleDuration ?? widget.variant.defaultCycleDuration) + .inMicroseconds / + Duration.microsecondsPerSecond; + // TickerProviderStateMixin (not Single-): a variant change rebuilds the // clock, creating a second ticker over this State's lifetime. class _BorderBeamState extends State with TickerProviderStateMixin { @@ -506,6 +517,12 @@ class _BorderBeamState extends State with TickerProviderStateMixin { BeamVariantStrategy get _strategy => strategyFor(widget.variant); bool _autoPlayScheduled = false; + bool _hasStarted = false; + bool _reducedMotionApplied = false; + // Set only when reduced motion paused the clock, so turning reduced motion + // back off never overrides a pause the controller asked for. + bool _pausedForReducedMotion = false; + double _hueTimeOffset = 0; @override void initState() { @@ -518,18 +535,58 @@ class _BorderBeamState extends State with TickerProviderStateMixin { void didChangeDependencies() { super.didChangeDependencies(); // Autoplay needs MediaQuery (reduced motion), so it can't run from - // initState. - if (_autoPlayScheduled) return; - _autoPlayScheduled = true; - if (widget.controller == null && widget.autoPlay && widget.active) { - if (widget.startAfter != null) { - _startTimer = Timer(widget.startAfter!, _start); - } else { - _start(); + // initState. Reduced motion is also tracked here, where a change to it + // is delivered. + final reduced = _reducedMotion; + if (!_autoPlayScheduled) { + _autoPlayScheduled = true; + _reducedMotionApplied = reduced; + if (widget.controller == null && widget.autoPlay && widget.active) { + if (widget.startAfter != null) { + _startTimer = Timer(widget.startAfter!, _start); + } else { + _start(); + } } + return; + } + if (reduced == _reducedMotionApplied) return; + _reducedMotionApplied = reduced; + if (reduced) { + _pauseForReducedMotion(); + } else { + _leaveReducedMotion(); } } + void _pauseForReducedMotion() { + if (!_clock.isRunning) return; + _clock.pause(); + _pausedForReducedMotion = true; + } + + void _leaveReducedMotion() { + if (_pausedForReducedMotion) { + _pausedForReducedMotion = false; + if (_clock.isVisible) { + _clock.resume(); + return; + } + } + // The beam never got to start: reduced motion was on when autoplay ran. + // A beam that has already played is left alone — its duration may have + // run out. startAfter belongs to that first autoplay only, so it is + // honored while its timer is pending and skipped once it has fired. + if (_hasStarted || + widget.controller != null || + !widget.autoPlay || + !widget.active) { + return; + } + if (_clock.isVisible || (_startTimer?.isActive ?? false)) return; + _start(); + } + void _createClock() { _clock = BeamClock( createTicker: createTicker, @@ -540,10 +597,31 @@ class _BorderBeamState extends State with TickerProviderStateMixin { void _start() { if (_reducedMotion) return; + _hasStarted = true; + // Activating from hidden restarts the timeline, so the hue shift a + // retime accumulated goes with it; a mid-fade-out re-activation keeps + // the timeline, and keeps the shift. + if (!_clock.isVisible) _setHueTimeOffset(0); _clock.activate(); _armDurationTimer(); } + void _setHueTimeOffset(double seconds) { + _hueTimeOffset = seconds; + _resolver?.hueTimeOffset = seconds; + } + + // A cycle-duration change mid-run must not snap the beam. Rescaling + // elapsed time by the cycle ratio holds every cycle-derived track at its + // current fraction; shifting the hue clock back by the same amount holds + // the fixed-period hue tracks, which do not scale with the cycle. + void _retimeToNewCycle(double oldCycle, double newCycle) { + if (!_clock.isVisible || oldCycle <= 0 || oldCycle == newCycle) return; + final before = _clock.elapsedSeconds; + _clock.retime(newCycle / oldCycle); + _setHueTimeOffset(_hueTimeOffset + before - _clock.elapsedSeconds); + } + void _armDurationTimer() { _durationTimer?.cancel(); if (widget.controller == null && widget.duration != null) { @@ -579,6 +657,10 @@ class _BorderBeamState extends State with TickerProviderStateMixin { widget.controller?.attach(_clock); if (wasVisible && widget.controller == null && widget.active) _start(); } + if (oldWidget.variant == widget.variant && + oldWidget.cycleDuration != widget.cycleDuration) { + _retimeToNewCycle(_cycleSecondsOf(oldWidget), _cycleSecondsOf(widget)); + } if (widget.controller == null && oldWidget.active != widget.active) { _startTimer?.cancel(); if (widget.active) { @@ -649,7 +731,7 @@ class _BorderBeamState extends State with TickerProviderStateMixin { glowBrightness: widget.glowBrightness, glowSaturation: widget.glowSaturation, ); - _resolver = BeamPhaseResolver(_config!); + _resolver = BeamPhaseResolver(_config!)..hueTimeOffset = _hueTimeOffset; } return _config!; } @@ -660,7 +742,6 @@ class _BorderBeamState extends State with TickerProviderStateMixin { final config = _resolveConfig(ambient); final strategy = _strategy; final reduced = _reducedMotion; - if (reduced && _clock.isRunning) _clock.pause(); final staticMode = reduced && (widget.controller != null diff --git a/lib/src/models/beam_blob.dart b/lib/src/models/beam_blob.dart index 2bd3450..39d450e 100644 --- a/lib/src/models/beam_blob.dart +++ b/lib/src/models/beam_blob.dart @@ -1,5 +1,7 @@ import 'dart:ui'; +import 'package:flutter/foundation.dart'; + /// One radial-gradient color blob positioned around the border. /// /// This is the core building block of every beam palette: an ellipse of @@ -7,6 +9,7 @@ import 'dart:ui'; /// the decorated box, so `Offset(0.33, -0.074)` is the CSS position /// `33% -7.4%`), fading from [color] at the center to transparent at the /// edge. +@immutable class BeamBlob { /// Creates a blob. [position] is fractional (may exceed 0–1 to sit on or /// beyond the edge); [size] is the ellipse diameter in logical pixels. @@ -29,12 +32,29 @@ class BeamBlob { /// Returns a copy with a different [color], keeping the geometry. BeamBlob withColor(Color color) => BeamBlob(color: color, position: position, size: size); + + @override + bool operator ==(Object other) => + identical(this, other) || + other is BeamBlob && + other.color == color && + other.position == position && + other.size == size; + + @override + int get hashCode => Object.hash(color, position, size); + + @override + String toString() => + 'BeamBlob(color: $color, position: $position, ' + 'size: $size)'; } /// A blob used by the line variant. Line blobs ride the bottom edge: their /// x-position is `beamX + offsetX` px and their y sits at the bottom edge /// shifted by [offsetY] px, with the ellipse scaled by the animated /// width/height factors. +@immutable class LineBlob { /// Creates a line blob with base ellipse size and pixel offsets from the /// traveling beam center. @@ -70,10 +90,29 @@ class LineBlob { offsetX: offsetX, offsetY: offsetY, ); + + @override + bool operator ==(Object other) => + identical(this, other) || + other is LineBlob && + other.color == color && + other.sizeW == sizeW && + other.sizeH == sizeH && + other.offsetX == offsetX && + other.offsetY == offsetY; + + @override + int get hashCode => Object.hash(color, sizeW, sizeH, offsetX, offsetY); + + @override + String toString() => + 'LineBlob(color: $color, size: ${sizeW}x$sizeH, ' + 'offset: $offsetX, $offsetY)'; } /// A pair of colors used by one fixed bloom spike of the line variant /// (center color and mid-stop color). +@immutable class SpikePair { /// Creates a spike color pair. const SpikePair(this.color1, this.color2); @@ -83,10 +122,22 @@ class SpikePair { /// Color at the spike's mid gradient stop. final Color color2; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is SpikePair && other.color1 == color1 && other.color2 == color2; + + @override + int get hashCode => Object.hash(color1, color2); + + @override + String toString() => 'SpikePair($color1, $color2)'; } /// Primary/secondary spike colors used by the line variant's traveling /// accents. +@immutable class SpikeColors { /// Creates the spike color pair. const SpikeColors({required this.primary, required this.secondary}); @@ -96,6 +147,21 @@ class SpikeColors { /// The secondary spike color. final Color secondary; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is SpikeColors && + other.primary == primary && + other.secondary == secondary; + + @override + int get hashCode => Object.hash(primary, secondary); + + @override + String toString() => + 'SpikeColors(primary: $primary, ' + 'secondary: $secondary)'; } /// Which oscillator group (1–3) scales/drifts a pulse blob. diff --git a/lib/src/models/beam_colors.dart b/lib/src/models/beam_colors.dart index c4262c0..1258c59 100644 --- a/lib/src/models/beam_colors.dart +++ b/lib/src/models/beam_colors.dart @@ -1,5 +1,7 @@ import 'dart:ui'; +import 'package:flutter/foundation.dart'; + import '../constants/palettes.dart'; import 'beam_blob.dart'; import 'beam_palette.dart'; @@ -23,6 +25,11 @@ import 'beam_palette.dart'; /// ``` /// /// For pixel-level control, [BeamColors.spec] accepts explicit blob tables. +/// +/// Every variant is a value type: two instances built from equal inputs are +/// `==`, so rebuilding `BeamColors.custom([...])` inline in a `build` method +/// does not force the widget to re-resolve its gradient tables. +@immutable sealed class BeamColors { const BeamColors._(); @@ -60,7 +67,72 @@ sealed class BeamColors { }) = _SpecBeamColors; /// Resolves this color choice to concrete gradient tables. - BeamPalette resolve(); + /// + /// The result is memoized per instance: repeated calls on the same + /// instance return the identical [BeamPalette]. + BeamPalette resolve() => _paletteCache[this] ??= _buildPalette(); + + /// Builds the palette. Called at most once per instance by [resolve]. + BeamPalette _buildPalette(); +} + +// Per-instance memo for [BeamColors.resolve]. An Expando (rather than a +// field) so that const instances — the presets, and any `const +// BeamColors.custom([...])` — can cache too. +final Expando _paletteCache = Expando( + 'BeamColors.resolve', +); + +/// Distributes [colors] over [base]'s blob geometry, cycling when there are +/// fewer colors than blob slots and preserving each table entry's alpha so +/// the layered depth of the effect survives the substitution. +BeamPresetData _distribute(List colors, BeamPresetData base) { + Color pick(int i, Color original) { + final c = colors[i % colors.length]; + // Keep the preset's alpha so inner/bloom layering depth is preserved. + return c.withValues(alpha: original.a); + } + + return BeamPresetData( + border: [ + for (final (i, b) in base.border.indexed) b.withColor(pick(i, b.color)), + ], + spike: SpikeColors( + primary: pick(0, base.spike.primary), + secondary: pick(1, base.spike.secondary), + ), + spikeLt: SpikeColors( + primary: pick(0, base.spikeLt.primary), + secondary: pick(1, base.spikeLt.secondary), + ), + smallBorder: [ + for (final (i, b) in base.smallBorder.indexed) + b.withColor(pick(i, b.color)), + ], + smallInner: [ + for (final (i, b) in base.smallInner.indexed) + b.withColor(pick(i, b.color)), + ], + lineDark: [ + for (final (i, b) in base.lineDark.indexed) b.withColor(pick(i, b.color)), + ], + lineLight: [ + for (final (i, b) in base.lineLight.indexed) + b.withColor(pick(i, b.color)), + ], + lineInner: [ + for (final (i, b) in base.lineInner.indexed) + b.withColor(pick(i, b.color)), + ], + lineBloomDark: [ + for (final (i, s) in base.lineBloomDark.indexed) + SpikePair(pick(i, s.color1), pick(i, s.color2)), + ], + lineBloomLight: [ + for (final (i, s) in base.lineBloomLight.indexed) + SpikePair(pick(i, s.color1), pick(i, s.color2)), + ], + ); } class _PresetBeamColors extends BeamColors { @@ -70,12 +142,25 @@ class _PresetBeamColors extends BeamColors { final bool isMono; @override - BeamPalette resolve() => BeamPalette( + BeamPalette _buildPalette() => BeamPalette( data: preset, forcesStaticColors: isMono, opacityMultiplier: isMono ? 0.5 : 1.0, monoTreatment: isMono, ); + + @override + bool operator ==(Object other) => + identical(this, other) || + other is _PresetBeamColors && + identical(other.preset, preset) && + other.isMono == isMono; + + @override + int get hashCode => Object.hash(identityHashCode(preset), isMono); + + @override + String toString() => 'BeamColors(preset, isMono: $isMono)'; } class _CustomBeamColors extends BeamColors { @@ -84,60 +169,21 @@ class _CustomBeamColors extends BeamColors { final List colors; @override - BeamPalette resolve() { + BeamPalette _buildPalette() { assert(colors.isNotEmpty, 'BeamColors.custom requires at least one color'); - Color pick(int i, Color original) { - final c = colors[i % colors.length]; - // Keep the preset's alpha so inner/bloom layering depth is preserved. - return c.withValues(alpha: original.a); - } - - final base = colorfulPreset; - return BeamPalette( - data: BeamPresetData( - border: [ - for (final (i, b) in base.border.indexed) - b.withColor(pick(i, b.color)), - ], - spike: SpikeColors( - primary: pick(0, base.spike.primary), - secondary: pick(1, base.spike.secondary), - ), - spikeLt: SpikeColors( - primary: pick(0, base.spikeLt.primary), - secondary: pick(1, base.spikeLt.secondary), - ), - smallBorder: [ - for (final (i, b) in base.smallBorder.indexed) - b.withColor(pick(i, b.color)), - ], - smallInner: [ - for (final (i, b) in base.smallInner.indexed) - b.withColor(pick(i, b.color)), - ], - lineDark: [ - for (final (i, b) in base.lineDark.indexed) - b.withColor(pick(i, b.color)), - ], - lineLight: [ - for (final (i, b) in base.lineLight.indexed) - b.withColor(pick(i, b.color)), - ], - lineInner: [ - for (final (i, b) in base.lineInner.indexed) - b.withColor(pick(i, b.color)), - ], - lineBloomDark: [ - for (final (i, s) in base.lineBloomDark.indexed) - SpikePair(pick(i, s.color1), pick(i, s.color2)), - ], - lineBloomLight: [ - for (final (i, s) in base.lineBloomLight.indexed) - SpikePair(pick(i, s.color1), pick(i, s.color2)), - ], - ), - ); + return BeamPalette(data: _distribute(colors, colorfulPreset)); } + + @override + bool operator ==(Object other) => + identical(this, other) || + other is _CustomBeamColors && listEquals(other.colors, colors); + + @override + int get hashCode => Object.hashAll(colors); + + @override + String toString() => 'BeamColors.custom($colors)'; } class _SpecBeamColors extends BeamColors { @@ -152,13 +198,13 @@ class _SpecBeamColors extends BeamColors { final List? lineBlobs; @override - BeamPalette resolve() { + BeamPalette _buildPalette() { assert(border.isNotEmpty, 'BeamColors.spec requires at least one blob'); // Derive any missing tables by cycling the provided border colors over // the default geometry. - final derived = _CustomBeamColors([ + final derived = _distribute([ for (final b in border) b.color, - ]).resolve().data; + ], colorfulPreset); return BeamPalette( data: BeamPresetData( border: border, @@ -179,4 +225,24 @@ class _SpecBeamColors extends BeamColors { ), ); } + + @override + bool operator ==(Object other) => + identical(this, other) || + other is _SpecBeamColors && + listEquals(other.border, border) && + listEquals(other.smallBorder, smallBorder) && + listEquals(other.lineBlobs, lineBlobs); + + @override + int get hashCode => Object.hash( + Object.hashAll(border), + smallBorder == null ? null : Object.hashAll(smallBorder!), + lineBlobs == null ? null : Object.hashAll(lineBlobs!), + ); + + @override + String toString() => + 'BeamColors.spec(border: ${border.length} blobs, ' + 'smallBorder: ${smallBorder?.length}, lineBlobs: ${lineBlobs?.length})'; } diff --git a/test/animation/beam_phases_test.dart b/test/animation/beam_phases_test.dart index 7f0e298..8e4b7fd 100644 --- a/test/animation/beam_phases_test.dart +++ b/test/animation/beam_phases_test.dart @@ -12,14 +12,32 @@ BeamConfig _config( BeamVariant v, { bool staticColors = false, double hueRange = 30, + Duration? cycleDuration, }) => BeamConfig.resolve( variant: v, palette: BeamColors.colorful.resolve(), brightness: Brightness.dark, staticColors: staticColors, hueRange: hueRange, + cycleDuration: cycleDuration, ); +// The retime a widget performs when its cycle duration changes mid-run: +// elapsed time is rescaled by the cycle ratio and the hue clock is shifted +// back by the same amount. +({double t, BeamPhaseResolver resolver}) _retimed( + BeamPhaseResolver from, + double t, + Duration newCycle, +) { + final next = BeamPhaseResolver( + _config(from.config.variant, hueRange: 30, cycleDuration: newCycle), + ); + final scaled = t * next.config.cycleSeconds / from.config.cycleSeconds; + next.hueTimeOffset = from.hueTimeOffset + t - scaled; + return (t: scaled, resolver: next); +} + void main() { group('sampleKeyframes', () { test('linear tables hit every stop exactly', () { @@ -96,6 +114,100 @@ void main() { expect(BeamPhaseResolver(config).sample(3, 1).hueDegrees, 0); }); + test('hueTimeOffset shifts only the fixed-period hue tracks', () { + final r = BeamPhaseResolver(_config(BeamVariant.rotate)); + final unshifted = BeamPhaseResolver(_config(BeamVariant.rotate)); + r.hueTimeOffset = 2; + expect( + r.sample(3, 1).hueDegrees, + closeTo(unshifted.sample(5, 1).hueDegrees, 1e-9), + ); + expect( + r.sample(3, 1).angleRadians, + closeTo(unshifted.sample(3, 1).angleRadians, 1e-9), + reason: 'the cycle-derived tracks ignore the hue offset', + ); + + final line = BeamPhaseResolver(_config(BeamVariant.line)) + ..hueTimeOffset = -1.5; + final lineRef = BeamPhaseResolver(_config(BeamVariant.line)); + expect( + line.sample(4, 1).bloomHueDegrees, + closeTo(lineRef.sample(2.5, 1).bloomHueDegrees, 1e-9), + ); + expect( + line.sample(4, 1).lineX, + closeTo(lineRef.sample(4, 1).lineX, 1e-9), + ); + + final pulse = BeamPhaseResolver(_config(BeamVariant.pulseInside)) + ..hueTimeOffset = 4; + // Sawtooth over 16s: a 4s shift is a quarter revolution. + expect(pulse.sample(0, 1).hueDegrees, closeTo(90, 1e-6)); + }); + + test('a static palette ignores the hue offset', () { + final r = BeamPhaseResolver( + _config(BeamVariant.rotate, staticColors: true), + )..hueTimeOffset = 3.7; + expect(r.sample(2, 1).hueDegrees, 0); + }); + + test('retiming a cycle change holds every rotate track', () { + final before = BeamPhaseResolver( + _config(BeamVariant.rotate, cycleDuration: const Duration(seconds: 2)), + ); + const t = 0.9; + final ref = before.sample(t, 1); + final next = _retimed(before, t, const Duration(seconds: 4)); + final after = next.resolver.sample(next.t, 1); + expect(after.angleRadians, closeTo(ref.angleRadians, 1e-9)); + expect(after.hueDegrees, closeTo(ref.hueDegrees, 1e-9)); + }); + + test('retiming a cycle change holds every line track', () { + final before = BeamPhaseResolver( + _config(BeamVariant.line, cycleDuration: const Duration(seconds: 3)), + ); + const t = 2.4; + final ref = before.sample(t, 1); + final next = _retimed(before, t, const Duration(milliseconds: 1500)); + final after = next.resolver.sample(next.t, 1); + expect(after.lineX, closeTo(ref.lineX, 1e-9)); + expect(after.lineW, closeTo(ref.lineW, 1e-9)); + expect(after.lineH, closeTo(ref.lineH, 1e-9)); + expect(after.spike, closeTo(ref.spike, 1e-9)); + expect(after.spike2, closeTo(ref.spike2, 1e-9)); + expect(after.edge, closeTo(ref.edge, 1e-9)); + expect(after.hueDegrees, closeTo(ref.hueDegrees, 1e-9)); + expect(after.bloomHueDegrees, closeTo(ref.bloomHueDegrees, 1e-9)); + }); + + test('retiming a cycle change holds every pulse oscillator', () { + final before = BeamPhaseResolver( + _config( + BeamVariant.pulseInside, + cycleDuration: const Duration(milliseconds: 2300), + ), + ); + const t = 1.7; + final ref = before.sample(t, 1); + final next = _retimed(before, t, const Duration(seconds: 5)); + final after = next.resolver.sample(next.t, 1); + for (var i = 0; i < 3; i++) { + expect(after.pulse.bw[i], closeTo(ref.pulse.bw[i], 1e-9)); + expect(after.pulse.bh[i], closeTo(ref.pulse.bh[i], 1e-9)); + expect(after.pulse.bx[i], closeTo(ref.pulse.bx[i], 1e-9)); + expect(after.pulse.by[i], closeTo(ref.pulse.by[i], 1e-9)); + } + expect(after.pulse.bgh, closeTo(ref.pulse.bgh, 1e-9)); + expect(after.pulse.bopTl, closeTo(ref.pulse.bopTl, 1e-9)); + expect(after.pulse.bopTr, closeTo(ref.pulse.bopTr, 1e-9)); + expect(after.pulse.bopBl, closeTo(ref.pulse.bopBl, 1e-9)); + expect(after.pulse.bopBr, closeTo(ref.pulse.bopBr, 1e-9)); + expect(after.hueDegrees, closeTo(ref.hueDegrees, 1e-9)); + }); + test('static frame is full-opacity and hue-neutral', () { final pulse = BeamPhaseResolver(_config(BeamVariant.pulseOutside)); final frame = pulse.staticFrame(); diff --git a/test/models/beam_colors_test.dart b/test/models/beam_colors_test.dart new file mode 100644 index 0000000..3a28a81 --- /dev/null +++ b/test/models/beam_colors_test.dart @@ -0,0 +1,237 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_test/flutter_test.dart'; + +const _blobA = BeamBlob( + color: Color(0xFFFF3264), + position: Offset(0.33, -0.074), + size: Size(70, 40), +); +const _blobB = BeamBlob( + color: Color(0xFF288CFF), + position: Offset(0.12, -0.05), + size: Size(60, 35), +); +const _lineBlob = LineBlob( + color: Color(0xFFFF3264), + sizeW: 120, + sizeH: 30, + offsetX: 0, + offsetY: 2, +); + +Widget _host(Widget child) => MaterialApp( + theme: ThemeData(brightness: Brightness.dark), + home: Scaffold( + body: Center(child: SizedBox(width: 350, height: 140, child: child)), + ), +); + +BeamPainter _beamPainter(WidgetTester tester) => tester + .widgetList( + find.descendant( + of: find.byType(BorderBeam), + matching: find.byType(CustomPaint), + ), + ) + .expand((paint) => [paint.painter, paint.foregroundPainter]) + .whereType() + .first; + +void main() { + group('BeamBlob equality', () { + test('compares color, position and size', () { + expect( + _blobA, + const BeamBlob( + color: Color(0xFFFF3264), + position: Offset(0.33, -0.074), + size: Size(70, 40), + ), + ); + expect( + _blobA.hashCode, + _blobA.withColor(const Color(0xFFFF3264)).hashCode, + ); + expect(_blobA, isNot(_blobB)); + expect(_blobA, isNot(_blobA.withColor(const Color(0xFF000000)))); + expect(_blobA.toString(), contains('BeamBlob')); + }); + + test('LineBlob compares every geometry field', () { + expect( + _lineBlob, + const LineBlob( + color: Color(0xFFFF3264), + sizeW: 120, + sizeH: 30, + offsetX: 0, + offsetY: 2, + ), + ); + expect(_lineBlob.hashCode, isNot(0)); + expect( + _lineBlob, + isNot( + const LineBlob( + color: Color(0xFFFF3264), + sizeW: 120, + sizeH: 30, + offsetX: 1, + offsetY: 2, + ), + ), + ); + expect(_lineBlob.toString(), contains('LineBlob')); + }); + }); + + group('BeamColors equality', () { + test('equal custom lists are == with equal hashCodes', () { + final a = BeamColors.custom(const [Color(0xFFFF00AA), Color(0xFF00FFEE)]); + final b = BeamColors.custom([ + const Color(0xFFFF00AA), + const Color(0xFF00FFEE), + ]); + expect(identical(a, b), isFalse, reason: 'distinct instances'); + expect(a, b); + expect(a.hashCode, b.hashCode); + }); + + test('custom order and length are significant', () { + final a = BeamColors.custom(const [Color(0xFFFF00AA), Color(0xFF00FFEE)]); + final reordered = BeamColors.custom(const [ + Color(0xFF00FFEE), + Color(0xFFFF00AA), + ]); + final shorter = BeamColors.custom(const [Color(0xFFFF00AA)]); + expect(a, isNot(reordered)); + expect(a, isNot(shorter)); + }); + + test('presets compare by identity of their table and mono flag', () { + expect(BeamColors.ocean, BeamColors.ocean); + expect(BeamColors.ocean.hashCode, BeamColors.ocean.hashCode); + expect(BeamColors.ocean, isNot(BeamColors.sunset)); + expect(BeamColors.mono, isNot(BeamColors.colorful)); + expect( + BeamColors.colorful, + isNot(BeamColors.custom(const [Color(0xFFFF00AA)])), + ); + }); + + test('spec compares blob tables element-wise', () { + const a = BeamColors.spec(border: [_blobA, _blobB]); + const b = BeamColors.spec(border: [_blobA, _blobB]); + expect(a, b); + expect(a.hashCode, b.hashCode); + expect(a, isNot(const BeamColors.spec(border: [_blobB, _blobA]))); + expect( + a, + isNot(const BeamColors.spec(border: [_blobA, _blobB], lineBlobs: [])), + ); + expect( + const BeamColors.spec(border: [_blobA], smallBorder: [_blobB]), + const BeamColors.spec(border: [_blobA], smallBorder: [_blobB]), + ); + expect( + const BeamColors.spec(border: [_blobA], smallBorder: [_blobB]), + isNot(const BeamColors.spec(border: [_blobA])), + ); + expect( + const BeamColors.spec(border: [_blobA], lineBlobs: [_lineBlob]), + const BeamColors.spec(border: [_blobA], lineBlobs: [_lineBlob]), + ); + }); + }); + + group('BeamColors.resolve', () { + test('memoizes per instance', () { + final custom = BeamColors.custom(const [Color(0xFFFF00AA)]); + expect(identical(custom.resolve(), custom.resolve()), isTrue); + expect( + identical(BeamColors.ocean.resolve(), BeamColors.ocean.resolve()), + isTrue, + ); + const spec = BeamColors.spec(border: [_blobA]); + expect(identical(spec.resolve(), spec.resolve()), isTrue); + }); + + test('custom distributes colors and preserves preset alpha', () { + final palette = BeamColors.custom(const [Color(0xFFFF00AA)]).resolve(); + final reference = BeamColors.colorful.resolve(); + for (final (i, blob) in palette.data.smallInner.indexed) { + expect(blob.color.r, closeTo(1, 1e-6)); + expect(blob.color.g, closeTo(0, 1e-6)); + expect( + blob.color.a, + closeTo(reference.data.smallInner[i].color.a, 1e-6), + ); + expect(blob.position, reference.data.smallInner[i].position); + } + expect(palette.data.border.length, reference.data.border.length); + expect(palette.data.lineBloomDark.length, 5); + expect(palette.forcesStaticColors, isFalse); + }); + + test('mono preset carries the mono modifiers', () { + final mono = BeamColors.mono.resolve(); + expect(mono.forcesStaticColors, isTrue); + expect(mono.opacityMultiplier, 0.5); + expect(mono.monoTreatment, isTrue); + }); + + test('spec keeps the given tables and derives the rest', () { + const spec = BeamColors.spec( + border: [_blobA, _blobB], + smallBorder: [_blobA], + ); + final palette = spec.resolve(); + final derived = BeamColors.custom(const [ + Color(0xFFFF3264), + Color(0xFF288CFF), + ]).resolve(); + expect(palette.data.border, const [_blobA, _blobB]); + expect(palette.data.smallBorder, const [_blobA]); + // smallInner is derived from the given smallBorder at 45% alpha. + expect( + palette.data.smallInner.single.color.a, + closeTo(_blobA.color.a * 0.45, 1e-6), + ); + // Untouched tables cycle the border colors over the default geometry. + expect(palette.data.lineInner, derived.data.lineInner); + expect(palette.data.lineBloomDark, derived.data.lineBloomDark); + expect(palette.data.spike, derived.data.spike); + }); + + test('spec without a smallBorder derives one', () { + const spec = BeamColors.spec(border: [_blobA]); + final palette = spec.resolve(); + final derived = BeamColors.custom(const [Color(0xFFFF3264)]).resolve(); + expect(palette.data.smallBorder, derived.data.smallBorder); + expect(palette.data.smallInner, derived.data.smallInner); + expect(palette.data.lineDark, derived.data.lineDark); + }); + }); + + testWidgets('equal custom colors do not re-resolve the config', ( + tester, + ) async { + Widget build() => _host( + BorderBeam.rotate( + colors: BeamColors.custom([ + const Color(0xFFFF00AA), + const Color(0xFF00FFEE), + ]), + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build()); + final first = _beamPainter(tester).config; + // A fresh widget carrying a fresh — but equal — BeamColors instance. + await tester.pumpWidget(build()); + expect(identical(_beamPainter(tester).config, first), isTrue); + }); +} diff --git a/test/widget/border_beam_update_test.dart b/test/widget/border_beam_update_test.dart new file mode 100644 index 0000000..826d696 --- /dev/null +++ b/test/widget/border_beam_update_test.dart @@ -0,0 +1,462 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/animation/beam_clock.dart'; +import 'package:flutter_border_beam/src/animation/beam_phases.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_test/flutter_test.dart'; + +Widget _host(Widget child, {bool disableAnimations = false}) => MaterialApp( + theme: ThemeData(brightness: Brightness.dark), + builder: (context, app) => MediaQuery( + data: MediaQuery.of(context).copyWith(disableAnimations: disableAnimations), + child: app!, + ), + home: Scaffold( + body: Center(child: SizedBox(width: 350, height: 140, child: child)), + ), +); + +BeamPainter _beamPainter(WidgetTester tester) => tester + .widgetList( + find.descendant( + of: find.byType(BorderBeam), + matching: find.byType(CustomPaint), + ), + ) + .expand((paint) => [paint.painter, paint.foregroundPainter]) + .whereType() + .first; + +// The frame the painter would draw right now. +({BeamPainter painter, BeamFramePhases phases}) _frame(WidgetTester tester) { + final painter = _beamPainter(tester); + return ( + painter: painter, + phases: painter.resolver.sample( + painter.clock.elapsedSeconds, + painter.clock.fadeOpacity, + ), + ); +} + +void main() { + group('cycleDuration change', () { + testWidgets('retimes the rotate beam without a phase jump', (tester) async { + Widget build(Duration cycle) => _host( + BorderBeam.rotate(cycleDuration: cycle, child: const SizedBox.expand()), + ); + + await tester.pumpWidget(build(const Duration(seconds: 2))); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 900)); + final before = _frame(tester); + expect(before.painter.clock.elapsedSeconds, closeTo(0.9, 1e-9)); + + await tester.pumpWidget(build(const Duration(seconds: 4))); + final after = _frame(tester); + + expect( + after.painter.config.cycleSeconds, + closeTo(4, 1e-9), + reason: 'the new cycle is in effect', + ); + expect( + after.painter.clock.elapsedSeconds, + closeTo(1.8, 1e-9), + reason: 'elapsed time is rescaled by the cycle ratio', + ); + expect( + after.phases.angleRadians, + closeTo(before.phases.angleRadians, 1e-6), + ); + expect(after.phases.hueDegrees, closeTo(before.phases.hueDegrees, 1e-6)); + }); + + testWidgets('retimes the line beam without a phase jump', (tester) async { + Widget build(Duration cycle) => _host( + BorderBeam.line(cycleDuration: cycle, child: const SizedBox.expand()), + ); + + await tester.pumpWidget(build(const Duration(seconds: 3))); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1400)); + final before = _frame(tester); + + await tester.pumpWidget(build(const Duration(milliseconds: 1500))); + final after = _frame(tester); + + expect(after.phases.lineX, closeTo(before.phases.lineX, 1e-6)); + expect(after.phases.lineW, closeTo(before.phases.lineW, 1e-6)); + expect(after.phases.lineH, closeTo(before.phases.lineH, 1e-6)); + expect(after.phases.spike, closeTo(before.phases.spike, 1e-6)); + expect(after.phases.edge, closeTo(before.phases.edge, 1e-6)); + expect(after.phases.hueDegrees, closeTo(before.phases.hueDegrees, 1e-6)); + expect( + after.phases.bloomHueDegrees, + closeTo(before.phases.bloomHueDegrees, 1e-6), + ); + }); + + testWidgets('keeps every pulse oscillator continuous', (tester) async { + Widget build(Duration cycle) => _host( + BorderBeam.pulseInside( + cycleDuration: cycle, + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(const Duration(milliseconds: 2300))); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1700)); + final before = _frame(tester); + + await tester.pumpWidget(build(const Duration(seconds: 5))); + final after = _frame(tester); + + for (var i = 0; i < 3; i++) { + expect( + after.phases.pulse.bw[i], + closeTo(before.phases.pulse.bw[i], 1e-6), + ); + expect( + after.phases.pulse.bh[i], + closeTo(before.phases.pulse.bh[i], 1e-6), + ); + expect( + after.phases.pulse.bx[i], + closeTo(before.phases.pulse.bx[i], 1e-6), + ); + expect( + after.phases.pulse.by[i], + closeTo(before.phases.pulse.by[i], 1e-6), + ); + } + expect(after.phases.pulse.bgh, closeTo(before.phases.pulse.bgh, 1e-6)); + expect( + after.phases.pulse.bopTl, + closeTo(before.phases.pulse.bopTl, 1e-6), + ); + expect( + after.phases.pulse.bopBr, + closeTo(before.phases.pulse.bopBr, 1e-6), + ); + expect(after.phases.hueDegrees, closeTo(before.phases.hueDegrees, 1e-6)); + }); + + testWidgets('keeps the fade envelope continuous mid fade-in', ( + tester, + ) async { + var activated = 0; + Widget build(Duration cycle) => _host( + BorderBeam.rotate( + cycleDuration: cycle, + onActivate: () => activated++, + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(const Duration(seconds: 2))); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 150)); + final before = _beamPainter(tester).clock; + final opacity = before.fadeOpacity; + expect(opacity, greaterThan(0)); + expect(opacity, lessThan(1)); + expect(before.stage, BeamFadeStage.fadingIn); + + await tester.pumpWidget(build(const Duration(seconds: 6))); + final after = _beamPainter(tester).clock; + expect(after.fadeOpacity, closeTo(opacity, 1e-6)); + expect(after.stage, BeamFadeStage.fadingIn); + + // The remaining fade time is unchanged too: 0.45s left of the 0.6s + // fade-in, not 0.45s scaled by the cycle ratio. + await tester.pump(const Duration(milliseconds: 400)); + expect(activated, 0); + await tester.pump(const Duration(milliseconds: 100)); + expect(activated, 1); + expect(after.fadeOpacity, 1); + }); + + testWidgets('an unchanged cycle leaves the timeline alone', (tester) async { + Widget build(double strength) => _host( + BorderBeam.rotate( + strength: strength, + cycleDuration: const Duration(seconds: 2), + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(1)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 900)); + await tester.pumpWidget(build(0.5)); + expect(_beamPainter(tester).clock.elapsedSeconds, closeTo(0.9, 1e-9)); + }); + }); + + group('reduced motion', () { + testWidgets('turning it off starts a beam that never got to start', ( + tester, + ) async { + Widget build(bool reduced) => _host( + disableAnimations: reduced, + const BorderBeam.rotate(child: SizedBox.expand()), + ); + + await tester.pumpWidget(build(true)); + await tester.pump(const Duration(milliseconds: 100)); + expect(_beamPainter(tester).clock.isVisible, isFalse); + expect(tester.binding.hasScheduledFrame, isFalse); + + await tester.pumpWidget(build(false)); + expect(_beamPainter(tester).clock.isVisible, isTrue); + await tester.pump(const Duration(milliseconds: 50)); + expect(tester.binding.hasScheduledFrame, isTrue); + expect(_beamPainter(tester).clock.isRunning, isTrue); + }); + + testWidgets('turning it off respects a pending startAfter delay', ( + tester, + ) async { + Widget build(bool reduced) => _host( + disableAnimations: reduced, + const BorderBeam.rotate( + startAfter: Duration(seconds: 2), + child: SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(true)); + await tester.pump(const Duration(milliseconds: 500)); + await tester.pumpWidget(build(false)); + expect(_beamPainter(tester).clock.isVisible, isFalse); + await tester.pump(const Duration(seconds: 2)); + await tester.pump(); + expect(_beamPainter(tester).clock.isVisible, isTrue); + }); + + testWidgets('toggling it on pauses and off resumes a running beam', ( + tester, + ) async { + Widget build(bool reduced) => _host( + disableAnimations: reduced, + const BorderBeam.rotate(child: SizedBox.expand()), + ); + + await tester.pumpWidget(build(false)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 800)); + final clock = _beamPainter(tester).clock; + expect(clock.isRunning, isTrue); + final frozenAt = clock.elapsedSeconds; + + await tester.pumpWidget(build(true)); + expect(clock.isRunning, isFalse); + await tester.pump(const Duration(milliseconds: 200)); + expect(tester.binding.hasScheduledFrame, isFalse); + expect(clock.elapsedSeconds, closeTo(frozenAt, 1e-9)); + expect(clock.isVisible, isTrue, reason: 'the frame stays on screen'); + + await tester.pumpWidget(build(false)); + expect(clock.isRunning, isTrue); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 100)); + expect( + clock.elapsedSeconds, + greaterThan(frozenAt), + reason: 'the timeline continues where it was frozen', + ); + }); + + testWidgets('turning it off does not replay a beam that already ran', ( + tester, + ) async { + var deactivated = 0; + Widget build(bool reduced) => _host( + disableAnimations: reduced, + BorderBeam.rotate( + duration: const Duration(seconds: 1), + onDeactivate: () => deactivated++, + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(false)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1100)); + await tester.pump(const Duration(milliseconds: 600)); + expect(deactivated, 1); + expect(_beamPainter(tester).clock.isVisible, isFalse); + + await tester.pumpWidget(build(true)); + await tester.pump(const Duration(milliseconds: 50)); + await tester.pumpWidget(build(false)); + await tester.pump(const Duration(milliseconds: 50)); + expect( + _beamPainter(tester).clock.isVisible, + isFalse, + reason: 'its play time is spent', + ); + expect(tester.binding.hasScheduledFrame, isFalse); + }); + + testWidgets('turning it off does not resume a controller-paused beam', ( + tester, + ) async { + final controller = BorderBeamController(); + addTearDown(controller.dispose); + Widget build(bool reduced) => _host( + disableAnimations: reduced, + BorderBeam.rotate( + controller: controller, + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(false)); + controller.start(); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + expect(controller.isRunning, isTrue); + controller.pause(); + await tester.pump(const Duration(milliseconds: 50)); + expect(controller.isRunning, isFalse); + + await tester.pumpWidget(build(true)); + await tester.pump(const Duration(milliseconds: 50)); + await tester.pumpWidget(build(false)); + await tester.pump(const Duration(milliseconds: 50)); + expect( + controller.isRunning, + isFalse, + reason: 'the controller owns the pause', + ); + expect(controller.isActive, isTrue); + }); + }); + + group('widget updates', () { + testWidgets('a variant swap keeps visibility and restarts the clock', ( + tester, + ) async { + Widget build(bool pulse) => _host( + pulse + ? const BorderBeam.pulseInside(child: SizedBox.expand()) + : const BorderBeam.rotate(child: SizedBox.expand()), + ); + + await tester.pumpWidget(build(false)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 900)); + final first = _beamPainter(tester).clock; + expect(first.elapsedSeconds, closeTo(0.9, 1e-9)); + + await tester.pumpWidget(build(true)); + final second = _beamPainter(tester).clock; + expect(identical(second, first), isFalse, reason: 'a fresh clock'); + expect(second.isVisible, isTrue); + expect(second.elapsedSeconds, 0); + await tester.pump(const Duration(milliseconds: 50)); + expect(second.isRunning, isTrue); + }); + + testWidgets('a controller swap detaches the old and attaches the new', ( + tester, + ) async { + final first = BorderBeamController(); + final second = BorderBeamController(); + addTearDown(first.dispose); + addTearDown(second.dispose); + Widget build(BorderBeamController? controller) => _host( + BorderBeam.rotate( + controller: controller, + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(first)); + expect(first.isAttached, isTrue); + + await tester.pumpWidget(build(second)); + expect(first.isAttached, isFalse); + expect(second.isAttached, isTrue); + + second.start(); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + expect(second.isActive, isTrue); + expect(_beamPainter(tester).clock.isVisible, isTrue); + + await tester.pumpWidget(build(null)); + expect(second.isAttached, isFalse); + }); + + testWidgets('re-activating mid fade-out resumes from the current opacity', ( + tester, + ) async { + var activated = 0; + var deactivated = 0; + Widget build(bool active) => _host( + BorderBeam.rotate( + active: active, + onActivate: () => activated++, + onDeactivate: () => deactivated++, + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(true)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 150)); + final clock = _beamPainter(tester).clock; + expect(clock.stage, BeamFadeStage.fadingIn); + + await tester.pumpWidget(build(false)); + await tester.pump(const Duration(milliseconds: 80)); + expect(clock.stage, BeamFadeStage.fadingOut); + final mid = clock.fadeOpacity; + expect(mid, greaterThan(0)); + expect(mid, lessThan(1)); + final elapsed = clock.elapsedSeconds; + + await tester.pumpWidget(build(true)); + expect(clock.stage, BeamFadeStage.fadingIn); + expect( + clock.fadeOpacity, + closeTo(mid, 1e-9), + reason: 'no jump back to zero', + ); + expect( + clock.elapsedSeconds, + closeTo(elapsed, 1e-9), + reason: 'a mid-fade re-activation keeps the timeline', + ); + + await tester.pump(const Duration(milliseconds: 700)); + expect(activated, 1); + expect(deactivated, 0); + expect(clock.fadeOpacity, 1); + }); + + testWidgets('a colors change resolves a new config exactly once', ( + tester, + ) async { + Widget build(BeamColors colors) => _host( + BorderBeam.rotate(colors: colors, child: const SizedBox.expand()), + ); + + await tester.pumpWidget(build(BeamColors.ocean)); + final ocean = _beamPainter(tester).config; + + await tester.pumpWidget(build(BeamColors.sunset)); + final sunset = _beamPainter(tester).config; + expect(identical(sunset, ocean), isFalse); + expect(identical(sunset.palette, BeamColors.sunset.resolve()), isTrue); + + // Rebuilding with the same colors reuses the resolved config. + await tester.pumpWidget(build(BeamColors.sunset)); + expect(identical(_beamPainter(tester).config, sunset), isTrue); + }); + }); +} From beb390f2e0834c2e13310f31d87813e9ac886623 Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 14:20:23 -0700 Subject: [PATCH 05/40] test: pin the saveLayer budget, cover lifecycle and boundaries, widen goldens A counting canvas measures every variant's per-frame saveLayer count (rotate 4, small 3, line 4, pulseInside 4, pulseOutside 3) and asserts it exactly with save/restore balance, so CLAUDE.md's budget rule now states the measured table it enforces. Lifecycle tests prove no ticker outlives disposal mid-fade, a variant swap, TickerMode, or a controller that outlives its beam. Boundary tests sweep degenerate boxes, radius and width extremes, and out-of-range parameters, and pin strength 0 to zero pixels in both passes. Seeded property tests check the phase resolver's purity, per-cycle periodicity, and field ranges. Goldens gain ocean and sunset for every variant in both themes plus a later freeze for the two traveling variants. Two defects the new tests expose are documented as skipped tests: sub-2px boxes assert on a negative corner radius, and staticFrame() samples the hue ping-pong instead of a neutral hue. Co-Authored-By: Claude Opus 5 (1M context) --- CLAUDE.md | 8 +- test/animation/phase_property_test.dart | 233 ++++++++++++++++++ test/golden/beam_golden_test.dart | 36 ++- .../goldens/line_dark_colorful_late.png | Bin 0 -> 62503 bytes test/golden/goldens/line_dark_ocean.png | Bin 0 -> 68773 bytes test/golden/goldens/line_dark_sunset.png | Bin 0 -> 68835 bytes .../goldens/line_light_colorful_late.png | Bin 0 -> 49136 bytes test/golden/goldens/line_light_ocean.png | Bin 0 -> 55531 bytes test/golden/goldens/line_light_sunset.png | Bin 0 -> 54229 bytes .../goldens/pulse_inside_dark_ocean.png | Bin 0 -> 108591 bytes .../goldens/pulse_inside_dark_sunset.png | Bin 0 -> 98238 bytes .../goldens/pulse_inside_light_ocean.png | Bin 0 -> 110019 bytes .../goldens/pulse_inside_light_sunset.png | Bin 0 -> 113434 bytes .../goldens/pulse_outside_dark_ocean.png | Bin 0 -> 224359 bytes .../goldens/pulse_outside_dark_sunset.png | Bin 0 -> 161971 bytes .../goldens/pulse_outside_light_ocean.png | Bin 0 -> 301328 bytes .../goldens/pulse_outside_light_sunset.png | Bin 0 -> 251327 bytes .../goldens/rotate_dark_colorful_late.png | Bin 0 -> 61786 bytes test/golden/goldens/rotate_dark_ocean.png | Bin 0 -> 64156 bytes test/golden/goldens/rotate_dark_sunset.png | Bin 0 -> 64989 bytes .../goldens/rotate_light_colorful_late.png | Bin 0 -> 55164 bytes test/golden/goldens/rotate_light_ocean.png | Bin 0 -> 57112 bytes test/golden/goldens/rotate_light_sunset.png | Bin 0 -> 57218 bytes test/golden/goldens/small_dark_ocean.png | Bin 0 -> 30469 bytes test/golden/goldens/small_dark_sunset.png | Bin 0 -> 30617 bytes test/golden/goldens/small_light_ocean.png | Bin 0 -> 29853 bytes test/golden/goldens/small_light_sunset.png | Bin 0 -> 29877 bytes test/painting/boundary_test.dart | 225 +++++++++++++++++ test/painting/paint_smoke_test.dart | 1 + test/painting/save_layer_budget_test.dart | 186 ++++++++++++++ test/widget/border_beam_lifecycle_test.dart | 214 ++++++++++++++++ 31 files changed, 899 insertions(+), 4 deletions(-) create mode 100644 test/animation/phase_property_test.dart create mode 100644 test/golden/goldens/line_dark_colorful_late.png create mode 100644 test/golden/goldens/line_dark_ocean.png create mode 100644 test/golden/goldens/line_dark_sunset.png create mode 100644 test/golden/goldens/line_light_colorful_late.png create mode 100644 test/golden/goldens/line_light_ocean.png create mode 100644 test/golden/goldens/line_light_sunset.png create mode 100644 test/golden/goldens/pulse_inside_dark_ocean.png create mode 100644 test/golden/goldens/pulse_inside_dark_sunset.png create mode 100644 test/golden/goldens/pulse_inside_light_ocean.png create mode 100644 test/golden/goldens/pulse_inside_light_sunset.png create mode 100644 test/golden/goldens/pulse_outside_dark_ocean.png create mode 100644 test/golden/goldens/pulse_outside_dark_sunset.png create mode 100644 test/golden/goldens/pulse_outside_light_ocean.png create mode 100644 test/golden/goldens/pulse_outside_light_sunset.png create mode 100644 test/golden/goldens/rotate_dark_colorful_late.png create mode 100644 test/golden/goldens/rotate_dark_ocean.png create mode 100644 test/golden/goldens/rotate_dark_sunset.png create mode 100644 test/golden/goldens/rotate_light_colorful_late.png create mode 100644 test/golden/goldens/rotate_light_ocean.png create mode 100644 test/golden/goldens/rotate_light_sunset.png create mode 100644 test/golden/goldens/small_dark_ocean.png create mode 100644 test/golden/goldens/small_dark_sunset.png create mode 100644 test/golden/goldens/small_light_ocean.png create mode 100644 test/golden/goldens/small_light_sunset.png create mode 100644 test/painting/boundary_test.dart create mode 100644 test/painting/save_layer_budget_test.dart create mode 100644 test/widget/border_beam_lifecycle_test.dart diff --git a/CLAUDE.md b/CLAUDE.md index da4c0bc..e5c05dd 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -32,13 +32,17 @@ frame. ## Hard rules 1. **Never tweak values in `lib/src/constants/`** — they are transcribed 1:1 from `src/styles.ts` of the React source (clone: `git clone https://github.com/Jakubantalik/border-beam /tmp/border-beam-react`). Visual parity depends on them. If a value looks wrong, verify against the source first. -2. **saveLayer budget: ≤3 per frame per variant.** Hue/brightness/saturation are folded into gradient colors on the CPU (`BeamColorMatrix.transform`) — do not introduce per-layer `ColorFilter` saveLayers. Blur layers are the only place filter saveLayers are allowed. +2. **saveLayer budget — the measured per-variant table.** One frame (`paintBehind` + `paintAbove`) issues: **rotate 4, small 3, line 4, pulseInside 4, pulseOutside 3**. `test/painting/save_layer_budget_test.dart` measures every variant × brightness × palette × time sample through a counting canvas and asserts the count *exactly* (plus save/restore balance), so a regression and an improvement both fail until the table is updated in both places. Each entry is a layer the variant genuinely composites — inner, stroke, bloom, the mask sub-layer where two masks intersect (rotate/line/pulseInside), and pulse-outside's two behind-child glows. Hue/brightness/saturation are folded into gradient colors on the CPU (`BeamColorMatrix.transform`) — never add a saveLayer just to carry a `ColorFilter`; a filter rides on a layer that exists anyway, and blur is the only filter allowed to justify a layer of its own. 3. **CSS↔Flutter mapping conventions** (see `gradient_builders.dart`): CSS conic gradients start at 12 o'clock — `SweepGradient` needs the −90° rotation baked in; CSS `radial-gradient(ellipse W H ...)` sizes are RADII; CSS `filter: blur(Npx)` maps to sigma = N; gradient fades to `color.withValues(alpha: 0)` (never `Color(0x00000000)`, which lerps through black). 4. Layer opacity is a multiplied chain (fade × preset × mono × hook × strength), clamped at paint time — presets legitimately exceed 1 (line/dark stroke = 1.14). 5. The line variant does NOT use the mono ×0.5 opacity multiplier; its mono treatment is spike attenuation inside the bloom (see `LineStrategy._paintSpikes`). ## Testing conventions -- Golden scenes freeze the fake test clock at t=1.3s (post fade-in, mid-cycle); regenerating on a different OS will produce diffs — keep goldens macOS-generated. +- Golden scenes freeze the fake test clock at t=1.3s (post fade-in, mid-cycle) for every variant × theme × palette; the two traveling variants are captured a second time further along their sweep (`rotate_*_colorful_late` at 2.3s, `line_*_colorful_late` at 2.0s — inside the `beam-edge-fade` plateau, so the beam is at full strength). Regenerating on a different OS will produce diffs — keep goldens macOS-generated. - `test/painting/paint_smoke_test.dart` sweeps every variant×theme×palette×shape for "paints without throwing, produces pixels" — extend it when adding paint paths. +- `test/painting/boundary_test.dart` covers degenerate geometry (zero/1px/sliver boxes, radius past the short side, `borderWidth` 0) and out-of-range parameters, and pins `strength: 0` to painting *no* pixels in either pass. +- `test/animation/phase_property_test.dart` property-tests `BeamPhaseResolver.sample` over a seeded random sweep: purity, per-cycle periodicity of the cycle-driven tracks only, and the range of every phase field. +- `test/widget/border_beam_lifecycle_test.dart` asserts no ticker survives disposal mid-fade (per variant), a variant swap, `TickerMode`, or a controller outliving its beam — `tester.binding.transientCallbackCount` must return to 0. - Ticker tests: the first tick after `Ticker.start()` reports elapsed 0 — pump once before pumping durations. +- A test that documents behavior the code does not yet have is marked `skip: 'defect: '` rather than rewritten to match the bug (`testWidgets` only takes a bool, so its reason goes in a comment). diff --git a/test/animation/phase_property_test.dart b/test/animation/phase_property_test.dart new file mode 100644 index 0000000..795017b --- /dev/null +++ b/test/animation/phase_property_test.dart @@ -0,0 +1,233 @@ +import 'dart:math' as math; +import 'dart:ui' as ui; + +import 'package:flutter_border_beam/src/animation/beam_phases.dart'; +import 'package:flutter_border_beam/src/constants/pulse_params.dart'; +import 'package:flutter_border_beam/src/models/beam_colors.dart'; +import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_border_beam/src/models/beam_variant.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// Property tests over [BeamPhaseResolver.sample]. +/// +/// Every animated value in this package is a pure function of elapsed time, +/// which is what lets the painter re-derive a frame from the clock alone. +/// These tests assert that purity, the periodicity the cycle duration +/// promises, and the range each phase field is allowed to occupy — over a +/// seeded random sweep rather than a handful of hand-picked instants. +void main() { + const sampleCount = 500; + + BeamConfig configFor(BeamVariant variant, {ui.Brightness? brightness}) => + BeamConfig.resolve( + variant: variant, + palette: BeamColors.colorful.resolve(), + brightness: brightness ?? ui.Brightness.dark, + ); + + void expectPhasesEqual( + BeamFramePhases a, + BeamFramePhases b, { + required String at, + }) { + expect(a.fadeOpacity, b.fadeOpacity, reason: 'fadeOpacity $at'); + expect(a.hueDegrees, b.hueDegrees, reason: 'hueDegrees $at'); + expect(a.bloomHueDegrees, b.bloomHueDegrees, reason: 'bloomHue $at'); + expect(a.angleRadians, b.angleRadians, reason: 'angleRadians $at'); + expect(a.lineX, b.lineX, reason: 'lineX $at'); + expect(a.lineW, b.lineW, reason: 'lineW $at'); + expect(a.lineH, b.lineH, reason: 'lineH $at'); + expect(a.spike, b.spike, reason: 'spike $at'); + expect(a.spike2, b.spike2, reason: 'spike2 $at'); + expect(a.edge, b.edge, reason: 'edge $at'); + expect(a.pulse.bw, b.pulse.bw, reason: 'pulse.bw $at'); + expect(a.pulse.bh, b.pulse.bh, reason: 'pulse.bh $at'); + expect(a.pulse.bx, b.pulse.bx, reason: 'pulse.bx $at'); + expect(a.pulse.by, b.pulse.by, reason: 'pulse.by $at'); + expect(a.pulse.bgh, b.pulse.bgh, reason: 'pulse.bgh $at'); + expect(a.pulse.bopTl, b.pulse.bopTl, reason: 'pulse.bopTl $at'); + expect(a.pulse.bopTr, b.pulse.bopTr, reason: 'pulse.bopTr $at'); + expect(a.pulse.bopBl, b.pulse.bopBl, reason: 'pulse.bopBl $at'); + expect(a.pulse.bopBr, b.pulse.bopBr, reason: 'pulse.bopBr $at'); + } + + group('purity', () { + for (final variant in BeamVariant.values) { + test('$variant: the same t yields the same frame', () { + final config = configFor(variant); + final resolver = BeamPhaseResolver(config); + // A second resolver over the same config must agree too: the + // oscillator bank carries no per-frame state. + final twin = BeamPhaseResolver(config); + final random = math.Random(0x5EED); + for (var i = 0; i < sampleCount; i++) { + final t = random.nextDouble() * 1000; + final fade = random.nextDouble(); + expectPhasesEqual( + resolver.sample(t, fade), + resolver.sample(t, fade), + at: 'at t=$t', + ); + expectPhasesEqual( + resolver.sample(t, fade), + twin.sample(t, fade), + at: 'across resolvers at t=$t', + ); + } + }); + + test('$variant: fadeOpacity passes straight through', () { + final resolver = BeamPhaseResolver(configFor(variant)); + final random = math.Random(0xFADE); + for (var i = 0; i < sampleCount; i++) { + final fade = random.nextDouble(); + expect( + resolver.sample(random.nextDouble() * 1000, fade).fadeOpacity, + fade, + ); + } + }); + } + }); + + group('cycle periodicity', () { + // Only the tracks driven by the cycle duration itself repeat every + // cycle. The line variant's breathe/spike tracks run at ×1.3/×1.33/×1.7 + // of it, and the hue ping-pong has its own 12s period, so neither is + // expected to line up here. + // + // Samples stay clear of the wrap (fraction 0.02–0.98) so a float + // rounding of the modulo cannot land the two reads on opposite sides of + // a keyframe seam. + ({double a, double b}) pairFor(math.Random random, double cycleSeconds) { + final fraction = 0.02 + random.nextDouble() * 0.96; + final t = fraction * cycleSeconds; + final k = 1 + random.nextInt(20); + return (a: t, b: t + k * cycleSeconds); + } + + for (final variant in [BeamVariant.rotate, BeamVariant.small]) { + test('$variant: the conic angle repeats every cycle', () { + final config = configFor(variant); + final resolver = BeamPhaseResolver(config); + final random = math.Random(0xC0FFEE); + for (var i = 0; i < sampleCount; i++) { + final (a: t, b: later) = pairFor(random, config.cycleSeconds); + expect( + resolver.sample(later, 1).angleRadians, + closeTo(resolver.sample(t, 1).angleRadians, 1e-6), + reason: 'angleRadians at t=$t vs $later', + ); + } + }); + } + + test('line: travel, width and edge fade repeat every cycle', () { + final config = configFor(BeamVariant.line); + final resolver = BeamPhaseResolver(config); + final random = math.Random(0xBEEF); + for (var i = 0; i < sampleCount; i++) { + final (a: t, b: later) = pairFor(random, config.cycleSeconds); + final first = resolver.sample(t, 1); + final second = resolver.sample(later, 1); + expect(second.lineX, closeTo(first.lineX, 1e-6), reason: 'lineX @$t'); + expect(second.lineW, closeTo(first.lineW, 1e-6), reason: 'lineW @$t'); + expect(second.edge, closeTo(first.edge, 1e-6), reason: 'edge @$t'); + } + }); + }); + + group('ranges', () { + for (final variant in BeamVariant.values) { + test('$variant: the conic angle stays in [0, 2pi)', () { + final resolver = BeamPhaseResolver(configFor(variant)); + final random = math.Random(0xA11CE); + for (var i = 0; i < sampleCount; i++) { + final angle = resolver + .sample(random.nextDouble() * 5000, 1) + .angleRadians; + expect(angle, greaterThanOrEqualTo(0)); + expect(angle, lessThan(2 * math.pi)); + } + }); + } + + test('line: the edge fade stays in [0, 1]', () { + final resolver = BeamPhaseResolver(configFor(BeamVariant.line)); + final random = math.Random(0xED6E); + for (var i = 0; i < sampleCount; i++) { + final edge = resolver.sample(random.nextDouble() * 5000, 1).edge; + expect(edge, inInclusiveRange(0, 1)); + } + }); + + for (final variant in [BeamVariant.pulseInside, BeamVariant.pulseOutside]) { + for (final brightness in ui.Brightness.values) { + test('$variant/$brightness: breathing stays inside its params', () { + final config = configFor(variant, brightness: brightness); + final params = PulseParams.resolve( + variant, + brightness, + config.cycleSeconds, + ); + final resolver = BeamPhaseResolver(config); + final random = math.Random(0xDEC0DE); + // The widest oscillator in the size bank swings to 1 + sp × 1.15. + final sizeSpan = params.sp * 1.15; + for (var i = 0; i < sampleCount; i++) { + final pulse = resolver.sample(random.nextDouble() * 5000, 1).pulse; + for (final v in pulse.bw) { + expect(v, inInclusiveRange(1 - sizeSpan, 1 + sizeSpan)); + } + for (final v in pulse.bh) { + expect(v, inInclusiveRange(1 - sizeSpan, 1 + sizeSpan)); + } + for (final v in [...pulse.bx, ...pulse.by]) { + expect(v, inInclusiveRange(-params.dr, params.dr)); + } + expect(pulse.bgh, inInclusiveRange(1 - params.gh, 1 + params.gh)); + for (final v in [ + pulse.bopTl, + pulse.bopTr, + pulse.bopBl, + pulse.bopBr, + ]) { + expect(v, inInclusiveRange(1 - params.op, 1)); + } + } + }); + } + } + }); + + group('staticFrame', () { + for (final variant in BeamVariant.values) { + test('$variant: is deterministic', () { + final resolver = BeamPhaseResolver(configFor(variant)); + expectPhasesEqual( + resolver.staticFrame(), + resolver.staticFrame(), + at: 'in staticFrame', + ); + expect(resolver.staticFrame().fadeOpacity, 1); + }); + + test( + '$variant: is hue-neutral', + () { + // Reduced motion paints one frame forever, so it must show the + // palette's own colors rather than an arbitrary point of the hue + // ping-pong frozen in place. + final resolver = BeamPhaseResolver(configFor(variant)); + expect(resolver.staticFrame().hueDegrees, 0); + expect(resolver.staticFrame().bloomHueDegrees, 0); + }, + skip: variant.isPulse + ? null + : 'defect: staticFrame() freezes the traveling variants ' + 'mid-hue-ping-pong (-26.8 deg for rotate/small, -9.4 deg ' + 'for line) instead of the documented "no hue offset"', + ); + } + }); +} diff --git a/test/golden/beam_golden_test.dart b/test/golden/beam_golden_test.dart index ffa4ba0..ae33931 100644 --- a/test/golden/beam_golden_test.dart +++ b/test/golden/beam_golden_test.dart @@ -7,7 +7,10 @@ import 'package:flutter_test/flutter_test.dart'; /// Golden scenes freeze the (fake) test clock at 1.3s after activation — /// past the 0.6s fade-in, mid-cycle for every variant — so each image -/// captures a representative animated frame deterministically. +/// captures a representative animated frame deterministically. The two +/// traveling variants are captured a second time at a later instant +/// (`_late`), because one frame of a sweep says nothing about where the +/// sweep is the rest of the time. /// /// Regenerate with: /// flutter test --update-goldens --tags golden @@ -54,6 +57,7 @@ void main() { required Brightness brightness, double width = 350, double height = 140, + Duration freeze = const Duration(milliseconds: 1300), }) async { await tester.pumpWidget( scene( @@ -64,7 +68,7 @@ void main() { ), ); await tester.pump(); - await tester.pump(const Duration(milliseconds: 1300)); + await tester.pump(freeze); await expectLater( find.byType(MaterialApp), matchesGoldenFile('goldens/$name.png'), @@ -80,6 +84,8 @@ void main() { for (final MapEntry(key: paletteName, value: colors) in { 'colorful': BeamColors.colorful, 'mono': BeamColors.mono, + 'ocean': BeamColors.ocean, + 'sunset': BeamColors.sunset, }.entries) { testWidgets('rotate $theme $paletteName', (tester) async { await capture( @@ -149,6 +155,32 @@ void main() { }); } + // Second freezes for the traveling variants. rotate's 1.96s cycle puts + // 2.3s at cycle fraction 0.17 (vs 0.66 at 1.3s) — the beam is on the + // opposite side of the border. line's 3.1s cycle puts 2.0s at fraction + // 0.645, still inside the [0.325, 0.675] window where `beam-edge-fade` + // holds at 1, so the beam is at full strength further along its travel + // (x 0.60 vs 0.45 at 1.3s). + testWidgets('rotate $theme colorful late', (tester) async { + await capture( + tester, + 'rotate_${theme}_colorful_late', + brightness: brightness, + freeze: const Duration(milliseconds: 2300), + (b) => BorderBeam.rotate(theme: beamTheme, child: mockSurface(b)), + ); + }); + + testWidgets('line $theme colorful late', (tester) async { + await capture( + tester, + 'line_${theme}_colorful_late', + brightness: brightness, + freeze: const Duration(milliseconds: 2000), + (b) => BorderBeam.line(theme: beamTheme, child: mockSurface(b)), + ); + }); + testWidgets('rotate $theme ocean superellipse', (tester) async { await capture( tester, diff --git a/test/golden/goldens/line_dark_colorful_late.png b/test/golden/goldens/line_dark_colorful_late.png new file mode 100644 index 0000000000000000000000000000000000000000..ca5d780ff4576707127e19a31b1fe0956835e5c1 GIT binary patch literal 62503 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�UZs;UrT&qy{o2FHSt3rX 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 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/line_dark_ocean.png b/test/golden/goldens/line_dark_ocean.png new file mode 100644 index 0000000000000000000000000000000000000000..80d34ffcbdf7858f0de9a47a3803d8c42144de31 GIT binary patch literal 68773 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 ZFv!Ns7f)7kM*sQY`*(^`Rg%Vm|348BvZVk3 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/line_light_colorful_late.png b/test/golden/goldens/line_light_colorful_late.png new file mode 100644 index 0000000000000000000000000000000000000000..2a8d7fdc74a607e79a970e392f20f77744621e97 GIT binary patch literal 49136 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 OSvvO({zPg%e(@h}fxnOd literal 0 HcmV?d00001 diff --git a/test/golden/goldens/line_light_ocean.png b/test/golden/goldens/line_light_ocean.png new file mode 100644 index 0000000000000000000000000000000000000000..543c62dfc8229f382500c455605f1891ee7113de GIT binary patch literal 55531 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 BX=DHZ literal 0 HcmV?d00001 diff --git a/test/golden/goldens/line_light_sunset.png b/test/golden/goldens/line_light_sunset.png new file mode 100644 index 0000000000000000000000000000000000000000..85490f16fcafd80eb84cd24ff03cb15d0e49b7f8 GIT binary patch literal 54229 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

``W=kR6 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 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/pulse_inside_dark_ocean.png b/test/golden/goldens/pulse_inside_dark_ocean.png new file mode 100644 index 0000000000000000000000000000000000000000..c9a4b3b0928a7f7e104f793a617e8d9cfd0cb44e GIT binary patch literal 108591 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

)W(jC|IszV=0$GLh!$lzQf@fsy}MbXUN*^qtXX` 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 Lvn^-7`|(S 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 Tt=`xF{xa)Jb{DHHz5o0#jp|5{ literal 0 HcmV?d00001 diff --git a/test/golden/goldens/pulse_inside_light_sunset.png b/test/golden/goldens/pulse_inside_light_sunset.png new file mode 100644 index 0000000000000000000000000000000000000000..e42dda0611b44b203dab85b82dd7899cc8fa6fe5 GIT binary patch literal 113434 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%0DBgd0@qy+bON7iC*i}Wk3Hp03VQvva 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 z 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

^ft}Ro9)_ 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�?Jjt1JZ=}5N)+RgbNGR{h{y2( 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

@&xC3 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%0A!kIGsZ&jv`7@;L>1hEG{( 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�#cU&brcE{b8pb)c?sD?qw1r;Aux7cf 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 Cxr!M8 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/pulse_outside_light_ocean.png b/test/golden/goldens/pulse_outside_light_ocean.png new file mode 100644 index 0000000000000000000000000000000000000000..4db2818347c2eeb812c1aca3d71b221b1de265eb GIT binary patch literal 301328 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 cv$^u?HIMXf!(6lQ(#c^c>SmvnYZ(5*ZjSM>Ns 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

  • mU&-UBOzja@Q-OTxP+a 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%0DAE9W9Yx#0xU-sl+Zoadi7m6QG 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 bf8GU@z7GD;7v3H!Ea}|mb6`)2H(&A}JXND7 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/rotate_dark_colorful_late.png b/test/golden/goldens/rotate_dark_colorful_late.png new file mode 100644 index 0000000000000000000000000000000000000000..a386550b1e098f535ab48c8c22994e9e96a77da0 GIT binary patch literal 61786 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 AKL7v# literal 0 HcmV?d00001 diff --git a/test/golden/goldens/rotate_dark_sunset.png b/test/golden/goldens/rotate_dark_sunset.png new file mode 100644 index 0000000000000000000000000000000000000000..6c25e607ba2ddd02315e975ce41d7489fadc24b8 GIT binary patch literal 64989 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 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/rotate_light_sunset.png b/test/golden/goldens/rotate_light_sunset.png new file mode 100644 index 0000000000000000000000000000000000000000..a49d51eb819606a35eee724a3028386e6928d4af GIT binary patch literal 57218 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%0A+Vb}#jVEuSab+8l@oB7H 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 z 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 C_|8B8 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/small_light_sunset.png b/test/golden/goldens/small_light_sunset.png new file mode 100644 index 0000000000000000000000000000000000000000..e9faefa9e319123726724e0179a2b25f68ef3481 GIT binary patch literal 29877 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 BeamConfig.resolve( + variant: variant, + palette: BeamColors.colorful.resolve(), + brightness: brightness, + borderRadius: borderRadius, + borderWidth: borderWidth, + strength: strength, + hueRange: hueRange, + staticColors: staticColors, + cycleDuration: cycleDuration, + ); + + /// Runs both passes across the samples, letting any exception escape. + void paintFrames(BeamVariant variant, BeamConfig config, ui.Size size) { + final resolver = BeamPhaseResolver(config); + final strategy = strategyFor(variant); + for (final t in samples) { + final recorder = ui.PictureRecorder(); + final canvas = ui.Canvas(recorder); + final phases = resolver.sample(t, 1); + strategy.paintBehind(canvas, size, config, phases); + strategy.paintAbove(canvas, size, config, phases); + recorder.endRecording().dispose(); + } + } + + /// Whether any sample of the requested pass leaves a non-transparent pixel + /// inside [size]. + Future paintsPixels( + BeamVariant variant, + BeamConfig config, { + ui.Size size = normal, + bool behind = true, + bool above = true, + }) async { + final resolver = BeamPhaseResolver(config); + final strategy = strategyFor(variant); + for (final t in samples) { + final recorder = ui.PictureRecorder(); + final canvas = ui.Canvas(recorder); + final phases = resolver.sample(t, 1); + if (behind) strategy.paintBehind(canvas, size, config, phases); + if (above) strategy.paintAbove(canvas, size, config, phases); + final picture = recorder.endRecording(); + final image = await picture.toImage( + size.width.toInt(), + size.height.toInt(), + ); + final bytes = await image.toByteData(format: ui.ImageByteFormat.rawRgba); + picture.dispose(); + image.dispose(); + for (var i = 3; i < bytes!.lengthInBytes; i += 4) { + if (bytes.getUint8(i) != 0) return true; + } + } + return false; + } + + // A box thinner than two border widths deflates to a negative inner rect, + // and the ring geometry hands that negative half-extent to + // RRect.fromRectAndRadius as a corner radius. + const thinBoxDefect = + 'defect: BeamRingGeometry derives a negative corner radius when a side ' + 'is thinner than 2x borderWidth, so RRect.fromRectAndRadius asserts'; + + group('degenerate sizes', () { + const sizes = { + 'zero': (ui.Size.zero, thinBoxDefect), + '1x1': (ui.Size(1, 1), thinBoxDefect), + 'wide sliver': (ui.Size(2000, 2), null), + 'tall sliver': (ui.Size(2, 2000), null), + }; + for (final variant in BeamVariant.values) { + for (final MapEntry(key: name, value: (size, skip)) in sizes.entries) { + test('$variant paints a $name box', () { + paintFrames(variant, configFor(variant), size); + }, skip: skip); + } + } + }); + + group('geometry parameters', () { + for (final variant in BeamVariant.values) { + test('$variant: radius larger than the shortest side', () async { + // 400 > 140: the ring geometry clamps it to half the short side. + final config = configFor(variant, borderRadius: 400); + paintFrames(variant, config, normal); + expect(await paintsPixels(variant, config), isTrue); + }); + + test('$variant: border wider than the radius', () async { + final config = configFor(variant, borderRadius: 4, borderWidth: 40); + paintFrames(variant, config, normal); + expect(await paintsPixels(variant, config), isTrue); + }); + + test('$variant: zero border width', () async { + // The ring collapses to an empty path — stroke layers paint nothing, + // but the inner/glow layers still do. + final config = configFor(variant, borderWidth: 0); + paintFrames(variant, config, normal); + expect(await paintsPixels(variant, config), isTrue); + }); + } + }); + + group('animation parameters', () { + for (final variant in BeamVariant.values) { + test('$variant: a 1ms cycle', () { + paintFrames( + variant, + configFor(variant, cycleDuration: const Duration(milliseconds: 1)), + normal, + ); + }); + + test('$variant: a one-hour cycle', () { + paintFrames( + variant, + configFor(variant, cycleDuration: const Duration(hours: 1)), + normal, + ); + }); + + test('$variant: hueRange 0', () async { + final config = configFor(variant, hueRange: 0); + paintFrames(variant, config, normal); + expect(await paintsPixels(variant, config), isTrue); + }); + + test('$variant: staticColors', () async { + final config = configFor(variant, staticColors: true); + paintFrames(variant, config, normal); + expect(await paintsPixels(variant, config), isTrue); + }); + } + }); + + group('strength 0', () { + for (final variant in BeamVariant.values) { + test('$variant paints nothing at all', () async { + final config = configFor(variant, strength: 0); + paintFrames(variant, config, normal); + expect( + await paintsPixels(variant, config, above: false), + isFalse, + reason: 'the behind-child pass must be fully suppressed', + ); + expect( + await paintsPixels(variant, config, behind: false), + isFalse, + reason: 'the above-child pass must be fully suppressed', + ); + }); + } + }); + + group('degenerate layouts', () { + Widget host(Widget child) => MaterialApp( + theme: ThemeData(brightness: Brightness.dark), + home: Scaffold(body: Center(child: child)), + ); + + testWidgets('a beam collapsed to zero size renders', (tester) async { + await tester.pumpWidget( + host( + const SizedBox.shrink( + child: BorderBeam.rotate(child: SizedBox.shrink()), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + expect(tester.takeException(), isNull); + // Skipped by thinBoxDefect: testWidgets only takes a bool. + }, skip: true); + + testWidgets('a beam around a zero-height child in a Column renders', ( + tester, + ) async { + await tester.pumpWidget( + host( + Column( + mainAxisSize: MainAxisSize.min, + children: const [ + BorderBeam.rotate(child: SizedBox(width: 120, height: 0)), + ], + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + expect(tester.takeException(), isNull); + // Skipped by thinBoxDefect: testWidgets only takes a bool. + }, skip: true); + }); +} diff --git a/test/painting/paint_smoke_test.dart b/test/painting/paint_smoke_test.dart index 1eb230e..0c0ef79 100644 --- a/test/painting/paint_smoke_test.dart +++ b/test/painting/paint_smoke_test.dart @@ -17,6 +17,7 @@ void main() { 'colorful': BeamColors.colorful, 'mono': BeamColors.mono, 'ocean': BeamColors.ocean, + 'sunset': BeamColors.sunset, 'custom': const BeamColors.custom([ui.Color(0xFFFF0080)]), }; diff --git a/test/painting/save_layer_budget_test.dart b/test/painting/save_layer_budget_test.dart new file mode 100644 index 0000000..890d94d --- /dev/null +++ b/test/painting/save_layer_budget_test.dart @@ -0,0 +1,186 @@ +import 'dart:typed_data'; +import 'dart:ui' as ui; + +import 'package:flutter_border_beam/src/animation/beam_phases.dart'; +import 'package:flutter_border_beam/src/models/beam_colors.dart'; +import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_border_beam/src/models/beam_variant.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// Enforces CLAUDE.md hard rule 2: the per-frame `saveLayer` budget. +/// +/// Every `saveLayer` is an offscreen render target, so the count is the +/// single cheapest proxy for the cost of a beam frame. The budget below is +/// the measured count for a full frame (`paintBehind` + `paintAbove`) of each +/// variant; it must only ever go down. +void main() { + // Measured maxima over every brightness × palette × time sample. Each entry + // is one layer composite: the layers a variant stacks over the child, plus + // the mask sub-layers that intersect two masks, plus (pulse-outside) the + // two behind-child glow layers. + // + // rotate 4 — inner + inner mask + stroke + blurred bloom + // small 3 — inner + stroke + blurred bloom (single-mask inner) + // line 4 — inner + inner mask + stroke + blurred bloom + // pulseInside 4 — inner + inner mask + stroke + blurred bloom + // pulseOutside 3 — behind: core glow + bloom halo; above: stroke + const budget = { + BeamVariant.rotate: 4, + BeamVariant.small: 3, + BeamVariant.line: 4, + BeamVariant.pulseInside: 4, + BeamVariant.pulseOutside: 3, + }; + + const size = ui.Size(350, 140); + final palettes = { + 'colorful': BeamColors.colorful, + 'mono': BeamColors.mono, + 'custom': const BeamColors.custom([ui.Color(0xFFFF0080)]), + }; + // Post fade-in samples spread over the cycle: mid-travel, the golden + // freeze, and a late frame several cycles in. + const samples = [0.5, 1.3, 7.9]; + + for (final variant in BeamVariant.values) { + test('$variant stays within its saveLayer budget', () { + var worst = 0; + var worstCase = ''; + for (final brightness in ui.Brightness.values) { + for (final MapEntry(key: name, value: colors) in palettes.entries) { + final config = BeamConfig.resolve( + variant: variant, + palette: colors.resolve(), + brightness: brightness, + ); + final resolver = BeamPhaseResolver(config); + final strategy = strategyFor(variant); + for (final t in samples) { + final recorder = ui.PictureRecorder(); + final canvas = _CountingCanvas(ui.Canvas(recorder)); + final phases = resolver.sample(t, 1); + strategy.paintBehind(canvas, size, config, phases); + strategy.paintAbove(canvas, size, config, phases); + recorder.endRecording().dispose(); + + expect( + canvas.unforwarded, + isEmpty, + reason: + 'the counting canvas does not forward ' + '${canvas.unforwarded.join(', ')} — add explicit ' + 'delegating overrides so painting is still exercised', + ); + // Every layer and every clip scope must be closed, or the + // painter would leak state into whatever draws next. + expect( + canvas.saves + canvas.saveLayers, + canvas.restores, + reason: + 'unbalanced save/restore for $variant/$brightness/$name ' + 'at t=$t: ${canvas.saves} save + ${canvas.saveLayers} ' + 'saveLayer vs ${canvas.restores} restore', + ); + if (canvas.saveLayers > worst) { + worst = canvas.saveLayers; + worstCase = '$brightness/$name at t=${t}s'; + } + } + } + } + // ignore: avoid_print + print('$variant: max $worst saveLayer/frame ($worstCase)'); + expect( + worst, + budget[variant], + reason: + 'the $variant frame now issues $worst saveLayer calls ' + '(worst case $worstCase). Fewer is a win — update the budget ' + 'table. More is a regression: fold the new work into an ' + 'existing layer.', + ); + }); + } +} + +/// A [ui.Canvas] that counts layer and clip scopes while forwarding the draw +/// calls to a real canvas, so the painters run exactly as they do on screen. +/// +/// Everything the strategies call is delegated explicitly; anything else +/// lands in [unforwarded] via `noSuchMethod` so a new draw call fails the +/// test loudly instead of silently going unpainted. +class _CountingCanvas implements ui.Canvas { + _CountingCanvas(this._inner); + + final ui.Canvas _inner; + + int saves = 0; + int saveLayers = 0; + int restores = 0; + final Set unforwarded = {}; + + @override + void save() { + saves++; + _inner.save(); + } + + @override + void saveLayer(ui.Rect? bounds, ui.Paint paint) { + saveLayers++; + _inner.saveLayer(bounds, paint); + } + + @override + void restore() { + restores++; + _inner.restore(); + } + + @override + void clipPath(ui.Path path, {bool doAntiAlias = true}) => + _inner.clipPath(path, doAntiAlias: doAntiAlias); + + @override + void clipRect( + ui.Rect rect, { + ui.ClipOp clipOp = ui.ClipOp.intersect, + bool doAntiAlias = true, + }) => _inner.clipRect(rect, clipOp: clipOp, doAntiAlias: doAntiAlias); + + @override + void drawRect(ui.Rect rect, ui.Paint paint) => _inner.drawRect(rect, paint); + + @override + void drawPath(ui.Path path, ui.Paint paint) => _inner.drawPath(path, paint); + + @override + void drawCircle(ui.Offset c, double radius, ui.Paint paint) => + _inner.drawCircle(c, radius, paint); + + @override + void translate(double dx, double dy) => _inner.translate(dx, dy); + + @override + void scale(double sx, [double? sy]) => _inner.scale(sx, sy); + + @override + void rotate(double radians) => _inner.rotate(radians); + + @override + void transform(Float64List matrix4) => _inner.transform(matrix4); + + @override + dynamic noSuchMethod(Invocation invocation) { + unforwarded.add(_symbolName(invocation.memberName)); + return null; + } +} + +String _symbolName(Symbol symbol) { + final text = symbol.toString(); + final start = text.indexOf('"'); + final end = text.lastIndexOf('"'); + return start >= 0 && end > start ? text.substring(start + 1, end) : text; +} diff --git a/test/widget/border_beam_lifecycle_test.dart b/test/widget/border_beam_lifecycle_test.dart new file mode 100644 index 0000000..1000609 --- /dev/null +++ b/test/widget/border_beam_lifecycle_test.dart @@ -0,0 +1,214 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// Lifecycle coverage for the widget's one-ticker-per-beam contract: every +/// path that ends a beam — disposal mid-fade, a variant swap that rebuilds +/// the clock, `TickerMode`, controller detach — must leave no scheduled +/// frame callback behind. +void main() { + Widget host(Widget child, {bool disableAnimations = false}) => MaterialApp( + theme: ThemeData(brightness: Brightness.dark), + builder: (context, app) => MediaQuery( + data: MediaQuery.of( + context, + ).copyWith(disableAnimations: disableAnimations), + child: app!, + ), + home: Scaffold( + body: Center(child: SizedBox(width: 350, height: 140, child: child)), + ), + ); + + Widget beamFor( + BeamVariant variant, { + bool active = true, + Widget child = const SizedBox.expand(), + VoidCallback? onActivate, + BorderBeamController? controller, + }) => switch (variant) { + BeamVariant.rotate => BorderBeam.rotate( + active: active, + onActivate: onActivate, + controller: controller, + child: child, + ), + BeamVariant.small => BorderBeam.small( + active: active, + onActivate: onActivate, + controller: controller, + child: child, + ), + BeamVariant.line => BorderBeam.line( + active: active, + onActivate: onActivate, + controller: controller, + child: child, + ), + BeamVariant.pulseInside => BorderBeam.pulseInside( + active: active, + onActivate: onActivate, + controller: controller, + child: child, + ), + BeamVariant.pulseOutside => BorderBeam.pulseOutside( + active: active, + onActivate: onActivate, + controller: controller, + child: child, + ), + }; + + group('disposal', () { + // Pulse variants build their clock with an fps cap, so the tick path + // differs per family — every variant is checked. + for (final variant in BeamVariant.values) { + testWidgets('$variant disposed mid fade-in leaves no ticker', ( + tester, + ) async { + await tester.pumpWidget(host(beamFor(variant))); + await tester.pump(); + // 200ms into the 600ms fade-in. + await tester.pump(const Duration(milliseconds: 200)); + expect( + tester.binding.transientCallbackCount, + greaterThan(0), + reason: 'the beam should be ticking here', + ); + + await tester.pumpWidget(const SizedBox()); + expect(tester.takeException(), isNull); + expect(tester.binding.transientCallbackCount, 0); + }); + + testWidgets('$variant disposed mid fade-out leaves no ticker', ( + tester, + ) async { + await tester.pumpWidget(host(beamFor(variant))); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + + await tester.pumpWidget(host(beamFor(variant, active: false))); + // 200ms into the 500ms fade-out. + await tester.pump(const Duration(milliseconds: 200)); + expect(tester.binding.transientCallbackCount, greaterThan(0)); + + await tester.pumpWidget(const SizedBox()); + expect(tester.takeException(), isNull); + expect(tester.binding.transientCallbackCount, 0); + }); + } + }); + + testWidgets('a variant swap rebuilds the clock without leaking the old one', ( + tester, + ) async { + // rotate runs uncapped, pulseInside caps at the source's ~30fps driver: + // the swap must replace the clock, not keep two of them running. + await tester.pumpWidget(host(beamFor(BeamVariant.rotate))); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 300)); + + await tester.pumpWidget(host(beamFor(BeamVariant.pulseInside))); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 300)); + expect(tester.takeException(), isNull); + expect( + tester.binding.transientCallbackCount, + 1, + reason: 'exactly one clock ticks after the swap', + ); + + await tester.pumpWidget(const SizedBox()); + expect(tester.takeException(), isNull); + expect(tester.binding.transientCallbackCount, 0); + }); + + testWidgets('TickerMode pauses frames and resumes them', (tester) async { + var activated = 0; + Widget build(bool enabled) => host( + TickerMode( + enabled: enabled, + child: beamFor(BeamVariant.rotate, onActivate: () => activated++), + ), + ); + + await tester.pumpWidget(build(false)); + await tester.pump(const Duration(milliseconds: 800)); + expect(tester.binding.hasScheduledFrame, isFalse); + expect(activated, 0, reason: 'a muted clock never completes its fade-in'); + + await tester.pumpWidget(build(true)); + await tester.pump(); + expect(tester.binding.hasScheduledFrame, isTrue); + await tester.pump(const Duration(milliseconds: 700)); + expect(activated, 1); + // Still animating after the fade finished. + expect(tester.binding.hasScheduledFrame, isTrue); + }); + + testWidgets('a controller outliving its beam is an inert no-op', ( + tester, + ) async { + final controller = BorderBeamController(); + await tester.pumpWidget( + host(beamFor(BeamVariant.rotate, controller: controller)), + ); + controller.start(); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 200)); + expect(controller.isAttached, isTrue); + expect(controller.isRunning, isTrue); + + // Disposed mid fade-in, with the controller still referenced. + await tester.pumpWidget(const SizedBox()); + expect(tester.takeException(), isNull); + expect(controller.isAttached, isFalse); + expect(controller.isActive, isFalse); + expect(controller.isRunning, isFalse); + + controller.start(); + controller.resume(); + controller.seek(const Duration(seconds: 1)); + controller.speed = 2; + controller.stop(); + await tester.pump(const Duration(milliseconds: 100)); + expect(tester.takeException(), isNull); + expect(tester.binding.transientCallbackCount, 0); + }); + + testWidgets('replacing the child keeps the beam painting', (tester) async { + Widget build(String label) => + host(beamFor(BeamVariant.rotate, child: Text(label))); + + await tester.pumpWidget(build('before')); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + + await tester.pumpWidget(build('after')); + await tester.pump(const Duration(milliseconds: 50)); + expect(find.text('before'), findsNothing); + expect(find.text('after'), findsOneWidget); + expect(tester.takeException(), isNull); + // The clock survives a child swap: no restart, no stall. + expect(tester.binding.hasScheduledFrame, isTrue); + + // The child keeps its own repaint boundary, so beam frames never + // re-rasterize it: one boundary around the CustomPaint, one around the + // child itself. + expect( + find.descendant( + of: find.byType(BorderBeam), + matching: find.byType(RepaintBoundary), + ), + findsNWidgets(2), + ); + expect( + find.ancestor( + of: find.text('after'), + matching: find.byType(RepaintBoundary), + ), + findsAtLeastNWidgets(2), + ); + }); +} From fd470f96e5156544265758ecb1b579758776c2d1 Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 14:20:50 -0700 Subject: [PATCH 06/40] docs(claude): describe how a release is cut Co-Authored-By: Claude Opus 5 (1M context) --- CLAUDE.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index e5c05dd..dae75eb 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -14,6 +14,8 @@ Flutter package: animated border beam effects. A faithful port of the - `cd example && flutter run` — demo gallery app (React-demo-styled; tokens in `example/lib/src/demo_theme.dart`). - `tool/record_demo.sh --target lib/showcase.dart --prefix SHOWCASE --contact` — record a demo reel mp4 into `.demos/` (needs a booted iOS simulator + ffmpeg). Reels use `example/lib/demo_harness.dart`'s marker contract (`::START/END`, `:DONE`); new reels are just a map of name → scene widget. - `dart pub publish --dry-run` — pre-publish validation. +- **Cutting a release** — bump `version:` in `pubspec.yaml`, add a `## ` section to `CHANGELOG.md`, merge to `main`, then push the matching tag: `git tag v && git push origin v`. `.github/workflows/release.yaml` verifies the tag against the pubspec and the changelog, re-runs format/analyze/test, publishes to pub.dev over GitHub OIDC (no secrets), and creates the GitHub Release from that changelog section; a version with a `-suffix` is marked prerelease. Goldens are verified only by the macOS `goldens` job in `ci.yaml` — the release job runs on ubuntu and skips them, so tag a commit that is green on `main`. +- **One-time, before the first automated release** — publish manually with `flutter pub publish` (pub.dev only automates publishing for packages that already exist), then enable pub.dev Admin → Automated publishing for `SimplifyJobs/flutter_border_beam` with tag pattern `v{{version}}`. ## Architecture From ac3c5e97c2086db6c6ba7240488453ff684c0d98 Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 14:24:44 -0700 Subject: [PATCH 07/40] fix(painting): paint sub-2px boxes and keep the reduced-motion frame hue-neutral BeamRingGeometry returns empty contours for empty or inverted rects and floors corner radii at zero, so a beam laid out thinner than twice its border width paints its whole outer shape as the ring instead of asserting in RRect construction. staticFrame() keeps the traveling variants' mid-cycle geometry but drops the hue ping-pong sample, so a reduced-motion beam shows the palette's own colors as its doc states. The tests that documented both defects run unskipped. Co-Authored-By: Claude Opus 5 (1M context) --- lib/src/animation/beam_phases.dart | 22 +++++++++++++--- lib/src/painting/ring_geometry.dart | 17 ++++++++++--- test/animation/phase_property_test.dart | 24 ++++++----------- test/painting/boundary_test.dart | 27 +++++++------------- test/painting/color_matrix_test.dart | 34 +++++++++++++++++++++++++ 5 files changed, 83 insertions(+), 41 deletions(-) diff --git a/lib/src/animation/beam_phases.dart b/lib/src/animation/beam_phases.dart index 1115e95..a801e1d 100644 --- a/lib/src/animation/beam_phases.dart +++ b/lib/src/animation/beam_phases.dart @@ -171,15 +171,29 @@ class BeamPhaseResolver { /// A representative static frame for reduced motion: mid-cycle, no hue /// offset, full opacity. + /// + /// The frame is shown for as long as reduced motion lasts, so it carries + /// the palette's own colors — a hue sampled from the ping-pong would tint + /// the whole effect by an arbitrary offset. BeamFramePhases staticFrame() { - final t = config.cycleSeconds / 2; - final phases = sample(t, 1); if (config.variant.isPulse) { // Freeze the breathing at rest, matching the source's // prefers-reduced-motion behavior (animations disabled entirely). - return BeamFramePhases(fadeOpacity: 1, hueDegrees: 0); + return const BeamFramePhases(fadeOpacity: 1, hueDegrees: 0); } - return phases; + // The traveling variants keep their mid-cycle geometry. + final phases = sample(config.cycleSeconds / 2, 1); + return BeamFramePhases( + fadeOpacity: 1, + hueDegrees: 0, + angleRadians: phases.angleRadians, + lineX: phases.lineX, + lineW: phases.lineW, + lineH: phases.lineH, + spike: phases.spike, + spike2: phases.spike2, + edge: phases.edge, + ); } double _hue(double t) { diff --git a/lib/src/painting/ring_geometry.dart b/lib/src/painting/ring_geometry.dart index 44307fa..cc080ea 100644 --- a/lib/src/painting/ring_geometry.dart +++ b/lib/src/painting/ring_geometry.dart @@ -36,15 +36,23 @@ class BeamRingGeometry { /// Inner contour (the content box: deflated by [borderWidth], radius /// reduced accordingly). + /// + /// A box thinner than twice the border width has no content box left, and + /// the contour is empty — the ring is then the whole shape. late final Path inner = _shapePath( rect.deflate(borderWidth), - math.max(0, radius - borderWidth), + radius - borderWidth, ); /// The border ring: [outer] minus [inner]. - late final Path ring = Path.combine(PathOperation.difference, outer, inner); + late final Path ring = rect.isEmpty + ? Path() + : Path.combine(PathOperation.difference, outer, inner); Path _shapePath(Rect r, double cornerRadius) { + // A rect with no area (or an inverted one, from deflating past the + // center) has no contour to describe. + if (r.isEmpty) return Path(); final clamped = _clampRadius(r, cornerRadius); if (useSuperellipse) { return Path()..addRSuperellipse( @@ -59,6 +67,9 @@ class BeamRingGeometry { /// family (used by pulse-outside's outward layers). Path contour(Rect r, double cornerRadius) => _shapePath(r, cornerRadius); + // Corner radii are clamped to half the shortest side (a larger one has no + // room to draw) and never go below zero, which every rounded-rect + // constructor rejects. static double _clampRadius(Rect r, double radius) => - math.min(radius, math.min(r.width, r.height) / 2); + math.max(0, math.min(radius, math.min(r.width, r.height) / 2)); } diff --git a/test/animation/phase_property_test.dart b/test/animation/phase_property_test.dart index 795017b..5c6fd17 100644 --- a/test/animation/phase_property_test.dart +++ b/test/animation/phase_property_test.dart @@ -212,22 +212,14 @@ void main() { expect(resolver.staticFrame().fadeOpacity, 1); }); - test( - '$variant: is hue-neutral', - () { - // Reduced motion paints one frame forever, so it must show the - // palette's own colors rather than an arbitrary point of the hue - // ping-pong frozen in place. - final resolver = BeamPhaseResolver(configFor(variant)); - expect(resolver.staticFrame().hueDegrees, 0); - expect(resolver.staticFrame().bloomHueDegrees, 0); - }, - skip: variant.isPulse - ? null - : 'defect: staticFrame() freezes the traveling variants ' - 'mid-hue-ping-pong (-26.8 deg for rotate/small, -9.4 deg ' - 'for line) instead of the documented "no hue offset"', - ); + test('$variant: is hue-neutral', () { + // Reduced motion paints one frame forever, so it must show the + // palette's own colors rather than an arbitrary point of the hue + // ping-pong frozen in place. + final resolver = BeamPhaseResolver(configFor(variant)); + expect(resolver.staticFrame().hueDegrees, 0); + expect(resolver.staticFrame().bloomHueDegrees, 0); + }); } }); } diff --git a/test/painting/boundary_test.dart b/test/painting/boundary_test.dart index ea05532..6f71813 100644 --- a/test/painting/boundary_test.dart +++ b/test/painting/boundary_test.dart @@ -84,25 +84,18 @@ void main() { return false; } - // A box thinner than two border widths deflates to a negative inner rect, - // and the ring geometry hands that negative half-extent to - // RRect.fromRectAndRadius as a corner radius. - const thinBoxDefect = - 'defect: BeamRingGeometry derives a negative corner radius when a side ' - 'is thinner than 2x borderWidth, so RRect.fromRectAndRadius asserts'; - group('degenerate sizes', () { - const sizes = { - 'zero': (ui.Size.zero, thinBoxDefect), - '1x1': (ui.Size(1, 1), thinBoxDefect), - 'wide sliver': (ui.Size(2000, 2), null), - 'tall sliver': (ui.Size(2, 2000), null), + const sizes = { + 'zero': ui.Size.zero, + '1x1': ui.Size(1, 1), + 'wide sliver': ui.Size(2000, 2), + 'tall sliver': ui.Size(2, 2000), }; for (final variant in BeamVariant.values) { - for (final MapEntry(key: name, value: (size, skip)) in sizes.entries) { + for (final MapEntry(key: name, value: size) in sizes.entries) { test('$variant paints a $name box', () { paintFrames(variant, configFor(variant), size); - }, skip: skip); + }); } } }); @@ -200,8 +193,7 @@ void main() { await tester.pump(); await tester.pump(const Duration(milliseconds: 700)); expect(tester.takeException(), isNull); - // Skipped by thinBoxDefect: testWidgets only takes a bool. - }, skip: true); + }); testWidgets('a beam around a zero-height child in a Column renders', ( tester, @@ -219,7 +211,6 @@ void main() { await tester.pump(); await tester.pump(const Duration(milliseconds: 700)); expect(tester.takeException(), isNull); - // Skipped by thinBoxDefect: testWidgets only takes a bool. - }, skip: true); + }); }); } diff --git a/test/painting/color_matrix_test.dart b/test/painting/color_matrix_test.dart index 13ed628..fa97920 100644 --- a/test/painting/color_matrix_test.dart +++ b/test/painting/color_matrix_test.dart @@ -117,6 +117,40 @@ void main() { expect(g.outer.contains(const Offset(8, 8)), isTrue); }); + test('a box thinner than twice the border has no content box', () { + for (final superellipse in [false, true]) { + final g = BeamRingGeometry( + rect: const Rect.fromLTWH(0, 0, 1, 1), + radius: 16, + borderWidth: 1, + useSuperellipse: superellipse, + ); + expect(g.inner.getBounds().isEmpty, isTrue); + // Nothing is carved out: the ring is the whole box. + expect(g.ring.getBounds(), g.outer.getBounds()); + expect(g.ring.contains(const Offset(0.5, 0.5)), isTrue); + } + }); + + test('an empty box has no contours at all', () { + for (final rect in const [ + Rect.zero, + Rect.fromLTWH(0, 0, 40, 0), + Rect.fromLTWH(0, 0, 0, 40), + ]) { + final g = BeamRingGeometry( + rect: rect, + radius: 16, + borderWidth: 1, + useSuperellipse: false, + ); + expect(g.outer.getBounds().isEmpty, isTrue); + expect(g.inner.getBounds().isEmpty, isTrue); + expect(g.ring.getBounds().isEmpty, isTrue); + expect(g.contour(rect, 16).getBounds().isEmpty, isTrue); + } + }); + test('radius clamps to half the shortest side', () { final g = BeamRingGeometry( rect: const Rect.fromLTWH(0, 0, 40, 10), From 2491cd02c7ad5470cb290736c1bef9c9e8b96121 Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 14:56:11 -0700 Subject: [PATCH 08/40] feat(api): describe a beam with BeamStyle, BeamShape, BeamTiming, BeamPlayback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BorderBeam takes four value objects — every field nullable and resolved widget → BorderBeamTheme → variant preset — plus colors/active/ borderRadius shorthands and a public generic BorderBeam(variant:) constructor, so a caller picks a variant without a switch and an app sets defaults once through BorderBeamTheme (nested scopes merge outside-in). BeamShape carries a BorderRadiusGeometry, resolved against the ambient Directionality into per-corner ring geometry with RRect.scaleRadii semantics; BeamShape.stadium clamps to a pill. BeamTiming owns the cycle, a cycleGap rest between sweeps (the traveling variants park at the end of travel and fade out and in inside the gap; pulse ignores it), a declarative speed the controller overrides, and the hue, bloom-hue, breathe, and spike periods that were fixed in the phase resolver. BeamThemeConfig is public with copyWith and presetFor so a style can replace the variant preset wholesale. BeamConfig and its inputs are value types, so the widget's config cache and the painter's shouldRepaint compare by value with no hand-kept key list. Goldens are byte-identical: the defaults reproduce the source's rendering. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 30 + CLAUDE.md | 7 +- README.md | 109 +++- example/lib/main.dart | 12 +- example/lib/showcase.dart | 2 +- example/lib/src/playground.dart | 62 +- lib/flutter_border_beam.dart | 6 + lib/src/animation/beam_phases.dart | 86 ++- lib/src/border_beam.dart | 623 ++++++++------------ lib/src/border_beam_theme.dart | 146 +++++ lib/src/models/beam_config.dart | 218 +++++-- lib/src/models/beam_playback.dart | 106 ++++ lib/src/models/beam_shape.dart | 102 ++++ lib/src/models/beam_style.dart | 238 ++++++++ lib/src/models/beam_theme_config.dart | 75 ++- lib/src/models/beam_timing.dart | 161 +++++ lib/src/painting/ring_geometry.dart | 104 +++- test/animation/beam_phases_test.dart | 11 +- test/golden/beam_golden_test.dart | 26 +- test/models/value_objects_test.dart | 216 +++++++ test/painting/boundary_test.dart | 16 +- test/painting/color_matrix_test.dart | 92 ++- test/painting/paint_smoke_test.dart | 3 +- test/widget/border_beam_cycle_gap_test.dart | 107 ++++ test/widget/border_beam_test.dart | 47 +- test/widget/border_beam_theme_test.dart | 131 ++++ test/widget/border_beam_update_test.dart | 22 +- 27 files changed, 2158 insertions(+), 600 deletions(-) create mode 100644 lib/src/border_beam_theme.dart create mode 100644 lib/src/models/beam_playback.dart create mode 100644 lib/src/models/beam_shape.dart create mode 100644 lib/src/models/beam_style.dart create mode 100644 lib/src/models/beam_timing.dart create mode 100644 test/models/value_objects_test.dart create mode 100644 test/widget/border_beam_cycle_gap_test.dart create mode 100644 test/widget/border_beam_theme_test.dart diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c96f14..b956e91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,36 @@ - The package is named `flutter_border_beam`; the barrel is `package:flutter_border_beam/flutter_border_beam.dart`. - The canonical repository is https://github.com/SimplifyJobs/flutter_border_beam. +- `BorderBeam` takes four value objects instead of a flat parameter list: + `BeamStyle` (colors, theme, filters, layer-opacity hooks, and a + `themeConfig` that replaces the whole variant×brightness preset), + `BeamShape` (per-corner radius, border width, superellipse), `BeamTiming` + (cycle, rest, speed, hue periods, line track factors), and `BeamPlayback` + (active, autoPlay, startAfter, duration, reduced motion). Every field is + nullable and means *inherit*; `controller`, `onActivate`, and `onDeactivate` + stay flat on the widget. +- `colors`, `active`, and `borderRadius` remain on the widget as shorthands + for `style.colors`, `playback.active`, and a uniform `shape.radius`; a + non-null shorthand wins over the same field in its object. +- `BorderBeam` has a public generic constructor taking a `BeamVariant`, so a + variant chosen at runtime no longer needs a switch over the five named ones. +- `BorderBeamTheme` supplies `BorderBeamThemeData` defaults to the beams below + it. Resolution order is widget → theme → variant preset, and nested themes + merge inner over outer. +- Shapes are per-corner: `BeamShape.radius` is a `BorderRadiusGeometry` + resolved against the ambient `Directionality`, clamped per corner the way + `RRect.scaleRadii` clamps. `BeamShape.circular(r)` and `BeamShape.stadium()` + cover the uniform and pill cases; a stadium rounds to half the shortest side, + so a square box comes out a circle. +- `BeamTiming.cycleGap` rests the traveling beam between sweeps: the sweep + still takes `cycle`, then the beam parks at the end of its travel while its + fade envelope eases out and back in over `min(0.25s, gap / 2)` at each end. + The pulse variants ignore it. `BeamTiming.speed` sets the playback rate when + no controller is attached; `huePeriod`, `bloomHuePeriod`, `breatheFactor`, + `spikeFactor`, and `spike2Factor` expose the timings that were fixed in the + phase resolver. +- `BeamThemeConfig` is public, with `copyWith`, value equality, and + `BeamThemeConfig.presetFor(variant, brightness)` to start from a preset. ### Removed diff --git a/CLAUDE.md b/CLAUDE.md index dae75eb..c55bb97 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -24,12 +24,13 @@ widget (`BeamClock`), mirroring the React library's single shared rAF loop. No `AnimationController`s; phases are recomputed from `elapsedSeconds` each frame. -- `lib/flutter_border_beam.dart` — barrel; ONLY `BorderBeam`, `BorderBeamController`, `BeamVariant`, `BeamColors`, `BeamBlob`/`LineBlob`, `BeamTheme` are public. -- `lib/src/border_beam.dart` — widget, 5 named constructors, scheduling/lifecycle. Controller attached ⇒ it owns playback exclusively (asserts `startAfter`/`duration` are null). +- `lib/flutter_border_beam.dart` — barrel; ONLY `BorderBeam`, `BorderBeamController`, `BorderBeamTheme`/`BorderBeamThemeData`, `BeamVariant`, `BeamColors`, `BeamBlob`/`LineBlob`, `BeamTheme`, `BeamThemeConfig`, and the four value objects (`BeamStyle`, `BeamShape`, `BeamTiming`, `BeamPlayback`) are public. +- `lib/src/border_beam.dart` — widget: a generic constructor taking a `BeamVariant` plus 5 named ones, three shorthands (`colors`/`active`/`borderRadius`) over the value objects, and scheduling/lifecycle. Controller attached ⇒ it owns playback exclusively (the resolved playback asserts `startAfter`/`duration` are null, and the controller's `speed` replaces `timing.speed`). +- `lib/src/border_beam_theme.dart` — `BorderBeamTheme` (`InheritedWidget`) + `BorderBeamThemeData`. `of` walks every enclosing scope, depends on each, and merges them outside-in so nested themes compose. - `lib/src/animation/` — `beam_clock.dart` (ticker, speed, pause, spring fades via `spring_curve.dart`, optional fps cap), `oscillator.dart` (pingPong + the 17-oscillator pulse bank), `beam_phases.dart` (per-frame value object + keyframe sampling). - `lib/src/painting/` — `beam_painter.dart` (one `CustomPainter`, repaint driven by the clock, `behind`/`above` passes), `strategies/` (one per variant family), `ring_geometry.dart` (rrect + `RSuperellipse` ring via `Path.combine` difference), `gradient_builders.dart`, `color_matrix.dart` (hue/brightness/saturation matrices), `layer_utils.dart`. - `lib/src/constants/` — **verbatim transcriptions** of the React source's tables (`palettes.dart`, `theme_presets.dart`, `pulse_tables.dart`, `pulse_params.dart`, `line_keyframes.dart`). -- `lib/src/models/` — public/internal data types; `BeamConfig.resolve` mirrors the React component's computed values (per-variant default durations, the line 13° hue cap, mono forcing static colors). +- `lib/src/models/` — public/internal data types. The four public value objects (`beam_style.dart`, `beam_shape.dart`, `beam_timing.dart`, `beam_playback.dart`) are all-nullable, `const`, with `copyWith`/`merge`/`==`; a null field means *inherit*. `BeamConfig.resolve({variant, palette, brightness, style, shape, timing, textDirection})` flattens them into the painter's config and mirrors the React component's computed values (per-variant default durations and radii, the line 13° hue cap, mono forcing static colors); it carries the timing tracks (`gapSeconds`, hue periods, breathe/spike factors) and a per-corner resolved `BorderRadius`, and is value-equal so `BeamPainter.shouldRepaint` compares configs. ## Hard rules diff --git a/README.md b/README.md index f71da4e..0f7c166 100644 --- a/README.md +++ b/README.md @@ -33,9 +33,11 @@ Run the example app for the full animated gallery (`cd example && flutter run`); ## Highlights -- **Five variants**, each a named constructor with tuned defaults: `rotate`, `small`, `line`, `pulseInside`, `pulseOutside`. +- **Five variants**, each a named constructor with tuned defaults: `rotate`, `small`, `line`, `pulseInside`, `pulseOutside` — plus a generic `BorderBeam(variant: ...)` for a runtime choice. +- **Four value objects** — `BeamStyle`, `BeamShape`, `BeamTiming`, `BeamPlayback` — whose fields are all nullable, so anything you leave out is inherited. +- **App-wide defaults** through `BorderBeamTheme`; nested themes merge, inner over outer. - **Four palettes** from the original (`colorful`, `mono`, `ocean`, `sunset`), plus `BeamColors.custom(...)` for your own colors and `BeamColors.spec(...)` for per-blob control. -- **Superellipse borders** — one flag switches the beam to an Apple-style squircle. +- **Per-corner shapes** — a full `BorderRadius` (direction-aware), an Apple-style squircle contour, or a stadium that tracks the box. - **Playback control** — declarative `active` toggling with spring-eased fades, `autoPlay`/`startAfter`/`duration` scheduling, or a full `BorderBeamController`. - **Dark & light themes** per variant, following your app theme automatically. - **Decorative-only** — beam layers never intercept pointers; your child lays out and hit-tests normally. @@ -74,6 +76,9 @@ BorderBeam.small(child: iconButton) // compact — buttons, chips (32px radius BorderBeam.line(child: searchBar) // travels the bottom edge — inputs BorderBeam.pulseInside(child: card) // contained breathing glow BorderBeam.pulseOutside(child: card) // halo blooming outward behind the child + +// Picked at runtime — same parameters, no switch: +BorderBeam(variant: variant, child: card) ``` > **pulse-outside contract** (same as the original): the child must be opaque @@ -109,30 +114,73 @@ BorderBeam.rotate( ```dart BorderBeam.rotate( - borderRadius: 24, // match your child's decoration radius - useSuperellipse: true, // Apple-style squircle contour + borderRadius: 24, // uniform radius shorthand + shape: const BeamShape(superellipse: true), // Apple-style squircle contour + child: card, +) + +// Per-corner radii, direction-aware: +BorderBeam.rotate( + shape: const BeamShape( + radius: BorderRadiusDirectional.only(topStart: Radius.circular(28)), + ), child: card, ) + +// A pill (or a circle, on a square box) that tracks the box as it resizes: +BorderBeam.small(shape: const BeamShape.stadium(), child: chip) ``` -`borderRadius` defaults to the variant preset (16, or 32 for `small`). There is no auto-detection of the child's radius — pass the same value your child uses. +The radius defaults to the variant preset (16, or 32 for `small`). There is no auto-detection of the child's radius — pass the same value your child uses. ### Scheduling (no controller) ```dart BorderBeam.pulseInside( - active: isLoading, // fades in 0.6s / out 0.5s (spring-eased) - startAfter: Duration(milliseconds: 500), // delay before autoplay - duration: Duration(seconds: 10), // total play time; null = loop forever - onActivate: () => print('visible'), // fires when the fade-in completes + active: isLoading, // fades in 0.6s / out 0.5s (spring-eased) + playback: const BeamPlayback( + startAfter: Duration(milliseconds: 500), // delay before autoplay + duration: Duration(seconds: 10), // total play time; null = loop forever + ), + onActivate: () => print('visible'), // fires when the fade-in completes onDeactivate: () => print('hidden'), child: card, ) ``` +### Timing + +```dart +BorderBeam.rotate( + timing: const BeamTiming( + cycle: Duration(seconds: 3), // one sweep + cycleGap: Duration(seconds: 1), // rest between sweeps + speed: 1.5, // playback rate + ), + child: card, +) +``` + +Changing `cycle` while the beam runs retimes it in place — every track keeps its phase, so the beam just speeds up or slows down. + +### Theming + +`BorderBeamTheme` supplies defaults to every beam below it. Anything a beam sets itself wins; nested themes merge, inner over outer: + +```dart +BorderBeamTheme( + data: const BorderBeamThemeData( + style: BeamStyle(colors: BeamColors.ocean, strength: 0.8), + shape: BeamShape(superellipse: true), + timing: BeamTiming(cycle: Duration(seconds: 3)), + ), + child: MaterialApp(home: home), +) +``` + ### Controller -Attach a `BorderBeamController` for programmatic playback. The controller takes **full ownership** — `startAfter`/`duration` must not be set, and the beam starts hidden until you `start()`: +Attach a `BorderBeamController` for programmatic playback. The controller takes **full ownership** — `playback.startAfter`/`duration` must not be set, its `speed` replaces `timing.speed`, and the beam starts hidden until you `start()`: ```dart final controller = BorderBeamController(); @@ -149,21 +197,52 @@ controller.stop(); // fade out, halt ### Fine tuning -Every tuning hook of the original is a parameter: +Every tuning hook of the original is a field on one of the four value objects. Each is nullable: leave it out and it inherits the theme, then the variant preset. -| Parameter | Default | Purpose | +`BeamStyle`: + +| Field | Default | Purpose | |---|---|---| -| `strength` | `1.0` | Overall effect opacity (0–1); only affects beam layers | -| `cycleDuration` | 1.96s / 3.1s / 2.3s | One animation cycle (rotate·small / line / pulse) | +| `colors` | `BeamColors.colorful` | Palette (shorthand: `colors:` on the widget) | | `theme` | `BeamTheme.auto` | `dark`, `light`, or follow `Theme.of(context)` | +| `strength` | `1.0` | Overall effect opacity (0–1); only affects beam layers | | `brightness`, `saturation` | per variant/theme | Glow filter multipliers | | `hueRange` | `30` (line caps at 13) | Hue animation amplitude in degrees | | `hueBase` | `0` | Static hue offset for the whole palette | | `staticColors` | `false` | Disable the hue animation | -| `respectReducedMotion` | `true` | Static frame under `MediaQuery.disableAnimations` | | `strokeOpacityFactor`, `innerOpacityFactor`, `bloomOpacityFactor` | `1` | Per-layer opacity multipliers | | `glowBoost` (pulse) | `1` | Halo prominence | | `coreBlur`, `bloomBlur`, `glowBrightness`, `glowSaturation` (pulse-outside) | preset | Glow tuning overrides | +| `themeConfig` | per variant/theme | Replace the whole preset — start from `BeamThemeConfig.presetFor(...)` | + +`BeamShape`: + +| Field | Default | Purpose | +|---|---|---| +| `radius` | 16 (32 for `small`) | Per-corner `BorderRadiusGeometry` (shorthand: `borderRadius:` on the widget) | +| `borderWidth` | `1` | Stroke ring thickness | +| `superellipse` | `false` | Squircle contour instead of circular corner arcs | + +`BeamTiming`: + +| Field | Default | Purpose | +|---|---|---| +| `cycle` | 1.96s / 3.1s / 2.3s | One animation cycle (rotate·small / line / pulse) | +| `cycleGap` | `Duration.zero` | Rest between sweeps (ignored by the pulse variants) | +| `speed` | `1` | Playback rate (a controller's `speed` wins) | +| `huePeriod` | 12s (14s/16s pulse) | One full period of the hue track | +| `bloomHuePeriod` | 8s | The line bloom's own hue period | +| `breatheFactor`, `spikeFactor`, `spike2Factor` | `1.3`, `1.33`, `1.7` | The line beam's tracks, as multiples of `cycle` | + +`BeamPlayback`: + +| Field | Default | Purpose | +|---|---|---| +| `active` | `true` | Play state (shorthand: `active:` on the widget) | +| `autoPlay` | `true` | Whether the beam starts by itself | +| `startAfter` | none | Delay before autoplay | +| `duration` | none (loops) | Total play time | +| `respectReducedMotion` | `true` | Static frame under `MediaQuery.disableAnimations` | ## Example app diff --git a/example/lib/main.dart b/example/lib/main.dart index 733dfce..a5c0618 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -215,7 +215,7 @@ class _RotateExamples extends StatelessWidget { children: [ ExampleFrame( child: BorderBeam.rotate( - theme: beamTheme, + style: BeamStyle(theme: beamTheme), borderRadius: 20, child: const MockChatInput(), ), @@ -227,7 +227,7 @@ class _RotateExamples extends StatelessWidget { child: ExampleFrame( height: 140, child: BorderBeam.small( - theme: beamTheme, + style: BeamStyle(theme: beamTheme), borderRadius: 20, child: const MockIconButton(), ), @@ -239,7 +239,7 @@ class _RotateExamples extends StatelessWidget { child: ExampleFrame( height: 140, child: BorderBeam.line( - theme: beamTheme, + style: BeamStyle(theme: beamTheme), borderRadius: 20, child: const MockSearchBar(), ), @@ -265,7 +265,7 @@ class _PulseExamples extends StatelessWidget { height: 300, clip: false, child: BorderBeam.pulseInside( - theme: beamTheme, + style: BeamStyle(theme: beamTheme), borderRadius: 20, child: const MockWorkingCard(), ), @@ -278,7 +278,7 @@ class _PulseExamples extends StatelessWidget { height: 160, clip: false, child: BorderBeam.pulseInside( - theme: beamTheme, + style: BeamStyle(theme: beamTheme), borderRadius: 20, child: const MockSubscribeButton(), ), @@ -291,7 +291,7 @@ class _PulseExamples extends StatelessWidget { height: 220, clip: false, child: BorderBeam.pulseOutside( - theme: beamTheme, + style: BeamStyle(theme: beamTheme), borderRadius: 20, child: const MockChatInput(), ), diff --git a/example/lib/showcase.dart b/example/lib/showcase.dart index 6e277af..5ee5a82 100644 --- a/example/lib/showcase.dart +++ b/example/lib/showcase.dart @@ -62,7 +62,7 @@ void main() { 'squircle': () => _card( const BorderBeam.rotate( colors: BeamColors.ocean, - useSuperellipse: true, + shape: BeamShape(superellipse: true), borderRadius: 28, child: _Surface(radius: 28), ), diff --git a/example/lib/src/playground.dart b/example/lib/src/playground.dart index b79fccf..518264a 100644 --- a/example/lib/src/playground.dart +++ b/example/lib/src/playground.dart @@ -63,49 +63,18 @@ class _PlaygroundSectionState extends State { ), ); - final beam = switch (_variant) { - BeamVariant.rotate => BorderBeam.rotate( - colors: palette.colors, - theme: beamTheme, - strength: _strength, - active: _active, - useSuperellipse: _superellipse, - child: preview, - ), - BeamVariant.small => BorderBeam.small( - colors: palette.colors, - theme: beamTheme, - strength: _strength, - active: _active, - useSuperellipse: _superellipse, - borderRadius: 16, - child: preview, - ), - BeamVariant.line => BorderBeam.line( - colors: palette.colors, - theme: beamTheme, - strength: _strength, - active: _active, - useSuperellipse: _superellipse, - child: preview, - ), - BeamVariant.pulseInside => BorderBeam.pulseInside( - colors: palette.colors, - theme: beamTheme, - strength: _strength, - active: _active, - useSuperellipse: _superellipse, - child: preview, - ), - BeamVariant.pulseOutside => BorderBeam.pulseOutside( - colors: palette.colors, - theme: beamTheme, - strength: _strength, - active: _active, - useSuperellipse: _superellipse, - child: preview, - ), - }; + // One call for every variant: the generic constructor takes the variant + // as a value, so the playground needs no switch. + final beam = BorderBeam( + variant: _variant, + colors: palette.colors, + active: _active, + // The small variant's 32px preset would overshoot the 350×140 preview. + borderRadius: _variant == BeamVariant.small ? 16 : null, + style: BeamStyle(theme: beamTheme, strength: _strength), + shape: BeamShape(superellipse: _superellipse), + child: preview, + ); return Column( crossAxisAlignment: CrossAxisAlignment.stretch, @@ -208,11 +177,14 @@ class _PlaygroundSectionState extends State { BeamVariant.pulseInside => 'pulseInside', BeamVariant.pulseOutside => 'pulseOutside', }; + final style = [ + if (_strength < 1) 'strength: ${_strength.toStringAsFixed(2)}', + ]; final args = [ if (paletteName != 'colorful') 'colors: BeamColors.$paletteName,', - if (_strength < 1) 'strength: ${_strength.toStringAsFixed(2)},', - if (_superellipse) 'useSuperellipse: true,', if (!_active) 'active: false,', + if (style.isNotEmpty) 'style: const BeamStyle(${style.join(', ')}),', + if (_superellipse) 'shape: const BeamShape(superellipse: true),', 'child: child,', ]; return 'BorderBeam.$constructor(\n ${args.join('\n ')}\n)'; diff --git a/lib/flutter_border_beam.dart b/lib/flutter_border_beam.dart index 1dcdfa4..f34beb1 100644 --- a/lib/flutter_border_beam.dart +++ b/lib/flutter_border_beam.dart @@ -8,7 +8,13 @@ library; export 'src/border_beam.dart' show BorderBeam; export 'src/border_beam_controller.dart' show BorderBeamController; +export 'src/border_beam_theme.dart' show BorderBeamTheme, BorderBeamThemeData; export 'src/models/beam_blob.dart' show BeamBlob, LineBlob; export 'src/models/beam_colors.dart' show BeamColors; +export 'src/models/beam_playback.dart' show BeamPlayback; +export 'src/models/beam_shape.dart' show BeamShape; +export 'src/models/beam_style.dart' show BeamStyle; export 'src/models/beam_theme.dart' show BeamTheme; +export 'src/models/beam_theme_config.dart' show BeamThemeConfig; +export 'src/models/beam_timing.dart' show BeamTiming; export 'src/models/beam_variant.dart' show BeamVariant; diff --git a/lib/src/animation/beam_phases.dart b/lib/src/animation/beam_phases.dart index a801e1d..a8b9210 100644 --- a/lib/src/animation/beam_phases.dart +++ b/lib/src/animation/beam_phases.dart @@ -51,13 +51,16 @@ class BeamFramePhases { this.pulse = const PulsePhaseSet.identity(), }); - /// Fade envelope (0–1), multiplied into every layer opacity. + /// Fade envelope (0–1), multiplied into every layer opacity. Carries the + /// rest between sweeps (`BeamTiming.cycleGap`) as well as the beam's own + /// fade in and out. final double fadeOpacity; /// Animated hue rotation in degrees (excludes the static hue base). final double hueDegrees; - /// The line bloom's separate hue track (±(hueRange+10)° over 8s). + /// The line bloom's separate hue track (±(hueRange+10)°, over + /// `BeamConfig.bloomHuePeriodSeconds`). final double bloomHueDegrees; /// Rotating conic window angle (rotate/small), radians. @@ -101,13 +104,11 @@ class BeamPhaseResolver { ); BeamPhaseResolver._(this.config, PulseParams? pulseParams) - : _pulseParams = pulseParams, - _bank = pulseParams == null ? null : PulseOscillatorBank(pulseParams); + : _bank = pulseParams == null ? null : PulseOscillatorBank(pulseParams); /// The resolved beam configuration. final BeamConfig config; final PulseOscillatorBank? _bank; - final PulseParams? _pulseParams; /// Seconds added to the sample time of the fixed-period hue tracks only. /// @@ -115,47 +116,40 @@ class BeamPhaseResolver { /// oscillators) all scale with [BeamConfig.cycleSeconds], so a cycle /// change can be absorbed by rescaling elapsed time /// ([BeamClock.retime]) — their fractions come out unchanged. The hue - /// tracks run on fixed periods ([huePeriodSeconds], - /// [bloomHuePeriodSeconds], [PulseParams.huePeriod]) and would jump under - /// that rescale, so the widget shifts them back by the amount the - /// timeline moved. + /// tracks run on fixed periods ([BeamConfig.huePeriodSeconds], + /// [BeamConfig.bloomHuePeriodSeconds]) and would jump under that rescale, + /// so the widget shifts them back by the amount the timeline moved. double hueTimeOffset = 0; - /// The hue ping-pong keyframes of the rotate/line variants - /// (0% −range, 50% +range, 100% −range, ease-in-out per segment, 12s). - static const double huePeriodSeconds = 12; - - /// The line bloom hue period (8s). - static const double bloomHuePeriodSeconds = 8; - /// Samples all phases at [t] seconds with the given [fadeOpacity]. BeamFramePhases sample(double t, double fadeOpacity) { final v = config.variant; final hue = _hue(t); switch (v) { case BeamVariant.rotate || BeamVariant.small: - final cycle = (t / config.cycleSeconds) % 1.0; + final (progress, envelope) = _travel(t); return BeamFramePhases( - fadeOpacity: fadeOpacity, + fadeOpacity: fadeOpacity * envelope, hueDegrees: hue, - angleRadians: cycle * 2 * math.pi, + angleRadians: progress * 2 * math.pi, ); case BeamVariant.line: - final cycle = (t / config.cycleSeconds) % 1.0; - final breathe = (t / (config.cycleSeconds * 1.3)) % 1.0; - final spikeT = (t / (config.cycleSeconds * 1.33)) % 1.0; - final spike2T = (t / (config.cycleSeconds * 1.7)) % 1.0; + final (progress, envelope) = _travel(t); + final cs = config.cycleSeconds; + final breathe = (t / (cs * config.breatheFactor)) % 1.0; + final spikeT = (t / (cs * config.spikeFactor)) % 1.0; + final spike2T = (t / (cs * config.spike2Factor)) % 1.0; return BeamFramePhases( - fadeOpacity: fadeOpacity, + fadeOpacity: fadeOpacity * envelope, hueDegrees: hue, bloomHueDegrees: _pingPongHue( t + hueTimeOffset, - bloomHuePeriodSeconds, + config.bloomHuePeriodSeconds, config.hueRange + 10, ), - lineX: sampleKeyframes(lineTravelX, cycle), - lineW: sampleKeyframes(lineTravelW, cycle), - edge: sampleKeyframes(lineEdgeFade, cycle), + lineX: sampleKeyframes(lineTravelX, progress), + lineW: sampleKeyframes(lineTravelW, progress), + edge: sampleKeyframes(lineEdgeFade, progress), lineH: sampleKeyframes(lineBreatheH, breathe, easedSegments: true), spike: sampleKeyframes(lineSpike, spikeT, easedSegments: true), spike2: sampleKeyframes(lineSpike2, spike2T, easedSegments: true), @@ -196,15 +190,45 @@ class BeamPhaseResolver { ); } + /// Travel progress through one sweep (0–1) and the gap envelope that + /// multiplies into the fade at [t]. + /// + /// Without a gap this is the plain `t / cycle` wrap. With one, the sweep + /// runs over the first `cycleSeconds` of each `cycle + gap` period and then + /// parks at progress 1 while the envelope eases out and back in over + /// `min(0.25s, gap / 2)` at each end of the rest. + (double progress, double envelope) _travel(double t) { + final cycle = config.cycleSeconds; + final gap = config.gapSeconds; + if (gap <= 0) return ((t / cycle) % 1.0, 1.0); + final local = t % (cycle + gap); + if (local < cycle) return (local / cycle, 1.0); + final intoGap = local - cycle; + final fade = math.min(0.25, gap / 2); + if (fade <= 0) return (1.0, 0.0); + if (intoGap < fade) return (1.0, 1 - _smoothstep(intoGap / fade)); + final outFrom = gap - fade; + if (intoGap > outFrom) { + return (1.0, _smoothstep((intoGap - outFrom) / fade)); + } + return (1.0, 0.0); + } + + // Smoothstep: zero slope at both ends, so the rest opens and closes without + // a visible corner. + static double _smoothstep(double x) { + final c = x.clamp(0.0, 1.0); + return c * c * (3 - 2 * c); + } + double _hue(double t) { if (config.staticColors) return 0; final hueT = t + hueTimeOffset; if (config.variant.isPulse) { // Continuous full revolution (sawtooth 0→360°). - final period = _pulseParams!.huePeriod; - return ((hueT / period) % 1.0) * 360; + return ((hueT / config.huePeriodSeconds) % 1.0) * 360; } - return _pingPongHue(hueT, huePeriodSeconds, config.hueRange); + return _pingPongHue(hueT, config.huePeriodSeconds, config.hueRange); } // CSS `beam-hue-shift`: keyframes −range @0%, +range @50%, −range @100%, diff --git a/lib/src/border_beam.dart b/lib/src/border_beam.dart index 8a57fc4..8ce3978 100644 --- a/lib/src/border_beam.dart +++ b/lib/src/border_beam.dart @@ -1,13 +1,19 @@ import 'dart:async'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'animation/beam_clock.dart'; import 'animation/beam_phases.dart'; import 'border_beam_controller.dart'; +import 'border_beam_theme.dart'; import 'models/beam_colors.dart'; import 'models/beam_config.dart'; +import 'models/beam_playback.dart'; +import 'models/beam_shape.dart'; +import 'models/beam_style.dart'; import 'models/beam_theme.dart'; +import 'models/beam_timing.dart'; import 'models/beam_variant.dart'; import 'painting/beam_painter.dart'; import 'painting/variant_strategy.dart'; @@ -15,7 +21,8 @@ import 'painting/variant_strategy.dart'; /// An animated glow around [child]'s border. /// /// A faithful Flutter port of the border-beam React library. Pick a variant -/// through the named constructors: +/// through the named constructors — or pass one to the generic constructor +/// when the choice is made at runtime: /// /// - [BorderBeam.rotate] — full border traveling beam (cards, surfaces). /// - [BorderBeam.small] — compact traveling beam (buttons, icons). @@ -31,19 +38,37 @@ import 'painting/variant_strategy.dart'; /// ) /// ``` /// +/// Everything else is grouped into four value objects — [style], [shape], +/// [timing], and [playback] — whose fields are all nullable: +/// +/// ```dart +/// BorderBeam( +/// variant: variant, +/// style: const BeamStyle(colors: BeamColors.sunset, strength: 0.8), +/// shape: const BeamShape.circular(24, superellipse: true), +/// timing: const BeamTiming(cycleGap: Duration(seconds: 1)), +/// child: card, +/// ) +/// ``` +/// +/// A field left null falls through to the nearest [BorderBeamTheme], then to +/// the variant's own preset — so app-wide defaults live in one place. +/// /// The beam layers are purely decorative: they never intercept pointer /// events and only paint — [child] is laid out and hit-tested normally. /// /// ## Scheduling /// -/// Without a [controller], the beam plays by itself: [autoPlay] starts it -/// (after [startAfter], if given) and [duration] bounds the total play time -/// (null loops forever). Toggling [active] fades the beam in (0.6s) and out -/// (0.5s) with spring-eased envelopes; [onActivate]/[onDeactivate] fire when -/// the fades complete. +/// Without a [controller], the beam plays by itself: `playback.autoPlay` +/// starts it (after `playback.startAfter`, if given) and `playback.duration` +/// bounds the total play time (null loops forever). Toggling [active] fades +/// the beam in (0.6s) and out (0.5s) with spring-eased envelopes; +/// [onActivate]/[onDeactivate] fire when the fades complete. /// /// With a [BorderBeamController] attached, the controller owns playback -/// exclusively and [startAfter]/[duration] must not be set. +/// exclusively: `playback.startAfter` and `playback.duration` must not be set +/// (on the widget or on a [BorderBeamTheme]), and the controller's own +/// `speed` replaces `timing.speed`. /// /// ## pulse-outside requirements /// @@ -52,99 +77,53 @@ import 'painting/variant_strategy.dart'; /// should carry its own 1px border for a defined idle edge, and needs /// clip-free room around it (padding in the parent; no tight [ClipRRect]). class BorderBeam extends StatefulWidget { - const BorderBeam._({ + /// Creates a beam of any [variant], for when the variant is picked at + /// runtime. The named constructors are the readable form when it is not. + const BorderBeam({ super.key, required this.variant, required this.child, - this.colors = BeamColors.colorful, - this.theme = BeamTheme.auto, - this.strength = 1, - this.active = true, + this.colors, + this.active, this.borderRadius, - this.useSuperellipse = false, - this.borderWidth, - this.brightness, - this.saturation, - this.hueRange = 30, - this.hueBase = 0, - this.staticColors = false, - this.respectReducedMotion = true, - this.cycleDuration, + this.style, + this.shape, + this.timing, + this.playback, this.controller, - this.startAfter, - this.duration, - this.autoPlay = true, this.onActivate, this.onDeactivate, - this.strokeOpacityFactor = 1, - this.innerOpacityFactor = 1, - this.bloomOpacityFactor = 1, - this.glowBoost = 1, - this.coreBlur, - this.bloomBlur, - this.glowBrightness, - this.glowSaturation, - }) : assert( - controller == null || (startAfter == null && duration == null), - 'When a BorderBeamController is attached it owns playback: ' - 'startAfter and duration must not be set.', - ); + }); /// Full border traveling beam (React `md`). The default look, tuned for /// cards and larger surfaces. const BorderBeam.rotate({ Key? key, required Widget child, - BeamColors colors = BeamColors.colorful, - BeamTheme theme = BeamTheme.auto, - double strength = 1, - bool active = true, + BeamColors? colors, + bool? active, double? borderRadius, - bool useSuperellipse = false, - double? borderWidth, - double? brightness, - double? saturation, - double hueRange = 30, - double hueBase = 0, - bool staticColors = false, - bool respectReducedMotion = true, - Duration? cycleDuration, + BeamStyle? style, + BeamShape? shape, + BeamTiming? timing, + BeamPlayback? playback, BorderBeamController? controller, - Duration? startAfter, - Duration? duration, - bool autoPlay = true, VoidCallback? onActivate, VoidCallback? onDeactivate, - double strokeOpacityFactor = 1, - double innerOpacityFactor = 1, - double bloomOpacityFactor = 1, - }) : this._( + }) : this( key: key, variant: BeamVariant.rotate, child: child, colors: colors, - theme: theme, - strength: strength, active: active, borderRadius: borderRadius, - useSuperellipse: useSuperellipse, - borderWidth: borderWidth, - brightness: brightness, - saturation: saturation, - hueRange: hueRange, - hueBase: hueBase, - staticColors: staticColors, - respectReducedMotion: respectReducedMotion, - cycleDuration: cycleDuration, + style: style, + shape: shape, + timing: timing, + playback: playback, controller: controller, - startAfter: startAfter, - duration: duration, - autoPlay: autoPlay, onActivate: onActivate, onDeactivate: onDeactivate, - strokeOpacityFactor: strokeOpacityFactor, - innerOpacityFactor: innerOpacityFactor, - bloomOpacityFactor: bloomOpacityFactor, ); /// Compact traveling beam for small elements (React `sm`) — icon buttons, @@ -152,56 +131,30 @@ class BorderBeam extends StatefulWidget { const BorderBeam.small({ Key? key, required Widget child, - BeamColors colors = BeamColors.colorful, - BeamTheme theme = BeamTheme.auto, - double strength = 1, - bool active = true, + BeamColors? colors, + bool? active, double? borderRadius, - bool useSuperellipse = false, - double? borderWidth, - double? brightness, - double? saturation, - double hueRange = 30, - double hueBase = 0, - bool staticColors = false, - bool respectReducedMotion = true, - Duration? cycleDuration, + BeamStyle? style, + BeamShape? shape, + BeamTiming? timing, + BeamPlayback? playback, BorderBeamController? controller, - Duration? startAfter, - Duration? duration, - bool autoPlay = true, VoidCallback? onActivate, VoidCallback? onDeactivate, - double strokeOpacityFactor = 1, - double innerOpacityFactor = 1, - double bloomOpacityFactor = 1, - }) : this._( + }) : this( key: key, variant: BeamVariant.small, child: child, colors: colors, - theme: theme, - strength: strength, active: active, borderRadius: borderRadius, - useSuperellipse: useSuperellipse, - borderWidth: borderWidth, - brightness: brightness, - saturation: saturation, - hueRange: hueRange, - hueBase: hueBase, - staticColors: staticColors, - respectReducedMotion: respectReducedMotion, - cycleDuration: cycleDuration, + style: style, + shape: shape, + timing: timing, + playback: playback, controller: controller, - startAfter: startAfter, - duration: duration, - autoPlay: autoPlay, onActivate: onActivate, onDeactivate: onDeactivate, - strokeOpacityFactor: strokeOpacityFactor, - innerOpacityFactor: innerOpacityFactor, - bloomOpacityFactor: bloomOpacityFactor, ); /// Bottom-edge traveling beam (React `line`) — search bars, text inputs. @@ -209,56 +162,30 @@ class BorderBeam extends StatefulWidget { const BorderBeam.line({ Key? key, required Widget child, - BeamColors colors = BeamColors.colorful, - BeamTheme theme = BeamTheme.auto, - double strength = 1, - bool active = true, + BeamColors? colors, + bool? active, double? borderRadius, - bool useSuperellipse = false, - double? borderWidth, - double? brightness, - double? saturation, - double hueRange = 30, - double hueBase = 0, - bool staticColors = false, - bool respectReducedMotion = true, - Duration? cycleDuration, + BeamStyle? style, + BeamShape? shape, + BeamTiming? timing, + BeamPlayback? playback, BorderBeamController? controller, - Duration? startAfter, - Duration? duration, - bool autoPlay = true, VoidCallback? onActivate, VoidCallback? onDeactivate, - double strokeOpacityFactor = 1, - double innerOpacityFactor = 1, - double bloomOpacityFactor = 1, - }) : this._( + }) : this( key: key, variant: BeamVariant.line, child: child, colors: colors, - theme: theme, - strength: strength, active: active, borderRadius: borderRadius, - useSuperellipse: useSuperellipse, - borderWidth: borderWidth, - brightness: brightness, - saturation: saturation, - hueRange: hueRange, - hueBase: hueBase, - staticColors: staticColors, - respectReducedMotion: respectReducedMotion, - cycleDuration: cycleDuration, + style: style, + shape: shape, + timing: timing, + playback: playback, controller: controller, - startAfter: startAfter, - duration: duration, - autoPlay: autoPlay, onActivate: onActivate, onDeactivate: onDeactivate, - strokeOpacityFactor: strokeOpacityFactor, - innerOpacityFactor: innerOpacityFactor, - bloomOpacityFactor: bloomOpacityFactor, ); /// Contained breathing glow (React `pulse-inner`) — working states, @@ -266,125 +193,65 @@ class BorderBeam extends StatefulWidget { const BorderBeam.pulseInside({ Key? key, required Widget child, - BeamColors colors = BeamColors.colorful, - BeamTheme theme = BeamTheme.auto, - double strength = 1, - bool active = true, + BeamColors? colors, + bool? active, double? borderRadius, - bool useSuperellipse = false, - double? borderWidth, - double? brightness, - double? saturation, - double hueBase = 0, - bool staticColors = false, - bool respectReducedMotion = true, - Duration? cycleDuration, + BeamStyle? style, + BeamShape? shape, + BeamTiming? timing, + BeamPlayback? playback, BorderBeamController? controller, - Duration? startAfter, - Duration? duration, - bool autoPlay = true, VoidCallback? onActivate, VoidCallback? onDeactivate, - double strokeOpacityFactor = 1, - double innerOpacityFactor = 1, - double bloomOpacityFactor = 1, - double glowBoost = 1, - }) : this._( + }) : this( key: key, variant: BeamVariant.pulseInside, child: child, colors: colors, - theme: theme, - strength: strength, active: active, borderRadius: borderRadius, - useSuperellipse: useSuperellipse, - borderWidth: borderWidth, - brightness: brightness, - saturation: saturation, - hueBase: hueBase, - staticColors: staticColors, - respectReducedMotion: respectReducedMotion, - cycleDuration: cycleDuration, + style: style, + shape: shape, + timing: timing, + playback: playback, controller: controller, - startAfter: startAfter, - duration: duration, - autoPlay: autoPlay, onActivate: onActivate, onDeactivate: onDeactivate, - strokeOpacityFactor: strokeOpacityFactor, - innerOpacityFactor: innerOpacityFactor, - bloomOpacityFactor: bloomOpacityFactor, - glowBoost: glowBoost, ); /// Outward-blooming breathing halo (React `pulse-outside`). /// /// The glow paints behind and outside the child — see the class docs for - /// the opaque-child / border / overflow-room requirements. [coreBlur], - /// [bloomBlur], [glowBrightness], and [glowSaturation] port the source's - /// consumer tuning hooks. + /// the opaque-child / border / overflow-room requirements. `BeamStyle`'s + /// `coreBlur`, `bloomBlur`, `glowBrightness`, and `glowSaturation` port the + /// source's consumer tuning hooks for this variant. const BorderBeam.pulseOutside({ Key? key, required Widget child, - BeamColors colors = BeamColors.colorful, - BeamTheme theme = BeamTheme.auto, - double strength = 1, - bool active = true, + BeamColors? colors, + bool? active, double? borderRadius, - bool useSuperellipse = false, - double? borderWidth, - double? brightness, - double? saturation, - double hueBase = 0, - bool staticColors = false, - bool respectReducedMotion = true, - Duration? cycleDuration, + BeamStyle? style, + BeamShape? shape, + BeamTiming? timing, + BeamPlayback? playback, BorderBeamController? controller, - Duration? startAfter, - Duration? duration, - bool autoPlay = true, VoidCallback? onActivate, VoidCallback? onDeactivate, - double strokeOpacityFactor = 1, - double innerOpacityFactor = 1, - double bloomOpacityFactor = 1, - double glowBoost = 1, - double? coreBlur, - double? bloomBlur, - double? glowBrightness, - double? glowSaturation, - }) : this._( + }) : this( key: key, variant: BeamVariant.pulseOutside, child: child, colors: colors, - theme: theme, - strength: strength, active: active, borderRadius: borderRadius, - useSuperellipse: useSuperellipse, - borderWidth: borderWidth, - brightness: brightness, - saturation: saturation, - hueBase: hueBase, - staticColors: staticColors, - respectReducedMotion: respectReducedMotion, - cycleDuration: cycleDuration, + style: style, + shape: shape, + timing: timing, + playback: playback, controller: controller, - startAfter: startAfter, - duration: duration, - autoPlay: autoPlay, onActivate: onActivate, onDeactivate: onDeactivate, - strokeOpacityFactor: strokeOpacityFactor, - innerOpacityFactor: innerOpacityFactor, - bloomOpacityFactor: bloomOpacityFactor, - glowBoost: glowBoost, - coreBlur: coreBlur, - bloomBlur: bloomBlur, - glowBrightness: glowBrightness, - glowSaturation: glowSaturation, ); /// Which effect this beam paints. @@ -393,114 +260,78 @@ class BorderBeam extends StatefulWidget { /// The wrapped content. Laid out and hit-tested normally. final Widget child; - /// Color scheme: a preset, [BeamColors.custom], or [BeamColors.spec]. - final BeamColors colors; - - /// Background adaptation: dark, light, or follow the ambient theme. - final BeamTheme theme; + /// Shorthand for `style.colors`; a non-null value here wins over it. + final BeamColors? colors; - /// Effect opacity 0–1 (clamped). Scales only the beam layers. - final double strength; + /// Shorthand for `playback.active`; a non-null value here wins over it. + final bool? active; - /// Declarative play state: toggling fades the beam in/out. Ignored when a - /// [controller] is attached. - final bool active; - - /// Corner radius in logical px; null uses the variant preset (16, or 32 - /// for [BeamVariant.small]). Match your child's decoration radius. + /// Shorthand for a uniform `shape.radius` in logical px; a non-null value + /// here wins over it. Match your child's decoration radius. final double? borderRadius; - /// Shape the beam as a rounded superellipse (Apple-style squircle) instead - /// of a circular-arc rounded rectangle. - final bool useSuperellipse; - - /// Stroke ring thickness in logical px (default 1, as in the source). - final double? borderWidth; + /// Colors, theme adaptation, and every filter/opacity tuning hook. + final BeamStyle? style; - /// Glow brightness multiplier; null uses the variant/theme preset. - final double? brightness; + /// Corner radii, ring width, and corner family. + final BeamShape? shape; - /// Glow saturation multiplier; null uses the variant/theme preset. - final double? saturation; + /// Cycle length, rest between sweeps, playback rate, and hue periods. + final BeamTiming? timing; - /// Hue animation amplitude in degrees (default 30; the line variant caps - /// it at 13). Not used by pulse variants, whose hue cycles continuously. - final double hueRange; - - /// Static hue offset in degrees added to the whole palette. - final double hueBase; - - /// Disables the hue animation. Forced on by [BeamColors.mono]. - final bool staticColors; - - /// When true (default), honors [MediaQuery.disableAnimationsOf] by - /// painting a single static frame instead of animating. - final bool respectReducedMotion; - - /// Length of one animation cycle; null uses the variant default - /// (1.96s rotate/small, 3.1s line, 2.3s pulse). - /// - /// Changing it while the beam runs retimes the animation in place: every - /// track keeps the phase it was at, so the beam speeds up or slows down - /// without a jump. - final Duration? cycleDuration; + /// Play state and scheduling. Ignored while a [controller] is attached. + final BeamPlayback? playback; /// Optional playback controller. When set it owns playback exclusively — - /// [startAfter] and [duration] must be null and [active]/[autoPlay] are - /// ignored. + /// `playback.startAfter`/`duration` must be null and [active] is ignored. final BorderBeamController? controller; - /// Delay before autoplay starts. Only without a [controller]. - final Duration? startAfter; - - /// Total play time before the beam fades out by itself; null plays - /// forever. Only without a [controller]. - final Duration? duration; - - /// Whether the beam starts by itself (default true). Only without a - /// [controller]. - final bool autoPlay; - /// Called when the fade-in completes. final VoidCallback? onActivate; /// Called when the fade-out completes. final VoidCallback? onDeactivate; - /// Stroke ring opacity multiplier (React `--beam-stroke-opacity`). - final double strokeOpacityFactor; - - /// Inner glow opacity multiplier (React `--beam-inner-opacity`). - final double innerOpacityFactor; + // The widget's own style/shape/playback, with the shorthands folded in. + BeamStyle? get _styleInput => colors == null + ? style + : (style ?? const BeamStyle()).copyWith(colors: colors); - /// Bloom opacity multiplier (React `--beam-bloom-opacity`). - final double bloomOpacityFactor; + BeamShape? get _shapeInput => borderRadius == null + ? shape + : (shape ?? const BeamShape()).copyWith( + radius: BorderRadius.circular(borderRadius!), + ); - /// Pulse glow prominence multiplier (React `--pulse-glow-boost`). - final double glowBoost; - - /// pulse-outside core glow blur override in px (React `--beam-core-blur`). - final double? coreBlur; - - /// pulse-outside halo blur override in px (React `--beam-bloom-blur`). - final double? bloomBlur; - - /// pulse-outside glow brightness override - /// (React `--beam-glow-brightness`). - final double? glowBrightness; - - /// pulse-outside glow saturation override (React `--beam-glow-saturate`). - final double? glowSaturation; + BeamPlayback? get _playbackInput => active == null + ? playback + : (playback ?? const BeamPlayback()).copyWith(active: active); @override State createState() => _BorderBeamState(); + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(EnumProperty('variant', variant)) + ..add(DiagnosticsProperty('style', _styleInput)) + ..add(DiagnosticsProperty('shape', _shapeInput)) + ..add(DiagnosticsProperty('timing', timing)) + ..add(DiagnosticsProperty('playback', _playbackInput)) + ..add( + DiagnosticsProperty( + 'controller', + controller, + defaultValue: null, + ), + ); + } } -// The cycle length a widget resolves to, independent of theme — enough to -// detect a cycle change without resolving the whole config. -double _cycleSecondsOf(BorderBeam widget) => - (widget.cycleDuration ?? widget.variant.defaultCycleDuration) - .inMicroseconds / +// The cycle length a resolved timing implies for a variant. +double _cycleSecondsOf(BeamTiming timing, BeamVariant variant) => + (timing.cycle ?? variant.defaultCycleDuration).inMicroseconds / Duration.microsecondsPerSecond; // TickerProviderStateMixin (not Single-): a variant change rebuilds the @@ -514,8 +345,17 @@ class _BorderBeamState extends State with TickerProviderStateMixin { BeamPhaseResolver? _resolver; Object? _configKey; + // Timing and playback drive scheduling, so they are resolved whenever the + // widget or its dependencies change rather than at paint time. + BeamTiming _timing = const BeamTiming(); + BeamPlayback _playback = const BeamPlayback(); + double _cycleSeconds = 0; + BeamVariantStrategy get _strategy => strategyFor(widget.variant); + bool get _active => _playback.active ?? true; + bool get _autoPlay => _playback.autoPlay ?? true; + bool _autoPlayScheduled = false; bool _hasStarted = false; bool _reducedMotionApplied = false; @@ -528,22 +368,60 @@ class _BorderBeamState extends State with TickerProviderStateMixin { void initState() { super.initState(); _createClock(); + // The theme is not reachable yet; the widget's own values carry the beam + // until didChangeDependencies resolves them properly, before first build. + _timing = widget.timing ?? const BeamTiming(); + _playback = widget._playbackInput ?? const BeamPlayback(); + _cycleSeconds = _cycleSecondsOf(_timing, widget.variant); + _applySpeed(); widget.controller?.attach(_clock); } + // Resolves the scheduling inputs against the enclosing BorderBeamTheme; + // widget-level values (shorthands folded in) win over theme ones. + void _resolveScheduling({required bool retime}) { + final data = BorderBeamTheme.of(context); + final playback = (data.playback ?? const BeamPlayback()).merge( + widget._playbackInput, + ); + assert( + widget.controller == null || + (playback.startAfter == null && playback.duration == null), + 'When a BorderBeamController is attached it owns playback: startAfter ' + 'and duration must not be set, on the widget or on a BorderBeamTheme.', + ); + final timing = (data.timing ?? const BeamTiming()).merge(widget.timing); + final previousCycle = _cycleSeconds; + _playback = playback; + _timing = timing; + _cycleSeconds = _cycleSecondsOf(timing, widget.variant); + if (retime) _retimeToNewCycle(previousCycle, _cycleSeconds); + _applySpeed(); + } + + // A controller sets the clock's speed itself when it attaches, and owns it + // from then on. + void _applySpeed() { + if (widget.controller != null) return; + _clock.speed = _timing.speed ?? 1; + } + @override void didChangeDependencies() { super.didChangeDependencies(); // Autoplay needs MediaQuery (reduced motion), so it can't run from // initState. Reduced motion is also tracked here, where a change to it // is delivered. + final first = !_autoPlayScheduled; + _resolveScheduling(retime: !first); final reduced = _reducedMotion; - if (!_autoPlayScheduled) { + if (first) { _autoPlayScheduled = true; _reducedMotionApplied = reduced; - if (widget.controller == null && widget.autoPlay && widget.active) { - if (widget.startAfter != null) { - _startTimer = Timer(widget.startAfter!, _start); + if (widget.controller == null && _autoPlay && _active) { + final startAfter = _playback.startAfter; + if (startAfter != null) { + _startTimer = Timer(startAfter, _start); } else { _start(); } @@ -577,10 +455,7 @@ class _BorderBeamState extends State with TickerProviderStateMixin { // A beam that has already played is left alone — its duration may have // run out. startAfter belongs to that first autoplay only, so it is // honored while its timer is pending and skipped once it has fired. - if (_hasStarted || - widget.controller != null || - !widget.autoPlay || - !widget.active) { + if (_hasStarted || widget.controller != null || !_autoPlay || !_active) { return; } if (_clock.isVisible || (_startTimer?.isActive ?? false)) return; @@ -614,7 +489,9 @@ class _BorderBeamState extends State with TickerProviderStateMixin { // A cycle-duration change mid-run must not snap the beam. Rescaling // elapsed time by the cycle ratio holds every cycle-derived track at its // current fraction; shifting the hue clock back by the same amount holds - // the fixed-period hue tracks, which do not scale with the cycle. + // the fixed-period hue tracks, which do not scale with the cycle. A + // cycle-gap change needs none of this: the sweep keeps its position and the + // rest simply appears at the next cycle end. void _retimeToNewCycle(double oldCycle, double newCycle) { if (!_clock.isVisible || oldCycle <= 0 || oldCycle == newCycle) return; final before = _clock.elapsedSeconds; @@ -624,8 +501,9 @@ class _BorderBeamState extends State with TickerProviderStateMixin { void _armDurationTimer() { _durationTimer?.cancel(); - if (widget.controller == null && widget.duration != null) { - _durationTimer = Timer(widget.duration!, _clock.deactivate); + final duration = _playback.duration; + if (widget.controller == null && duration != null) { + _durationTimer = Timer(duration, _clock.deactivate); } } @@ -638,32 +516,32 @@ class _BorderBeamState extends State with TickerProviderStateMixin { } bool get _reducedMotion => - widget.respectReducedMotion && + (_playback.respectReducedMotion ?? true) && (MediaQuery.maybeDisableAnimationsOf(context) ?? false); @override void didUpdateWidget(BorderBeam oldWidget) { super.didUpdateWidget(oldWidget); + final wasActive = _active; if (oldWidget.controller != widget.controller) { oldWidget.controller?.detach(_clock); widget.controller?.attach(_clock); } - if (oldWidget.variant != widget.variant) { + final variantChanged = oldWidget.variant != widget.variant; + _resolveScheduling(retime: !variantChanged); + if (variantChanged) { // The fps cap is variant-bound; rebuild the clock. final wasVisible = _clock.isVisible; widget.controller?.detach(_clock); _clock.dispose(); _createClock(); + _applySpeed(); widget.controller?.attach(_clock); - if (wasVisible && widget.controller == null && widget.active) _start(); + if (wasVisible && widget.controller == null && _active) _start(); } - if (oldWidget.variant == widget.variant && - oldWidget.cycleDuration != widget.cycleDuration) { - _retimeToNewCycle(_cycleSecondsOf(oldWidget), _cycleSecondsOf(widget)); - } - if (widget.controller == null && oldWidget.active != widget.active) { + if (widget.controller == null && wasActive != _active) { _startTimer?.cancel(); - if (widget.active) { + if (_active) { _start(); } else { _durationTimer?.cancel(); @@ -681,55 +559,31 @@ class _BorderBeamState extends State with TickerProviderStateMixin { super.dispose(); } - BeamConfig _resolveConfig(Brightness ambient) { - final brightness = widget.theme.resolve(ambient); + BeamConfig _resolveConfig( + BeamStyle style, + BeamShape shape, + Brightness ambient, + TextDirection textDirection, + ) { + final brightness = (style.theme ?? BeamTheme.auto).resolve(ambient); final key = ( widget.variant, - widget.colors, + style, + shape, + _timing, brightness, - widget.borderRadius, - widget.borderWidth, - widget.useSuperellipse, - widget.strength, - widget.brightness, - widget.saturation, - widget.hueRange, - widget.hueBase, - widget.staticColors, - widget.cycleDuration, - widget.strokeOpacityFactor, - widget.innerOpacityFactor, - widget.bloomOpacityFactor, - widget.glowBoost, - widget.coreBlur, - widget.bloomBlur, - widget.glowBrightness, - widget.glowSaturation, + textDirection, ); if (_config == null || key != _configKey) { _configKey = key; _config = BeamConfig.resolve( variant: widget.variant, - palette: widget.colors.resolve(), + palette: (style.colors ?? BeamColors.colorful).resolve(), brightness: brightness, - borderRadius: widget.borderRadius, - borderWidth: widget.borderWidth, - useSuperellipse: widget.useSuperellipse, - strength: widget.strength, - brightnessFactor: widget.brightness, - saturation: widget.saturation, - hueRange: widget.hueRange, - hueBase: widget.hueBase, - staticColors: widget.staticColors, - cycleDuration: widget.cycleDuration, - strokeOpacityFactor: widget.strokeOpacityFactor, - innerOpacityFactor: widget.innerOpacityFactor, - bloomOpacityFactor: widget.bloomOpacityFactor, - glowBoost: widget.glowBoost, - coreBlur: widget.coreBlur, - bloomBlur: widget.bloomBlur, - glowBrightness: widget.glowBrightness, - glowSaturation: widget.glowSaturation, + style: style, + shape: shape, + timing: _timing, + textDirection: textDirection, ); _resolver = BeamPhaseResolver(_config!)..hueTimeOffset = _hueTimeOffset; } @@ -738,15 +592,20 @@ class _BorderBeamState extends State with TickerProviderStateMixin { @override Widget build(BuildContext context) { - final ambient = Theme.of(context).brightness; - final config = _resolveConfig(ambient); + final data = BorderBeamTheme.of(context); + final style = (data.style ?? const BeamStyle()).merge(widget._styleInput); + final shape = (data.shape ?? const BeamShape()).merge(widget._shapeInput); + final config = _resolveConfig( + style, + shape, + Theme.of(context).brightness, + Directionality.maybeOf(context) ?? TextDirection.ltr, + ); final strategy = _strategy; final reduced = _reducedMotion; final staticMode = reduced && - (widget.controller != null - ? _clock.isVisible - : widget.active && widget.autoPlay); + (widget.controller != null ? _clock.isVisible : _active && _autoPlay); return RepaintBoundary( child: CustomPaint( diff --git a/lib/src/border_beam_theme.dart b/lib/src/border_beam_theme.dart new file mode 100644 index 0000000..b601b42 --- /dev/null +++ b/lib/src/border_beam_theme.dart @@ -0,0 +1,146 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart'; + +import 'models/beam_playback.dart'; +import 'models/beam_shape.dart'; +import 'models/beam_style.dart'; +import 'models/beam_timing.dart'; + +/// App-wide defaults for every [BorderBeamTheme] descendant's beams. +/// +/// Each slot is one of the beam value objects, and each of their fields is +/// nullable: a field set here fills in for every beam below that leaves it +/// null, and a beam that sets it wins. +@immutable +class BorderBeamThemeData { + /// Creates theme defaults. Every omitted slot inherits. + const BorderBeamThemeData({ + this.style, + this.shape, + this.timing, + this.playback, + }); + + /// Default colors, theme adaptation, and filter hooks. + final BeamStyle? style; + + /// Default corner radii, ring width, and corner family. + final BeamShape? shape; + + /// Default cycle length, rest, rate, and hue periods. + final BeamTiming? timing; + + /// Default play state and scheduling. + final BeamPlayback? playback; + + /// Returns a copy with the given slots replaced. A null argument keeps the + /// current slot. + BorderBeamThemeData copyWith({ + BeamStyle? style, + BeamShape? shape, + BeamTiming? timing, + BeamPlayback? playback, + }) => BorderBeamThemeData( + style: style ?? this.style, + shape: shape ?? this.shape, + timing: timing ?? this.timing, + playback: playback ?? this.playback, + ); + + /// Layers [other] over this data, field by field: a field set in [other] + /// wins, every other field falls through to this data. + BorderBeamThemeData merge(BorderBeamThemeData? other) => other == null + ? this + : BorderBeamThemeData( + style: style?.merge(other.style) ?? other.style, + shape: shape?.merge(other.shape) ?? other.shape, + timing: timing?.merge(other.timing) ?? other.timing, + playback: playback?.merge(other.playback) ?? other.playback, + ); + + @override + bool operator ==(Object other) => + identical(this, other) || + other is BorderBeamThemeData && + other.style == style && + other.shape == shape && + other.timing == timing && + other.playback == playback; + + @override + int get hashCode => Object.hash(style, shape, timing, playback); + + @override + String toString() => + 'BorderBeamThemeData(style: $style, shape: $shape, ' + 'timing: $timing, playback: $playback)'; +} + +/// Supplies default [BorderBeamThemeData] to the beams below it. +/// +/// ```dart +/// BorderBeamTheme( +/// data: const BorderBeamThemeData( +/// style: BeamStyle(colors: BeamColors.ocean), +/// shape: BeamShape.circular(20, superellipse: true), +/// ), +/// child: app, +/// ) +/// ``` +/// +/// Themes nest: [of] walks every enclosing theme and merges them from the +/// outside in, so an inner theme overrides only the fields it sets. +class BorderBeamTheme extends InheritedWidget { + /// Creates a theme scope carrying [data]. + const BorderBeamTheme({super.key, required this.data, required super.child}); + + /// The defaults this scope contributes. Merged under any inner scope. + final BorderBeamThemeData data; + + /// The merged defaults at [context], or empty data when there is no + /// enclosing [BorderBeamTheme]. + static BorderBeamThemeData of(BuildContext context) => + maybeOf(context) ?? const BorderBeamThemeData(); + + /// The merged defaults at [context], or null when there is no enclosing + /// [BorderBeamTheme]. + /// + /// [context] is registered as a dependent of every theme in the chain, so a + /// change to an outer one rebuilds it just as an inner one does. + static BorderBeamThemeData? maybeOf(BuildContext context) { + BorderBeamThemeData? merged; + BuildContext? scope = context; + while (scope != null) { + final element = scope + .getElementForInheritedWidgetOfExactType(); + if (element == null) break; + context.dependOnInheritedElement(element); + final data = (element.widget as BorderBeamTheme).data; + // Walking inward-out: what is already merged sits inside `data`. + merged = data.merge(merged); + scope = _parentOf(element); + } + return merged; + } + + // The element directly above [element], where the search for the next + // enclosing scope resumes — an inherited element's own scope map includes + // itself, so continuing from it would find the same widget forever. + static BuildContext? _parentOf(Element element) { + BuildContext? parent; + element.visitAncestorElements((ancestor) { + parent = ancestor; + return false; + }); + return parent; + } + + @override + bool updateShouldNotify(BorderBeamTheme oldWidget) => data != oldWidget.data; + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties.add(DiagnosticsProperty('data', data)); + } +} diff --git a/lib/src/models/beam_config.dart b/lib/src/models/beam_config.dart index 5ee88a2..9597d07 100644 --- a/lib/src/models/beam_config.dart +++ b/lib/src/models/beam_config.dart @@ -1,10 +1,28 @@ import 'dart:ui'; -import '../constants/theme_presets.dart'; +import 'package:flutter/painting.dart'; + +import '../constants/pulse_params.dart'; import 'beam_palette.dart'; +import 'beam_shape.dart'; +import 'beam_style.dart'; import 'beam_theme_config.dart'; +import 'beam_timing.dart'; import 'beam_variant.dart'; +// The hue ping-pong period of the traveling variants (React +// `beam-hue-shift`, 12s) and the line bloom's own hue period (8s). +const double _defaultHuePeriodSeconds = 12; +const double _defaultBloomHuePeriodSeconds = 8; + +// The line variant's breathe/spike tracks run at multiples of the cycle. +const double _defaultBreatheFactor = 1.3; +const double _defaultSpikeFactor = 1.33; +const double _defaultSpike2Factor = 1.7; + +double _seconds(Duration d) => + d.inMicroseconds / Duration.microsecondsPerSecond; + /// The fully-resolved, frame-invariant configuration handed to the painter. /// /// Built once by the widget whenever its inputs change; painting then only @@ -26,6 +44,12 @@ class BeamConfig { required this.hueBase, required this.staticColors, required this.cycleSeconds, + this.gapSeconds = 0, + this.huePeriodSeconds = _defaultHuePeriodSeconds, + this.bloomHuePeriodSeconds = _defaultBloomHuePeriodSeconds, + this.breatheFactor = _defaultBreatheFactor, + this.spikeFactor = _defaultSpikeFactor, + this.spike2Factor = _defaultSpike2Factor, this.strokeOpacityFactor = 1, this.innerOpacityFactor = 1, this.bloomOpacityFactor = 1, @@ -36,63 +60,76 @@ class BeamConfig { this.glowSaturation, }); - /// Resolves user-facing parameters (nullable overrides) against the - /// variant/theme presets, mirroring the React component's computed values. + /// Resolves the beam value objects against the variant/theme presets, + /// mirroring the React component's computed values. + /// + /// [palette] is the resolved form of `style.colors` and [brightness] the + /// resolved form of `style.theme` — both are settled by the widget, which + /// owns the ambient theme. [textDirection] resolves `shape.radius`. factory BeamConfig.resolve({ required BeamVariant variant, required BeamPalette palette, required Brightness brightness, - double? borderRadius, - double? borderWidth, - bool useSuperellipse = false, - double strength = 1, - double? brightnessFactor, - double? saturation, - double hueRange = 30, - double hueBase = 0, - bool staticColors = false, - Duration? cycleDuration, - double strokeOpacityFactor = 1, - double innerOpacityFactor = 1, - double bloomOpacityFactor = 1, - double glowBoost = 1, - double? coreBlur, - double? bloomBlur, - double? glowBrightness, - double? glowSaturation, + BeamStyle style = const BeamStyle(), + BeamShape shape = const BeamShape(), + BeamTiming timing = const BeamTiming(), + TextDirection textDirection = TextDirection.ltr, }) { - final theme = themePresetFor(variant, brightness); + final theme = + style.themeConfig ?? BeamThemeConfig.presetFor(variant, brightness); + final cycleSeconds = _seconds(timing.cycle ?? variant.defaultCycleDuration); + final hueRange = style.hueRange ?? 30; return BeamConfig( variant: variant, palette: palette, theme: theme, brightness: brightness, - borderRadius: borderRadius ?? variant.defaultBorderRadius, - borderWidth: borderWidth ?? variant.defaultBorderWidth, - useSuperellipse: useSuperellipse, - strength: strength.clamp(0.0, 1.0), - brightnessFactor: brightnessFactor ?? theme.brightness ?? 1.3, - saturation: saturation ?? theme.saturation, + borderRadius: + shape.radius?.resolve(textDirection) ?? + BorderRadius.circular(variant.defaultBorderRadius), + borderWidth: shape.borderWidth ?? variant.defaultBorderWidth, + useSuperellipse: shape.superellipse ?? false, + strength: (style.strength ?? 1).clamp(0.0, 1.0), + brightnessFactor: style.brightness ?? theme.brightness ?? 1.3, + saturation: style.saturation ?? theme.saturation, // The line variant caps the hue range at 13°, as in the source. hueRange: variant == BeamVariant.line ? (hueRange > 13 ? 13.0 : hueRange) : hueRange, - hueBase: hueBase, - staticColors: staticColors || palette.forcesStaticColors, - cycleSeconds: - (cycleDuration ?? variant.defaultCycleDuration).inMicroseconds / - Duration.microsecondsPerSecond, - strokeOpacityFactor: strokeOpacityFactor, - innerOpacityFactor: innerOpacityFactor, - bloomOpacityFactor: bloomOpacityFactor, - glowBoost: glowBoost, - coreBlur: coreBlur, - bloomBlur: bloomBlur, - glowBrightness: glowBrightness, - glowSaturation: glowSaturation, + hueBase: style.hueBase ?? 0, + staticColors: (style.staticColors ?? false) || palette.forcesStaticColors, + cycleSeconds: cycleSeconds, + gapSeconds: _seconds(timing.cycleGap ?? Duration.zero), + huePeriodSeconds: timing.huePeriod != null + ? _seconds(timing.huePeriod!) + : _defaultHuePeriod(variant, brightness, cycleSeconds), + bloomHuePeriodSeconds: timing.bloomHuePeriod != null + ? _seconds(timing.bloomHuePeriod!) + : _defaultBloomHuePeriodSeconds, + breatheFactor: timing.breatheFactor ?? _defaultBreatheFactor, + spikeFactor: timing.spikeFactor ?? _defaultSpikeFactor, + spike2Factor: timing.spike2Factor ?? _defaultSpike2Factor, + strokeOpacityFactor: style.strokeOpacityFactor ?? 1, + innerOpacityFactor: style.innerOpacityFactor ?? 1, + bloomOpacityFactor: style.bloomOpacityFactor ?? 1, + glowBoost: style.glowBoost ?? 1, + coreBlur: style.coreBlur, + bloomBlur: style.bloomBlur, + glowBrightness: style.glowBrightness, + glowSaturation: style.glowSaturation, ); } + // The traveling variants ping-pong their hue over a fixed 12s; the pulse + // variants revolve over the period their own preset carries. + static double _defaultHuePeriod( + BeamVariant variant, + Brightness brightness, + double cycleSeconds, + ) => variant.isPulse + ? PulseParams.resolve(variant, brightness, cycleSeconds).huePeriod + : _defaultHuePeriodSeconds; + /// Which effect to paint. final BeamVariant variant; @@ -105,8 +142,9 @@ class BeamConfig { /// Resolved brightness (dark/light) the preset was chosen for. final Brightness brightness; - /// Corner radius of the beam shape in logical px. - final double borderRadius; + /// Corner radii of the beam shape in logical px — per corner, already + /// resolved against the ambient text direction. + final BorderRadius borderRadius; /// Stroke ring thickness in logical px. final double borderWidth; @@ -135,6 +173,24 @@ class BeamConfig { /// Seconds per animation cycle. final double cycleSeconds; + /// Seconds the beam rests at the end of its travel between sweeps. + final double gapSeconds; + + /// Seconds for one full period of the hue track. + final double huePeriodSeconds; + + /// Seconds for one full period of the line bloom's hue track. + final double bloomHuePeriodSeconds; + + /// The line beam's height-breathe period as a multiple of [cycleSeconds]. + final double breatheFactor; + + /// The line beam's first spike period as a multiple of [cycleSeconds]. + final double spikeFactor; + + /// The line beam's second spike period as a multiple of [cycleSeconds]. + final double spike2Factor; + /// Stroke ring opacity multiplier hook (React `--beam-stroke-opacity`). final double strokeOpacityFactor; @@ -158,4 +214,80 @@ class BeamConfig { /// Pulse-outside glow saturation override (React `--beam-glow-saturate`). final double? glowSaturation; + + /// Two configs are equal when every painted value is, which is what lets + /// `BeamPainter.shouldRepaint` compare configs rather than identities. + /// + /// [palette] compares by identity: `BeamColors.resolve` memoizes one + /// palette per color instance, so equal color choices reaching one widget + /// resolve to the identical palette. + @override + bool operator ==(Object other) => + identical(this, other) || + other is BeamConfig && + other.variant == variant && + other.palette == palette && + other.theme == theme && + other.brightness == brightness && + other.borderRadius == borderRadius && + other.borderWidth == borderWidth && + other.useSuperellipse == useSuperellipse && + other.strength == strength && + other.brightnessFactor == brightnessFactor && + other.saturation == saturation && + other.hueRange == hueRange && + other.hueBase == hueBase && + other.staticColors == staticColors && + other.cycleSeconds == cycleSeconds && + other.gapSeconds == gapSeconds && + other.huePeriodSeconds == huePeriodSeconds && + other.bloomHuePeriodSeconds == bloomHuePeriodSeconds && + other.breatheFactor == breatheFactor && + other.spikeFactor == spikeFactor && + other.spike2Factor == spike2Factor && + other.strokeOpacityFactor == strokeOpacityFactor && + other.innerOpacityFactor == innerOpacityFactor && + other.bloomOpacityFactor == bloomOpacityFactor && + other.glowBoost == glowBoost && + other.coreBlur == coreBlur && + other.bloomBlur == bloomBlur && + other.glowBrightness == glowBrightness && + other.glowSaturation == glowSaturation; + + @override + int get hashCode => Object.hashAll([ + variant, + palette, + theme, + brightness, + borderRadius, + borderWidth, + useSuperellipse, + strength, + brightnessFactor, + saturation, + hueRange, + hueBase, + staticColors, + cycleSeconds, + gapSeconds, + huePeriodSeconds, + bloomHuePeriodSeconds, + breatheFactor, + spikeFactor, + spike2Factor, + strokeOpacityFactor, + innerOpacityFactor, + bloomOpacityFactor, + glowBoost, + coreBlur, + bloomBlur, + glowBrightness, + glowSaturation, + ]); + + @override + String toString() => + 'BeamConfig($variant, $brightness, radius: $borderRadius, ' + 'cycle: ${cycleSeconds}s, gap: ${gapSeconds}s, strength: $strength)'; } diff --git a/lib/src/models/beam_playback.dart b/lib/src/models/beam_playback.dart new file mode 100644 index 0000000..9b214dc --- /dev/null +++ b/lib/src/models/beam_playback.dart @@ -0,0 +1,106 @@ +import 'package:flutter/foundation.dart'; + +/// When a beam plays: whether it is on, whether it starts by itself, and how +/// long it runs. +/// +/// Every field is nullable and means *inherit*. A field is resolved in this +/// order: the value set on the widget (the `active:` shorthand wins over +/// [active]), then the nearest `BorderBeamTheme`, then the default below. +/// +/// A `BorderBeamController` takes playback over entirely: with one attached, +/// [startAfter] and [duration] must be null, and [active] and [autoPlay] are +/// ignored. +/// +/// ```dart +/// BorderBeam.pulseInside( +/// playback: BeamPlayback( +/// active: isWorking, +/// startAfter: const Duration(milliseconds: 500), +/// ), +/// child: card, +/// ) +/// ``` +@immutable +class BeamPlayback { + /// Creates a playback schedule. Every omitted field is inherited. + const BeamPlayback({ + this.active, + this.autoPlay, + this.startAfter, + this.duration, + this.respectReducedMotion, + }); + + /// Declarative play state: toggling fades the beam in (0.6s) and out + /// (0.5s). Default true. + final bool? active; + + /// Whether the beam starts by itself. Default true. + final bool? autoPlay; + + /// Delay before autoplay starts. Null starts immediately. + final Duration? startAfter; + + /// Total play time before the beam fades out by itself. Null plays forever. + final Duration? duration; + + /// Whether `MediaQuery.disableAnimationsOf` is honored by painting a single + /// static frame instead of animating. Default true. + final bool? respectReducedMotion; + + /// Returns a copy with the given fields replaced. A null argument keeps the + /// current value; build a new [BeamPlayback] to clear a field back to + /// inherit. + BeamPlayback copyWith({ + bool? active, + bool? autoPlay, + Duration? startAfter, + Duration? duration, + bool? respectReducedMotion, + }) => BeamPlayback( + active: active ?? this.active, + autoPlay: autoPlay ?? this.autoPlay, + startAfter: startAfter ?? this.startAfter, + duration: duration ?? this.duration, + respectReducedMotion: respectReducedMotion ?? this.respectReducedMotion, + ); + + /// Layers [other] over this playback: every non-null field of [other] wins, + /// every null one inherits from this playback. + BeamPlayback merge(BeamPlayback? other) => other == null + ? this + : copyWith( + active: other.active, + autoPlay: other.autoPlay, + startAfter: other.startAfter, + duration: other.duration, + respectReducedMotion: other.respectReducedMotion, + ); + + @override + bool operator ==(Object other) => + identical(this, other) || + other is BeamPlayback && + other.active == active && + other.autoPlay == autoPlay && + other.startAfter == startAfter && + other.duration == duration && + other.respectReducedMotion == respectReducedMotion; + + @override + int get hashCode => + Object.hash(active, autoPlay, startAfter, duration, respectReducedMotion); + + @override + String toString() { + final fields = [ + if (active != null) 'active: $active', + if (autoPlay != null) 'autoPlay: $autoPlay', + if (startAfter != null) 'startAfter: $startAfter', + if (duration != null) 'duration: $duration', + if (respectReducedMotion != null) + 'respectReducedMotion: $respectReducedMotion', + ]; + return 'BeamPlayback(${fields.join(', ')})'; + } +} diff --git a/lib/src/models/beam_shape.dart b/lib/src/models/beam_shape.dart new file mode 100644 index 0000000..4247f05 --- /dev/null +++ b/lib/src/models/beam_shape.dart @@ -0,0 +1,102 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/painting.dart'; + +/// The geometry of a beam: its corner radii, ring thickness, and corner +/// family (circular arcs or superellipse). +/// +/// Every field is nullable and means *inherit*. A field is resolved in this +/// order: the value set on the widget (the `borderRadius` shorthand wins over +/// [radius]), then the nearest `BorderBeamTheme`, then the variant's preset +/// (radius 16, or 32 for `BeamVariant.small`; border width 1). +/// +/// ```dart +/// BorderBeam.rotate( +/// shape: const BeamShape.circular(24, superellipse: true), +/// child: card, +/// ) +/// ``` +@immutable +class BeamShape { + /// Creates a shape with per-corner [radius]. Every omitted field is + /// inherited. + const BeamShape({this.radius, this.borderWidth, this.superellipse}); + + /// A shape whose four corners share one [radius]. + /// + /// Not `const` — building a [BorderRadius] from a plain number is a + /// runtime construction, the same reason [BorderRadius.circular] is not + /// const either. For a const beam, pass the `borderRadius` shorthand on the + /// widget (a number, so it stays const) and keep this object for the rest. + BeamShape.circular(double radius, {this.borderWidth, this.superellipse}) + : radius = BorderRadius.circular(radius); + + /// A pill: each corner rounds to half the shortest side of the box, so a + /// square box comes out a circle. + /// + /// The radius is infinite and the ring geometry clamps it per corner, which + /// is what makes it track the box as it resizes. + const BeamShape.stadium({this.borderWidth, this.superellipse}) + : radius = const BorderRadius.all(Radius.circular(double.infinity)); + + /// Corner radii of the beam contour, direction-aware. + /// + /// Resolved against the ambient [Directionality] (or LTR when there is + /// none), then clamped per corner the way [RRect.scaleRadii] does: when two + /// radii on one side exceed that side's length, all four scale down by the + /// smallest offending ratio. Match your child's decoration radius — the + /// beam does not read it. + final BorderRadiusGeometry? radius; + + /// Stroke ring thickness in logical px. Default 1, as in the source. + final double? borderWidth; + + /// Whether the contour is a rounded superellipse (an Apple-style squircle) + /// instead of circular corner arcs. + /// + /// Defaults to false, matching the circular-arc corners of the source + /// library's CSS `border-radius`. + final bool? superellipse; + + /// Returns a copy with the given fields replaced. A null argument keeps the + /// current value; build a new [BeamShape] to clear a field back to inherit. + BeamShape copyWith({ + BorderRadiusGeometry? radius, + double? borderWidth, + bool? superellipse, + }) => BeamShape( + radius: radius ?? this.radius, + borderWidth: borderWidth ?? this.borderWidth, + superellipse: superellipse ?? this.superellipse, + ); + + /// Layers [other] over this shape: every non-null field of [other] wins, + /// every null one inherits from this shape. + BeamShape merge(BeamShape? other) => other == null + ? this + : copyWith( + radius: other.radius, + borderWidth: other.borderWidth, + superellipse: other.superellipse, + ); + + @override + bool operator ==(Object other) => + identical(this, other) || + other is BeamShape && + other.radius == radius && + other.borderWidth == borderWidth && + other.superellipse == superellipse; + + @override + int get hashCode => Object.hash(radius, borderWidth, superellipse); + + @override + String toString() { + final fields = [ + if (radius != null) 'radius: $radius', + if (borderWidth != null) 'borderWidth: $borderWidth', + if (superellipse != null) 'superellipse: $superellipse', + ]; + return 'BeamShape(${fields.join(', ')})'; + } +} diff --git a/lib/src/models/beam_style.dart b/lib/src/models/beam_style.dart new file mode 100644 index 0000000..8f8b2a2 --- /dev/null +++ b/lib/src/models/beam_style.dart @@ -0,0 +1,238 @@ +import 'package:flutter/foundation.dart'; + +import 'beam_colors.dart'; +import 'beam_theme.dart'; +import 'beam_theme_config.dart'; + +/// How a beam looks: its colors, how it adapts to the background, and every +/// filter and layer-opacity hook ported from the source's CSS custom +/// properties. +/// +/// Every field is nullable and means *inherit*. A field is resolved in this +/// order: the value set on the widget (a shorthand such as `colors:` wins +/// over the same field of the widget's own style), then the nearest +/// `BorderBeamTheme`, then the variant's preset. +/// +/// ```dart +/// BorderBeam.rotate( +/// style: const BeamStyle(colors: BeamColors.ocean, strength: 0.6), +/// child: card, +/// ) +/// ``` +@immutable +class BeamStyle { + /// Creates a style. Every omitted field is inherited. + const BeamStyle({ + this.colors, + this.theme, + this.strength, + this.brightness, + this.saturation, + this.hueRange, + this.hueBase, + this.staticColors, + this.strokeOpacityFactor, + this.innerOpacityFactor, + this.bloomOpacityFactor, + this.glowBoost, + this.coreBlur, + this.bloomBlur, + this.glowBrightness, + this.glowSaturation, + this.themeConfig, + }); + + /// Color scheme: a preset, [BeamColors.custom], or [BeamColors.spec]. + /// Defaults to [BeamColors.colorful]. + final BeamColors? colors; + + /// Background adaptation: dark, light, or follow the ambient theme. + /// Defaults to [BeamTheme.auto]. + final BeamTheme? theme; + + /// Effect opacity 0–1 (clamped). Scales only the beam layers. Default 1. + final double? strength; + + /// Glow brightness multiplier; inherits the variant/theme preset. + final double? brightness; + + /// Glow saturation multiplier; inherits the variant/theme preset. + final double? saturation; + + /// Hue animation amplitude in degrees (default 30; the line variant caps it + /// at 13). Not used by pulse variants, whose hue cycles continuously. + final double? hueRange; + + /// Static hue offset in degrees added to the whole palette. Default 0. + final double? hueBase; + + /// Disables the hue animation. Default false; forced on by + /// [BeamColors.mono]. + final bool? staticColors; + + /// Stroke ring opacity multiplier (React `--beam-stroke-opacity`). + /// Default 1. + final double? strokeOpacityFactor; + + /// Inner glow opacity multiplier (React `--beam-inner-opacity`). Default 1. + final double? innerOpacityFactor; + + /// Bloom opacity multiplier (React `--beam-bloom-opacity`). Default 1. + final double? bloomOpacityFactor; + + /// Pulse glow prominence multiplier (React `--pulse-glow-boost`). + /// Default 1. + final double? glowBoost; + + /// pulse-outside core glow blur override in px (React `--beam-core-blur`). + final double? coreBlur; + + /// pulse-outside halo blur override in px (React `--beam-bloom-blur`). + final double? bloomBlur; + + /// pulse-outside glow brightness override + /// (React `--beam-glow-brightness`). + final double? glowBrightness; + + /// pulse-outside glow saturation override (React `--beam-glow-saturate`). + final double? glowSaturation; + + /// Replaces the whole variant×brightness preset (layer opacities, inset + /// shadow, and the default brightness/saturation) with your own. + /// + /// [brightness] and [saturation] still override on top of it. Start from + /// [BeamThemeConfig.presetFor] to tweak a single field of a preset. + final BeamThemeConfig? themeConfig; + + /// Returns a copy with the given fields replaced. A null argument keeps the + /// current value; build a new [BeamStyle] to clear a field back to inherit. + BeamStyle copyWith({ + BeamColors? colors, + BeamTheme? theme, + double? strength, + double? brightness, + double? saturation, + double? hueRange, + double? hueBase, + bool? staticColors, + double? strokeOpacityFactor, + double? innerOpacityFactor, + double? bloomOpacityFactor, + double? glowBoost, + double? coreBlur, + double? bloomBlur, + double? glowBrightness, + double? glowSaturation, + BeamThemeConfig? themeConfig, + }) => BeamStyle( + colors: colors ?? this.colors, + theme: theme ?? this.theme, + strength: strength ?? this.strength, + brightness: brightness ?? this.brightness, + saturation: saturation ?? this.saturation, + hueRange: hueRange ?? this.hueRange, + hueBase: hueBase ?? this.hueBase, + staticColors: staticColors ?? this.staticColors, + strokeOpacityFactor: strokeOpacityFactor ?? this.strokeOpacityFactor, + innerOpacityFactor: innerOpacityFactor ?? this.innerOpacityFactor, + bloomOpacityFactor: bloomOpacityFactor ?? this.bloomOpacityFactor, + glowBoost: glowBoost ?? this.glowBoost, + coreBlur: coreBlur ?? this.coreBlur, + bloomBlur: bloomBlur ?? this.bloomBlur, + glowBrightness: glowBrightness ?? this.glowBrightness, + glowSaturation: glowSaturation ?? this.glowSaturation, + themeConfig: themeConfig ?? this.themeConfig, + ); + + /// Layers [other] over this style: every non-null field of [other] wins, + /// every null one inherits from this style. + BeamStyle merge(BeamStyle? other) => other == null + ? this + : copyWith( + colors: other.colors, + theme: other.theme, + strength: other.strength, + brightness: other.brightness, + saturation: other.saturation, + hueRange: other.hueRange, + hueBase: other.hueBase, + staticColors: other.staticColors, + strokeOpacityFactor: other.strokeOpacityFactor, + innerOpacityFactor: other.innerOpacityFactor, + bloomOpacityFactor: other.bloomOpacityFactor, + glowBoost: other.glowBoost, + coreBlur: other.coreBlur, + bloomBlur: other.bloomBlur, + glowBrightness: other.glowBrightness, + glowSaturation: other.glowSaturation, + themeConfig: other.themeConfig, + ); + + @override + bool operator ==(Object other) => + identical(this, other) || + other is BeamStyle && + other.colors == colors && + other.theme == theme && + other.strength == strength && + other.brightness == brightness && + other.saturation == saturation && + other.hueRange == hueRange && + other.hueBase == hueBase && + other.staticColors == staticColors && + other.strokeOpacityFactor == strokeOpacityFactor && + other.innerOpacityFactor == innerOpacityFactor && + other.bloomOpacityFactor == bloomOpacityFactor && + other.glowBoost == glowBoost && + other.coreBlur == coreBlur && + other.bloomBlur == bloomBlur && + other.glowBrightness == glowBrightness && + other.glowSaturation == glowSaturation && + other.themeConfig == themeConfig; + + @override + int get hashCode => Object.hashAll([ + colors, + theme, + strength, + brightness, + saturation, + hueRange, + hueBase, + staticColors, + strokeOpacityFactor, + innerOpacityFactor, + bloomOpacityFactor, + glowBoost, + coreBlur, + bloomBlur, + glowBrightness, + glowSaturation, + themeConfig, + ]); + + @override + String toString() { + final fields = [ + if (colors != null) 'colors: $colors', + if (theme != null) 'theme: $theme', + if (strength != null) 'strength: $strength', + if (brightness != null) 'brightness: $brightness', + if (saturation != null) 'saturation: $saturation', + if (hueRange != null) 'hueRange: $hueRange', + if (hueBase != null) 'hueBase: $hueBase', + if (staticColors != null) 'staticColors: $staticColors', + if (strokeOpacityFactor != null) + 'strokeOpacityFactor: $strokeOpacityFactor', + if (innerOpacityFactor != null) 'innerOpacityFactor: $innerOpacityFactor', + if (bloomOpacityFactor != null) 'bloomOpacityFactor: $bloomOpacityFactor', + if (glowBoost != null) 'glowBoost: $glowBoost', + if (coreBlur != null) 'coreBlur: $coreBlur', + if (bloomBlur != null) 'bloomBlur: $bloomBlur', + if (glowBrightness != null) 'glowBrightness: $glowBrightness', + if (glowSaturation != null) 'glowSaturation: $glowSaturation', + if (themeConfig != null) 'themeConfig: $themeConfig', + ]; + return 'BeamStyle(${fields.join(', ')})'; + } +} diff --git a/lib/src/models/beam_theme_config.dart b/lib/src/models/beam_theme_config.dart index 2a177d4..19833fa 100644 --- a/lib/src/models/beam_theme_config.dart +++ b/lib/src/models/beam_theme_config.dart @@ -1,9 +1,26 @@ import 'dart:ui'; +import '../constants/theme_presets.dart'; +import 'beam_variant.dart'; + /// Theme-and-variant-tuned layer opacities and filter multipliers. /// /// Direct port of the React library's `ThemeColors` entries in -/// `sizeThemePresets`: each beam variant has one config per brightness. +/// `sizeThemePresets`: each beam variant has one config per brightness. Reach +/// for [presetFor] to start from a built-in preset, [copyWith] the one field +/// you want moved, and hand the result to `BeamStyle.themeConfig`. +/// +/// ```dart +/// BorderBeam.rotate( +/// style: BeamStyle( +/// themeConfig: BeamThemeConfig.presetFor( +/// BeamVariant.rotate, +/// Brightness.dark, +/// ).copyWith(bloomOpacity: 0.4), +/// ), +/// child: card, +/// ) +/// ``` class BeamThemeConfig { /// Creates a theme config. const BeamThemeConfig({ @@ -16,6 +33,12 @@ class BeamThemeConfig { this.hairlineOpacity, }); + /// The built-in preset for [variant] at [brightness]. + static BeamThemeConfig presetFor( + BeamVariant variant, + Brightness brightness, + ) => themePresetFor(variant, brightness); + /// Opacity of the stroke ring layer. May exceed 1 (intentional overdrive /// in the source, e.g. line/dark = 1.14); the painted product is clamped. final double strokeOpacity; @@ -39,4 +62,54 @@ class BeamThemeConfig { /// Opacity of the static 1px hairline (pulse-outside only; preset 0 so the /// wrapped child's own border provides the idle edge). final double? hairlineOpacity; + + /// Returns a copy with the given fields replaced. A null argument keeps the + /// current value. + BeamThemeConfig copyWith({ + double? strokeOpacity, + double? innerOpacity, + double? bloomOpacity, + Color? innerShadow, + double? saturation, + double? brightness, + double? hairlineOpacity, + }) => BeamThemeConfig( + strokeOpacity: strokeOpacity ?? this.strokeOpacity, + innerOpacity: innerOpacity ?? this.innerOpacity, + bloomOpacity: bloomOpacity ?? this.bloomOpacity, + innerShadow: innerShadow ?? this.innerShadow, + saturation: saturation ?? this.saturation, + brightness: brightness ?? this.brightness, + hairlineOpacity: hairlineOpacity ?? this.hairlineOpacity, + ); + + @override + bool operator ==(Object other) => + identical(this, other) || + other is BeamThemeConfig && + other.strokeOpacity == strokeOpacity && + other.innerOpacity == innerOpacity && + other.bloomOpacity == bloomOpacity && + other.innerShadow == innerShadow && + other.saturation == saturation && + other.brightness == brightness && + other.hairlineOpacity == hairlineOpacity; + + @override + int get hashCode => Object.hash( + strokeOpacity, + innerOpacity, + bloomOpacity, + innerShadow, + saturation, + brightness, + hairlineOpacity, + ); + + @override + String toString() => + 'BeamThemeConfig(strokeOpacity: $strokeOpacity, ' + 'innerOpacity: $innerOpacity, bloomOpacity: $bloomOpacity, ' + 'innerShadow: $innerShadow, saturation: $saturation, ' + 'brightness: $brightness, hairlineOpacity: $hairlineOpacity)'; } diff --git a/lib/src/models/beam_timing.dart b/lib/src/models/beam_timing.dart new file mode 100644 index 0000000..fd24b29 --- /dev/null +++ b/lib/src/models/beam_timing.dart @@ -0,0 +1,161 @@ +import 'package:flutter/foundation.dart'; + +/// How fast a beam moves: cycle length, the rest between sweeps, playback +/// rate, and the periods of the tracks that do not ride the cycle. +/// +/// Every field is nullable and means *inherit*. A field is resolved in this +/// order: the value set on the widget, then the nearest `BorderBeamTheme`, +/// then the variant's preset. +/// +/// ```dart +/// BorderBeam.rotate( +/// timing: const BeamTiming( +/// cycle: Duration(seconds: 3), +/// cycleGap: Duration(seconds: 1), +/// ), +/// child: card, +/// ) +/// ``` +@immutable +class BeamTiming { + /// Creates a timing. Every omitted field is inherited. + const BeamTiming({ + this.cycle, + this.cycleGap, + this.speed, + this.huePeriod, + this.bloomHuePeriod, + this.breatheFactor, + this.spikeFactor, + this.spike2Factor, + }); + + /// Length of one animation cycle. Defaults to the variant preset: 1.96s for + /// rotate and small, 3.1s for line, 2.3s for the pulse variants. + /// + /// Changing it while the beam runs retimes the animation in place: every + /// track keeps the phase it was at, so the beam speeds up or slows down + /// without a jump. + final Duration? cycle; + + /// Rest between sweeps: after each cycle the beam parks at the end of its + /// travel and fades away for this long before the next sweep starts. + /// Default [Duration.zero] — one sweep runs straight into the next. + /// + /// The fade at each end of the gap takes `min(0.25s, gap / 2)`. Hue, + /// breathe, and spike tracks are textures rather than the sweep, so they + /// keep running through the gap. + /// + /// The pulse variants ignore it: their breathing has no cycle boundary to + /// rest at. Changing it needs no retime — the sweep keeps its position and + /// the gap simply appears at the next cycle end. + final Duration? cycleGap; + + /// Playback rate multiplier; must be positive. Default 1. + /// + /// Ignored while a `BorderBeamController` is attached — the controller's + /// own `speed` owns the rate then. + final double? speed; + + /// One full period of the hue track. + /// + /// Defaults to 12s for rotate, small, and line (a ping-pong across + /// ±`hueRange`), and to the pulse presets' own periods — 16s for + /// pulse-inside, 14s for pulse-outside (a continuous revolution). Setting + /// it overrides the period for every variant. + final Duration? huePeriod; + + /// Period of the line variant's separate bloom hue track, a ping-pong + /// across ±(`hueRange` + 10)°. Default 8s. + final Duration? bloomHuePeriod; + + /// The line beam's height-breathe period, as a multiple of [cycle]. + /// Default 1.3. + final double? breatheFactor; + + /// The line beam's first spike-scale period, as a multiple of [cycle]. + /// Default 1.33. + final double? spikeFactor; + + /// The line beam's second spike-scale period, as a multiple of [cycle]. + /// Default 1.7. + final double? spike2Factor; + + /// Returns a copy with the given fields replaced. A null argument keeps the + /// current value; build a new [BeamTiming] to clear a field back to + /// inherit. + BeamTiming copyWith({ + Duration? cycle, + Duration? cycleGap, + double? speed, + Duration? huePeriod, + Duration? bloomHuePeriod, + double? breatheFactor, + double? spikeFactor, + double? spike2Factor, + }) => BeamTiming( + cycle: cycle ?? this.cycle, + cycleGap: cycleGap ?? this.cycleGap, + speed: speed ?? this.speed, + huePeriod: huePeriod ?? this.huePeriod, + bloomHuePeriod: bloomHuePeriod ?? this.bloomHuePeriod, + breatheFactor: breatheFactor ?? this.breatheFactor, + spikeFactor: spikeFactor ?? this.spikeFactor, + spike2Factor: spike2Factor ?? this.spike2Factor, + ); + + /// Layers [other] over this timing: every non-null field of [other] wins, + /// every null one inherits from this timing. + BeamTiming merge(BeamTiming? other) => other == null + ? this + : copyWith( + cycle: other.cycle, + cycleGap: other.cycleGap, + speed: other.speed, + huePeriod: other.huePeriod, + bloomHuePeriod: other.bloomHuePeriod, + breatheFactor: other.breatheFactor, + spikeFactor: other.spikeFactor, + spike2Factor: other.spike2Factor, + ); + + @override + bool operator ==(Object other) => + identical(this, other) || + other is BeamTiming && + other.cycle == cycle && + other.cycleGap == cycleGap && + other.speed == speed && + other.huePeriod == huePeriod && + other.bloomHuePeriod == bloomHuePeriod && + other.breatheFactor == breatheFactor && + other.spikeFactor == spikeFactor && + other.spike2Factor == spike2Factor; + + @override + int get hashCode => Object.hash( + cycle, + cycleGap, + speed, + huePeriod, + bloomHuePeriod, + breatheFactor, + spikeFactor, + spike2Factor, + ); + + @override + String toString() { + final fields = [ + if (cycle != null) 'cycle: $cycle', + if (cycleGap != null) 'cycleGap: $cycleGap', + if (speed != null) 'speed: $speed', + if (huePeriod != null) 'huePeriod: $huePeriod', + if (bloomHuePeriod != null) 'bloomHuePeriod: $bloomHuePeriod', + if (breatheFactor != null) 'breatheFactor: $breatheFactor', + if (spikeFactor != null) 'spikeFactor: $spikeFactor', + if (spike2Factor != null) 'spike2Factor: $spike2Factor', + ]; + return 'BeamTiming(${fields.join(', ')})'; + } +} diff --git a/lib/src/painting/ring_geometry.dart b/lib/src/painting/ring_geometry.dart index cc080ea..5eae5a2 100644 --- a/lib/src/painting/ring_geometry.dart +++ b/lib/src/painting/ring_geometry.dart @@ -1,13 +1,15 @@ import 'dart:math' as math; -import 'dart:ui'; + +import 'package:flutter/painting.dart'; /// Path builders for the beam's shape: rounded rect or rounded superellipse, /// plus the "ring" region every stroke layer is clipped to. /// /// The React library paints stroke layers into a CSS mask ring — /// padding-box minus content-box. Here that is the [ring] path: the outer -/// contour (corner radius `R` over the full rect) minus the inner contour -/// (radius `R − borderWidth` over the rect deflated by `borderWidth`). +/// contour (the shape's corner radii over the full rect) minus the inner +/// contour (each radius shrunk by `borderWidth`, over the rect deflated by +/// `borderWidth`). class BeamRingGeometry { /// Creates geometry for [rect] with the given corner [radius], /// [borderWidth], and shape family. @@ -21,8 +23,8 @@ class BeamRingGeometry { /// The layer bounds. final Rect rect; - /// Outer corner radius in logical px. - final double radius; + /// Outer corner radii in logical px, per corner. + final BorderRadius radius; /// Ring thickness in logical px. final double borderWidth; @@ -34,14 +36,14 @@ class BeamRingGeometry { /// Outer contour of the shape. late final Path outer = _shapePath(rect, radius); - /// Inner contour (the content box: deflated by [borderWidth], radius - /// reduced accordingly). + /// Inner contour (the content box: deflated by [borderWidth], every corner + /// radius reduced by the same amount). /// /// A box thinner than twice the border width has no content box left, and /// the contour is empty — the ring is then the whole shape. late final Path inner = _shapePath( rect.deflate(borderWidth), - radius - borderWidth, + _deflateRadius(radius, borderWidth), ); /// The border ring: [outer] minus [inner]. @@ -49,27 +51,91 @@ class BeamRingGeometry { ? Path() : Path.combine(PathOperation.difference, outer, inner); - Path _shapePath(Rect r, double cornerRadius) { + Path _shapePath(Rect r, BorderRadius cornerRadii) { // A rect with no area (or an inverted one, from deflating past the // center) has no contour to describe. if (r.isEmpty) return Path(); - final clamped = _clampRadius(r, cornerRadius); + final c = _scaleRadii(r, cornerRadii); if (useSuperellipse) { return Path()..addRSuperellipse( - RSuperellipse.fromRectAndRadius(r, Radius.circular(clamped)), + RSuperellipse.fromRectAndCorners( + r, + topLeft: c.topLeft, + topRight: c.topRight, + bottomLeft: c.bottomLeft, + bottomRight: c.bottomRight, + ), ); } - return Path() - ..addRRect(RRect.fromRectAndRadius(r, Radius.circular(clamped))); + return Path()..addRRect( + RRect.fromRectAndCorners( + r, + topLeft: c.topLeft, + topRight: c.topRight, + bottomLeft: c.bottomLeft, + bottomRight: c.bottomRight, + ), + ); } /// A standalone contour for an arbitrary rect/radius in the same shape /// family (used by pulse-outside's outward layers). - Path contour(Rect r, double cornerRadius) => _shapePath(r, cornerRadius); + Path contour(Rect r, BorderRadius cornerRadii) => _shapePath(r, cornerRadii); + + // Shrinks every corner by [amount], flooring each axis at zero — the + // content box's corners are the padding box's minus the border width. + static BorderRadius _deflateRadius(BorderRadius radii, double amount) => + BorderRadius.only( + topLeft: _shrink(radii.topLeft, amount), + topRight: _shrink(radii.topRight, amount), + bottomLeft: _shrink(radii.bottomLeft, amount), + bottomRight: _shrink(radii.bottomRight, amount), + ); + + static Radius _shrink(Radius r, double amount) => + Radius.elliptical(math.max(0, r.x - amount), math.max(0, r.y - amount)); + + // The clamp `RRect.scaleRadii` applies: if the two radii on any side add up + // to more than that side, all four shrink by the smallest offending ratio — + // so the corners keep their relative proportions instead of being clipped + // one at a time. + static BorderRadius _scaleRadii(Rect r, BorderRadius radii) { + final half = r.shortestSide / 2; + var tl = _normalize(radii.topLeft, half); + var tr = _normalize(radii.topRight, half); + var bl = _normalize(radii.bottomLeft, half); + var br = _normalize(radii.bottomRight, half); + + var scale = 1.0; + scale = _limit(scale, r.width, tl.x + tr.x); + scale = _limit(scale, r.height, tr.y + br.y); + scale = _limit(scale, r.width, bl.x + br.x); + scale = _limit(scale, r.height, tl.y + bl.y); + if (scale < 1) { + tl = tl * scale; + tr = tr * scale; + bl = bl * scale; + br = br * scale; + } + return BorderRadius.only( + topLeft: tl, + topRight: tr, + bottomLeft: bl, + bottomRight: br, + ); + } + + // Radii are floored at zero; an infinite one (BeamShape.stadium) becomes + // half the shortest side, the largest a corner can hold, which is what + // makes a pill track the box as it resizes. + static Radius _normalize(Radius r, double half) => + Radius.elliptical(_finite(r.x, half), _finite(r.y, half)); + + static double _finite(double value, double fallback) { + final floored = math.max(0.0, value); + return floored.isFinite ? floored : fallback; + } - // Corner radii are clamped to half the shortest side (a larger one has no - // room to draw) and never go below zero, which every rounded-rect - // constructor rejects. - static double _clampRadius(Rect r, double radius) => - math.max(0, math.min(radius, math.min(r.width, r.height) / 2)); + static double _limit(double scale, double side, double sum) => + sum <= 0 ? scale : math.min(scale, side / sum); } diff --git a/test/animation/beam_phases_test.dart b/test/animation/beam_phases_test.dart index 8e4b7fd..4f2ec2c 100644 --- a/test/animation/beam_phases_test.dart +++ b/test/animation/beam_phases_test.dart @@ -5,6 +5,8 @@ import 'package:flutter_border_beam/src/animation/beam_phases.dart'; import 'package:flutter_border_beam/src/constants/line_keyframes.dart'; import 'package:flutter_border_beam/src/models/beam_colors.dart'; import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_border_beam/src/models/beam_style.dart'; +import 'package:flutter_border_beam/src/models/beam_timing.dart'; import 'package:flutter_border_beam/src/models/beam_variant.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -17,9 +19,8 @@ BeamConfig _config( variant: v, palette: BeamColors.colorful.resolve(), brightness: Brightness.dark, - staticColors: staticColors, - hueRange: hueRange, - cycleDuration: cycleDuration, + style: BeamStyle(staticColors: staticColors, hueRange: hueRange), + timing: BeamTiming(cycle: cycleDuration), ); // The retime a widget performs when its cycle duration changes mid-run: @@ -223,10 +224,10 @@ void main() { variant: BeamVariant.small, palette: BeamColors.colorful.resolve(), brightness: Brightness.dark, - strength: 1.7, + style: const BeamStyle(strength: 1.7), ); expect(c.strength, 1); - expect(c.borderRadius, 32); + expect(c.borderRadius.topLeft.x, 32); expect(c.cycleSeconds, closeTo(1.96, 1e-9)); expect(c.brightnessFactor, 1.3); expect(c.saturation, 1.2); diff --git a/test/golden/beam_golden_test.dart b/test/golden/beam_golden_test.dart index ae33931..6e0ae4c 100644 --- a/test/golden/beam_golden_test.dart +++ b/test/golden/beam_golden_test.dart @@ -94,7 +94,7 @@ void main() { brightness: brightness, (b) => BorderBeam.rotate( colors: colors, - theme: beamTheme, + style: BeamStyle(theme: beamTheme), child: mockSurface(b), ), ); @@ -109,7 +109,7 @@ void main() { height: 36, (b) => BorderBeam.small( colors: colors, - theme: beamTheme, + style: BeamStyle(theme: beamTheme), child: mockSurface(b, radius: 32), ), ); @@ -122,7 +122,7 @@ void main() { brightness: brightness, (b) => BorderBeam.line( colors: colors, - theme: beamTheme, + style: BeamStyle(theme: beamTheme), child: mockSurface(b), ), ); @@ -135,7 +135,7 @@ void main() { brightness: brightness, (b) => BorderBeam.pulseInside( colors: colors, - theme: beamTheme, + style: BeamStyle(theme: beamTheme), child: mockSurface(b), ), ); @@ -148,7 +148,7 @@ void main() { brightness: brightness, (b) => BorderBeam.pulseOutside( colors: colors, - theme: beamTheme, + style: BeamStyle(theme: beamTheme), child: mockSurface(b), ), ); @@ -167,7 +167,10 @@ void main() { 'rotate_${theme}_colorful_late', brightness: brightness, freeze: const Duration(milliseconds: 2300), - (b) => BorderBeam.rotate(theme: beamTheme, child: mockSurface(b)), + (b) => BorderBeam.rotate( + style: BeamStyle(theme: beamTheme), + child: mockSurface(b), + ), ); }); @@ -177,7 +180,10 @@ void main() { 'line_${theme}_colorful_late', brightness: brightness, freeze: const Duration(milliseconds: 2000), - (b) => BorderBeam.line(theme: beamTheme, child: mockSurface(b)), + (b) => BorderBeam.line( + style: BeamStyle(theme: beamTheme), + child: mockSurface(b), + ), ); }); @@ -188,8 +194,8 @@ void main() { brightness: brightness, (b) => BorderBeam.rotate( colors: BeamColors.ocean, - theme: beamTheme, - useSuperellipse: true, + style: BeamStyle(theme: beamTheme), + shape: const BeamShape(superellipse: true), borderRadius: 28, child: mockSurface(b, radius: 28), ), @@ -208,7 +214,7 @@ void main() { Color(0xFF00E5FF), Color(0xFFFFC400), ]), - theme: BeamTheme.dark, + style: const BeamStyle(theme: BeamTheme.dark), child: mockSurface(b), ), ); diff --git a/test/models/value_objects_test.dart b/test/models/value_objects_test.dart new file mode 100644 index 0000000..96a7ad1 --- /dev/null +++ b/test/models/value_objects_test.dart @@ -0,0 +1,216 @@ +import 'dart:ui' show Brightness; + +import 'package:flutter/painting.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// The four beam value objects and the theme data share one contract: every +/// field is nullable and means *inherit*, `merge` layers the argument over +/// the receiver, `copyWith` keeps what it is not given, and equality is by +/// value so a rebuilt-inline object never re-resolves a config. +void main() { + group('BeamStyle', () { + test('merge lets the argument win field by field', () { + const base = BeamStyle( + colors: BeamColors.ocean, + strength: 0.5, + hueBase: 10, + ); + const over = BeamStyle(colors: BeamColors.sunset, glowBoost: 2); + final merged = base.merge(over); + expect(merged.colors, BeamColors.sunset, reason: 'argument wins'); + expect(merged.strength, 0.5, reason: 'null inherits'); + expect(merged.hueBase, 10); + expect(merged.glowBoost, 2); + }); + + test('merge(null) returns the receiver unchanged', () { + const base = BeamStyle(strength: 0.25); + expect(base.merge(null), base); + }); + + test('copyWith keeps unnamed fields', () { + const base = BeamStyle(colors: BeamColors.mono, saturation: 2); + final copy = base.copyWith(saturation: 3); + expect(copy.colors, BeamColors.mono); + expect(copy.saturation, 3); + }); + + test('equality and hashCode are by value', () { + const a = BeamStyle(colors: BeamColors.ocean, strength: 0.4); + const b = BeamStyle(colors: BeamColors.ocean, strength: 0.4); + expect(a, b); + expect(a.hashCode, b.hashCode); + expect(a, isNot(const BeamStyle(colors: BeamColors.ocean))); + }); + + test('themeConfig is part of the value', () { + final preset = BeamThemeConfig.presetFor( + BeamVariant.rotate, + Brightness.dark, + ); + expect( + BeamStyle(themeConfig: preset), + BeamStyle(themeConfig: preset.copyWith()), + ); + expect( + BeamStyle(themeConfig: preset), + isNot(BeamStyle(themeConfig: preset.copyWith(bloomOpacity: 0.1))), + ); + }); + }); + + group('BeamShape', () { + test('circular fills all four corners', () { + final shape = BeamShape.circular(12, superellipse: true); + expect(shape.radius, BorderRadius.circular(12)); + expect(shape.superellipse, isTrue); + expect(shape.borderWidth, isNull); + }); + + test('stadium is an infinite radius the geometry clamps', () { + const shape = BeamShape.stadium(); + expect( + shape.radius, + const BorderRadius.all(Radius.circular(double.infinity)), + ); + }); + + test('merge and copyWith follow the inherit contract', () { + const base = BeamShape(borderWidth: 2); + final merged = base.merge( + const BeamShape(radius: BorderRadius.zero, superellipse: true), + ); + expect(merged.borderWidth, 2); + expect(merged.radius, BorderRadius.zero); + expect(merged.superellipse, isTrue); + expect(base.copyWith(superellipse: false).borderWidth, 2); + }); + + test('equality is by value', () { + expect( + const BeamShape(radius: BorderRadius.zero, borderWidth: 1), + const BeamShape(radius: BorderRadius.zero, borderWidth: 1), + ); + expect( + const BeamShape(radius: BorderRadius.zero, borderWidth: 1).hashCode, + const BeamShape(radius: BorderRadius.zero, borderWidth: 1).hashCode, + ); + expect(BeamShape.circular(4), isNot(BeamShape.circular(5))); + }); + }); + + group('BeamTiming', () { + test('merge lets the argument win field by field', () { + const base = BeamTiming(cycle: Duration(seconds: 2), speed: 2); + const over = BeamTiming(cycleGap: Duration(seconds: 1)); + final merged = base.merge(over); + expect(merged.cycle, const Duration(seconds: 2)); + expect(merged.speed, 2); + expect(merged.cycleGap, const Duration(seconds: 1)); + expect(merged.huePeriod, isNull); + }); + + test('copyWith keeps unnamed fields', () { + const base = BeamTiming(breatheFactor: 1.5, spikeFactor: 2); + final copy = base.copyWith(spikeFactor: 3); + expect(copy.breatheFactor, 1.5); + expect(copy.spikeFactor, 3); + }); + + test('equality is by value', () { + expect( + const BeamTiming(cycle: Duration(seconds: 1)), + const BeamTiming(cycle: Duration(seconds: 1)), + ); + expect( + const BeamTiming(cycle: Duration(seconds: 1)).hashCode, + const BeamTiming(cycle: Duration(seconds: 1)).hashCode, + ); + expect( + const BeamTiming(cycle: Duration(seconds: 1)), + isNot(const BeamTiming(cycle: Duration(seconds: 2))), + ); + }); + }); + + group('BeamPlayback', () { + test('merge lets the argument win field by field', () { + const base = BeamPlayback(active: false, autoPlay: false); + const over = BeamPlayback(active: true, duration: Duration(seconds: 3)); + final merged = base.merge(over); + expect(merged.active, isTrue); + expect(merged.autoPlay, isFalse); + expect(merged.duration, const Duration(seconds: 3)); + expect(merged.startAfter, isNull); + }); + + test('copyWith keeps unnamed fields', () { + const base = BeamPlayback(active: false, respectReducedMotion: false); + expect(base.copyWith(active: true).respectReducedMotion, isFalse); + }); + + test('equality is by value', () { + expect( + const BeamPlayback(active: false), + const BeamPlayback(active: false), + ); + expect( + const BeamPlayback(active: false).hashCode, + const BeamPlayback(active: false).hashCode, + ); + expect( + const BeamPlayback(active: false), + isNot(const BeamPlayback(active: true)), + ); + }); + }); + + group('BorderBeamThemeData', () { + test('merge composes each slot field by field', () { + const outer = BorderBeamThemeData( + style: BeamStyle(colors: BeamColors.ocean, strength: 0.5), + timing: BeamTiming(cycle: Duration(seconds: 4)), + ); + const inner = BorderBeamThemeData( + style: BeamStyle(strength: 0.9), + shape: BeamShape(superellipse: true), + ); + final merged = outer.merge(inner); + expect(merged.style?.colors, BeamColors.ocean, reason: 'outer survives'); + expect(merged.style?.strength, 0.9, reason: 'inner wins'); + expect(merged.shape?.superellipse, isTrue); + expect(merged.timing?.cycle, const Duration(seconds: 4)); + expect(merged.playback, isNull); + }); + + test('merge takes the argument slot when the receiver has none', () { + const inner = BorderBeamThemeData(playback: BeamPlayback(active: false)); + expect( + const BorderBeamThemeData().merge(inner).playback, + const BeamPlayback(active: false), + ); + }); + + test('merge(null) returns the receiver unchanged', () { + const data = BorderBeamThemeData(shape: BeamShape(borderWidth: 3)); + expect(data.merge(null), data); + }); + + test('copyWith and equality are by value', () { + const data = BorderBeamThemeData(style: BeamStyle(hueBase: 5)); + expect( + data.copyWith(shape: const BeamShape(borderWidth: 2)), + const BorderBeamThemeData( + style: BeamStyle(hueBase: 5), + shape: BeamShape(borderWidth: 2), + ), + ); + expect( + data.hashCode, + const BorderBeamThemeData(style: BeamStyle(hueBase: 5)).hashCode, + ); + expect(data, isNot(const BorderBeamThemeData())); + }); + }); +} diff --git a/test/painting/boundary_test.dart b/test/painting/boundary_test.dart index 6f71813..dee5333 100644 --- a/test/painting/boundary_test.dart +++ b/test/painting/boundary_test.dart @@ -30,12 +30,16 @@ void main() { variant: variant, palette: BeamColors.colorful.resolve(), brightness: brightness, - borderRadius: borderRadius, - borderWidth: borderWidth, - strength: strength, - hueRange: hueRange, - staticColors: staticColors, - cycleDuration: cycleDuration, + style: BeamStyle( + strength: strength, + hueRange: hueRange, + staticColors: staticColors, + ), + shape: BeamShape( + radius: borderRadius == null ? null : BorderRadius.circular(borderRadius), + borderWidth: borderWidth, + ), + timing: BeamTiming(cycle: cycleDuration), ); /// Runs both passes across the samples, letting any exception escape. diff --git a/test/painting/color_matrix_test.dart b/test/painting/color_matrix_test.dart index fa97920..a80536d 100644 --- a/test/painting/color_matrix_test.dart +++ b/test/painting/color_matrix_test.dart @@ -1,5 +1,4 @@ -import 'dart:ui'; - +import 'package:flutter/painting.dart'; import 'package:flutter_border_beam/src/painting/color_matrix.dart'; import 'package:flutter_border_beam/src/painting/ring_geometry.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -88,7 +87,7 @@ void main() { test('ring excludes the content box for rounded rects', () { final g = BeamRingGeometry( rect: const Rect.fromLTWH(0, 0, 100, 60), - radius: 16, + radius: BorderRadius.circular(16), borderWidth: 1, useSuperellipse: false, ); @@ -104,7 +103,7 @@ void main() { test('superellipse ring behaves the same', () { final g = BeamRingGeometry( rect: const Rect.fromLTWH(0, 0, 100, 60), - radius: 16, + radius: BorderRadius.circular(16), borderWidth: 1, useSuperellipse: true, ); @@ -121,7 +120,7 @@ void main() { for (final superellipse in [false, true]) { final g = BeamRingGeometry( rect: const Rect.fromLTWH(0, 0, 1, 1), - radius: 16, + radius: BorderRadius.circular(16), borderWidth: 1, useSuperellipse: superellipse, ); @@ -140,26 +139,103 @@ void main() { ]) { final g = BeamRingGeometry( rect: rect, - radius: 16, + radius: BorderRadius.circular(16), borderWidth: 1, useSuperellipse: false, ); expect(g.outer.getBounds().isEmpty, isTrue); expect(g.inner.getBounds().isEmpty, isTrue); expect(g.ring.getBounds().isEmpty, isTrue); - expect(g.contour(rect, 16).getBounds().isEmpty, isTrue); + expect( + g.contour(rect, BorderRadius.circular(16)).getBounds().isEmpty, + isTrue, + ); } }); test('radius clamps to half the shortest side', () { final g = BeamRingGeometry( rect: const Rect.fromLTWH(0, 0, 40, 10), - radius: 32, + radius: BorderRadius.circular(32), borderWidth: 1, useSuperellipse: false, ); // Must not throw and must produce a valid ring. expect(g.ring.getBounds().isEmpty, isFalse); }); + + test('per-corner radii round only the corners they name', () { + final g = BeamRingGeometry( + rect: const Rect.fromLTWH(0, 0, 100, 60), + radius: const BorderRadius.only(topLeft: Radius.circular(20)), + borderWidth: 1, + useSuperellipse: false, + ); + // The rounded corner cuts its own square corner away… + expect(g.outer.contains(const Offset(1, 1)), isFalse); + // …while the other three stay right angles. + expect(g.outer.contains(const Offset(99, 1)), isTrue); + expect(g.outer.contains(const Offset(1, 59)), isTrue); + expect(g.outer.contains(const Offset(99, 59)), isTrue); + }); + + test('adjacent radii that overflow a side scale down together', () { + // 40 + 40 across a 60px-wide box: both top corners scale by 60/80. + final g = BeamRingGeometry( + rect: const Rect.fromLTWH(0, 0, 60, 200), + radius: const BorderRadius.vertical(top: Radius.circular(40)), + borderWidth: 1, + useSuperellipse: false, + ); + // At the scaled radius (30) the top edge is straight from x=30 on… + expect(g.outer.contains(const Offset(30, 0.5)), isTrue); + // …the corner is still cut away… + expect(g.outer.contains(const Offset(1, 1)), isFalse); + // …and the bottom corners were never rounded. + expect(g.outer.contains(const Offset(1, 199)), isTrue); + }); + + test('a stadium radius rounds to half the shortest side', () { + const rect = Rect.fromLTWH(0, 0, 120, 40); + final stadium = BeamRingGeometry( + rect: rect, + radius: const BorderRadius.all(Radius.circular(double.infinity)), + borderWidth: 1, + useSuperellipse: false, + ); + final pill = BeamRingGeometry( + rect: rect, + radius: BorderRadius.circular(20), + borderWidth: 1, + useSuperellipse: false, + ); + // The same shape as an explicit half-shortest-side radius. + expect(stadium.outer.getBounds(), pill.outer.getBounds()); + for (final probe in const [ + Offset(2, 2), + Offset(20, 0.5), + Offset(60, 0.5), + Offset(118, 38), + ]) { + expect( + stadium.outer.contains(probe), + pill.outer.contains(probe), + reason: 'probe $probe', + ); + } + }); + + test('a stadium square rounds to a circle', () { + final g = BeamRingGeometry( + rect: const Rect.fromLTWH(0, 0, 40, 40), + radius: const BorderRadius.all(Radius.circular(double.infinity)), + borderWidth: 1, + useSuperellipse: false, + ); + // Inside the inscribed circle, outside the square's corners. + expect(g.outer.contains(const Offset(20, 1)), isTrue); + expect(g.outer.contains(const Offset(2, 2)), isFalse); + expect(g.outer.contains(const Offset(38, 38)), isFalse); + }); }); } diff --git a/test/painting/paint_smoke_test.dart b/test/painting/paint_smoke_test.dart index 0c0ef79..ff75d52 100644 --- a/test/painting/paint_smoke_test.dart +++ b/test/painting/paint_smoke_test.dart @@ -3,6 +3,7 @@ import 'dart:ui' as ui; import 'package:flutter_border_beam/src/animation/beam_phases.dart'; import 'package:flutter_border_beam/src/models/beam_colors.dart'; import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_border_beam/src/models/beam_shape.dart'; import 'package:flutter_border_beam/src/models/beam_variant.dart'; import 'package:flutter_border_beam/src/painting/beam_painter.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -31,7 +32,7 @@ void main() { variant: variant, palette: colors.resolve(), brightness: brightness, - useSuperellipse: superellipse, + shape: BeamShape(superellipse: superellipse), ); final resolver = BeamPhaseResolver(config); final strategy = strategyFor(variant); diff --git a/test/widget/border_beam_cycle_gap_test.dart b/test/widget/border_beam_cycle_gap_test.dart new file mode 100644 index 0000000..283daac --- /dev/null +++ b/test/widget/border_beam_cycle_gap_test.dart @@ -0,0 +1,107 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/animation/beam_phases.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_test/flutter_test.dart'; + +Widget _host(Widget child) => MaterialApp( + theme: ThemeData(brightness: Brightness.dark), + home: Scaffold( + body: Center(child: SizedBox(width: 350, height: 140, child: child)), + ), +); + +BeamPhaseResolver _resolver(WidgetTester tester) => tester + .widgetList( + find.descendant( + of: find.byType(BorderBeam), + matching: find.byType(CustomPaint), + ), + ) + .expand((paint) => [paint.painter, paint.foregroundPainter]) + .whereType() + .first + .resolver; + +/// `BeamTiming.cycleGap` rests the traveling beam between sweeps: the sweep +/// still takes `cycle`, then the beam parks at the end of its travel and its +/// fade envelope eases to zero for the rest of the gap. Phases are sampled +/// directly off the mounted beam's resolver so the instants are exact. +void main() { + const timing = BeamTiming( + cycle: Duration(seconds: 1), + cycleGap: Duration(seconds: 1), + ); + + testWidgets('rotate fades out through the gap and back in on the next ' + 'sweep', (tester) async { + await tester.pumpWidget( + _host(const BorderBeam.rotate(timing: timing, child: SizedBox.expand())), + ); + final resolver = _resolver(tester); + expect(resolver.config.gapSeconds, closeTo(1, 1e-9)); + + expect(resolver.sample(0.5, 1).fadeOpacity, 1, reason: 'mid sweep'); + expect(resolver.sample(1.5, 1).fadeOpacity, 0, reason: 'mid rest'); + expect(resolver.sample(2.5, 1).fadeOpacity, 1, reason: 'next sweep'); + }); + + testWidgets('rotate parks its angle at the end of the sweep', (tester) async { + await tester.pumpWidget( + _host(const BorderBeam.rotate(timing: timing, child: SizedBox.expand())), + ); + final resolver = _resolver(tester); + // Progress is pinned to 1.0 for the whole rest, so the beam holds where + // its sweep ended rather than drifting on. + expect(resolver.sample(1.2, 1).angleRadians, closeTo(2 * 3.14159265, 1e-5)); + expect(resolver.sample(1.9, 1).angleRadians, closeTo(2 * 3.14159265, 1e-5)); + }); + + testWidgets('the gap eases in and out rather than cutting', (tester) async { + await tester.pumpWidget( + _host(const BorderBeam.rotate(timing: timing, child: SizedBox.expand())), + ); + final resolver = _resolver(tester); + // gapFade = min(0.25, gap / 2) = 0.25s at each end of the rest. + final entering = resolver.sample(1.125, 1).fadeOpacity; + final leaving = resolver.sample(1.875, 1).fadeOpacity; + expect(entering, greaterThan(0)); + expect(entering, lessThan(1)); + expect(leaving, closeTo(entering, 1e-9)); + expect(resolver.sample(1.0, 1).fadeOpacity, closeTo(1, 1e-9)); + expect(resolver.sample(2.0, 1).fadeOpacity, closeTo(1, 1e-9)); + }); + + testWidgets('line parks invisible at the end of its travel', (tester) async { + await tester.pumpWidget( + _host(const BorderBeam.line(timing: timing, child: SizedBox.expand())), + ); + final resolver = _resolver(tester); + for (final t in [1.2, 1.5, 1.9]) { + final phases = resolver.sample(t, 1); + expect(phases.lineX, closeTo(0.94, 1e-9), reason: 'parked at t=$t'); + expect(phases.edge, 0, reason: 'edge fade is already 0 at t=$t'); + } + }); + + testWidgets('a zero gap leaves the sweep untouched', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeam.rotate( + timing: BeamTiming(cycle: Duration(seconds: 1)), + child: SizedBox.expand(), + ), + ), + ); + final resolver = _resolver(tester); + expect(resolver.config.gapSeconds, 0); + for (final t in [0.0, 0.25, 0.5, 0.99, 1.5, 7.3]) { + expect(resolver.sample(t, 1).fadeOpacity, 1, reason: 't=$t'); + expect( + resolver.sample(t, 1).angleRadians, + closeTo((t % 1.0) * 2 * 3.14159265358979, 1e-9), + reason: 't=$t', + ); + } + }); +} diff --git a/test/widget/border_beam_test.dart b/test/widget/border_beam_test.dart index ced1441..b7a99de 100644 --- a/test/widget/border_beam_test.dart +++ b/test/widget/border_beam_test.dart @@ -74,7 +74,7 @@ void main() { await tester.pumpWidget( _host( BorderBeam.rotate( - startAfter: const Duration(seconds: 2), + playback: const BeamPlayback(startAfter: Duration(seconds: 2)), onActivate: () => activated++, child: const SizedBox.expand(), ), @@ -94,7 +94,7 @@ void main() { await tester.pumpWidget( _host( BorderBeam.rotate( - duration: const Duration(seconds: 2), + playback: const BeamPlayback(duration: Duration(seconds: 2)), onDeactivate: () => deactivated++, child: const SizedBox.expand(), ), @@ -113,7 +113,10 @@ void main() { testWidgets('autoPlay: false never starts by itself', (tester) async { await tester.pumpWidget( _host( - const BorderBeam.pulseInside(autoPlay: false, child: SizedBox.expand()), + const BorderBeam.pulseInside( + playback: BeamPlayback(autoPlay: false), + child: SizedBox.expand(), + ), ), ); await tester.pump(const Duration(seconds: 1)); @@ -153,26 +156,38 @@ void main() { }); group('controller', () { - testWidgets('asserts when startAfter/duration are set with a controller', ( + testWidgets('asserts when startAfter is set with a controller', ( tester, ) async { final controller = BorderBeamController(); - expect( - () => BorderBeam.rotate( - controller: controller, - startAfter: const Duration(seconds: 1), - child: const SizedBox.expand(), + addTearDown(controller.dispose); + await tester.pumpWidget( + _host( + BorderBeam.rotate( + controller: controller, + playback: const BeamPlayback(startAfter: Duration(seconds: 1)), + child: const SizedBox.expand(), + ), ), - throwsAssertionError, ); - expect( - () => BorderBeam.rotate( - controller: controller, - duration: const Duration(seconds: 1), - child: const SizedBox.expand(), + expect(tester.takeException(), isAssertionError); + }); + + testWidgets('asserts when duration is set with a controller', ( + tester, + ) async { + final controller = BorderBeamController(); + addTearDown(controller.dispose); + await tester.pumpWidget( + _host( + BorderBeam.rotate( + controller: controller, + playback: const BeamPlayback(duration: Duration(seconds: 1)), + child: const SizedBox.expand(), + ), ), - throwsAssertionError, ); + expect(tester.takeException(), isAssertionError); }); testWidgets('controller owns playback end to end', (tester) async { diff --git a/test/widget/border_beam_theme_test.dart b/test/widget/border_beam_theme_test.dart new file mode 100644 index 0000000..ad92f65 --- /dev/null +++ b/test/widget/border_beam_theme_test.dart @@ -0,0 +1,131 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_test/flutter_test.dart'; + +Widget _host(Widget child) => MaterialApp( + theme: ThemeData(brightness: Brightness.dark), + home: Scaffold( + body: Center(child: SizedBox(width: 350, height: 140, child: child)), + ), +); + +BeamConfig _config(WidgetTester tester) => tester + .widgetList( + find.descendant( + of: find.byType(BorderBeam), + matching: find.byType(CustomPaint), + ), + ) + .expand((paint) => [paint.painter, paint.foregroundPainter]) + .whereType() + .first + .config; + +/// A field left null on a beam falls through to the nearest +/// [BorderBeamTheme], then to the variant preset; a value set on the beam +/// always wins. +void main() { + testWidgets('a theme supplies defaults the beam leaves null', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeamTheme( + data: BorderBeamThemeData( + style: BeamStyle(colors: BeamColors.ocean, strength: 0.4), + shape: BeamShape(borderWidth: 3), + timing: BeamTiming(cycle: Duration(seconds: 4)), + ), + child: BorderBeam.rotate(child: SizedBox.expand()), + ), + ), + ); + final config = _config(tester); + expect(identical(config.palette, BeamColors.ocean.resolve()), isTrue); + expect(config.strength, 0.4); + expect(config.borderWidth, 3); + expect(config.cycleSeconds, closeTo(4, 1e-9)); + }); + + testWidgets('a shorthand on the beam wins over the theme', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeamTheme( + data: BorderBeamThemeData(style: BeamStyle(colors: BeamColors.ocean)), + child: BorderBeam.rotate( + colors: BeamColors.sunset, + child: SizedBox.expand(), + ), + ), + ), + ); + expect( + identical(_config(tester).palette, BeamColors.sunset.resolve()), + isTrue, + ); + }); + + testWidgets('nested themes merge, inner over outer', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeamTheme( + data: BorderBeamThemeData( + style: BeamStyle(colors: BeamColors.ocean, strength: 0.5), + shape: BeamShape(borderWidth: 2), + ), + child: BorderBeamTheme( + data: BorderBeamThemeData(style: BeamStyle(strength: 0.9)), + child: BorderBeam.rotate(child: SizedBox.expand()), + ), + ), + ), + ); + final config = _config(tester); + expect( + identical(config.palette, BeamColors.ocean.resolve()), + isTrue, + reason: 'the outer theme still supplies colors', + ); + expect(config.strength, 0.9, reason: 'the inner theme wins'); + expect(config.borderWidth, 2, reason: 'slots the inner theme omits'); + }); + + testWidgets('changing an outer theme rebuilds beams under an inner one', ( + tester, + ) async { + Widget build(BeamColors colors) => _host( + BorderBeamTheme( + data: BorderBeamThemeData(style: BeamStyle(colors: colors)), + child: const BorderBeamTheme( + data: BorderBeamThemeData(style: BeamStyle(strength: 0.7)), + child: BorderBeam.rotate(child: SizedBox.expand()), + ), + ), + ); + + await tester.pumpWidget(build(BeamColors.ocean)); + expect( + identical(_config(tester).palette, BeamColors.ocean.resolve()), + isTrue, + ); + + await tester.pumpWidget(build(BeamColors.sunset)); + expect( + identical(_config(tester).palette, BeamColors.sunset.resolve()), + isTrue, + ); + }); + + testWidgets('a theme playback keeps a beam idle', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeamTheme( + data: BorderBeamThemeData(playback: BeamPlayback(autoPlay: false)), + child: BorderBeam.rotate(child: SizedBox.expand()), + ), + ), + ); + await tester.pump(const Duration(seconds: 1)); + expect(tester.binding.hasScheduledFrame, isFalse); + }); +} diff --git a/test/widget/border_beam_update_test.dart b/test/widget/border_beam_update_test.dart index 826d696..0658593 100644 --- a/test/widget/border_beam_update_test.dart +++ b/test/widget/border_beam_update_test.dart @@ -43,7 +43,10 @@ void main() { group('cycleDuration change', () { testWidgets('retimes the rotate beam without a phase jump', (tester) async { Widget build(Duration cycle) => _host( - BorderBeam.rotate(cycleDuration: cycle, child: const SizedBox.expand()), + BorderBeam.rotate( + timing: BeamTiming(cycle: cycle), + child: const SizedBox.expand(), + ), ); await tester.pumpWidget(build(const Duration(seconds: 2))); @@ -74,7 +77,10 @@ void main() { testWidgets('retimes the line beam without a phase jump', (tester) async { Widget build(Duration cycle) => _host( - BorderBeam.line(cycleDuration: cycle, child: const SizedBox.expand()), + BorderBeam.line( + timing: BeamTiming(cycle: cycle), + child: const SizedBox.expand(), + ), ); await tester.pumpWidget(build(const Duration(seconds: 3))); @@ -100,7 +106,7 @@ void main() { testWidgets('keeps every pulse oscillator continuous', (tester) async { Widget build(Duration cycle) => _host( BorderBeam.pulseInside( - cycleDuration: cycle, + timing: BeamTiming(cycle: cycle), child: const SizedBox.expand(), ), ); @@ -149,7 +155,7 @@ void main() { var activated = 0; Widget build(Duration cycle) => _host( BorderBeam.rotate( - cycleDuration: cycle, + timing: BeamTiming(cycle: cycle), onActivate: () => activated++, child: const SizedBox.expand(), ), @@ -181,8 +187,8 @@ void main() { testWidgets('an unchanged cycle leaves the timeline alone', (tester) async { Widget build(double strength) => _host( BorderBeam.rotate( - strength: strength, - cycleDuration: const Duration(seconds: 2), + style: BeamStyle(strength: strength), + timing: const BeamTiming(cycle: Duration(seconds: 2)), child: const SizedBox.expand(), ), ); @@ -222,7 +228,7 @@ void main() { Widget build(bool reduced) => _host( disableAnimations: reduced, const BorderBeam.rotate( - startAfter: Duration(seconds: 2), + playback: BeamPlayback(startAfter: Duration(seconds: 2)), child: SizedBox.expand(), ), ); @@ -276,7 +282,7 @@ void main() { Widget build(bool reduced) => _host( disableAnimations: reduced, BorderBeam.rotate( - duration: const Duration(seconds: 1), + playback: const BeamPlayback(duration: Duration(seconds: 1)), onDeactivate: () => deactivated++, child: const SizedBox.expand(), ), From a17c03b5a872d118e4fc6967b6929625479dc1a3 Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 15:14:08 -0700 Subject: [PATCH 09/40] test: cover the value-object API end to end Theme-config replacement through a mounted widget, shape inheritance and RTL BorderRadiusDirectional resolution, per-corner and stadium ring geometry (with scaleRadii clamping) plus goldens for both, speed with and without a controller, custom hue/bloom/breathe/spike periods, cycleGap against retiming and its exact envelope values, BeamConfig equality and shouldRepaint over every input, shorthand precedence over object and theme, the generic constructor for every variant, and playback inherited from a theme. Co-Authored-By: Claude Opus 5 (1M context) --- test/animation/beam_periods_test.dart | 267 ++++++++++++++ test/golden/beam_golden_test.dart | 96 ++++- .../goldens/line_dark_colorful_stadium.png | Bin 0 -> 71697 bytes .../goldens/rotate_dark_colorful_corners.png | Bin 0 -> 67431 bytes .../rotate_dark_colorful_corners_squircle.png | Bin 0 -> 67767 bytes .../goldens/rotate_dark_colorful_stadium.png | Bin 0 -> 55204 bytes test/models/beam_config_test.dart | 340 +++++++++++++++++ test/painting/ring_geometry_test.dart | 342 ++++++++++++++++++ test/widget/beam_shape_test.dart | 237 ++++++++++++ test/widget/beam_shorthand_test.dart | 258 +++++++++++++ test/widget/beam_speed_test.dart | 193 ++++++++++ test/widget/beam_theme_config_test.dart | 256 +++++++++++++ test/widget/border_beam_cycle_gap_test.dart | 222 +++++++++++- test/widget/border_beam_theme_test.dart | 203 ++++++++++- 14 files changed, 2393 insertions(+), 21 deletions(-) create mode 100644 test/animation/beam_periods_test.dart create mode 100644 test/golden/goldens/line_dark_colorful_stadium.png create mode 100644 test/golden/goldens/rotate_dark_colorful_corners.png create mode 100644 test/golden/goldens/rotate_dark_colorful_corners_squircle.png create mode 100644 test/golden/goldens/rotate_dark_colorful_stadium.png create mode 100644 test/models/beam_config_test.dart create mode 100644 test/painting/ring_geometry_test.dart create mode 100644 test/widget/beam_shape_test.dart create mode 100644 test/widget/beam_shorthand_test.dart create mode 100644 test/widget/beam_speed_test.dart create mode 100644 test/widget/beam_theme_config_test.dart diff --git a/test/animation/beam_periods_test.dart b/test/animation/beam_periods_test.dart new file mode 100644 index 0000000..c9ace27 --- /dev/null +++ b/test/animation/beam_periods_test.dart @@ -0,0 +1,267 @@ +import 'dart:ui'; + +import 'package:flutter_border_beam/src/animation/beam_phases.dart'; +import 'package:flutter_border_beam/src/models/beam_colors.dart'; +import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_border_beam/src/models/beam_style.dart'; +import 'package:flutter_border_beam/src/models/beam_timing.dart'; +import 'package:flutter_border_beam/src/models/beam_variant.dart'; +import 'package:flutter_test/flutter_test.dart'; + +BeamConfig _config( + BeamVariant variant, { + BeamTiming timing = const BeamTiming(), + double hueRange = 30, +}) => BeamConfig.resolve( + variant: variant, + palette: BeamColors.colorful.resolve(), + brightness: Brightness.dark, + style: BeamStyle(hueRange: hueRange), + timing: timing, +); + +BeamPhaseResolver _resolver( + BeamVariant variant, { + BeamTiming timing = const BeamTiming(), + double hueRange = 30, +}) => BeamPhaseResolver(_config(variant, timing: timing, hueRange: hueRange)); + +/// `BeamTiming` exposes the tracks that do not ride the cycle: the hue +/// ping-pong (or revolution), the line bloom's own hue, and the line's +/// breathe/spike periods expressed as multiples of the cycle. Each was a +/// fixed constant in the phase resolver before; each must now follow what +/// the timing asks for, and only that track. +void main() { + group('huePeriod', () { + test('the traveling default is a 12s ping-pong', () { + final config = _config(BeamVariant.rotate); + expect(config.huePeriodSeconds, 12); + final r = BeamPhaseResolver(config); + expect(r.sample(0, 1).hueDegrees, closeTo(-30, 1e-9)); + expect(r.sample(6, 1).hueDegrees, closeTo(30, 1e-6)); + }); + + test('a custom period puts +hueRange at half of it', () { + const timing = BeamTiming(huePeriod: Duration(seconds: 4)); + final config = _config(BeamVariant.rotate, timing: timing); + expect(config.huePeriodSeconds, closeTo(4, 1e-9)); + final r = BeamPhaseResolver(config); + expect(r.sample(0, 1).hueDegrees, closeTo(-30, 1e-9)); + expect(r.sample(2, 1).hueDegrees, closeTo(30, 1e-6)); + expect(r.sample(4, 1).hueDegrees, closeTo(-30, 1e-6)); + expect( + r.sample(1, 1).hueDegrees, + closeTo(0, 1e-6), + reason: 'the ease-in-out curve crosses zero at a quarter period', + ); + }); + + test('it does not move the cycle-driven tracks', () { + final fast = _resolver( + BeamVariant.rotate, + timing: const BeamTiming(huePeriod: Duration(seconds: 3)), + ); + final slow = _resolver( + BeamVariant.rotate, + timing: const BeamTiming(huePeriod: Duration(seconds: 30)), + ); + expect( + fast.sample(1.2, 1).angleRadians, + closeTo(slow.sample(1.2, 1).angleRadians, 1e-9), + ); + expect( + fast.sample(1.2, 1).hueDegrees, + isNot(closeTo(slow.sample(1.2, 1).hueDegrees, 1e-3)), + ); + }); + + test('the pulse defaults are the preset periods', () { + expect(_config(BeamVariant.pulseInside).huePeriodSeconds, 16); + expect(_config(BeamVariant.pulseOutside).huePeriodSeconds, 14); + // A continuous revolution, not a ping-pong. + expect( + _resolver(BeamVariant.pulseInside).sample(8, 1).hueDegrees, + closeTo(180, 1e-6), + ); + expect( + _resolver(BeamVariant.pulseOutside).sample(7, 1).hueDegrees, + closeTo(180, 1e-6), + ); + }); + + test('a custom period replaces the pulse preset period', () { + const timing = BeamTiming(huePeriod: Duration(seconds: 5)); + for (final variant in [ + BeamVariant.pulseInside, + BeamVariant.pulseOutside, + ]) { + final config = _config(variant, timing: timing); + expect(config.huePeriodSeconds, closeTo(5, 1e-9), reason: '$variant'); + final r = BeamPhaseResolver(config); + expect(r.sample(1.25, 1).hueDegrees, closeTo(90, 1e-6)); + expect(r.sample(2.5, 1).hueDegrees, closeTo(180, 1e-6)); + expect( + r.sample(5, 1).hueDegrees, + closeTo(0, 1e-6), + reason: 'it wraps at the custom period, not at 14s or 16s', + ); + } + }); + + test('a sub-second period is still a full ping-pong', () { + final r = _resolver( + BeamVariant.small, + timing: const BeamTiming(huePeriod: Duration(milliseconds: 200)), + ); + expect(r.sample(0.1, 1).hueDegrees, closeTo(30, 1e-6)); + expect(r.sample(0.2, 1).hueDegrees, closeTo(-30, 1e-6)); + }); + }); + + group('bloomHuePeriod', () { + // The line variant caps hueRange at 13°, so its bloom track spans ±23°. + const bloomRange = 23.0; + + test('the default is an 8s ping-pong over ±(hueRange + 10)', () { + final config = _config(BeamVariant.line); + expect(config.bloomHuePeriodSeconds, 8); + final r = BeamPhaseResolver(config); + expect(r.sample(0, 1).bloomHueDegrees, closeTo(-bloomRange, 1e-9)); + expect(r.sample(4, 1).bloomHueDegrees, closeTo(bloomRange, 1e-6)); + }); + + test('a custom period retimes only the bloom hue', () { + const timing = BeamTiming(bloomHuePeriod: Duration(seconds: 4)); + final config = _config(BeamVariant.line, timing: timing); + expect(config.bloomHuePeriodSeconds, closeTo(4, 1e-9)); + expect(config.huePeriodSeconds, 12, reason: 'the main hue is untouched'); + + final r = BeamPhaseResolver(config); + final reference = _resolver(BeamVariant.line); + expect(r.sample(2, 1).bloomHueDegrees, closeTo(bloomRange, 1e-6)); + expect( + r.sample(1.3, 1).hueDegrees, + closeTo(reference.sample(1.3, 1).hueDegrees, 1e-9), + ); + expect( + r.sample(1.3, 1).lineX, + closeTo(reference.sample(1.3, 1).lineX, 1e-9), + ); + }); + + test('a wider hueRange is capped before the bloom range is derived', () { + final r = _resolver(BeamVariant.line, hueRange: 90); + expect(r.config.hueRange, 13); + expect(r.sample(4, 1).bloomHueDegrees, closeTo(bloomRange, 1e-6)); + }); + }); + + group('line breathe and spike factors', () { + const cycle = Duration(seconds: 2); + const cycleSeconds = 2.0; + + test('the defaults are 1.3, 1.33 and 1.7 cycles', () { + final config = _config( + BeamVariant.line, + timing: const BeamTiming(cycle: cycle), + ); + expect(config.breatheFactor, 1.3); + expect(config.spikeFactor, 1.33); + expect(config.spike2Factor, 1.7); + }); + + test('lineH completes one breathe cycle at cycle × breatheFactor', () { + const factor = 2.0; + final r = _resolver( + BeamVariant.line, + timing: const BeamTiming(cycle: cycle, breatheFactor: factor), + ); + const period = cycleSeconds * factor; + for (final t in [0.0, 0.7, 1.9, 3.4]) { + expect( + r.sample(t + period, 1).lineH, + closeTo(r.sample(t, 1).lineH, 1e-9), + reason: 't=$t repeats after $period s', + ); + } + expect( + r.sample(period / 2, 1).lineH, + isNot(closeTo(r.sample(0, 1).lineH, 1e-3)), + reason: 'the track actually moves inside the period', + ); + }); + + test('halving the factor halves the time to the same breathe phase', () { + final slow = _resolver( + BeamVariant.line, + timing: const BeamTiming(cycle: cycle, breatheFactor: 2), + ); + final fast = _resolver( + BeamVariant.line, + timing: const BeamTiming(cycle: cycle, breatheFactor: 1), + ); + expect(slow.sample(2, 1).lineH, closeTo(fast.sample(1, 1).lineH, 1e-9)); + }); + + test('spikeFactor and spike2Factor drive their own tracks only', () { + final base = _resolver( + BeamVariant.line, + timing: const BeamTiming(cycle: cycle), + ); + final spiked = _resolver( + BeamVariant.line, + timing: const BeamTiming(cycle: cycle, spikeFactor: 3), + ); + final spiked2 = _resolver( + BeamVariant.line, + timing: const BeamTiming(cycle: cycle, spike2Factor: 3), + ); + + const t = 1.1; + expect( + spiked.sample(t, 1).spike, + isNot(closeTo(base.sample(t, 1).spike, 1e-3)), + ); + expect( + spiked.sample(t, 1).spike2, + closeTo(base.sample(t, 1).spike2, 1e-9), + ); + expect(spiked.sample(t, 1).lineH, closeTo(base.sample(t, 1).lineH, 1e-9)); + + expect( + spiked2.sample(t, 1).spike2, + isNot(closeTo(base.sample(t, 1).spike2, 1e-3)), + ); + expect( + spiked2.sample(t, 1).spike, + closeTo(base.sample(t, 1).spike, 1e-9), + ); + + const period = cycleSeconds * 3; + expect( + spiked.sample(0.4 + period, 1).spike, + closeTo(spiked.sample(0.4, 1).spike, 1e-9), + ); + expect( + spiked2.sample(0.4 + period, 1).spike2, + closeTo(spiked2.sample(0.4, 1).spike2, 1e-9), + ); + }); + + test('the factors scale with the cycle they multiply', () { + final short = _resolver( + BeamVariant.line, + timing: const BeamTiming(cycle: Duration(seconds: 1), breatheFactor: 2), + ); + final long = _resolver( + BeamVariant.line, + timing: const BeamTiming(cycle: Duration(seconds: 2), breatheFactor: 2), + ); + expect( + long.sample(2.4, 1).lineH, + closeTo(short.sample(1.2, 1).lineH, 1e-9), + reason: 'twice the cycle is twice the breathe period', + ); + }); + }); +} diff --git a/test/golden/beam_golden_test.dart b/test/golden/beam_golden_test.dart index 6e0ae4c..50dd5cc 100644 --- a/test/golden/beam_golden_test.dart +++ b/test/golden/beam_golden_test.dart @@ -35,20 +35,25 @@ void main() { ); } - Widget mockSurface(Brightness brightness, {double radius = 16}) => - DecoratedBox( - decoration: BoxDecoration( - color: brightness == Brightness.dark - ? const Color(0xFF1D1D1D) - : const Color(0xFFFFFFFF), - borderRadius: BorderRadius.circular(radius), - border: Border.all( - color: brightness == Brightness.dark - ? const Color(0x14FFFFFF) - : const Color(0x14000000), - ), - ), - ); + // [radii] carries a per-corner radius when a scene needs one; otherwise + // every corner takes [radius]. + Widget mockSurface( + Brightness brightness, { + double radius = 16, + BorderRadius? radii, + }) => DecoratedBox( + decoration: BoxDecoration( + color: brightness == Brightness.dark + ? const Color(0xFF1D1D1D) + : const Color(0xFFFFFFFF), + borderRadius: radii ?? BorderRadius.circular(radius), + border: Border.all( + color: brightness == Brightness.dark + ? const Color(0x14FFFFFF) + : const Color(0x14000000), + ), + ), + ); Future capture( WidgetTester tester, @@ -219,4 +224,67 @@ void main() { ), ); }); + + // Per-corner and stadium geometry, dark/colorful only: the shape is what + // these scenes are about, so one palette is enough. + const cornerRadii = BorderRadius.only( + topLeft: Radius.circular(40), + bottomRight: Radius.circular(40), + ); + + testWidgets('rotate dark colorful per-corner radii', (tester) async { + await capture( + tester, + 'rotate_dark_colorful_corners', + brightness: Brightness.dark, + (b) => BorderBeam.rotate( + style: const BeamStyle(theme: BeamTheme.dark), + shape: const BeamShape(radius: cornerRadii), + child: mockSurface(b, radii: cornerRadii), + ), + ); + }); + + testWidgets('rotate dark colorful per-corner superellipse', (tester) async { + await capture( + tester, + 'rotate_dark_colorful_corners_squircle', + brightness: Brightness.dark, + (b) => BorderBeam.rotate( + style: const BeamStyle(theme: BeamTheme.dark), + shape: const BeamShape(radius: cornerRadii, superellipse: true), + child: mockSurface(b, radii: cornerRadii), + ), + ); + }); + + // A 350x60 box: the stadium radius clamps to 30 on every corner, so the + // beam travels a pill and the surface matches it. + testWidgets('rotate dark colorful stadium', (tester) async { + await capture( + tester, + 'rotate_dark_colorful_stadium', + brightness: Brightness.dark, + height: 60, + (b) => BorderBeam.rotate( + style: const BeamStyle(theme: BeamTheme.dark), + shape: const BeamShape.stadium(), + child: mockSurface(b, radius: 30), + ), + ); + }); + + testWidgets('line dark colorful stadium', (tester) async { + await capture( + tester, + 'line_dark_colorful_stadium', + brightness: Brightness.dark, + height: 60, + (b) => BorderBeam.line( + style: const BeamStyle(theme: BeamTheme.dark), + shape: const BeamShape.stadium(), + child: mockSurface(b, radius: 30), + ), + ); + }); } diff --git a/test/golden/goldens/line_dark_colorful_stadium.png b/test/golden/goldens/line_dark_colorful_stadium.png new file mode 100644 index 0000000000000000000000000000000000000000..f8a2fae2e2d0bb138cb975637625d34c29734b4b GIT binary patch literal 71697 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 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/rotate_dark_colorful_corners.png b/test/golden/goldens/rotate_dark_colorful_corners.png new file mode 100644 index 0000000000000000000000000000000000000000..765c6f5b59f182cee27b737d0b46c4a4875ccdb2 GIT binary patch literal 67431 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

    YI9*`)=E6xrS2lo2+lTo)~tz( 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 Q@!!>yv=mF9K7apz0FRmQfdBvi literal 0 HcmV?d00001 diff --git a/test/golden/goldens/rotate_dark_colorful_stadium.png b/test/golden/goldens/rotate_dark_colorful_stadium.png new file mode 100644 index 0000000000000000000000000000000000000000..6bdaefc9ab08d27c71c0b87a3e9a7d79eb1977e4 GIT binary patch literal 55204 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

    6GS9;|3%JP^KCxonbFV$Bcx5!b0v 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 K&QQ#~uKxp@sa_=j literal 0 HcmV?d00001 diff --git a/test/models/beam_config_test.dart b/test/models/beam_config_test.dart new file mode 100644 index 0000000..83623b6 --- /dev/null +++ b/test/models/beam_config_test.dart @@ -0,0 +1,340 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/scheduler.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/animation/beam_clock.dart'; +import 'package:flutter_border_beam/src/animation/beam_phases.dart'; +import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_test/flutter_test.dart'; + +const _style = BeamStyle( + strength: 0.8, + brightness: 1.1, + saturation: 1.4, + hueRange: 20, + hueBase: 5, + staticColors: false, + strokeOpacityFactor: 0.9, + innerOpacityFactor: 0.8, + bloomOpacityFactor: 0.7, + glowBoost: 1.2, + coreBlur: 3, + bloomBlur: 4, + glowBrightness: 1.5, + glowSaturation: 1.6, +); + +const _shape = BeamShape( + radius: BorderRadius.all(Radius.circular(10)), + borderWidth: 2, + superellipse: false, +); + +const _timing = BeamTiming( + cycle: Duration(seconds: 2), + cycleGap: Duration(seconds: 1), + speed: 1, + huePeriod: Duration(seconds: 5), + bloomHuePeriod: Duration(seconds: 6), + breatheFactor: 1.1, + spikeFactor: 1.2, + spike2Factor: 1.3, +); + +BeamConfig _resolve({ + BeamVariant variant = BeamVariant.rotate, + BeamColors colors = BeamColors.colorful, + Brightness brightness = Brightness.dark, + BeamStyle style = _style, + BeamShape shape = _shape, + BeamTiming timing = _timing, + TextDirection textDirection = TextDirection.ltr, +}) => BeamConfig.resolve( + variant: variant, + palette: colors.resolve(), + brightness: brightness, + style: style, + shape: shape, + timing: timing, + textDirection: textDirection, +); + +BeamPainter _beamPainter(WidgetTester tester) => tester + .widgetList( + find.descendant( + of: find.byType(BorderBeam), + matching: find.byType(CustomPaint), + ), + ) + .expand((paint) => [paint.painter, paint.foregroundPainter]) + .whereType() + .first; + +Widget _host(Widget child) => MaterialApp( + theme: ThemeData(brightness: Brightness.dark), + home: Scaffold( + body: Center(child: SizedBox(width: 350, height: 140, child: child)), + ), +); + +/// `BeamConfig` is the value the painter compares: two resolutions of the +/// same inputs must be `==` (so a rebuilt-inline style never repaints), and +/// every input that reaches a painted value must break that equality. +void main() { + group('equality', () { + test('two resolutions of the same inputs are equal', () { + final a = _resolve(); + final b = _resolve(); + expect(identical(a, b), isFalse); + expect(a, b); + expect(a.hashCode, b.hashCode); + }); + + // Every input the painter reads, one at a time. + final mutations = { + 'variant': () => _resolve(variant: BeamVariant.small), + 'palette': () => _resolve(colors: BeamColors.ocean), + 'brightness': () => _resolve(brightness: Brightness.light), + 'style.strength': () => _resolve(style: _style.copyWith(strength: 0.81)), + 'style.brightness': () => + _resolve(style: _style.copyWith(brightness: 1.11)), + 'style.saturation': () => + _resolve(style: _style.copyWith(saturation: 1.41)), + 'style.hueRange': () => _resolve(style: _style.copyWith(hueRange: 21)), + 'style.hueBase': () => _resolve(style: _style.copyWith(hueBase: 6)), + 'style.staticColors': () => + _resolve(style: _style.copyWith(staticColors: true)), + 'style.strokeOpacityFactor': () => + _resolve(style: _style.copyWith(strokeOpacityFactor: 0.91)), + 'style.innerOpacityFactor': () => + _resolve(style: _style.copyWith(innerOpacityFactor: 0.81)), + 'style.bloomOpacityFactor': () => + _resolve(style: _style.copyWith(bloomOpacityFactor: 0.71)), + 'style.glowBoost': () => _resolve(style: _style.copyWith(glowBoost: 1.3)), + 'style.coreBlur': () => _resolve(style: _style.copyWith(coreBlur: 3.5)), + 'style.bloomBlur': () => _resolve(style: _style.copyWith(bloomBlur: 4.5)), + 'style.glowBrightness': () => + _resolve(style: _style.copyWith(glowBrightness: 1.51)), + 'style.glowSaturation': () => + _resolve(style: _style.copyWith(glowSaturation: 1.61)), + 'style.themeConfig': () => _resolve( + style: _style.copyWith( + themeConfig: BeamThemeConfig.presetFor( + BeamVariant.rotate, + Brightness.dark, + ).copyWith(bloomOpacity: 0.99), + ), + ), + 'shape.radius': () => + _resolve(shape: _shape.copyWith(radius: BorderRadius.circular(11))), + 'shape.radius (one corner)': () => _resolve( + shape: _shape.copyWith( + radius: const BorderRadius.only(topLeft: Radius.circular(10)), + ), + ), + 'shape.borderWidth': () => + _resolve(shape: _shape.copyWith(borderWidth: 2.5)), + 'shape.superellipse': () => + _resolve(shape: _shape.copyWith(superellipse: true)), + 'timing.cycle': () => _resolve( + timing: _timing.copyWith(cycle: const Duration(milliseconds: 2001)), + ), + 'timing.cycleGap': () => _resolve( + timing: _timing.copyWith(cycleGap: const Duration(milliseconds: 1001)), + ), + 'timing.huePeriod': () => _resolve( + timing: _timing.copyWith(huePeriod: const Duration(seconds: 6)), + ), + 'timing.bloomHuePeriod': () => _resolve( + timing: _timing.copyWith(bloomHuePeriod: const Duration(seconds: 7)), + ), + 'timing.breatheFactor': () => + _resolve(timing: _timing.copyWith(breatheFactor: 1.15)), + 'timing.spikeFactor': () => + _resolve(timing: _timing.copyWith(spikeFactor: 1.25)), + 'timing.spike2Factor': () => + _resolve(timing: _timing.copyWith(spike2Factor: 1.35)), + }; + + for (final MapEntry(key: name, value: mutate) in mutations.entries) { + test('$name breaks equality', () { + final base = _resolve(); + final mutated = mutate(); + expect(mutated, isNot(base), reason: name); + expect(mutated.hashCode, isNot(base.hashCode), reason: name); + }); + } + + test('textDirection breaks equality for a directional radius', () { + const shape = BeamShape( + radius: BorderRadiusDirectional.only(topStart: Radius.circular(20)), + ); + final ltr = _resolve(shape: shape); + final rtl = _resolve(shape: shape, textDirection: TextDirection.rtl); + expect(rtl, isNot(ltr)); + expect(rtl.borderRadius.topRight, const Radius.circular(20)); + expect( + _resolve(textDirection: TextDirection.rtl), + _resolve(), + reason: 'a non-directional radius resolves the same either way', + ); + }); + + test('speed is not part of the painted value', () { + expect( + _resolve(timing: _timing.copyWith(speed: 4)), + _resolve(), + reason: 'the clock owns the rate; the painter never reads it', + ); + }); + }); + + group('BeamPainter.shouldRepaint', () { + late BeamClock clock; + + setUp(() { + clock = BeamClock(createTicker: Ticker.new); + }); + tearDown(() => clock.dispose()); + + BeamPainter painter(BeamConfig config, {bool staticMode = false}) => + BeamPainter( + clock: clock, + config: config, + resolver: BeamPhaseResolver(config), + strategy: strategyFor(config.variant), + behind: false, + staticMode: staticMode, + ); + + test('is false for an equal config', () { + final a = painter(_resolve()); + final b = painter(_resolve()); + expect(b.shouldRepaint(a), isFalse); + }); + + test('is true for any differing config', () { + final base = painter(_resolve()); + expect( + painter( + _resolve(style: _style.copyWith(strength: 0.5)), + ).shouldRepaint(base), + isTrue, + ); + expect( + painter(_resolve(variant: BeamVariant.line)).shouldRepaint(base), + isTrue, + ); + }); + + test('is true when the pass, the static mode, or the clock changes', () { + final config = _resolve(); + final base = painter(config); + expect(painter(config, staticMode: true).shouldRepaint(base), isTrue); + + final behind = BeamPainter( + clock: clock, + config: config, + resolver: BeamPhaseResolver(config), + strategy: strategyFor(config.variant), + behind: true, + staticMode: false, + ); + expect(behind.shouldRepaint(base), isTrue); + + final otherClock = BeamClock(createTicker: Ticker.new); + addTearDown(otherClock.dispose); + final rebound = BeamPainter( + clock: otherClock, + config: config, + resolver: BeamPhaseResolver(config), + strategy: strategyFor(config.variant), + behind: false, + staticMode: false, + ); + expect(rebound.shouldRepaint(base), isTrue); + }); + }); + + group("the widget's config cache", () { + testWidgets('an equal style rebuilt inline keeps the same config object', ( + tester, + ) async { + // A runtime value, so each build allocates a fresh BeamStyle rather + // than reusing a canonicalized const one. + Widget build(double strength) => _host( + BorderBeam.rotate( + style: BeamStyle(strength: strength), + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(0.5)); + final first = _beamPainter(tester).config; + + await tester.pumpWidget(build(0.5)); + expect( + identical(_beamPainter(tester).config, first), + isTrue, + reason: 'equal value objects must not re-resolve', + ); + }); + + testWidgets('a differing style resolves a new config object', ( + tester, + ) async { + Widget build(double strength) => _host( + BorderBeam.rotate( + style: BeamStyle(strength: strength), + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(0.5)); + final first = _beamPainter(tester).config; + + await tester.pumpWidget(build(0.6)); + final second = _beamPainter(tester).config; + expect(identical(second, first), isFalse); + expect(second, isNot(first)); + expect(second.strength, 0.6); + }); + + testWidgets('an equal shape and timing rebuilt inline keep the config', ( + tester, + ) async { + Widget build(double radius, int cycleMs) => _host( + BorderBeam.rotate( + shape: BeamShape.circular(radius, superellipse: true), + timing: BeamTiming( + cycle: Duration(milliseconds: cycleMs), + cycleGap: const Duration(milliseconds: 400), + ), + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(24, 1500)); + final first = _beamPainter(tester).config; + await tester.pumpWidget(build(24, 1500)); + expect(identical(_beamPainter(tester).config, first), isTrue); + }); + + testWidgets('an unrelated rebuild keeps the config and the resolver', ( + tester, + ) async { + Widget build(String label) => _host( + BorderBeam.rotate(colors: BeamColors.ocean, child: Text(label)), + ); + + await tester.pumpWidget(build('a')); + final painter = _beamPainter(tester); + + await tester.pumpWidget(build('b')); + final next = _beamPainter(tester); + expect(identical(next.config, painter.config), isTrue); + expect(identical(next.resolver, painter.resolver), isTrue); + expect(next.shouldRepaint(painter), isFalse); + }); + }); +} diff --git a/test/painting/ring_geometry_test.dart b/test/painting/ring_geometry_test.dart new file mode 100644 index 0000000..bb23595 --- /dev/null +++ b/test/painting/ring_geometry_test.dart @@ -0,0 +1,342 @@ +import 'dart:math' as math; + +import 'package:flutter/painting.dart'; +import 'package:flutter_border_beam/src/painting/ring_geometry.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// Per-corner ring geometry: the beam contour takes a full [BorderRadius], +/// clamps it the way `RRect.scaleRadii` does, resolves an infinite radius +/// ([BeamShape.stadium]) to half the shortest side, and derives the inner +/// contour by shrinking every corner by the border width. +/// +/// Corner size is probed rather than read back: each test walks inward along +/// a corner's 45° diagonal and finds where the path starts containing +/// points. For a circular corner of radius r that entry sits at +/// `r * (sqrt2 - 1)` — the distance from the corner to the arc — which makes +/// the probe an exact measurement of the radius the geometry actually used. +void main() { + // Distance from the corner to the shape's boundary, along the inward 45° + // diagonal. + double diagonalEntry(Path path, Offset corner, Offset inward, double reach) { + expect( + path.contains(corner + inward * reach), + isTrue, + reason: 'the probe must end inside the shape', + ); + var outside = 0.0; + var inside = reach; + for (var i = 0; i < 60; i++) { + final mid = (outside + inside) / 2; + if (path.contains(corner + inward * mid)) { + inside = mid; + } else { + outside = mid; + } + } + return inside; + } + + // The four corners as (point, inward unit vector) pairs. + final diagonal = 1 / math.sqrt2; + Map cornersOf(Rect r) => { + 'topLeft': (r.topLeft, Offset(diagonal, diagonal)), + 'topRight': (r.topRight, Offset(-diagonal, diagonal)), + 'bottomLeft': (r.bottomLeft, Offset(diagonal, -diagonal)), + 'bottomRight': (r.bottomRight, Offset(-diagonal, -diagonal)), + }; + + // What `diagonalEntry` reads back for a circular corner of radius [r]. + double circularEntry(double r) => r * (math.sqrt2 - 1); + + BeamRingGeometry geometry( + Rect rect, + BorderRadius radius, { + double borderWidth = 1, + bool superellipse = false, + }) => BeamRingGeometry( + rect: rect, + radius: radius, + borderWidth: borderWidth, + useSuperellipse: superellipse, + ); + + void expectBounds(Path path, Rect rect) { + final bounds = path.getBounds(); + expect(bounds.left, closeTo(rect.left, 0.01)); + expect(bounds.top, closeTo(rect.top, 0.01)); + expect(bounds.right, closeTo(rect.right, 0.01)); + expect(bounds.bottom, closeTo(rect.bottom, 0.01)); + } + + group('per-corner radii', () { + const rect = Rect.fromLTWH(0, 0, 200, 100); + const radius = BorderRadius.only( + topLeft: Radius.circular(40), + topRight: Radius.zero, + bottomLeft: Radius.circular(10), + bottomRight: Radius.circular(40), + ); + + for (final superellipse in [false, true]) { + final family = superellipse ? 'superellipse' : 'circular'; + + test('$family: the outer contour still spans the whole rect', () { + expectBounds( + geometry(rect, radius, superellipse: superellipse).outer, + rect, + ); + }); + + test('$family: a rounded corner drops a point a square corner keeps', () { + final outer = geometry(rect, radius, superellipse: superellipse).outer; + // The same offset from each corner: cut away where the radius is + // large, kept where the corner is square. + expect( + outer.contains(const Offset(3, 3)), + isFalse, + reason: 'inside the 40px topLeft corner', + ); + expect( + outer.contains(const Offset(197, 3)), + isTrue, + reason: 'the topRight corner is square', + ); + expect( + outer.contains(const Offset(197, 97)), + isFalse, + reason: 'inside the 40px bottomRight corner', + ); + expect( + outer.contains(const Offset(100, 50)), + isTrue, + reason: 'the middle is always inside', + ); + }); + } + + test('circular: every corner measures the radius it was given', () { + final outer = geometry(rect, radius).outer; + final corners = cornersOf(rect); + double entryAt(String corner) { + final (point, inward) = corners[corner]!; + return diagonalEntry(outer, point, inward, 50); + } + + expect(entryAt('topLeft'), closeTo(circularEntry(40), 0.05)); + expect(entryAt('topRight'), lessThan(0.05), reason: 'a square corner'); + expect(entryAt('bottomLeft'), closeTo(circularEntry(10), 0.05)); + expect(entryAt('bottomRight'), closeTo(circularEntry(40), 0.05)); + }); + + test('superellipse: corner size still follows the per-corner radii', () { + final outer = geometry(rect, radius, superellipse: true).outer; + final corners = cornersOf(rect); + double entryAt(String corner) { + final (point, inward) = corners[corner]!; + return diagonalEntry(outer, point, inward, 50); + } + + expect(entryAt('topRight'), lessThan(0.05), reason: 'a square corner'); + expect(entryAt('topLeft'), closeTo(entryAt('bottomRight'), 0.05)); + expect( + entryAt('topLeft'), + greaterThan(entryAt('bottomLeft')), + reason: '40px cuts deeper than 10px', + ); + }); + }); + + group('scaleRadii clamping', () { + // 80 + 40 on a 100px top edge: both scale by 100/120, keeping their 2:1 + // proportion instead of one being clipped. + const rect = Rect.fromLTWH(0, 0, 100, 100); + const radius = BorderRadius.only( + topLeft: Radius.circular(80), + topRight: Radius.circular(40), + ); + const scale = 100 / 120; + + test('matches what RRect.scaleRadii would produce', () { + final reference = RRect.fromRectAndCorners( + rect, + topLeft: const Radius.circular(80), + topRight: const Radius.circular(40), + ).scaleRadii(); + expect(reference.tlRadiusX, closeTo(80 * scale, 1e-9)); + expect(reference.trRadiusX, closeTo(40 * scale, 1e-9)); + + final outer = geometry(rect, radius).outer; + final corners = cornersOf(rect); + final (tlPoint, tlInward) = corners['topLeft']!; + final (trPoint, trInward) = corners['topRight']!; + expect( + diagonalEntry(outer, tlPoint, tlInward, 50), + closeTo(circularEntry(80 * scale), 0.05), + ); + expect( + diagonalEntry(outer, trPoint, trInward, 50), + closeTo(circularEntry(40 * scale), 0.05), + ); + }); + + test('both radii shrink by the same ratio', () { + final outer = geometry(rect, radius).outer; + final corners = cornersOf(rect); + final (tlPoint, tlInward) = corners['topLeft']!; + final (trPoint, trInward) = corners['topRight']!; + final tl = diagonalEntry(outer, tlPoint, tlInward, 50); + final tr = diagonalEntry(outer, trPoint, trInward, 50); + expect(tl / tr, closeTo(2, 0.02), reason: 'the 2:1 proportion survives'); + }); + + test('superellipse clamps too and stays inside the rect', () { + final outer = geometry(rect, radius, superellipse: true).outer; + expectBounds(outer, rect); + final corners = cornersOf(rect); + final (tlPoint, tlInward) = corners['topLeft']!; + final (trPoint, trInward) = corners['topRight']!; + final tl = diagonalEntry(outer, tlPoint, tlInward, 50); + final tr = diagonalEntry(outer, trPoint, trInward, 50); + expect(tl, greaterThan(tr)); + expect( + tl, + lessThan(circularEntry(80) * 1.6), + reason: 'an unclamped 80px corner would cut deeper', + ); + }); + }); + + group('stadium (infinite radius)', () { + const infinite = BorderRadius.all(Radius.circular(double.infinity)); + + test('a 200x40 rect resolves to a 20px radius on every corner', () { + const rect = Rect.fromLTWH(0, 0, 200, 40); + final outer = geometry(rect, infinite).outer; + expectBounds(outer, rect); + for (final MapEntry(key: name, value: (point, inward)) in cornersOf( + rect, + ).entries) { + expect( + diagonalEntry(outer, point, inward, 20), + closeTo(circularEntry(20), 0.05), + reason: name, + ); + } + expect(outer.contains(const Offset(1, 1)), isFalse, reason: 'pill end'); + expect( + outer.contains(const Offset(100, 1)), + isTrue, + reason: 'the straight top edge', + ); + }); + + test('the radius tracks the box as it resizes', () { + const tall = Rect.fromLTWH(0, 0, 200, 100); + final corners = cornersOf(tall); + final (point, inward) = corners['topLeft']!; + expect( + diagonalEntry(geometry(tall, infinite).outer, point, inward, 60), + closeTo(circularEntry(50), 0.05), + reason: 'half the 100px short side', + ); + }); + + test('a square box comes out a circle', () { + const square = Rect.fromLTWH(0, 0, 80, 80); + final outer = geometry(square, infinite).outer; + // Every point at radius 40 from the centre is on the boundary: just + // inside is contained, just outside is not. + for (final angle in [0.0, 0.7, 1.9, 3.4, 5.2]) { + final unit = Offset(math.cos(angle), math.sin(angle)); + expect(outer.contains(const Offset(40, 40) + unit * 39), isTrue); + expect(outer.contains(const Offset(40, 40) + unit * 41), isFalse); + } + }); + + test('superellipse stadium is symmetric across all four corners', () { + const rect = Rect.fromLTWH(0, 0, 200, 40); + final outer = geometry(rect, infinite, superellipse: true).outer; + expectBounds(outer, rect); + final entries = [ + for (final (point, inward) in cornersOf(rect).values) + diagonalEntry(outer, point, inward, 20), + ]; + for (final entry in entries) { + expect(entry, closeTo(entries.first, 0.05)); + } + expect(entries.first, greaterThan(0)); + }); + }); + + group('inner contour', () { + const rect = Rect.fromLTWH(0, 0, 200, 100); + + test('every corner shrinks by the border width', () { + const radius = BorderRadius.only( + topLeft: Radius.circular(40), + bottomRight: Radius.circular(12), + ); + final ring = geometry(rect, radius, borderWidth: 5); + final inner = rect.deflate(5); + expectBounds(ring.inner, inner); + final corners = cornersOf(inner); + final (tlPoint, tlInward) = corners['topLeft']!; + final (brPoint, brInward) = corners['bottomRight']!; + expect( + diagonalEntry(ring.inner, tlPoint, tlInward, 50), + closeTo(circularEntry(35), 0.05), + ); + expect( + diagonalEntry(ring.inner, brPoint, brInward, 50), + closeTo(circularEntry(7), 0.05), + ); + }); + + test('a corner smaller than the border width floors at square', () { + const radius = BorderRadius.all(Radius.circular(3)); + final ring = geometry(rect, radius, borderWidth: 5); + final corners = cornersOf(rect.deflate(5)); + final (point, inward) = corners['topLeft']!; + expect(diagonalEntry(ring.inner, point, inward, 20), lessThan(0.05)); + }); + + test('a box thinner than twice the border has no inner contour', () { + const sliver = Rect.fromLTWH(0, 0, 200, 8); + final ring = geometry(sliver, BorderRadius.circular(4), borderWidth: 5); + expect(ring.inner.getBounds().isEmpty, isTrue); + expect( + ring.ring.contains(const Offset(100, 4)), + isTrue, + reason: 'the ring is then the whole shape', + ); + }); + + test('the ring is the band between the two contours', () { + final ring = geometry(rect, BorderRadius.circular(16), borderWidth: 4); + expect(ring.ring.contains(const Offset(100, 2)), isTrue); + expect(ring.ring.contains(const Offset(100, 50)), isFalse); + }); + + test('an empty rect has no ring at all', () { + final ring = geometry(Rect.zero, BorderRadius.circular(8)); + expect(ring.ring.getBounds().isEmpty, isTrue); + expect(ring.outer.getBounds().isEmpty, isTrue); + }); + }); + + group('contour', () { + test('builds an arbitrary rect in the same shape family', () { + const rect = Rect.fromLTWH(0, 0, 200, 100); + final ring = geometry(rect, BorderRadius.circular(16)); + const other = Rect.fromLTWH(10, 10, 100, 60); + final path = ring.contour(other, BorderRadius.circular(20)); + expectBounds(path, other); + final corners = cornersOf(other); + final (point, inward) = corners['topLeft']!; + expect( + diagonalEntry(path, point, inward, 30), + closeTo(circularEntry(20), 0.05), + ); + }); + }); +} diff --git a/test/widget/beam_shape_test.dart b/test/widget/beam_shape_test.dart new file mode 100644 index 0000000..3498f25 --- /dev/null +++ b/test/widget/beam_shape_test.dart @@ -0,0 +1,237 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_test/flutter_test.dart'; + +Widget _host(Widget child, {TextDirection? textDirection}) => MaterialApp( + theme: ThemeData(brightness: Brightness.dark), + home: Scaffold( + body: Center( + child: SizedBox( + width: 350, + height: 140, + child: textDirection == null + ? child + : Directionality(textDirection: textDirection, child: child), + ), + ), + ), +); + +BeamConfig _config(WidgetTester tester) => tester + .widgetList( + find.descendant( + of: find.byType(BorderBeam), + matching: find.byType(CustomPaint), + ), + ) + .expand((paint) => [paint.painter, paint.foregroundPainter]) + .whereType() + .first + .config; + +/// How `BeamShape` reaches `BeamConfig`: inherited from a `BorderBeamTheme`, +/// overridden field by field on the widget, short-circuited by the +/// `borderRadius:` shorthand, and — for a directional radius — resolved +/// against the ambient `Directionality`. +void main() { + group('inheritance', () { + testWidgets('a theme borderWidth and superellipse reach the config', ( + tester, + ) async { + await tester.pumpWidget( + _host( + const BorderBeamTheme( + data: BorderBeamThemeData( + shape: BeamShape(borderWidth: 4, superellipse: true), + ), + child: BorderBeam.rotate(child: SizedBox.expand()), + ), + ), + ); + final config = _config(tester); + expect(config.borderWidth, 4); + expect(config.useSuperellipse, isTrue); + expect( + config.borderRadius, + BorderRadius.circular(16), + reason: 'the radius still falls through to the rotate preset', + ); + }); + + testWidgets('the widget overrides an inherited superellipse with false', ( + tester, + ) async { + await tester.pumpWidget( + _host( + const BorderBeamTheme( + data: BorderBeamThemeData( + shape: BeamShape(superellipse: true, borderWidth: 4), + ), + child: BorderBeam.rotate( + shape: BeamShape(superellipse: false), + child: SizedBox.expand(), + ), + ), + ), + ); + final config = _config(tester); + expect(config.useSuperellipse, isFalse, reason: 'false is a value'); + expect(config.borderWidth, 4, reason: 'the field it did not set'); + }); + + testWidgets('each variant keeps its own default radius and width', ( + tester, + ) async { + for (final variant in BeamVariant.values) { + await tester.pumpWidget( + _host(BorderBeam(variant: variant, child: const SizedBox.expand())), + ); + final config = _config(tester); + expect( + config.borderRadius, + BorderRadius.circular(variant == BeamVariant.small ? 32 : 16), + reason: '$variant', + ); + expect(config.borderWidth, 1, reason: '$variant'); + expect(config.useSuperellipse, isFalse, reason: '$variant'); + } + }); + }); + + group('borderRadius shorthand', () { + testWidgets('beats shape.radius on the same widget', (tester) async { + await tester.pumpWidget( + _host( + BorderBeam.rotate( + borderRadius: 8, + shape: BeamShape(radius: BorderRadius.circular(40)), + child: const SizedBox.expand(), + ), + ), + ); + expect(_config(tester).borderRadius, BorderRadius.circular(8)); + }); + + testWidgets('beats a theme radius', (tester) async { + await tester.pumpWidget( + _host( + BorderBeamTheme( + data: BorderBeamThemeData( + shape: BeamShape(radius: BorderRadius.circular(40)), + ), + child: const BorderBeam.rotate( + borderRadius: 8, + child: SizedBox.expand(), + ), + ), + ), + ); + expect(_config(tester).borderRadius, BorderRadius.circular(8)); + }); + + testWidgets('leaves the other shape fields alone', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeam.rotate( + borderRadius: 8, + shape: BeamShape(borderWidth: 6, superellipse: true), + child: SizedBox.expand(), + ), + ), + ); + final config = _config(tester); + expect(config.borderRadius, BorderRadius.circular(8)); + expect(config.borderWidth, 6); + expect(config.useSuperellipse, isTrue); + }); + + testWidgets('a stadium shape survives to the config as an infinite ' + 'radius', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeam.rotate( + shape: BeamShape.stadium(), + child: SizedBox.expand(), + ), + ), + ); + expect( + _config(tester).borderRadius, + const BorderRadius.all(Radius.circular(double.infinity)), + reason: 'the ring geometry, not the config, clamps it to the box', + ); + }); + }); + + group('directional radius', () { + const directional = BorderRadiusDirectional.only( + topStart: Radius.circular(20), + ); + + Widget beam(TextDirection direction) => _host( + textDirection: direction, + const BorderBeam.rotate( + shape: BeamShape(radius: directional), + child: SizedBox.expand(), + ), + ); + + testWidgets('topStart resolves to the top-left corner in LTR', ( + tester, + ) async { + await tester.pumpWidget(beam(TextDirection.ltr)); + final radius = _config(tester).borderRadius; + expect(radius.topLeft, const Radius.circular(20)); + expect(radius.topRight, Radius.zero); + }); + + testWidgets('topStart resolves to the top-right corner in RTL', ( + tester, + ) async { + await tester.pumpWidget(beam(TextDirection.rtl)); + final radius = _config(tester).borderRadius; + expect(radius.topRight, const Radius.circular(20)); + expect(radius.topLeft, Radius.zero); + expect(radius.bottomLeft, Radius.zero); + expect(radius.bottomRight, Radius.zero); + }); + + testWidgets('flipping the direction re-resolves the config', ( + tester, + ) async { + await tester.pumpWidget(beam(TextDirection.ltr)); + final ltr = _config(tester); + + await tester.pumpWidget(beam(TextDirection.rtl)); + final rtl = _config(tester); + expect(identical(rtl, ltr), isFalse, reason: 'a fresh config object'); + expect(rtl.borderRadius.topRight, const Radius.circular(20)); + + await tester.pumpWidget(beam(TextDirection.ltr)); + final back = _config(tester); + expect(identical(back, rtl), isFalse); + expect(back.borderRadius, ltr.borderRadius); + }); + + testWidgets('a non-directional radius is unaffected by RTL', ( + tester, + ) async { + await tester.pumpWidget( + _host( + textDirection: TextDirection.rtl, + BorderBeam.rotate( + shape: BeamShape( + radius: const BorderRadius.only(topLeft: Radius.circular(20)), + ), + child: const SizedBox.expand(), + ), + ), + ); + final radius = _config(tester).borderRadius; + expect(radius.topLeft, const Radius.circular(20)); + expect(radius.topRight, Radius.zero); + }); + }); +} diff --git a/test/widget/beam_shorthand_test.dart b/test/widget/beam_shorthand_test.dart new file mode 100644 index 0000000..0e2fb5a --- /dev/null +++ b/test/widget/beam_shorthand_test.dart @@ -0,0 +1,258 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_test/flutter_test.dart'; + +Widget _host(Widget child) => MaterialApp( + theme: ThemeData(brightness: Brightness.dark), + home: Scaffold( + body: Center(child: SizedBox(width: 350, height: 140, child: child)), + ), +); + +BeamPainter _painter(WidgetTester tester) => tester + .widgetList( + find.descendant( + of: find.byType(BorderBeam), + matching: find.byType(CustomPaint), + ), + ) + .expand((paint) => [paint.painter, paint.foregroundPainter]) + .whereType() + .first; + +/// The three shorthands (`colors`, `active`, `borderRadius`) are the top of +/// the resolution order: they beat the value object they abbreviate on the +/// same widget, and everything a `BorderBeamTheme` supplies. The generic +/// `BorderBeam(variant:)` constructor must build exactly what the matching +/// named constructor does. +/// +/// The `borderRadius` shorthand is covered in `beam_shape_test.dart`, next +/// to the rest of the shape resolution. +void main() { + group('colors shorthand', () { + testWidgets('beats style.colors on the same widget', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeam.rotate( + colors: BeamColors.sunset, + style: BeamStyle(colors: BeamColors.ocean, strength: 0.3), + child: SizedBox.expand(), + ), + ), + ); + final config = _painter(tester).config; + expect(identical(config.palette, BeamColors.sunset.resolve()), isTrue); + expect(config.strength, 0.3, reason: 'the rest of the style survives'); + }); + + testWidgets('beats a theme colors and the widget style together', ( + tester, + ) async { + await tester.pumpWidget( + _host( + const BorderBeamTheme( + data: BorderBeamThemeData( + style: BeamStyle(colors: BeamColors.ocean), + ), + child: BorderBeam.rotate( + colors: BeamColors.sunset, + style: BeamStyle(colors: BeamColors.mono), + child: SizedBox.expand(), + ), + ), + ), + ); + final config = _painter(tester).config; + expect(identical(config.palette, BeamColors.sunset.resolve()), isTrue); + expect( + config.staticColors, + isFalse, + reason: 'the mono palette never took effect', + ); + }); + + testWidgets('a null shorthand leaves style.colors in charge', ( + tester, + ) async { + await tester.pumpWidget( + _host( + const BorderBeam.rotate( + style: BeamStyle(colors: BeamColors.ocean), + child: SizedBox.expand(), + ), + ), + ); + expect( + identical(_painter(tester).config.palette, BeamColors.ocean.resolve()), + isTrue, + ); + }); + }); + + group('active shorthand', () { + testWidgets('beats playback.active on the same widget', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeam.rotate( + active: true, + playback: BeamPlayback(active: false), + child: SizedBox.expand(), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 50)); + expect(_painter(tester).clock.isVisible, isTrue); + expect(tester.binding.hasScheduledFrame, isTrue); + }); + + testWidgets('active: false wins over playback.active: true', ( + tester, + ) async { + await tester.pumpWidget( + _host( + const BorderBeam.rotate( + active: false, + playback: BeamPlayback(active: true), + child: SizedBox.expand(), + ), + ), + ); + await tester.pump(const Duration(seconds: 1)); + expect(_painter(tester).clock.isVisible, isFalse); + expect(tester.binding.hasScheduledFrame, isFalse); + }); + + testWidgets('beats a theme playback', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeamTheme( + data: BorderBeamThemeData(playback: BeamPlayback(active: false)), + child: BorderBeam.rotate(active: true, child: SizedBox.expand()), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 50)); + expect(_painter(tester).clock.isVisible, isTrue); + }); + + testWidgets('a theme active: false keeps a plain beam idle', ( + tester, + ) async { + await tester.pumpWidget( + _host( + const BorderBeamTheme( + data: BorderBeamThemeData(playback: BeamPlayback(active: false)), + child: BorderBeam.rotate(child: SizedBox.expand()), + ), + ), + ); + await tester.pump(const Duration(seconds: 1)); + expect(_painter(tester).clock.isVisible, isFalse); + expect(tester.binding.hasScheduledFrame, isFalse); + }); + + testWidgets('the shorthand keeps the rest of the playback', (tester) async { + var deactivated = 0; + await tester.pumpWidget( + _host( + BorderBeam.rotate( + active: true, + playback: const BeamPlayback( + active: false, + duration: Duration(seconds: 1), + ), + onDeactivate: () => deactivated++, + child: const SizedBox.expand(), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1100)); + await tester.pump(const Duration(milliseconds: 600)); + expect(deactivated, 1, reason: 'playback.duration still applies'); + }); + }); + + group('the generic constructor', () { + Widget named(BeamVariant variant) => switch (variant) { + BeamVariant.rotate => const BorderBeam.rotate( + colors: BeamColors.ocean, + child: SizedBox.expand(), + ), + BeamVariant.small => const BorderBeam.small( + colors: BeamColors.ocean, + child: SizedBox.expand(), + ), + BeamVariant.line => const BorderBeam.line( + colors: BeamColors.ocean, + child: SizedBox.expand(), + ), + BeamVariant.pulseInside => const BorderBeam.pulseInside( + colors: BeamColors.ocean, + child: SizedBox.expand(), + ), + BeamVariant.pulseOutside => const BorderBeam.pulseOutside( + colors: BeamColors.ocean, + child: SizedBox.expand(), + ), + }; + + for (final variant in BeamVariant.values) { + testWidgets('$variant matches its named constructor', (tester) async { + await tester.pumpWidget( + _host( + BorderBeam( + variant: variant, + colors: BeamColors.ocean, + child: const SizedBox.expand(), + ), + ), + ); + final generic = _painter(tester); + expect(generic.config.variant, variant); + expect( + identical(generic.strategy, strategyFor(variant)), + isTrue, + reason: 'the strategy for $variant', + ); + + await tester.pumpWidget(_host(named(variant))); + final byName = _painter(tester); + expect(byName.config, generic.config); + expect(identical(byName.strategy, generic.strategy), isTrue); + expect(byName.behind, generic.behind); + }); + } + + testWidgets('pulseOutside is the only variant that paints behind', ( + tester, + ) async { + for (final variant in BeamVariant.values) { + await tester.pumpWidget( + _host(BorderBeam(variant: variant, child: const SizedBox.expand())), + ); + final custom = tester.widget( + find + .descendant( + of: find.byType(BorderBeam), + matching: find.byType(CustomPaint), + ) + .first, + ); + expect( + custom.painter, + variant == BeamVariant.pulseOutside ? isA() : isNull, + reason: '$variant', + ); + expect( + custom.foregroundPainter, + isA(), + reason: '$variant', + ); + } + }); + }); +} diff --git a/test/widget/beam_speed_test.dart b/test/widget/beam_speed_test.dart new file mode 100644 index 0000000..270c706 --- /dev/null +++ b/test/widget/beam_speed_test.dart @@ -0,0 +1,193 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/animation/beam_clock.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_test/flutter_test.dart'; + +Widget _host(Widget child) => MaterialApp( + theme: ThemeData(brightness: Brightness.dark), + home: Scaffold( + body: Center(child: SizedBox(width: 350, height: 140, child: child)), + ), +); + +BeamClock _clock(WidgetTester tester) => tester + .widgetList( + find.descendant( + of: find.byType(BorderBeam), + matching: find.byType(CustomPaint), + ), + ) + .expand((paint) => [paint.painter, paint.foregroundPainter]) + .whereType() + .first + .clock; + +/// `BeamTiming.speed` is the declarative playback rate: the beam's timeline +/// advances by `speed` seconds of animation per second of wall time. A +/// `BorderBeamController` owns the rate instead whenever one is attached. +void main() { + testWidgets('speed 2 advances the timeline at twice wall time', ( + tester, + ) async { + await tester.pumpWidget( + _host( + const BorderBeam.rotate( + timing: BeamTiming(speed: 2), + child: SizedBox.expand(), + ), + ), + ); + final clock = _clock(tester); + expect(clock.speed, 2); + // The first tick after Ticker.start reports elapsed 0. + await tester.pump(); + await tester.pump(const Duration(milliseconds: 500)); + expect(clock.elapsedSeconds, closeTo(1, 1e-9)); + await tester.pump(const Duration(milliseconds: 500)); + expect(clock.elapsedSeconds, closeTo(2, 1e-9)); + }); + + testWidgets('the default rate is real time', (tester) async { + await tester.pumpWidget( + _host(const BorderBeam.rotate(child: SizedBox.expand())), + ); + final clock = _clock(tester); + expect(clock.speed, 1); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 500)); + expect(clock.elapsedSeconds, closeTo(0.5, 1e-9)); + }); + + testWidgets('changing speed on rebuild takes effect from the next frame', ( + tester, + ) async { + Widget build(double speed) => _host( + BorderBeam.rotate( + timing: BeamTiming(speed: speed), + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(2)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 500)); + final clock = _clock(tester); + expect(clock.elapsedSeconds, closeTo(1, 1e-9)); + + await tester.pumpWidget(build(0.5)); + expect(clock.speed, 0.5); + expect( + clock.elapsedSeconds, + closeTo(1, 1e-9), + reason: 'a rate change does not move the timeline', + ); + await tester.pump(const Duration(seconds: 1)); + expect(clock.elapsedSeconds, closeTo(1.5, 1e-9)); + }); + + testWidgets('a BorderBeamTheme speed is inherited', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeamTheme( + data: BorderBeamThemeData(timing: BeamTiming(speed: 3)), + child: BorderBeam.rotate(child: SizedBox.expand()), + ), + ), + ); + final clock = _clock(tester); + expect(clock.speed, 3); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 200)); + expect(clock.elapsedSeconds, closeTo(0.6, 1e-9)); + }); + + testWidgets('a widget speed beats an inherited one', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeamTheme( + data: BorderBeamThemeData(timing: BeamTiming(speed: 3)), + child: BorderBeam.rotate( + timing: BeamTiming(speed: 0.25), + child: SizedBox.expand(), + ), + ), + ), + ); + expect(_clock(tester).speed, 0.25); + }); + + testWidgets('a non-positive speed asserts', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeam.rotate( + timing: BeamTiming(speed: 0), + child: SizedBox.expand(), + ), + ), + ); + expect(tester.takeException(), isAssertionError); + }); + + group('with a controller attached', () { + testWidgets('the widget speed is ignored', (tester) async { + final controller = BorderBeamController(); + addTearDown(controller.dispose); + await tester.pumpWidget( + _host( + BorderBeam.rotate( + controller: controller, + timing: const BeamTiming(speed: 5), + child: const SizedBox.expand(), + ), + ), + ); + final clock = _clock(tester); + expect(clock.speed, 1, reason: "the controller's own rate wins"); + + controller.speed = 4; + expect(clock.speed, 4); + controller.start(); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 250)); + expect(clock.elapsedSeconds, closeTo(1, 1e-9)); + }); + + testWidgets('a rebuild does not restore the widget speed', (tester) async { + final controller = BorderBeamController(); + addTearDown(controller.dispose); + Widget build(BeamColors colors) => _host( + BorderBeam.rotate( + controller: controller, + colors: colors, + timing: const BeamTiming(speed: 5), + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(BeamColors.ocean)); + controller.speed = 2; + await tester.pumpWidget(build(BeamColors.sunset)); + expect(_clock(tester).speed, 2); + }); + + testWidgets('detaching hands the rate back to the widget', (tester) async { + final controller = BorderBeamController(); + addTearDown(controller.dispose); + Widget build(BorderBeamController? c) => _host( + BorderBeam.rotate( + controller: c, + timing: const BeamTiming(speed: 5), + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(controller)); + controller.speed = 2; + expect(_clock(tester).speed, 2); + + await tester.pumpWidget(build(null)); + expect(_clock(tester).speed, 5); + }); + }); +} diff --git a/test/widget/beam_theme_config_test.dart b/test/widget/beam_theme_config_test.dart new file mode 100644 index 0000000..ef5e378 --- /dev/null +++ b/test/widget/beam_theme_config_test.dart @@ -0,0 +1,256 @@ +import 'dart:typed_data'; +import 'dart:ui' as ui; + +import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/constants/theme_presets.dart'; +import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_test/flutter_test.dart'; + +Widget _host(Widget child) => MaterialApp( + theme: ThemeData(brightness: Brightness.dark), + home: Scaffold( + body: Center( + child: SizedBox( + width: 200, + height: 100, + child: RepaintBoundary(child: child), + ), + ), + ), +); + +BeamConfig _config(WidgetTester tester) => tester + .widgetList( + find.descendant( + of: find.byType(BorderBeam), + matching: find.byType(CustomPaint), + ), + ) + .expand((paint) => [paint.painter, paint.foregroundPainter]) + .whereType() + .first + .config; + +/// Rasterizes the beam's repaint boundary as raw RGBA. +Future _pixels(WidgetTester tester) async { + final boundary = tester.renderObject( + find.byType(BorderBeam), + ); + final bytes = await tester.runAsync(() async { + final image = await boundary.toImage(); + final data = await image.toByteData(format: ui.ImageByteFormat.rawRgba); + image.dispose(); + return data!.buffer.asUint8List(); + }); + return bytes!; +} + +/// `BeamStyle.themeConfig` replaces the whole variant×brightness preset, so a +/// layer opacity set to zero must reach the painter's config *and* the +/// rasterized frame. +void main() { + group('themeConfig through a mounted beam', () { + Widget beam(BeamThemeConfig? themeConfig) => _host( + BorderBeam.rotate( + style: BeamStyle(themeConfig: themeConfig), + // A frozen palette and no hue animation keeps two renders of the + // same config byte-identical. + colors: BeamColors.ocean, + child: const SizedBox.expand(), + ), + ); + + testWidgets('replaces the preset the variant would have used', ( + tester, + ) async { + final preset = BeamThemeConfig.presetFor( + BeamVariant.rotate, + Brightness.dark, + ); + await tester.pumpWidget(beam(preset.copyWith(strokeOpacity: 0))); + final config = _config(tester); + expect(config.theme.strokeOpacity, 0); + expect( + config.theme.innerOpacity, + preset.innerOpacity, + reason: 'the untouched fields still come from the preset', + ); + expect(config.theme.bloomOpacity, preset.bloomOpacity); + expect(config.theme.innerShadow, preset.innerShadow); + }); + + testWidgets('a zero stroke opacity changes the rendered frame', ( + tester, + ) async { + final preset = BeamThemeConfig.presetFor( + BeamVariant.rotate, + Brightness.dark, + ); + + await tester.pumpWidget(beam(null)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1300)); + final withStroke = await _pixels(tester); + + // The same tree again: the rasterization itself is deterministic, so a + // difference below can only come from the config. + await tester.pumpWidget(beam(null)); + await tester.pump(); + expect( + await _pixels(tester), + withStroke, + reason: 'an unchanged config renders the identical frame', + ); + + await tester.pumpWidget(beam(preset.copyWith(strokeOpacity: 0))); + await tester.pump(); + final withoutStroke = await _pixels(tester); + expect( + withoutStroke, + isNot(withStroke), + reason: 'the stroke layer is gone', + ); + expect(withoutStroke.length, withStroke.length); + }); + + testWidgets('a fully transparent preset paints nothing', (tester) async { + const blank = BeamThemeConfig( + strokeOpacity: 0, + innerOpacity: 0, + bloomOpacity: 0, + innerShadow: Color(0x00000000), + saturation: 1, + ); + await tester.pumpWidget(beam(blank)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1300)); + final pixels = await _pixels(tester); + var opaque = 0; + for (var i = 3; i < pixels.length; i += 4) { + if (pixels[i] != 0) opaque++; + } + expect(opaque, 0, reason: 'every beam layer opacity is zero'); + }); + + testWidgets('style brightness and saturation still override it', ( + tester, + ) async { + await tester.pumpWidget( + _host( + BorderBeam.rotate( + style: BeamStyle( + themeConfig: BeamThemeConfig.presetFor( + BeamVariant.rotate, + Brightness.dark, + ).copyWith(brightness: 2, saturation: 3), + brightness: 0.5, + saturation: 0.25, + ), + child: const SizedBox.expand(), + ), + ), + ); + final config = _config(tester); + expect(config.brightnessFactor, 0.5); + expect(config.saturation, 0.25); + }); + + testWidgets('a themeConfig from a BorderBeamTheme is inherited', ( + tester, + ) async { + final preset = BeamThemeConfig.presetFor( + BeamVariant.line, + Brightness.dark, + ).copyWith(bloomOpacity: 0.05); + await tester.pumpWidget( + _host( + BorderBeamTheme( + data: BorderBeamThemeData(style: BeamStyle(themeConfig: preset)), + child: const BorderBeam.line(child: SizedBox.expand()), + ), + ), + ); + expect(_config(tester).theme.bloomOpacity, 0.05); + }); + }); + + group('BeamThemeConfig', () { + test('presetFor matches themePresetFor for every variant × brightness', () { + for (final variant in BeamVariant.values) { + for (final brightness in Brightness.values) { + final preset = BeamThemeConfig.presetFor(variant, brightness); + final expected = themePresetFor(variant, brightness); + expect(preset, expected, reason: '$variant $brightness'); + expect(preset.strokeOpacity, expected.strokeOpacity); + expect(preset.innerOpacity, expected.innerOpacity); + expect(preset.bloomOpacity, expected.bloomOpacity); + expect(preset.innerShadow, expected.innerShadow); + expect(preset.saturation, expected.saturation); + expect(preset.brightness, expected.brightness); + expect(preset.hairlineOpacity, expected.hairlineOpacity); + } + } + }); + + test('dark and light presets differ for every variant', () { + for (final variant in BeamVariant.values) { + expect( + BeamThemeConfig.presetFor(variant, Brightness.dark), + isNot(BeamThemeConfig.presetFor(variant, Brightness.light)), + reason: '$variant', + ); + } + }); + + test('copyWith keeps every field it is not given', () { + const base = BeamThemeConfig( + strokeOpacity: 0.26, + innerOpacity: 0.42, + bloomOpacity: 0.24, + innerShadow: Color(0x44FFFFFF), + saturation: 1.2, + brightness: 1.1, + hairlineOpacity: 0.3, + ); + final copy = base.copyWith(bloomOpacity: 0.9); + expect(copy.bloomOpacity, 0.9); + expect(copy.strokeOpacity, base.strokeOpacity); + expect(copy.innerOpacity, base.innerOpacity); + expect(copy.innerShadow, base.innerShadow); + expect(copy.saturation, base.saturation); + expect(copy.brightness, base.brightness); + expect(copy.hairlineOpacity, base.hairlineOpacity); + expect(base.copyWith(), base, reason: 'an empty copy is the same value'); + }); + + test('equality and hashCode are by value', () { + const a = BeamThemeConfig( + strokeOpacity: 0.5, + innerOpacity: 0.4, + bloomOpacity: 0.3, + innerShadow: Color(0x22000000), + saturation: 1.5, + ); + const b = BeamThemeConfig( + strokeOpacity: 0.5, + innerOpacity: 0.4, + bloomOpacity: 0.3, + innerShadow: Color(0x22000000), + saturation: 1.5, + ); + expect(a, b); + expect(a.hashCode, b.hashCode); + expect(a, isNot(b.copyWith(strokeOpacity: 0.51))); + expect(a, isNot(b.copyWith(innerOpacity: 0.41))); + expect(a, isNot(b.copyWith(bloomOpacity: 0.31))); + expect(a, isNot(b.copyWith(innerShadow: const Color(0x22000001)))); + expect(a, isNot(b.copyWith(saturation: 1.51))); + expect(a, isNot(b.copyWith(brightness: 1))); + expect(a, isNot(b.copyWith(hairlineOpacity: 0))); + expect(a.toString(), contains('strokeOpacity: 0.5')); + }); + }); +} diff --git a/test/widget/border_beam_cycle_gap_test.dart b/test/widget/border_beam_cycle_gap_test.dart index 283daac..e0da1f9 100644 --- a/test/widget/border_beam_cycle_gap_test.dart +++ b/test/widget/border_beam_cycle_gap_test.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_border_beam/flutter_border_beam.dart'; import 'package:flutter_border_beam/src/animation/beam_phases.dart'; +import 'package:flutter_border_beam/src/models/beam_config.dart'; import 'package:flutter_border_beam/src/painting/beam_painter.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -11,7 +12,7 @@ Widget _host(Widget child) => MaterialApp( ), ); -BeamPhaseResolver _resolver(WidgetTester tester) => tester +BeamPainter _painter(WidgetTester tester) => tester .widgetList( find.descendant( of: find.byType(BorderBeam), @@ -20,8 +21,24 @@ BeamPhaseResolver _resolver(WidgetTester tester) => tester ) .expand((paint) => [paint.painter, paint.foregroundPainter]) .whereType() - .first - .resolver; + .first; + +BeamPhaseResolver _resolver(WidgetTester tester) => _painter(tester).resolver; + +// A resolver built straight from a config, for the instants the envelope is +// specified at — no clock, no widget. +BeamPhaseResolver _direct({ + required Duration cycle, + required Duration gap, + BeamVariant variant = BeamVariant.rotate, +}) => BeamPhaseResolver( + BeamConfig.resolve( + variant: variant, + palette: BeamColors.colorful.resolve(), + brightness: Brightness.dark, + timing: BeamTiming(cycle: cycle, cycleGap: gap), + ), +); /// `BeamTiming.cycleGap` rests the traveling beam between sweeps: the sweep /// still takes `cycle`, then the beam parks at the end of its travel and its @@ -104,4 +121,203 @@ void main() { ); } }); + + group('retiming across a gap', () { + const twoPlusOne = BeamTiming( + cycle: Duration(seconds: 2), + cycleGap: Duration(seconds: 1), + ); + + testWidgets('a cycle change mid-sweep keeps travel progress continuous', ( + tester, + ) async { + Widget build(BeamTiming timing) => _host( + BorderBeam.rotate(timing: timing, child: const SizedBox.expand()), + ); + + await tester.pumpWidget(build(twoPlusOne)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 900)); + final before = _painter(tester); + expect(before.clock.elapsedSeconds, closeTo(0.9, 1e-9)); + final angle = before.resolver.sample(0.9, 1).angleRadians; + + await tester.pumpWidget( + build( + const BeamTiming( + cycle: Duration(seconds: 4), + cycleGap: Duration(seconds: 1), + ), + ), + ); + final after = _painter(tester); + expect(after.config.cycleSeconds, closeTo(4, 1e-9)); + expect(after.config.gapSeconds, closeTo(1, 1e-9)); + expect( + after.clock.elapsedSeconds, + closeTo(1.8, 1e-9), + reason: 'elapsed is rescaled by the cycle ratio, gap and all', + ); + expect( + after.resolver.sample(after.clock.elapsedSeconds, 1).angleRadians, + closeTo(angle, 1e-6), + reason: 'the sweep is at the same fraction of its travel', + ); + }); + + testWidgets('changing only the gap needs no retime', (tester) async { + Widget build(Duration gap) => _host( + BorderBeam.rotate( + timing: BeamTiming(cycle: const Duration(seconds: 2), cycleGap: gap), + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(const Duration(seconds: 1))); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 900)); + final before = _painter(tester); + final angle = before.resolver.sample(0.9, 1).angleRadians; + + await tester.pumpWidget(build(const Duration(seconds: 2))); + final after = _painter(tester); + expect(after.config.gapSeconds, closeTo(2, 1e-9)); + expect( + after.clock.elapsedSeconds, + closeTo(0.9, 1e-9), + reason: 'the timeline is untouched', + ); + expect( + after.resolver.sample(0.9, 1).angleRadians, + closeTo(angle, 1e-9), + reason: 'the sweep keeps its position; the rest appears later', + ); + }); + + testWidgets('adding a gap to a running beam needs no retime either', ( + tester, + ) async { + Widget build(Duration gap) => _host( + BorderBeam.rotate( + timing: BeamTiming(cycle: const Duration(seconds: 2), cycleGap: gap), + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(Duration.zero)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 900)); + await tester.pumpWidget(build(const Duration(seconds: 1))); + expect(_painter(tester).clock.elapsedSeconds, closeTo(0.9, 1e-9)); + }); + }); + + group('the gap envelope', () { + // cycle 1s + gap 1s: the fade at each end is min(0.25, gap / 2) = 0.25s, + // and it is a smoothstep, so a quarter into the fade is 0.15625 and half + // way is exactly 0.5. + final resolver = _direct( + cycle: const Duration(seconds: 1), + gap: const Duration(seconds: 1), + ); + + test('it holds at 1 until the sweep ends', () { + expect(resolver.sample(0.999, 1).fadeOpacity, 1); + expect(resolver.sample(1, 1).fadeOpacity, closeTo(1, 1e-9)); + }); + + test('it eases 1 to 0 over the first quarter second of the rest', () { + expect(resolver.sample(1.0625, 1).fadeOpacity, closeTo(0.84375, 1e-9)); + expect(resolver.sample(1.125, 1).fadeOpacity, closeTo(0.5, 1e-9)); + expect(resolver.sample(1.1875, 1).fadeOpacity, closeTo(0.15625, 1e-9)); + expect(resolver.sample(1.25, 1).fadeOpacity, closeTo(0, 1e-9)); + }); + + test('it stays at 0 through the middle of the rest', () { + for (final t in [1.25, 1.4, 1.5, 1.6, 1.75]) { + expect(resolver.sample(t, 1).fadeOpacity, 0, reason: 't=$t'); + } + }); + + test('it eases 0 back to 1 over the last quarter second', () { + expect(resolver.sample(1.8125, 1).fadeOpacity, closeTo(0.15625, 1e-9)); + expect(resolver.sample(1.875, 1).fadeOpacity, closeTo(0.5, 1e-9)); + expect(resolver.sample(1.9375, 1).fadeOpacity, closeTo(0.84375, 1e-9)); + expect(resolver.sample(2, 1).fadeOpacity, closeTo(1, 1e-9)); + }); + + test('a 100ms gap fades for 50ms at each side', () { + final short = _direct( + cycle: const Duration(seconds: 1), + gap: const Duration(milliseconds: 100), + ); + expect(short.sample(1, 1).fadeOpacity, closeTo(1, 1e-9)); + expect(short.sample(1.025, 1).fadeOpacity, closeTo(0.5, 1e-9)); + expect( + short.sample(1.05, 1).fadeOpacity, + closeTo(0, 1e-9), + reason: 'the two fades meet in the middle, with no flat rest', + ); + expect(short.sample(1.075, 1).fadeOpacity, closeTo(0.5, 1e-9)); + expect(short.sample(1.1, 1).fadeOpacity, closeTo(1, 1e-9)); + }); + + test('it multiplies the beam own fade rather than replacing it', () { + expect(resolver.sample(1.125, 0.5).fadeOpacity, closeTo(0.25, 1e-9)); + expect(resolver.sample(0.5, 0.5).fadeOpacity, closeTo(0.5, 1e-9)); + }); + + test('the envelope repeats every cycle + gap', () { + for (final t in [0.3, 1.1, 1.5, 1.9]) { + expect( + resolver.sample(t + 2, 1).fadeOpacity, + closeTo(resolver.sample(t, 1).fadeOpacity, 1e-9), + reason: 't=$t', + ); + } + }); + }); + + group('the pulse variants ignore the gap', () { + for (final variant in [BeamVariant.pulseInside, BeamVariant.pulseOutside]) { + test('$variant breathes straight through it', () { + final gapped = _direct( + cycle: const Duration(seconds: 2), + gap: const Duration(seconds: 1), + variant: variant, + ); + final plain = _direct( + cycle: const Duration(seconds: 2), + gap: Duration.zero, + variant: variant, + ); + expect(gapped.config.gapSeconds, closeTo(1, 1e-9)); + + for (final t in [0.5, 2.0, 2.5, 3.0, 5.7]) { + final a = gapped.sample(t, 1); + final b = plain.sample(t, 1); + expect(a.fadeOpacity, 1, reason: 'no gap envelope at t=$t'); + expect(a.hueDegrees, closeTo(b.hueDegrees, 1e-9), reason: 't=$t'); + for (var i = 0; i < 3; i++) { + expect(a.pulse.bw[i], closeTo(b.pulse.bw[i], 1e-9), reason: 't=$t'); + expect(a.pulse.bh[i], closeTo(b.pulse.bh[i], 1e-9), reason: 't=$t'); + expect(a.pulse.bx[i], closeTo(b.pulse.bx[i], 1e-9), reason: 't=$t'); + expect(a.pulse.by[i], closeTo(b.pulse.by[i], 1e-9), reason: 't=$t'); + } + expect(a.pulse.bgh, closeTo(b.pulse.bgh, 1e-9), reason: 't=$t'); + expect(a.pulse.bopTl, closeTo(b.pulse.bopTl, 1e-9), reason: 't=$t'); + expect(a.pulse.bopBr, closeTo(b.pulse.bopBr, 1e-9), reason: 't=$t'); + } + }); + + test('$variant passes the beam fade straight through', () { + final gapped = _direct( + cycle: const Duration(seconds: 2), + gap: const Duration(seconds: 1), + variant: variant, + ); + expect(gapped.sample(2.5, 0.4).fadeOpacity, 0.4); + }); + } + }); } diff --git a/test/widget/border_beam_theme_test.dart b/test/widget/border_beam_theme_test.dart index ad92f65..b11d467 100644 --- a/test/widget/border_beam_theme_test.dart +++ b/test/widget/border_beam_theme_test.dart @@ -1,17 +1,22 @@ import 'package:flutter/material.dart'; import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/animation/beam_clock.dart'; import 'package:flutter_border_beam/src/models/beam_config.dart'; import 'package:flutter_border_beam/src/painting/beam_painter.dart'; import 'package:flutter_test/flutter_test.dart'; -Widget _host(Widget child) => MaterialApp( +Widget _host(Widget child, {bool disableAnimations = false}) => MaterialApp( theme: ThemeData(brightness: Brightness.dark), + builder: (context, app) => MediaQuery( + data: MediaQuery.of(context).copyWith(disableAnimations: disableAnimations), + child: app!, + ), home: Scaffold( body: Center(child: SizedBox(width: 350, height: 140, child: child)), ), ); -BeamConfig _config(WidgetTester tester) => tester +BeamPainter _painter(WidgetTester tester) => tester .widgetList( find.descendant( of: find.byType(BorderBeam), @@ -20,8 +25,11 @@ BeamConfig _config(WidgetTester tester) => tester ) .expand((paint) => [paint.painter, paint.foregroundPainter]) .whereType() - .first - .config; + .first; + +BeamConfig _config(WidgetTester tester) => _painter(tester).config; + +BeamClock _clock(WidgetTester tester) => _painter(tester).clock; /// A field left null on a beam falls through to the nearest /// [BorderBeamTheme], then to the variant preset; a value set on the beam @@ -128,4 +136,191 @@ void main() { await tester.pump(const Duration(seconds: 1)); expect(tester.binding.hasScheduledFrame, isFalse); }); + + group('playback through a theme', () { + testWidgets('an active shorthand still respects a theme autoPlay: false', ( + tester, + ) async { + await tester.pumpWidget( + _host( + const BorderBeamTheme( + data: BorderBeamThemeData(playback: BeamPlayback(autoPlay: false)), + child: BorderBeam.rotate(active: true, child: SizedBox.expand()), + ), + ), + ); + await tester.pump(const Duration(seconds: 1)); + expect( + _clock(tester).isVisible, + isFalse, + reason: 'active says what to play, autoPlay says whether to start it', + ); + expect(tester.binding.hasScheduledFrame, isFalse); + }); + + testWidgets('a beam autoPlay: true overrides a theme autoPlay: false', ( + tester, + ) async { + await tester.pumpWidget( + _host( + const BorderBeamTheme( + data: BorderBeamThemeData(playback: BeamPlayback(autoPlay: false)), + child: BorderBeam.rotate( + playback: BeamPlayback(autoPlay: true), + child: SizedBox.expand(), + ), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 50)); + expect(_clock(tester).isVisible, isTrue); + }); + + testWidgets('a theme startAfter delays the start', (tester) async { + var activated = 0; + await tester.pumpWidget( + _host( + BorderBeamTheme( + data: const BorderBeamThemeData( + playback: BeamPlayback(startAfter: Duration(seconds: 2)), + ), + child: BorderBeam.rotate( + onActivate: () => activated++, + child: const SizedBox.expand(), + ), + ), + ), + ); + await tester.pump(const Duration(seconds: 1)); + expect(activated, 0); + expect(_clock(tester).isVisible, isFalse); + expect(tester.binding.hasScheduledFrame, isFalse); + + await tester.pump(const Duration(seconds: 1, milliseconds: 100)); + await tester.pump(); + expect(_clock(tester).isVisible, isTrue); + await tester.pump(const Duration(milliseconds: 700)); + expect(activated, 1); + }); + + testWidgets('a beam startAfter overrides a theme one', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeamTheme( + data: BorderBeamThemeData( + playback: BeamPlayback(startAfter: Duration(seconds: 5)), + ), + child: BorderBeam.rotate( + playback: BeamPlayback(startAfter: Duration(milliseconds: 100)), + child: SizedBox.expand(), + ), + ), + ), + ); + await tester.pump(const Duration(milliseconds: 150)); + await tester.pump(); + expect(_clock(tester).isVisible, isTrue); + }); + + testWidgets('a theme duration bounds the total play time', (tester) async { + var deactivated = 0; + await tester.pumpWidget( + _host( + BorderBeamTheme( + data: const BorderBeamThemeData( + playback: BeamPlayback(duration: Duration(seconds: 1)), + ), + child: BorderBeam.rotate( + onDeactivate: () => deactivated++, + child: const SizedBox.expand(), + ), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1100)); + await tester.pump(const Duration(milliseconds: 600)); + expect(deactivated, 1); + }); + + testWidgets('a theme respectReducedMotion: false keeps the beam moving', ( + tester, + ) async { + await tester.pumpWidget( + _host( + disableAnimations: true, + const BorderBeamTheme( + data: BorderBeamThemeData( + playback: BeamPlayback(respectReducedMotion: false), + ), + child: BorderBeam.rotate(child: SizedBox.expand()), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 100)); + expect(_clock(tester).isRunning, isTrue); + }); + + testWidgets('a controller with a theme startAfter asserts', (tester) async { + final controller = BorderBeamController(); + addTearDown(controller.dispose); + await tester.pumpWidget( + _host( + BorderBeamTheme( + data: const BorderBeamThemeData( + playback: BeamPlayback(startAfter: Duration(seconds: 1)), + ), + child: BorderBeam.rotate( + controller: controller, + child: const SizedBox.expand(), + ), + ), + ), + ); + expect(tester.takeException(), isAssertionError); + }); + + testWidgets('a controller with a theme duration asserts', (tester) async { + final controller = BorderBeamController(); + addTearDown(controller.dispose); + await tester.pumpWidget( + _host( + BorderBeamTheme( + data: const BorderBeamThemeData( + playback: BeamPlayback(duration: Duration(seconds: 1)), + ), + child: BorderBeam.rotate( + controller: controller, + child: const SizedBox.expand(), + ), + ), + ), + ); + expect(tester.takeException(), isAssertionError); + }); + + testWidgets('an outer theme startAfter reaches a beam under an inner ' + 'theme', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeamTheme( + data: BorderBeamThemeData( + playback: BeamPlayback(startAfter: Duration(seconds: 2)), + ), + child: BorderBeamTheme( + data: BorderBeamThemeData(style: BeamStyle(strength: 0.5)), + child: BorderBeam.rotate(child: SizedBox.expand()), + ), + ), + ), + ); + await tester.pump(const Duration(seconds: 1)); + expect(_clock(tester).isVisible, isFalse); + await tester.pump(const Duration(seconds: 1, milliseconds: 100)); + await tester.pump(); + expect(_clock(tester).isVisible, isTrue); + }); + }); } From f5c44a3d6520a2320d7ada83eeb25a529b4e89fc Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 15:19:48 -0700 Subject: [PATCH 10/40] feat(example): expose the whole API in the playground with a shareable link The playground exposes every field of BeamStyle, BeamShape, BeamTiming, and BeamPlayback (per-variant where a field applies), a custom-palette picker, a BorderBeamController mode with transport buttons, a theme inheritance toggle, and dark and light previews side by side whose mock surface tracks the chosen shape. The Dart snippet emits only non-default fields, compiles when pasted, and copies to the clipboard; the state round-trips through a compact query codec that syncs to the browser URL on web and to a share link elsewhere. The gallery gains a themed section and a rest-between-sweeps card. Smoke tests exercise the controls and the codec and snippet generator have unit tests. Co-Authored-By: Claude Opus 5 (1M context) --- example/README.md | 70 ++- example/lib/main.dart | 188 +++++- example/lib/src/playground.dart | 350 +---------- example/lib/src/playground/controls.dart | 547 ++++++++++++++++++ .../lib/src/playground/controls_panel.dart | 530 +++++++++++++++++ .../src/playground/playground_section.dart | 239 ++++++++ .../lib/src/playground/playground_state.dart | 355 ++++++++++++ example/lib/src/playground/preview.dart | 175 ++++++ example/lib/src/playground/share_codec.dart | 211 +++++++ example/lib/src/playground/snippet.dart | 193 ++++++ example/test/gallery_smoke_test.dart | 149 ++++- example/test/share_codec_test.dart | 180 ++++++ example/test/snippet_test.dart | 179 ++++++ 13 files changed, 3000 insertions(+), 366 deletions(-) create mode 100644 example/lib/src/playground/controls.dart create mode 100644 example/lib/src/playground/controls_panel.dart create mode 100644 example/lib/src/playground/playground_section.dart create mode 100644 example/lib/src/playground/playground_state.dart create mode 100644 example/lib/src/playground/preview.dart create mode 100644 example/lib/src/playground/share_codec.dart create mode 100644 example/lib/src/playground/snippet.dart create mode 100644 example/test/share_codec_test.dart create mode 100644 example/test/snippet_test.dart diff --git a/example/README.md b/example/README.md index 46e7c02..a3c527f 100644 --- a/example/README.md +++ b/example/README.md @@ -4,24 +4,82 @@ The gallery app for the [`flutter_border_beam`](../) package — a Flutter recreation of the original [border-beam demo](https://beam.jakubantalik.com). ```bash -flutter run +flutter run # phone / desktop +flutter run -d chrome ``` ## What's in it - **Rotate** and **Pulse** example tabs, wrapping mock chat inputs, task cards, and search bars — the same surfaces the original demo uses. -- **Playground** — pick a variant and palette, drag `strength`, toggle the - superellipse contour, and play/pause the beam, with a live code snippet that - matches whatever you've dialled in. +- **Themed** — three variants under a single `BorderBeamTheme`. Each card sets + nothing but its variant, so colors, shape, and cycle all come from the theme. +- **Rest between sweeps** — a `cycleGap` beam that parks at the end of its + travel and fades away before the next sweep. +- **Playground** — every meaningful field of the API, live (below). - A dark/light theme toggle. Styling comes from the demo's own design tokens (`lib/src/demo_theme.dart`), not Material defaults. +## Playground + +`lib/src/playground/` holds the state bag every control drives +(`playground_state.dart`), the shareable-link codec (`share_codec.dart`), the +snippet generator (`snippet.dart`), the control widgets (`controls.dart`), and +the section itself (`playground_section.dart`). + +Controls are grouped into collapsible sections: + +| Section | Controls | +| --- | --- | +| Variant & colors | variant; palette (colorful / mono / ocean / sunset / custom); custom colors — 2–4 swatches from a fixed preset list, fed to `BeamColors.custom` | +| Shape | stadium, per-corner, and squircle toggles; a corner-radius slider (or four, in per-corner mode); border width | +| Timing | cycle, cycle gap, speed, hue period; breathe / spike / spike 2 on the line variant; a static-colors toggle | +| Style | strength, brightness, saturation, hue range, hue base, the three layer-opacity factors; `glowBoost` on the pulse variants; core blur, bloom blur, glow brightness, and glow saturation on pulse-outside | +| Playback | active toggle; controller mode with start / pause / resume / stop and its own speed; `startAfter` and `duration` outside controller mode | +| Theme | wraps the preview in a `BorderBeamTheme` carrying ocean colors and a squircle-20 shape | + +A few conventions worth knowing: + +- **The preview and the snippet come from the same rule.** Both emit only what + differs from the package default, so a fresh playground prints the one-liner, + and with the theme toggle on, a control left at its default inherits from the + `BorderBeamTheme` while anything you set wins. +- **`auto` means "let the package decide".** Fields whose default depends on the + variant or a theme preset (cycle, hue period, brightness, saturation, and the + pulse-outside glow overrides) carry an `auto` chip that clears the override. +- **Controller mode owns playback.** With a controller attached, `startAfter`, + `duration`, `active`, and `timing.speed` belong to it, so those controls are + disabled and drop out of the snippet. +- **Two previews.** When the window is wide enough the configuration renders on + a dark and a light backdrop at once. `BeamTheme.auto` reads the ambient + brightness, so neither preview sets `theme:` — the snippet stays faithful. +- The **Copy** button beside the snippet puts it on the clipboard. + +### Share links + +The playground encodes itself into a compact `key=value&key=value` string +holding only the non-default fields, so the default configuration is the empty +string. On the web that string is written to the address bar, and reloading — +or opening someone's link — restores the configuration. **Copy share link** +copies the current URL on the web, and off the web a link into the published +example: + +``` +https://simplifyjobs.github.io/flutter_border_beam/#v=line&str=0.6 +``` + +Unknown keys, malformed pairs, and out-of-range values are ignored on the way +in, so a truncated or hand-edited link still opens a usable playground. + ## Demo reels Entry points other than `lib/main.dart` are recording reels driven by -`lib/demo_harness.dart` (marker contract: `::START/END` … -`:DONE`). Record them with the repo's `tool/record_demo.sh`: +`lib/demo_harness.dart`: a reel is a map of scene name → widget, and the +harness mounts each scene centered on the demo backdrop, printing the markers +the recorder keys off (`::START/END`, then `:DONE`). +`lib/showcase.dart` is the README reel; `lib/pulse_outside_demo.dart` is a +single long take of the pulse-outside halo. Record with the repo's +`tool/record_demo.sh`: ```bash # from the package root, with a booted iOS simulator and ffmpeg installed diff --git a/example/lib/main.dart b/example/lib/main.dart index a5c0618..1e7a0b5 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -64,11 +64,11 @@ class _DemoPageState extends State<_DemoPage> { ).copyWith(scrollbars: false, overscroll: false), child: SingleChildScrollView( padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 40), - child: Center( - child: ConstrainedBox( - constraints: const BoxConstraints(maxWidth: 560), - child: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + _CenteredColumn( + maxWidth: 560, children: [ _Header(onToggleTheme: theme.toggle, isDark: theme.isDark), const SizedBox(height: 36), @@ -87,15 +87,38 @@ class _DemoPageState extends State<_DemoPage> { : const _RotateExamples(key: ValueKey('rotate')), ), const SizedBox(height: 56), - const _SectionTitle('Playground'), + const _SectionTitle('Themed'), + const _SectionCaption( + 'One BorderBeamTheme above all three — each card sets ' + 'only its variant and inherits ocean + squircle 20.', + ), const SizedBox(height: 16), - const PlaygroundSection(), - const SizedBox(height: 56), - const _Footer(), - const SizedBox(height: 24), + const _ThemedExamples(), + const SizedBox(height: 40), + const _SectionTitle('Rest between sweeps'), + const _SectionCaption( + 'cycleGap parks the beam at the end of its travel and ' + 'fades it away before the next sweep starts.', + ), + const SizedBox(height: 16), + const _CycleGapExample(), ], ), - ), + const SizedBox(height: 56), + const _CenteredColumn( + maxWidth: 1040, + children: [ + _SectionTitle('Playground'), + SizedBox(height: 16), + PlaygroundSection(), + ], + ), + const SizedBox(height: 56), + const _CenteredColumn( + maxWidth: 560, + children: [_Footer(), SizedBox(height: 24)], + ), + ], ), ), ), @@ -149,6 +172,26 @@ class _Header extends StatelessWidget { } } +/// A page section held to [maxWidth] and centered — the gallery reads at +/// 560, the playground needs room for two previews beside its controls. +class _CenteredColumn extends StatelessWidget { + const _CenteredColumn({required this.maxWidth, required this.children}); + + final double maxWidth; + final List children; + + @override + Widget build(BuildContext context) => Center( + child: ConstrainedBox( + constraints: BoxConstraints(maxWidth: maxWidth), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: children, + ), + ), + ); +} + class _SectionTitle extends StatelessWidget { const _SectionTitle(this.text); @@ -169,6 +212,29 @@ class _SectionTitle extends StatelessWidget { } } +class _SectionCaption extends StatelessWidget { + const _SectionCaption(this.text); + + final String text; + + @override + Widget build(BuildContext context) { + final t = DemoTheme.of(context).tokens; + return Padding( + padding: const EdgeInsets.only(top: 6), + child: Text( + text, + style: TextStyle( + fontSize: 12, + height: 1.5, + color: t.muted, + decoration: TextDecoration.none, + ), + ), + ); + } +} + /// A frame around each example, matching the demo's `.example-cell`. class ExampleFrame extends StatelessWidget { /// Creates a frame. @@ -304,6 +370,106 @@ class _PulseExamples extends StatelessWidget { } } +// Defaults handed to the Themed section's three cards. Not const: building a +// BorderRadius from a number is a runtime construction, so BeamShape.circular +// cannot be const either. +final BorderBeamThemeData _galleryThemeData = BorderBeamThemeData( + style: const BeamStyle(colors: BeamColors.ocean), + shape: BeamShape.circular(20, superellipse: true), + timing: const BeamTiming(cycle: Duration(milliseconds: 2600)), +); + +/// Three variants under one [BorderBeamTheme]: each beam sets nothing but +/// its own variant, so colors, shape, and cycle all come from the theme. +class _ThemedExamples extends StatelessWidget { + const _ThemedExamples(); + + @override + Widget build(BuildContext context) { + return BorderBeamTheme( + data: _galleryThemeData, + child: Row( + children: [ + for (final entry in const [ + (label: 'rotate', variant: BeamVariant.rotate), + (label: 'small', variant: BeamVariant.small), + (label: 'pulseInside', variant: BeamVariant.pulseInside), + ]) ...[ + if (entry.label != 'rotate') const SizedBox(width: 16), + Expanded( + child: ExampleFrame( + height: 150, + clip: false, + child: SizedBox( + height: 84, + child: BorderBeam( + variant: entry.variant, + child: _ThemedCard(label: entry.label), + ), + ), + ), + ), + ], + ], + ), + ); + } +} + +/// The surface the themed cards wrap — squircle 20, matching the theme's +/// shape, since a beam never reads its child's decoration. +class _ThemedCard extends StatelessWidget { + const _ThemedCard({required this.label}); + + final String label; + + @override + Widget build(BuildContext context) { + final t = DemoTheme.of(context).tokens; + return Container( + decoration: ShapeDecoration( + color: t.mockBg, + shape: RoundedSuperellipseBorder( + borderRadius: BorderRadius.circular(20), + side: BorderSide(color: t.mockBorder), + ), + ), + alignment: Alignment.center, + child: Text( + label, + style: TextStyle( + fontSize: 12, + color: t.mockText, + fontFamily: 'Menlo', + fontFamilyFallback: const ['Courier New', 'monospace'], + decoration: TextDecoration.none, + ), + ), + ); + } +} + +/// A beam that rests between sweeps instead of running one straight into the +/// next. +class _CycleGapExample extends StatelessWidget { + const _CycleGapExample(); + + @override + Widget build(BuildContext context) { + final theme = DemoTheme.of(context); + return ExampleFrame( + child: BorderBeam.rotate( + style: BeamStyle( + theme: theme.isDark ? BeamTheme.dark : BeamTheme.light, + ), + borderRadius: 20, + timing: const BeamTiming(cycleGap: Duration(milliseconds: 900)), + child: const MockChatInput(), + ), + ); + } +} + class _Footer extends StatelessWidget { const _Footer(); diff --git a/example/lib/src/playground.dart b/example/lib/src/playground.dart index 518264a..be0d3ac 100644 --- a/example/lib/src/playground.dart +++ b/example/lib/src/playground.dart @@ -1,341 +1,9 @@ -import 'package:flutter_border_beam/flutter_border_beam.dart'; -import 'package:flutter/material.dart'; - -import 'demo_theme.dart'; - -/// The interactive playground of the gallery: variant / palette / strength / -/// superellipse controls, a live preview, and the generated Flutter snippet -/// (ports the React demo's playground). -class PlaygroundSection extends StatefulWidget { - /// Const constructor. - const PlaygroundSection({super.key}); - - @override - State createState() => _PlaygroundSectionState(); -} - -class _PlaygroundSectionState extends State { - static const _variants = [ - (label: 'Large', variant: BeamVariant.rotate), - (label: 'Small', variant: BeamVariant.small), - (label: 'Line', variant: BeamVariant.line), - (label: 'Pulse Inner', variant: BeamVariant.pulseInside), - (label: 'Pulse Outside', variant: BeamVariant.pulseOutside), - ]; - static const _palettes = [ - (label: 'Colorful', name: 'colorful', colors: BeamColors.colorful), - (label: 'Mono', name: 'mono', colors: BeamColors.mono), - (label: 'Ocean', name: 'ocean', colors: BeamColors.ocean), - (label: 'Sunset', name: 'sunset', colors: BeamColors.sunset), - ]; - - BeamVariant _variant = BeamVariant.rotate; - int _paletteIndex = 0; - double _strength = 0.7; - bool _superellipse = false; - bool _active = true; - - @override - Widget build(BuildContext context) { - final theme = DemoTheme.of(context); - final t = theme.tokens; - final beamTheme = theme.isDark ? BeamTheme.dark : BeamTheme.light; - final palette = _palettes[_paletteIndex]; - - final preview = Container( - width: 350, - height: 140, - alignment: Alignment.center, - decoration: BoxDecoration( - color: t.mockBg, - borderRadius: BorderRadius.circular(16), - border: Border.all(color: t.mockBorder), - ), - child: _variant == BeamVariant.small - ? null - : Text( - 'Build anything...', - style: TextStyle( - fontSize: 13, - color: t.mockPlaceholder, - decoration: TextDecoration.none, - ), - ), - ); - - // One call for every variant: the generic constructor takes the variant - // as a value, so the playground needs no switch. - final beam = BorderBeam( - variant: _variant, - colors: palette.colors, - active: _active, - // The small variant's 32px preset would overshoot the 350×140 preview. - borderRadius: _variant == BeamVariant.small ? 16 : null, - style: BeamStyle(theme: beamTheme, strength: _strength), - shape: BeamShape(superellipse: _superellipse), - child: preview, - ); - - return Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - _ControlRow( - label: 'Type', - child: Wrap( - spacing: 6, - runSpacing: 6, - children: [ - for (final v in _variants) - _Chip( - label: v.label, - selected: _variant == v.variant, - onTap: () => setState(() => _variant = v.variant), - ), - ], - ), - ), - const SizedBox(height: 12), - _ControlRow( - label: 'Colors', - child: Wrap( - spacing: 6, - children: [ - for (final (i, p) in _palettes.indexed) - _Chip( - label: p.label, - selected: _paletteIndex == i, - onTap: () => setState(() => _paletteIndex = i), - ), - ], - ), - ), - const SizedBox(height: 12), - _ControlRow( - label: 'Strength', - child: Row( - children: [ - Expanded( - child: _MinimalSlider( - value: _strength, - onChanged: (v) => setState(() => _strength = v), - ), - ), - const SizedBox(width: 12), - SizedBox( - width: 40, - child: Text( - '${(_strength * 100).round()}%', - style: TextStyle( - fontSize: 12, - color: t.muted, - decoration: TextDecoration.none, - ), - ), - ), - ], - ), - ), - const SizedBox(height: 12), - _ControlRow( - label: 'Options', - child: Wrap( - spacing: 6, - children: [ - _Chip( - label: 'Squircle', - selected: _superellipse, - onTap: () => setState(() => _superellipse = !_superellipse), - ), - _Chip( - label: _active ? 'Pause' : 'Play', - selected: !_active, - onTap: () => setState(() => _active = !_active), - ), - ], - ), - ), - const SizedBox(height: 20), - Container( - height: 280, - decoration: BoxDecoration( - color: theme.isDark ? t.surface : const Color(0xFFF7F7F7), - borderRadius: BorderRadius.circular(24), - ), - child: Center(child: beam), - ), - const SizedBox(height: 16), - _CodeBlock(code: _snippet(palette.name)), - ], - ); - } - - String _snippet(String paletteName) { - final constructor = switch (_variant) { - BeamVariant.rotate => 'rotate', - BeamVariant.small => 'small', - BeamVariant.line => 'line', - BeamVariant.pulseInside => 'pulseInside', - BeamVariant.pulseOutside => 'pulseOutside', - }; - final style = [ - if (_strength < 1) 'strength: ${_strength.toStringAsFixed(2)}', - ]; - final args = [ - if (paletteName != 'colorful') 'colors: BeamColors.$paletteName,', - if (!_active) 'active: false,', - if (style.isNotEmpty) 'style: const BeamStyle(${style.join(', ')}),', - if (_superellipse) 'shape: const BeamShape(superellipse: true),', - 'child: child,', - ]; - return 'BorderBeam.$constructor(\n ${args.join('\n ')}\n)'; - } -} - -class _ControlRow extends StatelessWidget { - const _ControlRow({required this.label, required this.child}); - - final String label; - final Widget child; - - @override - Widget build(BuildContext context) { - final t = DemoTheme.of(context).tokens; - return Row( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - SizedBox( - width: 80, - child: Text( - label, - style: TextStyle( - fontSize: 12, - color: t.muted, - decoration: TextDecoration.none, - ), - ), - ), - Expanded(child: child), - ], - ); - } -} - -class _Chip extends StatelessWidget { - const _Chip({ - required this.label, - required this.selected, - required this.onTap, - }); - - final String label; - final bool selected; - final VoidCallback onTap; - - @override - Widget build(BuildContext context) { - final t = DemoTheme.of(context).tokens; - return GestureDetector( - onTap: onTap, - child: AnimatedContainer( - duration: const Duration(milliseconds: 150), - height: 28, - padding: const EdgeInsets.symmetric(horizontal: 12), - alignment: Alignment.center, - decoration: BoxDecoration( - color: selected ? t.btnBgActive : t.btnBg, - borderRadius: BorderRadius.circular(14), - ), - child: Text( - label, - style: TextStyle( - fontSize: 12, - fontWeight: FontWeight.w500, - color: selected ? t.btnTextActive : t.btnText, - decoration: TextDecoration.none, - ), - ), - ), - ); - } -} - -class _MinimalSlider extends StatelessWidget { - const _MinimalSlider({required this.value, required this.onChanged}); - - final double value; - final ValueChanged onChanged; - - @override - Widget build(BuildContext context) { - final t = DemoTheme.of(context).tokens; - return LayoutBuilder( - builder: (context, constraints) { - void update(Offset local) { - onChanged((local.dx / constraints.maxWidth).clamp(0.0, 1.0)); - } - - return GestureDetector( - behavior: HitTestBehavior.opaque, - onTapDown: (d) => update(d.localPosition), - onHorizontalDragUpdate: (d) => update(d.localPosition), - child: SizedBox( - height: 28, - child: Center( - child: Stack( - children: [ - Container( - height: 6, - decoration: BoxDecoration( - color: t.trackBg, - borderRadius: BorderRadius.circular(3), - ), - ), - FractionallySizedBox( - widthFactor: value, - child: Container( - height: 6, - decoration: BoxDecoration( - color: t.trackFill, - borderRadius: BorderRadius.circular(3), - ), - ), - ), - ], - ), - ), - ), - ); - }, - ); - } -} - -class _CodeBlock extends StatelessWidget { - const _CodeBlock({required this.code}); - - final String code; - - @override - Widget build(BuildContext context) { - final t = DemoTheme.of(context).tokens; - return Container( - width: double.infinity, - padding: const EdgeInsets.all(16), - decoration: BoxDecoration( - color: t.panel, - borderRadius: BorderRadius.circular(16), - ), - child: Text( - code, - style: TextStyle( - fontSize: 12, - height: 1.6, - fontFamily: 'Menlo', - fontFamilyFallback: const ['Courier New', 'monospace'], - color: t.codeText, - decoration: TextDecoration.none, - ), - ), - ); - } -} +/// The gallery's interactive playground. +/// +/// The pieces live in `playground/`: the state bag every control drives +/// (`playground_state.dart`), the shareable-link codec (`share_codec.dart`), +/// the snippet generator (`snippet.dart`), the control widgets +/// (`controls.dart`), and the section itself (`playground_section.dart`). +library; + +export 'playground/playground_section.dart' show PlaygroundSection; diff --git a/example/lib/src/playground/controls.dart b/example/lib/src/playground/controls.dart new file mode 100644 index 0000000..a830e30 --- /dev/null +++ b/example/lib/src/playground/controls.dart @@ -0,0 +1,547 @@ +import 'package:flutter/material.dart'; + +import '../demo_theme.dart'; + +/// A collapsible group of playground controls, headed by a tappable title +/// row in the demo's own typography. +class ControlSection extends StatefulWidget { + /// Creates a section, open when [initiallyExpanded]. + const ControlSection({ + super.key, + required this.title, + required this.children, + this.initiallyExpanded = false, + }); + + /// Header label. + final String title; + + /// Rows revealed while the section is open. + final List children; + + /// Whether the section starts open. + final bool initiallyExpanded; + + @override + State createState() => _ControlSectionState(); +} + +class _ControlSectionState extends State { + late bool _expanded = widget.initiallyExpanded; + + @override + Widget build(BuildContext context) { + final t = DemoTheme.of(context).tokens; + return Container( + margin: const EdgeInsets.only(bottom: 8), + decoration: BoxDecoration( + color: t.panel, + borderRadius: BorderRadius.circular(16), + ), + clipBehavior: Clip.antiAlias, + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + GestureDetector( + behavior: HitTestBehavior.opaque, + onTap: () => setState(() => _expanded = !_expanded), + child: Padding( + padding: const EdgeInsets.fromLTRB(16, 14, 14, 14), + child: Row( + children: [ + Expanded( + child: Text( + widget.title, + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w600, + color: t.heading, + decoration: TextDecoration.none, + ), + ), + ), + AnimatedRotation( + turns: _expanded ? 0.5 : 0, + duration: const Duration(milliseconds: 180), + curve: const Cubic(0.22, 1, 0.36, 1), + child: Icon( + Icons.keyboard_arrow_down, + size: 18, + color: t.muted, + ), + ), + ], + ), + ), + ), + AnimatedSize( + duration: const Duration(milliseconds: 180), + curve: const Cubic(0.22, 1, 0.36, 1), + alignment: Alignment.topCenter, + child: _expanded + ? Padding( + padding: const EdgeInsets.fromLTRB(16, 0, 16, 14), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: widget.children, + ), + ) + : const SizedBox(width: double.infinity), + ), + ], + ), + ); + } +} + +/// A labelled control row: a fixed-width label and the control beside it, +/// stacking the two on narrow layouts. +class ControlRow extends StatelessWidget { + /// Creates a row. + const ControlRow({ + super.key, + required this.label, + required this.child, + this.enabled = true, + }); + + /// Left-hand label. + final String label; + + /// The control. + final Widget child; + + /// Whether the control accepts input; a disabled row dims and ignores + /// pointers. + final bool enabled; + + @override + Widget build(BuildContext context) { + final t = DemoTheme.of(context).tokens; + return Padding( + padding: const EdgeInsets.symmetric(vertical: 4), + child: Opacity( + opacity: enabled ? 1 : 0.4, + child: IgnorePointer( + ignoring: !enabled, + child: LayoutBuilder( + builder: (context, constraints) { + final labelWidget = Text( + label, + style: TextStyle( + fontSize: 12, + color: t.muted, + decoration: TextDecoration.none, + ), + ); + if (constraints.maxWidth < 300) { + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Align(alignment: Alignment.centerLeft, child: labelWidget), + const SizedBox(height: 2), + child, + ], + ); + } + return Row( + children: [ + SizedBox(width: 104, child: labelWidget), + Expanded(child: child), + ], + ); + }, + ), + ), + ), + ); + } +} + +/// The demo's pill control button, used for every toggle and choice. +class DemoChip extends StatelessWidget { + /// Creates a chip. + const DemoChip({ + super.key, + required this.label, + required this.selected, + required this.onTap, + this.leading, + }); + + /// Chip text. + final String label; + + /// Whether the chip reads as on. + final bool selected; + + /// Tap callback. + final VoidCallback onTap; + + /// Optional widget ahead of the label (a color dot, for instance). + final Widget? leading; + + @override + Widget build(BuildContext context) { + final t = DemoTheme.of(context).tokens; + return GestureDetector( + onTap: onTap, + child: AnimatedContainer( + duration: const Duration(milliseconds: 150), + curve: const Cubic(0.22, 1, 0.36, 1), + height: 28, + padding: const EdgeInsets.symmetric(horizontal: 12), + alignment: Alignment.center, + decoration: BoxDecoration( + color: selected ? t.btnBgActive : t.btnBg, + borderRadius: BorderRadius.circular(14), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + if (leading case final Widget widget) ...[ + widget, + const SizedBox(width: 6), + ], + Text( + label, + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.w500, + color: selected ? t.btnTextActive : t.btnText, + decoration: TextDecoration.none, + ), + ), + ], + ), + ), + ); + } +} + +/// A row of chips laid out as a wrap, one of which is selected. +class ChipGroup extends StatelessWidget { + /// Creates a chip group. + const ChipGroup({super.key, required this.children}); + + /// The chips. + final List children; + + @override + Widget build(BuildContext context) => + Wrap(spacing: 6, runSpacing: 6, children: children); +} + +/// The demo's minimal drag track, mapped over an arbitrary range. +class MinimalSlider extends StatelessWidget { + /// Creates a slider. + const MinimalSlider({ + super.key, + required this.value, + required this.min, + required this.max, + required this.onChanged, + }); + + /// Current value, clamped into [min]–[max] for display. + final double value; + + /// Range start. + final double min; + + /// Range end. + final double max; + + /// Called with the new value on tap or drag. + final ValueChanged onChanged; + + @override + Widget build(BuildContext context) { + final t = DemoTheme.of(context).tokens; + final fraction = ((value - min) / (max - min)).clamp(0.0, 1.0); + return LayoutBuilder( + builder: (context, constraints) { + void update(Offset local) { + final f = (local.dx / constraints.maxWidth).clamp(0.0, 1.0); + // Two decimals is the resolution the share codec round-trips. + onChanged(double.parse((min + f * (max - min)).toStringAsFixed(2))); + } + + return GestureDetector( + behavior: HitTestBehavior.opaque, + onTapDown: (d) => update(d.localPosition), + onHorizontalDragUpdate: (d) => update(d.localPosition), + child: SizedBox( + height: 28, + child: Center( + child: Stack( + children: [ + Container( + height: 6, + decoration: BoxDecoration( + color: t.trackBg, + borderRadius: BorderRadius.circular(3), + ), + ), + FractionallySizedBox( + widthFactor: fraction, + child: Container( + height: 6, + decoration: BoxDecoration( + color: t.trackFill, + borderRadius: BorderRadius.circular(3), + ), + ), + ), + ], + ), + ), + ), + ); + }, + ); + } +} + +/// A slider row that always carries a value, with the number shown beside +/// the track. +class SliderRow extends StatelessWidget { + /// Creates the row. + const SliderRow({ + super.key, + required this.label, + required this.value, + required this.min, + required this.max, + required this.onChanged, + this.suffix = '', + this.enabled = true, + }); + + /// Row label. + final String label; + + /// Current value. + final double value; + + /// Range start. + final double min; + + /// Range end. + final double max; + + /// Change callback. + final ValueChanged onChanged; + + /// Unit appended to the readout (`s`, `px`, `°`, `×`). + final String suffix; + + /// Whether the row accepts input. + final bool enabled; + + @override + Widget build(BuildContext context) => ControlRow( + label: label, + enabled: enabled, + child: Row( + children: [ + Expanded( + child: MinimalSlider( + value: value, + min: min, + max: max, + onChanged: onChanged, + ), + ), + const SizedBox(width: 10), + ValueReadout(text: '${formatControlValue(value)}$suffix'), + ], + ), + ); +} + +/// A slider row whose value may be null, meaning the package resolves it. +/// +/// The track sits at [fallback] while the value is null, and an `auto` chip +/// clears it back. +class NullableSliderRow extends StatelessWidget { + /// Creates the row. + const NullableSliderRow({ + super.key, + required this.label, + required this.value, + required this.fallback, + required this.min, + required this.max, + required this.onChanged, + this.suffix = '', + this.enabled = true, + }); + + /// Row label. + final String label; + + /// Current override, or null for the package default. + final double? value; + + /// Where the track sits, and what the readout reports, while [value] is + /// null. Null parks the track at [min] — the package default of that field + /// is internal to the variant preset. + final double? fallback; + + /// Range start. + final double min; + + /// Range end. + final double max; + + /// Change callback; null clears the override. + final ValueChanged onChanged; + + /// Unit appended to the readout. + final String suffix; + + /// Whether the row accepts input. + final bool enabled; + + @override + Widget build(BuildContext context) { + final shown = value ?? fallback ?? min; + return ControlRow( + label: label, + enabled: enabled, + child: Row( + children: [ + Expanded( + child: MinimalSlider( + value: shown, + min: min, + max: max, + onChanged: onChanged, + ), + ), + const SizedBox(width: 10), + ValueReadout( + text: value == null + ? 'auto' + : '${formatControlValue(shown)}$suffix', + ), + const SizedBox(width: 8), + DemoChip( + label: 'auto', + selected: value == null, + onTap: () => onChanged(null), + ), + ], + ), + ); + } +} + +/// The fixed-width numeric readout beside a slider. +class ValueReadout extends StatelessWidget { + /// Creates a readout. + const ValueReadout({super.key, required this.text}); + + /// Formatted value. + final String text; + + @override + Widget build(BuildContext context) { + final t = DemoTheme.of(context).tokens; + return SizedBox( + width: 52, + child: Text( + text, + textAlign: TextAlign.right, + style: TextStyle( + fontSize: 12, + color: t.muted, + fontFeatures: const [FontFeature.tabularFigures()], + decoration: TextDecoration.none, + ), + ), + ); + } +} + +/// Formats a control value for its readout: `2` rather than `2.00`. +String formatControlValue(double value) { + final fixed = value.toStringAsFixed(2); + if (!fixed.contains('.')) return fixed; + return fixed.replaceFirst(RegExp(r'\.?0+$'), ''); +} + +/// The playground's code panel: the generated snippet plus a +/// copy-to-clipboard action that confirms in place. +class CodeBlock extends StatelessWidget { + /// Creates the panel. + const CodeBlock({ + super.key, + required this.code, + required this.onCopy, + required this.copied, + }); + + /// Snippet text. + final String code; + + /// Copy action. + final VoidCallback onCopy; + + /// Whether the confirmation is showing. + final bool copied; + + @override + Widget build(BuildContext context) { + final t = DemoTheme.of(context).tokens; + return Container( + width: double.infinity, + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: t.panel, + borderRadius: BorderRadius.circular(16), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + AnimatedOpacity( + opacity: copied ? 1 : 0, + duration: const Duration(milliseconds: 150), + child: Text( + 'Copied', + style: TextStyle( + fontSize: 12, + color: t.muted, + decoration: TextDecoration.none, + ), + ), + ), + const SizedBox(width: 8), + DemoChip(label: 'Copy', selected: false, onTap: onCopy), + ], + ), + const SizedBox(height: 8), + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Text( + code, + key: const ValueKey('playground-snippet'), + style: TextStyle( + fontSize: 12, + height: 1.6, + fontFamily: 'Menlo', + fontFamilyFallback: const ['Courier New', 'monospace'], + color: t.codeText, + decoration: TextDecoration.none, + ), + ), + ), + ], + ), + ); + } +} diff --git a/example/lib/src/playground/controls_panel.dart b/example/lib/src/playground/controls_panel.dart new file mode 100644 index 0000000..6e2a50b --- /dev/null +++ b/example/lib/src/playground/controls_panel.dart @@ -0,0 +1,530 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; + +import '../demo_theme.dart'; +import 'controls.dart'; +import 'playground_state.dart'; + +/// Every playground control, grouped into collapsible sections. +/// +/// The panel owns no state: it reads [state], hands each edit to [onEdit], +/// and routes the two playback concerns the section owns — swapping a +/// controller in ([onControllerMode]) and driving one ([onControllerAction]) +/// — back up to it. +class ControlsPanel extends StatelessWidget { + /// Creates the panel. + const ControlsPanel({ + super.key, + required this.state, + required this.onEdit, + required this.onControllerMode, + required this.onControllerAction, + }); + + /// The configuration every control reads and writes. + final PlaygroundState state; + + /// Applies a mutation to [state] and rebuilds. + final void Function(VoidCallback mutate) onEdit; + + /// Turns controller mode on or off. + final ValueChanged onControllerMode; + + /// Runs an action against every attached controller. + final void Function(void Function(BorderBeamController)) onControllerAction; + + @override + Widget build(BuildContext context) => Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: _sections(context), + ); + + List _sections(BuildContext context) { + final s = state; + final isLine = s.variant == BeamVariant.line; + final isPulse = s.variant.isPulse; + final isOutside = s.variant == BeamVariant.pulseOutside; + final brightness = DemoTheme.of(context).isDark + ? Brightness.dark + : Brightness.light; + return [ + ControlSection( + title: 'Variant & colors', + initiallyExpanded: true, + children: [ + ControlRow( + label: 'Variant', + child: ChipGroup( + children: [ + for (final entry in _variantLabels.entries) + DemoChip( + label: entry.value, + selected: s.variant == entry.key, + onTap: () => onEdit(() => s.variant = entry.key), + ), + ], + ), + ), + ControlRow( + label: 'Palette', + child: ChipGroup( + children: [ + for (final preset in PalettePreset.values) + DemoChip( + label: preset.label, + selected: s.palette == preset, + onTap: () => onEdit(() => s.palette = preset), + ), + ], + ), + ), + if (s.palette == PalettePreset.custom) + ControlRow( + label: 'Custom colors', + child: ChipGroup( + children: [ + for (final (i, swatch) in customSwatches.indexed) + DemoChip( + label: swatch.name, + selected: s.customColors.contains(i), + leading: _Dot(color: swatch.color), + onTap: () => onEdit(() => _toggleSwatch(i)), + ), + ], + ), + ), + ], + ), + ControlSection( + title: 'Shape', + initiallyExpanded: true, + children: [ + ControlRow( + label: 'Corners', + child: ChipGroup( + children: [ + DemoChip( + label: 'Stadium', + selected: s.stadium, + onTap: () => onEdit(() => s.stadium = !s.stadium), + ), + DemoChip( + label: 'Per corner', + selected: s.perCorner, + onTap: () => onEdit(() => s.perCorner = !s.perCorner), + ), + DemoChip( + label: 'Squircle', + selected: s.superellipse, + onTap: () => onEdit(() => s.superellipse = !s.superellipse), + ), + ], + ), + ), + if (!s.stadium && !s.perCorner) + SliderRow( + label: 'Radius', + value: s.radius, + min: 0, + max: 48, + suffix: 'px', + onChanged: (v) => onEdit(() => s.radius = v), + ), + if (!s.stadium && s.perCorner) ...[ + SliderRow( + label: 'Top left', + value: s.radiusTopLeft, + min: 0, + max: 48, + suffix: 'px', + onChanged: (v) => onEdit(() => s.radiusTopLeft = v), + ), + SliderRow( + label: 'Top right', + value: s.radiusTopRight, + min: 0, + max: 48, + suffix: 'px', + onChanged: (v) => onEdit(() => s.radiusTopRight = v), + ), + SliderRow( + label: 'Bottom right', + value: s.radiusBottomRight, + min: 0, + max: 48, + suffix: 'px', + onChanged: (v) => onEdit(() => s.radiusBottomRight = v), + ), + SliderRow( + label: 'Bottom left', + value: s.radiusBottomLeft, + min: 0, + max: 48, + suffix: 'px', + onChanged: (v) => onEdit(() => s.radiusBottomLeft = v), + ), + ], + SliderRow( + label: 'Border width', + value: s.borderWidth, + min: 0.5, + max: 4, + suffix: 'px', + onChanged: (v) => onEdit(() => s.borderWidth = v), + ), + ], + ), + ControlSection( + title: 'Timing', + children: [ + NullableSliderRow( + label: 'Cycle', + value: s.cycleSeconds, + fallback: s.defaultCycleSeconds, + min: 0.5, + max: 8, + suffix: 's', + onChanged: (v) => onEdit(() => s.cycleSeconds = v), + ), + SliderRow( + label: 'Cycle gap', + value: s.cycleGapSeconds, + min: 0, + max: 4, + suffix: 's', + enabled: !isPulse, + onChanged: (v) => onEdit(() => s.cycleGapSeconds = v), + ), + SliderRow( + label: 'Speed', + value: s.speed, + min: 0.25, + max: 4, + suffix: '×', + // A controller owns the rate; its own slider takes over. + enabled: !s.controllerMode, + onChanged: (v) => onEdit(() => s.speed = v), + ), + NullableSliderRow( + label: 'Hue period', + value: s.huePeriodSeconds, + fallback: s.defaultHuePeriodSeconds, + min: 2, + max: 30, + suffix: 's', + onChanged: (v) => onEdit(() => s.huePeriodSeconds = v), + ), + if (isLine) ...[ + SliderRow( + label: 'Breathe', + value: s.breatheFactor, + min: 0.5, + max: 3, + suffix: '×', + onChanged: (v) => onEdit(() => s.breatheFactor = v), + ), + SliderRow( + label: 'Spike', + value: s.spikeFactor, + min: 0.5, + max: 3, + suffix: '×', + onChanged: (v) => onEdit(() => s.spikeFactor = v), + ), + SliderRow( + label: 'Spike 2', + value: s.spike2Factor, + min: 0.5, + max: 3, + suffix: '×', + onChanged: (v) => onEdit(() => s.spike2Factor = v), + ), + ], + ControlRow( + label: 'Hue', + child: ChipGroup( + children: [ + DemoChip( + label: 'Static colors', + selected: s.staticColors, + onTap: () => onEdit(() => s.staticColors = !s.staticColors), + ), + ], + ), + ), + ], + ), + ControlSection( + title: 'Style', + children: [ + SliderRow( + label: 'Strength', + value: s.strength, + min: 0, + max: 1, + onChanged: (v) => onEdit(() => s.strength = v), + ), + NullableSliderRow( + label: 'Brightness', + value: s.brightness, + fallback: s.defaultBrightness(brightness), + min: 0.5, + max: 3, + suffix: '×', + onChanged: (v) => onEdit(() => s.brightness = v), + ), + NullableSliderRow( + label: 'Saturation', + value: s.saturation, + fallback: s.defaultSaturation(brightness), + min: 0.5, + max: 3, + suffix: '×', + onChanged: (v) => onEdit(() => s.saturation = v), + ), + SliderRow( + label: 'Hue range', + value: s.hueRange, + min: 0, + max: 60, + suffix: '°', + // The line variant caps its own hue range at 13°. + enabled: !isPulse, + onChanged: (v) => onEdit(() => s.hueRange = v), + ), + SliderRow( + label: 'Hue base', + value: s.hueBase, + min: -180, + max: 180, + suffix: '°', + onChanged: (v) => onEdit(() => s.hueBase = v), + ), + SliderRow( + label: 'Stroke opacity', + value: s.strokeOpacityFactor, + min: 0, + max: 2, + suffix: '×', + onChanged: (v) => onEdit(() => s.strokeOpacityFactor = v), + ), + SliderRow( + label: 'Inner opacity', + value: s.innerOpacityFactor, + min: 0, + max: 2, + suffix: '×', + onChanged: (v) => onEdit(() => s.innerOpacityFactor = v), + ), + SliderRow( + label: 'Bloom opacity', + value: s.bloomOpacityFactor, + min: 0, + max: 2, + suffix: '×', + onChanged: (v) => onEdit(() => s.bloomOpacityFactor = v), + ), + if (isPulse) + SliderRow( + label: 'Glow boost', + value: s.glowBoost, + min: 0, + max: 3, + suffix: '×', + onChanged: (v) => onEdit(() => s.glowBoost = v), + ), + if (isOutside) ...[ + NullableSliderRow( + label: 'Core blur', + value: s.coreBlur, + fallback: null, + min: 0, + max: 60, + suffix: 'px', + onChanged: (v) => onEdit(() => s.coreBlur = v), + ), + NullableSliderRow( + label: 'Bloom blur', + value: s.bloomBlur, + fallback: null, + min: 0, + max: 120, + suffix: 'px', + onChanged: (v) => onEdit(() => s.bloomBlur = v), + ), + NullableSliderRow( + label: 'Glow brightness', + value: s.glowBrightness, + fallback: null, + min: 0.5, + max: 3, + suffix: '×', + onChanged: (v) => onEdit(() => s.glowBrightness = v), + ), + NullableSliderRow( + label: 'Glow saturation', + value: s.glowSaturation, + fallback: null, + min: 0.5, + max: 3, + suffix: '×', + onChanged: (v) => onEdit(() => s.glowSaturation = v), + ), + ], + ], + ), + ControlSection( + title: 'Playback', + initiallyExpanded: true, + children: [ + ControlRow( + label: 'Mode', + child: ChipGroup( + children: [ + DemoChip( + label: s.active ? 'Active' : 'Inactive', + selected: s.active, + onTap: s.controllerMode + ? () {} + : () => onEdit(() => s.active = !s.active), + ), + DemoChip( + label: 'Controller', + selected: s.controllerMode, + onTap: () => onControllerMode(!s.controllerMode), + ), + ], + ), + ), + if (s.controllerMode) ...[ + ControlRow( + label: 'Transport', + child: ChipGroup( + children: [ + for (final entry + in { + 'Start': (c) => c.start(), + 'Pause': (c) => c.pause(), + 'Resume': (c) => c.resume(), + 'Stop': (c) => c.stop(), + }.entries) + DemoChip( + label: entry.key, + selected: false, + onTap: () => onControllerAction(entry.value), + ), + ], + ), + ), + SliderRow( + label: 'Controller speed', + value: s.controllerSpeed, + min: 0.25, + max: 4, + suffix: '×', + onChanged: (v) => onEdit(() { + s.controllerSpeed = v; + onControllerAction((c) => c.speed = v); + }), + ), + ] else ...[ + SliderRow( + label: 'Start after', + value: s.startAfterSeconds, + min: 0, + max: 3, + suffix: 's', + onChanged: (v) => onEdit(() => s.startAfterSeconds = v), + ), + SliderRow( + label: 'Duration', + value: s.durationSeconds, + min: 0, + max: 15, + suffix: 's', + onChanged: (v) => onEdit(() => s.durationSeconds = v), + ), + ], + ], + ), + ControlSection( + title: 'Theme', + children: [ + ControlRow( + label: 'Inheritance', + child: ChipGroup( + children: [ + DemoChip( + label: 'BorderBeamTheme', + selected: s.themeDemo, + onTap: () => onEdit(() => s.themeDemo = !s.themeDemo), + ), + ], + ), + ), + _Hint( + 'Wraps the preview in a BorderBeamTheme carrying ocean colors ' + 'and a squircle-20 shape. Controls left at their default ' + 'inherit from it; anything you set wins.', + ), + ], + ), + ]; + } + + void _toggleSwatch(int index) { + final selected = state.customColors.toList(); + if (selected.contains(index)) { + if (selected.length <= minCustomColors) return; + selected.remove(index); + } else { + if (selected.length >= maxCustomColors) return; + selected.add(index); + } + state.customColors = selected; + } +} + +class _Dot extends StatelessWidget { + const _Dot({required this.color}); + + final Color color; + + @override + Widget build(BuildContext context) => Container( + width: 10, + height: 10, + decoration: BoxDecoration(color: color, shape: BoxShape.circle), + ); +} + +class _Hint extends StatelessWidget { + const _Hint(this.text); + + final String text; + + @override + Widget build(BuildContext context) { + final t = DemoTheme.of(context).tokens; + return Padding( + padding: const EdgeInsets.only(top: 6), + child: Text( + text, + style: TextStyle( + fontSize: 11, + height: 1.5, + color: t.muted, + decoration: TextDecoration.none, + ), + ), + ); + } +} + +const Map _variantLabels = { + BeamVariant.rotate: 'Large', + BeamVariant.small: 'Small', + BeamVariant.line: 'Line', + BeamVariant.pulseInside: 'Pulse Inner', + BeamVariant.pulseOutside: 'Pulse Outside', +}; diff --git a/example/lib/src/playground/playground_section.dart b/example/lib/src/playground/playground_section.dart new file mode 100644 index 0000000..a216bc8 --- /dev/null +++ b/example/lib/src/playground/playground_section.dart @@ -0,0 +1,239 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart' show kIsWeb; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; + +import '../demo_theme.dart'; +import 'controls.dart'; +import 'controls_panel.dart'; +import 'playground_state.dart'; +import 'preview.dart'; +import 'share_codec.dart'; +import 'snippet.dart'; + +/// The interactive playground: every meaningful knob of the package's API +/// wired to a live preview and a generated snippet. +/// +/// The preview and the snippet are built from the same "only what differs +/// from the package default" rule, so what you read is what you see — with +/// the theme demo on, a control left at its default inherits from the +/// enclosing [BorderBeamTheme] instead. +/// +/// State round-trips through the URL: the current configuration is written +/// to the address bar on the web, and the share button copies a link that +/// reproduces it. +class PlaygroundSection extends StatefulWidget { + /// Const constructor. + const PlaygroundSection({super.key}); + + @override + State createState() => _PlaygroundSectionState(); +} + +// The control column of the two-column layout: wide enough for a slider to +// keep its label, readout, and `auto` chip on one line. +const double _controlsWidth = 420; + +class _PlaygroundSectionState extends State { + late PlaygroundState _state = _initialState(); + + // One controller per preview: a BorderBeamController may drive only one + // beam at a time, and the wide layout shows two. + final List _controllers = [ + BorderBeamController(), + BorderBeamController(), + ]; + + String? _copied; + Timer? _copiedTimer; + + static PlaygroundState _initialState() { + final encoded = playgroundStateStringFrom(Uri.base); + return encoded == null ? PlaygroundState() : decodePlaygroundState(encoded); + } + + @override + void initState() { + super.initState(); + if (_state.controllerMode) { + WidgetsBinding.instance.addPostFrameCallback( + (_) => _controllerDo((c) => c.start()), + ); + } + } + + @override + void dispose() { + _copiedTimer?.cancel(); + for (final controller in _controllers) { + controller.dispose(); + } + super.dispose(); + } + + void _edit(VoidCallback mutate) { + setState(mutate); + _publishState(); + } + + // On the web the address bar carries the configuration, so a reload — or a + // copied URL — reproduces it. + void _publishState() { + if (!kIsWeb) return; + final encoded = encodePlaygroundState(_state); + SystemNavigator.routeInformationUpdated( + uri: Uri(path: '/', query: encoded.isEmpty ? null : encoded), + replace: true, + ); + } + + void _controllerDo(void Function(BorderBeamController) action) { + for (final controller in _controllers) { + action(controller); + } + } + + void _setControllerMode(bool enabled) { + _edit(() => _state.controllerMode = enabled); + if (enabled) { + // The beam starts hidden under a controller; kick it off once the + // controllers have attached so the preview is not blank. + WidgetsBinding.instance.addPostFrameCallback( + (_) => _controllerDo((c) => c.start()), + ); + } + } + + void _copy(String label, String text) { + unawaited(Clipboard.setData(ClipboardData(text: text))); + setState(() => _copied = label); + _copiedTimer?.cancel(); + _copiedTimer = Timer(const Duration(milliseconds: 1600), () { + if (mounted) setState(() => _copied = null); + }); + } + + String _shareLink() { + final encoded = encodePlaygroundState(_state); + if (!kIsWeb) return playgroundShareUrl(encoded); + final base = Uri.base; + final page = Uri( + scheme: base.scheme, + host: base.host, + port: base.hasPort ? base.port : null, + path: base.path, + ).toString(); + return encoded.isEmpty ? page : '$page#$encoded'; + } + + @override + Widget build(BuildContext context) { + return LayoutBuilder( + builder: (context, constraints) { + // Wide enough for the controls to sit beside the preview instead of + // above it. + final wide = constraints.maxWidth >= 900; + final previewWidth = wide + ? constraints.maxWidth - _controlsWidth - 20 + : constraints.maxWidth; + final previews = PlaygroundPreviews( + state: _state, + controllers: _controllers, + // Both brightnesses fit beside each other once each half still + // holds a readable surface. + bothThemes: previewWidth >= 520, + ); + final controls = ControlsPanel( + state: _state, + onEdit: _edit, + onControllerMode: _setControllerMode, + onControllerAction: _controllerDo, + ); + final snippet = CodeBlock( + code: buildSnippet(_state), + copied: _copied == 'code', + onCopy: () => _copy('code', buildSnippet(_state)), + ); + + if (!wide) { + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + _toolbar(), + const SizedBox(height: 12), + previews, + const SizedBox(height: 16), + controls, + const SizedBox(height: 8), + snippet, + ], + ); + } + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + _toolbar(), + const SizedBox(height: 12), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox(width: _controlsWidth, child: controls), + const SizedBox(width: 20), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [previews, const SizedBox(height: 16), snippet], + ), + ), + ], + ), + ], + ); + }, + ); + } + + Widget _toolbar() { + final t = DemoTheme.of(context).tokens; + return Row( + children: [ + Expanded( + child: Text( + 'Every field the beam takes, live.', + style: TextStyle( + fontSize: 12, + color: t.muted, + decoration: TextDecoration.none, + ), + ), + ), + AnimatedOpacity( + opacity: _copied == 'link' ? 1 : 0, + duration: const Duration(milliseconds: 150), + child: Text( + 'Copied', + style: TextStyle( + fontSize: 12, + color: t.muted, + decoration: TextDecoration.none, + ), + ), + ), + const SizedBox(width: 8), + DemoChip( + label: 'Copy share link', + selected: false, + onTap: () => _copy('link', _shareLink()), + ), + const SizedBox(width: 6), + DemoChip( + label: 'Reset', + selected: false, + onTap: () => _edit(() => _state = PlaygroundState()), + ), + ], + ); + } +} diff --git a/example/lib/src/playground/playground_state.dart b/example/lib/src/playground/playground_state.dart new file mode 100644 index 0000000..a7d7112 --- /dev/null +++ b/example/lib/src/playground/playground_state.dart @@ -0,0 +1,355 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; + +/// The palette choices the playground offers: the four presets plus a +/// user-assembled [BeamColors.custom] list. +enum PalettePreset { + /// [BeamColors.colorful] — the package default. + colorful('Colorful', 'colorful', BeamColors.colorful), + + /// [BeamColors.mono]. + mono('Mono', 'mono', BeamColors.mono), + + /// [BeamColors.ocean]. + ocean('Ocean', 'ocean', BeamColors.ocean), + + /// [BeamColors.sunset]. + sunset('Sunset', 'sunset', BeamColors.sunset), + + /// Colors picked from [customSwatches]; [colors] is null because the list + /// is built from the playground state. + custom('Custom', 'custom', null); + + const PalettePreset(this.label, this.id, this.colors); + + /// Chip label. + final String label; + + /// Stable id used by the share codec and the generated snippet. + final String id; + + /// The preset this choice maps to, or null for [PalettePreset.custom]. + final BeamColors? colors; +} + +/// One entry of the custom-color picker: a name for the control and the +/// color the snippet emits. +typedef Swatch = ({String name, Color color}); + +/// The fixed palette the custom-colors control picks from — a small preset +/// list rather than a full color picker, which keeps the state shareable as +/// a handful of indices. +const List customSwatches = [ + (name: 'Pink', color: Color(0xFFFF0080)), + (name: 'Cyan', color: Color(0xFF00E5FF)), + (name: 'Amber', color: Color(0xFFFFC400)), + (name: 'Violet', color: Color(0xFF7C4DFF)), + (name: 'Lime', color: Color(0xFFA6FF00)), + (name: 'Red', color: Color(0xFFFF3D00)), + (name: 'Teal', color: Color(0xFF1DE9B6)), + (name: 'Blue', color: Color(0xFF2979FF)), +]; + +/// Smallest and largest number of colors [BeamColors.custom] may be given +/// from the picker. +const int minCustomColors = 2; + +/// Largest number of colors the custom picker accepts. +const int maxCustomColors = 4; + +/// Every knob the playground drives, in one mutable bag. +/// +/// A freshly constructed instance is the "all defaults" configuration: every +/// field holds the value the package would resolve on its own, so the +/// snippet generator and the live preview can both emit *only* what differs +/// from it. Fields whose package default depends on the variant or on a +/// theme preset are nullable, and null means "let the package decide". +class PlaygroundState { + /// Creates the all-defaults state. + PlaygroundState(); + + // ─── Variant & colors ─────────────────────────────────────────────────── + + /// Which effect the preview paints. + BeamVariant variant = BeamVariant.rotate; + + /// Selected palette. + PalettePreset palette = PalettePreset.colorful; + + /// Indices into [customSwatches] used when [palette] is + /// [PalettePreset.custom]. + List customColors = [0, 1]; + + // ─── Shape ────────────────────────────────────────────────────────────── + + /// Whether the contour is a pill ([BeamShape.stadium]). + bool stadium = false; + + /// Whether the four corners are set individually. + bool perCorner = false; + + /// Uniform corner radius, used when [perCorner] and [stadium] are false. + double radius = 16; + + /// Top-left radius in per-corner mode. + double radiusTopLeft = 16; + + /// Top-right radius in per-corner mode. + double radiusTopRight = 16; + + /// Bottom-right radius in per-corner mode. + double radiusBottomRight = 16; + + /// Bottom-left radius in per-corner mode. + double radiusBottomLeft = 16; + + /// Whether the contour uses superellipse corners. + bool superellipse = false; + + /// Stroke ring thickness in logical px. + double borderWidth = 1; + + // ─── Timing ───────────────────────────────────────────────────────────── + + /// Cycle length in seconds; null keeps the variant preset. + double? cycleSeconds; + + /// Rest between sweeps in seconds. + double cycleGapSeconds = 0; + + /// Declarative playback rate. Ignored in [controllerMode]. + double speed = 1; + + /// Hue track period in seconds; null keeps the variant preset. + double? huePeriodSeconds; + + /// The line beam's breathe period, as a multiple of the cycle. + double breatheFactor = 1.3; + + /// The line beam's first spike period, as a multiple of the cycle. + double spikeFactor = 1.33; + + /// The line beam's second spike period, as a multiple of the cycle. + double spike2Factor = 1.7; + + /// Whether the hue animation is disabled. + bool staticColors = false; + + // ─── Style ────────────────────────────────────────────────────────────── + + /// Effect opacity, 0–1. + double strength = 1; + + /// Glow brightness multiplier; null keeps the theme preset. + double? brightness; + + /// Glow saturation multiplier; null keeps the theme preset. + double? saturation; + + /// Hue animation amplitude in degrees. + double hueRange = 30; + + /// Static hue offset in degrees. + double hueBase = 0; + + /// Stroke ring opacity multiplier. + double strokeOpacityFactor = 1; + + /// Inner glow opacity multiplier. + double innerOpacityFactor = 1; + + /// Bloom opacity multiplier. + double bloomOpacityFactor = 1; + + /// Pulse glow prominence multiplier. + double glowBoost = 1; + + /// pulse-outside core blur override in px; null keeps the preset. + double? coreBlur; + + /// pulse-outside halo blur override in px; null keeps the preset. + double? bloomBlur; + + /// pulse-outside glow brightness override; null keeps the preset. + double? glowBrightness; + + /// pulse-outside glow saturation override; null keeps the preset. + double? glowSaturation; + + // ─── Playback ─────────────────────────────────────────────────────────── + + /// Declarative play state. Ignored in [controllerMode]. + bool active = true; + + /// Whether a [BorderBeamController] drives playback instead of the + /// declarative fields. + bool controllerMode = false; + + /// The controller's playback rate, used in [controllerMode]. + double controllerSpeed = 1; + + /// Autoplay delay in seconds; 0 means none. + double startAfterSeconds = 0; + + /// Total play time in seconds; 0 means forever. + double durationSeconds = 0; + + // ─── Theme demo ───────────────────────────────────────────────────────── + + /// Whether the preview sits inside a [BorderBeamTheme] supplying ocean + + /// squircle-20 defaults, so fields left at their default inherit from it. + bool themeDemo = false; + + // ─── Derived values ───────────────────────────────────────────────────── + + /// The colors this state selects. + BeamColors get beamColors => + palette.colors ?? + BeamColors.custom([ + for (final i in customColors) customSwatches[i].color, + ]); + + /// Whether the palette differs from the package default. + bool get hasColors => palette != PalettePreset.colorful; + + /// The uniform radius the package would resolve on its own. + double get defaultRadius => variant.defaultBorderRadius; + + /// The cycle length in seconds the package would resolve on its own. + double get defaultCycleSeconds => + variant.defaultCycleDuration.inMilliseconds / 1000; + + /// The hue period in seconds the package would resolve on its own — 12s + /// for the traveling variants, and the pulse presets' own periods. + double get defaultHuePeriodSeconds => switch (variant) { + BeamVariant.pulseInside => 16, + BeamVariant.pulseOutside => 14, + _ => 12, + }; + + /// The brightness multiplier the preset carries for [variant] at + /// [themeBrightness]. + double defaultBrightness(Brightness themeBrightness) => + BeamThemeConfig.presetFor(variant, themeBrightness).brightness ?? 1.3; + + /// The saturation multiplier the preset carries for [variant] at + /// [themeBrightness]. + double defaultSaturation(Brightness themeBrightness) => + BeamThemeConfig.presetFor(variant, themeBrightness).saturation; + + /// The corner radii the beam contour uses, per-corner mode included. + /// Stadium corners are infinite and clamped per corner by the ring + /// geometry, which is what makes them track the box. + BorderRadius get borderRadius => stadium + ? const BorderRadius.all(Radius.circular(double.infinity)) + : perCorner + ? BorderRadius.only( + topLeft: Radius.circular(radiusTopLeft), + topRight: Radius.circular(radiusTopRight), + bottomRight: Radius.circular(radiusBottomRight), + bottomLeft: Radius.circular(radiusBottomLeft), + ) + : BorderRadius.circular(radius); + + /// The same contour, sized for a concrete [size] — the preview surface's + /// own decoration needs finite stadium radii. + BorderRadius resolvedBorderRadius(Size size) => stadium + ? BorderRadius.circular( + (size.shortestSide / 2).clamp(0.0, double.maxFinite), + ) + : borderRadius; + + /// Whether the shape differs from what the package would resolve. + bool get hasShape => + stadium || + perCorner || + superellipse || + radius != defaultRadius || + borderWidth != 1; + + // ─── Value objects ────────────────────────────────────────────────────── + + /// The [BeamShape] to hand the widget, or null when nothing differs from + /// the package default. + BeamShape? buildShape() { + if (!hasShape) return null; + final width = borderWidth == 1 ? null : borderWidth; + final se = superellipse ? true : null; + if (stadium) return BeamShape.stadium(borderWidth: width, superellipse: se); + return BeamShape( + radius: borderRadius, + borderWidth: width, + superellipse: se, + ); + } + + /// The [BeamStyle] to hand the widget, or null when nothing differs. + BeamStyle? buildStyle() { + final style = BeamStyle( + colors: hasColors ? beamColors : null, + strength: strength == 1 ? null : strength, + brightness: brightness, + saturation: saturation, + hueRange: hueRange == 30 ? null : hueRange, + hueBase: hueBase == 0 ? null : hueBase, + staticColors: staticColors ? true : null, + strokeOpacityFactor: strokeOpacityFactor == 1 + ? null + : strokeOpacityFactor, + innerOpacityFactor: innerOpacityFactor == 1 ? null : innerOpacityFactor, + bloomOpacityFactor: bloomOpacityFactor == 1 ? null : bloomOpacityFactor, + glowBoost: variant.isPulse && glowBoost != 1 ? glowBoost : null, + coreBlur: variant == BeamVariant.pulseOutside ? coreBlur : null, + bloomBlur: variant == BeamVariant.pulseOutside ? bloomBlur : null, + glowBrightness: variant == BeamVariant.pulseOutside + ? glowBrightness + : null, + glowSaturation: variant == BeamVariant.pulseOutside + ? glowSaturation + : null, + ); + return style == const BeamStyle() ? null : style; + } + + /// The [BeamTiming] to hand the widget, or null when nothing differs. + /// + /// The breathe/spike factors belong to the line variant, and a controller + /// owns the playback rate, so both are dropped where they do not apply. + BeamTiming? buildTiming() { + final isLine = variant == BeamVariant.line; + final timing = BeamTiming( + cycle: cycleSeconds == null ? null : _durationOf(cycleSeconds!), + cycleGap: cycleGapSeconds == 0 ? null : _durationOf(cycleGapSeconds), + speed: speed == 1 || controllerMode ? null : speed, + huePeriod: huePeriodSeconds == null + ? null + : _durationOf(huePeriodSeconds!), + breatheFactor: isLine && breatheFactor != 1.3 ? breatheFactor : null, + spikeFactor: isLine && spikeFactor != 1.33 ? spikeFactor : null, + spike2Factor: isLine && spike2Factor != 1.7 ? spike2Factor : null, + ); + return timing == const BeamTiming() ? null : timing; + } + + /// The [BeamPlayback] to hand the widget, or null when nothing differs. + /// + /// A controller owns scheduling exclusively, so `startAfter` and + /// `duration` must not be set alongside one. + BeamPlayback? buildPlayback() { + if (controllerMode) return null; + final playback = BeamPlayback( + startAfter: startAfterSeconds == 0 + ? null + : _durationOf(startAfterSeconds), + duration: durationSeconds == 0 ? null : _durationOf(durationSeconds), + ); + return playback == const BeamPlayback() ? null : playback; + } + + /// The `active:` shorthand, or null when the controller owns playback or + /// the beam is simply on. + bool? buildActive() => controllerMode || active ? null : false; +} + +Duration _durationOf(double seconds) => + Duration(milliseconds: (seconds * 1000).round()); diff --git a/example/lib/src/playground/preview.dart b/example/lib/src/playground/preview.dart new file mode 100644 index 0000000..1723734 --- /dev/null +++ b/example/lib/src/playground/preview.dart @@ -0,0 +1,175 @@ +import 'dart:math' as math; + +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; + +import '../demo_theme.dart'; +import 'playground_state.dart'; + +// The theme the "Theme demo" toggle installs above the preview. +final BorderBeamThemeData _demoThemeData = BorderBeamThemeData( + style: const BeamStyle(colors: BeamColors.ocean), + shape: BeamShape.circular(20, superellipse: true), +); + +// The preview surface, and the frame that gives pulse-outside room to bloom. +const double _surfaceHeight = 128; +const double _maxSurfaceWidth = 320; +const double _frameHeight = 240; + +class PlaygroundPreviews extends StatelessWidget { + /// Creates the preview area. + const PlaygroundPreviews({ + super.key, + required this.state, + required this.controllers, + required this.bothThemes, + }); + + /// The configuration to render. + final PlaygroundState state; + + /// One controller per preview — a BorderBeamController drives a single + /// beam at a time, and the wide layout shows two. + final List controllers; + + /// Whether to render the dark and light backdrops side by side. + final bool bothThemes; + + @override + Widget build(BuildContext context) { + final isDark = DemoTheme.of(context).isDark; + if (!bothThemes) { + return _Preview( + state: state, + brightness: isDark ? Brightness.dark : Brightness.light, + controller: controllers.first, + ); + } + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + child: _Preview( + state: state, + brightness: Brightness.dark, + controller: controllers[0], + ), + ), + const SizedBox(width: 16), + Expanded( + child: _Preview( + state: state, + brightness: Brightness.light, + controller: controllers[1], + ), + ), + ], + ); + } +} + +class _Preview extends StatelessWidget { + const _Preview({ + required this.state, + required this.brightness, + required this.controller, + }); + + final PlaygroundState state; + final Brightness brightness; + final BorderBeamController controller; + + @override + Widget build(BuildContext context) { + final dark = brightness == Brightness.dark; + final tokens = dark ? DemoTokens.dark : DemoTokens.light; + + Widget frame(Widget child) => Container( + height: _frameHeight, + decoration: BoxDecoration( + color: dark ? const Color(0xFF101010) : const Color(0xFFF7F7F7), + borderRadius: BorderRadius.circular(24), + ), + alignment: Alignment.center, + child: child, + ); + + return LayoutBuilder( + builder: (context, constraints) { + final width = math.min( + _maxSurfaceWidth, + math.max(120.0, constraints.maxWidth - 56), + ); + final size = Size(width, _surfaceHeight); + Widget beam = SizedBox( + width: width, + height: _surfaceHeight, + child: BorderBeam( + variant: state.variant, + active: state.buildActive(), + style: state.buildStyle(), + shape: state.buildShape(), + timing: state.buildTiming(), + playback: state.buildPlayback(), + controller: state.controllerMode ? controller : null, + child: _MockSurface(state: state, tokens: tokens, size: size), + ), + ); + if (state.themeDemo) { + beam = BorderBeamTheme(data: _demoThemeData, child: beam); + } + // BeamTheme.auto reads the ambient brightness, so each preview only + // needs the right Theme above it — no explicit `theme:` field, which + // keeps the generated snippet faithful to what is on screen. + return Theme( + data: ThemeData(brightness: brightness), + child: frame(beam), + ); + }, + ); + } +} + +/// The surface the beam hugs. Its own corners must match the beam contour, +/// theme inheritance included — the beam does not read the child's shape. +class _MockSurface extends StatelessWidget { + const _MockSurface({ + required this.state, + required this.tokens, + required this.size, + }); + + final PlaygroundState state; + final DemoTokens tokens; + final Size size; + + @override + Widget build(BuildContext context) { + // With no shape of its own, the beam inherits the demo theme's squircle + // 20 — so the surface follows it there too. + final inherits = state.themeDemo && !state.hasShape; + final radius = inherits + ? BorderRadius.circular(20) + : state.resolvedBorderRadius(size); + final superellipse = inherits || state.superellipse; + final side = BorderSide(color: tokens.mockBorder); + return Container( + decoration: ShapeDecoration( + color: tokens.mockBg, + shape: superellipse + ? RoundedSuperellipseBorder(borderRadius: radius, side: side) + : RoundedRectangleBorder(borderRadius: radius, side: side), + ), + alignment: Alignment.center, + child: Text( + 'Build anything...', + style: TextStyle( + fontSize: 13, + color: tokens.mockPlaceholder, + decoration: TextDecoration.none, + ), + ), + ); + } +} diff --git a/example/lib/src/playground/share_codec.dart b/example/lib/src/playground/share_codec.dart new file mode 100644 index 0000000..e5a8e73 --- /dev/null +++ b/example/lib/src/playground/share_codec.dart @@ -0,0 +1,211 @@ +import 'package:flutter_border_beam/flutter_border_beam.dart'; + +import 'playground_state.dart'; + +/// Where the example is published, used for the share link built off the web. +const String playgroundSiteUrl = + 'https://simplifyjobs.github.io/flutter_border_beam/'; + +/// Encodes [state] as a compact `key=value&key=value` string. +/// +/// Only fields that differ from a fresh [PlaygroundState] are written, so the +/// default configuration encodes to the empty string. Every value is plain +/// ASCII (`[A-Za-z0-9.,-]`), so the result needs no percent-escaping in a +/// URL query or fragment. +String encodePlaygroundState(PlaygroundState state) { + final d = PlaygroundState(); + final parts = []; + void put(String key, Object value) => parts.add('$key=$value'); + void number(String key, double value, double fallback) { + if (value != fallback) put(key, _formatNumber(value)); + } + + void optional(String key, double? value) { + if (value != null) put(key, _formatNumber(value)); + } + + void flag(String key, bool value) { + if (value) put(key, 1); + } + + if (state.variant != d.variant) put('v', _variantIds[state.variant]!); + if (state.palette != d.palette) put('p', state.palette.id); + if (state.palette == PalettePreset.custom) { + put('cc', state.customColors.join(',')); + } + + flag('st', state.stadium); + flag('pc', state.perCorner); + number('r', state.radius, d.radius); + number('rtl', state.radiusTopLeft, d.radiusTopLeft); + number('rtr', state.radiusTopRight, d.radiusTopRight); + number('rbr', state.radiusBottomRight, d.radiusBottomRight); + number('rbl', state.radiusBottomLeft, d.radiusBottomLeft); + flag('se', state.superellipse); + number('bw', state.borderWidth, d.borderWidth); + + optional('cy', state.cycleSeconds); + number('cg', state.cycleGapSeconds, d.cycleGapSeconds); + number('sp', state.speed, d.speed); + optional('hp', state.huePeriodSeconds); + number('bf', state.breatheFactor, d.breatheFactor); + number('sf', state.spikeFactor, d.spikeFactor); + number('s2', state.spike2Factor, d.spike2Factor); + flag('sc', state.staticColors); + + number('str', state.strength, d.strength); + optional('br', state.brightness); + optional('sa', state.saturation); + number('hr', state.hueRange, d.hueRange); + number('hb', state.hueBase, d.hueBase); + number('so', state.strokeOpacityFactor, d.strokeOpacityFactor); + number('io', state.innerOpacityFactor, d.innerOpacityFactor); + number('bo', state.bloomOpacityFactor, d.bloomOpacityFactor); + number('gb', state.glowBoost, d.glowBoost); + optional('cb', state.coreBlur); + optional('bb', state.bloomBlur); + optional('gbr', state.glowBrightness); + optional('gsa', state.glowSaturation); + + if (!state.active) put('a', 0); + flag('cm', state.controllerMode); + number('cs', state.controllerSpeed, d.controllerSpeed); + number('sd', state.startAfterSeconds, d.startAfterSeconds); + number('du', state.durationSeconds, d.durationSeconds); + flag('th', state.themeDemo); + + return parts.join('&'); +} + +/// Decodes an [encodePlaygroundState] string back into a state. +/// +/// Unknown keys, malformed pairs, and out-of-range values are ignored: the +/// corresponding field keeps its default, so a truncated or hand-edited link +/// still opens a usable playground. +PlaygroundState decodePlaygroundState(String encoded) { + final state = PlaygroundState(); + final values = {}; + for (final pair in encoded.split('&')) { + if (pair.isEmpty) continue; + final split = pair.indexOf('='); + if (split <= 0) continue; + values[pair.substring(0, split)] = pair.substring(split + 1); + } + + double? read(String key, double min, double max) { + final raw = values[key]; + if (raw == null) return null; + final parsed = double.tryParse(raw); + if (parsed == null || parsed.isNaN || parsed < min || parsed > max) { + return null; + } + return parsed; + } + + bool? readFlag(String key) => switch (values[key]) { + '1' => true, + '0' => false, + _ => null, + }; + + for (final entry in _variantIds.entries) { + if (entry.value == values['v']) state.variant = entry.key; + } + for (final preset in PalettePreset.values) { + if (preset.id == values['p']) state.palette = preset; + } + final colors = values['cc']; + if (colors != null) { + final parsed = [ + for (final part in colors.split(',')) + if (int.tryParse(part) case final int i) + if (i >= 0 && i < customSwatches.length) i, + ]; + if (parsed.length >= minCustomColors) { + state.customColors = parsed.take(maxCustomColors).toList(); + } + } + + state.stadium = readFlag('st') ?? state.stadium; + state.perCorner = readFlag('pc') ?? state.perCorner; + state.radius = read('r', 0, 48) ?? state.radius; + state.radiusTopLeft = read('rtl', 0, 48) ?? state.radiusTopLeft; + state.radiusTopRight = read('rtr', 0, 48) ?? state.radiusTopRight; + state.radiusBottomRight = read('rbr', 0, 48) ?? state.radiusBottomRight; + state.radiusBottomLeft = read('rbl', 0, 48) ?? state.radiusBottomLeft; + state.superellipse = readFlag('se') ?? state.superellipse; + state.borderWidth = read('bw', 0.5, 4) ?? state.borderWidth; + + state.cycleSeconds = read('cy', 0.5, 8); + state.cycleGapSeconds = read('cg', 0, 4) ?? state.cycleGapSeconds; + state.speed = read('sp', 0.25, 4) ?? state.speed; + state.huePeriodSeconds = read('hp', 2, 30); + state.breatheFactor = read('bf', 0.5, 3) ?? state.breatheFactor; + state.spikeFactor = read('sf', 0.5, 3) ?? state.spikeFactor; + state.spike2Factor = read('s2', 0.5, 3) ?? state.spike2Factor; + state.staticColors = readFlag('sc') ?? state.staticColors; + + state.strength = read('str', 0, 1) ?? state.strength; + state.brightness = read('br', 0.5, 3); + state.saturation = read('sa', 0.5, 3); + state.hueRange = read('hr', 0, 60) ?? state.hueRange; + state.hueBase = read('hb', -180, 180) ?? state.hueBase; + state.strokeOpacityFactor = read('so', 0, 2) ?? state.strokeOpacityFactor; + state.innerOpacityFactor = read('io', 0, 2) ?? state.innerOpacityFactor; + state.bloomOpacityFactor = read('bo', 0, 2) ?? state.bloomOpacityFactor; + state.glowBoost = read('gb', 0, 3) ?? state.glowBoost; + state.coreBlur = read('cb', 0, 60); + state.bloomBlur = read('bb', 0, 120); + state.glowBrightness = read('gbr', 0.5, 3); + state.glowSaturation = read('gsa', 0.5, 3); + + state.active = readFlag('a') ?? state.active; + state.controllerMode = readFlag('cm') ?? state.controllerMode; + state.controllerSpeed = read('cs', 0.25, 4) ?? state.controllerSpeed; + state.startAfterSeconds = read('sd', 0, 3) ?? state.startAfterSeconds; + state.durationSeconds = read('du', 0, 15) ?? state.durationSeconds; + state.themeDemo = readFlag('th') ?? state.themeDemo; + + return state; +} + +/// Pulls a playground state string out of [uri]. +/// +/// Three shapes reproduce a configuration, and all three are accepted: the +/// query (`?v=line`), a bare fragment (`#v=line` — the form the share button +/// hands out off the web), and a fragment carrying a route and query +/// (`#/?v=line` — the form Flutter web's hash routing writes back). Returns +/// null when the URL carries no state. +String? playgroundStateStringFrom(Uri uri) { + String? fromFragment(String fragment) { + if (fragment.isEmpty) return null; + final query = fragment.indexOf('?'); + if (query >= 0) return fragment.substring(query + 1); + // A fragment that is only a route path carries no state. + return fragment.startsWith('/') ? null : fragment; + } + + final fragment = fromFragment(uri.fragment); + if (fragment != null && fragment.isNotEmpty) return fragment; + return uri.query.isEmpty ? null : uri.query; +} + +/// The link that reproduces [encoded] on the published example site. +String playgroundShareUrl(String encoded) => + encoded.isEmpty ? playgroundSiteUrl : '$playgroundSiteUrl#$encoded'; + +const Map _variantIds = { + BeamVariant.rotate: 'rotate', + BeamVariant.small: 'small', + BeamVariant.line: 'line', + BeamVariant.pulseInside: 'pulse-inside', + BeamVariant.pulseOutside: 'pulse-outside', +}; + +/// Formats a double as compactly as the two-decimal control resolution +/// allows: `1.5` stays `1.5`, `2.0` becomes `2`. +String _formatNumber(double value) { + final fixed = value.toStringAsFixed(2); + if (!fixed.contains('.')) return fixed; + return fixed.replaceFirst(RegExp(r'\.?0+$'), ''); +} diff --git a/example/lib/src/playground/snippet.dart b/example/lib/src/playground/snippet.dart new file mode 100644 index 0000000..3286e70 --- /dev/null +++ b/example/lib/src/playground/snippet.dart @@ -0,0 +1,193 @@ +import 'package:flutter_border_beam/flutter_border_beam.dart'; + +import 'playground_state.dart'; + +/// Builds the Dart snippet that reproduces [state]. +/// +/// Only fields that differ from what the package resolves on its own are +/// emitted, so the default configuration prints the one-liner. The result is +/// paste-able as written: `const` sits on every value object that can carry +/// it, and the two constructions that cannot be const ([BeamShape.circular], +/// and a [BorderBeamThemeData] holding one) are emitted without it. +String buildSnippet(PlaygroundState state) { + final buffer = StringBuffer(); + if (state.controllerMode) { + buffer + ..writeln('final controller = BorderBeamController();') + ..writeln('// controller.start() / .pause() / .resume() / .stop()') + ..writeln('// controller.speed = ${_num(state.controllerSpeed)};') + ..writeln(); + } + + final beam = _beam(state); + if (!state.themeDemo) return (buffer..write(beam)).toString(); + + buffer + ..writeln('BorderBeamTheme(') + ..writeln(' data: BorderBeamThemeData(') + ..writeln(' style: const BeamStyle(colors: BeamColors.ocean),') + ..writeln(' shape: BeamShape.circular(20, superellipse: true),') + ..writeln(' ),') + ..writeln(' child: ${_indent(beam, ' ').trimLeft()},') + ..write(')'); + return buffer.toString(); +} + +// The BorderBeam call itself. +String _beam(PlaygroundState state) { + final args = []; + + if (state.hasColors) args.add('colors: ${_colors(state)}'); + if (state.buildActive() == false) args.add('active: false'); + + final shape = _shape(state); + if (shape != null) args.add(shape); + + final style = _style(state); + if (style != null) args.add('style: const BeamStyle(\n$style\n )'); + + final timing = _timing(state); + if (timing != null) args.add('timing: const BeamTiming(\n$timing\n )'); + + final playback = _playback(state); + if (playback != null) { + args.add('playback: const BeamPlayback(\n$playback\n )'); + } + + if (state.controllerMode) args.add('controller: controller'); + args.add('child: child'); + + final name = _constructorNames[state.variant]!; + return 'BorderBeam.$name(\n ${args.join(',\n ')},\n)'; +} + +String _colors(PlaygroundState state) { + if (state.palette != PalettePreset.custom) { + return 'BeamColors.${state.palette.id}'; + } + final colors = [ + for (final i in state.customColors) + _color(customSwatches[i].color.toARGB32()), + ]; + return 'const BeamColors.custom([${colors.join(', ')}])'; +} + +String _color(int argb) => + 'Color(0x${argb.toRadixString(16).toUpperCase().padLeft(8, '0')})'; + +// The `borderRadius:` shorthand when a plain radius is all that changed, +// otherwise a full BeamShape. +String? _shape(PlaygroundState state) { + if (!state.hasShape) return null; + final extras = [ + if (state.borderWidth != 1) 'borderWidth: ${_num(state.borderWidth)}', + if (state.superellipse) 'superellipse: true', + ]; + if (state.stadium) { + return 'shape: const BeamShape.stadium(${extras.join(', ')})'; + } + if (state.perCorner) { + final radii = [ + 'topLeft: Radius.circular(${_num(state.radiusTopLeft)})', + 'topRight: Radius.circular(${_num(state.radiusTopRight)})', + 'bottomRight: Radius.circular(${_num(state.radiusBottomRight)})', + 'bottomLeft: Radius.circular(${_num(state.radiusBottomLeft)})', + ]; + final fields = [ + 'radius: BorderRadius.only(\n ${radii.join(',\n ')},\n )', + ...extras, + ]; + return 'shape: const BeamShape(\n ${fields.join(',\n ')},\n )'; + } + if (extras.isEmpty) return 'borderRadius: ${_num(state.radius)}'; + // BeamShape.circular builds a BorderRadius at runtime, so it is not const. + return 'shape: BeamShape.circular(${_num(state.radius)}, ' + '${extras.join(', ')})'; +} + +String? _style(PlaygroundState state) { + final isPulse = state.variant.isPulse; + final isOutside = state.variant == BeamVariant.pulseOutside; + // The four glow overrides only reach the painter on pulse-outside. + final coreBlur = isOutside ? state.coreBlur : null; + final bloomBlur = isOutside ? state.bloomBlur : null; + final glowBrightness = isOutside ? state.glowBrightness : null; + final glowSaturation = isOutside ? state.glowSaturation : null; + final fields = [ + if (state.strength != 1) 'strength: ${_num(state.strength)}', + if (state.brightness case final double v) 'brightness: ${_num(v)}', + if (state.saturation case final double v) 'saturation: ${_num(v)}', + if (state.hueRange != 30) 'hueRange: ${_num(state.hueRange)}', + if (state.hueBase != 0) 'hueBase: ${_num(state.hueBase)}', + if (state.staticColors) 'staticColors: true', + if (state.strokeOpacityFactor != 1) + 'strokeOpacityFactor: ${_num(state.strokeOpacityFactor)}', + if (state.innerOpacityFactor != 1) + 'innerOpacityFactor: ${_num(state.innerOpacityFactor)}', + if (state.bloomOpacityFactor != 1) + 'bloomOpacityFactor: ${_num(state.bloomOpacityFactor)}', + if (isPulse && state.glowBoost != 1) 'glowBoost: ${_num(state.glowBoost)}', + if (coreBlur case final double v) 'coreBlur: ${_num(v)}', + if (bloomBlur case final double v) 'bloomBlur: ${_num(v)}', + if (glowBrightness case final double v) 'glowBrightness: ${_num(v)}', + if (glowSaturation case final double v) 'glowSaturation: ${_num(v)}', + ]; + return fields.isEmpty ? null : ' ${fields.join(',\n ')},'; +} + +String? _timing(PlaygroundState state) { + final isLine = state.variant == BeamVariant.line; + final fields = [ + if (state.cycleSeconds case final double v) 'cycle: ${_duration(v)}', + if (state.cycleGapSeconds != 0) + 'cycleGap: ${_duration(state.cycleGapSeconds)}', + if (state.speed != 1 && !state.controllerMode) + 'speed: ${_num(state.speed)}', + if (state.huePeriodSeconds case final double v) + 'huePeriod: ${_duration(v)}', + if (isLine && state.breatheFactor != 1.3) + 'breatheFactor: ${_num(state.breatheFactor)}', + if (isLine && state.spikeFactor != 1.33) + 'spikeFactor: ${_num(state.spikeFactor)}', + if (isLine && state.spike2Factor != 1.7) + 'spike2Factor: ${_num(state.spike2Factor)}', + ]; + return fields.isEmpty ? null : ' ${fields.join(',\n ')},'; +} + +String? _playback(PlaygroundState state) { + if (state.controllerMode) return null; + final fields = [ + if (state.startAfterSeconds != 0) + 'startAfter: ${_duration(state.startAfterSeconds)}', + if (state.durationSeconds != 0) + 'duration: ${_duration(state.durationSeconds)}', + ]; + return fields.isEmpty ? null : ' ${fields.join(',\n ')},'; +} + +String _duration(double seconds) { + final ms = (seconds * 1000).round(); + return ms % 1000 == 0 + ? 'Duration(seconds: ${ms ~/ 1000})' + : 'Duration(milliseconds: $ms)'; +} + +/// Formats a double the way a hand-written argument would read: `2` rather +/// than `2.0`, `1.33` kept at the control's resolution. +String _num(double value) { + final fixed = value.toStringAsFixed(2); + if (!fixed.contains('.')) return fixed; + return fixed.replaceFirst(RegExp(r'\.?0+$'), ''); +} + +String _indent(String source, String prefix) => + source.split('\n').map((line) => '$prefix$line').join('\n'); + +const Map _constructorNames = { + BeamVariant.rotate: 'rotate', + BeamVariant.small: 'small', + BeamVariant.line: 'line', + BeamVariant.pulseInside: 'pulseInside', + BeamVariant.pulseOutside: 'pulseOutside', +}; diff --git a/example/test/gallery_smoke_test.dart b/example/test/gallery_smoke_test.dart index b4eab22..ce5967a 100644 --- a/example/test/gallery_smoke_test.dart +++ b/example/test/gallery_smoke_test.dart @@ -1,10 +1,34 @@ -import 'package:flutter_border_beam_example/main.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_border_beam_example/main.dart'; import 'package:flutter_test/flutter_test.dart'; +/// Reads the playground's generated snippet. +String snippetText(WidgetTester tester) => + tester.widget(find.byKey(const ValueKey('playground-snippet'))).data!; + +/// Advances past the demo's implicit animations. `pumpAndSettle` never +/// returns here: a running beam keeps its ticker scheduled forever. +Future settle(WidgetTester tester) async { + await tester.pump(); + await tester.pump(const Duration(milliseconds: 300)); + await tester.pump(const Duration(milliseconds: 300)); +} + +/// Scrolls [label] into view before tapping it — the demo is one long +/// scroll view, and a tap on an off-screen widget silently hits nothing. +Future tapLabel(WidgetTester tester, String label) async { + await settle(tester); + final finder = find.text(label); + await tester.ensureVisible(finder); + await tester.pump(); + await tester.tap(finder); + await settle(tester); +} + void main() { - testWidgets('gallery renders both tabs and the playground', (tester) async { - tester.view.physicalSize = const Size(1200, 2600); + testWidgets('gallery renders both tabs, the themed section, and the ' + 'playground', (tester) async { + tester.view.physicalSize = const Size(1200, 3600); tester.view.devicePixelRatio = 2; addTearDown(tester.view.reset); @@ -15,17 +39,126 @@ void main() { expect(find.text('Build anything...'), findsWidgets); expect(find.text('Playground'), findsOneWidget); + // The themed gallery: three variants under one BorderBeamTheme. + expect(find.text('Themed'), findsOneWidget); + expect(find.text('rotate'), findsOneWidget); + expect(find.text('small'), findsOneWidget); + expect(find.text('pulseInside'), findsOneWidget); + expect(find.text('Rest between sweeps'), findsOneWidget); + // Switch to the Pulse tab. - await tester.tap(find.text('Pulse')); - await tester.pump(const Duration(milliseconds: 300)); + await tapLabel(tester, 'Pulse'); expect(find.text('Working...'), findsOneWidget); expect(find.text('Subscribe'), findsOneWidget); + expect(tester.takeException(), isNull); + }); + + testWidgets('playground: a default configuration prints the one-liner', ( + tester, + ) async { + tester.view.physicalSize = const Size(1200, 3600); + tester.view.devicePixelRatio = 2; + addTearDown(tester.view.reset); + + await tester.pumpWidget(const BorderBeamDemoApp()); + await tester.pump(const Duration(milliseconds: 300)); + + expect(snippetText(tester), 'BorderBeam.rotate(\n child: child,\n)'); + }); + + testWidgets('playground: variant, shape, and palette changes reach the ' + 'snippet', (tester) async { + tester.view.physicalSize = const Size(1200, 3600); + tester.view.devicePixelRatio = 2; + addTearDown(tester.view.reset); + + await tester.pumpWidget(const BorderBeamDemoApp()); + await tester.pump(const Duration(milliseconds: 300)); + + final before = snippetText(tester); + + await tapLabel(tester, 'Line'); + expect(snippetText(tester), startsWith('BorderBeam.line(')); + expect(snippetText(tester), isNot(before)); + + await tapLabel(tester, 'Ocean'); + expect(snippetText(tester), contains('colors: BeamColors.ocean')); + + await tapLabel(tester, 'Stadium'); + expect(snippetText(tester), contains('BeamShape.stadium(')); + + await tapLabel(tester, 'Squircle'); + expect(snippetText(tester), contains('superellipse: true')); - // Playground: switch variant and palette without errors. - await tester.tap(find.text('Pulse Outside'), warnIfMissed: false); + await tapLabel(tester, 'Pulse Outside'); + expect(snippetText(tester), startsWith('BorderBeam.pulseOutside(')); + + expect(tester.takeException(), isNull); + }); + + testWidgets('playground: controller mode swaps in a controller and its ' + 'transport', (tester) async { + tester.view.physicalSize = const Size(1200, 3600); + tester.view.devicePixelRatio = 2; + addTearDown(tester.view.reset); + + await tester.pumpWidget(const BorderBeamDemoApp()); + await tester.pump(const Duration(milliseconds: 300)); + + expect(find.text('Start'), findsNothing); + + await tapLabel(tester, 'Controller'); + expect(snippetText(tester), contains('final controller =')); + expect(snippetText(tester), contains('controller: controller')); + // The declarative scheduling fields are the controller's now. + expect(snippetText(tester), isNot(contains('playback:'))); + expect(find.text('Start'), findsOneWidget); + + for (final action in ['Pause', 'Resume', 'Stop', 'Start']) { + await tapLabel(tester, action); + } + + await tapLabel(tester, 'Controller'); + expect(snippetText(tester), isNot(contains('controller: controller'))); + expect(find.text('Start'), findsNothing); + expect(tester.takeException(), isNull); + }); + + testWidgets('playground: the theme toggle wraps the snippet in a ' + 'BorderBeamTheme', (tester) async { + tester.view.physicalSize = const Size(1200, 3600); + tester.view.devicePixelRatio = 2; + addTearDown(tester.view.reset); + + await tester.pumpWidget(const BorderBeamDemoApp()); await tester.pump(const Duration(milliseconds: 300)); - await tester.tap(find.text('Ocean'), warnIfMissed: false); + + await tapLabel(tester, 'Theme'); + await tapLabel(tester, 'BorderBeamTheme'); + expect(snippetText(tester), startsWith('BorderBeamTheme(')); + expect(snippetText(tester), contains('BeamColors.ocean')); + expect(tester.takeException(), isNull); + }); + + testWidgets('playground: Reset returns every control to its default', ( + tester, + ) async { + tester.view.physicalSize = const Size(1200, 3600); + tester.view.devicePixelRatio = 2; + addTearDown(tester.view.reset); + + await tester.pumpWidget(const BorderBeamDemoApp()); await tester.pump(const Duration(milliseconds: 300)); + + await tapLabel(tester, 'Line'); + await tapLabel(tester, 'Stadium'); + expect( + snippetText(tester), + isNot('BorderBeam.rotate(\n child: child,\n)'), + ); + + await tapLabel(tester, 'Reset'); + expect(snippetText(tester), 'BorderBeam.rotate(\n child: child,\n)'); expect(tester.takeException(), isNull); }); } diff --git a/example/test/share_codec_test.dart b/example/test/share_codec_test.dart new file mode 100644 index 0000000..d63b2b5 --- /dev/null +++ b/example/test/share_codec_test.dart @@ -0,0 +1,180 @@ +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam_example/src/playground/playground_state.dart'; +import 'package:flutter_border_beam_example/src/playground/share_codec.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + group('encodePlaygroundState', () { + test('encodes the default configuration to the empty string', () { + expect(encodePlaygroundState(PlaygroundState()), isEmpty); + }); + + test('writes only the fields that differ from the default', () { + final state = PlaygroundState() + ..variant = BeamVariant.line + ..strength = 0.6; + expect(encodePlaygroundState(state), 'v=line&str=0.6'); + }); + + test('trims trailing zeros from numbers', () { + final state = PlaygroundState()..borderWidth = 2; + expect(encodePlaygroundState(state), 'bw=2'); + }); + + test('emits only ASCII that needs no percent-escaping', () { + final state = PlaygroundState() + ..palette = PalettePreset.custom + ..customColors = [2, 5, 7] + ..hueBase = -120 + ..cycleSeconds = 2.5; + final encoded = encodePlaygroundState(state); + expect(encoded, matches(RegExp(r'^[A-Za-z0-9.,=&-]*$'))); + expect(encoded, contains('cc=2,5,7')); + expect(encoded, contains('hb=-120')); + expect(encoded, contains('cy=2.5')); + }); + }); + + group('decodePlaygroundState', () { + test('restores every field through a round trip', () { + final state = PlaygroundState() + ..variant = BeamVariant.pulseOutside + ..palette = PalettePreset.custom + ..customColors = [1, 4, 6] + ..stadium = true + ..perCorner = true + ..radius = 24 + ..radiusTopLeft = 4 + ..radiusTopRight = 8 + ..radiusBottomRight = 12 + ..radiusBottomLeft = 20 + ..superellipse = true + ..borderWidth = 2.5 + ..cycleSeconds = 3.25 + ..cycleGapSeconds = 1.5 + ..speed = 2 + ..huePeriodSeconds = 7 + ..breatheFactor = 2 + ..spikeFactor = 0.75 + ..spike2Factor = 2.5 + ..staticColors = true + ..strength = 0.35 + ..brightness = 1.8 + ..saturation = 0.9 + ..hueRange = 12 + ..hueBase = 45 + ..strokeOpacityFactor = 0.5 + ..innerOpacityFactor = 1.5 + ..bloomOpacityFactor = 0.25 + ..glowBoost = 2.2 + ..coreBlur = 18 + ..bloomBlur = 64 + ..glowBrightness = 1.4 + ..glowSaturation = 2.1 + ..active = false + ..controllerMode = true + ..controllerSpeed = 3 + ..startAfterSeconds = 1.5 + ..durationSeconds = 9 + ..themeDemo = true; + + final encoded = encodePlaygroundState(state); + final decoded = decodePlaygroundState(encoded); + + expect(encodePlaygroundState(decoded), encoded); + expect(decoded.variant, BeamVariant.pulseOutside); + expect(decoded.palette, PalettePreset.custom); + expect(decoded.customColors, [1, 4, 6]); + expect(decoded.stadium, isTrue); + expect(decoded.perCorner, isTrue); + expect(decoded.superellipse, isTrue); + expect(decoded.borderWidth, 2.5); + expect(decoded.cycleSeconds, 3.25); + expect(decoded.huePeriodSeconds, 7); + expect(decoded.hueBase, 45); + expect(decoded.active, isFalse); + expect(decoded.controllerMode, isTrue); + expect(decoded.controllerSpeed, 3); + expect(decoded.themeDemo, isTrue); + }); + + test('an empty string decodes to the defaults', () { + final decoded = decodePlaygroundState(''); + expect(encodePlaygroundState(decoded), isEmpty); + expect(decoded.variant, BeamVariant.rotate); + expect(decoded.cycleSeconds, isNull); + }); + + test('ignores unknown keys, malformed pairs, and bad values', () { + final decoded = decodePlaygroundState( + 'nope=1&&=5&v=not-a-variant&p=nope&str=huge&bw=99&hb=-999&sc=maybe', + ); + expect(decoded.variant, BeamVariant.rotate); + expect(decoded.palette, PalettePreset.colorful); + expect(decoded.strength, 1); + expect(decoded.borderWidth, 1, reason: 'out of the 0.5–4 range'); + expect(decoded.hueBase, 0, reason: 'out of the -180–180 range'); + expect(decoded.staticColors, isFalse); + }); + + test('drops out-of-bounds swatch indices and short custom lists', () { + expect(decodePlaygroundState('cc=0,99,x,3').customColors, [0, 3]); + expect( + decodePlaygroundState('cc=0').customColors, + PlaygroundState().customColors, + reason: 'fewer than two colors is not a usable custom palette', + ); + expect(decodePlaygroundState('cc=0,1,2,3,4,5').customColors.length, 4); + }); + }); + + group('playgroundStateStringFrom', () { + test('reads a query string', () { + expect( + playgroundStateStringFrom(Uri.parse('https://x.dev/?v=line&str=0.5')), + 'v=line&str=0.5', + ); + }); + + test('reads a bare fragment — the form the share button hands out', () { + expect( + playgroundStateStringFrom(Uri.parse('https://x.dev/#v=line')), + 'v=line', + ); + }); + + test('reads a fragment carrying a route and query', () { + expect( + playgroundStateStringFrom(Uri.parse('https://x.dev/#/?v=line')), + 'v=line', + ); + }); + + test('returns null when there is no state to read', () { + expect(playgroundStateStringFrom(Uri.parse('https://x.dev/')), isNull); + expect(playgroundStateStringFrom(Uri.parse('https://x.dev/#/')), isNull); + expect(playgroundStateStringFrom(Uri.parse('file:///tmp/app')), isNull); + }); + }); + + group('playgroundShareUrl', () { + test('appends the state to the published site as a fragment', () { + expect(playgroundShareUrl('v=line'), '$playgroundSiteUrl#v=line'); + }); + + test('a default configuration shares the bare site URL', () { + expect(playgroundShareUrl(''), playgroundSiteUrl); + }); + + test('round-trips through the URL it builds', () { + final state = PlaygroundState() + ..variant = BeamVariant.small + ..stadium = true; + final encoded = encodePlaygroundState(state); + final uri = Uri.parse(playgroundShareUrl(encoded)); + final decoded = decodePlaygroundState(playgroundStateStringFrom(uri)!); + expect(decoded.variant, BeamVariant.small); + expect(decoded.stadium, isTrue); + }); + }); +} diff --git a/example/test/snippet_test.dart b/example/test/snippet_test.dart new file mode 100644 index 0000000..21416de --- /dev/null +++ b/example/test/snippet_test.dart @@ -0,0 +1,179 @@ +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam_example/src/playground/playground_state.dart'; +import 'package:flutter_border_beam_example/src/playground/snippet.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + test('a default configuration prints the one-liner', () { + expect( + buildSnippet(PlaygroundState()), + 'BorderBeam.rotate(\n child: child,\n)', + ); + }); + + test('picks the named constructor for the variant', () { + for (final entry in { + BeamVariant.rotate: 'BorderBeam.rotate(', + BeamVariant.small: 'BorderBeam.small(', + BeamVariant.line: 'BorderBeam.line(', + BeamVariant.pulseInside: 'BorderBeam.pulseInside(', + BeamVariant.pulseOutside: 'BorderBeam.pulseOutside(', + }.entries) { + final state = PlaygroundState()..variant = entry.key; + expect(buildSnippet(state), startsWith(entry.value)); + } + }); + + test('the small variant emits its radius, whose preset is 32', () { + final state = PlaygroundState()..variant = BeamVariant.small; + expect(buildSnippet(state), contains('borderRadius: 16')); + }); + + test('a plain radius uses the borderRadius shorthand', () { + final state = PlaygroundState()..radius = 24; + expect(buildSnippet(state), contains('borderRadius: 24')); + expect(buildSnippet(state), isNot(contains('BeamShape'))); + }); + + test('a radius with a squircle or a width needs a non-const BeamShape', () { + final state = PlaygroundState() + ..radius = 24 + ..superellipse = true + ..borderWidth = 2; + expect( + buildSnippet(state), + contains( + 'shape: BeamShape.circular(24, borderWidth: 2, ' + 'superellipse: true)', + ), + ); + }); + + test('stadium corners emit the const named constructor', () { + final state = PlaygroundState()..stadium = true; + expect(buildSnippet(state), contains('shape: const BeamShape.stadium()')); + }); + + test('per-corner mode emits a const BorderRadius.only', () { + final state = PlaygroundState() + ..perCorner = true + ..radiusTopLeft = 4 + ..radiusBottomRight = 28; + final snippet = buildSnippet(state); + expect(snippet, contains('shape: const BeamShape(')); + expect(snippet, contains('radius: BorderRadius.only(')); + expect(snippet, contains('topLeft: Radius.circular(4)')); + expect(snippet, contains('bottomRight: Radius.circular(28)')); + }); + + test('sub-second durations are emitted in milliseconds', () { + final state = PlaygroundState()..cycleGapSeconds = 0.9; + expect( + buildSnippet(state), + contains('cycleGap: Duration(milliseconds: 900)'), + ); + }); + + test('whole-second durations are emitted in seconds', () { + final state = PlaygroundState()..cycleGapSeconds = 2; + expect(buildSnippet(state), contains('cycleGap: Duration(seconds: 2)')); + }); + + test('custom colors are emitted as a const list of Color literals', () { + final state = PlaygroundState() + ..palette = PalettePreset.custom + ..customColors = [0, 1]; + expect( + buildSnippet(state), + contains( + 'colors: const BeamColors.custom([Color(0xFFFF0080), ' + 'Color(0xFF00E5FF)])', + ), + ); + }); + + test('controller mode declares the controller and drops playback', () { + final state = PlaygroundState() + ..controllerMode = true + ..controllerSpeed = 2 + ..speed = 3 + ..startAfterSeconds = 1 + ..durationSeconds = 5; + final snippet = buildSnippet(state); + expect(snippet, startsWith('final controller = BorderBeamController();')); + expect(snippet, contains('// controller.speed = 2;')); + expect(snippet, contains('controller: controller')); + // A controller owns scheduling and the rate exclusively. + expect(snippet, isNot(contains('playback:'))); + expect(snippet, isNot(contains('speed:'))); + }); + + test('scheduling fields ride BeamPlayback outside controller mode', () { + final state = PlaygroundState() + ..startAfterSeconds = 0.5 + ..durationSeconds = 6; + final snippet = buildSnippet(state); + expect(snippet, contains('playback: const BeamPlayback(')); + expect(snippet, contains('startAfter: Duration(milliseconds: 500)')); + expect(snippet, contains('duration: Duration(seconds: 6)')); + }); + + test('an inactive beam uses the active shorthand', () { + final state = PlaygroundState()..active = false; + expect(buildSnippet(state), contains('active: false')); + }); + + test('theme mode nests the beam under a BorderBeamTheme', () { + final state = PlaygroundState()..themeDemo = true; + final snippet = buildSnippet(state); + expect(snippet, startsWith('BorderBeamTheme(')); + expect( + snippet, + contains('style: const BeamStyle(colors: BeamColors.ocean)'), + ); + expect( + snippet, + contains('shape: BeamShape.circular(20, superellipse: true)'), + ); + expect(snippet, contains(' child: BorderBeam.rotate(')); + expect(snippet, endsWith(')')); + }); + + test('line-only timing fields are dropped on other variants', () { + final state = PlaygroundState() + ..variant = BeamVariant.rotate + ..breatheFactor = 2 + ..spikeFactor = 2; + expect(buildSnippet(state), isNot(contains('breatheFactor'))); + + state.variant = BeamVariant.line; + expect(buildSnippet(state), contains('breatheFactor: 2')); + expect(buildSnippet(state), contains('spikeFactor: 2')); + }); + + test('pulse-only style fields are dropped on other variants', () { + final state = PlaygroundState() + ..glowBoost = 2 + ..coreBlur = 20; + expect(buildSnippet(state), isNot(contains('glowBoost'))); + expect(buildSnippet(state), isNot(contains('coreBlur'))); + + state.variant = BeamVariant.pulseInside; + expect(buildSnippet(state), contains('glowBoost: 2')); + expect(buildSnippet(state), isNot(contains('coreBlur'))); + + state.variant = BeamVariant.pulseOutside; + expect(buildSnippet(state), contains('coreBlur: 20')); + }); + + test('numbers read as hand-written arguments', () { + final state = PlaygroundState() + ..strength = 0.5 + ..hueBase = -30 + ..strokeOpacityFactor = 1.25; + final snippet = buildSnippet(state); + expect(snippet, contains('strength: 0.5')); + expect(snippet, contains('hueBase: -30')); + expect(snippet, contains('strokeOpacityFactor: 1.25')); + }); +} From 15a0c5f80dcbe432857e6191e4dc33ce12160e0b Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 15:31:14 -0700 Subject: [PATCH 11/40] feat(api): declare the Phase 3 options on the value objects BeamStyle gains hueMode, tailLength, glowSpread, comet, sparkle, and segments; BeamShape gains edge, ringOffset, contour, and a const BeamShape.all for a uniform radius; BeamTiming gains direction, phaseOffset, and beamCount; BeamPlayback gains repeat and reducedMotion (a four-way BeamReducedMotion in place of the respectReducedMotion bool). beam_options.dart holds the enums, BeamRepeat, and the BeamContour/BeamPathContour contour types. BeamConfig resolves every new field to the default that reproduces today's rendering and compares them by value; BeamVariant exposes defaultHuePeriod and defaultBloomHuePeriod so tooling reads timing defaults from one place. The painting strategies and resolver do not read the new fields yet. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 38 +++ CLAUDE.md | 2 +- README.md | 3 +- lib/flutter_border_beam.dart | 9 + lib/src/border_beam.dart | 6 +- lib/src/models/beam_config.dart | 122 +++++++-- lib/src/models/beam_options.dart | 169 ++++++++++++ lib/src/models/beam_playback.dart | 47 +++- lib/src/models/beam_shape.dart | 115 ++++++-- lib/src/models/beam_style.dart | 78 +++++- lib/src/models/beam_timing.dart | 44 +++- lib/src/models/beam_variant.dart | 21 ++ test/models/beam_config_test.dart | 113 ++++++++ test/models/beam_variant_test.dart | 82 ++++++ test/models/value_objects_test.dart | 336 +++++++++++++++++++++++- test/widget/border_beam_theme_test.dart | 4 +- 16 files changed, 1118 insertions(+), 71 deletions(-) create mode 100644 lib/src/models/beam_options.dart create mode 100644 test/models/beam_variant_test.dart diff --git a/CHANGELOG.md b/CHANGELOG.md index b956e91..eb6a38e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,41 @@ ## Unreleased +### Added + +- `BeamStyle.hueMode` picks the shape of the hue track: `BeamHueMode.pingPong` + swings across ±`hueRange`, `BeamHueMode.continuous` revolves a full 360°. + Traveling variants ping-pong, pulse variants revolve, as before. +- `BeamStyle.tailLength` stretches or shortens the traveling window's tail, + and `BeamStyle.glowSpread` scales how far the bloom and halo layers reach + past the ring. +- `BeamStyle.comet` trails a soft halo outside the ring behind the rotate and + small beams' head; `BeamStyle.sparkle` scatters twinkles at that head, at a + density of 0–1. +- `BeamStyle.segments` breaks the ring into that many evenly spaced dashes; + null keeps it solid. +- `BeamShape.all(radius)` is the const path to a uniform radius — it stores + the number instead of building a `BorderRadius`, so a theme or a widget can + hold one in a `const` expression. It compares equal to + `BeamShape.circular(radius)`. +- `BeamShape.edge` moves the line variant's beam to any `BeamEdge` (top, + right, bottom, left); `BeamShape.ringOffset` pushes the ring outward or + pulls it inward from the child's bounds. +- `BeamShape.contour` takes a `BeamContour` — an arbitrary closed path for the + beam to travel, replacing the rounded rectangle. `BeamPathContour` wraps a + `Path Function(Rect)` with an explicit equality key. +- `BeamTiming.direction` runs the beam forward, reversed, or alternating each + cycle (`BeamDirection`); `BeamTiming.phaseOffset` starts the timeline part + way through a cycle; `BeamTiming.beamCount` sends several beams around the + contour at once, equally spaced. +- `BeamPlayback.repeat` stops the beam after a set number of cycles + (`BeamRepeat.forever()`, `.once()`, `.count(n)`). +- `BeamPlayback.reducedMotion` chooses what happens under + `MediaQuery.disableAnimations`: `staticFrame` (the default), `hide`, `slow` + (quarter speed), or `animate` to ignore the request. +- `BeamVariant.defaultHuePeriod` and `BeamVariant.defaultBloomHuePeriod` + expose the per-variant hue timings the config resolves against. + ### Changed - The package is named `flutter_border_beam`; the barrel is @@ -40,6 +75,9 @@ ### Removed +- `BeamPlayback.respectReducedMotion`, replaced by + `BeamPlayback.reducedMotion`; `reducedMotion: BeamReducedMotion.animate` is + what `respectReducedMotion: false` used to say. - The `sprung` dependency. The fade envelope is eased by the in-package `FadeSpringCurve` (mass 1, stiffness 180, damping 20 — the same spring), so the package depends on the Flutter SDK alone. diff --git a/CLAUDE.md b/CLAUDE.md index c55bb97..e9b87cb 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -30,7 +30,7 @@ frame. - `lib/src/animation/` — `beam_clock.dart` (ticker, speed, pause, spring fades via `spring_curve.dart`, optional fps cap), `oscillator.dart` (pingPong + the 17-oscillator pulse bank), `beam_phases.dart` (per-frame value object + keyframe sampling). - `lib/src/painting/` — `beam_painter.dart` (one `CustomPainter`, repaint driven by the clock, `behind`/`above` passes), `strategies/` (one per variant family), `ring_geometry.dart` (rrect + `RSuperellipse` ring via `Path.combine` difference), `gradient_builders.dart`, `color_matrix.dart` (hue/brightness/saturation matrices), `layer_utils.dart`. - `lib/src/constants/` — **verbatim transcriptions** of the React source's tables (`palettes.dart`, `theme_presets.dart`, `pulse_tables.dart`, `pulse_params.dart`, `line_keyframes.dart`). -- `lib/src/models/` — public/internal data types. The four public value objects (`beam_style.dart`, `beam_shape.dart`, `beam_timing.dart`, `beam_playback.dart`) are all-nullable, `const`, with `copyWith`/`merge`/`==`; a null field means *inherit*. `BeamConfig.resolve({variant, palette, brightness, style, shape, timing, textDirection})` flattens them into the painter's config and mirrors the React component's computed values (per-variant default durations and radii, the line 13° hue cap, mono forcing static colors); it carries the timing tracks (`gapSeconds`, hue periods, breathe/spike factors) and a per-corner resolved `BorderRadius`, and is value-equal so `BeamPainter.shouldRepaint` compares configs. +- `lib/src/models/` — public/internal data types. The four public value objects (`beam_style.dart`, `beam_shape.dart`, `beam_timing.dart`, `beam_playback.dart`) are all-nullable, `const`, with `copyWith`/`merge`/`==`; a null field means *inherit*. `beam_options.dart` holds the small option types those fields take (`BeamHueMode`, `BeamDirection`, `BeamEdge`, `BeamReducedMotion`, `BeamRepeat`, and the `BeamContour`/`BeamPathContour` pair — a contour is a config-cache key, so every implementer overrides `==`/`hashCode`). `BeamConfig.resolve({variant, palette, brightness, style, shape, timing, textDirection})` flattens them into the painter's config and mirrors the React component's computed values (per-variant default durations and radii, the line 13° hue cap, mono forcing static colors); it carries the timing tracks (`gapSeconds`, hue periods, breathe/spike factors) and a per-corner resolved `BorderRadius`, and is value-equal so `BeamPainter.shouldRepaint` compares configs. ## Hard rules diff --git a/README.md b/README.md index 0f7c166..b7667b7 100644 --- a/README.md +++ b/README.md @@ -242,7 +242,8 @@ Every tuning hook of the original is a field on one of the four value objects. E | `autoPlay` | `true` | Whether the beam starts by itself | | `startAfter` | none | Delay before autoplay | | `duration` | none (loops) | Total play time | -| `respectReducedMotion` | `true` | Static frame under `MediaQuery.disableAnimations` | +| `repeat` | `BeamRepeat.forever()` | How many cycles to run before stopping | +| `reducedMotion` | `staticFrame` | What to do under `MediaQuery.disableAnimations` (`animate`, `staticFrame`, `hide`, `slow`) | ## Example app diff --git a/lib/flutter_border_beam.dart b/lib/flutter_border_beam.dart index f34beb1..61fc0e0 100644 --- a/lib/flutter_border_beam.dart +++ b/lib/flutter_border_beam.dart @@ -11,6 +11,15 @@ export 'src/border_beam_controller.dart' show BorderBeamController; export 'src/border_beam_theme.dart' show BorderBeamTheme, BorderBeamThemeData; export 'src/models/beam_blob.dart' show BeamBlob, LineBlob; export 'src/models/beam_colors.dart' show BeamColors; +export 'src/models/beam_options.dart' + show + BeamContour, + BeamDirection, + BeamEdge, + BeamHueMode, + BeamPathContour, + BeamReducedMotion, + BeamRepeat; export 'src/models/beam_playback.dart' show BeamPlayback; export 'src/models/beam_shape.dart' show BeamShape; export 'src/models/beam_style.dart' show BeamStyle; diff --git a/lib/src/border_beam.dart b/lib/src/border_beam.dart index 8ce3978..771c443 100644 --- a/lib/src/border_beam.dart +++ b/lib/src/border_beam.dart @@ -9,6 +9,7 @@ import 'border_beam_controller.dart'; import 'border_beam_theme.dart'; import 'models/beam_colors.dart'; import 'models/beam_config.dart'; +import 'models/beam_options.dart'; import 'models/beam_playback.dart'; import 'models/beam_shape.dart'; import 'models/beam_style.dart'; @@ -45,7 +46,7 @@ import 'painting/variant_strategy.dart'; /// BorderBeam( /// variant: variant, /// style: const BeamStyle(colors: BeamColors.sunset, strength: 0.8), -/// shape: const BeamShape.circular(24, superellipse: true), +/// shape: const BeamShape.all(24, superellipse: true), /// timing: const BeamTiming(cycleGap: Duration(seconds: 1)), /// child: card, /// ) @@ -516,7 +517,8 @@ class _BorderBeamState extends State with TickerProviderStateMixin { } bool get _reducedMotion => - (_playback.respectReducedMotion ?? true) && + (_playback.reducedMotion ?? BeamReducedMotion.staticFrame) != + BeamReducedMotion.animate && (MediaQuery.maybeDisableAnimationsOf(context) ?? false); @override diff --git a/lib/src/models/beam_config.dart b/lib/src/models/beam_config.dart index 9597d07..0d3c0a0 100644 --- a/lib/src/models/beam_config.dart +++ b/lib/src/models/beam_config.dart @@ -2,7 +2,7 @@ import 'dart:ui'; import 'package:flutter/painting.dart'; -import '../constants/pulse_params.dart'; +import 'beam_options.dart'; import 'beam_palette.dart'; import 'beam_shape.dart'; import 'beam_style.dart'; @@ -10,11 +10,6 @@ import 'beam_theme_config.dart'; import 'beam_timing.dart'; import 'beam_variant.dart'; -// The hue ping-pong period of the traveling variants (React -// `beam-hue-shift`, 12s) and the line bloom's own hue period (8s). -const double _defaultHuePeriodSeconds = 12; -const double _defaultBloomHuePeriodSeconds = 8; - // The line variant's breathe/spike tracks run at multiples of the cycle. const double _defaultBreatheFactor = 1.3; const double _defaultSpikeFactor = 1.33; @@ -44,9 +39,10 @@ class BeamConfig { required this.hueBase, required this.staticColors, required this.cycleSeconds, + required this.hueMode, + required this.huePeriodSeconds, + required this.bloomHuePeriodSeconds, this.gapSeconds = 0, - this.huePeriodSeconds = _defaultHuePeriodSeconds, - this.bloomHuePeriodSeconds = _defaultBloomHuePeriodSeconds, this.breatheFactor = _defaultBreatheFactor, this.spikeFactor = _defaultSpikeFactor, this.spike2Factor = _defaultSpike2Factor, @@ -58,6 +54,17 @@ class BeamConfig { this.bloomBlur, this.glowBrightness, this.glowSaturation, + this.tailLength = 1, + this.glowSpread = 1, + this.comet = false, + this.sparkle = 0, + this.segments, + this.edge = BeamEdge.bottom, + this.ringOffset = 0, + this.contour, + this.direction = BeamDirection.forward, + this.phaseOffset = 0, + this.beamCount = 1, }); /// Resolves the beam value objects against the variant/theme presets, @@ -96,16 +103,17 @@ class BeamConfig { hueRange: variant == BeamVariant.line ? (hueRange > 13 ? 13.0 : hueRange) : hueRange, + hueMode: + style.hueMode ?? + (variant.isPulse ? BeamHueMode.continuous : BeamHueMode.pingPong), hueBase: style.hueBase ?? 0, staticColors: (style.staticColors ?? false) || palette.forcesStaticColors, cycleSeconds: cycleSeconds, gapSeconds: _seconds(timing.cycleGap ?? Duration.zero), - huePeriodSeconds: timing.huePeriod != null - ? _seconds(timing.huePeriod!) - : _defaultHuePeriod(variant, brightness, cycleSeconds), - bloomHuePeriodSeconds: timing.bloomHuePeriod != null - ? _seconds(timing.bloomHuePeriod!) - : _defaultBloomHuePeriodSeconds, + huePeriodSeconds: _seconds(timing.huePeriod ?? variant.defaultHuePeriod), + bloomHuePeriodSeconds: _seconds( + timing.bloomHuePeriod ?? variant.defaultBloomHuePeriod, + ), breatheFactor: timing.breatheFactor ?? _defaultBreatheFactor, spikeFactor: timing.spikeFactor ?? _defaultSpikeFactor, spike2Factor: timing.spike2Factor ?? _defaultSpike2Factor, @@ -117,19 +125,20 @@ class BeamConfig { bloomBlur: style.bloomBlur, glowBrightness: style.glowBrightness, glowSaturation: style.glowSaturation, + tailLength: style.tailLength ?? 1, + glowSpread: style.glowSpread ?? 1, + comet: style.comet ?? false, + sparkle: (style.sparkle ?? 0).clamp(0.0, 1.0), + segments: style.segments, + edge: shape.edge ?? BeamEdge.bottom, + ringOffset: shape.ringOffset ?? 0, + contour: shape.contour, + direction: timing.direction ?? BeamDirection.forward, + phaseOffset: timing.phaseOffset ?? 0, + beamCount: timing.beamCount ?? 1, ); } - // The traveling variants ping-pong their hue over a fixed 12s; the pulse - // variants revolve over the period their own preset carries. - static double _defaultHuePeriod( - BeamVariant variant, - Brightness brightness, - double cycleSeconds, - ) => variant.isPulse - ? PulseParams.resolve(variant, brightness, cycleSeconds).huePeriod - : _defaultHuePeriodSeconds; - /// Which effect to paint. final BeamVariant variant; @@ -164,6 +173,9 @@ class BeamConfig { /// Hue animation amplitude in degrees (rotate/small/line ping-pong). final double hueRange; + /// Whether the hue swings across ±[hueRange] or revolves continuously. + final BeamHueMode hueMode; + /// Static hue offset in degrees added to the animated hue. final double hueBase; @@ -215,6 +227,42 @@ class BeamConfig { /// Pulse-outside glow saturation override (React `--beam-glow-saturate`). final double? glowSaturation; + /// Multiplier on the angular width of the traveling window — the length of + /// the beam's tail. + final double tailLength; + + /// Multiplier on how far the bloom and halo layers reach past the ring. + final double glowSpread; + + /// Whether a soft halo trails the traveling head outside the ring. + final bool comet; + + /// Density 0–1 of the twinkles scattered at the traveling beam's head. + final double sparkle; + + /// Number of dashes the ring is broken into, or null for a solid ring. + final int? segments; + + /// Which edge the line variant's beam travels along. + final BeamEdge edge; + + /// Logical px the ring sits outside (+) or inside (−) the child's bounds. + final double ringOffset; + + /// An arbitrary contour replacing the rounded rectangle, or null to build + /// the contour from [borderRadius] and [useSuperellipse]. + final BeamContour? contour; + + /// Which way the beam travels around the contour. + final BeamDirection direction; + + /// Fraction of a cycle, 0–1, the timeline starts at. + final double phaseOffset; + + /// How many beams travel the contour at once, spaced equally along the + /// cycle. + final int beamCount; + /// Two configs are equal when every painted value is, which is what lets /// `BeamPainter.shouldRepaint` compare configs rather than identities. /// @@ -236,6 +284,7 @@ class BeamConfig { other.brightnessFactor == brightnessFactor && other.saturation == saturation && other.hueRange == hueRange && + other.hueMode == hueMode && other.hueBase == hueBase && other.staticColors == staticColors && other.cycleSeconds == cycleSeconds && @@ -252,7 +301,18 @@ class BeamConfig { other.coreBlur == coreBlur && other.bloomBlur == bloomBlur && other.glowBrightness == glowBrightness && - other.glowSaturation == glowSaturation; + other.glowSaturation == glowSaturation && + other.tailLength == tailLength && + other.glowSpread == glowSpread && + other.comet == comet && + other.sparkle == sparkle && + other.segments == segments && + other.edge == edge && + other.ringOffset == ringOffset && + other.contour == contour && + other.direction == direction && + other.phaseOffset == phaseOffset && + other.beamCount == beamCount; @override int get hashCode => Object.hashAll([ @@ -267,6 +327,7 @@ class BeamConfig { brightnessFactor, saturation, hueRange, + hueMode, hueBase, staticColors, cycleSeconds, @@ -284,6 +345,17 @@ class BeamConfig { bloomBlur, glowBrightness, glowSaturation, + tailLength, + glowSpread, + comet, + sparkle, + segments, + edge, + ringOffset, + contour, + direction, + phaseOffset, + beamCount, ]); @override diff --git a/lib/src/models/beam_options.dart b/lib/src/models/beam_options.dart new file mode 100644 index 0000000..7bb4877 --- /dev/null +++ b/lib/src/models/beam_options.dart @@ -0,0 +1,169 @@ +import 'dart:ui'; + +import 'package:flutter/foundation.dart'; + +/// The shape of a beam's hue track: a swing back and forth, or one +/// continuous revolution. +enum BeamHueMode { + /// The hue swings from `-hueRange` to `+hueRange` and back over one hue + /// period — the traveling variants' default. + pingPong, + + /// The hue advances through a full 360° revolution over one hue period, + /// never reversing — the pulse variants' default. + continuous, +} + +/// Which way a beam travels around its contour. +enum BeamDirection { + /// Clockwise for the rotate and small variants, left-to-right for the line + /// variant. + forward, + + /// The mirror of [forward]: counter-clockwise, or right-to-left. + reverse, + + /// Alternates each cycle, running [forward] on one sweep and [reverse] on + /// the next. + bounce, +} + +/// Which edge of the box the line variant's beam rides. +enum BeamEdge { + /// The top edge, travelling horizontally. + top, + + /// The right edge, travelling vertically. + right, + + /// The bottom edge, travelling horizontally — the line variant's default. + bottom, + + /// The left edge, travelling vertically. + left, +} + +/// What a beam does when the platform asks for reduced motion +/// (`MediaQuery.disableAnimationsOf`). +enum BeamReducedMotion { + /// Ignores the request and keeps animating. + animate, + + /// Paints a single static frame of the effect instead of animating — the + /// default. + staticFrame, + + /// Paints nothing at all, leaving the child bare. + hide, + + /// Keeps animating at a quarter of the configured speed. + slow, +} + +/// How many cycles a beam runs before it stops. +/// +/// A beam that reaches its last cycle fades out the way an inactive one +/// does, rather than cutting off mid-sweep. +/// +/// ```dart +/// BorderBeam.rotate( +/// playback: const BeamPlayback(repeat: BeamRepeat.count(3)), +/// child: card, +/// ) +/// ``` +@immutable +class BeamRepeat { + /// Loops forever — the default. + const BeamRepeat.forever() : cycles = null; + + /// Runs exactly one cycle, then stops. + const BeamRepeat.once() : cycles = 1; + + /// Runs [n] cycles, then stops. [n] must be at least 1. + const BeamRepeat.count(int n) + : assert(n >= 1, 'BeamRepeat.count needs at least one cycle'), + cycles = n; + + /// How many cycles to run, or null to loop forever. + final int? cycles; + + @override + bool operator ==(Object other) => + identical(this, other) || other is BeamRepeat && other.cycles == cycles; + + @override + int get hashCode => cycles.hashCode; + + @override + String toString() => + cycles == null ? 'BeamRepeat.forever()' : 'BeamRepeat.count($cycles)'; +} + +/// An arbitrary outer contour for the beam to travel, replacing the rounded +/// rectangle built from `BeamShape.radius`. +/// +/// The beam's ring, its masks, and the path the traveling head follows are +/// all built from [build], so any closed path works — a notched card, a +/// speech bubble, a hand-drawn blob. +/// +/// A contour is a value: `BeamConfig` keys its cache on it, so **every +/// implementer must override `==` and `hashCode`**. A contour that compares +/// by identity re-resolves the config on every rebuild. [BeamPathContour] +/// shows the pattern — it compares on an explicit key, because two closures +/// that draw the same path are never equal to each other. +@immutable +abstract class BeamContour { + /// Allows subclasses to be const. + const BeamContour(); + + /// Builds the contour path for a beam occupying [rect]. + /// + /// Called with the beam's own bounds, already grown or shrunk by + /// `BeamShape.ringOffset`. Return a closed path in the same coordinate + /// space. + Path build(Rect rect); +} + +/// A [BeamContour] that delegates to a builder function, comparing on an +/// explicit [key]. +/// +/// ```dart +/// BeamShape( +/// contour: BeamPathContour( +/// (rect) => Path()..addOval(rect), +/// key: 'oval', +/// ), +/// ) +/// ``` +class BeamPathContour extends BeamContour { + /// Creates a contour that calls [builder], and compares equal to another + /// [BeamPathContour] carrying an equal [key]. + const BeamPathContour(this.builder, {required this.key}); + + /// Draws the contour for the beam's bounds. + final Path Function(Rect rect) builder; + + /// The value this contour compares and hashes on. + /// + /// Two contours built from the same drawing take the same key — Dart + /// closures compare by identity, so an inline builder would otherwise make + /// every rebuild a new value. Any value-equal object works: a string, an + /// enum, or a `Record` of the parameters the builder closes over. + final Object key; + + @override + Path build(Rect rect) => builder(rect); + + @override + bool operator ==(Object other) => + identical(this, other) || + other is BeamPathContour && + other.runtimeType == runtimeType && + other.key == key; + + @override + int get hashCode => Object.hash(runtimeType, key); + + @override + String toString() => 'BeamPathContour($key)'; +} diff --git a/lib/src/models/beam_playback.dart b/lib/src/models/beam_playback.dart index 9b214dc..cc6bb11 100644 --- a/lib/src/models/beam_playback.dart +++ b/lib/src/models/beam_playback.dart @@ -1,7 +1,10 @@ import 'package:flutter/foundation.dart'; -/// When a beam plays: whether it is on, whether it starts by itself, and how -/// long it runs. +import 'beam_options.dart'; + +/// When a beam plays: whether it is on, whether it starts by itself, how +/// long it runs, how many cycles it repeats, and what it does under reduced +/// motion. /// /// Every field is nullable and means *inherit*. A field is resolved in this /// order: the value set on the widget (the `active:` shorthand wins over @@ -28,7 +31,8 @@ class BeamPlayback { this.autoPlay, this.startAfter, this.duration, - this.respectReducedMotion, + this.repeat, + this.reducedMotion, }); /// Declarative play state: toggling fades the beam in (0.6s) and out @@ -44,9 +48,14 @@ class BeamPlayback { /// Total play time before the beam fades out by itself. Null plays forever. final Duration? duration; - /// Whether `MediaQuery.disableAnimationsOf` is honored by painting a single - /// static frame instead of animating. Default true. - final bool? respectReducedMotion; + /// How many cycles the beam runs before it fades out by itself. Default + /// [BeamRepeat.forever]. + final BeamRepeat? repeat; + + /// What the beam does when `MediaQuery.disableAnimationsOf` asks for + /// reduced motion: a single static frame (the default), nothing at all, + /// quarter-speed motion, or full motion regardless. + final BeamReducedMotion? reducedMotion; /// Returns a copy with the given fields replaced. A null argument keeps the /// current value; build a new [BeamPlayback] to clear a field back to @@ -56,13 +65,15 @@ class BeamPlayback { bool? autoPlay, Duration? startAfter, Duration? duration, - bool? respectReducedMotion, + BeamRepeat? repeat, + BeamReducedMotion? reducedMotion, }) => BeamPlayback( active: active ?? this.active, autoPlay: autoPlay ?? this.autoPlay, startAfter: startAfter ?? this.startAfter, duration: duration ?? this.duration, - respectReducedMotion: respectReducedMotion ?? this.respectReducedMotion, + repeat: repeat ?? this.repeat, + reducedMotion: reducedMotion ?? this.reducedMotion, ); /// Layers [other] over this playback: every non-null field of [other] wins, @@ -74,7 +85,8 @@ class BeamPlayback { autoPlay: other.autoPlay, startAfter: other.startAfter, duration: other.duration, - respectReducedMotion: other.respectReducedMotion, + repeat: other.repeat, + reducedMotion: other.reducedMotion, ); @override @@ -85,11 +97,18 @@ class BeamPlayback { other.autoPlay == autoPlay && other.startAfter == startAfter && other.duration == duration && - other.respectReducedMotion == respectReducedMotion; + other.repeat == repeat && + other.reducedMotion == reducedMotion; @override - int get hashCode => - Object.hash(active, autoPlay, startAfter, duration, respectReducedMotion); + int get hashCode => Object.hash( + active, + autoPlay, + startAfter, + duration, + repeat, + reducedMotion, + ); @override String toString() { @@ -98,8 +117,8 @@ class BeamPlayback { if (autoPlay != null) 'autoPlay: $autoPlay', if (startAfter != null) 'startAfter: $startAfter', if (duration != null) 'duration: $duration', - if (respectReducedMotion != null) - 'respectReducedMotion: $respectReducedMotion', + if (repeat != null) 'repeat: $repeat', + if (reducedMotion != null) 'reducedMotion: $reducedMotion', ]; return 'BeamPlayback(${fields.join(', ')})'; } diff --git a/lib/src/models/beam_shape.dart b/lib/src/models/beam_shape.dart index 4247f05..e4da0e7 100644 --- a/lib/src/models/beam_shape.dart +++ b/lib/src/models/beam_shape.dart @@ -1,8 +1,11 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/painting.dart'; -/// The geometry of a beam: its corner radii, ring thickness, and corner -/// family (circular arcs or superellipse). +import 'beam_options.dart'; + +/// The geometry of a beam: its corner radii, ring thickness, corner family +/// (circular arcs or superellipse), how far the ring sits from the child, +/// and which edge the line variant rides. /// /// Every field is nullable and means *inherit*. A field is resolved in this /// order: the value set on the widget (the `borderRadius` shorthand wins over @@ -11,7 +14,7 @@ import 'package:flutter/painting.dart'; /// /// ```dart /// BorderBeam.rotate( -/// shape: const BeamShape.circular(24, superellipse: true), +/// shape: const BeamShape.all(24, superellipse: true), /// child: card, /// ) /// ``` @@ -19,24 +22,64 @@ import 'package:flutter/painting.dart'; class BeamShape { /// Creates a shape with per-corner [radius]. Every omitted field is /// inherited. - const BeamShape({this.radius, this.borderWidth, this.superellipse}); + const BeamShape({ + BorderRadiusGeometry? radius, + this.borderWidth, + this.superellipse, + this.edge, + this.ringOffset, + this.contour, + }) : _radius = radius, + _uniformRadius = null; + + /// A shape whose four corners share one radius — the const path. + /// + /// The number is stored as given and grown into a [BorderRadius] where + /// [radius] is read, which is what keeps the constructor const: building a + /// [BorderRadius] from a parameter is a runtime construction. `all` and + /// [circular] compare equal for the same number. + const BeamShape.all( + double radius, { + this.borderWidth, + this.superellipse, + this.edge, + this.ringOffset, + this.contour, + }) : _uniformRadius = radius, + _radius = null; - /// A shape whose four corners share one [radius]. + /// A shape whose four corners share one [radius], built as a + /// [BorderRadius]. /// - /// Not `const` — building a [BorderRadius] from a plain number is a - /// runtime construction, the same reason [BorderRadius.circular] is not - /// const either. For a const beam, pass the `borderRadius` shorthand on the - /// widget (a number, so it stays const) and keep this object for the rest. - BeamShape.circular(double radius, {this.borderWidth, this.superellipse}) - : radius = BorderRadius.circular(radius); + /// Not `const` — for a const beam use [BeamShape.all], which stores the + /// number instead. Reach for this one when you already think in + /// [BorderRadius] terms. + BeamShape.circular( + double radius, { + this.borderWidth, + this.superellipse, + this.edge, + this.ringOffset, + this.contour, + }) : _radius = BorderRadius.circular(radius), + _uniformRadius = null; /// A pill: each corner rounds to half the shortest side of the box, so a /// square box comes out a circle. /// /// The radius is infinite and the ring geometry clamps it per corner, which /// is what makes it track the box as it resizes. - const BeamShape.stadium({this.borderWidth, this.superellipse}) - : radius = const BorderRadius.all(Radius.circular(double.infinity)); + const BeamShape.stadium({ + this.borderWidth, + this.superellipse, + this.edge, + this.ringOffset, + this.contour, + }) : _radius = const BorderRadius.all(Radius.circular(double.infinity)), + _uniformRadius = null; + + final BorderRadiusGeometry? _radius; + final double? _uniformRadius; /// Corner radii of the beam contour, direction-aware. /// @@ -45,7 +88,12 @@ class BeamShape { /// radii on one side exceed that side's length, all four scale down by the /// smallest offending ratio. Match your child's decoration radius — the /// beam does not read it. - final BorderRadiusGeometry? radius; + /// + /// Ignored when [contour] is set. + BorderRadiusGeometry? get radius { + final uniform = _uniformRadius; + return uniform == null ? _radius : BorderRadius.circular(uniform); + } /// Stroke ring thickness in logical px. Default 1, as in the source. final double? borderWidth; @@ -54,19 +102,42 @@ class BeamShape { /// instead of circular corner arcs. /// /// Defaults to false, matching the circular-arc corners of the source - /// library's CSS `border-radius`. + /// library's CSS `border-radius`. Ignored when [contour] is set. final bool? superellipse; + /// Which edge the line variant's beam travels along. Default + /// [BeamEdge.bottom], as in the source. The other variants ignore it. + final BeamEdge? edge; + + /// Logical px the ring is pushed outward (positive) or pulled inward + /// (negative) from the child's bounds, so the beam can orbit at a distance + /// or tuck inside a padded surface. Default 0 — the ring sits on the + /// bounds. + final double? ringOffset; + + /// An arbitrary contour for the beam to travel instead of the rounded + /// rectangle built from [radius]. + /// + /// Default null. When set, [radius] and [superellipse] are ignored — the + /// path the contour builds is the whole geometry. + final BeamContour? contour; + /// Returns a copy with the given fields replaced. A null argument keeps the /// current value; build a new [BeamShape] to clear a field back to inherit. BeamShape copyWith({ BorderRadiusGeometry? radius, double? borderWidth, bool? superellipse, + BeamEdge? edge, + double? ringOffset, + BeamContour? contour, }) => BeamShape( radius: radius ?? this.radius, borderWidth: borderWidth ?? this.borderWidth, superellipse: superellipse ?? this.superellipse, + edge: edge ?? this.edge, + ringOffset: ringOffset ?? this.ringOffset, + contour: contour ?? this.contour, ); /// Layers [other] over this shape: every non-null field of [other] wins, @@ -77,6 +148,9 @@ class BeamShape { radius: other.radius, borderWidth: other.borderWidth, superellipse: other.superellipse, + edge: other.edge, + ringOffset: other.ringOffset, + contour: other.contour, ); @override @@ -85,10 +159,14 @@ class BeamShape { other is BeamShape && other.radius == radius && other.borderWidth == borderWidth && - other.superellipse == superellipse; + other.superellipse == superellipse && + other.edge == edge && + other.ringOffset == ringOffset && + other.contour == contour; @override - int get hashCode => Object.hash(radius, borderWidth, superellipse); + int get hashCode => + Object.hash(radius, borderWidth, superellipse, edge, ringOffset, contour); @override String toString() { @@ -96,6 +174,9 @@ class BeamShape { if (radius != null) 'radius: $radius', if (borderWidth != null) 'borderWidth: $borderWidth', if (superellipse != null) 'superellipse: $superellipse', + if (edge != null) 'edge: $edge', + if (ringOffset != null) 'ringOffset: $ringOffset', + if (contour != null) 'contour: $contour', ]; return 'BeamShape(${fields.join(', ')})'; } diff --git a/lib/src/models/beam_style.dart b/lib/src/models/beam_style.dart index 8f8b2a2..f065c0a 100644 --- a/lib/src/models/beam_style.dart +++ b/lib/src/models/beam_style.dart @@ -1,12 +1,13 @@ import 'package:flutter/foundation.dart'; import 'beam_colors.dart'; +import 'beam_options.dart'; import 'beam_theme.dart'; import 'beam_theme_config.dart'; -/// How a beam looks: its colors, how it adapts to the background, and every -/// filter and layer-opacity hook ported from the source's CSS custom -/// properties. +/// How a beam looks: its colors, how it adapts to the background, the shape +/// of its beam and glow, and every filter and layer-opacity hook ported from +/// the source's CSS custom properties. /// /// Every field is nullable and means *inherit*. A field is resolved in this /// order: the value set on the widget (a shorthand such as `colors:` wins @@ -29,6 +30,7 @@ class BeamStyle { this.brightness, this.saturation, this.hueRange, + this.hueMode, this.hueBase, this.staticColors, this.strokeOpacityFactor, @@ -39,6 +41,11 @@ class BeamStyle { this.bloomBlur, this.glowBrightness, this.glowSaturation, + this.tailLength, + this.glowSpread, + this.comet, + this.sparkle, + this.segments, this.themeConfig, }); @@ -63,6 +70,13 @@ class BeamStyle { /// at 13). Not used by pulse variants, whose hue cycles continuously. final double? hueRange; + /// Whether the hue swings back and forth across ±[hueRange] or advances + /// through one continuous 360° revolution. + /// + /// Defaults to [BeamHueMode.pingPong] for the traveling variants and + /// [BeamHueMode.continuous] for the pulse variants, matching the source. + final BeamHueMode? hueMode; + /// Static hue offset in degrees added to the whole palette. Default 0. final double? hueBase; @@ -97,6 +111,28 @@ class BeamStyle { /// pulse-outside glow saturation override (React `--beam-glow-saturate`). final double? glowSaturation; + /// Multiplier on the angular width of the rotate/small traveling window: + /// above 1 the beam drags a longer tail behind its head, below 1 it + /// shortens to a point. Default 1. + final double? tailLength; + + /// Multiplier on how far the bloom and halo layers reach past the stroke + /// ring: above 1 the glow spreads wider and softer, below 1 it hugs the + /// border. Default 1. + final double? glowSpread; + + /// Whether a soft halo trails the traveling head outside the ring, giving + /// the rotate and small beams a comet tail. Default false. + final bool? comet; + + /// Density 0–1 (clamped) of the twinkles scattered at the traveling beam's + /// head. Default 0 — no sparkle. + final double? sparkle; + + /// Number of dashes the ring is broken into, spaced evenly around the + /// contour. Null (the default) keeps the ring solid. + final int? segments; + /// Replaces the whole variant×brightness preset (layer opacities, inset /// shadow, and the default brightness/saturation) with your own. /// @@ -113,6 +149,7 @@ class BeamStyle { double? brightness, double? saturation, double? hueRange, + BeamHueMode? hueMode, double? hueBase, bool? staticColors, double? strokeOpacityFactor, @@ -123,6 +160,11 @@ class BeamStyle { double? bloomBlur, double? glowBrightness, double? glowSaturation, + double? tailLength, + double? glowSpread, + bool? comet, + double? sparkle, + int? segments, BeamThemeConfig? themeConfig, }) => BeamStyle( colors: colors ?? this.colors, @@ -131,6 +173,7 @@ class BeamStyle { brightness: brightness ?? this.brightness, saturation: saturation ?? this.saturation, hueRange: hueRange ?? this.hueRange, + hueMode: hueMode ?? this.hueMode, hueBase: hueBase ?? this.hueBase, staticColors: staticColors ?? this.staticColors, strokeOpacityFactor: strokeOpacityFactor ?? this.strokeOpacityFactor, @@ -141,6 +184,11 @@ class BeamStyle { bloomBlur: bloomBlur ?? this.bloomBlur, glowBrightness: glowBrightness ?? this.glowBrightness, glowSaturation: glowSaturation ?? this.glowSaturation, + tailLength: tailLength ?? this.tailLength, + glowSpread: glowSpread ?? this.glowSpread, + comet: comet ?? this.comet, + sparkle: sparkle ?? this.sparkle, + segments: segments ?? this.segments, themeConfig: themeConfig ?? this.themeConfig, ); @@ -155,6 +203,7 @@ class BeamStyle { brightness: other.brightness, saturation: other.saturation, hueRange: other.hueRange, + hueMode: other.hueMode, hueBase: other.hueBase, staticColors: other.staticColors, strokeOpacityFactor: other.strokeOpacityFactor, @@ -165,6 +214,11 @@ class BeamStyle { bloomBlur: other.bloomBlur, glowBrightness: other.glowBrightness, glowSaturation: other.glowSaturation, + tailLength: other.tailLength, + glowSpread: other.glowSpread, + comet: other.comet, + sparkle: other.sparkle, + segments: other.segments, themeConfig: other.themeConfig, ); @@ -178,6 +232,7 @@ class BeamStyle { other.brightness == brightness && other.saturation == saturation && other.hueRange == hueRange && + other.hueMode == hueMode && other.hueBase == hueBase && other.staticColors == staticColors && other.strokeOpacityFactor == strokeOpacityFactor && @@ -188,6 +243,11 @@ class BeamStyle { other.bloomBlur == bloomBlur && other.glowBrightness == glowBrightness && other.glowSaturation == glowSaturation && + other.tailLength == tailLength && + other.glowSpread == glowSpread && + other.comet == comet && + other.sparkle == sparkle && + other.segments == segments && other.themeConfig == themeConfig; @override @@ -198,6 +258,7 @@ class BeamStyle { brightness, saturation, hueRange, + hueMode, hueBase, staticColors, strokeOpacityFactor, @@ -208,6 +269,11 @@ class BeamStyle { bloomBlur, glowBrightness, glowSaturation, + tailLength, + glowSpread, + comet, + sparkle, + segments, themeConfig, ]); @@ -220,6 +286,7 @@ class BeamStyle { if (brightness != null) 'brightness: $brightness', if (saturation != null) 'saturation: $saturation', if (hueRange != null) 'hueRange: $hueRange', + if (hueMode != null) 'hueMode: $hueMode', if (hueBase != null) 'hueBase: $hueBase', if (staticColors != null) 'staticColors: $staticColors', if (strokeOpacityFactor != null) @@ -231,6 +298,11 @@ class BeamStyle { if (bloomBlur != null) 'bloomBlur: $bloomBlur', if (glowBrightness != null) 'glowBrightness: $glowBrightness', if (glowSaturation != null) 'glowSaturation: $glowSaturation', + if (tailLength != null) 'tailLength: $tailLength', + if (glowSpread != null) 'glowSpread: $glowSpread', + if (comet != null) 'comet: $comet', + if (sparkle != null) 'sparkle: $sparkle', + if (segments != null) 'segments: $segments', if (themeConfig != null) 'themeConfig: $themeConfig', ]; return 'BeamStyle(${fields.join(', ')})'; diff --git a/lib/src/models/beam_timing.dart b/lib/src/models/beam_timing.dart index fd24b29..013a84a 100644 --- a/lib/src/models/beam_timing.dart +++ b/lib/src/models/beam_timing.dart @@ -1,7 +1,10 @@ import 'package:flutter/foundation.dart'; +import 'beam_options.dart'; + /// How fast a beam moves: cycle length, the rest between sweeps, playback -/// rate, and the periods of the tracks that do not ride the cycle. +/// rate, travel direction, and the periods of the tracks that do not ride +/// the cycle. /// /// Every field is nullable and means *inherit*. A field is resolved in this /// order: the value set on the widget, then the nearest `BorderBeamTheme`, @@ -23,6 +26,9 @@ class BeamTiming { this.cycle, this.cycleGap, this.speed, + this.direction, + this.phaseOffset, + this.beamCount, this.huePeriod, this.bloomHuePeriod, this.breatheFactor, @@ -57,6 +63,20 @@ class BeamTiming { /// own `speed` owns the rate then. final double? speed; + /// Which way the beam travels: clockwise (or left-to-right for the line + /// variant), mirrored, or alternating each cycle. Default + /// [BeamDirection.forward]. The pulse variants have no travel to direct. + final BeamDirection? direction; + + /// Fraction of a cycle, 0–1, the timeline starts at, so two beams on the + /// same cycle can run out of step. Default 0 — the cycle starts at its + /// beginning. + final double? phaseOffset; + + /// How many beams travel the contour at once, spaced equally along the + /// cycle. Must be at least 1; default 1. + final int? beamCount; + /// One full period of the hue track. /// /// Defaults to 12s for rotate, small, and line (a ping-pong across @@ -88,6 +108,9 @@ class BeamTiming { Duration? cycle, Duration? cycleGap, double? speed, + BeamDirection? direction, + double? phaseOffset, + int? beamCount, Duration? huePeriod, Duration? bloomHuePeriod, double? breatheFactor, @@ -97,6 +120,9 @@ class BeamTiming { cycle: cycle ?? this.cycle, cycleGap: cycleGap ?? this.cycleGap, speed: speed ?? this.speed, + direction: direction ?? this.direction, + phaseOffset: phaseOffset ?? this.phaseOffset, + beamCount: beamCount ?? this.beamCount, huePeriod: huePeriod ?? this.huePeriod, bloomHuePeriod: bloomHuePeriod ?? this.bloomHuePeriod, breatheFactor: breatheFactor ?? this.breatheFactor, @@ -112,6 +138,9 @@ class BeamTiming { cycle: other.cycle, cycleGap: other.cycleGap, speed: other.speed, + direction: other.direction, + phaseOffset: other.phaseOffset, + beamCount: other.beamCount, huePeriod: other.huePeriod, bloomHuePeriod: other.bloomHuePeriod, breatheFactor: other.breatheFactor, @@ -126,6 +155,9 @@ class BeamTiming { other.cycle == cycle && other.cycleGap == cycleGap && other.speed == speed && + other.direction == direction && + other.phaseOffset == phaseOffset && + other.beamCount == beamCount && other.huePeriod == huePeriod && other.bloomHuePeriod == bloomHuePeriod && other.breatheFactor == breatheFactor && @@ -133,16 +165,19 @@ class BeamTiming { other.spike2Factor == spike2Factor; @override - int get hashCode => Object.hash( + int get hashCode => Object.hashAll([ cycle, cycleGap, speed, + direction, + phaseOffset, + beamCount, huePeriod, bloomHuePeriod, breatheFactor, spikeFactor, spike2Factor, - ); + ]); @override String toString() { @@ -150,6 +185,9 @@ class BeamTiming { if (cycle != null) 'cycle: $cycle', if (cycleGap != null) 'cycleGap: $cycleGap', if (speed != null) 'speed: $speed', + if (direction != null) 'direction: $direction', + if (phaseOffset != null) 'phaseOffset: $phaseOffset', + if (beamCount != null) 'beamCount: $beamCount', if (huePeriod != null) 'huePeriod: $huePeriod', if (bloomHuePeriod != null) 'bloomHuePeriod: $bloomHuePeriod', if (breatheFactor != null) 'breatheFactor: $breatheFactor', diff --git a/lib/src/models/beam_variant.dart b/lib/src/models/beam_variant.dart index 1bb72dd..bab3ef8 100644 --- a/lib/src/models/beam_variant.dart +++ b/lib/src/models/beam_variant.dart @@ -1,3 +1,7 @@ +import 'dart:ui'; + +import '../constants/pulse_params.dart'; + /// The five beam effect variants, matching the React library's `size` prop. /// /// Rotate family (a traveling beam sweeps around the border): @@ -42,4 +46,21 @@ enum BeamVariant { /// Default border (stroke ring) width preset. All variants use 1px. double get defaultBorderWidth => 1; + + /// Default period of one full hue track pass: 12s for the traveling + /// variants, 16s for [pulseInside], 14s for [pulseOutside]. + /// + /// The pulse periods come from [PulseParams], which tunes them by neither + /// brightness nor cycle length — the arguments below only satisfy that + /// signature. + Duration get defaultHuePeriod => isPulse + ? _seconds(PulseParams.resolve(this, Brightness.dark, 2.3).huePeriod) + : const Duration(seconds: 12); + + /// Default period of the [line] variant's separate bloom hue track: 8s. + /// No other variant paints a bloom hue track of its own. + Duration get defaultBloomHuePeriod => const Duration(seconds: 8); } + +Duration _seconds(double value) => + Duration(microseconds: (value * Duration.microsecondsPerSecond).round()); diff --git a/test/models/beam_config_test.dart b/test/models/beam_config_test.dart index 83623b6..8647500 100644 --- a/test/models/beam_config_test.dart +++ b/test/models/beam_config_test.dart @@ -154,6 +154,31 @@ void main() { _resolve(timing: _timing.copyWith(spikeFactor: 1.25)), 'timing.spike2Factor': () => _resolve(timing: _timing.copyWith(spike2Factor: 1.35)), + 'style.hueMode': () => + _resolve(style: _style.copyWith(hueMode: BeamHueMode.continuous)), + 'style.tailLength': () => + _resolve(style: _style.copyWith(tailLength: 1.5)), + 'style.glowSpread': () => + _resolve(style: _style.copyWith(glowSpread: 1.5)), + 'style.comet': () => _resolve(style: _style.copyWith(comet: true)), + 'style.sparkle': () => _resolve(style: _style.copyWith(sparkle: 0.5)), + 'style.segments': () => _resolve(style: _style.copyWith(segments: 6)), + 'shape.edge': () => _resolve(shape: _shape.copyWith(edge: BeamEdge.top)), + 'shape.ringOffset': () => _resolve(shape: _shape.copyWith(ringOffset: 4)), + 'shape.contour': () => _resolve( + shape: _shape.copyWith( + contour: BeamPathContour( + (rect) => Path()..addOval(rect), + key: 'oval', + ), + ), + ), + 'timing.direction': () => + _resolve(timing: _timing.copyWith(direction: BeamDirection.reverse)), + 'timing.phaseOffset': () => + _resolve(timing: _timing.copyWith(phaseOffset: 0.5)), + 'timing.beamCount': () => + _resolve(timing: _timing.copyWith(beamCount: 2)), }; for (final MapEntry(key: name, value: mutate) in mutations.entries) { @@ -180,6 +205,17 @@ void main() { ); }); + test('two contours with the same key resolve equal', () { + BeamShape shaped(String key) => _shape.copyWith( + contour: BeamPathContour((rect) => Path()..addOval(rect), key: key), + ); + expect(_resolve(shape: shaped('oval')), _resolve(shape: shaped('oval'))); + expect( + _resolve(shape: shaped('oval')), + isNot(_resolve(shape: shaped('notch'))), + ); + }); + test('speed is not part of the painted value', () { expect( _resolve(timing: _timing.copyWith(speed: 4)), @@ -189,6 +225,83 @@ void main() { }); }); + group('defaults', () { + BeamConfig bare(BeamVariant variant) => BeamConfig.resolve( + variant: variant, + palette: BeamColors.colorful.resolve(), + brightness: Brightness.dark, + ); + + test('the hue mode follows the variant family', () { + for (final variant in BeamVariant.values) { + expect( + bare(variant).hueMode, + variant.isPulse ? BeamHueMode.continuous : BeamHueMode.pingPong, + reason: '$variant', + ); + } + }); + + test('an explicit hue mode overrides the family default', () { + expect( + BeamConfig.resolve( + variant: BeamVariant.rotate, + palette: BeamColors.colorful.resolve(), + brightness: Brightness.dark, + style: const BeamStyle(hueMode: BeamHueMode.continuous), + ).hueMode, + BeamHueMode.continuous, + ); + }); + + test('the hue periods come from the variant accessors', () { + for (final variant in BeamVariant.values) { + final config = bare(variant); + expect( + config.huePeriodSeconds, + variant.defaultHuePeriod.inMicroseconds / + Duration.microsecondsPerSecond, + reason: '$variant', + ); + expect( + config.bloomHuePeriodSeconds, + variant.defaultBloomHuePeriod.inMicroseconds / + Duration.microsecondsPerSecond, + reason: '$variant', + ); + } + }); + + test('every new field resolves to a render-neutral default', () { + for (final variant in BeamVariant.values) { + final config = bare(variant); + expect(config.tailLength, 1, reason: '$variant'); + expect(config.glowSpread, 1, reason: '$variant'); + expect(config.comet, isFalse, reason: '$variant'); + expect(config.sparkle, 0, reason: '$variant'); + expect(config.segments, isNull, reason: '$variant'); + expect(config.edge, BeamEdge.bottom, reason: '$variant'); + expect(config.ringOffset, 0, reason: '$variant'); + expect(config.contour, isNull, reason: '$variant'); + expect(config.direction, BeamDirection.forward, reason: '$variant'); + expect(config.phaseOffset, 0, reason: '$variant'); + expect(config.beamCount, 1, reason: '$variant'); + } + }); + + test('sparkle is clamped to 0-1', () { + BeamConfig withSparkle(double sparkle) => BeamConfig.resolve( + variant: BeamVariant.rotate, + palette: BeamColors.colorful.resolve(), + brightness: Brightness.dark, + style: BeamStyle(sparkle: sparkle), + ); + expect(withSparkle(-1).sparkle, 0); + expect(withSparkle(2).sparkle, 1); + expect(withSparkle(0.5).sparkle, 0.5); + }); + }); + group('BeamPainter.shouldRepaint', () { late BeamClock clock; diff --git a/test/models/beam_variant_test.dart b/test/models/beam_variant_test.dart new file mode 100644 index 0000000..33df3e8 --- /dev/null +++ b/test/models/beam_variant_test.dart @@ -0,0 +1,82 @@ +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// `BeamVariant` carries every per-variant default a beam resolves against, +/// so tooling reads them from the enum rather than transcribing them out of +/// doc comments. +void main() { + group('BeamVariant', () { + test('isPulse splits the two families', () { + expect(BeamVariant.rotate.isPulse, isFalse); + expect(BeamVariant.small.isPulse, isFalse); + expect(BeamVariant.line.isPulse, isFalse); + expect(BeamVariant.pulseInside.isPulse, isTrue); + expect(BeamVariant.pulseOutside.isPulse, isTrue); + }); + + test('cycle, radius, and border width match the source presets', () { + expect( + BeamVariant.rotate.defaultCycleDuration, + const Duration(milliseconds: 1960), + ); + expect( + BeamVariant.small.defaultCycleDuration, + const Duration(milliseconds: 1960), + ); + expect( + BeamVariant.line.defaultCycleDuration, + const Duration(milliseconds: 3100), + ); + expect( + BeamVariant.pulseInside.defaultCycleDuration, + const Duration(milliseconds: 2300), + ); + expect( + BeamVariant.pulseOutside.defaultCycleDuration, + const Duration(milliseconds: 2300), + ); + expect(BeamVariant.small.defaultBorderRadius, 32); + for (final variant in BeamVariant.values) { + if (variant != BeamVariant.small) { + expect(variant.defaultBorderRadius, 16, reason: '$variant'); + } + expect(variant.defaultBorderWidth, 1, reason: '$variant'); + } + }); + + test('the traveling variants share the 12s hue period', () { + for (final variant in [ + BeamVariant.rotate, + BeamVariant.small, + BeamVariant.line, + ]) { + expect( + variant.defaultHuePeriod, + const Duration(seconds: 12), + reason: '$variant', + ); + } + }); + + test('the pulse variants carry their own hue periods', () { + expect( + BeamVariant.pulseInside.defaultHuePeriod, + const Duration(seconds: 16), + ); + expect( + BeamVariant.pulseOutside.defaultHuePeriod, + const Duration(seconds: 14), + ); + }); + + test('the bloom hue period is 8s for every variant', () { + for (final variant in BeamVariant.values) { + expect( + variant.defaultBloomHuePeriod, + const Duration(seconds: 8), + reason: '$variant', + ); + } + }); + }); +} diff --git a/test/models/value_objects_test.dart b/test/models/value_objects_test.dart index 96a7ad1..3b738bb 100644 --- a/test/models/value_objects_test.dart +++ b/test/models/value_objects_test.dart @@ -1,4 +1,4 @@ -import 'dart:ui' show Brightness; +import 'dart:ui' show Brightness, Path, Rect; import 'package:flutter/painting.dart'; import 'package:flutter_border_beam/flutter_border_beam.dart'; @@ -58,6 +58,70 @@ void main() { isNot(BeamStyle(themeConfig: preset.copyWith(bloomOpacity: 0.1))), ); }); + + test('the beam-shaping fields follow the inherit contract', () { + const base = BeamStyle( + hueMode: BeamHueMode.continuous, + tailLength: 2, + glowSpread: 1.5, + comet: true, + sparkle: 0.4, + segments: 8, + ); + final merged = base.merge( + const BeamStyle(tailLength: 3, comet: false, segments: 12), + ); + expect(merged.hueMode, BeamHueMode.continuous, reason: 'null inherits'); + expect(merged.tailLength, 3, reason: 'argument wins'); + expect(merged.glowSpread, 1.5); + expect(merged.comet, isFalse, reason: 'false is a value, not a null'); + expect(merged.sparkle, 0.4); + expect(merged.segments, 12); + + final copy = base.copyWith(sparkle: 0.9); + expect(copy.sparkle, 0.9); + expect(copy.hueMode, BeamHueMode.continuous); + expect(copy.tailLength, 2); + expect(copy.glowSpread, 1.5); + expect(copy.comet, isTrue); + expect(copy.segments, 8); + }); + + test('every beam-shaping field is part of the value', () { + const base = BeamStyle(); + const variants = [ + BeamStyle(hueMode: BeamHueMode.continuous), + BeamStyle(tailLength: 2), + BeamStyle(glowSpread: 2), + BeamStyle(comet: true), + BeamStyle(sparkle: 0.5), + BeamStyle(segments: 6), + ]; + for (final variant in variants) { + expect(variant, isNot(base), reason: '$variant'); + expect(variant.hashCode, isNot(base.hashCode), reason: '$variant'); + } + expect( + const BeamStyle(tailLength: 2, comet: true), + const BeamStyle(tailLength: 2, comet: true), + ); + }); + + test('toString lists only the fields that are set', () { + expect( + const BeamStyle( + hueMode: BeamHueMode.pingPong, + tailLength: 2, + glowSpread: 1.5, + comet: true, + sparkle: 0.25, + segments: 4, + ).toString(), + 'BeamStyle(hueMode: BeamHueMode.pingPong, tailLength: 2.0, ' + 'glowSpread: 1.5, comet: true, sparkle: 0.25, segments: 4)', + ); + expect(const BeamStyle().toString(), 'BeamStyle()'); + }); }); group('BeamShape', () { @@ -98,6 +162,100 @@ void main() { ); expect(BeamShape.circular(4), isNot(BeamShape.circular(5))); }); + + test('all is the const path to a uniform radius', () { + const shape = BeamShape.all(24, superellipse: true); + expect(shape.radius, BorderRadius.circular(24)); + expect(shape.superellipse, isTrue); + expect(shape.borderWidth, isNull); + expect( + identical(shape, const BeamShape.all(24, superellipse: true)), + isTrue, + reason: 'const-canonicalized, so a theme holding one stays const', + ); + }); + + test('all and circular are the same value', () { + expect(const BeamShape.all(24), BeamShape.circular(24)); + expect(const BeamShape.all(24).hashCode, BeamShape.circular(24).hashCode); + expect( + const BeamShape.all(24, borderWidth: 2), + BeamShape.circular(24, borderWidth: 2), + ); + expect(const BeamShape.all(24), isNot(BeamShape.circular(25))); + expect( + const BeamShape.all(24), + const BeamShape(radius: BorderRadius.all(Radius.circular(24))), + ); + expect( + const BeamShape.all(24).toString(), + BeamShape.circular(24).toString(), + ); + }); + + test('copyWith and merge carry a uniform radius through', () { + const base = BeamShape.all(24); + expect(base.copyWith(borderWidth: 2).radius, BorderRadius.circular(24)); + expect( + base.merge(const BeamShape(superellipse: true)).radius, + BorderRadius.circular(24), + ); + expect( + base.copyWith(radius: BorderRadius.zero).radius, + BorderRadius.zero, + reason: 'an explicit radius replaces the uniform one', + ); + expect( + const BeamShape( + radius: BorderRadius.zero, + ).merge(const BeamShape.all(8)), + const BeamShape.all(8), + ); + }); + + test('the geometry fields follow the inherit contract', () { + final contour = BeamPathContour( + (rect) => Path()..addRect(rect), + key: 'rect', + ); + final base = BeamShape( + edge: BeamEdge.top, + ringOffset: 4, + contour: contour, + ); + final merged = base.merge(const BeamShape(edge: BeamEdge.left)); + expect(merged.edge, BeamEdge.left, reason: 'argument wins'); + expect(merged.ringOffset, 4, reason: 'null inherits'); + expect(merged.contour, contour); + expect(base.copyWith(ringOffset: -2).edge, BeamEdge.top); + expect(base.copyWith(ringOffset: -2).ringOffset, -2); + }); + + test('every geometry field is part of the value', () { + const base = BeamShape(); + final variants = [ + const BeamShape(edge: BeamEdge.top), + const BeamShape(ringOffset: 3), + BeamShape( + contour: BeamPathContour( + (rect) => Path()..addOval(rect), + key: 'oval', + ), + ), + ]; + for (final variant in variants) { + expect(variant, isNot(base), reason: '$variant'); + expect(variant.hashCode, isNot(base.hashCode), reason: '$variant'); + } + }); + + test('toString lists only the fields that are set', () { + expect( + const BeamShape(edge: BeamEdge.right, ringOffset: 2).toString(), + 'BeamShape(edge: BeamEdge.right, ringOffset: 2.0)', + ); + expect(const BeamShape().toString(), 'BeamShape()'); + }); }); group('BeamTiming', () { @@ -132,6 +290,53 @@ void main() { isNot(const BeamTiming(cycle: Duration(seconds: 2))), ); }); + + test('the travel fields follow the inherit contract', () { + const base = BeamTiming( + direction: BeamDirection.reverse, + phaseOffset: 0.25, + beamCount: 3, + ); + final merged = base.merge(const BeamTiming(beamCount: 5)); + expect(merged.direction, BeamDirection.reverse); + expect(merged.phaseOffset, 0.25); + expect(merged.beamCount, 5); + + final copy = base.copyWith(phaseOffset: 0.75); + expect(copy.phaseOffset, 0.75); + expect(copy.direction, BeamDirection.reverse); + expect(copy.beamCount, 3); + }); + + test('every travel field is part of the value', () { + const base = BeamTiming(); + const variants = [ + BeamTiming(direction: BeamDirection.bounce), + BeamTiming(phaseOffset: 0.5), + BeamTiming(beamCount: 2), + ]; + for (final variant in variants) { + expect(variant, isNot(base), reason: '$variant'); + expect(variant.hashCode, isNot(base.hashCode), reason: '$variant'); + } + expect( + const BeamTiming(direction: BeamDirection.bounce, beamCount: 2), + const BeamTiming(direction: BeamDirection.bounce, beamCount: 2), + ); + }); + + test('toString lists only the fields that are set', () { + expect( + const BeamTiming( + direction: BeamDirection.reverse, + phaseOffset: 0.5, + beamCount: 2, + ).toString(), + 'BeamTiming(direction: BeamDirection.reverse, phaseOffset: 0.5, ' + 'beamCount: 2)', + ); + expect(const BeamTiming().toString(), 'BeamTiming()'); + }); }); group('BeamPlayback', () { @@ -146,8 +351,59 @@ void main() { }); test('copyWith keeps unnamed fields', () { - const base = BeamPlayback(active: false, respectReducedMotion: false); - expect(base.copyWith(active: true).respectReducedMotion, isFalse); + const base = BeamPlayback( + active: false, + reducedMotion: BeamReducedMotion.animate, + ); + expect( + base.copyWith(active: true).reducedMotion, + BeamReducedMotion.animate, + ); + }); + + test('repeat and reducedMotion follow the inherit contract', () { + const base = BeamPlayback( + repeat: BeamRepeat.count(3), + reducedMotion: BeamReducedMotion.hide, + ); + final merged = base.merge( + const BeamPlayback(reducedMotion: BeamReducedMotion.slow), + ); + expect(merged.repeat, const BeamRepeat.count(3), reason: 'null inherits'); + expect(merged.reducedMotion, BeamReducedMotion.slow); + expect(base.copyWith(active: false).repeat, const BeamRepeat.count(3)); + }); + + test('repeat and reducedMotion are part of the value', () { + const base = BeamPlayback(); + const variants = [ + BeamPlayback(repeat: BeamRepeat.once()), + BeamPlayback(reducedMotion: BeamReducedMotion.staticFrame), + ]; + for (final variant in variants) { + expect(variant, isNot(base), reason: '$variant'); + expect(variant.hashCode, isNot(base.hashCode), reason: '$variant'); + } + expect( + const BeamPlayback(repeat: BeamRepeat.count(2)), + isNot(const BeamPlayback(repeat: BeamRepeat.count(3))), + ); + expect( + const BeamPlayback(repeat: BeamRepeat.once()), + const BeamPlayback(repeat: BeamRepeat.once()), + ); + }); + + test('toString lists only the fields that are set', () { + expect( + const BeamPlayback( + repeat: BeamRepeat.count(2), + reducedMotion: BeamReducedMotion.hide, + ).toString(), + 'BeamPlayback(repeat: BeamRepeat.count(2), ' + 'reducedMotion: BeamReducedMotion.hide)', + ); + expect(const BeamPlayback().toString(), 'BeamPlayback()'); }); test('equality is by value', () { @@ -166,6 +422,80 @@ void main() { }); }); + group('BeamRepeat', () { + test('forever carries no cycle count', () { + expect(const BeamRepeat.forever().cycles, isNull); + expect(const BeamRepeat.forever().toString(), 'BeamRepeat.forever()'); + }); + + test('once is one cycle', () { + expect(const BeamRepeat.once().cycles, 1); + expect(const BeamRepeat.once(), const BeamRepeat.count(1)); + }); + + test('count keeps its cycle count and rejects zero', () { + expect(const BeamRepeat.count(4).cycles, 4); + expect(const BeamRepeat.count(4).toString(), 'BeamRepeat.count(4)'); + expect(() => BeamRepeat.count(0), throwsAssertionError); + expect(() => BeamRepeat.count(-1), throwsAssertionError); + }); + + test('equality is by cycle count', () { + expect(const BeamRepeat.count(2), const BeamRepeat.count(2)); + expect( + const BeamRepeat.count(2).hashCode, + const BeamRepeat.count(2).hashCode, + ); + expect(const BeamRepeat.count(2), isNot(const BeamRepeat.count(3))); + expect(const BeamRepeat.count(2), isNot(const BeamRepeat.forever())); + expect(const BeamRepeat.forever(), const BeamRepeat.forever()); + }); + }); + + group('BeamPathContour', () { + Path rectBuilder(Rect rect) => Path()..addRect(rect); + + test('build delegates to the builder', () { + const rect = Rect.fromLTWH(0, 0, 10, 20); + final contour = BeamPathContour(rectBuilder, key: 'rect'); + expect(contour.build(rect).getBounds(), rect); + }); + + test('equality is by key, not by builder identity', () { + expect( + BeamPathContour((rect) => Path()..addRect(rect), key: 'rect'), + BeamPathContour((rect) => Path()..addOval(rect), key: 'rect'), + reason: 'two closures are never equal; the key is the value', + ); + expect( + BeamPathContour(rectBuilder, key: 'rect').hashCode, + BeamPathContour(rectBuilder, key: 'rect').hashCode, + ); + expect( + BeamPathContour(rectBuilder, key: 'rect'), + isNot(BeamPathContour(rectBuilder, key: 'oval')), + ); + }); + + test('a record key compares by its fields', () { + expect( + BeamPathContour(rectBuilder, key: ('notch', 12.0)), + BeamPathContour(rectBuilder, key: ('notch', 12.0)), + ); + expect( + BeamPathContour(rectBuilder, key: ('notch', 12.0)), + isNot(BeamPathContour(rectBuilder, key: ('notch', 13.0))), + ); + }); + + test('toString names the key', () { + expect( + BeamPathContour(rectBuilder, key: 'oval').toString(), + 'BeamPathContour(oval)', + ); + }); + }); + group('BorderBeamThemeData', () { test('merge composes each slot field by field', () { const outer = BorderBeamThemeData( diff --git a/test/widget/border_beam_theme_test.dart b/test/widget/border_beam_theme_test.dart index b11d467..6371dc9 100644 --- a/test/widget/border_beam_theme_test.dart +++ b/test/widget/border_beam_theme_test.dart @@ -244,7 +244,7 @@ void main() { expect(deactivated, 1); }); - testWidgets('a theme respectReducedMotion: false keeps the beam moving', ( + testWidgets('a theme reducedMotion: animate keeps the beam moving', ( tester, ) async { await tester.pumpWidget( @@ -252,7 +252,7 @@ void main() { disableAnimations: true, const BorderBeamTheme( data: BorderBeamThemeData( - playback: BeamPlayback(respectReducedMotion: false), + playback: BeamPlayback(reducedMotion: BeamReducedMotion.animate), ), child: BorderBeam.rotate(child: SizedBox.expand()), ), From 0fbbeb906edc7254260496336991685f6fcb71fe Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 16:15:46 -0700 Subject: [PATCH 12/40] feat(colors): seed, scheme, lerp, and seven new palettes with value-memoized resolution MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BeamColors.custom takes a base palette to distribute over; fromSeed derives a glow-safe palette from one brand color in four harmonies; fromScheme uses a ColorScheme's primary/secondary/tertiary; lerp blends two choices per blob and scaleAlpha dims every table entry. Seven Flutter-only presets — aurora, neon, candy, ember, ice, gold (hue pinned, full opacity), holographic (for a fast continuous hue drift) — live in extra_palettes.dart, separate from the transcribed tables. resolve() memoizes by value through a bounded LRU so equal color choices share one BeamPalette, and BeamPalette/BeamPresetData compare structurally. BeamBlob and LineBlob sizes are documented as the radii every painter treats them as. Co-Authored-By: Claude Opus 5 (1M context) --- lib/flutter_border_beam.dart | 2 +- lib/src/constants/extra_palettes.dart | 68 +++ lib/src/constants/palettes.dart | 35 ++ lib/src/models/beam_blob.dart | 24 +- lib/src/models/beam_colors.dart | 481 +++++++++++++++- lib/src/models/beam_palette.dart | 24 + test/constants/palette_data_test.dart | 71 +++ test/golden/goldens/palette_aurora.png | Bin 0 -> 63596 bytes test/golden/goldens/palette_candy.png | Bin 0 -> 63785 bytes test/golden/goldens/palette_ember.png | Bin 0 -> 64340 bytes test/golden/goldens/palette_from_seed.png | Bin 0 -> 58835 bytes test/golden/goldens/palette_gold.png | Bin 0 -> 64073 bytes test/golden/goldens/palette_holographic.png | Bin 0 -> 55515 bytes test/golden/goldens/palette_ice.png | Bin 0 -> 52836 bytes .../goldens/palette_lerp_ocean_sunset.png | Bin 0 -> 65883 bytes test/golden/goldens/palette_neon.png | Bin 0 -> 61503 bytes test/golden/palette_golden_test.dart | 92 ++++ test/models/beam_colors_test.dart | 514 ++++++++++++++++++ test/models/beam_palette_test.dart | 282 ++++++++++ 19 files changed, 1559 insertions(+), 34 deletions(-) create mode 100644 lib/src/constants/extra_palettes.dart create mode 100644 test/golden/goldens/palette_aurora.png create mode 100644 test/golden/goldens/palette_candy.png create mode 100644 test/golden/goldens/palette_ember.png create mode 100644 test/golden/goldens/palette_from_seed.png create mode 100644 test/golden/goldens/palette_gold.png create mode 100644 test/golden/goldens/palette_holographic.png create mode 100644 test/golden/goldens/palette_ice.png create mode 100644 test/golden/goldens/palette_lerp_ocean_sunset.png create mode 100644 test/golden/goldens/palette_neon.png create mode 100644 test/golden/palette_golden_test.dart create mode 100644 test/models/beam_palette_test.dart diff --git a/lib/flutter_border_beam.dart b/lib/flutter_border_beam.dart index 61fc0e0..0fecfd3 100644 --- a/lib/flutter_border_beam.dart +++ b/lib/flutter_border_beam.dart @@ -10,7 +10,7 @@ export 'src/border_beam.dart' show BorderBeam; export 'src/border_beam_controller.dart' show BorderBeamController; export 'src/border_beam_theme.dart' show BorderBeamTheme, BorderBeamThemeData; export 'src/models/beam_blob.dart' show BeamBlob, LineBlob; -export 'src/models/beam_colors.dart' show BeamColors; +export 'src/models/beam_colors.dart' show BeamColors, BeamSeedHarmony; export 'src/models/beam_options.dart' show BeamContour, diff --git a/lib/src/constants/extra_palettes.dart b/lib/src/constants/extra_palettes.dart new file mode 100644 index 0000000..10674cb --- /dev/null +++ b/lib/src/constants/extra_palettes.dart @@ -0,0 +1,68 @@ +import 'dart:ui'; + +// Flutter-only palette additions — NOT transcriptions of the React source. +// The React library ships four presets (colorful, mono, ocean, sunset), which +// live verbatim in `palettes.dart`. The seven below are original to this +// package: each is a short list of source colors that `BeamColors.custom` +// distributes over the `colorful` preset's blob geometry, so every table +// (border, small, line, bloom) keeps the source library's positions, sizes +// and per-entry alpha — only the hues change. Editing a list here changes +// how the matching `BeamColors` preset looks; it does not affect parity with +// the React source. + +/// Source colors for `BeamColors.aurora` — a northern-lights sweep from +/// teal through violet to green. +const List auroraColors = [ + Color(0xFF1FD9C0), // teal + Color(0xFF7A5CFF), // violet + Color(0xFF35E08A), // green + Color(0xFF2FB6E8), // glacier blue +]; + +/// Source colors for `BeamColors.neon` — fully saturated magenta, cyan and +/// lime, the loudest palette in the set. +const List neonColors = [ + Color(0xFFFF00C8), // magenta + Color(0xFF00F0FF), // cyan + Color(0xFFB6FF00), // lime +]; + +/// Source colors for `BeamColors.candy` — pastel pink, lavender and peach. +const List candyColors = [ + Color(0xFFFF9EC4), // pink + Color(0xFFC5B3FF), // lavender + Color(0xFFFFC49B), // peach +]; + +/// Source colors for `BeamColors.ember` — deep red through orange to gold, +/// the hot end of a fire. +const List emberColors = [ + Color(0xFFC1121F), // deep red + Color(0xFFFF6B1A), // orange + Color(0xFFFFC233), // gold +]; + +/// Source colors for `BeamColors.ice` — pale blue, white and cyan. +const List iceColors = [ + Color(0xFFBFE9FF), // pale blue + Color(0xFFFFFFFF), // white + Color(0xFF63E2FF), // cyan +]; + +/// Source colors for `BeamColors.gold` — a warm monochrome run from amber +/// through gold to bronze. +const List goldColors = [ + Color(0xFFFFC24B), // amber + Color(0xFFE8A317), // gold + Color(0xFFA9762F), // bronze +]; + +/// Source colors for `BeamColors.holographic` — desaturated pastels chosen +/// to stay pleasant under a continuous hue drift. +const List holographicColors = [ + Color(0xFFC9B8FF), // lilac + Color(0xFFB8E6FF), // sky + Color(0xFFFFC8E4), // blush + Color(0xFFC8FFE0), // mint + Color(0xFFFFE9B8), // cream +]; diff --git a/lib/src/constants/palettes.dart b/lib/src/constants/palettes.dart index 41288e6..c8e4857 100644 --- a/lib/src/constants/palettes.dart +++ b/lib/src/constants/palettes.dart @@ -1,5 +1,7 @@ import 'dart:ui'; +import 'package:flutter/foundation.dart'; + import '../models/beam_blob.dart'; // Verbatim transcription of the color palette tables from the React library @@ -53,6 +55,39 @@ class BeamPresetData { /// 5 fixed bloom spike color pairs, light theme. final List lineBloomLight; + + // Structural equality: derived bundles (custom/seed/lerp palettes) are + // built fresh on every resolve, so two bundles carrying the same tables + // must compare equal for `BeamConfig` — and therefore + // `BeamPainter.shouldRepaint` — to see them as the same paint. + @override + bool operator ==(Object other) => + identical(this, other) || + other is BeamPresetData && + listEquals(other.border, border) && + other.spike == spike && + other.spikeLt == spikeLt && + listEquals(other.smallBorder, smallBorder) && + listEquals(other.smallInner, smallInner) && + listEquals(other.lineDark, lineDark) && + listEquals(other.lineLight, lineLight) && + listEquals(other.lineInner, lineInner) && + listEquals(other.lineBloomDark, lineBloomDark) && + listEquals(other.lineBloomLight, lineBloomLight); + + @override + int get hashCode => Object.hash( + Object.hashAll(border), + spike, + spikeLt, + Object.hashAll(smallBorder), + Object.hashAll(smallInner), + Object.hashAll(lineDark), + Object.hashAll(lineLight), + Object.hashAll(lineInner), + Object.hashAll(lineBloomDark), + Object.hashAll(lineBloomLight), + ); } // ── colorful ──────────────────────────────────────────────────────────────── diff --git a/lib/src/models/beam_blob.dart b/lib/src/models/beam_blob.dart index 39d450e..b874c59 100644 --- a/lib/src/models/beam_blob.dart +++ b/lib/src/models/beam_blob.dart @@ -5,14 +5,14 @@ import 'package:flutter/foundation.dart'; /// One radial-gradient color blob positioned around the border. /// /// This is the core building block of every beam palette: an ellipse of -/// [size] logical pixels, centered at [position] (expressed as a fraction of -/// the decorated box, so `Offset(0.33, -0.074)` is the CSS position -/// `33% -7.4%`), fading from [color] at the center to transparent at the -/// edge. +/// [size] radii in logical pixels, centered at [position] (expressed as a +/// fraction of the decorated box, so `Offset(0.33, -0.074)` is the CSS +/// position `33% -7.4%`), fading from [color] at the center to transparent +/// at the edge. @immutable class BeamBlob { /// Creates a blob. [position] is fractional (may exceed 0–1 to sit on or - /// beyond the edge); [size] is the ellipse diameter in logical pixels. + /// beyond the edge); [size] holds the ellipse radii in logical pixels. const BeamBlob({ required this.color, required this.position, @@ -26,7 +26,10 @@ class BeamBlob { /// (0,0 = top-left, 1,1 = bottom-right; values outside 0–1 are valid). final Offset position; - /// Ellipse diameter (width × height) in logical pixels. + /// Ellipse radii in logical pixels: [Size.width] is the horizontal radius + /// and [Size.height] the vertical one, matching CSS + /// `radial-gradient(ellipse W H ...)`, whose sizes are radii. Painters + /// pass these straight through as `radiusX`/`radiusY`. final Size size; /// Returns a copy with a different [color], keeping the geometry. @@ -56,7 +59,7 @@ class BeamBlob { /// width/height factors. @immutable class LineBlob { - /// Creates a line blob with base ellipse size and pixel offsets from the + /// Creates a line blob with base ellipse radii and pixel offsets from the /// traveling beam center. const LineBlob({ required this.color, @@ -69,11 +72,12 @@ class LineBlob { /// Blob color (may carry alpha for inner-glow tables). final Color color; - /// Base ellipse width in px, multiplied by the animated beam width factor. + /// Base horizontal ellipse radius in px, multiplied by the animated beam + /// width factor and passed to the painter as `radiusX`. final double sizeW; - /// Base ellipse height in px, multiplied by the animated beam height - /// factor. + /// Base vertical ellipse radius in px, multiplied by the animated beam + /// height factor and passed to the painter as `radiusY`. final double sizeH; /// Horizontal offset in px from the traveling beam center. diff --git a/lib/src/models/beam_colors.dart b/lib/src/models/beam_colors.dart index 1258c59..e45bb83 100644 --- a/lib/src/models/beam_colors.dart +++ b/lib/src/models/beam_colors.dart @@ -1,21 +1,48 @@ +import 'dart:collection'; import 'dart:ui'; import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart' show ColorScheme; +import 'package:flutter/painting.dart' show HSLColor; +import '../constants/extra_palettes.dart'; import '../constants/palettes.dart'; import 'beam_blob.dart'; import 'beam_palette.dart'; +/// How [BeamColors.fromSeed] spreads one brand color into a multi-color +/// palette. +/// +/// Every harmony works in HSL and keeps the derived colors inside the +/// lightness band a glow reads well in, so a very dark or very light seed +/// still produces visible beams. +enum BeamSeedHarmony { + /// Four neighbours of the seed hue (0°, +25°, −25°, +50°). The calmest + /// option: the palette still reads as one color. + analogous, + + /// Four colors split across the seed hue and its opposite (0°, +15°, + /// +180°, +195°) — maximum contrast between the two halves of the beam. + complementary, + + /// Three colors evenly spaced around the wheel (0°, +120°, +240°). + triadic, + + /// Four tints of the seed hue, stepping through the lightness band with + /// falling saturation. Keeps a single-hue brand look. + monochrome, +} + /// The color scheme of a beam. /// -/// Use one of the four presets ported from the React library: +/// Use one of the presets: /// /// ```dart /// BorderBeam.rotate(colors: BeamColors.ocean, child: card) /// ``` /// -/// or bring your own colors — [BeamColors.custom] distributes them over the -/// preset blob geometry so the effect keeps its organic look: +/// or bring your own colors — [BeamColors.custom] distributes them over a +/// preset's blob geometry so the effect keeps its organic look: /// /// ```dart /// BorderBeam.rotate( @@ -24,7 +51,10 @@ import 'beam_palette.dart'; /// ) /// ``` /// -/// For pixel-level control, [BeamColors.spec] accepts explicit blob tables. +/// [BeamColors.fromSeed] and [BeamColors.fromScheme] derive a palette from a +/// single brand color or a Material [ColorScheme]; [BeamColors.lerp] and +/// [scaleAlpha] transform an existing one. For pixel-level control, +/// [BeamColors.spec] accepts explicit blob tables. /// /// Every variant is a value type: two instances built from equal inputs are /// `==`, so rebuilding `BeamColors.custom([...])` inline in a `build` method @@ -46,18 +76,112 @@ sealed class BeamColors { /// Warm orange, yellow, and red tones. static const BeamColors sunset = _PresetBeamColors(sunsetPreset); - /// Distributes [colors] over the default preset's blob geometry (cycling - /// when fewer colors than blob slots are given). + // ─── Flutter-only presets ───────────────────────────────────────────────── + // Each distributes a short color list (`extra_palettes.dart`) over the + // `colorful` blob geometry, exactly as `BeamColors.custom` does. + + /// Northern lights: teal, violet, green and glacier blue. + static const BeamColors aurora = _CustomBeamColors(auroraColors); + + /// Fully saturated magenta, cyan and lime — the loudest preset. + static const BeamColors neon = _CustomBeamColors(neonColors); + + /// Pastel pink, lavender and peach. + static const BeamColors candy = _CustomBeamColors(candyColors); + + /// Deep red, orange and gold — the hot end of a fire. + static const BeamColors ember = _CustomBeamColors(emberColors); + + /// Pale blue, white and cyan. + static const BeamColors ice = _CustomBeamColors(iceColors); + + /// Warm monochrome: amber, gold and bronze. + /// + /// Like [mono] it pins the hue — a hue sweep over a single-hue metal reads + /// as the metal changing material — so `gold` resolves with + /// `forcesStaticColors: true`. Unlike [mono] it keeps full layer opacity: + /// the ×0.5 multiplier exists to stop a *grayscale* beam blowing out, and + /// halving a warm amber only makes it muddy. + static const BeamColors gold = _CustomBeamColors(goldColors, staticHue: true); + + /// Desaturated pastels built for a hue sweep. + /// + /// The colors are deliberately low-contrast; the iridescence comes from + /// pairing them with a fast continuous hue drift: + /// + /// ```dart + /// BorderBeam.rotate( + /// colors: BeamColors.holographic, + /// style: const BeamStyle(hueMode: BeamHueMode.continuous), + /// timing: const BeamTiming(huePeriod: Duration(seconds: 3)), + /// child: card, + /// ) + /// ``` + static const BeamColors holographic = _CustomBeamColors(holographicColors); + + // ─── Factories ──────────────────────────────────────────────────────────── + + /// Distributes [colors] over [base]'s blob geometry (cycling when fewer + /// colors than blob slots are given). /// - /// The list must not be empty. Alpha channels of the preset tables (inner + /// The list must not be empty. Alpha channels of the base tables (inner /// glows, bloom spikes) are preserved and applied to your colors, so the /// layered depth of the effect is kept. - const factory BeamColors.custom(List colors) = _CustomBeamColors; + /// + /// [base] chooses which resolved tables supply that geometry and alpha + /// structure — any [BeamColors] is accepted, including another custom + /// palette. Only the tables are taken: a mono [base] does not make the + /// result mono. + const factory BeamColors.custom(List colors, {BeamColors base}) = + _CustomBeamColors; + + /// Derives a multi-blob palette from a single brand color. + /// + /// [harmony] picks how the seed hue is spread (see [BeamSeedHarmony]). + /// The derived colors are lifted into a readable glow band — lightness + /// 0.55–0.70, saturation at least 0.55 — so a black, white or gray seed + /// still yields visible, distinguishable blobs. + /// + /// The palette *geometry* always comes from the [colorful] preset; only + /// the colors are derived. + /// + /// ```dart + /// BorderBeam.rotate( + /// colors: const BeamColors.fromSeed(Color(0xFF18A8F0)), + /// child: card, + /// ) + /// ``` + const factory BeamColors.fromSeed(Color seed, {BeamSeedHarmony harmony}) = + _SeedBeamColors; + + /// Builds a palette from a Material [ColorScheme]'s primary, secondary and + /// tertiary roles. + /// + /// Roles that are near-duplicates of an earlier one are dropped, so a + /// scheme whose secondary matches its primary yields a two-color palette + /// rather than a doubled one. Geometry comes from the [colorful] preset. + factory BeamColors.fromScheme(ColorScheme scheme) => _CustomBeamColors( + _dedupe([scheme.primary, scheme.secondary, scheme.tertiary]), + ); + + /// Blends two color choices. + /// + /// The result resolves to a palette whose every table entry is the + /// [Color.lerp] of the corresponding entries of [a] and [b] at [t]. + /// Positions and sizes come from [a]; where [b]'s table is shorter its + /// colors cycle. `forcesStaticColors` and the mono treatment come from + /// whichever end is nearer, and the opacity multiplier is interpolated. + /// + /// [t] is not clamped — values outside 0–1 extrapolate, as with + /// [Color.lerp]. + const factory BeamColors.lerp(BeamColors a, BeamColors b, double t) = + _LerpBeamColors; /// Advanced: full per-blob control. /// /// [border] replaces the 9-blob border table (any length ≥ 1) used by the - /// rotate stroke and as the pulse color source. Tables not provided + /// rotate stroke and as the pulse color source; each [BeamBlob.size] holds + /// the ellipse *radii*, not its diameters. Tables not provided /// ([smallBorder], [lineBlobs]) are derived by cycling the border colors /// over the default geometry. const factory BeamColors.spec({ @@ -66,23 +190,68 @@ sealed class BeamColors { List? lineBlobs, }) = _SpecBeamColors; - /// Resolves this color choice to concrete gradient tables. + // ─── Transforms ─────────────────────────────────────────────────────────── + + /// Multiplies every table entry's alpha by [factor], clamping the result + /// to 0–1. /// - /// The result is memoized per instance: repeated calls on the same - /// instance return the identical [BeamPalette]. - BeamPalette resolve() => _paletteCache[this] ??= _buildPalette(); + /// This dims the palette itself rather than the layer opacity, so the + /// relative depth of the inner/stroke/bloom tables is preserved. [factor] + /// must not be negative. + BeamColors scaleAlpha(double factor) => _ScaledBeamColors(this, factor); - /// Builds the palette. Called at most once per instance by [resolve]. + // ─── Resolution ─────────────────────────────────────────────────────────── + + /// Resolves this color choice to concrete gradient tables. + /// + /// The result is memoized by *value*: two separately constructed but equal + /// instances return the identical [BeamPalette], which is what lets a + /// config compare palettes cheaply. The memo is a bounded LRU, so a + /// long-lived app cycling through many palettes cannot grow it without + /// limit; an evicted palette is simply rebuilt, and compares equal to the + /// one it replaces. + BeamPalette resolve() => _resolveCached(this); + + /// Builds the palette. Called at most once per distinct value while that + /// value stays in the memo. BeamPalette _buildPalette(); } -// Per-instance memo for [BeamColors.resolve]. An Expando (rather than a -// field) so that const instances — the presets, and any `const -// BeamColors.custom([...])` — can cache too. -final Expando _paletteCache = Expando( - 'BeamColors.resolve', +// ─── Palette memo ─────────────────────────────────────────────────────────── + +/// How many distinct color choices keep a resolved palette. Comfortably +/// above the handful a screen uses at once, small enough that the retained +/// tables stay negligible. +const int _paletteCacheCapacity = 32; + +// Insertion-ordered, so the first key is the least recently used: a hit +// re-inserts its key at the end, and an overflowing insert drops the front. +final LinkedHashMap _paletteCache = + LinkedHashMap(); + +BeamPalette _resolveCached(BeamColors colors) { + final hit = _paletteCache.remove(colors); + if (hit != null) { + _paletteCache[colors] = hit; + return hit; + } + final built = colors._buildPalette(); + _paletteCache[colors] = built; + if (_paletteCache.length > _paletteCacheCapacity) { + _paletteCache.remove(_paletteCache.keys.first); + } + return built; +} + +// The presets bypass the LRU: they are canonicalized const instances, so an +// identity-keyed Expando memoizes them for the life of the isolate without +// hashing a color table or competing with user palettes for a cache slot. +final Expando _presetPaletteCache = Expando( + 'BeamColors.preset', ); +// ─── Table helpers ────────────────────────────────────────────────────────── + /// Distributes [colors] over [base]'s blob geometry, cycling when there are /// fewer colors than blob slots and preserving each table entry's alpha so /// the layered depth of the effect survives the substitution. @@ -135,12 +304,165 @@ BeamPresetData _distribute(List colors, BeamPresetData base) { ); } +/// Rebuilds [data] with every table color passed through [f], keeping all +/// geometry. +BeamPresetData _mapColors(BeamPresetData data, Color Function(Color) f) => + BeamPresetData( + border: [for (final b in data.border) b.withColor(f(b.color))], + spike: SpikeColors( + primary: f(data.spike.primary), + secondary: f(data.spike.secondary), + ), + spikeLt: SpikeColors( + primary: f(data.spikeLt.primary), + secondary: f(data.spikeLt.secondary), + ), + smallBorder: [for (final b in data.smallBorder) b.withColor(f(b.color))], + smallInner: [for (final b in data.smallInner) b.withColor(f(b.color))], + lineDark: [for (final b in data.lineDark) b.withColor(f(b.color))], + lineLight: [for (final b in data.lineLight) b.withColor(f(b.color))], + lineInner: [for (final b in data.lineInner) b.withColor(f(b.color))], + lineBloomDark: [ + for (final s in data.lineBloomDark) SpikePair(f(s.color1), f(s.color2)), + ], + lineBloomLight: [ + for (final s in data.lineBloomLight) + SpikePair(f(s.color1), f(s.color2)), + ], + ); + +/// Pairs [a]'s tables with [b]'s and combines their colors through [mix], +/// keeping [a]'s geometry. Where [b]'s table is shorter its entries cycle; +/// where it is empty, [a]'s color passes through untouched. +BeamPresetData _zipColors( + BeamPresetData a, + BeamPresetData b, + Color Function(Color, Color) mix, +) { + Color at(List other, int i, Color own, Color Function(T) color) => + other.isEmpty ? own : mix(own, color(other[i % other.length])); + + List blobs(List xa, List xb) => [ + for (final (i, blob) in xa.indexed) + blob.withColor(at(xb, i, blob.color, (o) => o.color)), + ]; + List lines(List xa, List xb) => [ + for (final (i, blob) in xa.indexed) + blob.withColor(at(xb, i, blob.color, (o) => o.color)), + ]; + List pairs(List xa, List xb) => [ + for (final (i, s) in xa.indexed) + SpikePair( + at(xb, i, s.color1, (o) => o.color1), + at(xb, i, s.color2, (o) => o.color2), + ), + ]; + + return BeamPresetData( + border: blobs(a.border, b.border), + spike: SpikeColors( + primary: mix(a.spike.primary, b.spike.primary), + secondary: mix(a.spike.secondary, b.spike.secondary), + ), + spikeLt: SpikeColors( + primary: mix(a.spikeLt.primary, b.spikeLt.primary), + secondary: mix(a.spikeLt.secondary, b.spikeLt.secondary), + ), + smallBorder: blobs(a.smallBorder, b.smallBorder), + smallInner: blobs(a.smallInner, b.smallInner), + lineDark: lines(a.lineDark, b.lineDark), + lineLight: lines(a.lineLight, b.lineLight), + lineInner: lines(a.lineInner, b.lineInner), + lineBloomDark: pairs(a.lineBloomDark, b.lineBloomDark), + lineBloomLight: pairs(a.lineBloomLight, b.lineBloomLight), + ); +} + +/// RGB distance below which two scheme roles count as the same color. +const double _dedupeThreshold = 0.06; + +/// Drops colors within [_dedupeThreshold] of one already kept, comparing +/// straight-line distance in unpremultiplied RGB. +List _dedupe(List colors) { + final kept = []; + for (final c in colors) { + final duplicate = kept.any((k) { + final dr = k.r - c.r; + final dg = k.g - c.g; + final db = k.b - c.b; + return dr * dr + dg * dg + db * db < _dedupeThreshold * _dedupeThreshold; + }); + if (!duplicate) kept.add(c); + } + return kept; +} + +// ─── Seed harmonies ───────────────────────────────────────────────────────── + +/// Lowest lightness a derived seed color may take — below this a glow reads +/// as a smudge on a dark surface. +const double _seedMinLightness = 0.55; + +/// Highest lightness a derived seed color may take — above this the blobs +/// wash out against a light surface. +const double _seedMaxLightness = 0.70; + +/// Saturation floor, so an achromatic seed still produces hue separation. +const double _seedMinSaturation = 0.55; + +List _seedColors(Color seed, BeamSeedHarmony harmony) { + final hsl = HSLColor.fromColor(seed); + final hue = hsl.hue; + final saturation = clampDouble(hsl.saturation, _seedMinSaturation, 1); + final lightness = clampDouble( + hsl.lightness, + _seedMinLightness, + _seedMaxLightness, + ); + + Color at(double hueDelta, [double lightnessDelta = 0]) => HSLColor.fromAHSL( + 1, + (hue + hueDelta) % 360, + saturation, + clampDouble( + lightness + lightnessDelta, + _seedMinLightness, + _seedMaxLightness, + ), + ).toColor(); + + return switch (harmony) { + BeamSeedHarmony.analogous => [at(0), at(25, 0.05), at(-25, -0.05), at(50)], + BeamSeedHarmony.complementary => [ + at(0), + at(15, 0.05), + at(180), + at(195, -0.05), + ], + BeamSeedHarmony.triadic => [at(0), at(120), at(240)], + BeamSeedHarmony.monochrome => [ + for (var i = 0; i < 4; i++) + HSLColor.fromAHSL( + 1, + hue, + clampDouble(saturation * (1 - 0.1 * i), 0, 1), + lerpDouble(_seedMinLightness, _seedMaxLightness, i / 3)!, + ).toColor(), + ], + }; +} + +// ─── Implementations ──────────────────────────────────────────────────────── + class _PresetBeamColors extends BeamColors { const _PresetBeamColors(this.preset, {this.isMono = false}) : super._(); final BeamPresetData preset; final bool isMono; + @override + BeamPalette resolve() => _presetPaletteCache[this] ??= _buildPalette(); + @override BeamPalette _buildPalette() => BeamPalette( data: preset, @@ -164,28 +486,141 @@ class _PresetBeamColors extends BeamColors { } class _CustomBeamColors extends BeamColors { - const _CustomBeamColors(this.colors) : super._(); + const _CustomBeamColors( + this.colors, { + this.base = BeamColors.colorful, + this.staticHue = false, + }) : super._(); final List colors; + final BeamColors base; + + // Set only by the built-in single-hue presets; `BeamColors.custom` never + // exposes it, because pinning the hue of a palette the caller chose would + // silently ignore their `hueMode`. + final bool staticHue; @override BeamPalette _buildPalette() { assert(colors.isNotEmpty, 'BeamColors.custom requires at least one color'); - return BeamPalette(data: _distribute(colors, colorfulPreset)); + return BeamPalette( + data: _distribute(colors, base.resolve().data), + forcesStaticColors: staticHue, + ); } @override bool operator ==(Object other) => identical(this, other) || - other is _CustomBeamColors && listEquals(other.colors, colors); + other is _CustomBeamColors && + listEquals(other.colors, colors) && + other.base == base && + other.staticHue == staticHue; @override - int get hashCode => Object.hashAll(colors); + int get hashCode => Object.hash(Object.hashAll(colors), base, staticHue); @override String toString() => 'BeamColors.custom($colors)'; } +class _SeedBeamColors extends BeamColors { + const _SeedBeamColors(this.seed, {this.harmony = BeamSeedHarmony.analogous}) + : super._(); + + final Color seed; + final BeamSeedHarmony harmony; + + @override + BeamPalette _buildPalette() => BeamPalette( + data: _distribute(_seedColors(seed, harmony), colorfulPreset), + ); + + @override + bool operator ==(Object other) => + identical(this, other) || + other is _SeedBeamColors && + other.seed == seed && + other.harmony == harmony; + + @override + int get hashCode => Object.hash(seed, harmony); + + @override + String toString() => 'BeamColors.fromSeed($seed, harmony: ${harmony.name})'; +} + +class _LerpBeamColors extends BeamColors { + const _LerpBeamColors(this.a, this.b, this.t) : super._(); + + final BeamColors a; + final BeamColors b; + final double t; + + @override + BeamPalette _buildPalette() { + final pa = a.resolve(); + final pb = b.resolve(); + final nearer = t < 0.5 ? pa : pb; + return BeamPalette( + data: _zipColors(pa.data, pb.data, (x, y) => Color.lerp(x, y, t)!), + forcesStaticColors: nearer.forcesStaticColors, + opacityMultiplier: lerpDouble( + pa.opacityMultiplier, + pb.opacityMultiplier, + t, + )!, + monoTreatment: nearer.monoTreatment, + ); + } + + @override + bool operator ==(Object other) => + identical(this, other) || + other is _LerpBeamColors && other.a == a && other.b == b && other.t == t; + + @override + int get hashCode => Object.hash(a, b, t); + + @override + String toString() => 'BeamColors.lerp($a, $b, $t)'; +} + +class _ScaledBeamColors extends BeamColors { + const _ScaledBeamColors(this.source, this.factor) : super._(); + + final BeamColors source; + final double factor; + + @override + BeamPalette _buildPalette() { + assert(factor >= 0, 'BeamColors.scaleAlpha requires a non-negative factor'); + final base = source.resolve(); + return BeamPalette( + data: _mapColors( + base.data, + (c) => c.withValues(alpha: clampDouble(c.a * factor, 0, 1)), + ), + forcesStaticColors: base.forcesStaticColors, + opacityMultiplier: base.opacityMultiplier, + monoTreatment: base.monoTreatment, + ); + } + + @override + bool operator ==(Object other) => + identical(this, other) || + other is _ScaledBeamColors && + other.source == source && + other.factor == factor; + + @override + int get hashCode => Object.hash(source, factor); + + @override + String toString() => '$source.scaleAlpha($factor)'; +} + class _SpecBeamColors extends BeamColors { const _SpecBeamColors({ required this.border, diff --git a/lib/src/models/beam_palette.dart b/lib/src/models/beam_palette.dart index 63cac2f..ed58946 100644 --- a/lib/src/models/beam_palette.dart +++ b/lib/src/models/beam_palette.dart @@ -27,4 +27,28 @@ class BeamPalette { /// Whether the line variant applies its grayscale spike attenuation /// (alpha rescale, wider/shorter spikes, extra bloom blur). final bool monoTreatment; + + /// Two palettes are equal when their tables and paint-time modifiers are. + /// + /// [BeamColors.resolve] hands out one palette per distinct color choice, + /// so this normally short-circuits on identity; the structural path + /// covers palettes rebuilt after a cache eviction. + @override + bool operator ==(Object other) => + identical(this, other) || + other is BeamPalette && + other.data == data && + other.forcesStaticColors == forcesStaticColors && + other.opacityMultiplier == opacityMultiplier && + other.monoTreatment == monoTreatment; + + @override + int get hashCode => + Object.hash(data, forcesStaticColors, opacityMultiplier, monoTreatment); + + @override + String toString() => + 'BeamPalette(forcesStaticColors: $forcesStaticColors, ' + 'opacityMultiplier: $opacityMultiplier, ' + 'monoTreatment: $monoTreatment)'; } diff --git a/test/constants/palette_data_test.dart b/test/constants/palette_data_test.dart index c1e8b78..a39ab6d 100644 --- a/test/constants/palette_data_test.dart +++ b/test/constants/palette_data_test.dart @@ -1,4 +1,5 @@ import 'package:flutter/widgets.dart'; +import 'package:flutter_border_beam/src/constants/extra_palettes.dart'; import 'package:flutter_border_beam/src/constants/palettes.dart'; import 'package:flutter_border_beam/src/constants/pulse_tables.dart'; import 'package:flutter_border_beam/src/constants/theme_presets.dart'; @@ -55,6 +56,76 @@ void main() { }); }); + group('Flutter-only palette additions', () { + // These are not transcriptions: each is a short source-color list that + // `BeamColors.custom` distributes over the colorful geometry. + const sources = { + 'aurora': (BeamColors.aurora, auroraColors), + 'neon': (BeamColors.neon, neonColors), + 'candy': (BeamColors.candy, candyColors), + 'ember': (BeamColors.ember, emberColors), + 'ice': (BeamColors.ice, iceColors), + 'gold': (BeamColors.gold, goldColors), + 'holographic': (BeamColors.holographic, holographicColors), + }; + + for (final MapEntry(key: name, value: (colors, source)) + in sources.entries) { + test('$name resolves to the source table cardinalities', () { + final p = colors.resolve().data; + expect(p.border, hasLength(9)); + expect(p.smallBorder, hasLength(8)); + expect(p.smallInner, hasLength(8)); + expect(p.lineDark, hasLength(9)); + expect(p.lineLight, hasLength(9)); + expect(p.lineInner, hasLength(9)); + expect(p.lineBloomDark, hasLength(5)); + expect(p.lineBloomLight, hasLength(5)); + }); + + test('$name keeps the colorful geometry and alpha structure', () { + final p = colors.resolve().data; + for (final (i, blob) in p.border.indexed) { + expect(blob.position, colorfulPreset.border[i].position); + expect(blob.size, colorfulPreset.border[i].size); + expect(blob.color.a, closeTo(colorfulPreset.border[i].color.a, 1e-6)); + } + for (final (i, blob) in p.smallInner.indexed) { + expect( + blob.color.a, + closeTo(colorfulPreset.smallInner[i].color.a, 1e-6), + ); + } + for (final (i, pair) in p.lineBloomDark.indexed) { + expect( + pair.color1.a, + closeTo(colorfulPreset.lineBloomDark[i].color1.a, 1e-6), + ); + } + }); + + test('$name uses 3-5 source colors, cycled over the border table', () { + expect(source.length, inInclusiveRange(3, 5)); + expect(source.toSet(), hasLength(source.length), reason: 'duplicates'); + final p = colors.resolve().data; + for (final (i, blob) in p.border.indexed) { + final expected = source[i % source.length]; + expect(blob.color.r, closeTo(expected.r, 1e-6), reason: 'border $i'); + expect(blob.color.g, closeTo(expected.g, 1e-6), reason: 'border $i'); + expect(blob.color.b, closeTo(expected.b, 1e-6), reason: 'border $i'); + } + }); + } + + test('the source lists carry opaque colors', () { + for (final MapEntry(key: name, value: (_, source)) in sources.entries) { + for (final c in source) { + expect(c.a, 1.0, reason: '$name has a translucent source color'); + } + } + }); + }); + group('pulse tables', () { test('cardinalities and index bounds', () { expect(pulseRingMap, hasLength(9)); diff --git a/test/golden/goldens/palette_aurora.png b/test/golden/goldens/palette_aurora.png new file mode 100644 index 0000000000000000000000000000000000000000..ac36fd7fa905b3c6e034c5bc4ba75fde84a634f9 GIT binary patch literal 63596 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

    KEb!%*T?NF;~9i{U1gNI5s{_Uw1|4u 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 WycV1%<+l4T+g!B&qt^1~pZ^0!J*`6k literal 0 HcmV?d00001 diff --git a/test/golden/goldens/palette_candy.png b/test/golden/goldens/palette_candy.png new file mode 100644 index 0000000000000000000000000000000000000000..574a51f6d0cdb0516846ab369d5f2bb24a48b15c GIT binary patch literal 63785 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�MwB7Qw_H_`a1mH9nMt*j(FZS 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≥tGYx+HJ^m;(ch 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 WUS28Q*fiV`f$mL%8|B&${`p^f#Dg>d literal 0 HcmV?d00001 diff --git a/test/golden/goldens/palette_from_seed.png b/test/golden/goldens/palette_from_seed.png new file mode 100644 index 0000000000000000000000000000000000000000..255f98398e1a6bff05c98c28154e40b8824044ac GIT binary patch literal 58835 zcmeFZS6EY97d0I9SPoM3Xhf+8tb`^?uPP!60s=|sARwJkr9-gL3<4^IUR0!|&=WdQ z5Kvka2!VtmAVdivK%|E91>fU&-~aBv`7XZaaow;3WM{86=Nxm4x#r4~JBGSETmoDG z0D$M#&Fdxrz@K*kfP;q)9pLkwXk5lGQXnx;%hG-Th?79R3tEP#r^|zdJLgF`Yy6)2guI( z!hhn-mC)0zNA6l3;C(iiOni3XoeQF);dI?sgjxe@Km!>18Itk*`E!VZ+^7wyDv$5t zTxs`*xDOxZCgyvC;8)M@`7dG`?)`7b z;@>*>Z{qdKDFDB@>93{u{|6OuP1%vZdIA2gQ29}f6;3C@m*b;^NUh%9-k7r0`O$ci zyTWF@KdrZ-=n#M`S+GdWH@uh9x9H+W@>gEoF0CBT3Wk$aZWxU-LwgLKE;f^!$jfeQ zEfo`i9WNh4YW_4+$xWF&d%mFBEzgiPD~lik zGb-T*)69$#xwOS*$FOmos;>0{d-!zy(+F&#e(kA9wHpZ1J=?7BC#Eps-ZSI5F7@i7 zZvD)_W(XS+Vw`B6K(yb?jHkyx=^mU~(ob9rG4!eowmWw?xvzGf>T8;*o;0!krhUDK zfjuo=KnfoJzC^ztVK%kaw%8RIVogpFr!m+S5#xSu%zNhjn{0}P)jO8mOFI^&Eb7bR})dm-Jqj+Fy<@>QDccajz6{x7X+8p&d{0yO46Hv7H}d z_;+t$<|QAL3n~e6Cy}$CZVPKtVxkeg=fpBUX7`=(y!>6F;6s3DiS@i&ummDNdY|sp zCOz!d^O$Frnd7?aDhX3Y?b&}67y3)^%{bpgFD82C`BwC{YVb@HfEpoV{@1^fP8Mc% z*KO|*+#_ltrVEy_dDMlnRL67=IAc@Add#$GMu&O{2FZPS)Au?lH) zkAREFMzRbV*Os;3^AR>;gBR_#Wn^-9%GG56fXzdPI0AJczuFQzIhCZ9SY(vf-Wto7 zq#+DYHbC7S{UBs`R_ea#*4Wp}>d`I%#~|g2zN2cZa<^{w5PLw!bu4-9+7!RNh<$O} z$tizg)44I=I>zMa*^IAn1R>aXe{E-C&DDxZka1!h#Q3u-rK9>a70VITCH6EGQ4YP#EpL$~ zu9hNztg^Jvx6q<~$DlfGmX}IV7tOcAp$vq5GS}UHT(=vhSdlLk_^JRLOKM*rc{W$E zg_uFM78qB%sPdSLcV(JyfIv2|8HnOZm%m7lF}!c&9zbjeTbq+)!jtix2126NHhbqJ zoy7tG9*7F=%6vGO6OfbrMp_9;THC=DoseD?85tReCR-!;bat#AeR-pu#tTrI|6`xI zulAl?(?j#tL3u@Zn{kP!zMws5Q$Bm)tx>hFtA$Y4qR;gj$c_4(1VI>WqG;NSM#^ay zx+6S4d>JbF6$)dT$3zOCD;zP=b@F9`E_U9BYn6N7IktuOq~>;+eDgjLYWb-+6sJyD zsW<8^0QFS|GjdgkGH%$&CgYhE@YtCnR*_QjB1Wt8I`vhE+A2h2{ju+Jwr|3MPLC7# zeFJ4DKexs)2uA$K3UOTwar}MF4l^=wd}rFO4IQ}#a}?r4$;I8O#X|nVx6k=&n=Ing z;#5Zu%X_>zfyH74vt|set*uAaHUVGG2=&0BWxhzn1@{*-M8P|AqJ2j>X zzdzwzMnUwmL5JXylVu8|rU_iZCy3|>IIEMvx=`4Xh^Mxtz6JK?QBkeLA3yTr&Wq}( z*NTQTC8j_f*+Pq(X#~XhHZ$^+*5*zmRpcZ9p!xT1H7ER&=Ek?5^UtDkmy+qhTN?q5 zA*^#_%@JWK>wDgQRQn7vFQA?fQ6*`Xsa*)5J~F>%u4H!#-H>;~ym|z5k#T7Cwzh6n zq9D22P&T?kfS-?4?#B+F+Agv>20cA5mZS$F(*`y(epSI_%n6cAJrmy1jt62d{9-O%M3`hKDV} z7u)!IzL4nTvZ-Y{8Dz8Pt(ezUfMluMh=0}wu%({jYsAQ;{?!sXzBq=?yTPt}@##&A z@lnGJGa>hA6M*~RH!j8cvgRo{dN%AHPtH^SC z`4V<(Z)-0xP;~IhoJIJ`uuGMHnH?c9P1deGv`Mpb1n>n~f0lZrT_HBiP~l=gPQ>_i z^I7wUn4nYa!hJW%Hb?28Qs#FWDsQ=TdlsbIe>iq0!ztVk=wlHl#3+7xoHc$H-F;i; zv@F(R1*%24Jd^mvtfA7Rsc9^6F|{2Q9TjLxknEOEax};dScJ*&&3Ae*c>EcMZb{oz zRn3Cg+vg_Ahr^Dx;h#|ziswC;YWQk+n*)-becJEzd;I+_rnpW$2C>}lax_mP=YBR> zrFp$(CunoVZYRr}pc0v6%pnNXKQa4V@WPj?;mag5U*=fTN8fjnfM6r7C6GCpv;#|L z#)`D4-rF2ow^bz_grY9jV)Dt`cTTNXX*tG1x?DR*{SvbbDG z+~^9wuQ!}Zh3WOj>nQruJvJ~sY|heEuQf!AI9Ul5&g`GKxX$RE^|QJDt{ zmdd%kz2Xsz=bz_k)-@)D*EN^z(1RAcB3ERmrpLEh=W+W053H{Jbki1EUZe;yS0iil z;rq5WoyOqB7U*MuPg|mJ`tbAsT2DBixysln%v+W4HeGuaQ(;(;S4t0zwmWg{R`Q*X z_xEeF+0sw}&yJg-Q z%4kE-l#3SILOt|{t1{lUY^p7ue{rTKE5DZqpb0J#dW*0UO8Kirbv~Wkv^;JQ^}-N4 zJKS@i!t!iLCu>?sr=e}m@bW9%dZkCU+#3_KBOpm09{W@DHOrgMvuD<$S4?%V#LcWTfNI|Xlo03aZQe(WX|ACH`zoHnvuq;L>(OgOQL zgQ@VfiP#UrS~Gj!2B<6ppw?4D-u?hOsAKKfK8qrO_p@~?;Jj5x>AN%C$15Zsn%u9< zH@JL8zU+*AIH<+E&Z|o4Yrk^2cGO{wd^#>GHrlvz&Y6-saNq?Oyym{h4DMt)Spz+r#OgA}(}Kr3cI1 zyoXN(HosGT5o(DQkJu`Dt_8moRohF5JQ~T;+9EE_28~Nu9|Qo340fH>>N_VjteSS3^*_H_WP(Rx| zh9*vAx|`P2Kl;?G`FhkLRWZZtdSHb`4}iYbW$;4zTn@@{NSRR(2KPl4aH70e5Jb z)oA3YZOQR0`QaNr+l^G}VZ{#VDp*!oi2vU@9y={d^#(fFl)?gH-?U=vQFIp^zL6ZK zwf^0S9q@i*Q+<0TZ<`go*tJtxZVLeT)bFBgZ9uMOgn%7T!pV|j_d#k~pqr7&uhmtw`Pdj4iBKt>BN+;ANr|n13o8g*wFvT^ul_z_1 z;)E7|5O;hVH)pbfS+QF3^L!l0P5KGBEmIvyQ|Pj0f$e+-wZ?mDokeRg1Nhvo@eyoE zH9b@_5>rv?KSB)^?V!vvRR`(kK#xaVcl5JBGLB z!o6Z+Y63NCq63#%=~3vJeTl@NFe`o8meN&E%6RYU-4o@8oK(YLmAJexspm!)^!N+z zb#OD?Bb`9>7VM-LPBExAIS#r0v7@5iUrAh?V^F*IEW#GGc5Oa{4d*~@)EkcIwTXo7 z0{{}|=jNo~+pN3}4ldnU=K>h&3rMbF~6hQUjMz*yl9MOpwarc z-EDu=ip?Omn6MwrJ;EYa*Vk1f$1S0bp-iL>knyoktfPJXSiwjARKFSzlG0bADo>!b zNuuK=dFv15z-CDm)o=!#PuM$^yYOr|j}&m3uP!t4iS+ji*{y z(n?UCI1MwLjJS>CNsp1ri{hgM(M6XX<;nS`xVYNjEmaQWY$gXUH+avia-{tE>$^ak zjOWNz;`SVIa;&LqXD!n|k=e|a*(K&2qy_NQC`3WjruB4+)aT{ewc5UXX8#DV@d%o= zI%K=PDS$*-0#h<2N*c?BZ7fl>)zZuTQdkANM-JuKj78}i@TyWwCC7(**5w<@R)X0x zaw}v_TcV=EV3XYAXg0R2EN|+}^}+0p+*LFj9@ZMd7C$W2j) zt&N`f!HC?Y-+k5U}X;?*0@m{FDHE#Lcz946j-kxKz? z2%fJM>O{AiV~<#FvB1_fqrAR;c5X|k+wF#K;b#Rs~c3=$gEs58m^lva%1;N1A)IuT@t+!NfSn9kY4aI5ruPRAQ6n z>RT)K6{nsv9X9mY$5$(1bOK}1R#8cS=EX-KiAuVZ>+{ZA)78r4KyIuuW!^_fR`-p1 zS*=2N&-CW3o_mS%_=e?=ESIcviZjD-&E!s#9@O1_xHB_MAc+r%@yo?Ts=PhPg*H`sSk^XUasuEY6}Gyen`guef)|Ee7H8IjI9z~`h2NDoWwcNcosYgDRDpv6| z2$I_#DHaZ=gXD21pQ+v*(RlYpyFq0$)4j==fj?aCVIyc?ic=}m{I&Im#DxrzF^?#_kgEjl3)M@Zifc>CvW;q%Lx z2##=E{PON`TpTAqEN-r|9F6`2e7i6BNP{`6&F4rm46tQ4(i^?${!P+XEAyXHXKOlz zdq8{&vRN^46zcw&9O_?#j_z)HJd|8-YQrhi%E8qnjSYn z*=59yP)vM0?X*g*W6Bh1rU7M+kq{m9gr%nLuEf^`U>d5x@p z%Maep+css#aF8=@Hx(+YB#CGs^0t2zwbGb`9nD>E8Bo~+VAAjhf>TG{Z)GoK<}8i4 z7vY=64X~pUW{1N>nHot2^ahZ=uzAI|w|Af@J}IyGp-&_2%m=v8qPIiMw~imPK%GGb zMHQc;e=5!-9ePf(OJnAbIs_Ga#STVDLH1-N$iszbd9g5oELO4I185uOlGLE8mRjmL zvjk+BqKk`I`FDJbL{U$*$)fwyhv-+8Q1mRsH~d7PWQ&E0c%Q1Swe|IlHMg&E!9V8C zFK&(RsP^uxb+ljG19-c*s~UYwO!O9)$#xw%YC+q|rZdjX|GB~dD+ElJK{ zHTxpI`EMR+4XVK{ksl_zisnYts#i8TQl0h}+%mr>aZi4@8Rll&4_}R~%1_px^XtnA?lQ5=DQrE)mQU^np)2+7Q!Ig)H{jE32c5W;ghm*uo#oMRihVq8AMATcg@U3{{ic)9>Gq7rt}8@?uHyS1XU{D@P- z`TQSSHgC+LUu}@kW@VF`o0~(XdjVb_B%*JYW?q339LKsKiCeEmIv};5*WcW_?X*VX zbz+Qt@KR;G-r7@>tn?~3q<>$l4SS|eDGXQkx<8Q>{|>D|W&ER%;x{RRNJ8IzHsSTCVQV@|&oSh$T=%DGT?=55R{ z+Tw#}h0Wy#sMmS(d!2Z`i)Lb&o|b}1di7pt=6(5?auXy3(_-CL!BB0d);ymdN!VPl ze`DVEn5daFzGH{lbyU@#20UeytNz4DYfIk2bZeH)BxtRq03HYix?g=x_n8Y*Us)r6 zFP!JxMWuk|r{_OhdgQ?Z>sHF4?KErm&+ZyFGwt>hS|1qD4M=MHgey zftaxRUSIE4f7M}?6TphX4wv!c2*k~*ekbXCXkIg}Nc`DGgr3>a z5EBW>1U8=`JhHai4O=)-k%B+_4u9Gc^l&;3!U@Ox56`Ez`->JCJ1jGOK2AdPO4()J z=O;er>n_d>R~;gi0UpF8^Z1WEFeR*-=8cOPGDN)m&z3pPHs{$)pmS{I(QyH;ZJ5^r zB$KPf+O&!RFC!c}q(N>F5}RT2W{ZRiG@w7D4Pe$%Vopj*Lz!U9_F9k z_$u`Vxmp&G?*~OG7E5*1&B++`-fpp5W~;4d7ri2+bS#k0{DBl;dHtxVJI4>B*`vM( zK1x0UJz6Mm%_i9gnj4Ml3@M0)o0niHcc+f)Jtm<4 zB2fw;uSK}0nRKJANErDtwcna_fA)zK@O@@?GQ^I8={b7-I z7qrb=;{}hpnXZEhj;j<^L~K1a6(OoXIXeUJg>Op>IckfWT00KJ4Nh`cZU~$E699P2 z5eVmva=G*DI8}>*bxw&&+iO#775nEy>xY9|WJ6yK-i)B{$LA+f$Qw4~s{2TPcwUH9 zU8(|>X0boUkL20FV?BnP%;@&FEh!#S_7+p`pS#~Zdwa(Cp0BugnQTYdY2)>mzMTjw z$Ya&h;Fw6uRTc1p>Q@&hH+C~DE#w8iyFplpCZxe(J6;T5=?Cpio^sUE=^C68IoBxt z5tri7)gRbeBIMXXEu-Ru$qGQ?Wqzh9C8pk)Ug?(BK}&JC3~k25De%@4Yqn%Acyd9IL zd3Q-nIR~~M*m3lzudlBdCvdGxOb;z&qxfJjuhy-R7?qV;g;fP`Uxv3= z&B>LF>f%`oM)4IK57v``(S>*(GfPs$1}pF##nBpQ@5dhLGcB)5W>WXhH>(r1giRj0 z8$B#(qx1TH2@nV)Yx5r^;NoGfya_eghE!c zV{OTpE#phYO7tsK=dG%#gWM}JU6!k1KJ6tDqb+lMC-arl(RK;PsupZc_se5x-~gn6 zXyEZl%iJLPqk8-G(g9*IZ+<~f;N!LgWb2#n%O$Gnr_S<=p~a;XPGsmo(%l6<>6Hi- z3r|uGRGGYSs0DWy6;~_Vznp6nG=BrW`FXk`Y;`heXQFIZ$$mT$1po+R%`fgJ~r-In)@9c0Fi6?6Whl z*hC@iqoR+_ehgUNobqP{Z%?;csmujlDa^+}D*k(5Sk^k}71qW|+>oM#A4a!mF}Q4x z(hUx|hmKw=K*_sRU)+jZ9R~pZ^SuCsN(V5>C_kbp=WFOt?n0$Qe`uBTSg2`@yA6Rq znZeE4Y;wyXw!wO5EZUo9S7rEXj6KOU8N<~}1FB2qId%y1viMIB#0UB?TPO?mM-6k~ zVth|(oLd#c?rTqAR2J-zthT9&$ryapTBGi>&~s=T!v_8f}-Ko6kr-@{3myMFuDSR;JRXDtcMvANkwtUdt1L~YWZ z@ktc>ahoj??<;L_YeqdA)>K*~QaF#kbh7PKvzNbGmN#D74@n!o5$87`mZxfg6fBzY zkavcj$ThYwE|%-|d5POpiAn#Yyd!)zYZjsJ)bN<5bRhQJ(R_8j8lJ5pPGz!H0TnR4 zkrfn7HeJlFVfE_VEP;>3Gj%|L%U%5|C7};HLwJc>m%5L)U82cJK$g{FUbUC^4-r=m z;3o=~LY|V7GU~gYnG0+*ZN4}^QKbH-PJ$Sw>-xY9D>VF*+p&#KH-!TY2>!b#EVCNN z99?}5c|Zy}m)dmRccoQ?u3a1qntz{P7Ac~&x#Z0oInOC}wf*E4D2}-18PD4-R&sX2 zt@N)Vt$;Fh(}o&HNXMKvq_R zPA)BJe%G3%;)}`FLp%+F8<|8wM@zZh{B__87jtTM>56FnM`sKv`0gX06^)Y15mv zU@CCURl*M1hp0w0j>Y6JJ$oV0LDW853d^H%IZ)*xA|P9&SOpmVgcN9iJ_1F&eqkoU z6|7?kOY=W=AZ%S5BdY!sqPMtaw0~FI$m}ZAL=^X38*6K!-N~~LIp>sWKi299hmwyP zF3tA@l(9;2n8y}6{c=B2+RI582k28^F`~S$`U3PcMBZqR^u6aOglWkfOyb_a(4@ET zCODztQ*(vWmtG9ma;+RZAxY_~&hKy5vp5WFa%P!lGJovpmbC4`-^^~u;Hlfw)w!66 zu`}rQYi3Tx^h@eE9%&w{KY62v5W(a-Zj!nJD07&kJN6uv$JUFK5zA$lHi4Fps_Hv; zPpQo3L;^#$YgM65RTqPD65$F2Y9)pAy$dF+$1+bxtVj*2OfHhOytOzk{-0be)WZRc zgM1>_J-1uSIAp}fiu920ReC>8GTUD;kIIg!_nO+WMf*w9xs0mtEbkg>y+Qm{1IP36 zz=BlJ&4L@9E^?yy|a!M%N9<>4c<5NtLjaQXf%rm@LVZF)lvk}4Z{EA1G#(I*FeLTpzrITZn z7!3X)c9xay1j6%-#1!BQ3K5LM@f0)d1MXH6?uYDQpu0S)HryG0&u>vztRM)%)JQhP zNZ$cS&s8cY_xs8(8zY(=tF?X!8pLedxaI`o*jIbERF4OvrcNobnMn>WQe_F0bUK9W?C_(|Egk;*e#W! zfW4`hv3%zv$}_jK24h~N9`nXo0)MNdxXWk2S@501&byvPc`sRIa5E*b;m@FH^=?OQ zvjQ<|oUm+%s);SI%c5G}F_P73uA}TBScwo)N%&m(Q86m($=8jF!bz zk$;=NKUr9ET9bO@=BX2z*B|z&-@Z(ZkeTJJq4D==l4|;;1{)vs9m$orW@a4ou=A5q zPUx_ixVzkSe7P;wh7V0sw}?$)`aK_kW=-Ybo)^bvQ6AT94sHbagl#jA!>AKCRjk<%f?GKUADn4 zfwMu4pCl=M&DHT0;o1|^4Zh7HP z5e#&O(2F?C+iHJ7LOt!qA zFrC8XcQ2d9KC5KH=z@6$H_=)%xkj1QM%K+)3cbmQkx%7*W}kV>O20ym8_v!wBR^~) z?uN0O+_$douL_ASo1rOkKb)SSC%JDZ`;fpCO6rr>OHgAK5b#yL!iAHt^wN?>q$y+q zG+0-W)MX&}4rVJQhazS#buhZAtId#FN~^MmaoVM9 zg+rHkw67Xu;hihs36)%fXO0DgDHku?r$xq(hV%*454RdDf7?zsW|(oiRoyl=>+I~A z!x~I(P`a5jZJ$|{;^tLe0(p)b`wb-Raf~BfcfnNX!pj%XhV4|EJK61pcZsL&kZqcM zL8!IuW8b<%b_Gp56PC9m5i3#8H4(SR1e`rM9W-InO_R{02f85amI%0ItKBry@iSa* zy7H0P(R$Ej^Bs1iG+TFr7`elo$~y}HG(Ol>jcMy^YeQp)IR$}DUXb4+x|%?&8vj_@ zZ#}QA-Seq+rvyBa`&lGH9YtIdGUN1GG}QR5kHn^<(5?8GkiRZvLZ$?wkSHz_Mrd1O z|Bg!`R$f6xH#vV6^uQoer01X%=sEIKv3s}b{ADGA5yYU>%35l$({!3Gjs-{IR}`c4 zKe#oFtkyNzOa|zvwcOO7s7i_$6;jdJ9s=3J?6Cn|)BB+N%LetF7e7a#yjWTYatis1 zd8wow>{O+AHn3;aH05U34sC}zxI>KGBAkbx=kRdmk=-KdB_{yg&NYH#L&x52VdFdT zX{WXf@i3Z6z35oR`HYSA)`|S!ftS|@&k(?Em>3wR`-QBGSHK8Cdh$~01xoq18W&$b z-dA(BZtzvlaQ&9ccYK&wUDG3Tk!|?bE!^Q8teO7)YK88aYUw#DZ=rY`&aBij&B`OQ z%>*fp1@__tR-6+n-sIq?+DsNfgBKx&qFo>rqO(^OTZHSK)oX>~bB6O7JYx|`D);eUDY?|Z5KRRb?gpuj+P(8Yi*Uih8X zJ7yNMB{q@Xt7aNWSb4BriKO3AJy44?J>Y03;02w zUDaf^tMnu{dkC>yL0gaOH+$YZ>c8+~AR3ulay`K18u{EpuRu|+1^7$7S|pxkydOKP z+QHd{4>cxLtR8~M)DP(dM2^cIuu2)9y4!7^4!g6*V^oF0cH>h*7F2g0fr857*Xf#& ztd8ZIXw@g-k9p zc7V(cr99b!<9YOsr#}{Ve#X1-E*8p6iN4`9JN3Xfc9I_wk_cD4WD+S`2Catq9p@#D z6>LTZ-x)*{H^HodHw5^*1sK2}kj?Z;<3SJMh{XP6|D6aduwc-WH0bQzK!A_Sncst6 z#f%o0JcC46`6+pp-NB8?M&>T7(upowy3Y$ODXUoa^`oJbj)=nJqG31Do0~R=(6H0y z9B+I5XwdQbL`6S#0wrQVz?J#=9!7Zmdn^ zHSSt~knpoDfAcXs^vWEJ+eEM5m1-Z2c{g`!PXS(jpgh5L@$V#W{<69doB5!L*Hy?$ zfzR{7%4?e&MVF%t+Dc>&fAD;ZmkY zOJEl`K3?|glqS*rv1i5LoXX{zOhr$onUrc{PW{b0r?j7_-oO9#zF=!$U(=nwd}OJ} zq0e7GZo3SQo4B=YY77s=VqY5w7C7gulPh?iI*&@r<2HF=Nc7-0V=2ZKUfe?ebhC6Y z4s$F7eFW)PW{!)T)7XUIgsmxiy#6f0Iglue<(tn)wCsWf&C~$04V&p$_7$?N-g(i? zCdA`#8V_N-9_tt$eulG}h+Ti?jPNwy?|J?GAY%=NDDOV&03T=YX|yneC*<2uawin_ z5nDyqwEjMO+X;J1v;#CpiWwNx1Gh!tx%hH@_)dt2QzD3 z?!u|@bcdXG8+)Abr2%RG%(yMr)I*-!suVm!J2!$XqjaDnPvpG11UMfuYA~ zh(OClmZa#&`W8nc^Y4N(XFMR3U@$+B&pycixO~dz^#Un)`|2V3gaXlA@@CF_Rj_;A zV&gj(HCI7%(lHOodj;R>|H2z^krf{;vouZypsn%pCr42BKp<}LS%2mSkmZSag1*iN z31HJcU9v|p>W~i1zL*g>26D%`psGUZzL_Z>GGp}oMUOz;9%R51leQvHz+BNAdj{#N zhSkHI?O?)94v*g*wr7=)DY>>TKHip3z8CY1=L_E6d;9cf&Gc@q6m;6h8_V_6(+iGY zXHFip$4%0Jqjjv6wNwd8>+QM>+k1&7*Gm)mLr&TKQQ?P+9LOu`wn2`Y0tZ2@R*&yM zJ0Z~}O%I?|c2@7)4+kg!s}PD$!qmEx#IL8WtVDa5ON#4QO`=ZPjkt~(z>~nc>Fe4q z2jh$dJ)5%yvegnorBoS(Te6TEVzq2{4?TlbeHhD_;UEPWApsyJf(Z1+HPF5(FEl&Y$LS#%MC@5SmTFo<}p4)p=@rX|&_ zW+m?XY0i_tYNb+vsVfg_8oJhg7*{J{Xhqqk+iMrDLFjV+dZKjZN8KI&TaU|;bDSnS z{;bU&&JWHA&X7r2=GhupI^D%{?KWSJR-KogzN_n2^8Ds{=hf5@l_aX5;p)e!i29D@ zx|MIn&yzaawnHkR>vbqx8h2l)&3uOc<jbqJC}Jt$vvRDw%V{=3iIrrnB4pWwl<@7&79$v?D;wTZfUDh5IOknsA)XT z9vi&Gt#iRu(fb5Kb;I1I-qr3U&pjRY7IQ|mA7OH1!R+;)9x!i8IeFoZLn9R&E$|%UV?^kfTF~DaTea%4XYBdn{Yc^mg}8q@@pW`XxA#c0MEe9tt0^ z&ZYo!EuAk;cmif8mWh_8s>wWwlnY+3avb14T4QML)N!8Jgh;Q?nnZmDM!KgO@A7mq zbgS9F=?mpAIev18#&}=gMFrTO{&lwflNY^^#jj5i@Vc0KixaD4N38CcHx0Yx@O6mr z*a42wB4DNM=V)d1e5HA^l<72TMHC_GXV&HV$7^^y5&CuYi}!972aZ{5y2z&2^}pdsxn#W}`@SMdz1+i&2o6 zE!YYnI6pZF@h5zx?dSSba`K+=Hc~Z8fK@oX|_w)N)2( zifq`~iyVml$!IwyX{?f|{*iXgT$inhBNaa)z1uK~CYWfvvdDkBHh1b(w!@!}F#DI* z)fB*}@dWpXV)$-a>hOL#TI|{bAOFAOm${TaaLYv#OP%95V z2grFIHti{;KeBRS6SfYIUb8liAtUy8%|BLw?c4))tsX6LGcw0ZWBAH90b9xZ004Qh zhSS2#8EXmkbA82=1DyWwT&)gIY7stHDp+YQz@_!wROPx2xzH!VB&za8#}HKj{|e)m zw@bKz1)WvdJoYdan;nr*Y#sX=v5Z2Q>3lE4E}3N|%r-X+IeK)3(wAXP->eRt5W@|* zKO0>aeo_njEPUvHroRpB|I#1dV!qldf7mrg6>1?yzwj;KQXGUkeug-)8US*|7vTrZ z&GZ5aFq%=M=DgVQm1|}&Wsk}mHV72T6(|9d2KpPnavya~KV~JFf_#OB+0MD)7*yEc z_!yRPsOz!PJFGcee7lXqD-W;JFZ`VGW<1>Cq{mm={n#p6- zH>q>k^X#>-al%mP&=M3T3CFmB)X-Ol_p5TB~3`3snMl+tvX)3 zkjd%f`44aA%;#dzNlU%_gJflHd!F7kVS7wqFyySH*(*%z#lek2E_zeq(B|5yz_aEkmP#WpvLGK8evw4eWq~Sstse+?g^8u?eFNMLRQ)y9~5vd<^=^A91hFjcI+7hZC3*;Ut9a1Xz6rA-^1Zf z3q?e!yBgKvSI{VvY4HJw6f|P&o8&!?^dx1*pk|E}?2Jh>w&T?cqf>pjv*` zNNVbXAd$0rCJb6JmoZS9M|T1{d#DbzLW2K*hd12kFlh2Kv;PmvdO%hK_PW~<#D2)z z%)Y}JMSnEREjSD?F zOqA7Vh~8(r)K&*rQthhN$R!)&YAp_PivM*-W=W@Zg#Qt`YngO~X935||_3^+v{ zJ>{4q%1$1c@0SpH4^K2!d$%k!tr>Pf@?IIoH?sdpPzzzVCBZf!srf#Ge@Ef0SH&=X zo>p}zHNkLiJ^*EggO`jh5-#>G~ds+SC6K z?FZv%ZY>QeXu&%d-RPxlUdO|M8LL+OBSyWFT=*yHa!9AZjaPo4+%o&(>3RcL53flS zYGaY(TTL@iFG;Vhs60;g+>zQ9oSgAx{37Z`K)~OUG__ax=Q)gqVl(It-ivnKSBu-{ zNyDbqxnEBAZ^rHGcJt;N>Nf8v>yW85O>lZx`I_|iy%QCQR?ZT;j~D&x@gm8^8eh<8 zr+}vIjlig>3Pxj~;SUKEUgOJ~BTz#L9m5D6tn`u8e%mF`3c{k!EiwI|M9GE3p&0Do zepEwpr}1#;X(Pjjd`e`?Nj*QJCwW4${E#72n5t z=5?iUobTQ=`*ok%mV7ZxHs3Y#l90TEr_gL*1H~(nzJ?Nq5{BW!(fRY)B_nkxAK>!P zkSK(H<1%N}Wp*1zc83qr`>=fvg-?-K#5kBXYpSnPhEMpyK*3h|lLHRIc*%=aSuJ4h zI4Yc8tq=|g|76Ag-dA0!;Ld(dBGUi$T}0My$6HiG$70G0r_R%Psrzmie|J}xsiDuP zA950&%Ub#?MIZ%_3hZrtN@5tvX{Khq+I7u;7h=tAKDv^(2c%PQYfS=(EWR;CMSuxu{2=J!fe5PF!3VKH8V8+62xDNvdoOmr5u6y zH^tyzH;pHb>)GM?caSKOYjJ4gF=&2hT6 z3FffI&p9h5^R+Dh=b{3bbHnANe7Z<#MyHMw>U>SYx5K^xuwz~MbHIw9T1W5K^AK#) z+%wfRPxXQlIAw#bZoRt-Pq6d815<@ST&}VbM|~grCr}>bc@B;-se@T%k=7ROWmgnz z3t?u#F5`-~72LejPtSfy{V7q7{qx9cZk?ZuHT&-}-!(@$STa7ufUb6GV&R1h;y8K3|Z6;I{Nx2ylPtqvgjk%A}Y=2jPI~c?$gE z2JPt2W-5t)-$PS2zF&B5Fg!zXE`|PZ%EWZp<308gxydUA=876oQW8U{hmM)GP+H9o zA}cuY{wq)cV;|Eb9TH4T56TrPszWqg3#aim4l=34h?oxY|)8K`C1sktQuNsbthVEI*zrtd#K|gSMZG8Tn()e8lS&2tq<5My7-4#=j zYMr^Dt}W8OjB;4$kJjc9Z?y&O9L3}Cn9 zBdn%D`pf8pubnuWmhrFCLQaKRn%>MWCzY5O>oN`}eQoV}6}PU^#g@C}D4jR8@|WIS zYFo%veXt-%Oeu;Bod3y0PeQaHe?BU`*Ezf17xn>^$x=Lvp_H4mEu*Rofh&7C zBL7!j{bG}YeSjN_d}#s(k}`4o)zv?JTYS?q@uR*Zij*6PjyfC7394Ug4^a98xxm?y z0N1?RzQko5z%q<^(`WKa?gUdviAG ze=-0-X1S(Mdv!1e{4&!}6#TZc$0I~*a?o~hBB>?@Me%_OQz$6Atz|9;j_?1wN@l92 z79QsHvv=3tTq3zu5hM?{^g+X0vA2)rrN#G4ZZysKRf%~@H_oawpftVIHni+n9CeCq_@V!;X}U? zz(02^GQDG0{D4$?x%7d8X2cu#)Te|a|C1&-|7CJ3Hi^mMKH#^YqC6g*QS1X`)+!_T zyCmmR&i?x;Z4=WyQjPL;d08m~Qu4T%s@|ylM9RrP#({(Ed%#`UpZaUX3bvu4-)!yP zsxkf#ZSNh{RMx(YGGjx!g(3)u4k$rDkzPj-Prf7=KDx=Y%J8NzC)0ZG8=XC%x$xuWn#`Nk)E5@W7%9Zb|5Zw=A>S>0D3 zIWQ|fQI}faY&XH)$q-QRf8AuBiyC7T2#P2)eK@b>YcDRJb-5XE#MmysgIeO_%fB1X zsEP%-4!)qf0)U2-;mpD^af8+$_E}p7UkOEbK^u@Dy(o}{vIh~XLR2XVAT4pv0nun1 zz!v^1@Vy4TN}1w;rD}$LP2S86FUdP$DkIx}entihTVTEvH_%$_I|@e~`pIlBiiSpU9P*76sI z7Rv8npKW_Zjl1-ZFcM3fVpq!q^1G7B?Xb-5dv;IRrh&mRIhrPObc_?dn2XM4mwx?4*6~v4yKYaSV@!&3dfJ`+Ta* zMO|Gk&EP(r0l^2%dCRBRh~Ay+bI(gDNi?Pl*w_ic>Vl5-)di&~rKt#IG$`};J{S@Y z(|m<$rbMv3Fs^B=HC0(EF$XTzJHB}NlNyJdK6$Ru6Cy9=?45QU&P;q^r)XH=3i)JW zTgGRsIx@@@b{a5(tj7?{_ukVtb3^00#(oa?1L5uNz7L$^(q3^Sc8u5v{#DQz?`vGe zUB~FdMAbGRFo{3@*-p-bSZ{}Sx>fY1Viu?rm#mz#`eeTsYY-=20g0&^QAl6Vo#lbM zJEB1I9FCi((Ag}w$v2g=paC+@66+Mrb;XRvh=qv3>dgyb#6A3i`7->9;wmnVQFhY3c_-99tF+Dxb;i3^E1avV)T~dL*RQ22p{31L@k#9MNcZ%7xP#WgP@vn2G4#k^&U> z*Cc8{$Qxu9N>oc}^kOZ-&y?~(3MTEoJUN^Xyf7jyJMj2VKfjw2z&<}G4s9hl)qdT_ z#rHx2vihplC7sxDXzW&mI0XXz#vWQ*U4*~Yc;x?1%p0CT-B5FQ9W$40VjkzxzVz4K z;cNhhI%~7x)^l6i_F&mH!{s5wYCo6oTQC08v5kH=Ct)S%oH#=ZTQg9)I-*cb?StpY(XwS zS*r4}wi_i`{gPh`M*|f+*&TRb@+jGTlISy*Ad@hdg(^X(gX9P&EW9akj)H#d1 zhuh6Ysyu}~lob7lk#F5EJT6-Z?E>~f=mfF#5mCN~NS$8YTl3%cC)Ou5tAf%t&!s@J zr7P1_XTNxDIh1M0uTp?cH$VAJ;VV&U@#*UvYwxM~TkuL8(b?BWYxp2b4y?1G{c{V>xOPvJu;>!xiT-*8reCbQxK&`)uAS8$F@&%6Oq35 zH3Fi^HeXQg4&j)0P|}midihmqz5!fAS@CCKhXYpX-)O_dUT+A*nwKTZEuS(FWh`td z;yPq?xxAXNRYb2n{dJTi-5K5vWBMH+*Z&c7s@CCl{l4!8m)hsg^=IWH)r>m!uTu7( z@)UHx|48c$4A+ShtIaf0&I|8-=wt{QKxAL1AEsq+hfY7c+Dw?PzM$GY@F)I<)ih=e zs&(NP&!T<&66TPQ_%NsaxY@U=R(xM`z69FA2h;9IkWR;R4S{>-@reH8<3*FcGh7@E%nEGDUM_$z9&;m9LCC@% z5jGQ_hLTJN=SC}S9(VC8_iw9G&e!;5y2GrWp{N5}oPs`04)yT>HhqWd*rpqhEnnKb z_dpH=|Ge|!JM^iG-Y!zjrKK|U@h9mrTv%>3Mg>v4wF0G!2E6b|5_zS|#)*oX-wSsp z|Lg+M*!k(0L2E?Mj&q&S7r1vpVAmA-G9ZoQV~bE5sVZPiucWm(%@rLnwV7!Tm*j-C zqSx@^u8eA&-_Rlkx=%`m{Q`Lb$aj+cZKxl2e#p=0etek6^DPO+Bd8NF|I

    (Dy{>Q|A94~unSbcgB0f?eqW=_A7eg@TtbL+b6oB--5(}JDjdmPZrE)Gq z&KJl9cpK0<*^D^@nHmR(6aBq&}*2;Mg`2P9}Il?g|g^ z6cUQMAAJG(!R)9W@#q*QVi396Q>_)5w5CKOg~Ii?!}kNt^n?{i!4~Pcg|%{iCdj~; zTK&v_VcA%E!oJ*{Lb^LGo9Or#Ju#tL|y@L;=^<3)667kNgpx3% z>?Bf%XRDa3(I+DPM;X{mV?Yqh)VBCv{4Hf`c+YeUy@j)qsZ`c2HD@%DHuMOo9;fUY z3SEUlL>cU}%IR<)0>{6ShMyaDwBVhK=poZtpYXPX>=lptuDtVJ%Ml__ zHUeteg0eKBOA|(veyr^xQ&xBG55mE#Ac+BfhI+sk><~`cSiMZmrl|zheA=k|W9z_o zr1np|UBKJV4j>zJM$yli*Z9GKnEhW&UDnBOLYAqGQcb4p26Ywch1hTv?62KjS@-4# zI9%eB6*8^e)ppmH-U1Trav~zy-`==R#F7qoTg)OQgNI;n~Wy z5AIN0TG6OP`Q|U4_d(&(A)&2LOLJLoqbO&~Bin}^>DQ%-Q84V<>A z^FDBY?zLYR1JK68$KmPYzaj*x$i!AOo2 z4$v6>vg5qRqhM|aI|Kg|I0`9qAW%bJknt~^&Y&i0ufrkbtlyq~0YyCWs%Z?Q7z$Ya zrwcx?cWOcE?l|=NyBaE^0{c#vxqAfTu|@QL%zc)D-27Sl!JF4kQ;q+NRUM$abB-KM zBDZmT`IdKh$Ifd;Z6&0-3`@AO;2q37wB|hcGqQgFPprDbIzp>SPhgti3xIseu8x2> zJwy^K{6<5w89)}(;1p}~n{n6hq8)&}{kIc@xbindg+;{9tD`-t+d8A{mV9_n{owYb zkb>a|7@W7jq)WlsgRS>J8U688Ib2xLRRipmGw9*(V5ESqR|aym%=tS^M?hjbY^Z1i z`~w8?2y{@O{ts3!DB_%eNg!db^tmDYX}!=VF_M*}neClAV~L!(z2fP{E%L(t%lEyr zvrm)&0VE#_)96=o7p2Ow&E#^P+d>^`hPZ_f?;&04??Bs;;EE)#>a9>R{6|W!ZNYP+ z{{+*^ODHF5)d^(XVn1K?^za+pj-RI!&ACQYk3Wfwri|Z~Jwkdnk3Cff1X9ERblv^? zD6AqL9r}25pvzhkMQw!+j=NvHbRlzdJ*ca()TwmR=(f{&$PxTjJGSx5GmYXQF@^eL zF(XhEdq_#NS&evDsd(sgReQU^x_C(Q6o7$fk3-b`Kf1$ET!5foefs^tMbJacfnzW% zvwRU;Fe~QLA$Xm>2|{#}-}V|f=l6FUb)qAi?!+)xdB-*BJYUGDFyT}IdHTL_W7)Z~ zE!!%yYkI*iN3h!bYd~&&Jm(h+dmMo62xdcokjmcpbQ-m}7Y|xo5?9WC)ilRA6y+5# ziZWIv|8|yiehOSo2e3a3$8zqo;fQJ~UGMhhe=V*f#t~fevS)ou18&?@Lb52!D9n7r z2H@&nrE!3vZg3GnKli$-7co)!qFuj*d`sqBwloK>aIC-}B!B+5%>~;F<*;gI6&5Ve zasJ00r_ed1)8hkaWH0CoD?Hon?))5@iGSX?^Zp!(cKdB{Hp<5Kk(aN4o|@aB6=10k zgihKfPNOY%=^J}NYeKg1?_`J}! zl71rpBE&huWZI$;^(C`va}SuDKYGd>NG{q0AUfNPWtzT+0nEm~qxE16XSOm*c}o5v zn){eJ@F6mV$t$@*x)LJqvX!R@>)egoygr+?hQG*0{>FbDPxUVmz!{iKeF4p!13c=ZFJ=BRku4!awi7P0?2_d%>MAJF558 zr6ib(0k38}hjf&x#Hz>?$hvGypbHf7<6`pqd;0;Wj>&;m|GPf4pYq&v^-!JqLin6ZM$0`3<=Yd-_zNGPrCR zdLBimLyvp{SsUgZz?uRu7{_LOmsF&jgZ9>0@V$$Z?4%m|~F zQYZAInnutUMD_NntAa9Mj!p=|!-(bFk75okY`Wm4_KH9I#TPxURA}a!qsVSd*!fd1 zIPzWsau3`;-82=l(}UOj5!?cie$24J^C>cUG26Pq1vUa{?MIskTI%{96aHs{^36uC&Rg6wYcs3AOA(t4jE*`@TCbR0C>vaE>BScjIe@o1p|DH?^#z*VqLKZMUvlXuR;uaD#L#p#epQV2 zm_khp^m~Qw(9Zzi6FxRtkMrq`fc(!a$Zop&Bjm0l{DxtH#8)$?sq(mx^osMpeDVpN z_la9Sm|Yy48NL00dG5E&2x#U#r-{6hNeFToGSz#)uABgOQrJn<|9Ky9NTJ6HnoEg_ z&}&{XSml!#Fs5=0RIt-d@Sypnj|s;tWW5a-JwH0wv*2jvb!ewyJdMl;iuJ!B%{rLy zz!o45UVz3|9CH#of?W2hJIZ}u^ecQu&iihrp51;ku$C^qj{$$)dzfA!9i-2w zf>5diIxa|~+6y&(O(uaP+qZntT@XlP(xT673ZVTb96?kA#o}m+z>@3;FuK{iwEG|;i)0n&tEz~=7mPBn0a=J6Ff)qrz*!33deRVBE)mZ`WYtf46% z{)^~+2A4Hvh9@5;UdL7fo-5$(KVnD~+@1Rl_lm~I7?LlV8w8P!OnGviLo_Wn8k=Vl$<-> z>t*F0kjZ*;U=sMx-F)MifbhlOX!86&$G?{YUz~^$@cI9_pBjuKUS0;|7~lkhkLzQo zTr{bVrfdA?3;vId`@enKe>7O-fl1(LDk`0STKsG~&I5b&Qv1y(G6)A9+2Z495xDVx z_wWDFuDU^Ze&1tS&y4LUU&XzKr>FP<+HJ@d^;Sr-hc$Gm!1uR9`y19;OOb`QyZqaoRlgx zju!d&mo5f(LG$+J{bTa)aS9y4&lW&jmN(B|J+1}#)!d!8Wjugc<=j6Ro7yjl4!SO2 zU691TO8@LIz3!<~+>NT`Q>jA@zn!JB4ZEuMhw9}{X3iRcV2@Bvi^AOI zvkJnKFF&~!VysB;TVvsSWZl8}g7k{S)h^Cu{Q7S8h;{~D2EUZ&U5cC-jdogbVbwJH z4gO#mCcA#w0=>f*)CF*A@&DXw3L?NyRND3$aph2%D2a@=$@ut@0L*(3-wyPgU+H;} zi;P@#t%?n@T7@koqg^)j!-}C?+QGcbEhNBmar|SxM?EW;L3*!FS9%EPBs#*sEW8^7 zGN{XYExWrMkn$u{g4gGbFm<5`xqu!OT$7m?xli*fo^lSe8C3 zet1d1xP{5m=&NHPN01GL3&;r={p~DuJdiZ{Y3EP5KJuuyg8y!`NxyyvXQB|*4k;cH zvJZ9-e4Wh=2*l*yeKP(tyqn7PTt0<3kJ3Q+O{hF{(EX0YYh7_zQZjfXV=9fa5X{H@ zEKN?j4rsXZtG}UxOEw#$_WKTlTUis&*1X2gP6~>Q9Fob{t=(~v=z?#OX{|10kDSQ( z%b}P0&c$`~6@dl5K;){gQ$dLacI-eP{I?#AbAh<4yBwidcL{o<7+TX@*vo5Upj%y;wm35P@Z)o(u+QcuAj(d#;ZwFA=v~ zOGjX5TM0i=gmYEieNTa6W~0AtyQ}JFnafzC1a}x`SQ38=4mp_hjx~d&>8Y`vpUa25 zIZEYgLhcIAD?A2{UKXQth34bS?o~Kme@UgG}3 z`i^*bXV^l(j|22Je3&20ZB^}DK*_Se0E?jF%3%{|HL__Hv0oCfUMzo0ohx7Q-mLPT zi;xiaC|-P&DFP&r@_A4}uxl)y=e0+AE{3_heImty>`s~7;ut`g9P))3jbrTtxm?!Q z{nDGwW@+APr5@(3K&Ao*wC@_8&h7ov0Idfx|LQRRvzo0m!eDo>rl;hoFXA^U-xvQp z@;X{gucF5#tGQ(=VaU}Z^etlfH%WACSe>&)^%oC_C#<*Y^TzW`Ca{qdN}AJRY9Cni z-MV9*@;YW>1#8SS0|f0Je}~?WUnCachSHwnLEajkk`NMdWCfZ&GMe7@xgse`=2iZN z;azQ>*!Dh1YL^>nKh~$^TR{Bus&yMt(qvS`r?zSIK}-Hjj#~i@^dZO)0Tl2Pdi;!h z(^UGd;d8D!Zr}5e1&oaP-%4P2OOcuNys;R_Sa8_Kv^04bmLZ_Tf!0O{Xk~X>IzNGWH=q6BL4!ki30U|1Yyp4Um3h*IpM?&m@L<)1Vct z#WvE7iF&$`(N>M879Awqn*F4$A1+dRAc|qkWh@4GSe0oNMGsCM3#cVFk@g0lE$I@A z8HXlWnFN1&)dB_b&Qh#szW614t!kIp{vu8K)Lu+eh+lB>?*^I5h{yd;E|I3b4JXm4 zwrosE71)Ul2iJEN;GMG$=Or0vowN6VnoioknFC*|5kwILPF0MptfFj8;?H)T8^C$9 zqb`6qjyS zihaX8ChPj)+Y+z3Y~G>FKE&2r9oK zkMYqYT2a%cBqrSF27{1-l9%cutYR?E@`%1UQzFKI@NUHz}kHDD$3Cg zrDwY2LrghLjGvA&G8P$lmvtqnX?R3`c}Y~D+&FjzCeEuF7_DDgh!>@TU*2BjU{=Ws zX^&=zC(i5|U5H4geIz*K-Bn~hMH>v-07Gk$p+B}JP&0Cdrz=};+}g|CkP$1Wn75^) zdM5KX)*aV^u{%_U7#`LXR~~%uu_tfZsinZ{O)7TwAzkFpl6*?m6>fFybh-;(_A)N7 z_As}z&(RV0A`CLH`>yp|PctGWT6Gw`M4K&*d;K)vA@j(-Ywg46KI*ZQ+UxkLf{yd8 zf!~V7w>yI?RNZpRu0sa(o)uW|a5goO^;V64 zRG+TGQ+)mQ7T#{(EJX=*5#PguqPJ)-p@B%DA4?UydInjKmppGX&0N~rh-7QcD0HqL zyOn@rYcuwq0>Hw#zdhVYwaTEKP3-zGdwJ5(W2c8G6J}#VHly2YD|G0VU$V7RMA3sq ziI+A0=GM8qfovn8Oy214_@veHnJO7Yft1osuL9y%H_sM7?PwoQ)AsSE-T~+>8@}5f zdc=rJQpMz-L26BZHHYb3h$NGs%fQsgrYAncV&>YUjM1vGbUI^ycqIXtHy`8t&G6%sS;9P;c^2OOtBWT*-q)xNl)_C44C#wY-;u(FxmPRyn3bS09!YBMxb2~DJyKQ8b+QO>^>Hie5P%#}~ z&4c;FZH^Q+R41d%A%`XpHja)RAORGF|NM;D!)ROf8g0cKxYqPYNn45jF+ zb=sL;JxhS~lN8YOi?y&T)eacqeDM3gBwAxlPxj`?^YP_HB4pFju z^=(b+#RJM8`_WCULy`-MWXHlk|4I5xe8-!Y%sf#5^S}|1-kg=3XdV5)&18%Fyy&;B zyH%uBV!2pb&5s(Ch@8ctLA;Z=^TJB()pb(udM~w6%OAO7wJZ~8(R{=vw^Dh&cyy4x zJZYkHbD?5bE5yeS&^Xgm*7!V+Y3 z(H$vR=vetAS>%q`z!z{b=9$6fN_LkKoaj7aCIAP!RIUz(hk7G$#Qo;IvNC-y_Il{B zl@NW27iGjd^HhT2D5RXgeAC~l2JRUiKQVQ29f#9^IE~~yB);En24IB>ZzYaWXT+a@ z$ZiUmD@#Ps7`UWDf9CtviJ7{|*|hpBR5u5T+zpdW5MA{f(VmJg!+en_hEtj%Sd4WP%&@>qcn~TK&Ub*YnW)6{$1RevT?^=JG?j~`D zZBIF}^x_oFCG~1Uj718;h7VjO>WQ$vk^TE)QaFBdoh7y%jPTxDH-&P6O7E+C-kUP) zGh@L%5>OV4E=*)Ms=+!2*}#gkED#5^WegjO7V(p^akHg~dD0?JAe28VfJvC%aBM;1 zxn(B?^U&Qp7FWDwlv|g&2zqn#k_0VV+2u{iy-I<`DK%bHenOk#=Iwi)k3tkIHV~vDQt}(Kx>Vw=-zr1w_LywQ)L!R+1ywKkoA=#ZFapo@O6W# z^ib(8m5E9If!{)4HyXxn1FQ01Whmu&&zymR8C$bhgX?Ytrc#@93JNqsYZA-b!}rls z$;Mdk`k|F?LPG@un)!vHf$f`U3Y;h3lD%PgrNcR=oKP)aY7N6?vF?CDvoiE^^y!)H zo(TPB!DhwIg)Sn5R)M%>Eudr4oWSI9=y zoYuT$QKHan2#KXgCP1_xY$~y|;?XGI!?T;^V5P#S7ePnTf`;n z%Y@xJG-iG#!vj66-Ng1OCucL8U>(+5t#y!?`gL$dnXS9Y_C?Iq4xtUz$*E-T zxR4?T66u|*28AlS%?E^Dit`R8Z0|h4=T@7-hbF%dzPqHCsNjD2>aFa*Zqo*1vQuAU z<_>x{F{_#yE|v3p!Y*9;23jSaKGYBbw!6EcyGg_Q3+(H294}XwHmT zw^a7z>8OGZ8qBJXDRm7oQOQssrOa}$s$ihs#jlPA3hP1AT8MI52tHv}iT5{oiwx$D zrSw|k#=*c6LBya{iW%cG9LU0pCxn=(N^W{~H(+x*p5y@_9^1c7=KhjTJ;%W)sa@?f zl`DtkW_RR<0;aNR$X8ifW~gWCp@D<||Fi%QMw)t&Veynx!%uWqR}|z5L~gs^V$;*C zzfAgUA>BCqg)tb~^{6C3I{7;dA*IN@HxSHaJLPV@+_8xgd^B-eLkzQ*K7y9fXqNm` zHUpkw=5S7V5@_@lgqY>&-8}MKkNoIrx6V|MTn;aDBVSkdN}fQ4J-Cb=V{jT-aut5zQ+qPoxirgFX$OVY z=K9lk4F$su9D<^ql75bnn_;1TXR&m~8;Fjae!OHI5z8UR8?`-R zaq&v|2G_n;4B>L@joBH_3zSH2^M4bQD6kr^?Rm~SfdoQQ{Vb!n5lM`i%IXS?L)F8V zEWY<0>WJ94tW!yFdSqSM5}~8Muvze>700^`c#R(UuD-D>>uC&cb4Lt{#hV86UH6NC zQPkEjB7OOdlSIT2f>ajNVUvCB_6uF5TPQk%O#+Jrs^lVcOYAb41`+iXLuV7t#3k!5 zdYim2QJ=>Na2z8vM**3T3XswinzUq0i#+!!GOS0dFTcyIL z@Ym-B8c(Jta@3Yk7xzHtxYuufpAPE$4w)Lefn$QCGYJgjkRV&e(wfHBzMASyCN5Ev z@@%OMV(Yz5x(kJ3*wE$M{W`{4+}{J!6m*}W#ou}1T=BV0I135@t%6A)=7RQZYl2c%zH=jedP>DP1B2$t z+4KOBQXsRC67x&@*Vm>yzLO4vH{^X+u6<@xs+bG@bnY2Hz$-Xy8h6qO4i*L|q;4b4-hA&>S$oX2{r(@7Fn;Ye6B(>&tEngi~{D;7l@Ahv0 zpOm$7AGm2mp1Nnez++PlK_Uw@WkrlqHad{K40kjOTM7H7bp>V@Qa8g;u?8z_FI^p* zQL4FnC74}&nD<7vlG!x5phiCAMn{B6>~f6~Z?&n0qSnNUe7|tVqY~fPo7us}VKcD8 zS+))pBT4=l^N{J?`kjUvFGLyp?4hITUH!L?xw8_brY!H1Xy6D6zMTKXV+0Zkq_qa+ z`4-^Jr6o+Zq=1|$7x1JSiA$E6an$do=iRWSJ?Vhe)i%tHv%r2!zm_%q1*r!;F8+#JjOsQK(qcx|thMi`{}5 zsNv?Hl%X-(yVb9};fx7SO}AF0xxACvmvejZg5S;!B6sc~KipgOmz+;@6E?+W_xJMa z3!#I66``9aR|ToFzCjd|P156<<_cY`6~8MZ(j7Q8UVC^Nzuz{B50HpfsL)@Y$`vsk z@#%q7aA$R>@Z{(OD@f!^^gftILeJzT-qA^$mszcZE^{-Ch1;fzm5Pr>QFwXzlPB`9 zme2uf0{7NfjDt`SbL+remJTEjk|IvZqi(jNX*3LAXj7PV>(>fg`5Jh|%6FEs9S*6d zv<1@@)*n=3fjr>IudOJA=7C+sCcehrM6=gca(wwaFQ{^Wt6M@mRFNnoY{n zm-PZ%)rEmh(LT4P?DWd-|)p9!B-Zlr>fCCX~C99kavOA-v4`F-<6@WQU> z8+F}XmxAD&$r06p_789U*q)kPenlv;xr$MRZi>fUN=?`$NGjf5{M?sN(V z56P46spPd@!hOHAS%pMVL)2X(k96_(ntu`kw>zNtXKikIQ(G-Cz=`Er8 zFd@@h^BTk9@6&Qi6d@O&iPGsq@Ned1PH+7I+mCvNR&MgoDA}s!HN(GUXDePs&sa{c zuz+F1xh$epH5vILpA1kB#Jng2l2&Z?rTXA#Q1onm8{)N(&%L_o%9=~5V-|bg+Lw(+ z^|6ji>K{^|#dkR^hPrYUA%{K!wFt;(2MzPV`sKo4m=ua-XTE(ohl#8H@ZbQ>7dEy( z$=cV(aO_Bx19zw6o5vWr<>_jOLO>v5?x{gFa>F*atN4~HCLsLAHp;0|6fHK;7&n(; zdG8d9l}1`(TaOTe6X{gJMHACD!T@d=?pG%>eX(HqRHFD*vR{nGn3J9ROjFpmfzQ)0 z+lgrFpC16HD59)x(^#XP@p_R`1=f0uzNjuR(j$EcuW;EkFDQ7e(E7u}h#1hhn^OH3 zt64Z+^i?yQw4b)!S_AaQh%42gN`mB4W06f zI%nP7+gw;ED zqGD>kNONW@s);8h^SNG?zE#d?{bw(!Ca~qTo2uzrk#zJH?N`yi9@S^w#VH!JkWHbP zR$so|uJ0;-r3u6;1f6q*uVEvnM4x$c}3dMzB5ab9_KWo)4_^Bel5)^#aCh zn`M-F^OMwSINF{L_Zhv0N4ZyHgI0fbde&s>SoS!V{tjKkit}2qx3gOgS--hWl)tLw zyj8=wz6+_j<2;q>f>pRp{>fTTZGO1q6Wc}yM0bB4|W|n)-LnHrncf{o)>BDyT>bIl>(i0k@cxPhcMt zJonMLUJd`?C3@3OGFt?n>XwWsVkZf4&7NOw9^OPp-J}=84fCUvG5tXu?1A*gB<~jO znabY{ZnqicMMHvu+dK)c#yy9JzB^x}S?JX^PK~RqdNhc+Xq9I49~===SJD{cEi!rv z>?v6{KvbI6e<7Js?{rk9-w&^0Gw^FRU$Z>UfY}kn$U=)osZ^vL!bN-+aSwSqE+oeC zFvz?SDNeLvSDP0rfPWj-BrGdw-^oKyx_>Zk5}9=y1sS2= z;QHkSKvt>EkM?RhR|fAQFl!6$0WA6MffA60_WCw>W24R3P`4r0aR=$J&y`JX+3+$n zNjJO0LVgcKHV0Gpvu6eCEx62UPp7dQJUVF4q$l6d%xh^(%zBZZeg9M z19X!oWMyY{>PQXEfNnDxY0}Zbwrydd5_&@`34sEU9q8(>@>YSXU{!q%v0ZN`L*T9?kA^wzVRI zJ@#SZ2Ks9DX1g9w>=de^e@E*|m->`%?-`uYg_=oqX6}Ue5_BL9RHlbEKzU|{MboVKD z$5y)=^FWSxwEJ$~a)52+X#M`2cJqQkp-LOD@?ga;4nk%kR$Kn-?}ox=wUX=axv54p z5#x;|=$K^>T`TKrcGlbiH3er2N&;JG3iG^9^}tc4>L8(HNJ|` z$f4~$YF+$9P0MRn$IC9(g18!^n~m>fpqk&!eTQuM42DB`>$Y8L76Vb8Z{k@ZDDMK9 z;62lG60n``vgn!@?_M3(0z7#iN^42M9K58^br=^;Z+UdU2)8*0MCK@Qs_gCWbm3ri z@y^#Df)43Bqr_365D-u7e2}tlrdLAXPY}taT8BpfY`YnQn(0 zwFZ)Q*eCNJ6E~UzD!wXB++GBO2a(|FFIz5QDXomfR#zh0TUpkp*qsbCN}+QSaZVah z3QK*^7Pr>szQy53v_ta_6S-<<-VCYf`*Z?;IYUI_5L-fcSX@*^1ZQQaMVe}eN0xT> zn|IJi*U0|3t7|lyEuv8!fSv5z-z`Y5+4puaiRbOKEu`$ke|p;69f;P0)l279B2wEv zULP!|4BBoWX_&IL@_z1Zx2U-U_D6#14GdndgPC*VHcAPQdd98-Ix8^&YtHiYZVW5(P%OZ5o6KlMAeCr)%UfIYnq64}37BPdsMZG?os$S&@}8Jm z4wUdDlY;kbgT?&{0Era;MZww11|P^C?GGy(v~S3K`&mT``gCCglts)?-SPGiyfesc zl33yqOOnF)@#;dza0gvV%99v}a1#|Sf8^=HcFL5+g0u73?T)wL!#^9F zul8N>H&3As>(sdnmdRWS*n*!1@ulDC6JPmKFaHo|on1+3zw;n5(Y`>tO(BU@`1~At zC%+%0gqV8RZ6GCQE*)sD@N>cws(3BKEf85)yjs01u+>H^bmsISQALt^i|_zVuT~Y9 zGU_84oe)0LKE=)A*|8L}8u6)W)sG{6dBe4LWmvEfeHwIK*kBJTa9sjQ9Jvc z`Q{=NzK~vsQh}@C4q}^ZKF1TnB!9RwwUS(aNS+6_{%YVo zN`|}U9BtY%u^oK4tu$!R=)b#WU5UkFH;Skvt9nel=aTx$>hl^m$q*%pQZk-fq+niB zL!lOpF2usc?~1ifYOZ}Rm%`{=dECwd0YR*5q6t^HhWRFP+!ByIFxy8kDPB2{f&lBbvD?=z*~AUtZ7HHnhDN+`*R%9dI{M|@e61H8 zrnI}^`B$}#cye^_=58fL+m;>ZT!B}b!_<58FM{ZpLyAJYRpaBzECFJNgl!qre_TvJ6nV7tSH!P0Rp2;RWNkRq6bA^MhoE zB=kvRr{@mrr}Nh;X&AXoLvy%;Bm)=@#}4 zmF;K~VC>Fhq&g$*v)F{-FaAlh>2U6uxQS$CW5H1uqvrJ&Xu0=j=687-L5AE)UZw3# zhQasPwRN+u(<;BW5@=H2{p~fuZkaW_)3W4{hejlg?+&ddZdforYpNqUlUinR%f&lG zht}g$#)~yfF~LST;v=0PeW9C)TQ1ZWZeM9#Rx4W{#R;qr(Y_W%>BeR=m+q}$D-C+3ZTaHFikS9sO2MD--@ zpw*IXG)a+~Ja>9M$WkF{-q~PCaF?VZKVY4{yTZtWG8AQllfkWN*r&^?3d6yCmOG2- z2mJecwhHi6fcmPWKEg^%Ddq=j@e_=PD@SG)*ctqmY{1T)0Ltb-JQoX9TSD^Ij3+1B z(bu2seGmQpO9a&NDKYnsj$}%+&HWSyWA!$vIwBC6>1H5vp%D4X&TVb(eXeNXY@RTo zXeIh-Q59u!F`H7bA^}kdYtz??0jH$oi$F)T{~ClST_ThzURO7JYWkK&Jtvk>zr=t@ zat7rsZo5G4u-7?Xg>H(rw2q-Ub3hVk(Rm@hSr-ch(~CNGVg@y`_AU8U5o()UxS&&{_{aCP8d(!(Of`b`{P9TBg zEJU`N^%vw%;X_WW5m)S3cysp?$7S<{dSC8sNC_|!TLM-zJhDNDl$D+2vDzw8Q`Unu z?Sm%=wLlfG;8CT^c$Xhw8g@u7!5r94v`Z+H;!djs_JTZRqc7^PzV5fm%F?hxfOBpk zYb;8b)jHPih7n{K;2_4$8u#S=S2lH+uXph=H}Nd5Tkn0+ct=@RMHXMRJJhK(G&@_^ zN|`19AeDo_n~a`Q-$_i>58HZLesmx3tVv!Kf6as5dFvFb5t*>*K|{IE%O98jyuDvG zpm`{_R(MNYVC)m2<>TQDS*-#y@ZGn5E8z8LJV4~DGu|2rS@yoyH`B?W5N%F&ZSS?v zcuA&l3-4ALDDZ^Rf7MKlf&F~))h%wj2OOIJ zs33^%)C{J#$wr4Y2CL+f$S5*t(7AnqoxN?K66?`vyZmllDkQmjbLhK!z6Wz@Z*keu zKpu(A^kg?VJ_OIui6aOuH+t5rZHpYnD_ZT(H3@|fo5Lq43j5|^atBMo2iF5udsJg* zfx=6n`@itR+(7+-m+v;w=NC!mTtVBNCU=jSryK z{$X{M)5>ZnuU}ErCA4gY;CC?FF`eUHeMr*R8f`tiO_&bWqQ{7*EN{@~%K?H^8=RR3Bf4HbZ{|>OuVz-aF?*Ae`g!t>;aw~`y*q36=ZHo9L5`gTZ+>!A zAHW3|C-tMi^!5C%Rkp_h06GX}(-}g|agN6Eofr$!*Lq88d z#a$o$nl)i72VkvVaDXs&;0<)%5%~jfq|!j@aIaVC)MG95WTQR%=y$vPx^FIHzA`oL zKW(pn7L!YVoVB~Ux3Ow7un3a+3G>aU*9zb0@eM34IQS_#(q5xzw^lsLW@f>M+ zC0lNZzkp~|Ih-GKH|skf+h17V;EMK%H|fv^(?w2^w^lqL`|`J)OR2fK9g{~mH^;^u zO`>REj|R|O;gr5PhS*KUboujRI}_Y=hiN-Q!F$?A1)n4KzxsEUQX0I~-2`mz3^=T# z0*7vS^6evj5s2=~QUn4p(u+*0!Ce)1Ms0h_GlSR{O2%=E`ae`g=3MVgALick4=^Hq z^cJ!7ioN4?TY1MJAxxNFfp?)ayfpJqeZdAuo+rZ5oYp1FiN22-N|rf&jiIlYc_I%e z;tF_U5{6|!RFv=xbeW3vi8A{mZ_z$zXtr_w2d81vQE?=pn}D`JOP<>J4)+~_#M%(3VS^pcmISr!m<(+POf#6r?-}7-N!b1Dn-ffx?d1IMJe8?itpo-*XDc(D2mOT5Y%ioQ zdCxvWELr%AUFx^qBIU(qp_bpCAUwBbXyA~z?aq)V;$LSDG6!I1J|#vxj2iIYK|&hy zpDyaYon`c0S)Q`N{jmHqCvqzQ<}mGiWCt-he($$(t?J>RmzGKR}3Hm zSvn+y&^u%W0RaIi0U-no5rKq2Xh|R>`5tuN_j~_>Z@wS6XPz16nPG-G+~?fSxvuLz z*L_81EzD^iZpmdhveS*MF(_b>)2-T#tn+88%8=ZdyK&TaB$5f2 z-k&3`w-<(7zQt8WZFW!@gyuA@ElgkK`$tj~VBQu5=Fb`eK<}Otz*V{Ni?rW9dC6;; zp$~b-W$C25^OPP>y&=A!xsT?%pUJNFlO-PWQ(eCoLVrJ!a6UokT^x{@wHGGQZMXv) z+|VEVY!1nvy!FS~!ZanylQW+CPf-Sdi;WISOS*w(kslMh zLm4VLGq}~@BOmGkp{_nbVPP?jiFPiGwuoSWn5z2jqK{w1>|Y*b6os1~@$}%= z65saq0|FHmUUwsh#af~PQQ2a3d<#nm1XElO~0 zKXZhHEw<1aCzx8pyGDjZ`idq{TH!+6ZBIF;(Ay825)|!44t;m`B&>To%b;wy>FB?{dPY z#k%vS{{B#OXxD|F-zo+Z?Phk~XRb^hun^5FsE`=;4!$eL>)DY|F#Ez*S6`yA9Dk}( zMJL*gPCR;W@JM@OMk)my4)@lWr&0q(4GtAbS2ckm;`0^aM%8Gp(vM^~8R<1^oKS*Q zPj2$SS)O8>k$s0%{#CX4@@mXf#C$R))9UltUw9zq=>uVou4C_>^9QGMm?_2zpY3#} zKQQi$OSTqC>zza|fiuGCX^SqdZ_y?b9-aBQME<@ybjb_R2fd%niC;f|>30jWZ?%}Y zDsX3lg^L(}2NNG^*y=ztFiXK4rMQubO;trG54GB;TK8o}2M7p4`_GQrjkcenSV@2( zQ!7D0CrDNUKv2roY=ys@R(b-Emk~nVBzPjsQEIF0W6?>t7YU+Y@cnR`u<_Oot84d> zm>w!_lj0D*|!|u*5UkiFB9RuI^az`zpxW&TnLpQGvck?uPtuHF+leuJb zSBq_#V?5-5d)q@tb3DY62=Zz>`6Yy_xi2~|i{M7KDJn)M`1~TR*y@(!TGCkEqRZ)h zI$-P$FO(Q4YBq&Fj72k(=WF`R{p1Y+XE{4c??t{EM3&u5V~2RjfIMPKeR zcli0;sgNKf%NiHU>#6U0wec&RZziw5Y^c^d_R?T*Gmk9))G)#Tk~_FtlHBfs@tqu2 ziP9&!?=I0$Nn+a1tH+&TM@VL2oi|z^UBF3mjcVc>+(=Jlf+6z{W$gIMV@h(fNMJ&D zpy67Ie`zT(xf8i^$5zmJ^Ke3y(QR9mTFKE6odPCK(*6v%f9z6(=nBW1;K@Mj^MlE6u=xAS{Rsvc)0T2P# z4qV&|i`t^EIAb}6i7g-`>)93o<2<^y76PE)H{k2b(>FSPW*O8eQgNh=05Mp6bwDJ+ z?p=ZTJ*?W3BHHs9;kjql5y$WUx`|FW|5#vu4kKrQI&NE%1C79n-N{2|jh)Clr=_}? z5nv7SYs=-0rFI$F@F(#iws}{r&$SPMXYMz)+1QVq)*g9w%5Bi5X<>q3nSb^6hU=Wo zf+uXv;p@Ok_|z|yPZWgE_Mq$X(E)S$K$IK05yCvTkI=JlCjqhP|88NBmoe^V`GM{a zabZsFBg0^2MU6e>$A@pVdLBXd4ObpAJvvd3pWCmH&Lw-)H+h^MI(6;pAUkOhsSa!} zkRITFYr}5q07ntIx&lA=`dmSW7%-+mX=`HKlgEJVXVez8N9A)S`;r00fP&z%sX|&OYa!KMAQZg$$tfGS=5gatfF#KxQ zl1D&ytTlS1bHA-3#My)i?%r?T5&0lr(Xq|GM~)3`H?+%?6a%~p77H8 zgrcHe)aohULIgB2wO$;=Kh5kg;`Lm!9<%n1A=Zm0nYf1fPl=C1^sQsq0fKRfZcsJ#o79OvPo!&jySUq6=K zxDf5=?txmJASS-ve=fyC-3h9#yE0ONG)im&4O=6nnJLi?!@j8GK#JAlBibR9Wr3;W zLp!I_j9S!)uU4XhU@=#LS2OyY_kkVGI*y=$1jn`37s4w1oQRJkkjsk#NA7HZ;M?aD zKy&`%B#@b=(;)~>!{mX*W}bibCP0pEQ2~fGlJ!#?5ue8MRNT2wLnLzHZVdJv&T2+9 zU)C27hGs){%C}-}a3SBiSAa3C%Je-JmOJT*r|Z08Gs7DOSnCT7YiKCa3Ji3YG>Sr88SI2lG@D)5c=sWrm58l?tPUx%^yCCEX2QvBzQc%DawJ#Hpi}~Sp`+GEFO>8eJ;|@ z@0IlLS#UeDLSqRUO$`?`AEUs@4~MbZ{c(+Q!zTyGOynbUjZ zT~m~8NWEtXoMhGr!r**D^=-v~s8i{-xOvNCE@x6WS#gz3uH|s%0mCavZSj)OR|99q zs}mO8YQio(!IRL*(bc9Ghj-8TT#XFDE*ZmOsK)6LSKqm5&CKRp;omDqF06oKLlpaj z<2B z?+BA%gb{g;aQ?>HjrKhcJRM7yN$XfAs9IrET35{tuGiHHs3;5yG0DSMwQB+Ap{%T8 zqSt0))8TS#)S1}nm8{ZJxvvxOsRpI;Na>iQau!tGpL2?ei$LjLJ12@b%`l|BT~tf6i!?6M`ZiU>2H=D#s=mZetKc%ssZG?-Z9Z`gYB^)~OS92p&%?A9efMJhw=v9e_CkCR-z=)5 zvO!g>8jqQVzJ?f}rzInsdy$A3cEw`CXK3?GFG<)=8Ayam_NGDLl`KT&sjrppLKotR zGQhZ0190gpUq4UnR!L7zR8~6ZoH1M5>tN16@a2t>=VH7)mx}qrcJb6-AB3zeG*Ia> zeJv#Qi33YZId4O5sIh4nVFZ__%UfZQh3mRzYQSy$+V3OB;W&V=)Ic!oC-*NlahyIg zLwlI@C87ivu~$G~)Ki5e1VTW_xJb>nom8CGxr+K{^X}#RF8{SJmdBd0l^3L%y=BeP zZ70Qa;;rx+na`WsuT+K#Y2wgF$bsW`#{#6YyK0E*D5lpQLub5qDHe7~HSgY}*~i2@ z&>i=VLGbOSS0t+6$Ao_!@S1imo>DcV%%6{d-SVt#(S9LoKj%H4kM>7d^+`a+E-Vy% zvdB9OP1odCb!)6bmCmVs+|Z=&RC>(;dxBG62XmFs_R$Z{LQGa)bpGh8W(6ZfIkVO5=sDI=zgI!gHmSHz_ zq`?8>%$5aet9V$0I9O|M10X?treN063OxQoX&<3u$mnkKe`^6Ap=1fLW-;OhSop8a zDI&jywK+o6>EEI*Dc{>Gdj=rZq*B6u91pei_4TU{M3e}}n$tj6s>aer3n$#PhP>uH zKS;;t^*dGH5{^yp$W0{{RXSdoP|>hF+Fk=d-k_?l&?|)x!+~krhHpcvLR}&-t=Sv3 zgCZ73O)U;-L1f5z*K-}qiYGnQBVV;U=K{tE^|cM*Y#GF2hmgA#8rMX&q2`Zg{!e--KKyY5%tMENb%YZa-LF^+9%c#5_sGgD9jo&sMJ(e?LB^jb3scbt94kq*&{@w@fSit_IkTCJUB+0yJ|nRb#y z<+4i)jWm6(H{3!qn!?TUGS)wdK5Ag>#5>Z2^8*76Q>kfzhG9u57blizk z*93Q#u}O8`24pLup4W%YderK7#eBQ5GP-b^tcak)TW$@O3en3MIzB)l<8wCrXBWqii5 z-0`7P5?`UCzp-SRn0Q!NZIK9Z4SJ4b+kzJLoilv4x+ZG#_rXfB5*I z0ur3vkh#wp3OO7<=7m6XVQR9e-vq#|oROn?hq}_e3uXz!0S}$JS0+Q&BT^T^`m-e~ zftEG)VTkoWd4JaW%3T?lx~$npoimpSjwwuJ5b?cuiDHL^Sw})v>M6N*)%PT|>ah*&Q1@l)6sMDSpybN&jt?~D*Pu{<#w*JEa-_pt;k)S{Y zY!zz5SziY9cWGpJa3Qu=rBrU#U`9i+HO9c?(# z2JhHW+{L5z8Q9>o^!ark^o%dNCYA{}vk`~hOUG9@G?OtYZ*>B&Mp5RfSn(-jgN`qH zSN1>*U&KmYMM1Qb~Z~eGO+#U0ZaDwpK<- zIUzT^-~vDpvTg{DngOF^n>Ts_^7jCpaln6OY5~(^;y>bkOv?hGuG0U^=>iZOgDueh zpCz*;;Q43y{?{a(?O)iA()QK>@Zo>fc0O$9!*)Jw=K}yd|5*PyMK^`>V`W?K{yvUk zT$$f8)e?Df>z_fDz|X0>03F3O7_bmATgP)X$SVW76>^^(zx9gVw*MHTM zu`1Us^6JTT!En%LM_E8~aO!{AEaU(3i`ahsqj+w|@E;dH z4gdi7Z{56R4FDXw3jiEBdh{^wlNRjGue=|>h8W$lJ<40LNAEr1{eB?C+QbM@JtVmd z0Q?TPb?r~v$b#?FfAYV(EcmXb2}a6@?5&9{yQT3L;A7FN2M2g}{Ik}kw{?D81HPh8 z*#GyJ=Lh(HT>pOM?tgE%c3APp#}7X~JoMvQ@J!8*OTgKKB0sMGxcBatAJnR^3WJXD+Zwb^uI9nq2Ml{}?>4|NM{e`*IWT zUs(3~=O6gj{{TNl^g|MWpH}ok6c2wo+7D6u3>E*SxPFF;A4c&rRQ$}z|JN3NqKf}E zT7Lqs|AvR3*z|`e{`h|Z-^XvC75Fg=@X!7K-&xdy z!9ms6*Bc9*0?bxs-5{RSd}d^tEQ9gOn48464~Em`w>t+69H-;QVpiW|GJ~}08?gA!_j&iJy^h2>n2qXX=Q5M9>p%0 zh>FZ8fx>LQZQb9^r)u^*b4*)JQUSa4A`oHwm&ADPm3U?{jT8Zm7D4ar)wA|s zMMnUD%Q?y_DjWRO2LTV6xb5vIy~wrKTgcD z8!@7LGe9j$mXUqH^o^BKgFn=CRd=lP3rDqDZLWDYRl?^!2wtIx4_$wFAA2M?MdWPS z^wR3k^9#j!)#$oC+k}GAQ00=EJDx5#NP~NiK7}UF+UVa^S`Q) zP^K#b%35ir3lL)^(7RjB^zYk^Yu&5frlk; zkK+hW=j^+UBCxA220b2;pa`o&R6%B^x5U`mz~&4x4Ki8rJtW`TAx%O$F;IT4U~Z#n z{SKGtg53G?MX;#fSie+=lwuo~SPHbVf*)o38ej3O@ls2Fa~hZ@x}KL z&RymB%fP9j#a;QcsAfyW4Cyar);NuWImSYGe~lGfY6jcA+0{ifoxW&SUFe_M z@@3ZAu<^GIz!byA>QSXgFydQs3f-LJb@#ML>J{9W%;!vwLL5*eOi~Z8+GJl8p-mi# zR_r*u!Q~&Qubuh6ozde|PhTkrh(dB)KVw{C&b5j9?L6%(%sJHR|DOz>*05q^>V^={ z#p;0{rsR8jx8;?GY-ZZ+dwU&Hl5-J*j7*oSQC>7Gmde`Z?)vRw(41t}APo(D{GMkm z-oNoUi?1egb3MuQsRyv$5|a!#8H|pXva_?JQ?Ll0Ai6f_2i~db;QWr3r?*azxirQs z{qebYI^Hf$dJOj{;A(Dr8?&h>2rtfn^tPY>qJ-Plr4@LZs?t@xi|XJMcCtPlwrd4E`;;mBBASj^)!U>;_5=Xe0g@7O>; zBx*N~z47?S13GIiDt7Iza4vJ`EDA$DM`kUcIAUBHnB%v*K0#cS76Sk}j_g}NBr0z0 z{gHhE0GrP^qbBI<3j>i`6ktdE-p=o&gAY9-kiZ(#auI1AoCY!M4rTl=dn5Y@@EJrW zaisZWoD;ml_CHVjLC3sf-5-2JFwXPqD}77QNDfZ`Cx^JGmzRFZrrL8({gHRlTidr$ zp+ZC#R~{ZKR|C>_@vpE$yD_!;ElIXE`VVs>8X_M5ZWj?pH)9LVtS_XJh+AeQ(CUSz zl*YpwMX)44HjhoeNZw={{pXf^`eN8DX!woCj9 zc=+1|9u4&_W|Vf8?2J*(bwwbw*oI7QGdg;vz{ zgv$o+HM6!14LZFu0D!>pf4oyAmNE5!{_RudNPsUG490AbhyB!#0-C>ndGyL9y%Rnz zI~|W_&~~C^HZ&4xK4Mh+X>YiO$e7?w{r}i>qD0(N#B!Op8Wk??jsIqIyT?(?Y05Qd zu3IC{+hqL#^s;=Kc(uAsm3ZSMIM3OhTJPIzrpHfuHRx^PRPubn$WwRGT8dj8WSJXn zxuj^0ivTn`vo{UpwktD-m`>Ca5*SWSJM^V7OnTUsO3#2lj&qAhfH6a>)}jBccznv zVHkuR>ZFbaAQCJU0#LBfx^zAvY|?rU{f+1XinHIu!sKlxF;en$tI@ z=@mAr)mDcP%Nmj1SGpW}D@^gJ#U0Cfn7s*O@J7o0)G>-eA$AeS*UL{1ndKmDyQd3a zU9+C0h~*6#Wl7J{`&6wxZ9~=66mxb)bscVT0z)z((|gNvgSw`79l>NtE>#nn0%f3} z(!)h;?iv74puA76Ti_NJJY)B^CW7MQXJuk|5mzsUf#j-$9C(P2_!^o&Eh@)73R~{#0{Re&U<^-ks53{dEeYgnPo%p(bKT zk)4#O*m4D6z&%Uq?N{$9!QUZDmZ+O!NISS^O-hXQTi^#vXt1F{bPa_T!eCH!$4_GMmsDPsJLb@+ z7whgE@Q&{Zb(R~Z!J5(Iw9B8>bS}SgQGa{YnP`|CtiKUCA0Q$v?+8AcGKed_QcY*g zz9lXnL~&J3;h=^*fzXMKnO%E71qc4}z5%Uc1l4Ok?Xm2|68}xN&#QGeO zch&yR|DHd;8h*pOymTOZvrAICZJCv;V3j7YD)2}tIZy=S@U1<^$Z9}oxF;C<`F%PR>@e6nCA-JPA;zW#62v>hW@5|tRs1lzjYc~N|F-(EP|ghfK6*WQ$=X0qYW)Xz}{k* zJF*bxN(IsEsy5K*J?UDdON|bR%c;##4+*OU^{SxuPA0U2 zN{)q1M9@fTOpOj2;gWSnha+Y~COCF;O%a3;lC$2;M8Q5VRa`%4qM=Q@?*M?WA1n6r z&L`Gdj{pgQ>Y|`g6I2#Y9PXX2GNI0ZHIFdJ0c4&Hawqi3A7gUBTWzVTGuMI0h>;C@dHm^3X6!C#$u(=PRAC*d|eqgh;}Al?;%K>a7XJYr^T zN|;*5?*yD^7MLUK_P(q#cIAZWJ0{Ne#fTzUQ{>#BprRcO4h*_ALDz&blOeji*z0S% zkADB77rl9@Ylnj1Xa?;=UrU&QaMv#n4^p^_QK4TqC5>Aagm$8H_lhWbCmRXGcEo?e zBt2Tw7!g2M@$1RqqL=eTMe?%!rw`v{oCtAVhF==Ywr+MJtOgGG#*T$El3jCf9zh*r zeC4{EX%^+~j}}WY;fJy*iKwI$vsT43Ku}SCwr<2{l;hu!<-UrlD8JX4ha-S}l*7+b zG5XIRjEUpa$wA(AXQ@I_I6~8DY`4n8L5+uFzfZJ`0;`EyIz+!ZEyrO=E0I3&j8G>z zpT_A}g}x153Mp5?(MKKw3kp$ZgVUkwX#KyrTloQ`<@((AA|AIcc}RFa^+f09=F;n7 zdpy+x6Z-7{fwujIHU>%X8%h@XW})!8QsZW>@=hDI-ySo&=%U|~ziGn;1{vI z8Jyw$An<{mpttreP(XDn@mY9igCIG&{tr;&YrBPy)=qq>*&^tthH&h1Yd#Hdr)43ZkE}4ZfGyoTg@^*7zKcl2i^WYzvm5P3nnwt9L z$wzHW1P>^pz-WWbFMx+BHvDepQX!>pJXV>4domttOMcVQc0Li`osQ1N3kGlc#m8^D zIm>yuCd(%|8pidwXjj;3)R(-qJyY^&VQ${0sPrX#?u~PkW>;WESvLHjqwAudy|-

    =joW^z0P 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 z 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 AEC2ui literal 0 HcmV?d00001 diff --git a/test/golden/goldens/palette_holographic.png b/test/golden/goldens/palette_holographic.png new file mode 100644 index 0000000000000000000000000000000000000000..2e74193bfe188ae99d04b8fa5dd7afac7dd06f08 GIT binary patch literal 55515 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 i{H{9%B?^^C(awltr+~=IVuXF8d?{o9~p1Cpq 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 Wb#jcHuMmE4kJ(l0KdX&yKKvi_Q$!E| literal 0 HcmV?d00001 diff --git a/test/golden/palette_golden_test.dart b/test/golden/palette_golden_test.dart new file mode 100644 index 0000000..36516ae --- /dev/null +++ b/test/golden/palette_golden_test.dart @@ -0,0 +1,92 @@ +@Tags(['golden']) +library; + +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// One scene per palette the Flutter port adds on top of the React source's +/// four, plus the two derivation entry points ([BeamColors.fromSeed] and +/// [BeamColors.lerp]). +/// +/// Every scene uses the same frame the variant goldens do — rotate, dark +/// theme, clock frozen at 1.3s — so the only thing that varies between these +/// images is the palette, which is what they are here to pin. +/// +/// Regenerate with: +/// flutter test --update-goldens --tags golden +void main() { + Widget scene(Widget beam) => MaterialApp( + debugShowCheckedModeBanner: false, + theme: ThemeData(brightness: Brightness.dark), + home: ColoredBox( + // The demo backdrop of the source library. + color: const Color(0xFF070707), + child: Center(child: SizedBox(width: 350, height: 140, child: beam)), + ), + ); + + Widget mockSurface() => DecoratedBox( + decoration: BoxDecoration( + color: const Color(0xFF1D1D1D), + borderRadius: BorderRadius.circular(16), + border: Border.all(color: const Color(0x14FFFFFF)), + ), + ); + + Future capture( + WidgetTester tester, + String name, + BeamColors colors, + ) async { + await tester.pumpWidget( + scene( + BorderBeam.rotate( + colors: colors, + style: const BeamStyle(theme: BeamTheme.dark), + child: mockSurface(), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1300)); + await expectLater( + find.byType(MaterialApp), + matchesGoldenFile('goldens/palette_$name.png'), + ); + } + + for (final MapEntry(key: name, value: colors) in const { + 'aurora': BeamColors.aurora, + 'neon': BeamColors.neon, + 'candy': BeamColors.candy, + 'ember': BeamColors.ember, + 'ice': BeamColors.ice, + 'gold': BeamColors.gold, + 'holographic': BeamColors.holographic, + }.entries) { + testWidgets('rotate dark $name', (tester) async { + await capture(tester, name, colors); + }); + } + + // The brand blue of the package's own demo, spread by the default + // (analogous) harmony. + testWidgets('rotate dark fromSeed', (tester) async { + await capture( + tester, + 'from_seed', + const BeamColors.fromSeed(Color(0xFF18A8F0)), + ); + }); + + // Halfway between two source presets: neither end's colors, both ends' + // geometry (they share it). + testWidgets('rotate dark lerp ocean to sunset', (tester) async { + await capture( + tester, + 'lerp_ocean_sunset', + const BeamColors.lerp(BeamColors.ocean, BeamColors.sunset, 0.5), + ); + }); +} diff --git a/test/models/beam_colors_test.dart b/test/models/beam_colors_test.dart index 3a28a81..4c14ec4 100644 --- a/test/models/beam_colors_test.dart +++ b/test/models/beam_colors_test.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/constants/palettes.dart'; import 'package:flutter_border_beam/src/painting/beam_painter.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -13,6 +14,10 @@ const _blobB = BeamBlob( position: Offset(0.12, -0.05), size: Size(60, 35), ); +const _pink = Color(0xFFFF0080); +const _cyan = Color(0xFF00E5FF); +const _brand = Color(0xFF18A8F0); + const _lineBlob = LineBlob( color: Color(0xFFFF3264), sizeW: 120, @@ -215,6 +220,515 @@ void main() { }); }); + group('BeamColors.custom base', () { + test('base selects which tables supply geometry and alpha', () { + final overColorful = BeamColors.custom(const [_pink]).resolve(); + final overMono = BeamColors.custom(const [ + _pink, + ], base: BeamColors.mono).resolve(); + // mono's inner-glow table is half as opaque as colorful's, and that + // alpha structure is what `base` selects. + expect(overColorful.data.smallInner[0].color.a, closeTo(0.5, 1e-6)); + expect(overMono.data.smallInner[0].color.a, closeTo(0.25, 1e-6)); + // The hue still comes from the caller's list either way. + expect(overMono.data.smallInner[0].color.r, closeTo(_pink.r, 1e-6)); + expect(overMono.data.smallInner[0].color.g, closeTo(_pink.g, 1e-6)); + }); + + test('a mono base does not make the result mono', () { + final palette = BeamColors.custom(const [ + _pink, + ], base: BeamColors.mono).resolve(); + expect(palette.forcesStaticColors, isFalse); + expect(palette.opacityMultiplier, 1.0); + expect(palette.monoTreatment, isFalse); + }); + + test('base participates in equality', () { + expect( + BeamColors.custom(const [_pink]), + BeamColors.custom(const [_pink], base: BeamColors.colorful), + ); + expect( + BeamColors.custom(const [_pink]).hashCode, + BeamColors.custom(const [_pink], base: BeamColors.colorful).hashCode, + ); + expect( + BeamColors.custom(const [_pink]), + isNot(BeamColors.custom(const [_pink], base: BeamColors.mono)), + ); + expect( + BeamColors.custom(const [_pink], base: BeamColors.ocean), + BeamColors.custom(const [_pink], base: BeamColors.ocean), + ); + expect( + BeamColors.custom(const [_pink], base: BeamColors.ocean).hashCode, + BeamColors.custom(const [_pink], base: BeamColors.ocean).hashCode, + ); + }); + + test('a custom base nests', () { + final nested = BeamColors.custom(const [ + _cyan, + ], base: BeamColors.custom(const [_pink], base: BeamColors.mono)); + final palette = nested.resolve(); + // Alpha structure still comes from mono, two levels down. + expect(palette.data.smallInner[0].color.a, closeTo(0.25, 1e-6)); + // Colors come from the outermost list. + expect(palette.data.smallInner[0].color.b, closeTo(_cyan.b, 1e-6)); + }); + }); + + group('BeamColors.fromSeed', () { + const seeds = { + 'black': Color(0xFF000000), + 'white': Color(0xFFFFFFFF), + 'pure red': Color(0xFFFF0000), + 'brand blue': Color(0xFF18A8F0), + 'mid gray': Color(0xFF808080), + }; + + for (final MapEntry(key: name, value: seed) in seeds.entries) { + for (final harmony in BeamSeedHarmony.values) { + test('$name / ${harmony.name} gives 3-4 distinct in-band colors', () { + final palette = BeamColors.fromSeed(seed, harmony: harmony).resolve(); + // The 9-slot border table cycles the derived colors, so its + // distinct set is exactly the derived palette. + final derived = {for (final b in palette.data.border) b.color}; + expect(derived.length, inInclusiveRange(3, 4), reason: '$derived'); + for (final c in derived) { + final hsl = HSLColor.fromColor(c); + expect( + hsl.lightness, + inInclusiveRange(0.54, 0.71), + reason: '$c is outside the glow lightness band', + ); + // 0.55 floor, times monochrome's 0.7 lowest saturation step. + expect(hsl.saturation, greaterThanOrEqualTo(0.37), reason: '$c'); + expect(c.a, 1.0); + } + }); + } + } + + test('geometry comes from the colorful preset', () { + final palette = const BeamColors.fromSeed(_brand).resolve(); + for (final (i, blob) in palette.data.border.indexed) { + expect(blob.position, colorfulPreset.border[i].position); + expect(blob.size, colorfulPreset.border[i].size); + } + expect(palette.data.smallInner, hasLength(8)); + expect(palette.data.lineBloomDark, hasLength(5)); + // Preset alpha survives the substitution. + expect(palette.data.smallInner[0].color.a, closeTo(0.5, 1e-6)); + }); + + test('resolves without mono modifiers', () { + final palette = const BeamColors.fromSeed(_brand).resolve(); + expect(palette.forcesStaticColors, isFalse); + expect(palette.opacityMultiplier, 1.0); + expect(palette.monoTreatment, isFalse); + }); + + test('the default harmony is analogous', () { + expect( + const BeamColors.fromSeed(_brand), + const BeamColors.fromSeed(_brand, harmony: BeamSeedHarmony.analogous), + ); + }); + + test('equality covers seed and harmony', () { + expect( + BeamColors.fromSeed(const Color(0xFF18A8F0)), + BeamColors.fromSeed(const Color(0xFF18A8F0)), + ); + expect( + BeamColors.fromSeed(const Color(0xFF18A8F0)).hashCode, + BeamColors.fromSeed(const Color(0xFF18A8F0)).hashCode, + ); + expect( + const BeamColors.fromSeed(_brand), + isNot(const BeamColors.fromSeed(Color(0xFFF018A8))), + ); + expect( + const BeamColors.fromSeed(_brand), + isNot( + const BeamColors.fromSeed(_brand, harmony: BeamSeedHarmony.triadic), + ), + ); + expect( + const BeamColors.fromSeed(_brand), + isNot(BeamColors.custom(const [_brand])), + ); + }); + + test('different harmonies produce different palettes', () { + final tables = { + for (final h in BeamSeedHarmony.values) + h: BeamColors.fromSeed(_brand, harmony: h).resolve().data.border[1], + }; + expect(tables.values.map((b) => b.color).toSet(), hasLength(4)); + }); + + test('triadic spreads the seed hue by 120 degrees', () { + final palette = const BeamColors.fromSeed( + _brand, + harmony: BeamSeedHarmony.triadic, + ).resolve(); + final hues = [ + for (var i = 0; i < 3; i++) + HSLColor.fromColor(palette.data.border[i].color).hue, + ]; + expect((hues[1] - hues[0]) % 360, closeTo(120, 1)); + expect((hues[2] - hues[1]) % 360, closeTo(120, 1)); + }); + }); + + group('BeamColors.fromScheme', () { + test('uses primary, secondary and tertiary', () { + const scheme = ColorScheme.dark( + primary: Color(0xFFFF0000), + secondary: Color(0xFF00FF00), + tertiary: Color(0xFF0000FF), + ); + expect( + BeamColors.fromScheme(scheme), + BeamColors.custom(const [ + Color(0xFFFF0000), + Color(0xFF00FF00), + Color(0xFF0000FF), + ]), + ); + }); + + test('drops near-duplicate roles', () { + const scheme = ColorScheme.dark( + primary: Color(0xFFFF0000), + secondary: Color(0xFFFF0102), + tertiary: Color(0xFF0000FF), + ); + expect( + BeamColors.fromScheme(scheme), + BeamColors.custom(const [Color(0xFFFF0000), Color(0xFF0000FF)]), + ); + }); + + test('an all-identical scheme collapses to one color', () { + const scheme = ColorScheme.dark( + primary: _pink, + secondary: _pink, + tertiary: _pink, + ); + expect(BeamColors.fromScheme(scheme), BeamColors.custom(const [_pink])); + expect(BeamColors.fromScheme(scheme).resolve().data.border, hasLength(9)); + }); + + test('value-equal on the three roles only', () { + const a = ColorScheme.dark( + primary: Color(0xFFFF0000), + secondary: Color(0xFF00FF00), + tertiary: Color(0xFF0000FF), + surface: Color(0xFF111111), + ); + const b = ColorScheme.dark( + primary: Color(0xFFFF0000), + secondary: Color(0xFF00FF00), + tertiary: Color(0xFF0000FF), + surface: Color(0xFF222222), + ); + expect(BeamColors.fromScheme(a), BeamColors.fromScheme(b)); + expect( + BeamColors.fromScheme(a).hashCode, + BeamColors.fromScheme(b).hashCode, + ); + expect( + BeamColors.fromScheme(a), + isNot( + BeamColors.fromScheme( + const ColorScheme.dark( + primary: Color(0xFF00FF00), + secondary: Color(0xFFFF0000), + tertiary: Color(0xFF0000FF), + ), + ), + ), + ); + }); + + test('geometry comes from the colorful preset', () { + const scheme = ColorScheme.dark( + primary: Color(0xFFFF0000), + secondary: Color(0xFF00FF00), + tertiary: Color(0xFF0000FF), + ); + final palette = BeamColors.fromScheme(scheme).resolve(); + for (final (i, blob) in palette.data.border.indexed) { + expect(blob.position, colorfulPreset.border[i].position); + expect(blob.size, colorfulPreset.border[i].size); + } + }); + }); + + group('BeamColors.lerp', () { + const ocean = BeamColors.ocean; + const sunset = BeamColors.sunset; + + test('t = 0 reproduces the tables of a', () { + expect( + const BeamColors.lerp(ocean, sunset, 0).resolve().data, + ocean.resolve().data, + ); + }); + + test('t = 1 reproduces the tables of b', () { + expect( + const BeamColors.lerp(ocean, sunset, 1).resolve().data, + sunset.resolve().data, + ); + }); + + test('the midpoint is the per-entry Color.lerp of both ends', () { + final a = ocean.resolve().data; + final b = sunset.resolve().data; + final mid = const BeamColors.lerp(ocean, sunset, 0.5).resolve().data; + for (final (i, blob) in mid.border.indexed) { + expect( + blob.color, + Color.lerp(a.border[i].color, b.border[i].color, .5), + ); + expect(blob.position, a.border[i].position); + expect(blob.size, a.border[i].size); + } + for (final (i, blob) in mid.lineInner.indexed) { + expect( + blob.color, + Color.lerp(a.lineInner[i].color, b.lineInner[i].color, .5), + ); + expect(blob.sizeW, a.lineInner[i].sizeW); + expect(blob.offsetX, a.lineInner[i].offsetX); + } + expect( + mid.spike.primary, + Color.lerp(a.spike.primary, b.spike.primary, .5), + ); + expect( + mid.spikeLt.secondary, + Color.lerp(a.spikeLt.secondary, b.spikeLt.secondary, .5), + ); + expect( + mid.lineBloomDark[2].color2, + Color.lerp(a.lineBloomDark[2].color2, b.lineBloomDark[2].color2, .5), + ); + expect(mid.smallInner, hasLength(8)); + }); + + test('the mono modifiers come from the nearer end', () { + final nearMono = const BeamColors.lerp( + BeamColors.mono, + ocean, + 0.2, + ).resolve(); + expect(nearMono.forcesStaticColors, isTrue); + expect(nearMono.monoTreatment, isTrue); + expect(nearMono.opacityMultiplier, closeTo(0.6, 1e-9)); + + final nearOcean = const BeamColors.lerp( + BeamColors.mono, + ocean, + 0.8, + ).resolve(); + expect(nearOcean.forcesStaticColors, isFalse); + expect(nearOcean.monoTreatment, isFalse); + expect(nearOcean.opacityMultiplier, closeTo(0.9, 1e-9)); + }); + + test('a shorter b table cycles', () { + const spec = BeamColors.spec(border: [_blobA]); + final lerped = const BeamColors.lerp(ocean, spec, 1).resolve().data; + expect(lerped.border, hasLength(9)); + expect(lerped.border.map((b) => b.color).toSet(), hasLength(1)); + // Geometry still comes from a. + expect(lerped.border[4].size, ocean.resolve().data.border[4].size); + }); + + test('equality covers both ends and t', () { + expect( + const BeamColors.lerp(ocean, sunset, 0.25), + const BeamColors.lerp(ocean, sunset, 0.25), + ); + expect( + const BeamColors.lerp(ocean, sunset, 0.25).hashCode, + const BeamColors.lerp(ocean, sunset, 0.25).hashCode, + ); + expect( + const BeamColors.lerp(ocean, sunset, 0.25), + isNot(const BeamColors.lerp(ocean, sunset, 0.75)), + ); + expect( + const BeamColors.lerp(ocean, sunset, 0.25), + isNot(const BeamColors.lerp(sunset, ocean, 0.25)), + ); + expect(const BeamColors.lerp(ocean, sunset, 0), isNot(ocean)); + }); + + test('extrapolates past 1', () { + final past = const BeamColors.lerp(ocean, sunset, 2).resolve().data; + final a = ocean.resolve().data; + final b = sunset.resolve().data; + expect( + past.border[0].color, + Color.lerp(a.border[0].color, b.border[0].color, 2), + ); + }); + }); + + group('BeamColors.scaleAlpha', () { + test('multiplies every table entry alpha and keeps the hue', () { + final base = BeamColors.colorful.resolve().data; + final dim = BeamColors.colorful.scaleAlpha(0.5).resolve().data; + for (final (i, blob) in dim.smallInner.indexed) { + expect(blob.color.a, closeTo(base.smallInner[i].color.a * 0.5, 1e-6)); + expect(blob.color.r, closeTo(base.smallInner[i].color.r, 1e-6)); + expect(blob.position, base.smallInner[i].position); + expect(blob.size, base.smallInner[i].size); + } + expect(dim.border.first.color.a, closeTo(0.5, 1e-6)); + expect(dim.spike.primary.a, closeTo(base.spike.primary.a * 0.5, 1e-6)); + expect( + dim.lineBloomDark[0].color2.a, + closeTo(base.lineBloomDark[0].color2.a * 0.5, 1e-6), + ); + expect(dim.lineInner[3].sizeW, base.lineInner[3].sizeW); + }); + + test('clamps the product at 1', () { + final bright = BeamColors.colorful.scaleAlpha(4).resolve().data; + for (final blob in [...bright.border, ...bright.smallInner]) { + expect(blob.color.a, lessThanOrEqualTo(1.0)); + } + // colorful's smallInner[0] is 0.5 -> 2.0 before the clamp. + expect(bright.smallInner[0].color.a, 1.0); + expect(bright.border.first.color.a, 1.0); + }); + + test('a zero factor makes every entry transparent', () { + final gone = BeamColors.colorful.scaleAlpha(0).resolve().data; + for (final blob in gone.border) { + expect(blob.color.a, 0.0); + } + expect(gone.spike.primary.a, 0.0); + expect(gone.lineBloomLight[4].color1.a, 0.0); + }); + + test('keeps the source palette modifiers', () { + final dim = BeamColors.mono.scaleAlpha(0.5).resolve(); + expect(dim.forcesStaticColors, isTrue); + expect(dim.opacityMultiplier, 0.5); + expect(dim.monoTreatment, isTrue); + expect( + BeamColors.gold.scaleAlpha(0.5).resolve().forcesStaticColors, + isTrue, + ); + }); + + test('equality covers the source and the factor', () { + expect( + BeamColors.ocean.scaleAlpha(0.5), + BeamColors.ocean.scaleAlpha(0.5), + ); + expect( + BeamColors.ocean.scaleAlpha(0.5).hashCode, + BeamColors.ocean.scaleAlpha(0.5).hashCode, + ); + expect( + BeamColors.ocean.scaleAlpha(0.5), + isNot(BeamColors.ocean.scaleAlpha(0.6)), + ); + expect( + BeamColors.ocean.scaleAlpha(0.5), + isNot(BeamColors.sunset.scaleAlpha(0.5)), + ); + expect(BeamColors.ocean.scaleAlpha(1), isNot(BeamColors.ocean)); + }); + + test('stacks', () { + final twice = BeamColors.colorful.scaleAlpha(0.5).scaleAlpha(0.5); + expect(twice.resolve().data.border.first.color.a, closeTo(0.25, 1e-6)); + }); + + test('rejects a negative factor', () { + expect( + () => BeamColors.colorful.scaleAlpha(-1).resolve(), + throwsA(isA()), + ); + }); + }); + + group('Flutter-only presets', () { + test('gold pins the hue but keeps full layer opacity', () { + final gold = BeamColors.gold.resolve(); + expect(gold.forcesStaticColors, isTrue); + expect(gold.opacityMultiplier, 1.0); + expect(gold.monoTreatment, isFalse); + }); + + test('every other new preset animates its hue', () { + for (final colors in const [ + BeamColors.aurora, + BeamColors.neon, + BeamColors.candy, + BeamColors.ember, + BeamColors.ice, + BeamColors.holographic, + ]) { + final palette = colors.resolve(); + expect(palette.forcesStaticColors, isFalse, reason: '$colors'); + expect(palette.opacityMultiplier, 1.0, reason: '$colors'); + expect(palette.monoTreatment, isFalse, reason: '$colors'); + } + }); + + test('the new presets are all distinct from each other', () { + const all = [ + BeamColors.aurora, + BeamColors.neon, + BeamColors.candy, + BeamColors.ember, + BeamColors.ice, + BeamColors.gold, + BeamColors.holographic, + BeamColors.colorful, + BeamColors.mono, + BeamColors.ocean, + BeamColors.sunset, + ]; + expect(all.toSet(), hasLength(all.length)); + expect( + all.map((c) => c.resolve().data.border[0].color).toSet(), + hasLength(all.length), + ); + }); + }); + + group('BeamBlob.size semantics', () { + test('a spec blob keeps the radii it was given', () { + // `size` is the ellipse RADII, not its diameters: painters pass + // `size.width`/`size.height` straight through as radiusX/radiusY, so a + // 70x40 blob spans 140x80 logical pixels. Nothing in the resolve path + // may halve or double it. + const blob = BeamBlob( + color: Color(0xFFFF0080), + position: Offset(0.33, -0.074), + size: Size(70, 40), + ); + final palette = const BeamColors.spec(border: [blob]).resolve(); + expect(palette.data.border.single.size, const Size(70, 40)); + expect(palette.data.border.single.position, const Offset(0.33, -0.074)); + // The derived tables keep the source library's radii too. + expect(palette.data.border.single.size, colorfulPreset.border[0].size); + }); + }); + testWidgets('equal custom colors do not re-resolve the config', ( tester, ) async { diff --git a/test/models/beam_palette_test.dart b/test/models/beam_palette_test.dart new file mode 100644 index 0000000..26e0273 --- /dev/null +++ b/test/models/beam_palette_test.dart @@ -0,0 +1,282 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/src/constants/palettes.dart'; +import 'package:flutter_border_beam/src/models/beam_blob.dart'; +import 'package:flutter_border_beam/src/models/beam_colors.dart'; +import 'package:flutter_border_beam/src/models/beam_palette.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// Builds a palette that differs from [colorfulPreset] only in the field the +/// caller replaces, so each equality test isolates one table. +BeamPresetData _presetWith({ + List? border, + SpikeColors? spike, + SpikeColors? spikeLt, + List? smallBorder, + List? smallInner, + List? lineDark, + List? lineLight, + List? lineInner, + List? lineBloomDark, + List? lineBloomLight, +}) => BeamPresetData( + border: border ?? colorfulPreset.border, + spike: spike ?? colorfulPreset.spike, + spikeLt: spikeLt ?? colorfulPreset.spikeLt, + smallBorder: smallBorder ?? colorfulPreset.smallBorder, + smallInner: smallInner ?? colorfulPreset.smallInner, + lineDark: lineDark ?? colorfulPreset.lineDark, + lineLight: lineLight ?? colorfulPreset.lineLight, + lineInner: lineInner ?? colorfulPreset.lineInner, + lineBloomDark: lineBloomDark ?? colorfulPreset.lineBloomDark, + lineBloomLight: lineBloomLight ?? colorfulPreset.lineBloomLight, +); + +/// A copy of a blob list with one entry recolored — enough to break equality. +List _recolored(List source) => [ + source.first.withColor(const Color(0xFF010203)), + ...source.skip(1), +]; + +void main() { + group('BeamPresetData equality', () { + test('a field-by-field copy of a preset is ==', () { + final copy = _presetWith(); + expect(copy, colorfulPreset); + expect(copy.hashCode, colorfulPreset.hashCode); + }); + + test('a rebuilt table with equal values is ==', () { + // A fresh list of fresh blobs: nothing here is identical to the preset. + final rebuilt = _presetWith( + border: [for (final b in colorfulPreset.border) b.withColor(b.color)], + ); + expect(identical(rebuilt.border, colorfulPreset.border), isFalse); + expect(rebuilt, colorfulPreset); + expect(rebuilt.hashCode, colorfulPreset.hashCode); + }); + + test('every table participates', () { + final variants = { + 'border': _presetWith(border: _recolored(colorfulPreset.border)), + 'spike': _presetWith( + spike: const SpikeColors( + primary: Color(0xFF010203), + secondary: Color(0xFF040506), + ), + ), + 'spikeLt': _presetWith( + spikeLt: const SpikeColors( + primary: Color(0xFF010203), + secondary: Color(0xFF040506), + ), + ), + 'smallBorder': _presetWith( + smallBorder: _recolored(colorfulPreset.smallBorder), + ), + 'smallInner': _presetWith( + smallInner: _recolored(colorfulPreset.smallInner), + ), + 'lineDark': _presetWith( + lineDark: [ + colorfulPreset.lineDark.first.withColor(const Color(0xFF010203)), + ...colorfulPreset.lineDark.skip(1), + ], + ), + 'lineLight': _presetWith( + lineLight: [ + colorfulPreset.lineLight.first.withColor(const Color(0xFF010203)), + ...colorfulPreset.lineLight.skip(1), + ], + ), + 'lineInner': _presetWith( + lineInner: [ + colorfulPreset.lineInner.first.withColor(const Color(0xFF010203)), + ...colorfulPreset.lineInner.skip(1), + ], + ), + 'lineBloomDark': _presetWith( + lineBloomDark: [ + const SpikePair(Color(0xFF010203), Color(0xFF040506)), + ...colorfulPreset.lineBloomDark.skip(1), + ], + ), + 'lineBloomLight': _presetWith( + lineBloomLight: [ + const SpikePair(Color(0xFF010203), Color(0xFF040506)), + ...colorfulPreset.lineBloomLight.skip(1), + ], + ), + }; + for (final MapEntry(key: field, value: data) in variants.entries) { + expect(data, isNot(colorfulPreset), reason: '$field ignored by =='); + } + // Each variant differs from every other, not just from the preset. + expect(variants.values.toSet(), hasLength(variants.length)); + }); + + test('a table of different length is not equal', () { + expect( + _presetWith(border: colorfulPreset.border.take(8).toList()), + isNot(colorfulPreset), + ); + }); + + test('the presets differ from one another', () { + expect({ + colorfulPreset, + monoPreset, + oceanPreset, + sunsetPreset, + }, hasLength(4)); + }); + }); + + group('BeamPalette equality', () { + test('compares tables and every paint-time modifier', () { + const a = BeamPalette(data: colorfulPreset); + const b = BeamPalette(data: colorfulPreset); + expect(a, b); + expect(a.hashCode, b.hashCode); + expect( + a, + isNot( + const BeamPalette(data: colorfulPreset, forcesStaticColors: true), + ), + ); + expect( + a, + isNot(const BeamPalette(data: colorfulPreset, opacityMultiplier: 0.5)), + ); + expect( + a, + isNot(const BeamPalette(data: colorfulPreset, monoTreatment: true)), + ); + expect(a, isNot(const BeamPalette(data: oceanPreset))); + expect(a.toString(), contains('BeamPalette')); + }); + + test('a palette rebuilt from equal tables is ==', () { + final rebuilt = BeamPalette(data: _presetWith()); + expect(rebuilt, const BeamPalette(data: colorfulPreset)); + expect( + rebuilt.hashCode, + const BeamPalette(data: colorfulPreset).hashCode, + ); + }); + }); + + group('the resolve memo', () { + test('equal color choices resolve to the identical palette', () { + // Two separately built — never identical — but equal instances. + final a = BeamColors.custom([ + const Color(0xFF123456), + const Color(0xFF654321), + ]); + final b = BeamColors.custom([ + const Color(0xFF123456), + const Color(0xFF654321), + ]); + expect(identical(a, b), isFalse); + expect(identical(a.resolve(), b.resolve()), isTrue); + }); + + test('every factory shares the memo', () { + expect( + identical( + BeamColors.fromSeed(const Color(0xFF18A8F0)).resolve(), + BeamColors.fromSeed(const Color(0xFF18A8F0)).resolve(), + ), + isTrue, + ); + expect( + identical( + BeamColors.lerp(BeamColors.ocean, BeamColors.sunset, 0.5).resolve(), + BeamColors.lerp(BeamColors.ocean, BeamColors.sunset, 0.5).resolve(), + ), + isTrue, + ); + expect( + identical( + BeamColors.ocean.scaleAlpha(0.5).resolve(), + BeamColors.ocean.scaleAlpha(0.5).resolve(), + ), + isTrue, + ); + expect( + identical( + BeamColors.fromScheme(_scheme).resolve(), + BeamColors.fromScheme(_scheme).resolve(), + ), + isTrue, + ); + }); + + test('unequal color choices resolve to different palettes', () { + final a = BeamColors.custom(const [Color(0xFF123456)]); + final b = BeamColors.custom(const [Color(0xFF654321)]); + expect(identical(a.resolve(), b.resolve()), isFalse); + expect(a.resolve(), isNot(b.resolve())); + expect( + identical( + const BeamColors.fromSeed( + Color(0xFF18A8F0), + harmony: BeamSeedHarmony.triadic, + ).resolve(), + const BeamColors.fromSeed(Color(0xFF18A8F0)).resolve(), + ), + isFalse, + ); + }); + + test('presets keep one palette for the life of the isolate', () { + final ocean = BeamColors.ocean.resolve(); + // Flood the value cache well past its bound; a preset must survive it. + for (var i = 0; i < 200; i++) { + BeamColors.custom([Color(0xFF000000 | i)]).resolve(); + } + expect(identical(BeamColors.ocean.resolve(), ocean), isTrue); + }); + + test('the value cache is bounded and evicts least-recently-used first', () { + // Distinct from every other key used in this file. + BeamColors key(int i) => BeamColors.custom([Color(0xFF7F0000 | i)]); + + final oldest = key(0); + final oldestPalette = oldest.resolve(); + final newest = key(32); + // 32 further distinct palettes: the capacity, so `oldest` — never + // touched again — falls off the front. + for (var i = 1; i <= 32; i++) { + key(i).resolve(); + } + expect( + identical(oldest.resolve(), oldestPalette), + isFalse, + reason: 'the least recently used entry should have been evicted', + ); + // An evicted palette rebuilds to an equal one, so nothing observable + // changes for a painter comparing configs. + expect(oldest.resolve(), oldestPalette); + // The most recent insert is still cached. + expect(identical(newest.resolve(), key(32).resolve()), isTrue); + }); + + test('a hit refreshes the entry, so a re-read survives eviction', () { + BeamColors key(int i) => BeamColors.custom([Color(0xFF3F0000 | i)]); + final kept = key(0); + final keptPalette = kept.resolve(); + for (var i = 1; i <= 24; i++) { + key(i).resolve(); + // Touching `kept` moves it back to the most-recent end. + kept.resolve(); + } + expect(identical(kept.resolve(), keptPalette), isTrue); + }); + }); +} + +const ColorScheme _scheme = ColorScheme.dark( + primary: Color(0xFFFF0000), + secondary: Color(0xFF00FF00), + tertiary: Color(0xFF0000FF), +); From 8f9afcb3dc71f99c16517c48eb3ffccd1377961b Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 16:34:06 -0700 Subject: [PATCH 13/40] feat(motion): direction, multi-beam, repeat, driven progress, follow, BeamSync MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The resolver honors BeamTiming.direction (reverse mirrors the sweep, bounce alternates per cycle), phaseOffset, beamCount (equally spaced travellers), and BeamStyle.hueMode for every variant, and reports when a BeamRepeat budget is spent so the widget fades the beam out and fires onDeactivate. Reduced motion is four behaviors: staticFrame, hide (no painter, no ticks), slow (quarter speed), animate. BorderBeam.progress drives the sweep from a value for progress rings and bars; follow eases the sweep toward a pointer position and hands it back to the clock without a snap; strengthListenable and speedListenable drive opacity and rate per frame without rebuilds; BorderBeam.overlay is childless for a Stack. BeamSync runs every descendant beam off one shared clock — one ticker, one timeline. BorderBeamController.pulse() and flash() are one-shot brightness accents riding the fade envelope. speed leaves the config-cache key, and the widget and painter implement debugFillProperties. Co-Authored-By: Claude Opus 5 (1M context) --- lib/flutter_border_beam.dart | 1 + lib/src/animation/beam_clock.dart | 109 +++- lib/src/animation/beam_phases.dart | 180 ++++++- lib/src/beam_sync.dart | 153 ++++++ lib/src/border_beam.dart | 509 ++++++++++++++++-- lib/src/border_beam_controller.dart | 19 + lib/src/painting/beam_painter.dart | 54 +- test/animation/beam_travel_test.dart | 391 ++++++++++++++ test/golden/goldens/motion_line_reverse.png | Bin 0 -> 70509 bytes test/golden/goldens/motion_progress_0_5.png | Bin 0 -> 60809 bytes .../goldens/motion_rotate_beamcount2.png | Bin 0 -> 48134 bytes test/golden/goldens/motion_rotate_reverse.png | Bin 0 -> 65266 bytes test/golden/motion_golden_test.dart | 111 ++++ test/widget/beam_motion_test.dart | 428 +++++++++++++++ test/widget/beam_progress_test.dart | 421 +++++++++++++++ test/widget/beam_speed_test.dart | 43 +- test/widget/beam_sync_test.dart | 306 +++++++++++ 17 files changed, 2660 insertions(+), 65 deletions(-) create mode 100644 lib/src/beam_sync.dart create mode 100644 test/animation/beam_travel_test.dart create mode 100644 test/golden/goldens/motion_line_reverse.png create mode 100644 test/golden/goldens/motion_progress_0_5.png create mode 100644 test/golden/goldens/motion_rotate_beamcount2.png create mode 100644 test/golden/goldens/motion_rotate_reverse.png create mode 100644 test/golden/motion_golden_test.dart create mode 100644 test/widget/beam_motion_test.dart create mode 100644 test/widget/beam_progress_test.dart create mode 100644 test/widget/beam_sync_test.dart diff --git a/lib/flutter_border_beam.dart b/lib/flutter_border_beam.dart index 0fecfd3..11db1c3 100644 --- a/lib/flutter_border_beam.dart +++ b/lib/flutter_border_beam.dart @@ -6,6 +6,7 @@ /// optional playback controller. library; +export 'src/beam_sync.dart' show BeamSync; export 'src/border_beam.dart' show BorderBeam; export 'src/border_beam_controller.dart' show BorderBeamController; export 'src/border_beam_theme.dart' show BorderBeamTheme, BorderBeamThemeData; diff --git a/lib/src/animation/beam_clock.dart b/lib/src/animation/beam_clock.dart index 1092a38..ec1ce6c 100644 --- a/lib/src/animation/beam_clock.dart +++ b/lib/src/animation/beam_clock.dart @@ -41,6 +41,15 @@ class BeamClock extends ChangeNotifier { /// Fade-out duration in seconds (React `beam-fade-out 0.5s`). static const double fadeOutSeconds = 0.5; + /// How far [pulse] lifts [boost] at its peak. + static const double pulsePeak = 2; + + /// How far [flash] lifts [boost] at its peak. + /// + /// High enough that every layer reaches the clamp `BeamLayerUtils` + /// applies, which is what makes the blink read as full opacity. + static const double flashPeak = 4; + // Spring-eased fade, isolated here so the curve is trivially replaceable. static const _fadeCurve = FadeSpringCurve.instance; @@ -62,6 +71,7 @@ class BeamClock extends ChangeNotifier { double _fadeFromOpacity = 0; double _lastNotify = -1; bool _visible = false; + _Boost? _boost; /// Elapsed animation time in (speed-scaled) seconds. double get elapsedSeconds => _elapsed; @@ -75,6 +85,45 @@ class BeamClock extends ChangeNotifier { /// The current fade stage. BeamFadeStage get stage => _stage; + /// Whether a [pulse] or [flash] envelope is still playing. + bool get isBoosting => _boost != null; + + /// The amplitude envelope on top of [fadeOpacity]: 1 at rest, rising to + /// [pulsePeak] or [flashPeak] while a [pulse] or [flash] plays. + /// + /// The painter multiplies it into the fade it hands the resolver, so it + /// scales every layer's opacity at once. Layer opacity is clamped at paint + /// time, so a boost brightens the dim layers and saturates the ones that + /// are already near full — it can never overflow. + double get boost { + final b = _boost; + if (b == null) return 1; + return 1 + b.envelopeAt(_elapsed) * (b.peak - 1); + } + + /// Lifts the beam to [pulsePeak] and settles back over ~0.6s — a one-shot + /// bump that marks a moment without restarting anything. + /// + /// No-op while the beam is hidden or frozen: there is no frame budget to + /// play the envelope on. + void pulse() => _startBoost( + const _Boost(peak: pulsePeak, rise: 0.24, hold: 0, fall: 0.36), + ); + + /// Blinks the beam to [flashPeak], holds for 120ms, and decays — a + /// sharper, brighter accent than [pulse]. + /// + /// No-op while the beam is hidden or frozen. + void flash() => _startBoost( + const _Boost(peak: flashPeak, rise: 0, hold: 0.12, fall: 0.28), + ); + + void _startBoost(_Boost boost) { + if (!_visible || !isRunning) return; + _boost = boost.startingAt(_elapsed); + notifyListeners(); + } + /// Playback rate multiplier. Takes effect from the next frame. double get speed => _speed; set speed(double value) { @@ -116,6 +165,7 @@ class BeamClock extends ChangeNotifier { } else { _elapsed = 0; _fadeFromOpacity = 0; + _boost = null; } _visible = true; _stage = BeamFadeStage.fadingIn; @@ -203,12 +253,15 @@ class BeamClock extends ChangeNotifier { _ticker!.stop(); _elapsed = 0; onFadeComplete?.call(false); - } else if (_stage == BeamFadeStage.none && maxFps != null) { + } else if (_stage == BeamFadeStage.none && maxFps != null && !isBoosting) { // Rate cap (pulse variants): skip paint-frame notifications, matching - // the source's ~30fps pulse driver. Time still accumulates. + // the source's ~30fps pulse driver. Time still accumulates. A boost is + // short and steep, so it plays at the full frame rate. final interval = 1 / maxFps! - 0.002; if (_elapsed - _lastNotify < interval) mustNotify = false; } + // Drop a spent boost, keeping the frame that lands back at 1. + if (_boost?.isDoneAt(_elapsed) ?? false) _boost = null; if (mustNotify) { _lastNotify = _elapsed; notifyListeners(); @@ -217,8 +270,60 @@ class BeamClock extends ChangeNotifier { @override void dispose() { + _boost = null; _ticker?.dispose(); _ticker = null; super.dispose(); } } + +/// One amplitude bump: a rise, a hold at the peak, and a decay back to rest. +class _Boost { + const _Boost({ + required this.peak, + required this.rise, + required this.hold, + required this.fall, + this.startedAt = 0, + }); + + /// The multiplier at the top of the envelope. + final double peak; + + /// Seconds spent climbing to [peak], spring-eased like the fade. + final double rise; + + /// Seconds held at [peak]. + final double hold; + + /// Seconds spent decaying back to rest, smootherstep-eased so the release + /// has no visible corner at either end. + final double fall; + + /// Timeline position the envelope started at. + final double startedAt; + + double get _total => rise + hold + fall; + + _Boost startingAt(double now) => + _Boost(peak: peak, rise: rise, hold: hold, fall: fall, startedAt: now); + + bool isDoneAt(double now) => now - startedAt >= _total; + + /// The 0–1 envelope at timeline position [now]. + double envelopeAt(double now) { + var x = now - startedAt; + if (x <= 0) return rise > 0 ? 0 : 1; + if (x < rise) return FadeSpringCurve.instance.transform(x / rise); + x -= rise; + if (x < hold) return 1; + x -= hold; + if (fall <= 0 || x >= fall) return 0; + return 1 - _smootherstep(x / fall); + } + + static double _smootherstep(double x) { + final c = x.clamp(0.0, 1.0); + return c * c * c * (c * (c * 6 - 15) + 10); + } +} diff --git a/lib/src/animation/beam_phases.dart b/lib/src/animation/beam_phases.dart index a8b9210..33d98c4 100644 --- a/lib/src/animation/beam_phases.dart +++ b/lib/src/animation/beam_phases.dart @@ -5,6 +5,7 @@ import 'package:flutter/animation.dart' show Curves; import '../constants/line_keyframes.dart'; import '../constants/pulse_params.dart'; import '../models/beam_config.dart'; +import '../models/beam_options.dart'; import '../models/beam_variant.dart'; import 'beam_clock.dart'; import 'oscillator.dart'; @@ -42,6 +43,10 @@ class BeamFramePhases { required this.hueDegrees, this.bloomHueDegrees = 0, this.angleRadians = 0, + this.travelProgress = 0, + this.travellers = const [0], + this.reversedNow = false, + this.finished = false, this.lineX = 0.06, this.lineW = 0.5, this.lineH = 0.8, @@ -66,6 +71,33 @@ class BeamFramePhases { /// Rotating conic window angle (rotate/small), radians. final double angleRadians; + /// Raw sweep progress (0–1) of the leading beam through the current cycle. + /// + /// Equal to `travellers.first`. Already carries the travel direction and + /// the phase offset, and is the value a driven `BorderBeam.progress` + /// replaces. + final double travelProgress; + + /// Sweep progress (0–1) of every beam travelling the contour, spaced + /// `1 / BeamConfig.beamCount` apart. Never empty; the first entry is + /// [travelProgress]. + final List travellers; + + /// Whether the current cycle runs mirrored — always false under + /// [BeamDirection.forward], always true under [BeamDirection.reverse], and + /// alternating per cycle under [BeamDirection.bounce]. + /// + /// The geometry in [travellers] is already mirrored; this flag lets a + /// strategy mirror asymmetric tables (a comet tail, a spike schedule) to + /// match. + final bool reversedNow; + + /// Whether the beam has run out its `BeamPlayback.repeat` budget. + /// + /// The widget reacts by deactivating the clock, so the beam fades out the + /// way an inactive one does rather than cutting off. + final bool finished; + /// Line beam x position, fraction of width. final double lineX; @@ -121,35 +153,66 @@ class BeamPhaseResolver { /// so the widget shifts them back by the amount the timeline moved. double hueTimeOffset = 0; + /// Cycles the beam is allowed to run before it reports + /// [BeamFramePhases.finished], or null to run forever. + /// + /// The resolved form of `BeamPlayback.repeat`: playback is the widget's + /// business rather than a painted value, so it rides on the resolver + /// instead of on [BeamConfig]. + int? repeatCycles; + + /// Seconds added to the sample time of the travel tracks only. + /// + /// Shifts where the sweep sits without touching the hue tracks. The widget + /// uses it to hand a `BorderBeam.follow` gesture back to the clock: the + /// timed sweep picks up from wherever the pointer left the beam instead of + /// snapping back to its own schedule. + double travelTimeOffset = 0; + /// Samples all phases at [t] seconds with the given [fadeOpacity]. - BeamFramePhases sample(double t, double fadeOpacity) { + /// + /// [progress] takes the travel over when non-null (`BorderBeam.progress` + /// and `BorderBeam.follow`): the sweep sits at that fraction (0–1) instead + /// of running with the clock, while the fade envelope and the hue tracks + /// keep running. A driven progress is used as given — + /// [BeamConfig.direction] and [BeamConfig.phaseOffset] shape the timed + /// sweep, not this value. + BeamFramePhases sample(double t, double fadeOpacity, {double? progress}) { final v = config.variant; final hue = _hue(t); + final sweep = _sweep(t, progress); switch (v) { case BeamVariant.rotate || BeamVariant.small: - final (progress, envelope) = _travel(t); return BeamFramePhases( - fadeOpacity: fadeOpacity * envelope, + fadeOpacity: fadeOpacity * sweep.envelope, hueDegrees: hue, - angleRadians: progress * 2 * math.pi, + angleRadians: sweep.travellers.first * 2 * math.pi, + travelProgress: sweep.travellers.first, + travellers: sweep.travellers, + reversedNow: sweep.reversed, + finished: sweep.finished, ); case BeamVariant.line: - final (progress, envelope) = _travel(t); + final head = sweep.travellers.first; final cs = config.cycleSeconds; final breathe = (t / (cs * config.breatheFactor)) % 1.0; final spikeT = (t / (cs * config.spikeFactor)) % 1.0; final spike2T = (t / (cs * config.spike2Factor)) % 1.0; return BeamFramePhases( - fadeOpacity: fadeOpacity * envelope, + fadeOpacity: fadeOpacity * sweep.envelope, hueDegrees: hue, bloomHueDegrees: _pingPongHue( t + hueTimeOffset, config.bloomHuePeriodSeconds, config.hueRange + 10, ), - lineX: sampleKeyframes(lineTravelX, progress), - lineW: sampleKeyframes(lineTravelW, progress), - edge: sampleKeyframes(lineEdgeFade, progress), + travelProgress: head, + travellers: sweep.travellers, + reversedNow: sweep.reversed, + finished: sweep.finished, + lineX: sampleKeyframes(lineTravelX, head), + lineW: sampleKeyframes(lineTravelW, head), + edge: sampleKeyframes(lineEdgeFade, head), lineH: sampleKeyframes(lineBreatheH, breathe, easedSegments: true), spike: sampleKeyframes(lineSpike, spikeT, easedSegments: true), spike2: sampleKeyframes(lineSpike2, spike2T, easedSegments: true), @@ -158,29 +221,101 @@ class BeamPhaseResolver { return BeamFramePhases( fadeOpacity: fadeOpacity, hueDegrees: hue, + finished: sweep.finished, pulse: _bank!.sample(t), ); } } + /// Whether the beam has spent its [repeatCycles] budget at [t] seconds. + /// + /// The same test [sample] reports through [BeamFramePhases.finished], + /// without building a frame: the widget checks it every tick. + bool finishedAt(double t) { + final budget = repeatCycles; + if (budget == null) return false; + return _cycleIndex(_shift(t)) >= budget; + } + + /// The travel timeline at [t]: the phase offset and any follow hand-back + /// folded in. + double _shift(double t) => + t + config.phaseOffset * config.cycleSeconds + travelTimeOffset; + + int _cycleIndex(double shifted) { + final period = config.cycleSeconds + config.gapSeconds; + return period <= 0 ? 0 : (shifted / period).floor(); + } + + /// The travel state of every beam at [t]: their progress, the gap + /// envelope, whether this cycle runs mirrored, and whether the repeat + /// budget is spent. + _Sweep _sweep(double t, double? driven) { + // The phase offset moves the beam along its own timeline; the hue tracks + // run on fixed periods of their own and stay where they are. + final shifted = _shift(t); + final cycleIndex = _cycleIndex(shifted); + final budget = repeatCycles; + final finished = budget != null && cycleIndex >= budget; + final reversed = switch (config.direction) { + BeamDirection.forward => false, + BeamDirection.reverse => true, + BeamDirection.bounce => cycleIndex.isOdd, + }; + + if (driven != null) { + // A driven progress replaces the sweep outright, so there is no gap to + // rest in either. + final head = driven.clamp(0.0, 1.0); + return _Sweep(_spread(head), 1, false, finished); + } + final (forward, envelope) = _travel(shifted); + final head = reversed ? 1 - forward : forward; + return _Sweep( + _spread(head, reversed: reversed), + envelope, + reversed, + finished, + ); + } + + /// Places [head] and the remaining `beamCount - 1` beams evenly around the + /// cycle, keeping [head] first. + List _spread(double head, {bool reversed = false}) { + final n = config.beamCount; + if (n <= 1) return [head]; + final step = 1 / n; + return List.generate(n, (i) { + if (i == 0) return head; + final offset = reversed ? -i * step : i * step; + return (head + offset) % 1.0; + }); + } + /// A representative static frame for reduced motion: mid-cycle, no hue /// offset, full opacity. /// /// The frame is shown for as long as reduced motion lasts, so it carries /// the palette's own colors — a hue sampled from the ping-pong would tint /// the whole effect by an arbitrary offset. - BeamFramePhases staticFrame() { + /// + /// A driven [progress] is honored: a beam whose sweep is a progress + /// readout still reads its value under reduced motion. + BeamFramePhases staticFrame({double? progress}) { if (config.variant.isPulse) { // Freeze the breathing at rest, matching the source's // prefers-reduced-motion behavior (animations disabled entirely). return const BeamFramePhases(fadeOpacity: 1, hueDegrees: 0); } // The traveling variants keep their mid-cycle geometry. - final phases = sample(config.cycleSeconds / 2, 1); + final phases = sample(config.cycleSeconds / 2, 1, progress: progress); return BeamFramePhases( fadeOpacity: 1, hueDegrees: 0, angleRadians: phases.angleRadians, + travelProgress: phases.travelProgress, + travellers: phases.travellers, + reversedNow: phases.reversedNow, lineX: phases.lineX, lineW: phases.lineW, lineH: phases.lineH, @@ -224,11 +359,15 @@ class BeamPhaseResolver { double _hue(double t) { if (config.staticColors) return 0; final hueT = t + hueTimeOffset; - if (config.variant.isPulse) { + return switch (config.hueMode) { // Continuous full revolution (sawtooth 0→360°). - return ((hueT / config.huePeriodSeconds) % 1.0) * 360; - } - return _pingPongHue(hueT, config.huePeriodSeconds, config.hueRange); + BeamHueMode.continuous => ((hueT / config.huePeriodSeconds) % 1.0) * 360, + BeamHueMode.pingPong => _pingPongHue( + hueT, + config.huePeriodSeconds, + config.hueRange, + ), + }; } // CSS `beam-hue-shift`: keyframes −range @0%, +range @50%, −range @100%, @@ -240,3 +379,14 @@ class BeamPhaseResolver { return -range + 2 * range * eased; } } + +/// One frame of travel: where every beam sits, the gap envelope, whether the +/// cycle is mirrored, and whether the repeat budget is spent. +class _Sweep { + const _Sweep(this.travellers, this.envelope, this.reversed, this.finished); + + final List travellers; + final double envelope; + final bool reversed; + final bool finished; +} diff --git a/lib/src/beam_sync.dart b/lib/src/beam_sync.dart new file mode 100644 index 0000000..b1bad7d --- /dev/null +++ b/lib/src/beam_sync.dart @@ -0,0 +1,153 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; + +import 'animation/beam_clock.dart'; + +/// Runs every [BorderBeam] below it off one shared clock, so a group of +/// beams animates in lockstep. +/// +/// A beam normally owns its own [Ticker]. Ten beams on a screen means ten +/// tickers, each started at a different instant, so their sweeps drift apart +/// — fine for beams that have nothing to do with each other, wrong for a row +/// of cards that should read as one system. [BeamSync] hands them a single +/// clock: one ticker for the whole subtree, one timeline, identical phases. +/// +/// ```dart +/// BeamSync( +/// child: Row( +/// children: [ +/// for (final card in cards) +/// BorderBeam.rotate(child: card), +/// ], +/// ), +/// ) +/// ``` +/// +/// Beams stay individually configurable — palette, variant, shape, and +/// `BeamTiming.phaseOffset` are still per beam, so a group can run evenly +/// spaced around the cycle rather than perfectly on top of each other: +/// +/// ```dart +/// BorderBeam.rotate( +/// timing: BeamTiming(phaseOffset: i / cards.length), +/// child: card, +/// ) +/// ``` +/// +/// The group owns playback. A synced beam does not start, stop, pause, or +/// fade on its own, so `BeamPlayback`'s `active`, `autoPlay`, `startAfter`, +/// `duration`, and `repeat` are ignored below a [BeamSync] — use [active] +/// and [speed] here instead. A `BorderBeamController` is playback control +/// for one beam and asserts if it meets a [BeamSync]. +/// +/// Reduced motion pauses the shared clock for the whole group; each beam +/// still paints according to its own `BeamPlayback.reducedMotion`. +class BeamSync extends StatefulWidget { + /// Creates a scope whose descendant beams share one clock. + const BeamSync({ + super.key, + required this.child, + this.active = true, + this.speed = 1, + }); + + /// The subtree whose beams share the clock. + final Widget child; + + /// Whether the group is playing. Toggling fades every beam in (0.6s) or + /// out (0.5s) together. + final bool active; + + /// Playback rate for the group; must be positive. + final double speed; + + /// The shared clock for [context], or null when there is no enclosing + /// [BeamSync]. Internal — do not call from application code. + static BeamClock? clockOf(BuildContext context) => + context.dependOnInheritedWidgetOfExactType()?.clock; + + @override + State createState() => _BeamSyncState(); + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(FlagProperty('active', value: active, ifFalse: 'stopped')) + ..add(DoubleProperty('speed', speed, defaultValue: 1.0)); + } +} + +class _BeamSyncState extends State + with SingleTickerProviderStateMixin { + late final BeamClock _clock = BeamClock(createTicker: createTicker) + ..speed = widget.speed; + + bool _started = false; + bool _reduced = false; + + @override + void didChangeDependencies() { + super.didChangeDependencies(); + // Reduced motion is delivered here, and the first frame needs it before + // the clock starts: a group that begins under reduced motion never + // starts a ticker at all. + final reduced = MediaQuery.maybeDisableAnimationsOf(context) ?? false; + if (_started && reduced == _reduced) return; + _reduced = reduced; + if (!_started) { + _started = true; + if (!widget.active) return; + if (reduced) { + _clock.showStatic(); + } else { + _clock.activate(); + } + return; + } + if (reduced) { + _clock.pause(); + } else { + _clock.resume(); + } + } + + @override + void didUpdateWidget(BeamSync oldWidget) { + super.didUpdateWidget(oldWidget); + if (widget.speed != oldWidget.speed) _clock.speed = widget.speed; + if (widget.active == oldWidget.active) return; + if (widget.active) { + if (_reduced) { + _clock.showStatic(); + } else { + _clock.activate(); + } + } else { + _clock.deactivate(); + } + } + + @override + void dispose() { + _clock.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) => + BeamSyncScope(clock: _clock, child: widget.child); +} + +/// Carries a [BeamSync]'s shared clock down the tree. Internal — read it +/// through [BeamSync.clockOf]. +class BeamSyncScope extends InheritedWidget { + /// Creates the scope for [clock]. + const BeamSyncScope({super.key, required this.clock, required super.child}); + + /// The clock every beam in this subtree runs on. + final BeamClock clock; + + @override + bool updateShouldNotify(BeamSyncScope oldWidget) => oldWidget.clock != clock; +} diff --git a/lib/src/border_beam.dart b/lib/src/border_beam.dart index 771c443..38120fe 100644 --- a/lib/src/border_beam.dart +++ b/lib/src/border_beam.dart @@ -1,10 +1,12 @@ import 'dart:async'; +import 'dart:math' as math; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'animation/beam_clock.dart'; import 'animation/beam_phases.dart'; +import 'beam_sync.dart'; import 'border_beam_controller.dart'; import 'border_beam_theme.dart'; import 'models/beam_colors.dart'; @@ -92,10 +94,68 @@ class BorderBeam extends StatefulWidget { this.timing, this.playback, this.controller, + this.progress, + this.follow, + this.strengthListenable, + this.speedListenable, this.onActivate, this.onDeactivate, }); + /// Paints the beam with no child of its own, sized by its parent. + /// + /// The beam is the whole widget: drop it into a [Stack] under a + /// [Positioned.fill] and it traces the stack's bounds, over content it + /// does not have to wrap. Everything else behaves exactly as the generic + /// constructor. + /// + /// ```dart + /// Stack( + /// children: [ + /// content, + /// const Positioned.fill( + /// child: BorderBeam.overlay(borderRadius: 16), + /// ), + /// ], + /// ) + /// ``` + const BorderBeam.overlay({ + Key? key, + BeamVariant variant = BeamVariant.rotate, + BeamColors? colors, + bool? active, + double? borderRadius, + BeamStyle? style, + BeamShape? shape, + BeamTiming? timing, + BeamPlayback? playback, + BorderBeamController? controller, + double? progress, + Offset? follow, + ValueListenable? strengthListenable, + ValueListenable? speedListenable, + VoidCallback? onActivate, + VoidCallback? onDeactivate, + }) : this( + key: key, + variant: variant, + child: const SizedBox.expand(), + colors: colors, + active: active, + borderRadius: borderRadius, + style: style, + shape: shape, + timing: timing, + playback: playback, + controller: controller, + progress: progress, + follow: follow, + strengthListenable: strengthListenable, + speedListenable: speedListenable, + onActivate: onActivate, + onDeactivate: onDeactivate, + ); + /// Full border traveling beam (React `md`). The default look, tuned for /// cards and larger surfaces. const BorderBeam.rotate({ @@ -109,6 +169,10 @@ class BorderBeam extends StatefulWidget { BeamTiming? timing, BeamPlayback? playback, BorderBeamController? controller, + double? progress, + Offset? follow, + ValueListenable? strengthListenable, + ValueListenable? speedListenable, VoidCallback? onActivate, VoidCallback? onDeactivate, }) : this( @@ -123,6 +187,10 @@ class BorderBeam extends StatefulWidget { timing: timing, playback: playback, controller: controller, + progress: progress, + follow: follow, + strengthListenable: strengthListenable, + speedListenable: speedListenable, onActivate: onActivate, onDeactivate: onDeactivate, ); @@ -140,6 +208,10 @@ class BorderBeam extends StatefulWidget { BeamTiming? timing, BeamPlayback? playback, BorderBeamController? controller, + double? progress, + Offset? follow, + ValueListenable? strengthListenable, + ValueListenable? speedListenable, VoidCallback? onActivate, VoidCallback? onDeactivate, }) : this( @@ -154,6 +226,10 @@ class BorderBeam extends StatefulWidget { timing: timing, playback: playback, controller: controller, + progress: progress, + follow: follow, + strengthListenable: strengthListenable, + speedListenable: speedListenable, onActivate: onActivate, onDeactivate: onDeactivate, ); @@ -171,6 +247,10 @@ class BorderBeam extends StatefulWidget { BeamTiming? timing, BeamPlayback? playback, BorderBeamController? controller, + double? progress, + Offset? follow, + ValueListenable? strengthListenable, + ValueListenable? speedListenable, VoidCallback? onActivate, VoidCallback? onDeactivate, }) : this( @@ -185,6 +265,10 @@ class BorderBeam extends StatefulWidget { timing: timing, playback: playback, controller: controller, + progress: progress, + follow: follow, + strengthListenable: strengthListenable, + speedListenable: speedListenable, onActivate: onActivate, onDeactivate: onDeactivate, ); @@ -202,6 +286,10 @@ class BorderBeam extends StatefulWidget { BeamTiming? timing, BeamPlayback? playback, BorderBeamController? controller, + double? progress, + Offset? follow, + ValueListenable? strengthListenable, + ValueListenable? speedListenable, VoidCallback? onActivate, VoidCallback? onDeactivate, }) : this( @@ -216,6 +304,10 @@ class BorderBeam extends StatefulWidget { timing: timing, playback: playback, controller: controller, + progress: progress, + follow: follow, + strengthListenable: strengthListenable, + speedListenable: speedListenable, onActivate: onActivate, onDeactivate: onDeactivate, ); @@ -237,6 +329,10 @@ class BorderBeam extends StatefulWidget { BeamTiming? timing, BeamPlayback? playback, BorderBeamController? controller, + double? progress, + Offset? follow, + ValueListenable? strengthListenable, + ValueListenable? speedListenable, VoidCallback? onActivate, VoidCallback? onDeactivate, }) : this( @@ -251,6 +347,10 @@ class BorderBeam extends StatefulWidget { timing: timing, playback: playback, controller: controller, + progress: progress, + follow: follow, + strengthListenable: strengthListenable, + speedListenable: speedListenable, onActivate: onActivate, onDeactivate: onDeactivate, ); @@ -287,6 +387,58 @@ class BorderBeam extends StatefulWidget { /// `playback.startAfter`/`duration` must be null and [active] is ignored. final BorderBeamController? controller; + /// Drives the beam's travel from a value instead of the clock, 0–1. + /// + /// The sweep sits where this says rather than running with time, which + /// turns the traveling variants into readouts: [BorderBeam.rotate] becomes + /// a glowing progress ring, [BorderBeam.line] a progress bar. The clock + /// keeps running underneath — the fade envelope, the hue shift, and the + /// line variant's breathe and spike tracks are all still alive, so the + /// beam looks lit rather than frozen. + /// + /// Changing it repaints without re-resolving the beam's configuration, so + /// it is cheap to drive from an animation. Null hands the travel back to + /// the clock; the pulse variants have no travel to drive. + final double? progress; + + /// Pulls the traveling beam toward a point in the child's box, given in + /// normalized coordinates (0–1 on each axis). + /// + /// The beam leaves its schedule and eases to the perimeter position + /// nearest the point — critically damped, ~150ms — which reads as the glow + /// following the pointer. Setting it back to null hands the sweep back to + /// the clock from wherever it is, without a snap. + /// + /// Feed it from a [MouseRegion] or [Listener]: + /// + /// ```dart + /// MouseRegion( + /// onHover: (e) => setState(() { + /// final box = context.findRenderObject()! as RenderBox; + /// final local = box.globalToLocal(e.position); + /// _follow = Offset(local.dx / box.size.width, local.dy / box.size.height); + /// }), + /// onExit: (_) => setState(() => _follow = null), + /// child: BorderBeam.rotate(follow: _follow, child: card), + /// ) + /// ``` + /// + /// [progress] wins over it, and the pulse variants ignore both. + final Offset? follow; + + /// Scales every layer's opacity each frame, without rebuilding. + /// + /// The live twin of `BeamStyle.strength`: point it at a mic level, a + /// download rate, or any other signal and the beam breathes with it. Values + /// above 1 brighten up to the clamp every layer opacity already carries. + final ValueListenable? strengthListenable; + + /// Drives the playback rate each frame, without rebuilding. + /// + /// The live twin of `BeamTiming.speed`, and it wins over both that and a + /// [controller]'s rate while it is set. Values must stay positive. + final ValueListenable? speedListenable; + /// Called when the fade-in completes. final VoidCallback? onActivate; @@ -326,6 +478,22 @@ class BorderBeam extends StatefulWidget { controller, defaultValue: null, ), + ) + ..add(DoubleProperty('progress', progress, defaultValue: null)) + ..add(DiagnosticsProperty('follow', follow, defaultValue: null)) + ..add( + DiagnosticsProperty>( + 'strengthListenable', + strengthListenable, + defaultValue: null, + ), + ) + ..add( + DiagnosticsProperty>( + 'speedListenable', + speedListenable, + defaultValue: null, + ), ); } } @@ -335,10 +503,59 @@ double _cycleSecondsOf(BeamTiming timing, BeamVariant variant) => (timing.cycle ?? variant.defaultCycleDuration).inMicroseconds / Duration.microsecondsPerSecond; +// The timing fields the painted config is built from — everything except +// `speed`, which is applied to the clock and never reaches BeamConfig. +// Keeping it out of the cache key is what lets a rate change ride through +// without re-resolving the config or rebuilding the phase resolver. +BeamTiming _configTiming(BeamTiming timing) => BeamTiming( + cycle: timing.cycle, + cycleGap: timing.cycleGap, + direction: timing.direction, + phaseOffset: timing.phaseOffset, + beamCount: timing.beamCount, + huePeriod: timing.huePeriod, + bloomHuePeriod: timing.bloomHuePeriod, + breatheFactor: timing.breatheFactor, + spikeFactor: timing.spikeFactor, + spike2Factor: timing.spike2Factor, +); + +// BeamReducedMotion.slow runs the clock at a quarter rate. +const double _slowMotionFactor = 0.25; + +// How long the follow easing takes to cover most of the distance to the +// pointer. Short enough to feel attached, long enough to smooth a jittery +// pointer stream. +const double _followResponseSeconds = 0.15; + +// A critically damped step toward [target]: no overshoot, no ringing, and it +// carries velocity, so a target that keeps moving never produces a corner. +({double value, double velocity}) _smoothDamp({ + required double current, + required double target, + required double velocity, + required double dt, + required double response, +}) { + final omega = 2 / response; + final x = omega * dt; + // Padé approximation of exp(-x) — stable at any frame duration. + final decay = 1 / (1 + x + 0.48 * x * x + 0.235 * x * x * x); + final change = current - target; + final temp = (velocity + omega * change) * dt; + return ( + value: target + (change + temp) * decay, + velocity: (velocity - omega * temp) * decay, + ); +} + // TickerProviderStateMixin (not Single-): a variant change rebuilds the // clock, creating a second ticker over this State's lifetime. class _BorderBeamState extends State with TickerProviderStateMixin { - late BeamClock _clock; + // Exactly one of these is set: a beam owns a clock unless a BeamSync hands + // it the group's. + BeamClock? _ownClock; + BeamClock? _sharedClock; Timer? _startTimer; Timer? _durationTimer; @@ -352,6 +569,20 @@ class _BorderBeamState extends State with TickerProviderStateMixin { BeamPlayback _playback = const BeamPlayback(); double _cycleSeconds = 0; + // The sweep position when something other than the clock drives it. It + // reaches the painter as a listenable so `progress` and `follow` move the + // beam without rebuilding the config. + final ValueNotifier _driven = ValueNotifier(null); + double? _followValue; + double _followVelocity = 0; + double _lastTickSeconds = 0; + BeamClock? _listeningTo; + + BeamClock get _clock => _sharedClock ?? _ownClock!; + + /// Whether this beam runs on a [BeamSync] group clock. + bool get _synced => _sharedClock != null; + BeamVariantStrategy get _strategy => strategyFor(widget.variant); bool get _active => _playback.active ?? true; @@ -359,7 +590,7 @@ class _BorderBeamState extends State with TickerProviderStateMixin { bool _autoPlayScheduled = false; bool _hasStarted = false; - bool _reducedMotionApplied = false; + BeamReducedMotion? _reducedApplied; // Set only when reduced motion paused the clock, so turning reduced motion // back off never overrides a pause the controller asked for. bool _pausedForReducedMotion = false; @@ -368,7 +599,7 @@ class _BorderBeamState extends State with TickerProviderStateMixin { @override void initState() { super.initState(); - _createClock(); + _createOwnClock(); // The theme is not reachable yet; the widget's own values carry the beam // until didChangeDependencies resolves them properly, before first build. _timing = widget.timing ?? const BeamTiming(); @@ -376,6 +607,7 @@ class _BorderBeamState extends State with TickerProviderStateMixin { _cycleSeconds = _cycleSecondsOf(_timing, widget.variant); _applySpeed(); widget.controller?.attach(_clock); + widget.speedListenable?.addListener(_applySpeed); } // Resolves the scheduling inputs against the enclosing BorderBeamTheme; @@ -398,13 +630,25 @@ class _BorderBeamState extends State with TickerProviderStateMixin { _cycleSeconds = _cycleSecondsOf(timing, widget.variant); if (retime) _retimeToNewCycle(previousCycle, _cycleSeconds); _applySpeed(); + _syncResolverPlayback(); + _syncTickListener(); } - // A controller sets the clock's speed itself when it attaches, and owns it - // from then on. + // The rate the clock runs at: a live speedListenable first, then the + // controller that owns playback, then the resolved timing — scaled down + // while reduced motion asks for slow motion. A synced beam leaves the + // group's rate to its BeamSync. void _applySpeed() { - if (widget.controller != null) return; - _clock.speed = _timing.speed ?? 1; + if (_synced) return; + final base = + widget.speedListenable?.value ?? + widget.controller?.speed ?? + _timing.speed ?? + 1; + final factor = _reducedApplied == BeamReducedMotion.slow + ? _slowMotionFactor + : 1.0; + _clock.speed = base * factor; } @override @@ -412,14 +656,16 @@ class _BorderBeamState extends State with TickerProviderStateMixin { super.didChangeDependencies(); // Autoplay needs MediaQuery (reduced motion), so it can't run from // initState. Reduced motion is also tracked here, where a change to it - // is delivered. + // is delivered, as is the enclosing BeamSync. final first = !_autoPlayScheduled; + _adoptSharedClock(BeamSync.clockOf(context)); _resolveScheduling(retime: !first); - final reduced = _reducedMotion; + final reduced = _reduced; if (first) { _autoPlayScheduled = true; - _reducedMotionApplied = reduced; - if (widget.controller == null && _autoPlay && _active) { + _reducedApplied = reduced; + _applySpeed(); + if (!_synced && widget.controller == null && _autoPlay && _active) { final startAfter = _playback.startAfter; if (startAfter != null) { _startTimer = Timer(startAfter, _start); @@ -429,15 +675,42 @@ class _BorderBeamState extends State with TickerProviderStateMixin { } return; } - if (reduced == _reducedMotionApplied) return; - _reducedMotionApplied = reduced; - if (reduced) { + if (reduced == _reducedApplied) return; + _reducedApplied = reduced; + _applySpeed(); + // A group clock is BeamSync's to freeze, not one member's. + if (_synced) return; + if (_motionFrozen) { _pauseForReducedMotion(); } else { _leaveReducedMotion(); } } + // Moves this beam onto (or off) a BeamSync group clock. + void _adoptSharedClock(BeamClock? shared) { + if (shared == _sharedClock) return; + assert( + shared == null || widget.controller == null, + 'A BorderBeam under a BeamSync runs on the group clock, so it cannot ' + 'also take a BorderBeamController — a controller owns a clock of its ' + 'own. Drive the group through BeamSync, or move the beam out of it.', + ); + _detachTickListener(); + if (shared != null) { + final own = _ownClock; + _ownClock = null; + _sharedClock = shared; + own?.dispose(); + } else { + _sharedClock = null; + _createOwnClock(); + _applySpeed(); + if (widget.controller == null && _autoPlay && _active) _start(); + } + _syncTickListener(); + } + void _pauseForReducedMotion() { if (!_clock.isRunning) return; _clock.pause(); @@ -463,8 +736,8 @@ class _BorderBeamState extends State with TickerProviderStateMixin { _start(); } - void _createClock() { - _clock = BeamClock( + void _createOwnClock() { + _ownClock = BeamClock( createTicker: createTicker, maxFps: _strategy.preferredFps, onFadeComplete: _onFadeComplete, @@ -472,7 +745,7 @@ class _BorderBeamState extends State with TickerProviderStateMixin { } void _start() { - if (_reducedMotion) return; + if (_motionFrozen || _synced) return; _hasStarted = true; // Activating from hidden restarts the timeline, so the hue shift a // retime accumulated goes with it; a mid-fade-out re-activation keeps @@ -516,10 +789,136 @@ class _BorderBeamState extends State with TickerProviderStateMixin { } } - bool get _reducedMotion => - (_playback.reducedMotion ?? BeamReducedMotion.staticFrame) != - BeamReducedMotion.animate && - (MediaQuery.maybeDisableAnimationsOf(context) ?? false); + /// The reduced-motion behavior in force, or null when the platform is not + /// asking for it (or this beam ignores the ask). + BeamReducedMotion? get _reduced { + if (!(MediaQuery.maybeDisableAnimationsOf(context) ?? false)) return null; + final mode = _playback.reducedMotion ?? BeamReducedMotion.staticFrame; + return mode == BeamReducedMotion.animate ? null : mode; + } + + // A frozen beam stops ticking: the static frame and the hidden beam both + // have nothing to advance. Slow motion keeps running, at a quarter rate. + bool get _motionFrozen => + _reducedApplied == BeamReducedMotion.staticFrame || + _reducedApplied == BeamReducedMotion.hide; + + // ─── Repeat budget & driven travel ────────────────────────────────────── + + void _syncResolverPlayback() { + // Playback belongs to the group under a BeamSync, so one member's repeat + // budget must not stop everyone's clock. + _resolver?.repeatCycles = _synced ? null : _playback.repeat?.cycles; + } + + // The per-frame hook is only worth its cost while something needs it. + void _syncTickListener() { + final needed = + widget.follow != null || + _followValue != null || + (!_synced && _playback.repeat?.cycles != null); + if (!needed) { + _detachTickListener(); + return; + } + if (_listeningTo == _clock) return; + _detachTickListener(); + _listeningTo = _clock..addListener(_onClockTick); + _lastTickSeconds = _clock.elapsedSeconds; + } + + void _detachTickListener() { + _listeningTo?.removeListener(_onClockTick); + _listeningTo = null; + } + + void _onClockTick() { + final now = _clock.elapsedSeconds; + final dt = now - _lastTickSeconds; + _lastTickSeconds = now; + // A restart rewinds the timeline and a retime rescales it; neither step + // is a frame's worth of time, so it is dropped rather than eased across. + if (dt > 0 && dt < 0.25) _advanceFollow(dt); + _checkRepeatBudget(); + } + + void _checkRepeatBudget() { + final resolver = _resolver; + if (resolver == null || resolver.repeatCycles == null) return; + final clock = _clock; + if (!clock.isVisible || clock.stage == BeamFadeStage.fadingOut) return; + // The beam fades out the way an inactive one does, so the last cycle + // ends on a fade rather than a cut. + if (resolver.finishedAt(clock.elapsedSeconds)) clock.deactivate(); + } + + // The perimeter position the pointer is asking for, as sweep progress. + double? _followTarget() { + final follow = widget.follow; + final config = _config; + if (follow == null || config == null) return null; + switch (widget.variant) { + case BeamVariant.rotate || BeamVariant.small: + // Progress 0 sits at 12 o'clock and runs clockwise, so the angle to + // the point is measured from straight up. + final angle = + math.atan2(follow.dy - 0.5, follow.dx - 0.5) + math.pi / 2; + return (angle / (2 * math.pi)) % 1.0; + case BeamVariant.line: + // The beam travels one edge, so only the coordinate along it counts. + final along = switch (config.edge) { + BeamEdge.top || BeamEdge.bottom => follow.dx, + BeamEdge.left || BeamEdge.right => follow.dy, + }; + return along.clamp(0.0, 1.0); + case BeamVariant.pulseInside || BeamVariant.pulseOutside: + // Breathing has no travel to steer. + return null; + } + } + + void _advanceFollow(double dt) { + final target = _followTarget(); + final resolver = _resolver; + if (target == null || resolver == null) return; + final from = _followValue ?? _timedProgress(resolver); + // Shortest way round the contour: the beam never takes the long way to a + // point just behind it. + final delta = ((target - from) + 0.5) % 1.0 - 0.5; + final step = _smoothDamp( + current: from, + target: from + delta, + velocity: _followVelocity, + dt: dt, + response: _followResponseSeconds, + ); + _followVelocity = step.velocity; + _followValue = step.value % 1.0; + if (widget.progress == null) _driven.value = _followValue; + } + + double _timedProgress(BeamPhaseResolver resolver) => + resolver.sample(_clock.elapsedSeconds, 1).travelProgress; + + // Hands the sweep back to the clock where the pointer left it. Shifting + // the travel timeline is the same move as a phase offset, so the beam + // carries on from here instead of snapping back to its own schedule. + void _releaseFollow() { + final held = _followValue; + _followValue = null; + _followVelocity = 0; + _driven.value = widget.progress; + final resolver = _resolver; + if (held == null || resolver == null || _cycleSeconds <= 0) return; + final phases = resolver.sample(_clock.elapsedSeconds, 1); + var delta = held - phases.travelProgress; + // Travel time always runs forward; a mirrored cycle spends it backwards. + if (phases.reversedNow) delta = -delta; + delta = ((delta + 0.5) % 1.0) - 0.5; + resolver.travelTimeOffset += delta * _cycleSeconds; + } + + // ─── Lifecycle ────────────────────────────────────────────────────────── @override void didUpdateWidget(BorderBeam oldWidget) { @@ -529,19 +928,31 @@ class _BorderBeamState extends State with TickerProviderStateMixin { oldWidget.controller?.detach(_clock); widget.controller?.attach(_clock); } + if (oldWidget.speedListenable != widget.speedListenable) { + oldWidget.speedListenable?.removeListener(_applySpeed); + widget.speedListenable?.addListener(_applySpeed); + } final variantChanged = oldWidget.variant != widget.variant; _resolveScheduling(retime: !variantChanged); - if (variantChanged) { + if (variantChanged && !_synced) { // The fps cap is variant-bound; rebuild the clock. final wasVisible = _clock.isVisible; widget.controller?.detach(_clock); - _clock.dispose(); - _createClock(); + _detachTickListener(); + _ownClock!.dispose(); + _createOwnClock(); _applySpeed(); widget.controller?.attach(_clock); + _syncTickListener(); if (wasVisible && widget.controller == null && _active) _start(); } - if (widget.controller == null && wasActive != _active) { + // The pointer left: release now rather than waiting for a tick, which a + // paused or stopped clock would never deliver. + if (widget.follow == null && _followValue != null) { + _releaseFollow(); + _syncTickListener(); + } + if (!_synced && widget.controller == null && wasActive != _active) { _startTimer?.cancel(); if (_active) { _start(); @@ -556,8 +967,11 @@ class _BorderBeamState extends State with TickerProviderStateMixin { void dispose() { _startTimer?.cancel(); _durationTimer?.cancel(); + widget.speedListenable?.removeListener(_applySpeed); + _detachTickListener(); widget.controller?.detach(_clock); - _clock.dispose(); + _ownClock?.dispose(); + _driven.dispose(); super.dispose(); } @@ -568,11 +982,12 @@ class _BorderBeamState extends State with TickerProviderStateMixin { TextDirection textDirection, ) { final brightness = (style.theme ?? BeamTheme.auto).resolve(ambient); + final timing = _configTiming(_timing); final key = ( widget.variant, style, shape, - _timing, + timing, brightness, textDirection, ); @@ -584,10 +999,11 @@ class _BorderBeamState extends State with TickerProviderStateMixin { brightness: brightness, style: style, shape: shape, - timing: _timing, + timing: timing, textDirection: textDirection, ); _resolver = BeamPhaseResolver(_config!)..hueTimeOffset = _hueTimeOffset; + _syncResolverPlayback(); } return _config!; } @@ -604,14 +1020,21 @@ class _BorderBeamState extends State with TickerProviderStateMixin { Directionality.maybeOf(context) ?? TextDirection.ltr, ); final strategy = _strategy; - final reduced = _reducedMotion; + final playing = (widget.controller != null || _synced) + ? _clock.isVisible + : _active && _autoPlay; final staticMode = - reduced && - (widget.controller != null ? _clock.isVisible : _active && _autoPlay); + _reducedApplied == BeamReducedMotion.staticFrame && playing; + // BeamReducedMotion.hide leaves the child bare: no painter, no ticks. + final hidden = _reducedApplied == BeamReducedMotion.hide; + + // An explicit progress owns the sweep; a follow gesture only steers what + // the clock would otherwise drive. + _driven.value = widget.progress?.clamp(0.0, 1.0) ?? _followValue; return RepaintBoundary( child: CustomPaint( - painter: widget.variant == BeamVariant.pulseOutside + painter: !hidden && widget.variant == BeamVariant.pulseOutside ? BeamPainter( clock: _clock, config: config, @@ -619,16 +1042,22 @@ class _BorderBeamState extends State with TickerProviderStateMixin { strategy: strategy, behind: true, staticMode: staticMode, + progress: _driven, + strength: widget.strengthListenable, ) : null, - foregroundPainter: BeamPainter( - clock: _clock, - config: config, - resolver: _resolver!, - strategy: strategy, - behind: false, - staticMode: staticMode, - ), + foregroundPainter: hidden + ? null + : BeamPainter( + clock: _clock, + config: config, + resolver: _resolver!, + strategy: strategy, + behind: false, + staticMode: staticMode, + progress: _driven, + strength: widget.strengthListenable, + ), // The child never re-rasterizes with the beam's frames. child: RepaintBoundary(child: widget.child), ), diff --git a/lib/src/border_beam_controller.dart b/lib/src/border_beam_controller.dart index 7937d41..095387a 100644 --- a/lib/src/border_beam_controller.dart +++ b/lib/src/border_beam_controller.dart @@ -66,6 +66,25 @@ class BorderBeamController extends ChangeNotifier { notifyListeners(); } + /// Bumps the beam's brightness once and lets it settle (~0.6s), without + /// touching the timeline — the way to mark a moment (a message arrived, a + /// step finished) on a beam that is already running. + /// + /// No-op while the beam is hidden or frozen. + void pulse() { + _clock?.pulse(); + notifyListeners(); + } + + /// Blinks the beam to full opacity, holds 120ms, and decays — a sharper, + /// brighter accent than [pulse]. + /// + /// No-op while the beam is hidden or frozen. + void flash() { + _clock?.flash(); + notifyListeners(); + } + /// Jumps the animation timeline to [position]. void seek(Duration position) { _clock?.seek(position.inMicroseconds / Duration.microsecondsPerSecond); diff --git a/lib/src/painting/beam_painter.dart b/lib/src/painting/beam_painter.dart index 6f3d09e..61e06a4 100644 --- a/lib/src/painting/beam_painter.dart +++ b/lib/src/painting/beam_painter.dart @@ -1,3 +1,4 @@ +import 'package:flutter/foundation.dart'; import 'package:flutter/rendering.dart'; import '../animation/beam_clock.dart'; @@ -22,7 +23,7 @@ BeamVariantStrategy strategyFor(BeamVariant variant) => switch (variant) { /// The beam's [CustomPainter]. One instance paints either the behind-child /// pass or the above-child pass of its strategy; repaints are driven /// directly by the [BeamClock] (no widget rebuilds per frame). -class BeamPainter extends CustomPainter { +class BeamPainter extends CustomPainter with Diagnosticable { /// Creates a painter bound to [clock]. BeamPainter({ required this.clock, @@ -31,7 +32,9 @@ class BeamPainter extends CustomPainter { required this.strategy, required this.behind, required this.staticMode, - }) : super(repaint: clock); + this.progress, + this.strength, + }) : super(repaint: Listenable.merge([clock, ?progress, ?strength])); /// The time source; also the repaint trigger. final BeamClock clock; @@ -51,14 +54,37 @@ class BeamPainter extends CustomPainter { /// Reduced-motion mode: paint one static frame, ignore the clock. final bool staticMode; + /// The externally driven sweep position (0–1), or null when nothing + /// drives it. + /// + /// Held as a listenable rather than a value so `BorderBeam.progress` and + /// `BorderBeam.follow` can move the beam without rebuilding the config. + final ValueListenable? progress; + + /// A per-frame multiplier on every layer's opacity, or null for none. + /// + /// `BorderBeam.strengthListenable`, the live twin of `BeamStyle.strength`: + /// it repaints without rebuilding, and the reduced-motion static frame + /// ignores it along with the rest of the clock. + final ValueListenable? strength; + @override void paint(Canvas canvas, Size size) { + final driven = progress?.value; final BeamFramePhases phases; if (staticMode) { - phases = resolver.staticFrame(); + phases = resolver.staticFrame(progress: driven); } else { if (!clock.isVisible) return; - phases = resolver.sample(clock.elapsedSeconds, clock.fadeOpacity); + // The boost and the live strength both scale every layer, and layer + // opacity is clamped at paint time — so they ride in on the fade + // rather than needing a channel of their own. + final amplitude = clock.boost * (strength?.value ?? 1); + phases = resolver.sample( + clock.elapsedSeconds, + clock.fadeOpacity * amplitude, + progress: driven, + ); } if (behind) { strategy.paintBehind(canvas, size, config, phases); @@ -73,5 +99,23 @@ class BeamPainter extends CustomPainter { oldDelegate.strategy != strategy || oldDelegate.behind != behind || oldDelegate.staticMode != staticMode || - oldDelegate.clock != clock; + oldDelegate.clock != clock || + oldDelegate.progress != progress || + oldDelegate.strength != strength; + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(DiagnosticsProperty('config', config)) + ..add(FlagProperty('behind', value: behind, ifTrue: 'behind child')) + ..add( + FlagProperty('staticMode', value: staticMode, ifTrue: 'static frame'), + ) + ..add(DoubleProperty('elapsedSeconds', clock.elapsedSeconds)) + ..add(DoubleProperty('fadeOpacity', clock.fadeOpacity)) + ..add(DoubleProperty('boost', clock.boost, defaultValue: 1.0)) + ..add(DoubleProperty('progress', progress?.value, defaultValue: null)) + ..add(DoubleProperty('strength', strength?.value, defaultValue: null)); + } } diff --git a/test/animation/beam_travel_test.dart b/test/animation/beam_travel_test.dart new file mode 100644 index 0000000..e641005 --- /dev/null +++ b/test/animation/beam_travel_test.dart @@ -0,0 +1,391 @@ +import 'dart:math' as math; +import 'dart:ui'; + +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/animation/beam_phases.dart'; +import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// The travel half of the phase resolver: which way the beam runs, where its +/// timeline starts, how many beams share the contour, which shape the hue +/// track takes, and when the repeat budget is spent. +/// +/// Every one of these is a pure function of elapsed time, so they are tested +/// against the resolver directly rather than through a mounted widget. +void main() { + const cycle = Duration(milliseconds: 1960); + const cycleSeconds = 1.96; + + BeamPhaseResolver resolverFor({ + BeamVariant variant = BeamVariant.rotate, + BeamDirection? direction, + double? phaseOffset, + int? beamCount, + Duration? cycleGap, + BeamHueMode? hueMode, + double? hueRange, + BeamEdge? edge, + }) => BeamPhaseResolver( + BeamConfig.resolve( + variant: variant, + palette: BeamColors.colorful.resolve(), + brightness: Brightness.dark, + style: BeamStyle(hueMode: hueMode, hueRange: hueRange), + shape: BeamShape(edge: edge), + timing: BeamTiming( + cycle: cycle, + cycleGap: cycleGap, + direction: direction, + phaseOffset: phaseOffset, + beamCount: beamCount, + ), + ), + ); + + group('direction', () { + test('forward runs the sweep from 0 to 1 across the cycle', () { + final resolver = resolverFor(); + expect(resolver.sample(0, 1).travelProgress, closeTo(0, 1e-9)); + expect( + resolver.sample(cycleSeconds * 0.25, 1).travelProgress, + closeTo(0.25, 1e-9), + ); + expect( + resolver.sample(cycleSeconds * 0.25, 1).angleRadians, + closeTo(math.pi / 2, 1e-9), + ); + expect(resolver.sample(cycleSeconds * 0.25, 1).reversedNow, isFalse); + }); + + test('reverse mirrors every traveller and flags the frame', () { + final forward = resolverFor(); + final reverse = resolverFor(direction: BeamDirection.reverse); + for (final t in [0.0, 0.4, 1.1, cycleSeconds * 0.75, 5.3]) { + expect( + reverse.sample(t, 1).travelProgress, + closeTo(1 - forward.sample(t, 1).travelProgress, 1e-9), + reason: 'the mirror of the forward sweep at ${t}s', + ); + } + expect(reverse.sample(1.3, 1).reversedNow, isTrue); + }); + + test('reverse runs the angle counter-clockwise', () { + final resolver = resolverFor(direction: BeamDirection.reverse); + final early = resolver.sample(cycleSeconds * 0.1, 1).angleRadians; + final later = resolver.sample(cycleSeconds * 0.2, 1).angleRadians; + expect(later, lessThan(early)); + }); + + test('bounce alternates per cycle, starting forward', () { + final resolver = resolverFor(direction: BeamDirection.bounce); + // Quarter of the way into cycles 0, 1, and 2. + expect( + resolver.sample(cycleSeconds * 0.25, 1).travelProgress, + closeTo(0.25, 1e-9), + ); + expect(resolver.sample(cycleSeconds * 0.25, 1).reversedNow, isFalse); + expect( + resolver.sample(cycleSeconds * 1.25, 1).travelProgress, + closeTo(0.75, 1e-9), + ); + expect(resolver.sample(cycleSeconds * 1.25, 1).reversedNow, isTrue); + expect( + resolver.sample(cycleSeconds * 2.25, 1).travelProgress, + closeTo(0.25, 1e-9), + ); + expect(resolver.sample(cycleSeconds * 2.25, 1).reversedNow, isFalse); + }); + + test('bounce counts cycles including the gap', () { + final resolver = resolverFor( + direction: BeamDirection.bounce, + cycleGap: const Duration(seconds: 1), + ); + // The sweep ends at 1.96s but the cycle only does at 2.96s, so the + // rest between them still belongs to the forward cycle. + expect(resolver.sample(2.5, 1).reversedNow, isFalse); + expect( + resolver.sample(2.96 + cycleSeconds * 0.25, 1).reversedNow, + isTrue, + ); + expect( + resolver.sample(2 * 2.96 + cycleSeconds * 0.25, 1).reversedNow, + isFalse, + ); + }); + + test('reverse parks at the mirrored end through a cycle gap', () { + final resolver = resolverFor( + direction: BeamDirection.reverse, + cycleGap: const Duration(seconds: 1), + ); + final resting = resolver.sample(cycleSeconds + 0.5, 1); + expect(resting.travelProgress, closeTo(0, 1e-9)); + expect(resting.fadeOpacity, 0, reason: 'the gap still rests the beam'); + }); + + test('the line variant reverses its travel table', () { + final forward = resolverFor(variant: BeamVariant.line); + final reverse = resolverFor( + variant: BeamVariant.line, + direction: BeamDirection.reverse, + ); + final at = cycleSeconds * 0.3; + expect( + reverse.sample(at, 1).lineX, + closeTo(forward.sample(cycleSeconds * 0.7, 1).lineX, 1e-9), + ); + }); + }); + + group('phaseOffset', () { + test('starts the timeline that fraction of a cycle in', () { + final resolver = resolverFor(phaseOffset: 0.25); + expect(resolver.sample(0, 1).travelProgress, closeTo(0.25, 1e-9)); + expect( + resolver.sample(cycleSeconds * 0.5, 1).travelProgress, + closeTo(0.75, 1e-9), + ); + }); + + test('leaves the hue track where it was', () { + final plain = resolverFor(); + final shifted = resolverFor(phaseOffset: 0.5); + expect( + shifted.sample(1.3, 1).hueDegrees, + closeTo(plain.sample(1.3, 1).hueDegrees, 1e-9), + ); + }); + + test('a whole-cycle offset is the identity', () { + final plain = resolverFor(); + final shifted = resolverFor(phaseOffset: 1); + expect( + shifted.sample(0.7, 1).travelProgress, + closeTo(plain.sample(0.7, 1).travelProgress, 1e-9), + ); + }); + }); + + group('beamCount', () { + test('one beam is a single-entry list holding the head', () { + final phases = resolverFor().sample(0.5, 1); + expect(phases.travellers, hasLength(1)); + expect(phases.travellers.single, phases.travelProgress); + }); + + test('spaces the beams evenly and keeps the head first', () { + final phases = resolverFor(beamCount: 3).sample(cycleSeconds * 0.1, 1); + expect(phases.travellers, hasLength(3)); + expect(phases.travellers.first, closeTo(0.1, 1e-9)); + expect(phases.travellers[1], closeTo(0.1 + 1 / 3, 1e-9)); + expect(phases.travellers[2], closeTo(0.1 + 2 / 3, 1e-9)); + expect(phases.travelProgress, phases.travellers.first); + }); + + test('wraps the trailing beams into 0–1', () { + final phases = resolverFor(beamCount: 4).sample(cycleSeconds * 0.9, 1); + expect(phases.travellers, hasLength(4)); + for (final p in phases.travellers) { + expect(p, inInclusiveRange(0, 1)); + } + expect(phases.travellers[1], closeTo(0.15, 1e-9)); + }); + + test('reverse spaces the beams the other way round', () { + final phases = resolverFor( + beamCount: 2, + direction: BeamDirection.reverse, + ).sample(cycleSeconds * 0.1, 1); + expect(phases.travellers.first, closeTo(0.9, 1e-9)); + expect(phases.travellers[1], closeTo(0.4, 1e-9)); + }); + + test('the spacing holds all the way round the cycle', () { + final resolver = resolverFor(beamCount: 5); + for (final t in [0.0, 0.3, 1.1, 1.9, 4.4]) { + final travellers = resolver.sample(t, 1).travellers; + for (var i = 1; i < travellers.length; i++) { + final gap = (travellers[i] - travellers[i - 1]) % 1.0; + expect(gap, closeTo(0.2, 1e-9), reason: 'beams $i and ${i - 1}'); + } + } + }); + }); + + group('hueMode', () { + test('the traveling variants ping-pong by default', () { + final resolver = resolverFor(hueRange: 30); + // 12s period: a quarter in is the middle of the upward swing. + expect(resolver.sample(0, 1).hueDegrees, closeTo(-30, 1e-9)); + expect(resolver.sample(6, 1).hueDegrees, closeTo(30, 1e-9)); + expect(resolver.sample(12, 1).hueDegrees, closeTo(-30, 1e-9)); + }); + + test('the pulse variants revolve by default', () { + final resolver = resolverFor(variant: BeamVariant.pulseInside); + // 16s period for pulse-inside. + expect(resolver.sample(0, 1).hueDegrees, closeTo(0, 1e-9)); + expect(resolver.sample(8, 1).hueDegrees, closeTo(180, 1e-9)); + expect(resolver.sample(16, 1).hueDegrees, closeTo(0, 1e-9)); + }); + + for (final variant in BeamVariant.values) { + test('$variant: continuous revolves through 360°', () { + final resolver = resolverFor( + variant: variant, + hueMode: BeamHueMode.continuous, + ); + final period = resolver.config.huePeriodSeconds; + expect(resolver.sample(0, 1).hueDegrees, closeTo(0, 1e-9)); + expect(resolver.sample(period / 4, 1).hueDegrees, closeTo(90, 1e-9)); + expect(resolver.sample(period * 0.999, 1).hueDegrees, greaterThan(359)); + }); + + test('$variant: pingPong stays inside ±hueRange', () { + final resolver = resolverFor( + variant: variant, + hueMode: BeamHueMode.pingPong, + hueRange: 20, + ); + final range = resolver.config.hueRange; + for (var i = 0; i <= 40; i++) { + final hue = resolver.sample(i * 0.7, 1).hueDegrees; + expect(hue, inInclusiveRange(-range - 1e-9, range + 1e-9)); + } + }); + } + + test('static colors beat both modes', () { + final resolver = BeamPhaseResolver( + BeamConfig.resolve( + variant: BeamVariant.rotate, + palette: BeamColors.colorful.resolve(), + brightness: Brightness.dark, + style: const BeamStyle( + staticColors: true, + hueMode: BeamHueMode.continuous, + ), + ), + ); + expect(resolver.sample(5, 1).hueDegrees, 0); + }); + }); + + group('repeat budget', () { + test('no budget never finishes', () { + final resolver = resolverFor(); + expect(resolver.finishedAt(1000), isFalse); + expect(resolver.sample(1000, 1).finished, isFalse); + }); + + test('one cycle finishes at the cycle boundary', () { + final resolver = resolverFor()..repeatCycles = 1; + expect(resolver.finishedAt(cycleSeconds - 0.001), isFalse); + expect(resolver.finishedAt(cycleSeconds + 0.001), isTrue); + expect(resolver.sample(cycleSeconds + 0.001, 1).finished, isTrue); + }); + + test('a count finishes after that many cycles', () { + final resolver = resolverFor()..repeatCycles = 3; + expect(resolver.finishedAt(3 * cycleSeconds - 0.001), isFalse); + expect(resolver.finishedAt(3 * cycleSeconds + 0.001), isTrue); + }); + + test('the gap counts toward a cycle', () { + final resolver = resolverFor(cycleGap: const Duration(seconds: 1)) + ..repeatCycles = 1; + expect(resolver.finishedAt(cycleSeconds + 0.5), isFalse); + expect(resolver.finishedAt(cycleSeconds + 1.1), isTrue); + }); + + test('a phase offset moves the finish with the timeline', () { + final resolver = resolverFor(phaseOffset: 0.5)..repeatCycles = 1; + expect(resolver.finishedAt(cycleSeconds * 0.4), isFalse); + expect(resolver.finishedAt(cycleSeconds * 0.6), isTrue); + }); + + test('the pulse variants report it too', () { + final resolver = resolverFor(variant: BeamVariant.pulseInside) + ..repeatCycles = 2; + final period = resolver.config.cycleSeconds; + expect(resolver.sample(2 * period - 0.01, 1).finished, isFalse); + expect(resolver.sample(2 * period + 0.01, 1).finished, isTrue); + }); + }); + + group('driven progress', () { + test('replaces the sweep with the given value', () { + final resolver = resolverFor(); + final phases = resolver.sample(0.9, 1, progress: 0.25); + expect(phases.travelProgress, closeTo(0.25, 1e-9)); + expect(phases.angleRadians, closeTo(math.pi / 2, 1e-9)); + }); + + test('the same value paints the same frame at any time', () { + final resolver = resolverFor(); + expect( + resolver.sample(0.3, 1, progress: 0.6).angleRadians, + closeTo(resolver.sample(7.4, 1, progress: 0.6).angleRadians, 1e-9), + ); + }); + + test('clamps out-of-range values', () { + final resolver = resolverFor(); + expect(resolver.sample(0, 1, progress: 1.4).travelProgress, 1); + expect(resolver.sample(0, 1, progress: -0.3).travelProgress, 0); + }); + + test('ignores the cycle gap — a readout never rests', () { + final resolver = resolverFor(cycleGap: const Duration(seconds: 1)); + final resting = resolver.sample(cycleSeconds + 0.5, 1, progress: 0.4); + expect(resting.fadeOpacity, 1); + expect(resting.travelProgress, closeTo(0.4, 1e-9)); + }); + + test('keeps the hue and the line texture tracks running', () { + final resolver = resolverFor(variant: BeamVariant.line); + final early = resolver.sample(0.4, 1, progress: 0.5); + final late = resolver.sample(3.4, 1, progress: 0.5); + expect(early.hueDegrees, isNot(closeTo(late.hueDegrees, 1e-6))); + expect(early.lineH, isNot(closeTo(late.lineH, 1e-6))); + expect(early.lineX, closeTo(late.lineX, 1e-9)); + }); + + test('spreads multiple beams around the driven position', () { + final phases = resolverFor(beamCount: 2).sample(0, 1, progress: 0.25); + expect(phases.travellers, hasLength(2)); + expect(phases.travellers[1], closeTo(0.75, 1e-9)); + }); + + test('the static frame honors it', () { + final resolver = resolverFor(); + expect( + resolver.staticFrame(progress: 0.25).angleRadians, + closeTo(math.pi / 2, 1e-9), + ); + expect(resolver.staticFrame().angleRadians, closeTo(math.pi, 1e-9)); + }); + }); + + group('travelTimeOffset', () { + test('shifts the sweep without touching the hue', () { + final plain = resolverFor(); + final shifted = resolverFor()..travelTimeOffset = cycleSeconds * 0.25; + expect(shifted.sample(0, 1).travelProgress, closeTo(0.25, 1e-9)); + expect( + shifted.sample(1.3, 1).hueDegrees, + closeTo(plain.sample(1.3, 1).hueDegrees, 1e-9), + ); + }); + + test('a negative offset runs the sweep behind', () { + final resolver = resolverFor()..travelTimeOffset = -cycleSeconds * 0.25; + expect( + resolver.sample(cycleSeconds * 0.5, 1).travelProgress, + closeTo(0.25, 1e-9), + ); + }); + }); +} diff --git a/test/golden/goldens/motion_line_reverse.png b/test/golden/goldens/motion_line_reverse.png new file mode 100644 index 0000000000000000000000000000000000000000..de172d5dc157757df05683d05c871a1466ee8d2c GIT binary patch literal 70509 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 gTfm2Gy+unMMG-M%pPwUPgc$_^>GnhX*h6cM!a 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 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/motion_progress_0_5.png b/test/golden/goldens/motion_progress_0_5.png new file mode 100644 index 0000000000000000000000000000000000000000..f7066a6e49b4a08462e9c0699fac1a5caefa2f06 GIT binary patch literal 60809 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 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/motion_rotate_reverse.png b/test/golden/goldens/motion_rotate_reverse.png new file mode 100644 index 0000000000000000000000000000000000000000..f4db45cd65e0e7a77aa7fce283d7a7c8a3467cf9 GIT binary patch literal 65266 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%0ADC@p*U8$v{P)|-z>Ua*YGjQo^k8f9ZSo@- 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 Wd-J;*LlIlju()D-8EbO={{H}ShjAAG literal 0 HcmV?d00001 diff --git a/test/golden/motion_golden_test.dart b/test/golden/motion_golden_test.dart new file mode 100644 index 0000000..e5b88dc --- /dev/null +++ b/test/golden/motion_golden_test.dart @@ -0,0 +1,111 @@ +@Tags(['golden']) +library; + +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// Golden scenes for the motion options — travel direction, several beams on +/// one contour, and a sweep driven from a value instead of the clock. +/// +/// They share the frozen-clock convention of `beam_golden_test.dart` (dark +/// theme, colorful palette, t = 1.3s) so each image can be read against the +/// plain `rotate_dark_colorful` / `line_dark_colorful` frame it varies. +/// +/// Regenerate with: +/// flutter test --update-goldens --tags golden +void main() { + Widget scene({ + required Widget beam, + double width = 350, + double height = 140, + }) => MaterialApp( + debugShowCheckedModeBanner: false, + theme: ThemeData(brightness: Brightness.dark), + home: ColoredBox( + // The demo backdrop of the source library. + color: const Color(0xFF070707), + child: Center( + child: SizedBox(width: width, height: height, child: beam), + ), + ), + ); + + Widget mockSurface({double radius = 16}) => DecoratedBox( + decoration: BoxDecoration( + color: const Color(0xFF1D1D1D), + borderRadius: BorderRadius.circular(radius), + border: Border.all(color: const Color(0x14FFFFFF)), + ), + ); + + Future capture( + WidgetTester tester, + String name, + Widget beam, { + Duration freeze = const Duration(milliseconds: 1300), + }) async { + await tester.pumpWidget(scene(beam: beam)); + await tester.pump(); + await tester.pump(freeze); + await expectLater( + find.byType(MaterialApp), + matchesGoldenFile('goldens/$name.png'), + ); + } + + // The mirror of `rotate_dark_colorful`: same instant, same hue, the head + // the same distance round the border — the other way. + testWidgets('rotate reverse', (tester) async { + await capture( + tester, + 'motion_rotate_reverse', + BorderBeam.rotate( + style: const BeamStyle(theme: BeamTheme.dark), + timing: const BeamTiming(direction: BeamDirection.reverse), + child: mockSurface(), + ), + ); + }); + + // Two beams half a cycle apart: opposite sides of the border at every + // instant. + testWidgets('rotate with two beams', (tester) async { + await capture( + tester, + 'motion_rotate_beamcount2', + BorderBeam.rotate( + style: const BeamStyle(theme: BeamTheme.dark), + timing: const BeamTiming(beamCount: 2), + child: mockSurface(), + ), + ); + }); + + // A driven sweep: the beam sits at half its travel no matter how long the + // clock has run, which is what makes rotate readable as a progress ring. + testWidgets('rotate driven to half progress', (tester) async { + await capture( + tester, + 'motion_progress_0_5', + BorderBeam.rotate( + style: const BeamStyle(theme: BeamTheme.dark), + progress: 0.5, + child: mockSurface(), + ), + ); + }); + + // The line beam travelling right-to-left, against `line_dark_colorful`. + testWidgets('line reverse', (tester) async { + await capture( + tester, + 'motion_line_reverse', + BorderBeam.line( + style: const BeamStyle(theme: BeamTheme.dark), + timing: const BeamTiming(direction: BeamDirection.reverse), + child: mockSurface(), + ), + ); + }); +} diff --git a/test/widget/beam_motion_test.dart b/test/widget/beam_motion_test.dart new file mode 100644 index 0000000..603be25 --- /dev/null +++ b/test/widget/beam_motion_test.dart @@ -0,0 +1,428 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/animation/beam_clock.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_test/flutter_test.dart'; + +Widget _host(Widget child, {bool disableAnimations = false}) => MaterialApp( + theme: ThemeData(brightness: Brightness.dark), + builder: (context, app) => MediaQuery( + data: MediaQuery.of(context).copyWith(disableAnimations: disableAnimations), + child: app!, + ), + home: Scaffold( + body: Center(child: SizedBox(width: 350, height: 140, child: child)), + ), +); + +Iterable _painters(WidgetTester tester) => tester + .widgetList( + find.descendant( + of: find.byType(BorderBeam), + matching: find.byType(CustomPaint), + ), + ) + .expand((paint) => [paint.painter, paint.foregroundPainter]) + .whereType(); + +BeamPainter _painter(WidgetTester tester) => _painters(tester).first; + +BeamClock _clock(WidgetTester tester) => _painter(tester).clock; + +/// Playback beyond plain on/off: what reduced motion does to the four +/// behaviors, when a repeat budget ends a run, and the one-shot brightness +/// envelopes. +void main() { + group('reducedMotion', () { + testWidgets('animate ignores the platform request', (tester) async { + await tester.pumpWidget( + _host( + disableAnimations: true, + const BorderBeam.rotate( + playback: BeamPlayback(reducedMotion: BeamReducedMotion.animate), + child: SizedBox.expand(), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 500)); + final clock = _clock(tester); + expect(clock.isRunning, isTrue); + expect(clock.elapsedSeconds, closeTo(0.5, 1e-9)); + expect(_painter(tester).staticMode, isFalse); + expect(tester.binding.hasScheduledFrame, isTrue); + }); + + testWidgets('staticFrame freezes on one frame', (tester) async { + await tester.pumpWidget( + _host( + disableAnimations: true, + const BorderBeam.rotate( + playback: BeamPlayback( + reducedMotion: BeamReducedMotion.staticFrame, + ), + child: SizedBox.expand(), + ), + ), + ); + await tester.pump(const Duration(seconds: 1)); + expect(tester.binding.hasScheduledFrame, isFalse); + final painter = _painter(tester); + expect(painter.staticMode, isTrue); + expect(painter.clock.isRunning, isFalse); + }); + + testWidgets('staticFrame is the default', (tester) async { + await tester.pumpWidget( + _host( + disableAnimations: true, + const BorderBeam.rotate(child: SizedBox.expand()), + ), + ); + await tester.pump(const Duration(seconds: 1)); + expect(_painter(tester).staticMode, isTrue); + }); + + testWidgets('hide paints nothing and never ticks', (tester) async { + await tester.pumpWidget( + _host( + disableAnimations: true, + const BorderBeam.rotate( + playback: BeamPlayback(reducedMotion: BeamReducedMotion.hide), + child: SizedBox.expand(), + ), + ), + ); + await tester.pump(const Duration(seconds: 1)); + expect(_painters(tester), isEmpty, reason: 'no painter is mounted'); + expect(tester.binding.transientCallbackCount, 0); + expect(tester.binding.hasScheduledFrame, isFalse); + }); + + testWidgets('hide paints the beam again once the request lifts', ( + tester, + ) async { + Widget build(bool reduced) => _host( + disableAnimations: reduced, + const BorderBeam.rotate( + playback: BeamPlayback(reducedMotion: BeamReducedMotion.hide), + child: SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(true)); + await tester.pump(const Duration(seconds: 1)); + expect(_painters(tester), isEmpty); + + await tester.pumpWidget(build(false)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 300)); + expect(_painters(tester), isNotEmpty); + expect(_clock(tester).isRunning, isTrue); + }); + + testWidgets('slow runs the clock at a quarter rate', (tester) async { + await tester.pumpWidget( + _host( + disableAnimations: true, + const BorderBeam.rotate( + playback: BeamPlayback(reducedMotion: BeamReducedMotion.slow), + child: SizedBox.expand(), + ), + ), + ); + final clock = _clock(tester); + expect(clock.speed, 0.25); + expect(_painter(tester).staticMode, isFalse); + await tester.pump(); + await tester.pump(const Duration(seconds: 1)); + expect(clock.elapsedSeconds, closeTo(0.25, 1e-9)); + }); + + testWidgets('slow scales the configured speed rather than replacing it', ( + tester, + ) async { + await tester.pumpWidget( + _host( + disableAnimations: true, + const BorderBeam.rotate( + timing: BeamTiming(speed: 2), + playback: BeamPlayback(reducedMotion: BeamReducedMotion.slow), + child: SizedBox.expand(), + ), + ), + ); + expect(_clock(tester).speed, 0.5); + }); + + testWidgets('slow restores the rate when the request lifts', ( + tester, + ) async { + Widget build(bool reduced) => _host( + disableAnimations: reduced, + const BorderBeam.rotate( + timing: BeamTiming(speed: 2), + playback: BeamPlayback(reducedMotion: BeamReducedMotion.slow), + child: SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(true)); + final clock = _clock(tester); + expect(clock.speed, 0.5); + + await tester.pumpWidget(build(false)); + expect(clock.speed, 2); + + await tester.pumpWidget(build(true)); + expect(clock.speed, 0.5); + }); + }); + + group('repeat', () { + testWidgets('once fades out after a single cycle', (tester) async { + var deactivated = 0; + await tester.pumpWidget( + _host( + BorderBeam.rotate( + playback: BeamPlayback(repeat: const BeamRepeat.once()), + onDeactivate: () => deactivated++, + child: const SizedBox.expand(), + ), + ), + ); + await tester.pump(); + // The rotate cycle is 1.96s; nothing has expired before it. + await tester.pump(const Duration(milliseconds: 1900)); + expect(_clock(tester).stage, isNot(BeamFadeStage.fadingOut)); + expect(deactivated, 0); + + await tester.pump(const Duration(milliseconds: 100)); + expect( + _clock(tester).stage, + BeamFadeStage.fadingOut, + reason: 'the last cycle ends on a fade, not a cut', + ); + expect(deactivated, 0, reason: 'the fade has not finished yet'); + + await tester.pump(const Duration(milliseconds: 600)); + expect(deactivated, 1); + expect(_clock(tester).isVisible, isFalse); + }); + + testWidgets('count(3) runs three cycles', (tester) async { + var deactivated = 0; + await tester.pumpWidget( + _host( + BorderBeam.rotate( + playback: BeamPlayback(repeat: const BeamRepeat.count(3)), + onDeactivate: () => deactivated++, + child: const SizedBox.expand(), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 5800)); + expect(_clock(tester).stage, isNot(BeamFadeStage.fadingOut)); + + await tester.pump(const Duration(milliseconds: 200)); + expect(_clock(tester).stage, BeamFadeStage.fadingOut); + await tester.pump(const Duration(milliseconds: 600)); + expect(deactivated, 1); + }); + + testWidgets('the gap counts toward the budget', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeam.rotate( + timing: BeamTiming(cycleGap: Duration(seconds: 1)), + playback: BeamPlayback(repeat: BeamRepeat.once()), + child: SizedBox.expand(), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 2500)); + expect( + _clock(tester).stage, + isNot(BeamFadeStage.fadingOut), + reason: 'the rest between sweeps is part of the cycle', + ); + await tester.pump(const Duration(milliseconds: 600)); + expect(_clock(tester).stage, BeamFadeStage.fadingOut); + }); + + testWidgets('forever never stops on its own', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeam.rotate( + playback: BeamPlayback(repeat: BeamRepeat.forever()), + child: SizedBox.expand(), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(seconds: 12)); + expect(_clock(tester).isVisible, isTrue); + expect(_clock(tester).stage, isNot(BeamFadeStage.fadingOut)); + }); + + testWidgets('a restart runs the budget again', (tester) async { + final controller = BorderBeamController(); + addTearDown(controller.dispose); + await tester.pumpWidget( + _host( + BorderBeam.rotate( + controller: controller, + playback: const BeamPlayback(repeat: BeamRepeat.once()), + child: const SizedBox.expand(), + ), + ), + ); + controller.start(); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 2000)); + expect(_clock(tester).stage, BeamFadeStage.fadingOut); + await tester.pump(const Duration(milliseconds: 600)); + expect(controller.isActive, isFalse); + + controller.start(); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 500)); + expect(controller.isActive, isTrue); + expect(_clock(tester).stage, isNot(BeamFadeStage.fadingOut)); + }); + }); + + group('pulse and flash', () { + testWidgets('pulse rises and settles back to rest', (tester) async { + final controller = BorderBeamController(); + addTearDown(controller.dispose); + await tester.pumpWidget( + _host( + BorderBeam.rotate( + controller: controller, + child: const SizedBox.expand(), + ), + ), + ); + controller.start(); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + final clock = _clock(tester); + expect(clock.boost, 1); + + controller.pulse(); + expect(clock.isBoosting, isTrue); + await tester.pump(const Duration(milliseconds: 240)); + expect(clock.boost, closeTo(BeamClock.pulsePeak, 1e-6)); + + await tester.pump(const Duration(milliseconds: 180)); + expect(clock.boost, greaterThan(1)); + expect(clock.boost, lessThan(BeamClock.pulsePeak)); + + await tester.pump(const Duration(milliseconds: 200)); + expect(clock.boost, 1); + expect(clock.isBoosting, isFalse); + }); + + testWidgets('flash holds at the peak before decaying', (tester) async { + final controller = BorderBeamController(); + addTearDown(controller.dispose); + await tester.pumpWidget( + _host( + BorderBeam.rotate( + controller: controller, + child: const SizedBox.expand(), + ), + ), + ); + controller.start(); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + final clock = _clock(tester); + + controller.flash(); + expect(clock.boost, closeTo(BeamClock.flashPeak, 1e-9)); + await tester.pump(const Duration(milliseconds: 100)); + expect( + clock.boost, + closeTo(BeamClock.flashPeak, 1e-9), + reason: 'the hold keeps it at full for 120ms', + ); + await tester.pump(const Duration(milliseconds: 100)); + expect(clock.boost, lessThan(BeamClock.flashPeak)); + await tester.pump(const Duration(milliseconds: 250)); + expect(clock.boost, 1); + }); + + testWidgets('both are no-ops while the beam is hidden', (tester) async { + final controller = BorderBeamController(); + addTearDown(controller.dispose); + await tester.pumpWidget( + _host( + BorderBeam.rotate( + controller: controller, + child: const SizedBox.expand(), + ), + ), + ); + final clock = _clock(tester); + expect(clock.isVisible, isFalse); + + controller.pulse(); + expect(clock.isBoosting, isFalse); + expect(clock.boost, 1); + controller.flash(); + expect(clock.isBoosting, isFalse); + expect(tester.binding.transientCallbackCount, 0); + }); + + testWidgets('a boost is dropped when the beam restarts', (tester) async { + final controller = BorderBeamController(); + addTearDown(controller.dispose); + await tester.pumpWidget( + _host( + BorderBeam.rotate( + controller: controller, + child: const SizedBox.expand(), + ), + ), + ); + controller.start(); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + final clock = _clock(tester); + controller.flash(); + expect(clock.isBoosting, isTrue); + + controller.stop(); + await tester.pump(const Duration(milliseconds: 600)); + controller.start(); + await tester.pump(); + expect(clock.isBoosting, isFalse); + expect(clock.boost, 1); + }); + + testWidgets('a paused beam takes no boost', (tester) async { + final controller = BorderBeamController(); + addTearDown(controller.dispose); + await tester.pumpWidget( + _host( + BorderBeam.rotate( + controller: controller, + child: const SizedBox.expand(), + ), + ), + ); + controller.start(); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + controller.pause(); + await tester.pump(); + + controller.pulse(); + expect(_clock(tester).isBoosting, isFalse); + }); + }); +} diff --git a/test/widget/beam_progress_test.dart b/test/widget/beam_progress_test.dart new file mode 100644 index 0000000..c239542 --- /dev/null +++ b/test/widget/beam_progress_test.dart @@ -0,0 +1,421 @@ +import 'dart:math' as math; +import 'dart:ui' as ui; + +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/animation/beam_clock.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_test/flutter_test.dart'; + +Widget _host(Widget child) => MaterialApp( + theme: ThemeData(brightness: Brightness.dark), + home: Scaffold( + body: Center(child: SizedBox(width: 350, height: 140, child: child)), + ), +); + +BeamPainter _painter(WidgetTester tester) => tester + .widgetList( + find.descendant( + of: find.byType(BorderBeam), + matching: find.byType(CustomPaint), + ), + ) + .expand((paint) => [paint.painter, paint.foregroundPainter]) + .whereType() + .first; + +BeamClock _clock(WidgetTester tester) => _painter(tester).clock; + +/// Whether the painter leaves a non-transparent pixel in a 350x140 box. +/// +/// Rasterizing is real async work, so it runs outside the fake clock. +Future _paintsPixels(WidgetTester tester, BeamPainter painter) async { + const size = ui.Size(350, 140); + final painted = await tester.runAsync(() async { + final recorder = ui.PictureRecorder(); + painter.paint(ui.Canvas(recorder), size); + final picture = recorder.endRecording(); + final image = await picture.toImage( + size.width.toInt(), + size.height.toInt(), + ); + final bytes = await image.toByteData(format: ui.ImageByteFormat.rawRgba); + picture.dispose(); + image.dispose(); + for (var i = 3; i < bytes!.lengthInBytes; i += 4) { + if (bytes.getUint8(i) != 0) return true; + } + return false; + }); + return painted!; +} + +/// The three ways something other than the clock moves the beam — a driven +/// [BorderBeam.progress], a [BorderBeam.follow] pointer, and the live +/// strength/speed listenables — plus the childless overlay constructor. +void main() { + group('progress', () { + testWidgets('drives the sweep from the value', (tester) async { + await tester.pumpWidget( + _host(const BorderBeam.rotate(progress: 0.25, child: SizedBox())), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + final painter = _painter(tester); + expect(painter.progress?.value, 0.25); + expect( + painter.resolver + .sample(painter.clock.elapsedSeconds, 1, progress: 0.25) + .angleRadians, + closeTo(math.pi / 2, 1e-9), + ); + }); + + testWidgets('changing it does not re-resolve the config', (tester) async { + Widget build(double progress) => + _host(BorderBeam.rotate(progress: progress, child: const SizedBox())); + + await tester.pumpWidget(build(0.1)); + final before = _painter(tester); + await tester.pumpWidget(build(0.9)); + final after = _painter(tester); + expect(identical(before.config, after.config), isTrue); + expect(identical(before.resolver, after.resolver), isTrue); + expect(after.progress?.value, 0.9); + }); + + testWidgets('clamps out-of-range values', (tester) async { + await tester.pumpWidget( + _host(const BorderBeam.rotate(progress: 1.7, child: SizedBox())), + ); + expect(_painter(tester).progress?.value, 1); + }); + + testWidgets('the clock still runs underneath', (tester) async { + await tester.pumpWidget( + _host(const BorderBeam.line(progress: 0.5, child: SizedBox())), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + final painter = _painter(tester); + expect(painter.clock.isRunning, isTrue); + final early = painter.resolver.sample(0.7, 1, progress: 0.5); + final late = painter.resolver.sample(3.7, 1, progress: 0.5); + expect(early.lineX, closeTo(late.lineX, 1e-9)); + expect(early.hueDegrees, isNot(closeTo(late.hueDegrees, 1e-6))); + }); + + testWidgets('null hands the travel back to the clock', (tester) async { + Widget build(double? progress) => + _host(BorderBeam.rotate(progress: progress, child: const SizedBox())); + + await tester.pumpWidget(build(0.25)); + await tester.pumpWidget(build(null)); + expect(_painter(tester).progress?.value, isNull); + }); + }); + + group('follow', () { + testWidgets('eases the sweep toward the pointer', (tester) async { + Widget build(Offset? follow) => + _host(BorderBeam.rotate(follow: follow, child: const SizedBox())); + + await tester.pumpWidget(build(null)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + + // The right edge of the box: a quarter of the way round from 12 + // o'clock. + await tester.pumpWidget(build(const Offset(1, 0.5))); + final painter = _painter(tester); + for (var i = 0; i < 10; i++) { + await tester.pump(const Duration(milliseconds: 16)); + } + final part = painter.progress?.value; + expect(part, isNotNull); + expect( + part, + isNot(closeTo(0.25, 0.005)), + reason: 'the beam eases rather than snapping', + ); + + for (var i = 0; i < 30; i++) { + await tester.pump(const Duration(milliseconds: 16)); + } + expect(painter.progress?.value, closeTo(0.25, 0.01)); + }); + + testWidgets('takes the short way round', (tester) async { + Widget build(Offset? follow) => + _host(BorderBeam.rotate(follow: follow, child: const SizedBox())); + + await tester.pumpWidget(build(null)); + await tester.pump(); + // 100ms into the 1.96s cycle: the beam is just past 12 o'clock. + await tester.pump(const Duration(milliseconds: 100)); + // The left edge is progress 0.75 — a short hop backwards through 0, + // not three quarters of a lap forwards. + await tester.pumpWidget(build(const Offset(0, 0.5))); + final painter = _painter(tester); + await tester.pump(const Duration(milliseconds: 16)); + var previous = painter.progress!.value!; + for (var i = 0; i < 40; i++) { + await tester.pump(const Duration(milliseconds: 16)); + final now = painter.progress!.value!; + final step = ((now - previous) + 0.5) % 1.0 - 0.5; + expect( + step, + lessThanOrEqualTo(1e-9), + reason: 'every step runs backwards toward the target', + ); + previous = now; + } + expect(previous, closeTo(0.75, 0.01)); + }); + + testWidgets('releasing resumes from where the pointer left it', ( + tester, + ) async { + Widget build(Offset? follow) => + _host(BorderBeam.rotate(follow: follow, child: const SizedBox())); + + await tester.pumpWidget(build(null)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + await tester.pumpWidget(build(const Offset(1, 0.5))); + for (var i = 0; i < 40; i++) { + await tester.pump(const Duration(milliseconds: 16)); + } + final painter = _painter(tester); + final held = painter.progress!.value!; + + await tester.pumpWidget(build(null)); + expect(painter.progress?.value, isNull); + final resumed = painter.resolver + .sample(painter.clock.elapsedSeconds, 1) + .travelProgress; + expect( + resumed, + closeTo(held, 1e-6), + reason: 'the timed sweep picks up where the follow ended', + ); + expect(painter.resolver.travelTimeOffset, isNot(0)); + + // And it keeps travelling from there. + await tester.pump(const Duration(milliseconds: 100)); + final later = painter.resolver + .sample(painter.clock.elapsedSeconds, 1) + .travelProgress; + expect(later, greaterThan(resumed)); + }); + + testWidgets('the line variant follows the axis it travels', (tester) async { + Widget build(Offset? follow) => + _host(BorderBeam.line(follow: follow, child: const SizedBox())); + + await tester.pumpWidget(build(null)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + await tester.pumpWidget(build(const Offset(0.8, 0.2))); + final painter = _painter(tester); + for (var i = 0; i < 40; i++) { + await tester.pump(const Duration(milliseconds: 16)); + } + expect(painter.progress?.value, closeTo(0.8, 0.01)); + }); + + testWidgets('the pulse variants have no travel to steer', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeam.pulseInside( + follow: Offset(1, 0.5), + child: SizedBox(), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + for (var i = 0; i < 10; i++) { + await tester.pump(const Duration(milliseconds: 16)); + } + expect(_painter(tester).progress?.value, isNull); + }); + + testWidgets('an explicit progress wins over it', (tester) async { + await tester.pumpWidget( + _host( + const BorderBeam.rotate( + progress: 0.5, + follow: Offset(1, 0.5), + child: SizedBox(), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + for (var i = 0; i < 20; i++) { + await tester.pump(const Duration(milliseconds: 16)); + } + expect(_painter(tester).progress?.value, 0.5); + }); + }); + + group('strengthListenable', () { + testWidgets('scales the painted layers without a rebuild', (tester) async { + final strength = ValueNotifier(1); + addTearDown(strength.dispose); + var builds = 0; + await tester.pumpWidget( + _host( + Builder( + builder: (context) { + builds++; + return BorderBeam.rotate( + strengthListenable: strength, + child: const SizedBox(), + ); + }, + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + final painter = _painter(tester); + expect(await _paintsPixels(tester, painter), isTrue); + expect(builds, 1); + + strength.value = 0; + await tester.pump(); + expect( + await _paintsPixels(tester, _painter(tester)), + isFalse, + reason: 'a strength of 0 suppresses every layer', + ); + expect(builds, 1, reason: 'the value never goes through a rebuild'); + expect(identical(_painter(tester).config, painter.config), isTrue); + }); + + testWidgets('reaches the painter as the listenable itself', (tester) async { + final strength = ValueNotifier(0.4); + addTearDown(strength.dispose); + await tester.pumpWidget( + _host( + BorderBeam.rotate( + strengthListenable: strength, + child: const SizedBox(), + ), + ), + ); + expect(identical(_painter(tester).strength, strength), isTrue); + }); + }); + + group('speedListenable', () { + testWidgets('drives the clock rate without a rebuild', (tester) async { + final speed = ValueNotifier(2); + addTearDown(speed.dispose); + var builds = 0; + await tester.pumpWidget( + _host( + Builder( + builder: (context) { + builds++; + return BorderBeam.rotate( + speedListenable: speed, + child: const SizedBox(), + ); + }, + ), + ), + ); + final clock = _clock(tester); + expect(clock.speed, 2); + + speed.value = 0.5; + await tester.pump(); + expect(clock.speed, 0.5); + expect(builds, 1); + }); + + testWidgets('wins over the timing speed', (tester) async { + final speed = ValueNotifier(3); + addTearDown(speed.dispose); + await tester.pumpWidget( + _host( + BorderBeam.rotate( + timing: const BeamTiming(speed: 0.5), + speedListenable: speed, + child: const SizedBox(), + ), + ), + ); + expect(_clock(tester).speed, 3); + }); + + testWidgets('a swap moves the listener across', (tester) async { + final first = ValueNotifier(2); + final second = ValueNotifier(4); + addTearDown(first.dispose); + addTearDown(second.dispose); + Widget build(ValueNotifier speed) => _host( + BorderBeam.rotate(speedListenable: speed, child: const SizedBox()), + ); + + await tester.pumpWidget(build(first)); + await tester.pumpWidget(build(second)); + expect(_clock(tester).speed, 4); + + first.value = 9; + await tester.pump(); + expect(_clock(tester).speed, 4, reason: 'the old listener is gone'); + second.value = 0.5; + await tester.pump(); + expect(_clock(tester).speed, 0.5); + }); + }); + + group('BorderBeam.overlay', () { + testWidgets('fills its parent in a Stack and paints', (tester) async { + await tester.pumpWidget( + _host( + const Stack( + children: [ + Center(child: Text('content')), + Positioned.fill(child: BorderBeam.overlay(borderRadius: 16)), + ], + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + expect(find.text('content'), findsOneWidget); + expect(tester.getSize(find.byType(BorderBeam)), const Size(350, 140)); + expect(await _paintsPixels(tester, _painter(tester)), isTrue); + expect(tester.takeException(), isNull); + }); + + testWidgets('takes the same options as the generic constructor', ( + tester, + ) async { + await tester.pumpWidget( + _host( + const Stack( + children: [ + Positioned.fill( + child: BorderBeam.overlay( + variant: BeamVariant.line, + colors: BeamColors.ocean, + progress: 0.3, + ), + ), + ], + ), + ), + ); + final painter = _painter(tester); + expect(painter.config.variant, BeamVariant.line); + expect(painter.progress?.value, 0.3); + }); + }); +} diff --git a/test/widget/beam_speed_test.dart b/test/widget/beam_speed_test.dart index 270c706..2882606 100644 --- a/test/widget/beam_speed_test.dart +++ b/test/widget/beam_speed_test.dart @@ -11,7 +11,7 @@ Widget _host(Widget child) => MaterialApp( ), ); -BeamClock _clock(WidgetTester tester) => tester +BeamPainter _painter(WidgetTester tester) => tester .widgetList( find.descendant( of: find.byType(BorderBeam), @@ -20,8 +20,9 @@ BeamClock _clock(WidgetTester tester) => tester ) .expand((paint) => [paint.painter, paint.foregroundPainter]) .whereType() - .first - .clock; + .first; + +BeamClock _clock(WidgetTester tester) => _painter(tester).clock; /// `BeamTiming.speed` is the declarative playback rate: the beam's timeline /// advances by `speed` seconds of animation per second of wall time. A @@ -86,6 +87,42 @@ void main() { expect(clock.elapsedSeconds, closeTo(1.5, 1e-9)); }); + testWidgets('changing only the speed keeps the resolved config', ( + tester, + ) async { + Widget build(double speed) => _host( + BorderBeam.rotate( + timing: BeamTiming(speed: speed), + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(2)); + final before = _painter(tester); + await tester.pumpWidget(build(0.5)); + final after = _painter(tester); + expect( + identical(before.config, after.config), + isTrue, + reason: 'the rate is applied to the clock, not painted', + ); + expect(identical(before.resolver, after.resolver), isTrue); + }); + + testWidgets('changing the cycle does re-resolve the config', (tester) async { + Widget build(Duration cycle) => _host( + BorderBeam.rotate( + timing: BeamTiming(cycle: cycle), + child: const SizedBox.expand(), + ), + ); + + await tester.pumpWidget(build(const Duration(seconds: 2))); + final before = _painter(tester); + await tester.pumpWidget(build(const Duration(seconds: 3))); + expect(identical(before.config, _painter(tester).config), isFalse); + }); + testWidgets('a BorderBeamTheme speed is inherited', (tester) async { await tester.pumpWidget( _host( diff --git a/test/widget/beam_sync_test.dart b/test/widget/beam_sync_test.dart new file mode 100644 index 0000000..23ab19a --- /dev/null +++ b/test/widget/beam_sync_test.dart @@ -0,0 +1,306 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/animation/beam_clock.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_test/flutter_test.dart'; + +Widget _host(Widget child, {bool disableAnimations = false}) => MaterialApp( + theme: ThemeData(brightness: Brightness.dark), + builder: (context, app) => MediaQuery( + data: MediaQuery.of(context).copyWith(disableAnimations: disableAnimations), + child: app!, + ), + home: Scaffold(body: Center(child: child)), +); + +List _painters(WidgetTester tester) => tester + .widgetList( + find.descendant( + of: find.byType(BorderBeam), + matching: find.byType(CustomPaint), + ), + ) + .expand((paint) => [paint.painter, paint.foregroundPainter]) + .whereType() + .toList(); + +Widget _beam({double? phaseOffset, Key? key}) => SizedBox( + width: 120, + height: 60, + child: BorderBeam.rotate( + key: key, + timing: BeamTiming(phaseOffset: phaseOffset), + child: const SizedBox.expand(), + ), +); + +/// A group of beams on one clock: one ticker, one timeline, and playback +/// owned by the scope rather than by each member. +void main() { + testWidgets('three beams share a single ticker', (tester) async { + await tester.pumpWidget( + _host( + BeamSync( + child: Row( + mainAxisSize: MainAxisSize.min, + children: [_beam(), _beam(), _beam()], + ), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 300)); + expect(find.byType(BorderBeam), findsNWidgets(3)); + expect(tester.binding.transientCallbackCount, 1); + }); + + testWidgets('the same three beams unsynced run three tickers', ( + tester, + ) async { + await tester.pumpWidget( + _host( + Row( + mainAxisSize: MainAxisSize.min, + children: [_beam(), _beam(), _beam()], + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 300)); + expect(tester.binding.transientCallbackCount, 3); + }); + + testWidgets('every beam paints from the one clock', (tester) async { + await tester.pumpWidget( + _host( + BeamSync( + child: Row( + mainAxisSize: MainAxisSize.min, + children: [_beam(), _beam(), _beam()], + ), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 300)); + final clocks = _painters(tester).map((p) => p.clock).toSet(); + expect(clocks, hasLength(1)); + expect(clocks.single.elapsedSeconds, closeTo(0.3, 1e-9)); + }); + + testWidgets('lockstep beams sit at the same sweep position', (tester) async { + await tester.pumpWidget( + _host( + BeamSync( + child: Row( + mainAxisSize: MainAxisSize.min, + children: [_beam(), _beam()], + ), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + final painters = _painters(tester); + final progress = painters + .map((p) => p.resolver.sample(p.clock.elapsedSeconds, 1).travelProgress) + .toSet(); + expect(progress, hasLength(1)); + }); + + testWidgets('each beam still applies its own phase offset', (tester) async { + await tester.pumpWidget( + _host( + BeamSync( + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + _beam(), + _beam(phaseOffset: 0.25), + _beam(phaseOffset: 0.5), + ], + ), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + final painters = _painters(tester); + final progress = painters + .map((p) => p.resolver.sample(p.clock.elapsedSeconds, 1).travelProgress) + .toList(); + expect(progress, hasLength(3)); + expect(progress[1] - progress[0], closeTo(0.25, 1e-9)); + expect(progress[2] - progress[0], closeTo(0.5, 1e-9)); + }); + + testWidgets('the group speed drives the shared clock', (tester) async { + await tester.pumpWidget(_host(BeamSync(speed: 3, child: _beam()))); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 200)); + expect(_painters(tester).first.clock.elapsedSeconds, closeTo(0.6, 1e-9)); + }); + + testWidgets('the group stops and starts every beam together', (tester) async { + Widget build({required bool active}) => _host( + BeamSync( + active: active, + child: Row( + mainAxisSize: MainAxisSize.min, + children: [_beam(), _beam()], + ), + ), + ); + + await tester.pumpWidget(build(active: true)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + final clock = _painters(tester).first.clock; + expect(clock.isVisible, isTrue); + + await tester.pumpWidget(build(active: false)); + expect(clock.stage, BeamFadeStage.fadingOut); + await tester.pump(const Duration(milliseconds: 600)); + expect(clock.isVisible, isFalse); + expect(tester.binding.transientCallbackCount, 0); + + await tester.pumpWidget(build(active: true)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 100)); + expect(clock.isVisible, isTrue); + expect(tester.binding.transientCallbackCount, 1); + }); + + testWidgets('a group that starts stopped never runs a ticker', ( + tester, + ) async { + await tester.pumpWidget(_host(BeamSync(active: false, child: _beam()))); + await tester.pump(const Duration(seconds: 1)); + expect(tester.binding.transientCallbackCount, 0); + expect(_painters(tester).first.clock.isVisible, isFalse); + }); + + testWidgets('reduced motion freezes the group on a static frame', ( + tester, + ) async { + await tester.pumpWidget( + _host( + disableAnimations: true, + BeamSync( + child: Row( + mainAxisSize: MainAxisSize.min, + children: [_beam(), _beam()], + ), + ), + ), + ); + await tester.pump(const Duration(seconds: 1)); + expect(tester.binding.transientCallbackCount, 0); + final painters = _painters(tester); + expect(painters, hasLength(2)); + for (final painter in painters) { + expect(painter.staticMode, isTrue); + } + }); + + testWidgets('the group resumes when the request lifts', (tester) async { + Widget build({required bool reduced}) => + _host(disableAnimations: reduced, BeamSync(child: _beam())); + + await tester.pumpWidget(build(reduced: true)); + await tester.pump(const Duration(seconds: 1)); + expect(tester.binding.transientCallbackCount, 0); + + await tester.pumpWidget(build(reduced: false)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 200)); + expect(tester.binding.transientCallbackCount, 1); + expect(_painters(tester).first.staticMode, isFalse); + }); + + testWidgets('disposing the group leaves no ticker behind', (tester) async { + await tester.pumpWidget( + _host( + BeamSync( + child: Row( + mainAxisSize: MainAxisSize.min, + children: [_beam(), _beam(), _beam()], + ), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 300)); + expect(tester.binding.transientCallbackCount, 1); + + await tester.pumpWidget(_host(const SizedBox())); + expect(tester.binding.transientCallbackCount, 0); + expect(tester.takeException(), isNull); + }); + + testWidgets('removing one beam leaves the rest running', (tester) async { + Widget build(int count) => _host( + BeamSync( + child: Row( + mainAxisSize: MainAxisSize.min, + children: [for (var i = 0; i < count; i++) _beam()], + ), + ), + ); + + await tester.pumpWidget(build(3)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 300)); + await tester.pumpWidget(build(1)); + await tester.pump(const Duration(milliseconds: 300)); + expect(tester.binding.transientCallbackCount, 1); + expect(_painters(tester), hasLength(1)); + expect(tester.takeException(), isNull); + }); + + testWidgets('a controller inside a group asserts', (tester) async { + final controller = BorderBeamController(); + addTearDown(controller.dispose); + await tester.pumpWidget( + _host( + BeamSync( + child: SizedBox( + width: 120, + height: 60, + child: BorderBeam.rotate( + controller: controller, + child: const SizedBox.expand(), + ), + ), + ), + ), + ); + expect(tester.takeException(), isAssertionError); + }); + + testWidgets('leaving the group hands the beam its own clock', (tester) async { + final key = GlobalKey(); + Widget build({required bool synced}) { + final beam = _beam(key: key); + return _host(synced ? BeamSync(child: beam) : beam); + } + + await tester.pumpWidget(build(synced: true)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 300)); + final shared = _painters(tester).first.clock; + expect(tester.binding.transientCallbackCount, 1); + + await tester.pumpWidget(build(synced: false)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 300)); + final own = _painters(tester).first.clock; + expect(identical(own, shared), isFalse); + expect(own.isVisible, isTrue); + expect(tester.binding.transientCallbackCount, 1); + + await tester.pumpWidget(_host(const SizedBox())); + expect(tester.binding.transientCallbackCount, 0); + expect(tester.takeException(), isNull); + }); +} From 1e7ae1210e02605f7e3f4040fa7ddd0efc2f6f12 Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 16:34:06 -0700 Subject: [PATCH 14/40] feat(painting): tail, glow spread, comet, sparkle, segments, edge, ring offset, contours MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every new option folds into layers each variant already composites, so the per-variant saveLayer budget holds under any combination — the budget test now measures each option against the table. Reversed sweeps mirror the asymmetric stop tables at runtime so the soft tail still trails the head; beamCount tiles the window into one sweep shader for rotate and paints one traveller per band for line. tailLength scales the window about its head, glowSpread scales every bloom and halo reach, comet re-aims the bloom layer at a halo past the border, sparkle scatters deterministic twinkles at the head, and segments dash the ring with a feathered conic mask. The line variant rides any edge through one rotation of the canvas, ringOffset moves the ring outside or inside the child, and a BeamContour replaces the rounded rect with any closed path whose inner ring is a true normal offset. The transcribed rotate stop tables, line geometry, and pulse constants move into lib/src/constants/ with rendering unchanged. Co-Authored-By: Claude Opus 5 (1M context) --- lib/src/constants/line_geometry.dart | 210 ++++++ lib/src/constants/pulse_constants.dart | 86 +++ lib/src/constants/rotate_stops.dart | 86 +++ lib/src/painting/gradient_builders.dart | 147 ++++ lib/src/painting/layer_utils.dart | 71 ++ lib/src/painting/ring_geometry.dart | 112 ++- .../painting/strategies/line_strategy.dart | 633 +++++++++++------ .../strategies/pulse_inner_strategy.dart | 37 +- .../strategies/pulse_outer_strategy.dart | 106 ++- .../painting/strategies/rotate_strategy.dart | 224 ++++-- lib/src/painting/variant_strategy.dart | 20 + .../golden/goldens/surface_line_edge_left.png | Bin 0 -> 74422 bytes test/golden/goldens/surface_line_edge_top.png | Bin 0 -> 68789 bytes .../surface_pulse_outside_glowspread2.png | Bin 0 -> 193643 bytes .../goldens/surface_rotate_beamcount3.png | Bin 0 -> 71227 bytes test/golden/goldens/surface_rotate_comet.png | Bin 0 -> 66326 bytes .../goldens/surface_rotate_contour_star.png | Bin 0 -> 35114 bytes .../goldens/surface_rotate_glowspread2.png | Bin 0 -> 63169 bytes .../goldens/surface_rotate_ringoffset8.png | Bin 0 -> 63872 bytes .../goldens/surface_rotate_segments8.png | Bin 0 -> 63287 bytes .../golden/goldens/surface_rotate_sparkle.png | Bin 0 -> 64791 bytes test/golden/goldens/surface_rotate_tail2.png | Bin 0 -> 66538 bytes test/golden/surface_golden_test.dart | 212 ++++++ test/painting/color_matrix_test.dart | 2 +- test/painting/ring_geometry_test.dart | 2 +- test/painting/save_layer_budget_test.dart | 137 ++++ test/painting/surface_features_test.dart | 669 ++++++++++++++++++ 27 files changed, 2397 insertions(+), 357 deletions(-) create mode 100644 lib/src/constants/line_geometry.dart create mode 100644 lib/src/constants/pulse_constants.dart create mode 100644 lib/src/constants/rotate_stops.dart create mode 100644 test/golden/goldens/surface_line_edge_left.png create mode 100644 test/golden/goldens/surface_line_edge_top.png create mode 100644 test/golden/goldens/surface_pulse_outside_glowspread2.png create mode 100644 test/golden/goldens/surface_rotate_beamcount3.png create mode 100644 test/golden/goldens/surface_rotate_comet.png create mode 100644 test/golden/goldens/surface_rotate_contour_star.png create mode 100644 test/golden/goldens/surface_rotate_glowspread2.png create mode 100644 test/golden/goldens/surface_rotate_ringoffset8.png create mode 100644 test/golden/goldens/surface_rotate_segments8.png create mode 100644 test/golden/goldens/surface_rotate_sparkle.png create mode 100644 test/golden/goldens/surface_rotate_tail2.png create mode 100644 test/golden/surface_golden_test.dart create mode 100644 test/painting/surface_features_test.dart diff --git a/lib/src/constants/line_geometry.dart b/lib/src/constants/line_geometry.dart new file mode 100644 index 0000000..34b3c9e --- /dev/null +++ b/lib/src/constants/line_geometry.dart @@ -0,0 +1,210 @@ +// Verbatim transcription of the line variant's mask and blob geometry from +// the React library (border-beam v1.3.0, `src/styles.ts` — +// generateLineVariantCSS and getLineBloomGradients). Every length is in +// logical px in the authored coordinate space, where the beam rides the +// bottom edge of the box; every stop is a CSS gradient stop 0–1. +// +// The mask/highlight radii are multiplied at paint time by the animated +// width/height factors (`lineW`/`lineH`) and the two spike tracks, which is +// why only the base numbers live here. + +/// Radial window mask radii shared by the inner and stroke layers. +const double lineWindowRadiusX = 78; + +/// Vertical radius of [lineWindowRadiusX]'s window. +const double lineWindowRadiusY = 60; + +/// Mid stop of the inner/stroke window. +const double lineWindowMidStop = 0.45; + +/// Alpha at [lineWindowMidStop]. +const double lineWindowMidAlpha = 0.5; + +/// Horizontal radius of the bloom layer's (wider, taller) window mask. +const double lineBloomWindowRadiusX = 84; + +/// Vertical radius of the bloom window. +const double lineBloomWindowRadiusY = 110; + +/// Mid stop of the bloom window. +const double lineBloomWindowMidStop = 0.35; + +/// Alpha at [lineBloomWindowMidStop]. +const double lineBloomWindowMidAlpha = 0.5; + +/// Inner shadow blur of the line variant's inner layer. +const double lineInnerShadowBlur = 9; + +/// Bloom blur sigma while the hue animation runs (CSS `blur(8px)`). +const double lineBloomBlurSigma = 8; + +/// Bloom blur sigma for the mono palette (CSS `blur(6px)`). +const double lineBloomBlurSigmaMono = 6; + +// ─── Traveling highlight ──────────────────────────────────────────────────── + +/// How far below the bottom edge the stroke highlight is centred. +const double lineHighlightOffsetY = 2; + +/// Dark-theme highlight radii and stops. +const double lineHighlightRadiusXDark = 24; + +/// Vertical radius of the dark-theme highlight. +const double lineHighlightRadiusYDark = 28; + +/// Dark-theme highlight alphas (centre, mid, edge). +const List lineHighlightAlphasDark = [0.38, 0.12, 0.0]; + +/// Stops of [lineHighlightAlphasDark]. +const List lineHighlightStopsDark = [0, 0.30, 0.65]; + +/// Light-theme highlight horizontal radius. +const double lineHighlightRadiusXLight = 35; + +/// Vertical radius of the light-theme highlight. +const double lineHighlightRadiusYLight = 28; + +/// Light-theme highlight alphas (centre, mid, edge). +const List lineHighlightAlphasLight = [0.6, 0.25, 0.0]; + +/// Stops of [lineHighlightAlphasLight]. +const List lineHighlightStopsLight = [0, 0.35, 0.70]; + +// ─── Bloom spikes ─────────────────────────────────────────────────────────── + +/// One bloom spike's fixed geometry: [fx] is its position along the edge as +/// a fraction of the width, [yInset] how far above the edge it is centred, +/// and [midStop]/[endStop] its two gradient stops. +typedef LineSpikeGeometry = ({ + double fx, + double yInset, + double midStop, + double endStop, +}); + +/// The seven fixed spikes, at 8/22/36/50/64/78/92% of the edge. +const List lineSpikes = [ + (fx: 0.08, yInset: 2, midStop: 0.30, endStop: 0.88), + (fx: 0.22, yInset: 4, midStop: 0.50, endStop: 0.95), + (fx: 0.36, yInset: 3, midStop: 0.40, endStop: 0.90), + (fx: 0.50, yInset: 2, midStop: 0.55, endStop: 0.96), + (fx: 0.64, yInset: 4, midStop: 0.35, endStop: 0.89), + (fx: 0.78, yInset: 2, midStop: 0.48, endStop: 0.94), + (fx: 0.92, yInset: 3, midStop: 0.42, endStop: 0.91), +]; + +/// Horizontal radius of the wide spike at 22%. +const double lineSpikeWideRadiusX22 = 10; + +/// Vertical radius of the spike at 22%. +const double lineSpikeRadiusY22 = 35; + +/// Horizontal radius of the wide spike at 50%. +const double lineSpikeWideRadiusX50 = 14; + +/// Vertical radius of the spike at 50%. +const double lineSpikeRadiusY50 = 28; + +/// Horizontal radius of the spike at 78%. +const double lineSpikeRadiusX78 = 7; + +/// Vertical radius of the spike at 78%. +const double lineSpikeRadiusY78 = 45; + +/// Widths of the four thin spikes (8/36/64/92%) with a colour palette. +const List lineThinSpikeWidths = [0.8, 2.0, 1.2, 0.6]; + +/// The light-theme width of the thin spike at 92%. +const double lineThinSpikeWidthLight92 = 1.0; + +/// Heights of the four thin spikes (8/36/64/92%) with a colour palette. +const List lineThinSpikeHeights = [92.0, 72.0, 85.0, 60.0]; + +/// Widths the mono palette widens the four thin spikes to. +const List lineMonoThinSpikeWidths = [12.0, 14.0, 12.0, 10.0]; + +/// The mono width of the thin spike at 92% on the light theme. +const double lineMonoThinSpikeWidthLight92 = 12.0; + +/// Heights the mono palette shortens the four thin spikes to. +const List lineMonoThinSpikeHeights = [42.0, 38.0, 40.0, 32.0]; + +/// Mono attenuation of the primary spike colour. +const double lineMonoSpike1 = 0.14; + +/// Mono attenuation of the primary spike colour's dark mid stop. +const double lineMonoSpike1MidDark = 0.09; + +/// Mono attenuation of the primary spike colour's light mid stop. +const double lineMonoSpike1MidLight = 0.11; + +/// The non-mono light-theme alpha of the primary spike's mid stop. +const double lineSpike1MidLightAlpha = 0.85; + +/// Mono attenuation of the secondary spike colour. +const double lineMonoSpike2 = 0.12; + +/// Mono alpha of the secondary spike colour's dark mid stop. +const double lineMonoSpike2MidDark = 0.06; + +/// Mono attenuation of the secondary spike colour's light mid stop. +const double lineMonoSpike2MidLight = 0.09; + +/// The non-mono dark-theme alpha of the secondary spike's mid stop. +const double lineSpike2MidDarkAlpha = 0.49; + +/// The non-mono light-theme alpha of the secondary spike's mid stop. +const double lineSpike2MidLightAlpha = 0.7; + +/// Mono attenuation of a table spike's first colour. +const double lineMonoTableSpike1 = 0.14; + +/// Mono attenuation of a table spike's second colour. +const double lineMonoTableSpike2 = 0.14 * 0.7; + +// ─── Traveling dot, ambient glow, and the light theme's shadow ────────────── + +/// How far below the edge the dark theme's traveling dot is centred. +const double lineDotOffsetY = 1; + +/// Horizontal radius of the traveling dot. +const double lineDotRadiusX = 21; + +/// Vertical radius of the traveling dot. +const double lineDotRadiusY = 15; + +/// Dot alphas (centre, 20%, 50%) with a colour palette. +const List lineDotAlphas = [1.0, 0.9, 0.5]; + +/// Dot alphas for the mono palette. +const List lineDotAlphasMono = [0.5, 0.45, 0.25]; + +/// Stops of the dot gradient. +const List lineDotStops = [0, 0.20, 0.50, 1.0]; + +/// Horizontal radius of the ambient glow around the dot. +const double lineAmbientRadiusX = 42; + +/// Vertical radius of the ambient glow. +const double lineAmbientRadiusY = 40; + +/// Ambient glow alphas (centre, 25%, 55%) with a colour palette. +const List lineAmbientAlphas = [0.3, 0.12, 0.03]; + +/// Ambient glow alphas for the mono palette. +const List lineAmbientAlphasMono = [0.15, 0.06, 0.015]; + +/// Stops of the ambient glow gradient. +const List lineAmbientStops = [0, 0.25, 0.55, 0.80]; + +/// Horizontal radius of the light theme's traveling shadow blob. +const double lineShadowRadiusX = 50; + +/// Vertical radius of the traveling shadow blob. +const double lineShadowRadiusY = 32; + +/// Alphas of the traveling shadow blob. +const List lineShadowAlphas = [0.5, 0.18, 0.03, 0.0]; + +/// Stops of the traveling shadow blob. +const List lineShadowStops = [0, 0.30, 0.60, 0.85]; diff --git a/lib/src/constants/pulse_constants.dart b/lib/src/constants/pulse_constants.dart new file mode 100644 index 0000000..6a9a1c2 --- /dev/null +++ b/lib/src/constants/pulse_constants.dart @@ -0,0 +1,86 @@ +// The pulse variants' painting constants. +// +// Two provenances, kept apart below: +// +// * VERBATIM — transcribed from the React library (border-beam v1.3.0, +// `src/styles.ts`): the pulse-outside outward-glow transform, the +// reference element the glow geometry was authored against, and the +// pulse-inside corner accents. +// * FLUTTER-SIDE TUNING — the demo-hero recipe +// (`.beam-host--pulse-outside-tuned` in the source's demo page), which the +// React library layers on top of its own raw defaults. It is baked in here +// because the pulse-outside look everyone knows from +// beam.jakubantalik.com is the tuned one; every value stays overridable +// through the widget's coreBlur/bloomBlur/glowBrightness/glowSaturation/ +// glowBoost/opacity hooks. + +// ─── Verbatim: pulse-outside geometry ─────────────────────────────────────── + +/// Horizontal factor of the source's constant outward-glow transform +/// (`scale(0.95, 0.9)`). +const double pulseOuterScaleX = 0.95; + +/// Vertical factor of the outward-glow transform. +const double pulseOuterScaleY = 0.9; + +/// Reference child width the glow geometry was authored for. +const double pulseOuterReferenceWidth = 350; + +/// Reference child height the glow geometry was authored for. +const double pulseOuterReferenceHeight = 140; + +/// Lower clamp on the glow's size scale. +const double pulseOuterMinScale = 0.35; + +/// Upper clamp on the glow's size scale. +const double pulseOuterMaxScale = 4; + +/// Damping applied to the size-derived halo unit (`--sub-glow-unit`), which +/// scales reach and blur with the element's size relative to the demo's +/// Subscribe button baseline. +const double pulseOuterGlowUnitDamping = 0.7; + +// ─── Verbatim: pulse-inside corner accents ────────────────────────────────── + +/// Radius of the fixed corner-accent ellipses of the pulse-inside inner +/// layer. +const double pulseInnerCornerRadius = 60; + +/// Dark-theme alpha of a corner accent at full breath. +const double pulseInnerCornerAlphaDark = 0.18; + +/// Light-theme alpha of a corner accent at full breath. +const double pulseInnerCornerAlphaLight = 0.08; + +/// The stop the corner accent has faded out by. +const double pulseInnerCornerEndStop = 0.70; + +/// Blur sigma of the pulse-inside frozen bloom layer. +const double pulseInnerBloomBlurSigma = 8; + +// ─── Flutter-side tuning: the pulse-outside demo recipe ───────────────────── + +/// Prominence boost multiplied into the glow blob geometry. +const double pulseOuterTunedBoost = 1.05; + +/// Multiplier on the glow layers' opacity, brightness, and saturation. +const double pulseOuterTunedGlowMultiplier = 1.71; + +/// Unit-scaled inset the core glow is grown past the child's bounds. +const double pulseOuterTunedCoreInset = 6; + +/// Unit-scaled inset the bloom halo is grown past the child's bounds. +const double pulseOuterTunedBloomInset = 14; + +/// Unit-scaled blur of the core glow — the value that melts the separate +/// blobs into one continuous edge-hugging glow. +const double pulseOuterTunedCoreBlur = 10; + +/// Unit-scaled blur of the ambient bloom halo. +const double pulseOuterTunedBloomBlur = 19; + +/// Default glow brightness before the tuning multiplier. +const double pulseOuterGlowBrightness = 1.3; + +/// Default glow saturation before the tuning multiplier. +const double pulseOuterGlowSaturation = 1.2; diff --git a/lib/src/constants/rotate_stops.dart b/lib/src/constants/rotate_stops.dart new file mode 100644 index 0000000..16b24b0 --- /dev/null +++ b/lib/src/constants/rotate_stops.dart @@ -0,0 +1,86 @@ +// Verbatim transcription of the conic gradient stop/alpha tables of the +// rotate (React `md`) and small (React `sm`) variants, from the React library +// (border-beam v1.3.0, `src/styles.ts` — generateBorderVariantCSS / +// generateSmallVariantCSS, whose window/highlight/bloom tables are identical +// apart from the wider `smallMask` window). Every list is a CSS +// `conic-gradient` colour-stop list flattened into parallel stop and alpha +// lists: `stops[i]` is the CSS stop position 0–1 and `alphas[i]` the alpha of +// the white (dark theme) or black (light theme) colour at it. +// +// The tables are asymmetric in the stop axis: the bright core is followed by +// a short falloff on the leading side and a long soft foot on the trailing +// side, which is what makes the beam read as a head dragging a tail. + +/// `beam-mask` — the rotating soft window that reveals the rotate variant's +/// stroke and inner layers. +const List rotateWindowStops = [ + 0.0, 0.30, 0.36, 0.44, 0.52, 0.80, 0.86, 0.92, 0.95, 1.0, // +]; + +/// Alphas of [rotateWindowStops]. +const List rotateWindowAlphas = [ + 0.0, 0.0, 0.1, 0.35, 1.0, 1.0, 0.35, 0.1, 0.0, 0.0, // +]; + +/// `smallMask` — the wider window the small variant's inner layer uses. +const List smallWindowStops = [ + 0.0, 0.22, 0.28, 0.36, 0.46, 0.82, 0.88, 0.94, 0.97, 1.0, // +]; + +/// Alphas of [smallWindowStops]. +const List smallWindowAlphas = [ + 0.0, 0.0, 0.12, 0.4, 1.0, 1.0, 0.4, 0.12, 0.0, 0.0, // +]; + +/// The stroke's highlight sweep — white on the dark theme, black on the +/// light one. +const List rotateHighlightStops = [ + 0.0, 0.54, 0.57, 0.60, 0.63, 0.66, 0.69, 0.72, 0.75, 0.78, 1.0, // +]; + +/// Dark-theme alphas of [rotateHighlightStops]. +const List rotateHighlightAlphasDark = [ + 0.0, 0.0, 0.1, 0.3, 0.6, 0.75, 0.6, 0.3, 0.1, 0.0, 0.0, // +]; + +/// Light-theme alphas of [rotateHighlightStops]. +const List rotateHighlightAlphasLight = [ + 0.0, 0.0, 0.08, 0.2, 0.4, 0.55, 0.4, 0.2, 0.08, 0.0, 0.0, // +]; + +/// The sharp bloom band, painted into a blurred layer. +const List rotateBloomStops = [ + 0.0, 0.58, 0.62, 0.65, 0.67, 0.69, 0.70, 0.705, 0.715, 0.73, 0.75, 0.78, + 0.82, 1.0, // +]; + +/// Dark-theme alphas of [rotateBloomStops]. +const List rotateBloomAlphasDark = [ + 0.0, 0.0, 0.03, 0.08, 0.2, 0.45, 0.85, 0.85, 0.45, 0.2, 0.08, 0.03, 0.0, + 0.0, // +]; + +/// Light-theme alphas of [rotateBloomStops]. +const List rotateBloomAlphasLight = [ + 0.0, 0.0, 0.02, 0.08, 0.2, 0.4, 0.6, 0.6, 0.4, 0.2, 0.08, 0.02, 0.0, 0.0, // +]; + +/// The blur sigma of the rotate/small bloom layer (CSS `filter: blur(8px)`). +const double rotateBloomBlurSigma = 8; + +/// The inner shadow blur of the rotate variant's inner layer. +const double rotateInnerShadowBlur = 9; + +/// The inner shadow blur of the small variant's inner layer. +const double smallInnerShadowBlur = 5; + +/// The alpha the rotate variant's inner blobs are fixed at (its inner layer +/// is derived from the border blob table at 0.9× size). +const double rotateInnerBlobAlpha = 0.45; + +/// The mono palette's replacement for [rotateInnerBlobAlpha]. +const double rotateInnerBlobAlphaMono = 0.225; + +/// The size factor the rotate variant's inner blobs take from the border +/// table. +const double rotateInnerBlobScale = 0.9; diff --git a/lib/src/painting/gradient_builders.dart b/lib/src/painting/gradient_builders.dart index c3ce1bc..92a134a 100644 --- a/lib/src/painting/gradient_builders.dart +++ b/lib/src/painting/gradient_builders.dart @@ -134,9 +134,156 @@ abstract final class BeamGradients { ); } + /// A conic dash mask: [segments] evenly spaced dashes around the ring, + /// drawn with [BlendMode.dstIn] to cut the gaps out of a layer. + /// + /// [duty] is the fraction of each dash period the dash occupies and + /// [feather] the fraction faded at each of its two edges, so the dashes end + /// in a soft taper rather than a hard chop. The mask is anchored at 12 + /// o'clock rather than at the beam angle: the dashes are a property of the + /// ring, and the beam travels over them. + static Shader segmentMask( + Rect rect, + int segments, { + double duty = 0.6, + double feather = 0.05, + }) { + final n = math.max(1, segments); + final p = 1 / n; + final stops = []; + final colors = []; + void stop(double s, double alpha) { + stops.add(s.clamp(0.0, 1.0)); + colors.add(_white.withValues(alpha: alpha)); + } + + for (var k = 0; k < n; k++) { + final base = k * p; + stop(base, 1); + stop(base + (duty - feather) * p, 1); + stop(base + (duty + feather) * p, 0); + stop(base + (1 - feather) * p, 0); + } + stop(1, 1); + return conic(rect: rect, cssFromRadians: 0, colors: colors, stops: stops); + } + static const Color _white = Color(0xFFFFFFFF); } +/// A conic gradient's stop table: parallel stop and alpha lists, as the +/// rotate/small variants transcribe them from the source's CSS. +typedef BeamConicTable = ({List stops, List alphas}); + +/// Runtime transforms of the transcribed conic window tables. +/// +/// The tables themselves are constants and never change; travel direction, +/// tail length, and beam count reshape them per frame instead. +abstract final class BeamConicWindow { + /// Applies [tailLength], [reversed], and [beamCount] to a base table, in + /// that order. + /// + /// Returns the base lists untouched at the defaults (tail 1, forward, one + /// beam), so the common path allocates nothing. + static BeamConicTable resolve( + List stops, + List alphas, { + required bool reversed, + required double tailLength, + required int beamCount, + }) { + var table = scaleTail((stops: stops, alphas: alphas), tailLength); + if (reversed) table = mirror(table); + return repeat(table, beamCount); + } + + /// Mirrors a table for a beam traveling the other way: every stop becomes + /// `1 − stop` (which reverses their order, so the list is reversed to stay + /// ascending) and the alphas reverse with them. + /// + /// The transcribed tables are asymmetric — a short falloff on the leading + /// side, a long soft foot trailing — so a reversed beam that reused them + /// verbatim would drag its tail in front of its head. + static BeamConicTable mirror(BeamConicTable table) => ( + stops: [for (final s in table.stops.reversed) 1 - s], + alphas: table.alphas.reversed.toList(growable: false), + ); + + /// Scales the angular width of the window about its head by [factor]. + /// + /// The head is the leading edge of the bright core — the last stop holding + /// the table's maximum alpha — so scaling about it stretches the trailing + /// tail and the short leading falloff together while the beam's position + /// stays put. + /// + /// [factor] is clamped to what the table can hold: a window may not grow + /// past the full turn, or its two ends would collide at the seam and cut + /// the beam in half. The rotate window saturates at ≈1.33×, its highlight + /// and bloom bands (which start narrower) well past 2×. + static BeamConicTable scaleTail(BeamConicTable table, double factor) { + if (factor == 1 || table.stops.length < 3) return table; + final head = _head(table); + final (lo, hi) = _support(table); + final backSpan = head - lo; + final frontSpan = hi - head; + var maxFactor = double.infinity; + if (backSpan > 0) maxFactor = math.min(maxFactor, head / backSpan); + if (frontSpan > 0) maxFactor = math.min(maxFactor, (1 - head) / frontSpan); + final f = factor.clamp(0.05, math.max(0.05, maxFactor)); + return ( + stops: [ + for (final s in table.stops) + (head + (s - head) * f).clamp(0.0, 1.0).toDouble(), + ], + alphas: table.alphas, + ); + } + + /// Tiles a table [count] times around the circle, so one sweep shader + /// carries every beam: each copy's stops are scaled by `1 / count` and + /// offset into its own slot. + static BeamConicTable repeat(BeamConicTable table, int count) { + if (count <= 1) return table; + final stops = []; + final alphas = []; + for (var k = 0; k < count; k++) { + for (var i = 0; i < table.stops.length; i++) { + stops.add((table.stops[i] + k) / count); + alphas.add(table.alphas[i]); + } + } + return (stops: stops, alphas: alphas); + } + + // The last stop carrying the table's peak alpha: the leading edge of the + // bright core. + static double _head(BeamConicTable table) { + var peak = table.alphas.first; + for (final a in table.alphas) { + if (a > peak) peak = a; + } + var head = table.stops.first; + for (var i = 0; i < table.alphas.length; i++) { + if (table.alphas[i] >= peak) head = table.stops[i]; + } + return head; + } + + // The zero-alpha stops flanking the lit band — the width the window + // actually occupies, ignoring the table's 0 and 1 anchors. + static (double lo, double hi) _support(BeamConicTable table) { + var first = 0; + while (first < table.alphas.length - 1 && table.alphas[first + 1] <= 0) { + first++; + } + var last = table.alphas.length - 1; + while (last > 0 && table.alphas[last - 1] <= 0) { + last--; + } + return (table.stops[first], table.stops[last]); + } +} + /// Small helper building a rotation matrix (as the `Float64List` gradient /// transform) about an arbitrary point. abstract final class Matrix4Rotation { diff --git a/lib/src/painting/layer_utils.dart b/lib/src/painting/layer_utils.dart index 55b29a2..60cf817 100644 --- a/lib/src/painting/layer_utils.dart +++ b/lib/src/painting/layer_utils.dart @@ -4,6 +4,7 @@ import 'dart:ui' as ui; import 'dart:ui'; import '../models/beam_config.dart'; +import 'gradient_builders.dart'; /// Shared painting helpers used by every variant strategy. abstract final class BeamLayerUtils { @@ -68,6 +69,76 @@ abstract final class BeamLayerUtils { ); } + /// The point where a ray leaving the centre of [rect] at [angle] crosses + /// the rect's edge, in the CSS conic convention the beam angle uses: 0 is + /// 12 o'clock and the angle grows clockwise. + /// + /// An approximation of the rounded contour — a corner radius pulls the true + /// border in by a few px — which is all the sparkle scatter needs. + static Offset edgePointAt(Rect rect, double angle) { + if (rect.isEmpty) return rect.center; + final dx = math.sin(angle); + final dy = -math.cos(angle); + final tx = dx.abs() < 1e-6 ? double.infinity : (rect.width / 2) / dx.abs(); + final ty = dy.abs() < 1e-6 ? double.infinity : (rect.height / 2) / dy.abs(); + final t = math.min(tx, ty); + if (!t.isFinite) return rect.center; + return rect.center + Offset(dx * t, dy * t); + } + + /// Paints the twinkles of `BeamStyle.sparkle`: tiny radial blobs scattered + /// in a disc of radius [spread] around [center], the beam's head. + /// + /// Every position, size, and brightness comes from a hash of the sparkle's + /// index and [seed], so a frame is reproducible from its phases alone — + /// there is no particle state to carry between frames. [seed] is quantised + /// travel progress: it holds a scatter still for a fraction of a cycle and + /// then re-rolls it, which is what makes the field twinkle instead of + /// crawling along with the beam. + /// + /// The blobs are drawn straight onto the canvas with their opacity baked + /// into each colour rather than into a group layer — they need no group + /// mask, and the stroke layer they belong to is clipped to the ring, which + /// would flatten them to hairlines. Either way they cost no `saveLayer`. + static void paintSparkles( + Canvas canvas, { + required Offset center, + required double density, + required Color color, + required double opacity, + required double spread, + required int seed, + }) { + if (density <= 0 || opacity <= 0 || spread <= 0) return; + final count = (2 + 10 * density).round(); + for (var i = 0; i < count; i++) { + final angle = _hash(i, seed) * 2 * math.pi; + final distance = spread * math.sqrt(_hash(i + 91, seed)); + final radius = 0.8 + 2.4 * _hash(i + 173, seed) * (0.5 + density / 2); + final twinkle = _hash(i + 379, seed * 31 + 7); + final alpha = (opacity * density * (0.25 + 0.75 * twinkle)).clamp( + 0.0, + 1.0, + ); + if (alpha <= 0) continue; + BeamGradients.paintBlob( + canvas, + center: center + Offset(math.cos(angle), math.sin(angle)) * distance, + radiusX: radius, + radiusY: radius, + color: color.withValues(alpha: alpha), + ); + } + } + + // A cheap integer hash in 0–1: deterministic across runs and platforms, + // unlike Random(), whose stream the golden tests could not pin. + static double _hash(int a, int b) { + var h = a * 374761393 + b * 668265263; + h = (h ^ (h >> 13)) * 1274126177; + return ((h ^ (h >> 16)) & 0xFFFFFF) / 0xFFFFFF; + } + /// Approximates the CSS `box-shadow: inset 0 0 px 1px ` of /// the inner glow layers: the shape's contour stroked and blurred, clipped /// to the inside. diff --git a/lib/src/painting/ring_geometry.dart b/lib/src/painting/ring_geometry.dart index 5eae5a2..572b0e3 100644 --- a/lib/src/painting/ring_geometry.dart +++ b/lib/src/painting/ring_geometry.dart @@ -2,8 +2,11 @@ import 'dart:math' as math; import 'package:flutter/painting.dart'; -/// Path builders for the beam's shape: rounded rect or rounded superellipse, -/// plus the "ring" region every stroke layer is clipped to. +import '../models/beam_options.dart'; + +/// Path builders for the beam's shape: rounded rect, rounded superellipse, or +/// an arbitrary [BeamContour], plus the "ring" region every stroke layer is +/// clipped to. /// /// The React library paints stroke layers into a CSS mask ring — /// padding-box minus content-box. Here that is the [ring] path: the outer @@ -13,11 +16,15 @@ import 'package:flutter/painting.dart'; class BeamRingGeometry { /// Creates geometry for [rect] with the given corner [radius], /// [borderWidth], and shape family. + /// + /// A non-null [contour] replaces the rounded-rect family entirely: it + /// builds [outer], and [radius]/[useSuperellipse] go unread. BeamRingGeometry({ required this.rect, required this.radius, required this.borderWidth, required this.useSuperellipse, + this.contour, }); /// The layer bounds. @@ -33,18 +40,30 @@ class BeamRingGeometry { /// circular-arc rounded rects. final bool useSuperellipse; + /// An arbitrary outer contour replacing the rounded-rect family, or null. + final BeamContour? contour; + /// Outer contour of the shape. - late final Path outer = _shapePath(rect, radius); + late final Path outer = rect.isEmpty + ? Path() + : (contour?.build(rect) ?? _shapePath(rect, radius)); /// Inner contour (the content box: deflated by [borderWidth], every corner /// radius reduced by the same amount). /// /// A box thinner than twice the border width has no content box left, and - /// the contour is empty — the ring is then the whole shape. - late final Path inner = _shapePath( - rect.deflate(borderWidth), - _deflateRadius(radius, borderWidth), - ); + /// the contour is empty — the ring is then the whole shape. Under a custom + /// [contour] the inner path is [outer] offset inward along its own normals + /// by [borderWidth] (see [insetPath]), since an arbitrary path has no + /// corner radii to shrink. + late final Path inner = rect.isEmpty + ? Path() + : contour != null + ? insetPath(outer, borderWidth) + : _shapePath( + rect.deflate(borderWidth), + _deflateRadius(radius, borderWidth), + ); /// The border ring: [outer] minus [inner]. late final Path ring = rect.isEmpty @@ -80,7 +99,72 @@ class BeamRingGeometry { /// A standalone contour for an arbitrary rect/radius in the same shape /// family (used by pulse-outside's outward layers). - Path contour(Rect r, BorderRadius cornerRadii) => _shapePath(r, cornerRadii); + Path shapeContour(Rect r, BorderRadius cornerRadii) => + _shapePath(r, cornerRadii); + + /// The halo a comet bloom fills: the shape grown by [reach], minus the + /// content box, so the glow hugs the border and spills outward instead of + /// washing across the child. + Path halo(double reach) => rect.isEmpty + ? Path() + : Path.combine(PathOperation.difference, grown(reach), inner); + + /// [outer] grown outward by [reach], in the shape's own family. + Path grown(double reach) => contour != null + ? insetPath(outer, -reach) + : _shapePath(rect.inflate(reach), _inflateRadius(radius, reach)); + + /// [source] offset inward by [inset] along its own normals — a true + /// polygonal offset, not a scale about the centre, so a lobed contour keeps + /// an even border width all the way round. + /// + /// Each closed subpath is resampled at ~1px, its orientation read from the + /// signed area (so a path drawn either way offsets inward), and every + /// sample moved along the inward normal. A concave notch tighter than + /// [inset] folds the offset over itself; the fold is a hairline at the + /// border widths this is used at, and the non-zero fill rule swallows it. + /// + /// A negative [inset] offsets outward instead, which is how the comet halo + /// grows an arbitrary contour. + static Path insetPath(Path source, double inset) { + final result = Path(); + if (inset == 0) return result..addPath(source, Offset.zero); + for (final metric in source.computeMetrics()) { + final length = metric.length; + if (length <= 0) continue; + final steps = math.max(8, length.round()); + final points = []; + final normals = []; + for (var i = 0; i < steps; i++) { + final tangent = metric.getTangentForOffset(length * i / steps); + if (tangent == null) continue; + points.add(tangent.position); + normals.add(Offset(tangent.vector.dx, tangent.vector.dy)); + } + if (points.length < 3) continue; + // Shoelace sign: positive for a path wound so that rotating the tangent + // a quarter turn one way points inward, negative for the other. + var area = 0.0; + for (var i = 0; i < points.length; i++) { + final a = points[i]; + final b = points[(i + 1) % points.length]; + area += a.dx * b.dy - b.dx * a.dy; + } + final sign = area >= 0 ? 1.0 : -1.0; + for (var i = 0; i < points.length; i++) { + final t = normals[i]; + final inward = Offset(-t.dy, t.dx) * sign; + final p = points[i] + inward * inset; + if (i == 0) { + result.moveTo(p.dx, p.dy); + } else { + result.lineTo(p.dx, p.dy); + } + } + result.close(); + } + return result; + } // Shrinks every corner by [amount], flooring each axis at zero — the // content box's corners are the padding box's minus the border width. @@ -92,6 +176,16 @@ class BeamRingGeometry { bottomRight: _shrink(radii.bottomRight, amount), ); + // Grows every corner by [amount] — the mirror of [_deflateRadius], used by + // the comet halo. + static BorderRadius _inflateRadius(BorderRadius radii, double amount) => + BorderRadius.only( + topLeft: _shrink(radii.topLeft, -amount), + topRight: _shrink(radii.topRight, -amount), + bottomLeft: _shrink(radii.bottomLeft, -amount), + bottomRight: _shrink(radii.bottomRight, -amount), + ); + static Radius _shrink(Radius r, double amount) => Radius.elliptical(math.max(0, r.x - amount), math.max(0, r.y - amount)); diff --git a/lib/src/painting/strategies/line_strategy.dart b/lib/src/painting/strategies/line_strategy.dart index ead477e..1091c00 100644 --- a/lib/src/painting/strategies/line_strategy.dart +++ b/lib/src/painting/strategies/line_strategy.dart @@ -1,8 +1,14 @@ +import 'dart:math' as math; import 'dart:ui'; +import 'package:flutter/painting.dart' show BorderRadius; + import '../../animation/beam_phases.dart'; +import '../../constants/line_geometry.dart'; +import '../../constants/line_keyframes.dart'; import '../../models/beam_blob.dart'; import '../../models/beam_config.dart'; +import '../../models/beam_options.dart'; import '../color_matrix.dart'; import '../gradient_builders.dart'; import '../layer_utils.dart'; @@ -12,9 +18,30 @@ import '../variant_strategy.dart'; const Color _white = Color(0xFFFFFFFF); const Color _black = Color(0xFF000000); -/// The bottom-edge traveling beam (React `line`): all masks are radial -/// windows anchored at the traveling x position on the bottom edge, plus a -/// bloom of fixed spikes that shimmer via two counter-phased scale tracks. +// How far a traveller's band runs past the box, before and after the edge it +// rides: far enough that nothing a blob or a blur reaches is ever cut, while +// the bands still partition the edge between the travellers. +const double _bandOverhang = 10000; + +// The sparkle scatter's radius around a traveller, and how finely its +// position is quantised into the twinkle seed. +const double _sparkleSpread = 16; +const int _sparkleSeedSteps = 24; + +/// One traveller's frame: where it sits along the edge, its width factor, the +/// edge fade it carries, and the slice of the edge it owns. +/// +/// [band] is null for a lone beam — the ordinary case paints exactly as it +/// always has, with no clip and no radius clamp. +typedef _Traveller = ({double x, double w, double fade, Rect? band}); + +/// The edge-riding traveling beam (React `line`): all masks are radial +/// windows anchored at the traveling position on the edge, plus a bloom of +/// fixed spikes that shimmer via two counter-phased scale tracks. +/// +/// The geometry is authored for the bottom edge; every other edge is that +/// painting turned about the box's centre, so the transcribed numbers are +/// never touched. class LineStrategy extends BeamVariantStrategy { /// Const constructor. const LineStrategy(); @@ -26,15 +53,34 @@ class LineStrategy extends BeamVariantStrategy { BeamConfig config, BeamFramePhases phases, ) { - if (phases.fadeOpacity <= 0 || phases.edge <= 0) return; - final rect = Offset.zero & size; + if (phases.fadeOpacity <= 0) return; + + // The rotations run counter-clockwise around the box, so a beam that + // rides the bottom edge left-to-right rides the right edge + // bottom-to-top. + canvas.save(); + final authored = _applyEdgeTransform(canvas, size, config.edge); + final rect = beamRect(authored, config); final geometry = BeamRingGeometry( rect: rect, - radius: config.borderRadius, + radius: _rotateRadii(config.borderRadius, config.edge), borderWidth: config.borderWidth, useSuperellipse: config.useSuperellipse, + contour: config.contour, ); final isDark = config.brightness == Brightness.dark; + final beams = _travellers(rect, phases); + // A group's opacity carries the brightest traveller's edge fade; each + // traveller then scales its own colours by the rest of it. The bands are + // disjoint, so scaling per band is exact rather than an approximation. + var fadeMax = 0.0; + for (final beam in beams) { + fadeMax = math.max(fadeMax, beam.fade); + } + if (fadeMax <= 0) { + canvas.restore(); + return; + } final layerMatrix = config.staticColors ? null @@ -45,13 +91,101 @@ class LineStrategy extends BeamVariantStrategy { ); Color fold(Color c) => layerMatrix?.transform(c) ?? c; - _paintInner(canvas, rect, geometry, config, phases, fold); - _paintStroke(canvas, rect, geometry, config, phases, fold, isDark); - _paintBloom(canvas, rect, geometry, config, phases, isDark); + _paintInner(canvas, rect, geometry, config, phases, fold, beams, fadeMax); + _paintStroke( + canvas, + rect, + geometry, + config, + phases, + fold, + isDark, + beams, + fadeMax, + ); + _paintBloom(canvas, rect, geometry, config, phases, isDark, beams, fadeMax); + canvas.restore(); + } + + // ─── Travel ───────────────────────────────────────────────────────────── + + // Resolves every beam travelling the edge this frame. With one beam the + // keyframe values already on the phases are used as they are; with several, + // each traveller samples the same tracks at its own progress and takes the + // slice of the edge reaching halfway to each neighbour — disjoint bands are + // what let several radial masks union inside one layer, since a `dstIn` + // draw multiplies and would otherwise erase its neighbours. + List<_Traveller> _travellers(Rect rect, BeamFramePhases phases) { + final progress = phases.travellers; + if (progress.length <= 1) { + return [ + (x: phases.lineX, w: phases.lineW, fade: phases.edge, band: null), + ]; + } + final sorted = [...progress] + ..sort( + (a, b) => sampleKeyframes( + lineTravelX, + a, + ).compareTo(sampleKeyframes(lineTravelX, b)), + ); + final xs = [for (final p in sorted) sampleKeyframes(lineTravelX, p)]; + final result = <_Traveller>[]; + for (var i = 0; i < sorted.length; i++) { + final centre = rect.left + xs[i] * rect.width; + final left = i == 0 + ? rect.left - _bandOverhang + : (centre + rect.left + xs[i - 1] * rect.width) / 2; + final right = i == sorted.length - 1 + ? rect.right + _bandOverhang + : (centre + rect.left + xs[i + 1] * rect.width) / 2; + result.add(( + x: xs[i], + w: sampleKeyframes(lineTravelW, sorted[i]), + fade: sampleKeyframes(lineEdgeFade, sorted[i]), + band: Rect.fromLTRB( + left, + rect.top - _bandOverhang, + right, + rect.bottom + _bandOverhang, + ), + )); + } + return result; + } + + Offset _anchor(Rect rect, _Traveller beam, {double dy = 0}) => + Offset(rect.left + beam.x * rect.width, rect.bottom + dy); + + // The widest a traveller's mask may reach without spilling into a + // neighbour's band, where the clip would cut it while it is still opaque. + double _maskRadiusX(Rect rect, _Traveller beam, double wanted) { + final band = beam.band; + if (band == null) return wanted; + final centre = rect.left + beam.x * rect.width; + return math.min(wanted, math.min(centre - band.left, band.right - centre)); + } + + // Runs [paint] for one traveller, inside its own slice of the edge. + void _forEachTraveller( + Canvas canvas, + List<_Traveller> beams, + void Function(_Traveller beam) paint, + ) { + for (final beam in beams) { + final band = beam.band; + if (band == null) { + paint(beam); + continue; + } + canvas.save(); + canvas.clipRect(band); + paint(beam); + canvas.restore(); + } } - Offset _beamAnchor(Rect rect, BeamFramePhases phases, {double dy = 0}) => - Offset(rect.left + phases.lineX * rect.width, rect.bottom + dy); + // ─── Layers ───────────────────────────────────────────────────────────── void _paintInner( Canvas canvas, @@ -60,12 +194,14 @@ class LineStrategy extends BeamVariantStrategy { BeamConfig config, BeamFramePhases phases, Color Function(Color) fold, + List<_Traveller> beams, + double fadeMax, ) { // The line variant does not apply the mono ×0.5 multiplier — its mono // treatment lives in the bloom spike attenuation. final opacity = (phases.fadeOpacity * - phases.edge * + fadeMax * config.theme.innerOpacity * config.innerOpacityFactor * config.strength) @@ -76,26 +212,29 @@ class LineStrategy extends BeamVariantStrategy { canvas.clipPath(geometry.outer); canvas.saveLayer(rect, Paint()..color = _white.withValues(alpha: opacity)); - for (final blob in config.palette.data.lineInner) { - BeamGradients.paintBlob( - canvas, - center: Offset( - rect.left + phases.lineX * rect.width + blob.offsetX, - rect.bottom - blob.offsetY.abs(), - ), - radiusX: blob.sizeW * phases.lineW, - radiusY: blob.sizeH * phases.lineH, - color: fold(blob.color), - ); - } + _forEachTraveller(canvas, beams, (beam) { + final tint = _tint(fold, beam, fadeMax); + for (final blob in config.palette.data.lineInner) { + BeamGradients.paintBlob( + canvas, + center: Offset( + rect.left + beam.x * rect.width + blob.offsetX, + rect.bottom - blob.offsetY.abs(), + ), + radiusX: blob.sizeW * beam.w, + radiusY: blob.sizeH * phases.lineH, + color: tint(blob.color), + ); + } + }); BeamLayerUtils.paintInnerShadow( canvas, contour: geometry.outer, color: fold(config.theme.innerShadow), - blur: 9, + blur: lineInnerShadowBlur, ); - // Mask: (featherV ∪ featherH) ∩ radial window. + // Mask: (featherV ∪ featherH) ∩ the union of the travellers' windows. canvas.saveLayer(rect, Paint()..blendMode = BlendMode.dstIn); canvas.drawRect( rect, @@ -107,18 +246,14 @@ class LineStrategy extends BeamVariantStrategy { ..blendMode = BlendMode.screen ..shader = BeamGradients.horizontalEdgeFeather(rect), ); - canvas.drawRect( - rect, - Paint() - ..blendMode = BlendMode.dstIn - ..shader = BeamGradients.radialWindow( - center: _beamAnchor(rect, phases), - radiusX: 78 * phases.lineW, - radiusY: 60 * phases.lineH, - midStop: 0.45, - midAlpha: 0.5, - ), - ); + _forEachTraveller(canvas, beams, (beam) { + canvas.drawRect( + rect, + Paint() + ..blendMode = BlendMode.dstIn + ..shader = _window(rect, beam, phases), + ); + }); canvas.restore(); canvas.restore(); @@ -133,10 +268,12 @@ class LineStrategy extends BeamVariantStrategy { BeamFramePhases phases, Color Function(Color) fold, bool isDark, + List<_Traveller> beams, + double fadeMax, ) { final opacity = (phases.fadeOpacity * - phases.edge * + fadeMax * config.theme.strokeOpacity * config.strokeOpacityFactor * config.strength) @@ -147,64 +284,52 @@ class LineStrategy extends BeamVariantStrategy { canvas.clipPath(geometry.ring); canvas.saveLayer(rect, Paint()..color = _white.withValues(alpha: opacity)); - // White (dark) / black (light) traveling highlight. - if (isDark) { + _forEachTraveller(canvas, beams, (beam) { + final tint = _tint(fold, beam, fadeMax); + // White (dark) / black (light) traveling highlight. + final base = isDark ? _white : _black; + final alphas = isDark + ? lineHighlightAlphasDark + : lineHighlightAlphasLight; BeamLayerUtils.paintRadial( canvas, - center: _beamAnchor(rect, phases, dy: 2), - radiusX: 24 * phases.lineW, - radiusY: 28 * phases.lineH, - colors: [ - fold(_white.withValues(alpha: 0.38)), - fold(_white.withValues(alpha: 0.12)), - fold(_white.withValues(alpha: 0)), - ], - stops: const [0, 0.30, 0.65], + center: _anchor(rect, beam, dy: lineHighlightOffsetY), + radiusX: + (isDark ? lineHighlightRadiusXDark : lineHighlightRadiusXLight) * + beam.w, + radiusY: + (isDark ? lineHighlightRadiusYDark : lineHighlightRadiusYLight) * + phases.lineH, + colors: [for (final a in alphas) tint(base.withValues(alpha: a))], + stops: isDark ? lineHighlightStopsDark : lineHighlightStopsLight, ); - } else { - BeamLayerUtils.paintRadial( - canvas, - center: _beamAnchor(rect, phases, dy: 2), - radiusX: 35 * phases.lineW, - radiusY: 28 * phases.lineH, - colors: [ - fold(_black.withValues(alpha: 0.6)), - fold(_black.withValues(alpha: 0.25)), - fold(_black.withValues(alpha: 0)), - ], - stops: const [0, 0.35, 0.70], + final blobs = isDark + ? config.palette.data.lineDark + : config.palette.data.lineLight; + for (final blob in blobs) { + BeamGradients.paintBlob( + canvas, + center: Offset( + rect.left + beam.x * rect.width + blob.offsetX, + rect.bottom + blob.offsetY, + ), + radiusX: blob.sizeW * beam.w, + radiusY: blob.sizeH * phases.lineH, + color: tint(blob.color), + ); + } + canvas.drawRect( + rect, + Paint() + ..blendMode = BlendMode.dstIn + ..shader = _window(rect, beam, phases), ); - } - final blobs = isDark - ? config.palette.data.lineDark - : config.palette.data.lineLight; - for (final blob in blobs) { - BeamGradients.paintBlob( - canvas, - center: Offset( - rect.left + phases.lineX * rect.width + blob.offsetX, - rect.bottom + blob.offsetY, - ), - radiusX: blob.sizeW * phases.lineW, - radiusY: blob.sizeH * phases.lineH, - color: fold(blob.color), - ); - } - canvas.drawRect( - rect, - Paint() - ..blendMode = BlendMode.dstIn - ..shader = BeamGradients.radialWindow( - center: _beamAnchor(rect, phases), - radiusX: 78 * phases.lineW, - radiusY: 60 * phases.lineH, - midStop: 0.45, - midAlpha: 0.5, - ), - ); + }); canvas.restore(); canvas.restore(); + + _paintSparkles(canvas, rect, config, beams, opacity, isDark); } void _paintBloom( @@ -214,10 +339,12 @@ class LineStrategy extends BeamVariantStrategy { BeamConfig config, BeamFramePhases phases, bool isDark, + List<_Traveller> beams, + double fadeMax, ) { final opacity = (phases.fadeOpacity * - phases.edge * + fadeMax * config.theme.bloomOpacity * config.bloomOpacityFactor * config.strength) @@ -227,7 +354,12 @@ class LineStrategy extends BeamVariantStrategy { final mono = config.palette.monoTreatment; // Bloom filter: blur(8) + hue(range+10) when animating; blur(6) for // mono; no filter when static non-mono (matching the generated CSS). - final blurSigma = mono ? 6.0 : (config.staticColors ? 0.0 : 8.0); + // glowSpread scales whichever blur applies. + final blurSigma = + (mono + ? lineBloomBlurSigmaMono + : (config.staticColors ? 0.0 : lineBloomBlurSigma)) * + config.glowSpread; final matrix = config.staticColors ? null : BeamColorMatrix.beamFilter( @@ -250,28 +382,87 @@ class LineStrategy extends BeamVariantStrategy { canvas.clipPath(geometry.outer); canvas.saveLayer(rect, layerPaint); - _paintSpikes(canvas, rect, config, phases, isDark, mono, fold); - - canvas.drawRect( - rect, - Paint() - ..blendMode = BlendMode.dstIn - ..shader = BeamGradients.radialWindow( - center: _beamAnchor(rect, phases), - radiusX: 84 * phases.lineW, - radiusY: 110 * phases.lineH, - midStop: 0.35, - midAlpha: 0.5, - ), - ); + _forEachTraveller(canvas, beams, (beam) { + _paintSpikes( + canvas, + rect, + config, + phases, + isDark, + mono, + _tint(fold, beam, fadeMax), + beam, + ); + canvas.drawRect( + rect, + Paint() + ..blendMode = BlendMode.dstIn + ..shader = BeamGradients.radialWindow( + center: _anchor(rect, beam), + radiusX: _maskRadiusX(rect, beam, lineBloomWindowRadiusX * beam.w), + radiusY: lineBloomWindowRadiusY * phases.lineH, + midStop: lineBloomWindowMidStop, + midAlpha: lineBloomWindowMidAlpha, + ), + ); + }); canvas.restore(); canvas.restore(); } - // The fixed bloom spikes at 8/22/36/50/64/78/92% of the bottom edge, plus - // the traveling dot/ambient (dark) or shadow blob (light). Transcribed - // from getLineBloomGradients. + Shader _window(Rect rect, _Traveller beam, BeamFramePhases phases) => + BeamGradients.radialWindow( + center: _anchor(rect, beam), + radiusX: _maskRadiusX(rect, beam, lineWindowRadiusX * beam.w), + radiusY: lineWindowRadiusY * phases.lineH, + midStop: lineWindowMidStop, + midAlpha: lineWindowMidAlpha, + ); + + // A traveller's colour treatment: the shared fold, then the share of the + // edge fade the group opacity did not already carry. + Color Function(Color) _tint( + Color Function(Color) fold, + _Traveller beam, + double fadeMax, + ) { + final k = fadeMax <= 0 ? 0.0 : (beam.fade / fadeMax).clamp(0.0, 1.0); + if (k >= 1) return fold; + return (c) { + final folded = fold(c); + return folded.withValues(alpha: folded.a * k); + }; + } + + // Twinkles at each traveller, drawn over the stroke without a layer of + // their own. + void _paintSparkles( + Canvas canvas, + Rect rect, + BeamConfig config, + List<_Traveller> beams, + double opacity, + bool isDark, + ) { + if (config.sparkle <= 0 || rect.isEmpty) return; + for (var i = 0; i < beams.length; i++) { + final beam = beams[i]; + BeamLayerUtils.paintSparkles( + canvas, + center: _anchor(rect, beam), + density: config.sparkle, + color: isDark ? _white : _black, + opacity: opacity * beam.fade, + spread: _sparkleSpread, + seed: (beam.x * _sparkleSeedSteps).floor() * 7 + i, + ); + } + } + + // The fixed bloom spikes at 8/22/36/50/64/78/92% of the edge, plus the + // traveling dot/ambient (dark) or shadow blob (light). Transcribed from + // getLineBloomGradients. void _paintSpikes( Canvas canvas, Rect rect, @@ -280,61 +471,72 @@ class LineStrategy extends BeamVariantStrategy { bool isDark, bool mono, Color Function(Color) fold, + _Traveller beam, ) { final palette = config.palette.data; final spikeColors = isDark ? palette.spike : palette.spikeLt; final table = isDark ? palette.lineBloomDark : palette.lineBloomLight; Color att(Color c, double f) => BeamLayerUtils.attenuateSpike(c, f); - final sc1 = mono ? att(spikeColors.primary, 0.14) : spikeColors.primary; + final sc1 = mono + ? att(spikeColors.primary, lineMonoSpike1) + : spikeColors.primary; final sc1MidDark = mono - ? att(spikeColors.primary, 0.09) + ? att(spikeColors.primary, lineMonoSpike1MidDark) : spikeColors.primary; final sc1MidLight = mono - ? att(spikeColors.primary, 0.11) - : BeamLayerUtils.withAlpha(spikeColors.primary, 0.85); - final sc2 = mono ? att(spikeColors.secondary, 0.12) : spikeColors.secondary; + ? att(spikeColors.primary, lineMonoSpike1MidLight) + : BeamLayerUtils.withAlpha( + spikeColors.primary, + lineSpike1MidLightAlpha, + ); + final sc2 = mono + ? att(spikeColors.secondary, lineMonoSpike2) + : spikeColors.secondary; final sc2MidDark = mono - ? BeamLayerUtils.withAlpha(spikeColors.secondary, 0.06) - : BeamLayerUtils.withAlpha(spikeColors.secondary, 0.49); + ? BeamLayerUtils.withAlpha(spikeColors.secondary, lineMonoSpike2MidDark) + : BeamLayerUtils.withAlpha( + spikeColors.secondary, + lineSpike2MidDarkAlpha, + ); final sc2MidLight = mono - ? att(spikeColors.secondary, 0.09) - : BeamLayerUtils.withAlpha(spikeColors.secondary, 0.7); + ? att(spikeColors.secondary, lineMonoSpike2MidLight) + : BeamLayerUtils.withAlpha( + spikeColors.secondary, + lineSpike2MidLightAlpha, + ); SpikePair spikeAt(int i) => mono ? SpikePair( - att(table[i].color1, 0.14), - att(table[i].color2, 0.14 * 0.7), + att(table[i].color1, lineMonoTableSpike1), + att(table[i].color2, lineMonoTableSpike2), ) : table[i]; // Mono widens and shortens the thin spikes into a soft glow. - final thinW1 = mono ? 12.0 : 0.8; - final thinW2 = mono ? 14.0 : 2.0; - final thinW3 = mono ? 12.0 : 1.2; - final thinW4 = mono ? 10.0 : 0.6; - final thinLW = mono ? 12.0 : 1.0; - final thinH1 = mono ? 42.0 : 92.0; - final thinH2 = mono ? 38.0 : 72.0; - final thinH3 = mono ? 40.0 : 85.0; - final thinH4 = mono ? 32.0 : 60.0; + final thinW = mono ? lineMonoThinSpikeWidths : lineThinSpikeWidths; + final thinH = mono ? lineMonoThinSpikeHeights : lineThinSpikeHeights; + final thinLW = mono + ? lineMonoThinSpikeWidthLight92 + : lineThinSpikeWidthLight92; void spike({ - required double fx, - required double yInset, + required int index, required double rx, required double ry, required Color c0, required Color cMid, - required double midStop, - required double endStop, }) { + final geometry = lineSpikes[index]; BeamLayerUtils.paintRadial( canvas, - center: Offset(rect.left + fx * rect.width, rect.bottom - yInset), + center: Offset( + rect.left + geometry.fx * rect.width, + rect.bottom - geometry.yInset, + ), radiusX: rx, radiusY: ry, colors: [fold(c0), fold(cMid), fold(cMid.withValues(alpha: 0))], - stops: [0, midStop, endStop], + stops: [0, geometry.midStop, geometry.endStop], ); } @@ -343,125 +545,158 @@ class LineStrategy extends BeamVariantStrategy { final h = phases.lineH; spike( - fx: 0.08, - yInset: 2, - rx: thinW1 * s, - ry: thinH1 * h, + index: 0, + rx: thinW[0] * s, + ry: thinH[0] * h, c0: sc1, cMid: isDark ? sc1MidDark : sc1MidLight, - midStop: 0.30, - endStop: 0.88, ); spike( - fx: 0.22, - yInset: 4, - rx: 10 * s2, - ry: 35 * h, + index: 1, + rx: lineSpikeWideRadiusX22 * s2, + ry: lineSpikeRadiusY22 * h, c0: sc2, cMid: isDark ? sc2MidDark : sc2MidLight, - midStop: 0.50, - endStop: 0.95, ); spike( - fx: 0.36, - yInset: 3, - rx: thinW2 * (2 - s), - ry: thinH2 * h, + index: 2, + rx: thinW[1] * (2 - s), + ry: thinH[1] * h, c0: spikeAt(0).color1, cMid: spikeAt(0).color2, - midStop: 0.40, - endStop: 0.90, ); spike( - fx: 0.50, - yInset: 2, - rx: 14 * s2, - ry: 28 * h, + index: 3, + rx: lineSpikeWideRadiusX50 * s2, + ry: lineSpikeRadiusY50 * h, c0: spikeAt(1).color1, cMid: spikeAt(1).color2, - midStop: 0.55, - endStop: 0.96, ); spike( - fx: 0.64, - yInset: 4, - rx: thinW3 * (2 - s2), - ry: thinH3 * h, + index: 4, + rx: thinW[2] * (2 - s2), + ry: thinH[2] * h, c0: spikeAt(2).color1, cMid: spikeAt(2).color2, - midStop: 0.35, - endStop: 0.89, ); spike( - fx: 0.78, - yInset: 2, - rx: 7 * s, - ry: 45 * h, + index: 5, + rx: lineSpikeRadiusX78 * s, + ry: lineSpikeRadiusY78 * h, c0: spikeAt(3).color1, cMid: spikeAt(3).color2, - midStop: 0.48, - endStop: 0.94, ); spike( - fx: 0.92, - yInset: 3, - rx: (isDark ? thinW4 : thinLW) * (2 - s), - ry: thinH4 * h, + index: 6, + rx: (isDark ? thinW[3] : thinLW) * (2 - s), + ry: thinH[3] * h, c0: spikeAt(4).color1, cMid: spikeAt(4).color2, - midStop: 0.42, - endStop: 0.91, ); if (isDark) { // Traveling dot + ambient glow. - final dotC = _white.withValues(alpha: mono ? 0.5 : 1.0); - final dot20 = _white.withValues(alpha: mono ? 0.45 : 0.9); - final dot50 = _white.withValues(alpha: mono ? 0.25 : 0.5); + final dot = mono ? lineDotAlphasMono : lineDotAlphas; + final dotC = _white.withValues(alpha: dot[0]); + final dot20 = _white.withValues(alpha: dot[1]); + final dot50 = _white.withValues(alpha: dot[2]); BeamLayerUtils.paintRadial( canvas, - center: _beamAnchor(rect, phases, dy: 1), - radiusX: 21 * s, - radiusY: 15 * s2, + center: _anchor(rect, beam, dy: lineDotOffsetY), + radiusX: lineDotRadiusX * s, + radiusY: lineDotRadiusY * s2, colors: [ fold(dotC), fold(dot20), fold(dot50), fold(dot50.withValues(alpha: 0)), ], - stops: const [0, 0.20, 0.50, 1.0], + stops: lineDotStops, ); - final ambC = _white.withValues(alpha: mono ? 0.15 : 0.3); - final amb25 = _white.withValues(alpha: mono ? 0.06 : 0.12); - final amb55 = _white.withValues(alpha: mono ? 0.015 : 0.03); + final ambient = mono ? lineAmbientAlphasMono : lineAmbientAlphas; + final ambC = _white.withValues(alpha: ambient[0]); + final amb25 = _white.withValues(alpha: ambient[1]); + final amb55 = _white.withValues(alpha: ambient[2]); BeamLayerUtils.paintRadial( canvas, - center: _beamAnchor(rect, phases), - radiusX: 42 * phases.lineW, - radiusY: 40 * h, + center: _anchor(rect, beam), + radiusX: lineAmbientRadiusX * beam.w, + radiusY: lineAmbientRadiusY * h, colors: [ fold(ambC), fold(amb25), fold(amb55), fold(amb55.withValues(alpha: 0)), ], - stops: const [0, 0.25, 0.55, 0.80], + stops: lineAmbientStops, ); } else { // Light theme: a traveling dark shadow blob instead of the bright dot. BeamLayerUtils.paintRadial( canvas, - center: _beamAnchor(rect, phases), - radiusX: 50 * phases.lineW, - radiusY: 32 * h, + center: _anchor(rect, beam), + radiusX: lineShadowRadiusX * beam.w, + radiusY: lineShadowRadiusY * h, colors: [ - fold(_black.withValues(alpha: 0.5)), - fold(_black.withValues(alpha: 0.18)), - fold(_black.withValues(alpha: 0.03)), - fold(_black.withValues(alpha: 0)), + for (final a in lineShadowAlphas) fold(_black.withValues(alpha: a)), ], - stops: const [0, 0.30, 0.60, 0.85], + stops: lineShadowStops, ); } } } + +// Turns the canvas so the authored bottom-edge painting lands on [edge], and +// returns the size it should be authored against — swapped for the two +// vertical edges, where the box's height becomes the authored width. +Size _applyEdgeTransform(Canvas canvas, Size size, BeamEdge edge) { + switch (edge) { + case BeamEdge.bottom: + return size; + case BeamEdge.top: + canvas.translate(size.width, size.height); + canvas.rotate(math.pi); + return size; + case BeamEdge.left: + canvas.translate(size.width, 0); + canvas.rotate(math.pi / 2); + return Size(size.height, size.width); + case BeamEdge.right: + canvas.translate(0, size.height); + canvas.rotate(-math.pi / 2); + return Size(size.height, size.width); + } +} + +// The corner radii to author the ring with so that, once the canvas turn is +// applied, every corner lands back on the corner of the child it belongs to. +BorderRadius _rotateRadii(BorderRadius radii, BeamEdge edge) { + switch (edge) { + case BeamEdge.bottom: + return radii; + case BeamEdge.top: + return BorderRadius.only( + topLeft: radii.bottomRight, + topRight: radii.bottomLeft, + bottomLeft: radii.topRight, + bottomRight: radii.topLeft, + ); + case BeamEdge.left: + return BorderRadius.only( + topLeft: _swapAxes(radii.topRight), + topRight: _swapAxes(radii.bottomRight), + bottomRight: _swapAxes(radii.bottomLeft), + bottomLeft: _swapAxes(radii.topLeft), + ); + case BeamEdge.right: + return BorderRadius.only( + topLeft: _swapAxes(radii.bottomLeft), + topRight: _swapAxes(radii.topLeft), + bottomRight: _swapAxes(radii.topRight), + bottomLeft: _swapAxes(radii.bottomRight), + ); + } +} + +// A quarter turn swaps an elliptical radius' two axes. +Radius _swapAxes(Radius r) => Radius.elliptical(r.y, r.x); diff --git a/lib/src/painting/strategies/pulse_inner_strategy.dart b/lib/src/painting/strategies/pulse_inner_strategy.dart index a711721..b871849 100644 --- a/lib/src/painting/strategies/pulse_inner_strategy.dart +++ b/lib/src/painting/strategies/pulse_inner_strategy.dart @@ -1,6 +1,7 @@ import 'dart:ui'; import '../../animation/beam_phases.dart'; +import '../../constants/pulse_constants.dart'; import '../../constants/pulse_params.dart'; import '../../constants/pulse_tables.dart'; import '../../models/beam_config.dart'; @@ -8,7 +9,6 @@ import '../../models/beam_variant.dart'; import '../color_matrix.dart'; import '../gradient_builders.dart'; import '../layer_utils.dart'; -import '../ring_geometry.dart'; import '../variant_strategy.dart'; import 'pulse_common.dart'; @@ -32,13 +32,8 @@ class PulseInnerStrategy extends BeamVariantStrategy { BeamFramePhases phases, ) { if (phases.fadeOpacity <= 0) return; - final rect = Offset.zero & size; - final geometry = BeamRingGeometry( - rect: rect, - radius: config.borderRadius, - borderWidth: config.borderWidth, - useSuperellipse: config.useSuperellipse, - ); + final rect = beamRect(size, config); + final geometry = beamGeometry(rect, config); final isDark = config.brightness == Brightness.dark; final params = PulseParams.resolve( BeamVariant.pulseInside, @@ -94,7 +89,9 @@ class PulseInnerStrategy extends BeamVariantStrategy { // Corner accents: fixed 60×60 ellipses whose alpha breathes with the // corner's quadrant oscillator. final cornerBase = isDark ? _white : const Color(0xFF000000); - final cornerAlpha = isDark ? 0.18 : 0.08; + final cornerAlpha = isDark + ? pulseInnerCornerAlphaDark + : pulseInnerCornerAlphaLight; final corners = [ (pos: rect.topLeft, quad: pulseRingMap[0].quad), (pos: rect.topRight, quad: pulseRingMap[6].quad), @@ -106,13 +103,13 @@ class PulseInnerStrategy extends BeamVariantStrategy { BeamLayerUtils.paintRadial( canvas, center: corner.pos, - radiusX: 60, - radiusY: 60, + radiusX: pulseInnerCornerRadius, + radiusY: pulseInnerCornerRadius, colors: [ fold(cornerBase.withValues(alpha: a)), fold(cornerBase.withValues(alpha: 0)), ], - stops: const [0, 0.70], + stops: const [0, pulseInnerCornerEndStop], ); } @@ -166,6 +163,18 @@ class PulseInnerStrategy extends BeamVariantStrategy { fold: fold, ); } + // The dashed-ring mask rides inside the ring layer, the one layer a + // pulse beam draws its border in; the inner glow and the bloom stay + // continuous, since dashing a breathing wash reads as banding. + final segments = config.segments; + if (segments != null && segments >= 2) { + canvas.drawRect( + rect, + Paint() + ..blendMode = BlendMode.dstIn + ..shader = BeamGradients.segmentMask(rect, segments), + ); + } canvas.restore(); canvas.restore(); } @@ -186,8 +195,8 @@ class PulseInnerStrategy extends BeamVariantStrategy { Paint() ..color = _white.withValues(alpha: bloomOpacity) ..imageFilter = ImageFilter.blur( - sigmaX: 8, - sigmaY: 8, + sigmaX: pulseInnerBloomBlurSigma * config.glowSpread, + sigmaY: pulseInnerBloomBlurSigma * config.glowSpread, tileMode: TileMode.decal, ), ); diff --git a/lib/src/painting/strategies/pulse_outer_strategy.dart b/lib/src/painting/strategies/pulse_outer_strategy.dart index 8623dde..855092a 100644 --- a/lib/src/painting/strategies/pulse_outer_strategy.dart +++ b/lib/src/painting/strategies/pulse_outer_strategy.dart @@ -1,14 +1,15 @@ import 'dart:ui'; import '../../animation/beam_phases.dart'; +import '../../constants/pulse_constants.dart'; import '../../constants/pulse_params.dart'; import '../../constants/pulse_tables.dart'; import '../../models/beam_blob.dart'; import '../../models/beam_config.dart'; import '../../models/beam_variant.dart'; import '../color_matrix.dart'; +import '../gradient_builders.dart'; import '../layer_utils.dart'; -import '../ring_geometry.dart'; import '../variant_strategy.dart'; import 'pulse_common.dart'; @@ -22,51 +23,23 @@ class PulseOuterStrategy extends BeamVariantStrategy { /// Const constructor. const PulseOuterStrategy(); - /// Reference child dimensions the glow geometry was authored for. - static const double referenceWidth = 350; - - /// Reference child height. - static const double referenceHeight = 140; - - /// Glow scale clamp bounds. - static const double minScale = 0.35; - - /// Upper clamp bound. - static const double maxScale = 4; - - // The source's constant outward-glow transform (scale(0.95, 0.9)). - static const double _sw = 0.95; - static const double _sh = 0.9; - - // The demo-hero tuning recipe (`.beam-host--pulse-outside-tuned` in the - // source's demo). The library's RAW defaults render a sparse, dim halo of - // separate blobs; the pulse-outside look everyone knows from - // beam.jakubantalik.com layers this recipe on top: unit-scaled insets and - // blurs (the ~20px core blur is what melts the blobs into one continuous - // edge-hugging glow), ×1.71 layer opacities, brightness 1.3×1.71 and - // saturation 1.2×1.71, and a 1.05 prominence boost. Baked in as the - // Flutter defaults; every value stays overridable through the widget's - // coreBlur/bloomBlur/glowBrightness/glowSaturation/glowBoost/opacity - // hooks. - static const double _tunedBoost = 1.05; - static const double _tunedGlowMul = 1.71; - static const double _tunedCoreInset = 6; - static const double _tunedBloomInset = 14; - static const double _tunedCoreBlur = 10; - static const double _tunedBloomBlur = 19; - @override double? get preferredFps => 30; - double _sx(Size size) => - (size.width / referenceWidth).clamp(minScale, maxScale); - double _sy(Size size) => - (size.height / referenceHeight).clamp(minScale, maxScale); + double _sx(Size size) => (size.width / pulseOuterReferenceWidth).clamp( + pulseOuterMinScale, + pulseOuterMaxScale, + ); + double _sy(Size size) => (size.height / pulseOuterReferenceHeight).clamp( + pulseOuterMinScale, + pulseOuterMaxScale, + ); // Halo reach/blur scale with element size relative to the demo's Subscribe // button baseline (measured glow scale 0.35), damped ×0.7 // (`--sub-glow-unit`). - double _unit(Size size) => _sx(size) / minScale * 0.7; + double _unit(Size size) => + _sx(size) / pulseOuterMinScale * pulseOuterGlowUnitDamping; BeamColorMatrix _matrix( BeamConfig config, @@ -87,7 +60,7 @@ class PulseOuterStrategy extends BeamVariantStrategy { BeamFramePhases phases, ) { if (phases.fadeOpacity <= 0) return; - final rect = Offset.zero & size; + final rect = beamRect(size, config); final params = PulseParams.resolve( BeamVariant.pulseOutside, config.brightness, @@ -96,7 +69,7 @@ class PulseOuterStrategy extends BeamVariantStrategy { final sx = _sx(size); final sy = _sy(size); final unit = _unit(size); - final boost = config.glowBoost * _tunedBoost; + final boost = config.glowBoost * pulseOuterTunedBoost; final border = config.palette.data.border; // Filter ordering: CSS runs `blur()` before the color terms, and Skia @@ -106,8 +79,12 @@ class PulseOuterStrategy extends BeamVariantStrategy { final glowMatrix = _matrix( config, phases, - brightness: config.glowBrightness ?? 1.3 * _tunedGlowMul, - saturation: config.glowSaturation ?? 1.2 * _tunedGlowMul, + brightness: + config.glowBrightness ?? + pulseOuterGlowBrightness * pulseOuterTunedGlowMultiplier, + saturation: + config.glowSaturation ?? + pulseOuterGlowSaturation * pulseOuterTunedGlowMultiplier, ); ImageFilter glowBlur(double sigma) => ImageFilter.compose( outer: glowMatrix.toColorFilter(), @@ -125,11 +102,15 @@ class PulseOuterStrategy extends BeamVariantStrategy { fade: phases.fadeOpacity, preset: config.theme.innerOpacity, hookFactor: config.innerOpacityFactor, - extra: _tunedGlowMul, + extra: pulseOuterTunedGlowMultiplier, ); - final coreBlur = config.coreBlur ?? _tunedCoreBlur * unit; + // glowSpread multiplies how far the halo reaches and how soft it is — + // its insets and both blurs. + final spread = config.glowSpread; + final coreBlur = + (config.coreBlur ?? pulseOuterTunedCoreBlur * unit) * spread; if (coreOpacity > 0) { - final coreRect = rect.inflate(_tunedCoreInset * unit); + final coreRect = rect.inflate(pulseOuterTunedCoreInset * unit * spread); canvas.saveLayer( coreRect.inflate(coreBlur * 3), Paint() @@ -164,11 +145,12 @@ class PulseOuterStrategy extends BeamVariantStrategy { fade: phases.fadeOpacity, preset: config.theme.bloomOpacity, hookFactor: config.bloomOpacityFactor, - extra: _tunedGlowMul, + extra: pulseOuterTunedGlowMultiplier, ); - final bloomBlur = config.bloomBlur ?? _tunedBloomBlur * unit; + final bloomBlur = + (config.bloomBlur ?? pulseOuterTunedBloomBlur * unit) * spread; if (bloomOpacity > 0) { - final bloomRect = rect.inflate(_tunedBloomInset * unit); + final bloomRect = rect.inflate(pulseOuterTunedBloomInset * unit * spread); final frozenAlpha = 1 - params.op * 0.5; canvas.saveLayer( bloomRect.inflate(bloomBlur * 3), @@ -205,15 +187,10 @@ class PulseOuterStrategy extends BeamVariantStrategy { BeamFramePhases phases, ) { if (phases.fadeOpacity <= 0) return; - final rect = Offset.zero & size; + final rect = beamRect(size, config); final isDark = config.brightness == Brightness.dark; - final geometry = BeamRingGeometry( - rect: rect, - radius: config.borderRadius, - // The stroke ring is always 1px in the source (padding: 1px). - borderWidth: config.borderWidth, - useSuperellipse: config.useSuperellipse, - ); + // The stroke ring is always 1px in the source (padding: 1px). + final geometry = beamGeometry(rect, config); final sx = _sx(size); final sy = _sy(size); // Filter applied at layer composite time (post-gradient), matching CSS — @@ -227,7 +204,7 @@ class PulseOuterStrategy extends BeamVariantStrategy { fade: phases.fadeOpacity, preset: config.theme.strokeOpacity, hookFactor: config.strokeOpacityFactor, - extra: _tunedGlowMul, + extra: pulseOuterTunedGlowMultiplier, ); if (strokeOpacity <= 0) return; @@ -268,6 +245,17 @@ class PulseOuterStrategy extends BeamVariantStrategy { fold: fold, ); } + // The dashed-ring mask rides inside the ring layer; the outward glows are + // left continuous, since dashing a soft halo reads as banding. + final segments = config.segments; + if (segments != null && segments >= 2) { + canvas.drawRect( + rect, + Paint() + ..blendMode = BlendMode.dstIn + ..shader = BeamGradients.segmentMask(rect, segments), + ); + } canvas.restore(); canvas.restore(); } @@ -280,7 +268,7 @@ class PulseOuterStrategy extends BeamVariantStrategy { void _scaled(Canvas canvas, Offset center, void Function() paint) { canvas.save(); canvas.translate(center.dx, center.dy); - canvas.scale(_sw, _sh); + canvas.scale(pulseOuterScaleX, pulseOuterScaleY); canvas.translate(-center.dx, -center.dy); paint(); canvas.restore(); diff --git a/lib/src/painting/strategies/rotate_strategy.dart b/lib/src/painting/strategies/rotate_strategy.dart index df1fad5..05b5bc5 100644 --- a/lib/src/painting/strategies/rotate_strategy.dart +++ b/lib/src/painting/strategies/rotate_strategy.dart @@ -2,6 +2,7 @@ import 'dart:math' as math; import 'dart:ui'; import '../../animation/beam_phases.dart'; +import '../../constants/rotate_stops.dart'; import '../../models/beam_config.dart'; import '../color_matrix.dart'; import '../gradient_builders.dart'; @@ -12,42 +13,22 @@ import '../variant_strategy.dart'; const Color _white = Color(0xFFFFFFFF); const Color _black = Color(0xFF000000); -// Conic stop tables transcribed from the source's generated CSS -// (generateBorderVariantCSS / generateSmallVariantCSS — identical for both). +// How far past the ring the comet halo reaches at glowSpread 1, and how much +// wider its band runs than the plain bloom's — the halo is the same layer, +// re-clipped and stretched, so it has to read as a trail rather than as an +// edge highlight. +const double _cometReach = 12; +const double _cometBandFactor = 1.6; -// The rotating soft window revealing the stroke/inner layers. -const _windowStops = [0.0, 0.30, 0.36, 0.44, 0.52, 0.80, 0.86, 0.92, 0.95, 1.0]; -const _windowAlphas = [0.0, 0.0, 0.1, 0.35, 1.0, 1.0, 0.35, 0.1, 0.0, 0.0]; +// The stop the rotate window's bright core ends at: the beam's head, and so +// where the sparkles gather. +const double _windowHeadStop = 0.80; -// The wider window used by the small variant's inner layer (`smallMask`). -const _smallWindowStops = [ - 0.0, 0.22, 0.28, 0.36, 0.46, 0.82, 0.88, 0.94, 0.97, 1.0, // -]; -const _smallWindowAlphas = [0.0, 0.0, 0.12, 0.4, 1.0, 1.0, 0.4, 0.12, 0.0, 0.0]; - -// The white (dark theme) / black (light theme) highlight sweep of the stroke. -const _highlightStops = [ - 0.0, 0.54, 0.57, 0.60, 0.63, 0.66, 0.69, 0.72, 0.75, 0.78, 1.0, // -]; -const _highlightAlphasDark = [ - 0.0, 0.0, 0.1, 0.3, 0.6, 0.75, 0.6, 0.3, 0.1, 0.0, 0.0, // -]; -const _highlightAlphasLight = [ - 0.0, 0.0, 0.08, 0.2, 0.4, 0.55, 0.4, 0.2, 0.08, 0.0, 0.0, // -]; - -// The sharp bloom band, blurred 8px. -const _bloomStops = [ - 0.0, 0.58, 0.62, 0.65, 0.67, 0.69, 0.70, 0.705, 0.715, 0.73, 0.75, 0.78, - 0.82, 1.0, // -]; -const _bloomAlphasDark = [ - 0.0, 0.0, 0.03, 0.08, 0.2, 0.45, 0.85, 0.85, 0.45, 0.2, 0.08, 0.03, 0.0, - 0.0, // -]; -const _bloomAlphasLight = [ - 0.0, 0.0, 0.02, 0.08, 0.2, 0.4, 0.6, 0.6, 0.4, 0.2, 0.08, 0.02, 0.0, 0.0, // -]; +// The sparkle scatter's radius around the head, and how finely travel +// progress is quantised into its seed (higher re-rolls the twinkles more +// often). +const double _sparkleSpread = 14; +const int _sparkleSeedSteps = 16; /// The traveling-beam strategy shared by [BeamVariant.rotate] (React `md`) /// and [BeamVariant.small] (React `sm`) — a conic highlight and color blobs @@ -68,13 +49,8 @@ class RotateStrategy extends BeamVariantStrategy { BeamFramePhases phases, ) { if (phases.fadeOpacity <= 0) return; - final rect = Offset.zero & size; - final geometry = BeamRingGeometry( - rect: rect, - radius: config.borderRadius, - borderWidth: config.borderWidth, - useSuperellipse: config.useSuperellipse, - ); + final rect = beamRect(size, config); + final geometry = beamGeometry(rect, config); final isDark = config.brightness == Brightness.dark; // CPU color folding: when hue animation runs, the whole @@ -129,13 +105,15 @@ class RotateStrategy extends BeamVariantStrategy { } else { // md derives its inner blobs from the border table: 0.9× size and a // fixed alpha (0.45, or 0.225 for mono). - final alpha = config.palette.monoTreatment ? 0.225 : 0.45; + final alpha = config.palette.monoTreatment + ? rotateInnerBlobAlphaMono + : rotateInnerBlobAlpha; for (final blob in config.palette.data.border) { BeamGradients.paintBlob( canvas, center: _blobCenter(rect, blob.position), - radiusX: (blob.size.width * 0.9).roundToDouble(), - radiusY: (blob.size.height * 0.9).roundToDouble(), + radiusX: (blob.size.width * rotateInnerBlobScale).roundToDouble(), + radiusY: (blob.size.height * rotateInnerBlobScale).roundToDouble(), color: fold(blob.color.withValues(alpha: alpha)), ); } @@ -144,7 +122,7 @@ class RotateStrategy extends BeamVariantStrategy { canvas, contour: geometry.outer, color: fold(config.theme.innerShadow), - blur: compact ? 5 : 9, + blur: compact ? smallInnerShadowBlur : rotateInnerShadowBlur, ); // Mask pass. @@ -156,9 +134,10 @@ class RotateStrategy extends BeamVariantStrategy { ..blendMode = BlendMode.dstIn ..shader = _window( rect, - phases.angleRadians, - stops: _smallWindowStops, - alphas: _smallWindowAlphas, + config, + phases, + stops: smallWindowStops, + alphas: smallWindowAlphas, ), ); } else { @@ -180,9 +159,10 @@ class RotateStrategy extends BeamVariantStrategy { ..blendMode = BlendMode.dstIn ..shader = _window( rect, - phases.angleRadians, - stops: _windowStops, - alphas: _windowAlphas, + config, + phases, + stops: rotateWindowStops, + alphas: rotateWindowAlphas, ), ); canvas.restore(); @@ -208,13 +188,20 @@ class RotateStrategy extends BeamVariantStrategy { hookFactor: config.strokeOpacityFactor, ); if (opacity <= 0) return; + final highlightBase = isDark ? _white : _black; canvas.save(); canvas.clipPath(geometry.ring); canvas.saveLayer(rect, Paint()..color = _white.withValues(alpha: opacity)); // Highlight sweep (white on dark, black on light). - final highlightBase = isDark ? _white : _black; + final highlight = BeamConicWindow.resolve( + rotateHighlightStops, + isDark ? rotateHighlightAlphasDark : rotateHighlightAlphasLight, + reversed: phases.reversedNow, + tailLength: config.tailLength, + beamCount: config.beamCount, + ); canvas.drawRect( rect, Paint() @@ -222,11 +209,10 @@ class RotateStrategy extends BeamVariantStrategy { rect: rect, cssFromRadians: phases.angleRadians, colors: [ - for (final a - in isDark ? _highlightAlphasDark : _highlightAlphasLight) + for (final a in highlight.alphas) fold(highlightBase.withValues(alpha: a)), ], - stops: _highlightStops, + stops: highlight.stops, ), ); final blobs = compact @@ -247,14 +233,18 @@ class RotateStrategy extends BeamVariantStrategy { ..blendMode = BlendMode.dstIn ..shader = _window( rect, - phases.angleRadians, - stops: _windowStops, - alphas: _windowAlphas, + config, + phases, + stops: rotateWindowStops, + alphas: rotateWindowAlphas, ), ); + _applySegments(canvas, rect, config); canvas.restore(); canvas.restore(); + + _paintSparkles(canvas, rect, config, phases, opacity, highlightBase); } void _paintBloom( @@ -273,7 +263,8 @@ class RotateStrategy extends BeamVariantStrategy { ); if (opacity <= 0) return; - // Bloom filter chain: blur(8px) brightness saturate (no hue). + // Bloom filter chain: blur(8px · glowSpread) brightness saturate (no + // hue). final matrix = BeamColorMatrix.beamFilter( hueDegrees: 0, brightness: config.brightnessFactor, @@ -281,49 +272,134 @@ class RotateStrategy extends BeamVariantStrategy { ); final base = isDark ? _white : _black; + // The comet is this same layer, re-aimed: instead of the thin ring it + // fills a halo reaching past the border, and its band runs wider so the + // glow trails the head. One clip swapped and one band stretched — no + // second layer. + final reach = _cometReach * config.glowSpread; + final region = config.comet ? geometry.halo(reach) : geometry.outer; + final band = config.comet ? region : geometry.ring; + final bounds = config.comet ? rect.inflate(reach) : rect; + final table = BeamConicWindow.resolve( + rotateBloomStops, + isDark ? rotateBloomAlphasDark : rotateBloomAlphasLight, + reversed: phases.reversedNow, + tailLength: config.tailLength * (config.comet ? _cometBandFactor : 1.0), + beamCount: config.beamCount, + ); + canvas.save(); - canvas.clipPath(geometry.outer); + canvas.clipPath(region); canvas.saveLayer( - rect, + bounds, Paint() ..color = _white.withValues(alpha: opacity) ..imageFilter = ImageFilter.blur( - sigmaX: 8, - sigmaY: 8, + sigmaX: rotateBloomBlurSigma * config.glowSpread, + sigmaY: rotateBloomBlurSigma * config.glowSpread, tileMode: TileMode.decal, ), ); canvas.save(); - canvas.clipPath(geometry.ring); + canvas.clipPath(band); canvas.drawRect( - rect, + bounds, Paint() ..shader = BeamGradients.conic( rect: rect, cssFromRadians: phases.angleRadians, colors: [ - for (final a in isDark ? _bloomAlphasDark : _bloomAlphasLight) + for (final a in table.alphas) matrix.transform(base.withValues(alpha: a)), ], - stops: _bloomStops, + stops: table.stops, ), ); canvas.restore(); + _applySegments(canvas, bounds, config); canvas.restore(); canvas.restore(); } + // The dashed-ring mask: one repeating conic multiplied into a layer that + // exists anyway, so a dashed ring costs no more than a solid one. + void _applySegments(Canvas canvas, Rect rect, BeamConfig config) { + final segments = config.segments; + if (segments == null || segments < 2) return; + canvas.drawRect( + rect, + Paint() + ..blendMode = BlendMode.dstIn + ..shader = BeamGradients.segmentMask(rect, segments), + ); + } + + // Twinkles at each beam head, drawn over the stroke without a layer of + // their own. They live in the foreground pass, so nothing about them + // touches the child. + void _paintSparkles( + Canvas canvas, + Rect rect, + BeamConfig config, + BeamFramePhases phases, + double opacity, + Color color, + ) { + if (config.sparkle <= 0 || rect.isEmpty) return; + final turn = phases.angleRadians / (2 * math.pi); + final seed = (turn * _sparkleSeedSteps).floor(); + final head = phases.reversedNow ? 1 - _windowHeadStop : _windowHeadStop; + canvas.save(); + canvas.clipPath(_sparkleBand(rect, config)); + for (var k = 0; k < config.beamCount; k++) { + final stop = (head + k) / config.beamCount; + BeamLayerUtils.paintSparkles( + canvas, + center: BeamLayerUtils.edgePointAt( + rect, + phases.angleRadians + stop * 2 * math.pi, + ), + density: config.sparkle, + color: color, + opacity: opacity, + spread: _sparkleSpread, + seed: seed * 7 + k, + ); + } + canvas.restore(); + } + + // Sparkles scatter around the border, so they are held to a band straddling + // it rather than allowed to drift into the middle of the child. + Path _sparkleBand(Rect rect, BeamConfig config) { + final outside = beamGeometry(rect.inflate(_sparkleSpread), config).outer; + final inside = rect.deflate(_sparkleSpread).isEmpty + ? Path() + : beamGeometry(rect.deflate(_sparkleSpread), config).outer; + return Path.combine(PathOperation.difference, outside, inside); + } + Shader _window( Rect rect, - double angle, { + BeamConfig config, + BeamFramePhases phases, { required List stops, required List alphas, - }) => BeamGradients.conic( - rect: rect, - cssFromRadians: angle, - colors: [for (final a in alphas) _white.withValues(alpha: a)], - stops: stops, - ); + }) { + final table = BeamConicWindow.resolve( + stops, + alphas, + reversed: phases.reversedNow, + tailLength: config.tailLength, + beamCount: config.beamCount, + ); + return BeamGradients.conic( + rect: rect, + cssFromRadians: phases.angleRadians, + colors: [for (final a in table.alphas) _white.withValues(alpha: a)], + stops: table.stops, + ); + } static Offset _blobCenter(Rect rect, Offset fractional) => Offset( rect.left + fractional.dx * rect.width, diff --git a/lib/src/painting/variant_strategy.dart b/lib/src/painting/variant_strategy.dart index 4edd964..b66e313 100644 --- a/lib/src/painting/variant_strategy.dart +++ b/lib/src/painting/variant_strategy.dart @@ -2,6 +2,26 @@ import 'dart:ui'; import '../animation/beam_phases.dart'; import '../models/beam_config.dart'; +import 'ring_geometry.dart'; + +/// The rect the beam's geometry occupies: the child's bounds, pushed outward +/// or pulled inward by `BeamShape.ringOffset`. +/// +/// A positive offset paints outside [size]; nothing in the beam's own render +/// tree clips that away (the `CustomPaint` clips neither painter), so the +/// ring can orbit at a distance as long as the surrounding layout leaves it +/// room. +Rect beamRect(Size size, BeamConfig config) => + (Offset.zero & size).inflate(config.ringOffset); + +/// The ring geometry [config] describes over [rect]. +BeamRingGeometry beamGeometry(Rect rect, BeamConfig config) => BeamRingGeometry( + rect: rect, + radius: config.borderRadius, + borderWidth: config.borderWidth, + useSuperellipse: config.useSuperellipse, + contour: config.contour, +); /// Paints one beam variant. /// diff --git a/test/golden/goldens/surface_line_edge_left.png b/test/golden/goldens/surface_line_edge_left.png new file mode 100644 index 0000000000000000000000000000000000000000..85a5cc00bdc28c253b6d91229e7fe68ca88cc553 GIT binary patch literal 74422 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%0A${B*vV!$0-iwODnY2`K4(jP!^A&!Y}vd z=Rbu42=DbqQu0P9=GjE&*nVPeI`(|h9J^}^NZ>1(AWjyOa;sIs4_z@MB~MT+h|x*} z6{z;M>khIC+k?k{AL*m^bsA>Jh zJ?Fm+YnlvL5JsqZs$=01htCj%Yg!X?dwzY%AT7Wl?>_X9dc0?dDLk=PK|@a=q zFY5dAoMdS5Nsmv;V|>$#_QwmqT5=|fLw!k;wU_Guh7S5;##Vk#EE3`rZ74IXemyu} z$}anP?kUqf*G2I#X2T!ZA1LH4(4w{=44qU|W!IRuVW=_~MU|67H=JteyTF|4BGP%l zL`3iXA#mo*LPnkv5-v1WqV`l{%VhgrNoDZl!4bXTXgK;%@K7Igz^x&c%ya`_YB7c} zUtyM@i}7XpvUx<6x%&KgX&1Z068k48oe5BmiKg=5(~JExi^MH4x7CDsY%V~_u%ZeE ze2Q8&L+~96U6Y8AQ8Kgn1Cd`iR&>S9%Q5_1j=!|q!ah}tlZrEB&PB0e-3zE1cnzwZ z#y_l0`Dt;z&;6r~{+|G!$ICDhw<&oqoaQCS8}CnSTgUC0+dsAwURx(l#a92XMsYgH zXuKWArerfW^;)|#_cs546m3q=D+-k&m|!9+#XNnTaahUn)`*W?y4!GL2xJoL9wu@( zDXZj|FYvhos+9R_%Ck|_nMa9 zU3Etl>KeUCm)(_FQ14EL#f{5nzhiQe2ZM=ojZd$;rN*3d0j+(ji zTeqsD)b}TT7Z8LS>ax*?)!u@V6^D;MilNdLdIteKS6x}8fRfcM`W2S!|KOq#0){lm z{=g1Cg>Jg9yo%7`)t!s+iqz3JpS49E7jjf3zghigRw{8lZosL>>ck_~LCoL|e}QgL zASOk09^HyWm-@ys+_F%u`|mouFup{Jww3uYSp&3>z1;Ohpc(rQ9G+(Drqj&__n5D8 z=*@Gm=6z{P`?OmAPR}P8JMpCWc#l@ZOVi*v-#6P!pfPW+j|TjAa)U2g*R;DC=nzXO z?|j@>ipo(H27a~}yn-_IkvN*rC`sJ1{`q|MGjay~sLy(DWPTRuIe=totc@o_d}qyf zK8MINa` z&!HDORDnwCq7?Pm30s78G0jhrB0v5ifhXNZwatmF#Dr3hR6c4ikPkSZL9|4LQLR|I z2Hlx%H;Boq8LvRjOoH3S4jVw`Ge3FY0r*$nk?Mgiwc|6wry1LH*KLycSDB0^oHgd7 zjvAHb$?`3E%saioHg(5FyHdxkVk=<-p*`+>K}fl58QcL!u{ZQ^b$Kmk34cNPc>+f4 zkp+=(tz#u(cE4p@37qgzm&;2|CAuG{>;q7?xIT8%#-VO>&gpf=LeZdiD{>z2W{{!& z`|fFuW_kTT3+a0X%41=I?9&!4!Q-fbaQgW~o5^j8kJ?SLWho-KCi4=?Xsh?rzQ%M? z^CcP(4?25IpA(|b`+ahgAU@y|ke~2HWXz}VR#xhMeL6>CLIs%Tis#-j*aKFpYV0Vx z0R?+@O&iVN7SK`EUlp2vMRpp(;LiJ}Zecy2oTTpYEp2>GNGwu}TW!L)MYd|$B!{s_ zPyk{xF!W6ywxTDL#T|1eTla~}=(^*#UdP9#xNnnv z&o3D;Sivq1Ja4d)D}+vhW90hWK7KFvvx*=7xzn)Gf(r-f9Nz4cIr3@)C0j0^MtL{j zf7_tB3dvy+Qxnq4;EqduFACQOKhmzb+$f1NT<8uP(0m5k6rhJ zd(mRtn)W&v&%*qU{1nXrtfa?BydcM-c1}eMqXTUgj)Ka7Usgb@qdj`9yg5>Cy$uE)VfeL?B;Gzs4XlAjm1FDA*tP z_#Jl}tsZeLE_n%bQ>!(XasDBK*5KxXG}w6XEf=MaVPirqF=Wt?x2>8+D6U|~!iHMx z_(K9Tzw>g*k}Ds01DH9{-#%aRpw_?5%R|!_=wor3DGa~*&l}NY7f5SWF6-sC)o2}E zL}UI9s!#NEDKG>$mS+lTZ=$SKEi*MMxF;Fp+O$Mvl6XuQ{|!Mc#Z{sH5$}NU9QaXK;t;Qq@2&V9lvu+9$tLOILHuaKk<4)5osN z6?8rmNcN2V;+Mh+A6K5 z4WgocqZG!XJs9G|tVx6?M`*uJY(H2Fe*M~1qkMTv+vXp@vGkUt(H6P6=T;{$8SYIa zeRC7m_RcQ3ZWUNmS8ID(%qe91@6-E}oO!^V7SYg7ozH4p)P6NlnEek9jHx&oIG-?Y zdf`U#7fl+i`5$j2b0X6!i zh%Q1rCW2=8&6k>`%z3K;eYp&XW8U=hm%u6ox6NZe9qp>MvbfyHj-|`R8TD4g9se5v5hYR;yw!iBP*kvQT%=Wt8qftoG7u_cEM2}-WfEm#woebA;$e8$r z3!mx;63kWUyB?oiCMRBJ>ORNmPB9YS>CxCLQ32=oatmi1?<5=|qAJ22Acwglek-}f zo5-;^L+SQ8KYIM#{EbFzS3W;?dWIa++uDPa%=8F4qt*)Kp3CQvxT8qLUJ0A6!zjiO z_wT=hS_vKkIJPf|3HdE2>-zRT6PJ{gq09dV1tM&>S$hC`xjd>$1ZW7m?Os73JlL`xvp++XX0flmG;^siPumVkA+@#ShON%OEGGJf`_|Ni znj%DM3o`6?y!*{wsJ|Ij;xH#UchHGIvqj(UVT{$P8l>}{t}P=yYhR#9-+xmd`}*m} zSg&+#&Fy0%;i@=uI_L29*akhg;tj`sr~A{-JANfzbHgtBrK3T206T7IrebS?>)284f z5+cWHjl&rzhQY$2amnwsCPxns!R3vDUW9AOxla?|Y(7n|+CpOL*R9oxc9&hmy>=#o z@;n>cuZN`4>2a8o{`UGl>>_??X~|&i?+Y({(ofegm|*{Id#v-Bk3m%wIY{YJVjcCR z8n_OuJ@r{DG{;OlA3Ob!%v=0qJjX zG7F;SKEA?%F|!o|?L7ABC$jvHe1eP+hv}`QkA63rUa;G}Aa2fgp(aU}ZcXgYf1$n4 zTso4GO4H?g!*g+6(Kg${K;_GcIh~r~3_M9TS$p)KzEBmNKv)a%kAgS-or2{wu-JqH zN48>b4Iup;)T_raGlzH4T}oAxf^i8Sv6p{#&%bmG6fcmy#c<-|*ELwun;wtZ!%+?! zr{x0|do=6geMuWJu0Ic#(bm$c^e35N{n%+L9BL2uTG5GojI2BQiSSmkpb^iT!HtZ5 z8h_rYqo+~0Y;ZCEb^cOgT;)xA`T{Gz8R=0ep6}S!(Pkk1Fw=r``?J=jRZTltgGTcw zmJHN*>B>=xWDY+AejB6!nsuG~cEMJu`v@5Uu}X^VFMJdwFA{$Ia6s-{B3;0qYYL<^ zc%gYF^mU0+ExOi3RMp13f*ya6=YGSI*>2v&m_&d;z;fPez&xKAV-)kn@YnN&CL@Iq z^s%Z`{ZHl+S!)5WTXRvt>C?G)v8}mCce80)6U|sTn}(@{{now5^Gq#Kybq-bcS>5? zO1$2Y@gz6>uGv<95dI`3D?7Q|K(Y>(JHN9{KuFNK_`7rtYuNXOY6e0@?BJnC3O|fh zDZ!IQo=Bw^yW~*hjn|hf zF1Lqww-W99DmnN~CBs!M7MYD|mkXC5B~{O1pjXB;*DCmf020~pKNr^R)_o&^oTWVlWMFzh72oVtTYByo@vs^Q0wT^X~b**`I%~Qp_&1~ z{0EuV13-HIGCFrni>Ix0HBaFlJARUJ(3|2ME_q9d1r>MiQ1AGd-xFO)+~m1;&m4xV z$t1oc?Sd(6Vq#+EfJVUl$)Ko714(;t()qu{YxzXxDE+CVN-U$r*q-qY`d0a_q#tX6ZLMwO@F!i;jkNDP3-eKvZ0Fnvu>>o7L7Qhaa8cn16*( zD2}W5)?74djiuOoULuF7%y1T4+-tmf&lgC3;lf&`NtMfuDY=m2z~3fu;q3FWdq$#W zPlz~{PY_LfZ(gtmj#iPFQyh#`q zZ!~J`k3kR28AQP!SGkX@V}Vzn5^IJCYR%?KuSo@f^;ND%miL*MT!`iuF8uR52pJsB zZNZhbB-0o-X7+QcF{4oNo4wXZjzw={U~lU~B<)r09z5lOd(X5H;cqs~NBydFH#WO8 zQy-~Oh^GS3T@Edtq?ju@F3+oMFz@He3Psc%SHAr1^e3I`>gp1jUfcZkePbNILoG7% zJ!5+xWyoZ{y5#pk6Sy*yaQ-oTuwSng-?S+t@Z=vq>FntIeY;S_(;B#s`_J2v zn6&?0@rgL5Bc-}-4Cg>YOHs?BjyW0y2zqi_C_YYB!b#=Y>4}f#r8XGI$(F&OsJok6*@_9t zurB^Sf}QX4I*0I3_)Vdqs+}g8`$2&8XTbVrPbZ9~@c-Jo@_#n7{hzjXMweSg)lv*o?J#JmmfGdpDK%w6r$mYpWlB-| z7DQ;ZW0z}`wx~=|TSTg;B?wg%MJ{^d_e(@b+^e%m~QK8zSV_K0| z?pbBCO5Oi?cYmL*ZO^d1_wIHs?1qon4QZ*0KR846o-ZfQKk;M?6ja#Xtgff87pk0P z*jqoRIDb-iSxYdA{qZC)1geXb_c1p|AhF*XcJlAO7Z}i#Xl=|1n0dvJ1}2(Gl9bG_ zTm9CqHbuDpo#yCaX6HPqhf!+7KcZqM0!8+!K?Bs_w$hU5@_p3sIT^L19V~I@Dty>9PVk_tqgdl?YG-mmveQTLdXs&c+Lm@l zG^Nxs8~WwnKk6~=&&1u`@9A5!GL-ho*Qz~GvV*uD)Lh9(#w3sY z?lyY=g}kP=uKkhc1CE7dGWeHfmg7yXM%5nyb`{p|j z1&RY)4&OA6CQC&FM{OJ12J6#bqTkas+P0nE-0a7WDWdeAx=~$yR2nWunIcD9m z@6SCt>KOg)FghRZWWw)#fbfEKHdaZ!(rWgt`sI`V>;T{+tfe~<9EySHFOUG{0qPwv zo738}Gbst}b0svAAU^SYOOJ~|R){{$N8WLMLf^hG^gQKv1-C_qLD&-Eb@$bk@K!~^ z5jvw}A*}e&z#9ec)Y9T5$&E9OR$g5$)e<@V?TurJUkHh>08yfrCK^J#xEB^vWVL6f zr`^Wufb$qqAP-kQQ{J7&UC9iddqmH4Mq;s4Wy{bYpk&2XhJ)539#iGU`&g-Zw~=z+ zP_`CcH5z#5ubn|hL2ss{qqoQJqb6DM3gs>PegAN;NbQh$@$it7bwcwDC7ycmUE|0c zzFZ3Ey#CwphzR;9!MS~d#{p{DVIUB9jJr9Q}~|V*IHXEHf;= zcl{}|=>#=gW3-@J4eKI|26z}%*UXuUu5zjssxQs=K4yIxEcBxtgFw!JnXbUI&8W!Z zu{)22X2Eq=*7U>4GUQsJ^JUBI zV}%%9SoPl2s}F+kdX3rPda-Cwp0Z?_i!wK!L{?y~G(kHN^NnrxW&^_?G_txFLHF&U z=Dx>n*D`I-7vz!Z@#tFqZmOJb(0S@+dvz>wBfqfO! zrTQ2idyPL>XvtdsR85!ymOXDTnNrL4irr?gQc5_dEER4EW)fnd{zOg*3!Z9MslvD# zalyCtB9)UBy+35p3IFh~vc#h6L2V%kKfSoXK2-dWA<*wQ+@T94n(WH!BZz*-vcbxu z(}X%F!mNNpQ{KH9i9+4k`T?NCz4VDMleW8=!0PC}q$^qVm_3U%+Yzg(Ytc(0?l^fj zY6YtQDbG1>qjuZksc+wYpiujJ!}Yt)(`&0ICV$g9g*Q>E3ndGJ7%oJ9(9|K>bfOl@ za0$G7pz;~TM_L)ZcB#T)CAI}{DbtbsS=sTHv%r%72-+O#)Nr8}D*(f1&XyV`E0$D| z$FQ-RgUX$RErL!_cQw~XF;ZHf?-!_dG~f?Ir)n8Z4xn8=WoctRK9TP5F%yj0K3~k; z*q;}b`%5d5#~agq5Av?wKt`#IN_Qa!Clvr(Q!Sy}>ZlzQq3SoXk7Ak90v6lTtOT)sL< zlI`m18gJ19@bs^({{DXQ6dSnyt<{3R(~*f{ub;y(G-*kShT%g-EiJ-Y6q+BYh|4$6 zlLjhT;ICfMqy21PdS_z+??9bT3o!CFqm`q5`NbwexYSEe29i@|1Ls7n5}mdOTRe$mO^=;1b(f94%*50;L?@EgiXVrd7V{k$UL!TP1DM2F)$P-adrrHi6hOlGg6eWj6qLpYoE=e-OU0U7j z6EE$~^>j5gWT+iMwG4i8;Ex-Aod_V4_Aj51qcdwUPK)=~9RpH#y03NIQoo*OdLD1E z<)>M#HDZxe0xYS2BVbuUt~z(N!8@lug6XQLsCbt*3P5~lXlg277_|@5nzp%uHA{nT zlY|=KL;iE{^mi~cX5E6%?Y5o$vU%s^pE*|?B9)LG=pScHUiY-m6>UGA&u;HqDqaoY z9SENL^tvrlF58Y(W{4XP^t<9&%^}XzlypQ#U1m|j_~7<)lcob6KG7Vl53qCsHK#ZU zC*(6&{Oyg90U(lIvI1>x8k_Zu_!h@+jy<8g8Y4IO&|0mei-oWis$#bJmv~N`f$ceb z#|Mo8cfvaNDw;CTo|A7(4(6TdE5NZ6*Yo;#xfVAz)=E=r{e$DeW}HclxEZ5e@N%uG zZvb~Hh|&M-)*{^e?cm^V6Ql@j8!&ne0M_I79(S=u@nQTFreK3Ri6xH{R(c1E665J5 ztW0f;%s@KMqA0j|`bmzSgo%T0xEeo%mmH-fTIBLW`RC+lOATRo7oBF^+VIP zqP{P~ozKeU&Tk~J5Xgy?VYGbJx#t>F^g{?nE!G_Ig%aIl+W8sHaDHXQ#9CYwtGN;wga9r*Bl=o zkK(S~YC>-Z`*Hv?hJb-f?z}LL+}7RYl7y$HNMUL@BYj1S`|}1|`5H<}yME{(^moI4 zDC=Qje+uzpVLo8ARvjd43M$q=JwEg@yPy0(U*^;^mQF8D7{vtLHpp7k%JT9*XDAaa zR*(s5?FZ163v1WnJ>doDnNC{$XCM=sp65x01~kHZdYR-!{t*;GXXqO(QvshUv^>TF9N5++ zAXEU|kCfp`6_xb#^jW|$V9j-B5+;CPxakl`DN~1NJ3abzPV5Gc)h&h#B?2_+J&Zff znw_&y%ri-gr+WnjuIuIlpP<@RXO|$)b|L5y!&~u_Vb?P}V52hr%jfQroBuBkE`{t^ zI{2qnWCMGHHlYevNB`$6fU*U+tPq4pvujs>zs>UU^4rzbRrgS7Nzh`V_}n0qX!dd% z?G!L1@4X?ZBb#|aXrTfvB_L)iw<;2Xi*3o6PPne2#63F&+pXsg$?ssH#F~(rM!E8s?6I);40;W=F*uzSE7`EnqFqp- zXqZ!cqJ_yUI$@^S*=6F2=hds6cFq~odsYmWJ`ERk-wM|Tv#4=(oghMDc63{~vneRn zY{%;W0FLZf64SEp-%tBbBiC9>2mnog))llarkA z3q=*y-`qeh+8*}8odMLfZK!gDi2LAUjAjG*C zgL!O-++2WZ!ej@y-`08>NFaZ0zk>UWe>c%E5gw-Y8TG*IZ{_J-D E-**DR4FCWD literal 0 HcmV?d00001 diff --git a/test/golden/goldens/surface_line_edge_top.png b/test/golden/goldens/surface_line_edge_top.png new file mode 100644 index 0000000000000000000000000000000000000000..038438fba1393f26b1f352ea4e7b235ef1a4ca5a GIT binary patch literal 68789 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%0ATOluYJ%9dus@S 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 G-~A5;7tR6z literal 0 HcmV?d00001 diff --git a/test/golden/goldens/surface_pulse_outside_glowspread2.png b/test/golden/goldens/surface_pulse_outside_glowspread2.png new file mode 100644 index 0000000000000000000000000000000000000000..700b0bc2278ea5317ccdb319c7396c20c53e2614 GIT binary patch literal 193643 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 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/surface_rotate_beamcount3.png b/test/golden/goldens/surface_rotate_beamcount3.png new file mode 100644 index 0000000000000000000000000000000000000000..79ad6586727eed9019a6aea99209a24892bf0c74 GIT binary patch literal 71227 zcmeFZXHb)A7dOtXtEhlrp-B^63(^Dxl$I4lR0I?VEkHyBqy`icYT_6r3rf=MzaRemN#bAmnEvhmK5%)D*1xwOet5Y1Us*=6{$Ek-_%6AB<=^hU{rO+{ z(T^|xcPV}>%MWY$k1hOgq93v4->~o_U?4KwLk7=zmP%2Za7n zS^UQoeiU3k>d^m~!jJO&2W#;kQ}{tF{J%;pc(PaO+_UD+9e&_XkUzIe^0!-utkYhf zNju+?F)4T|)XZ3Ifh&V`DXP;V!JJxbN4W{ueH<{ro?FdH&1)7VOl%|CQo54*id~%m4L% zJm0x%V*f>Bx3k3ln~vZ9_<{eppxBQk`Y&1h!;1bj3b7xK_U}^s2o?XOHhzSPAEDwO zw|Mv?C;uBBexQo~lHfmp*S|&~_5+*#yA=PwL&emoa~l870{r{%|2>PM2r86zz7_I{ z$Lvy?iP`pU6@B-K-ufIz6Lv`V7MsF)XfxRGg<(qgf>3Zj(aKD8h#(^5R?0X|=l021 zK8oO+ME(kb3STVg+nO(w>LooZU^Ipv01D{qGL|Me4jianN;JG^gfuzY7;cf#IZ!^# zUq#MW8hz_`BQ}J#Dtmk6y^m+H@s5FJ#ne_ai?8_6wv@;q*Z?x{=*{JbDqT6AT}=9V z;{MdxGY){chM?GqVFk;p8ab8PIrF&;0^t*9LH%{4nR#u0tvjCG&{XXz@V*TucY+=WCUta5He&xUgUjkP`k#?{)U@f_4ZGpaz2reNFN% zU`{KK#_;M(QmvxmQ)R47RISY3z3O6d%)#<{xRng`cfFhiPVB|Is3w_Qbke%Xhq_D! z>3Nm{lCJmONoAZHZJ~yTZ?OC%(0&@Yu-wYBXQWhj!zfNXWM%zV}NfcNuE*u<7MPo13BiT4yz zEYu*Q8^heJKD2s~i7K8dnvd5O)RzB|odY4YjKR(<&16JrwkpF0xhJN4iih1NAQ$hd z(7&}FAjdpb2cXCi-x$=HQ!2xP_sh|Aq1#O6AkQH<0VIz79w4`XjDAG^ZE&LV@%$-f zF9aai5xzFpe3FcO8g)!VzJmYSLg*eea#K4%us6oj|N1$e0u$__6O z`i(iMGOG7ylgfQJrrD4U z>aiui1uH@K)7$fN_k_%^>(imZk7mu>a>wPHxM?iYmz9%dhiRQ&S|r(CXlI1VrhBd$ zM&|RBI)s-?0_ElPJLM3>DLqD4^Bni4HcQ58C;HK*-`6hR-`6)g-52ggaMjuZ6(uf5 z_i~~RuAg%aArRaBv~m}gx+fVi=?rEsy&mVamthM){QjC1UtxbN*v3Rncri8`dOGGBE^uH&_Tpk`hb|rl(z1!3x2L`QrLHH zVNH7=!*-)2l-52cvmj9 zAW-A-(x%#|TyxG^G0!(udvctew+=1Jd&ek3h3*BN)^Uj%had*zbV8@lL#DuDRo93* zA_Ef^&YP$PS-BI?nEB{|h1+o(`Rh`RH^B|Sh~W;Na_1crSNO|lLazPqjPMUV+ri(f zo9rsVt<76Vd1D$5&b_uR5-!fIN~pi;avvamE5RjQn(0v8#k54I0j%P9hc+a}RV1w-E<9X;8o#^hu(B@b9<(l6Xbd~HspsBOxZM`@g$x!nt zR|4|P^)2GMk41b|+KUhC-MM!*HrC$zLgdF~Y$WFow-3v-NPVkyZwgBJ>)D9WbKuDo z?R$ruf=C$2rFRcx=4H|};MIzaj(U4B!a@JWvwIdZ`ehEJ%4FhY^ClphYCY;n8-tEM z#qL2b^pKKq$swm|M{j`KTh9W9<2(HPQ({x9<5xqAUoLGv70RIJbTca9p3*CZ23pMq zf#bCL`&W{OZ@NKJkat$YAlo&aKcn@l+GKp?&;wSkFE^Uhx_aM(tHJyH%A0dcOH)HToD%4RZnnP#ONIFTRP$`ur`GIY zi#ftt40&NRZh3TU{s;_P)Y)YjM(A%j;eydyMw z*NAB8WWEVltls6kb~6PpZ7WhwsUN}uRUV{OzPL&h_Ukv@Q<+Xv_gAlZmIGFufWRi^ zIUAlsPk>{_OSn?gXz~-FwPByEo6wt$Twi!loFBwF)UTJrEX!R5j!WAGE@o{l;K(>BVoSUKbXI zo6RK64cT2?j8;VgQg)=nX=nOoGULC#!TCs1V&{zBHA@9;?m1DwC0Vj=-$ZO8JBw*X zgE_7s3izDd)6hLwE~AQ6Iy4wAu8BvR z`Vg?RROjHX1YKH*_cPbQeRc32$gGuIJRf?a7`>oaiuJw0`s)^2ZLK zbzPurORw$X^c-_O{3WlDLthYl~-hS6(1^= z2jZ4*gzll2s)znw1@*c>{rMaiUWar->?Pm0Jzx7%la0m^jOvZ4OUpC%_4~@B(DdZS zU+TBzVh{V{Vx4+iP)I=&Ib)!tJvE}WX0i0EpQ(YXpR6~pY0uWnyI>yWSVN#df4}Z@&THV zX5R{HRa&98DXq-39iG8H&{aNwfAWdUm~q-qLlzdUstIY#UJ*+q4BZ~8#E}D~#l+$} z_U@3?tHrCUYjdmp0O7T0zBm{tSR-9YfraT(rSst6!g0aLDgi@MMKT8hMn(T==Y{tW-*mqJ|n( zhd8mNHW?i(`GO+A)p__%u9WZIkgZbrWsu-nW1|;Td~Qtt-a+4sqn{ct8Am=(aKhe$ z%TXq>)sO9>$e;m7Iz?6u#wmTt;RXAIi*{?s^ZI`t|fh=7RLSNW+ZllB+L z$oIF?P0dX)h(6&ATN`6mjlqQ`lra`8j=A}JD)hZD3DzmPb=WkFe8;0-&ZA*R-7}+G&&tC9xQX`La)n3KY1a`%j6Mp)uBWr{XkE?+g zxH1=}ofxp7Ld7c5w`TPUf1|n(KhrWNL2_zHMRf=QOFp|`(=0~_h};hXG{lt*<827{ z$pB{L7t0WQM!Kxc#U;JIVW_~7C4_M^6WK?=mfu5(7nv0HT>~t;<7LBl40tI+*6E?4 zfOS9JZ!u1KW*?J^Fz!S!i&wv_2*Ph@DBm%1n$SxY@jpX)L~9t41z%u;Q&Bb8u?EmT z)=4@0mgc2 z23J{sG-i!f7hif2D^sU%h~$xM6agDv>>YOxKiS6sRmYYKDt%x`9O zzy%$dy*MrzAunW7`FVLGI$~nchyU(7t=4XSp}=}GMYHm>&vVjC2NPHMi}EyNr9*G} z0-=x*o2Y5``|yoxJ^>x9U27Hb%ffb@H{vGi((S$q(!Y$AonEx;xI#WaY8}qXS(;@< zl?Om-#pS_c)EcLdMcCzDcp!a-!tIz5cMh$gqA79niDgHtUz#ecn~=1D3CI zmeEZnb+O;7{cwWO5i}y25;;r=7ewwN{Nb7+~gcm>uGppn!P?-_9R zX|O2xqR>y!+rdm>0^$K?U7~uDP7*bKJz^Uy;(}8U{K49NKZ$L#|H<5-`S1%#0PaVJ z9%=YyrLBjL0KMu8wvZxNAP!|18wYa?jT*LS?C@_@;XW?q-}1V@Tvwzh1ej0UdeY5> zdYMNz>nu}NAm^;!hT|x6nt*0zLNFZCT&7g9BiMX}XzO!zN7vmZPR- znmUIxVI23?^Lt@-j~mClIk%#bPGGp&OU*q)jyFL0s{@zNSg7~tdOLq!TBVNXHk-e6 zUm)Ql0b^|$&VZQP)&0TYXC=b``N@rqAjz=qYW&L@lWE{DbrTHq9vzIDXJ+kzTiWvj z+c{!#Pq@+4--=O7E`NXn$i#+B@`PSBhDaUaAt*Smov3xcb&hCJ2g%Fm8_|SVwSpj( z0#>L5IjX^_&fJCr;rL|ukDTrCG9?rH&$l0X&opM^TgX60D-h!3QF0!26Rph9&}YZ3ezf}bGxxTTIP)4Ts*V8>=hz6LxWGp@d{UQf+5@i z0=Tm^3cFJ|RQ%l;{sNjSPR;Bgz*)#}QMYMd>L+jl=e$|m`mf5F#^Z8{(tpClpQ0hh zE7uJ~cDmEexr*@@yru4sy-b-g9>WXRSKLYSL#dnefTc2{EsJ$(Tc5R-!=T9nSITs! zaOpC8kLn%}#1>^DT~&(+S75z$1I1}|ty8rCqQP&L_r(36mbw%pw*S@roH;f+!P=lu z;GB4G=*cb4xof5mfNvL&q~}F~AEvx*D38Jv2CB{+Fh`RYSr?WV3;nw$JPE zlD3y{;Q$wTWbVuJOu;!9(-RYiG?2ZwtXt0}KkHeGSHN?9_i7}~HQLEd|6Mk`IU$>w zM~sE2cq{aEh;YCz;oW*6-QzeeZ!EG2+h!rnBwVQK>M;tob%6^^)pCchcGLWNbL8q!$ ze(?n&FhueIVd6Vsc(d2GON9j7ew^@Y8O31l4(})N z_dr3Htnhm(KoYS1(V>?Xej)X|Woui^!4f!|7e3lHe%mljzixY0%u(qI={>Oe^V2XT zsKpW!z66NPmkLR;-@Du+zRsw1gOUL4L$;n4k09cnBrv9(%yiyjcNn~F-0;jzr99DT z21b=Wk4V5~HEplWl1%pM;-YPWZI%~aUt1qonnqEo1n z4a3t2cfpFNP0TLelj!CenlJ>#pca8id%QEU1u!T*qBhS8AYc)7D5wMwXz*sv5L9-3 zs=lDVlE^yxwmP7{+R~GzO!7e6PIYaZGHe3Z+F`?a-Lub@LUqOK3(#*t-+%&BZhP3t zZ4)%Fec^jlO8q+gUR#L30R!^lKgB`!)JU+{cp`(!s2u zGA>m3Zc|0yP&=6yA!Ph@U?=Cs{R5a>I^wpxw?FE_6=!%~5~JKrRC`BHmnO@D;cc>J zh*Q(kI>?U>j08`3ANJQPYHZ!o2xf9)I~mQu4sq|VzH~yE|KZe9zJ0^IFQ_AeTxdg) z-ioufR~xQ0k(odWW*-oroCO+>f0sPf+;LCIJ>JQzv>T~9{Rnj79;D;*pv#aDQ}1X- z5F0bMA*Qs%&c`jB5T(SUy6(KMS^te|aKAX9=K9o)UltBW#U>QdO)F>-n&WXf81r^P)Kxg>w%5vpVq%#5$kqT@UvpgaFOG|F|*5CJ%aWZn%*zeo&RP0uBv& zabl)5H6QlD-jU6Cb>)9zzj&IWB>P zjokq-;yW&D^0&**cu3DA81wnA zBCY9!aD*3o79T)MCs;`3y-)UCPHh+pAK5?tx~*6;zf!^ zK3rxNGO&$_SBQyr_|tT(9edBmVMgn=%GM+=svdXiWAHG-tIPEIt(osS0CByReh^ho z*M9+STON`Kq>KW+`g^V14RnFut1SMoZw*rU`VlrF;ZuxIq!^v^%zqqITUiZop~p!* z!OmS1F#0i=DFpUFU5X}trtVvtJms`vy4V>V%${kdQEE7`yL}ThzvqwIDiu%)pan=?40}Gi20t zcp!5I@Re~U;9XjAY?G1KQik-f7r7^a@r{Q$j6;(VbVd8E8Mt9EX?6MEnN3&w09lF&N``R~Oas`rowVit3ijne7!lmV5P-???jR{L{2GtPTBJDS)TX z&lIgA_KCKqm{8JA)eEUJg)wIY%&x^NVq$MYv0FlM+5&=;M;pe*RT3hc_7h6tRZHMP zci{R!=9ccDXH->J{KJ4vsX10*cgHR{*C+l-GsbU`(sWeN)|uU-Z7Q^|#8@>lYF{!1 z;z?w^^DCq2G$k)|i}W`SV^qNPQjtKPbRSNvaTVuOthfzLRDbo9{1Iro5++Ato>>*(E% z*`MF^zmKIAX$GL%p`RM2A1wSFU1cI~3B%3R5*>Rt4i79msN|m7HJOw!Ak|;n5qd9J z;{h!i$tI${tl!ci_A{vO8|{kc+)H!Wa*0D-?KC8}wNBlw4^t{L!6J9nJcuI4rZjm` z?!?Rhq+f0j;Sjl+W;@v&!e!^N4hw~$Bw#K6=*=zpxppQZ7t%lB_m9bjo;q08P zxpipLtTujC!8c_1yG!S2?NXQdweg>{3{1Vs5FP`v6xJNqUVYIXf!Q)Uk_+#iAY6+O zLGE|WnJITMPNEt2EbV=YKN}z{oxCi{WezY*|5#z{ixZHC)4pjQ3I@PB>M)0uCWLE& zS5TuI?k4^;O~ENTa?59Ls=^KdA}=JD^7Z-b=Q|t){1y%+F80v4^zR`%NU=0dBv@?% z3-y%`q((jbx>$*m25Vz9Ck2rLlJq8QAj(EM%#|Q_V$t>Uf#syN8%{(t@@S35lRdxO zd2>a*-AXGF-F)dy{BLIr@momA1)o2#EtGQ8M3vr4Wu&9gZjOFfH%CN8#kYID=#TC9 z;){>?r4p>VO7;1Xp$S-%Ew-zcTJcOzT_x!fCE2``G@hzhpe+Y}{J=nibq;vu8zFpRv_TB$uXiV016IaQJW@obo8-Z7UD(wL4W&k`sqGY)p0 z)&%EfQ0C`0E{qK3XYcMTU`x@zYlq~qg>bL10GH#U`&J8(`@CWQPY*%xYkyI}!Kjb1 z#`J-WKjyQw$d&Ei#=1ZnxEopEVEidtoH-exa%`E6K$gUg7gNG2ReI&Y35s2vF>*6F z5&V%}ifO7TO&75#PfHJQ_`4OfUGV&G)Fk;&2tG^Y_3of10Y|q{#&W*{e5+%1ma`#{ zYLZTH+IYEoM>n+Lfo8Yx&D+10S-rAx<00z5FJCoz`FpUHJ3djk(nw1=KCY+mwLSVt zna0ChMezYiD_C@SoI+Jd@CW}lif$OZvEAaj5l7O2e%ns&kcsPr)V}hu6$1z?z#ny7 zGLnA2@8T~&!n2&AFQZRt852bRSN540h_HWn?JIrbguOeq;c(pm%&g#`rr~LS(b2)< zH+qQ)qh0BS(51z@w1P`br#z$RW3I07NTOPQiy@H_x&<;@k;AS0VS)X1>s#5`%+>XX z6%5Ro2Q^<9vZuGRFf5nE`2z(TBU<1vr^%_fYPlAP>Wx^z!Ik077ED#P9HhZDMuLd( z+fy?Y>&O%{dHhLu*IdSsau&R7DUGoc)j3D5ZR`RgslwY-?$XR6 znjv~IU5A=aSkyn^teA4ta{-S)jt7R?4_^PKvdrLo_nabUZ9MU)iow3?oM2q2UWj3! z)T-%?u=s^74KOxZwJUnfIyzn?2!E6+GpEkyivuJ|0fOUv_Ldr>#BK*oggQGB5g6_lZgFSrj8tWf$NPS`DN0Dc?WI?_P*07%Ok@4PnI% z5LZ-&k4YJ6;pSw$VXJ4c13OiaMb}5g`YwBO)B_ym#qMCYF0D^G9nGbDXp;QWloW9O zr<@g|c_=0Hj#sr;>o`t8p%cQ#FV@-93#S@$!O$L{t6390v$o*mgu(KKNct2H@6D!f z(Xm00AzuG*MjhYag&KoolfmJ3T4NU)D88KYL|K1>TZZB-V2C&Rg}WwhrZF6Jqu~LM zu=KOHWr|+XLcct1i(nzW!$Im!KZaTE|3|@6Y69WhszWKFeRL-SM?d)gP;~UBkVhjR zILN4DU%!2`-sV52CeN+4<|@8}vTek#+}XghlxB`UY8H9XqrG&30eX>veT%-LZ|A*^ z+AT^tdhNdq#ON=(s9I8RPn^FQp)dUz|4b9C=4(N=M?5 zy&DMX(wweqr9ZFYeK)6*eK9|-gciD1vAf=X09S1i1|radwn78C_ZL5N?l7yl^(-v= z^-SIOGyVqhezI(j(dn7`r3cVNx0t>NIy)r@5qb}4k~JLn$jvnx-Z}gia3;B~pzR)c zWdxjt_L}->vnM3y5~{9BR|k>li?xoi(DCw{y9vaFmI9jv5 z>oW766@}_WJ={0@p3K>J4&&h$YE3Q$7A^*LsM5)DB}=C76fD!GM!h;YL#nz&Ur!XT zaL#Ufne%*g2D{ZmF@;%ORp-y9B2gc^!tI=`|Fbk@5!5JTwVMU9~#&(HWeo23)H2tO7ohN zYhy8|wY=lTqljM{8`sOqrr0<&T>C4z-?h4c-ZtAo{s72;mRnO4HiJ!t%GI3P>zK?( zg_-TXl9EtiVkT=95sX2nD|aM3=NciR#<6nQ9bs0NSs^a;#<8l~tI%UcDqkD_z>dZ( zDw5lYp#TO6SuT=$y_z9#qYu6C3s_Rn%kAY4x*QTR4zNgh}?#>6yg{{|?&`7v5Rz zytezKca*t;6IQPFxjGci{SCPu{{y+2ducMlSzVEP>kj5N`HTPcxr0@E+eO(o7Ks@c z&TYO+U5(+ypD*fpDl2qLM-~^`LrktS@x3(l2bT848DZUC7ojbSCVWMO#95TxLN{|e z5v~?xBjwLMl2UT#u8*(wdf(QPaMhw!#V-e`{8HueI^+s6DnfPO>U^O0VTHg#_sY>C zBMF1Om&%(3fNa0Qjl&q|roM?lkQ<;gzPmcM@P-RKt|Mfo@=is)VPrN~xtKg_$Y`fX zx`24(=o{)}s{UkdW4~S8`lUD7rH^LdP&Np&Q7)Xr5Hp-r!)p+^Ncu)r3W0zwb=t00 zJJen=ZoL;7iw(m#O&@Y1-;z>t83zeWbI|#21BYBRLNQu)9Q--dNeB0N)abK;D2^Tw zccfMWt*CRfxOH|d6s)^?D$eVt8uALW@W4%MTD!OPUIrSY;z`UA?VE?#%9Y~;tI(7w z>e}%=%|eB7qQuKF0nr}RG#~mbC?Mf;NjAl?p{^`UU<2GKn;xkxPg)&I8f-aK0aB}?gv5wl?2?>TnjA1um z@xliEWywCHVn|$ZF2fOOE^DytkGW`;+I&E-j$FK7bwaSvuQbbhd@B?|6CPiGRGD(T`v^tgpu`jX>$382@4}>vCltE2@Sq#LA8dP%?Cx{)P;I2Xn z`N~8;$nOob5d1`{+`reBhpiY4^|q^0HsT#+&8(uN(~vZ-Em_{D8nkQ-35SFmPR#cn&8qHo<=k)u*`H1KnkV0tHDZM6WR5i>VcAvN z0>{S(*EGA#XU0~?LpYeKx;&N39SrS#csN+;Mw`EgBI7!mu(DY~w5-y)C2&NSg?i~a z%cgN!uQ28B1aw>qPNgC5U(?fYEHv-97w&BRJKfU5bqq)Lk-~%N8+o#h3ZeB>>afFa z)wwIhIiFkdv4pCUCVeenYSo@vhL>`1f*`o#agkr4ykIeE0;3<9L%q^;U~4>-vVxA$ zL3Ab1?wj`LhLt2suOMXZm?eqB)RLIy+;e;eO60o`EhhG5=-5B{qW1!};oHyE1dEH8 zBx#EQ4n66pl4QSbyz0@CI%aulQ=OgWlRZGvah}!nvM-_$aQmkLXI-Sz?c&s`j!2Q@2miI)*y2ky5Zk?UzcE3(rJK)C)+P}msJpf8=ZScc zTs3PL12gfLn1H(r^6HJ9faYp9cVg638s7(%=_v~#IvZH!(0NR&iIY({gShBLhhC#y zj;g9hS%o~quLvqJCU`^mVD!~V(zFqOb{x7=X=D&6Yr-_B_72tS1u`Kk9y`NUz>SnM z$lB}dTVz@3T7nf#&G z1&(ZPy1E%IMm4NQuM;N1%2@4q<`#DKYx-%L8i03it7@0nL&){`)i1wi4(;HuxoK>i zF@LF4lpeki-frE!fhtKQAVeSA;nRS&aPr(q4o32bU&2u;8AnijTxsR=81&mNgNb@9T}6m3k_6tc=x z(*>@~Id;WxJ1dhhzw5E})3Qxl11r~-ODYyhGn6_5?gJnH+F%lKnNH$DbFoD&434h- z-P0RJ?NXmR@x6uWxS^X{v0W7zdFm3ESk+p?uKO1+ZxydDY9Ky=OKOpLX38g>+En9Dg%%PM%SP18 z#Z4?+8d-k^dZp%5q%JSv&CCsFVpxYo-O_hp42PXsHQm1bc~2x7CoGHYNJnZrf_jIY z?lYRkO*1&LS2R(v7=0{rYD=ki%f$WhEHw9JQC2j5HHsUUw8A8)iq4yLZk2=lZ+P^aqCy=IX1USHk zPw%wq4F>;l%0&kRcXW02bD7M}SmjPq=4?LC(;p+(o&c5>FO()oPxSF4>NuW)fy|8n z3=&`JWSW;!&0t5+O!lod~YeBDtzj$>9ZY7HFEX6pRNzYqv23cy+ z=eGwo_RP_>i!yQ1-lhwh?oU4DDzGwRP8mQmtM zN$|XSP5m$V>vZie_;Lw6*6yZZV)uLypRYp0htY>`j;fKXwv1doazm^A?=jT+4Hr)MW9L?cOSwh{(c04eO%9Yy;!o+WyTXXI6iza z;<%by&2jfFp5l$B4^N&vxzVWed=OlG&tb#wDT1>I#>2pZz>ANwrPVAnsqt(0b&QB1 zBE|lFGTuXDn}4>VN-xkMT^b@9N*L63dY%dw@z&So`sKGw1+P4_$eLYuOW8`MllC&9 zTbMYnYlV+NIt{gLn7 zxu<_B@jfUN1yfFsGKbJ7!t7v*I$`mi5Z^7b5!w2vlrO=`+OWCYWa{$ZueG5(u@_GQ zY$;`B@~T^zdbTH2aD#2Zw$;W(x#32`bN%l0$y4;ZAQSJ1s!V#piBC<}=s9i6%m>mp zUL35Ht>?Z8If;z*oZS|9-=&@1X~U7IIS4r;BF-s)ck6_~?t1UWnX*k>%TwZ;f)@0! zR*0dN0p69+HO*!UU z$_YP!QqoWu*2ZsPG=a9BQrCOQV-W^*(YMc3&SY_?ibd0}7w2XhZ#OYK546^;^}h^>aBaM=~% zBBUYsRvb~6NN|_GqpY_HGJo$Uert8`&vhKXQq&U9<^+^$IY|pw1!{FG5S9ctCz&jd zVvLKG_FRm72_Cf0Rv6Joyo`T?xz}I0 z*Jk?O&u0xW`r#9)<`NH|=9I*qzZ&|us9jg*aFeHU8iTD*R_O(<9nTm%p=N?8u1s~H zj1tu*R%<*r(xH!@-p=u&FXSyOi|7$c7|1;OQq5~b6Bs?~%oc6bH4OIH@NDjuZkdB@ z!Qi8ahye4co7q$THSvCy?r`&s)=6juCgSkNKR?&UkAy)3m_Bf9-l5f?678fYB#YVh zv=&aSv7D^w$;lr8EUNAOu)cylXjM=PIPWbD>kFKk_AoI!G(5`QjXE3WZK#I6_CdyBvA(Gs&J0`0i(TzO3HY;IKgjWxA=yBq zcAY-o{L=N?{jz4++DK(r)Q2U9xzzf?IMqo0`FWCEh1z-E>C*=0uZnX!C`F`)%h{!@ z2i71+RWqwU6QKo02=VKE0pQ$M<$NAf_=>-P4)3ULHTQ3lL+r~-{vr&ggX3%f zaGt>~=0>c)uotkVkb}Bj5Mvy-ePbEV0!>EfRSR~nc_?jAv9vcs_LQ^jP}nl8zZWDG znXu*$jxdxDn^X+S;*=}ku6Z382+3{Ny6e|#2YuEQPTd*uCu;^Hb>)H1y_<;5- zwTcYRPaY-}ERPRY1~jtQwClE33cm>R? z*z>kd;&+C`Ex%w6@vTsG0_1PYQ;7TaIR%+@Gj~aUr>B@bE-DVBS5fUJEhlF#pgF=P z_&TKg9<#2v-SuH@g1F`0S~TaVPt6H>nuzdg$T*c=K|3j*HR28_%xN~V0`)E?jG$8j z<16U_I&lsgp$ZGTecrIlwZ3IapjFIsh+K=p6eL$f-wQ3OP5r!`mdm*fGdukhDUYMMGK7kk#fs+G`_H!2zU0@Y=xh*m+^#BUGOs5icQJs{I_7JW3gVE%Zy*4!#8 zAtFJp6a8esSukkc!TI3p5li4r!x|GjAplKjtxeANN4Xo#9k zu!uhso3-8#hzG;DYn7coS*%H6qZx#zqf?Uv?_+6m(hgfIL;2y?p$BWhC+=$?yJFdmpbS@38K*Nak4wE{W!D5I)3)pc*8TG9f*L`` zpEYM_e)Um+nK~`v#-TosFc<_ve3+M>RXy*ydFuBPK9#CMpdSi*AbWa5r6`mLe*KiO zakAnmdk#t4ifn}t#}6G4Zm(X*3V}_W1?PDSLP*i`0@FZzL~8D%&)su#uDIjzz>%%S8k{+; z(x>fW*c4~{v+L&uw&7*3tiYd#=mBjk+5QR5m)8%1yC;hCw-RMEWo*sYU_aJ8kO|=9!{G7W958hr{H@zQ(ls9BG_M~1nPM|qnvTezJt|+oG&l_E| z;`F7WY!7PSgx`qs01-um-nzDHN0Htt{~Xs~_5^}pA=e85B3PboIS`K%;F-OcjSbY- zU`?LL{9B*fN<;)FSsp!TeOlzlh4K=tNU#?tXUvcMMap~ZMp6*Z?mx!Y+cZ;S|H}pM_mctp^sBeByhKxsELrZ!&5nBL$Y|15z-RDW0F}L-`JvYz-)rHpAN>U8>3p z@nyCPond9ib3p3*eC^2i$*{eM%u0&ylQ(F*Jv_h{#f($;?Bek!5C=?G2fffm#kdtx zm}i)UTgct929y01e6P%on`7{lTd;%}xle4rs{bcMrTzY-v9(&j?>ti|5^s61jY zBBtP3P61T|^m!nji&j6Y!H&9^(sCybMtx#Mn#=Rs@i8mT3X*z6qjG(G0i1*2=OMI2 ze2Az>S#L)*Ul@N6u!+6x-NuWy)$j}8_*>UC=KBHsm;BAq*IeLn__f+mQ}#+1>Z_}P z$F=CMOW}Pqx~;g*+2nNbVBZjM7E{F`81_}apKG0M^;5N8T(ghlgE8_rJ<=4$_%zvv z%SZ{1z=I2j*DnU?b`3UKo{|`cKO+ChXLXoBH}d!+)#i`LUuvkGxbTi9PJ0(kYqL4v zsxLWlmtC9^@AK37OqtQf(LL2AdEw*HAkXjs`tJ5PdKfm(EOTz7P4F{Cl@SYQxu4wr zC0p7%FnZA5Am7{{W3H1~2159@o5bgA?lvon6VIy#WzM-HeX;Jxkg&$C>6Sv*i~+Jk zZcez+&*S5#w*~KlcB)^y7Z>6d43wHHA&0xf_c571u?sEd#%4CU?{>gX3!tMLUkd*` zc}@jwY}&jQ+3He6;-5dKs-Qi!Ci${zRyaz~BW-AglKP^RTejh;`&*a5IFFquI0NZ^ zV2!?VDX2O4m^5r1nu70R~z<$^^7(LBfZ%+28KP=(dc-k3VM zQx0F8@)>zJESvO(`vRIpr00k#)Z9iugE~PdmV%}SiwXn#YV89j@4v$~R1n5owP{Dk zxo@zQ{=aJpKS$22 z%D{PKY7RJFkiMfmfM8Yda>>p>d)N98-hj>nsh_*M>$5UCKEL1wb8ecPHo%W6#@g3>(O1vj^qt_4cYn@vEw9cJP zO~XKi4=(QpatlGQ#~X=$yOC`*&*Zg_~4Xumt zx6pUZ5=>9_vcQExeY>-5Pkm~zqE9;Nuc5bC+rk5xzs@zTHF@mD?{3mD&D~QQ(sz(2 zbjeJ7Z;U;!Nqv5|GCj-|xJHxpn>EEm%Ca@=3U+xdOE6-gvL8 zc2c=v9MIPZPO{wiet$de4c=l#+&isE2UR)hc#+=drCnNVp^4jGrtfG&?Q7HDg%-rP z^y1&H)RF*Y{&P-4T)!E{=UMnTXA7Ra@@9a9Z8~y5bZX`!(oU zbM}Y(de?gA%HRA-Hc~$vXLmWZH{cIXKgrO^XU`ETRi@{S#v)=$bo)QrE!^p+X8iFq z>q!U0@?1eu*fRVhKXCFxMytzIQxk50qJTKWi*0yWTEkg3QhZTb(@*8bWh(ycmWR`M zFL=Vs#aW;sf{k01tA*?i$o5AH3tnMMkDkVL2)YU%eoC%M+vhQK)>qqhni=4A`w!RA zpE5-LuQMSRJgyyzj$~0eHWGKF)bXy$zUW#|m@ZqC1qbW9bc9XJ6j%2%^1obDbZD6% zosZGGfQS+k)!oG3eNI3KNhZ+2h>qblJo_?0V_9EAgh^YtJvG4>P|AMY|?|Veco2<@@)5hX; z+Gs*@?)@+n2ETB~JasM<)ApqD$^zZNaqEqp!I`kYKj$Aj{Mc9w#D84=^Nn1Nw+2!T z741pB#~Tf-Fx3izCk`@KMEp5G9|_AWsdx4S!HvrkCC#9snM**S*rYd{jg)@Oqi=neE1~2^iY2_-2m3g0Oik zTH7riEzo5$#!*_AADA}v9uE_ryTHA$B`EJg=t&aK4Ml{{7ks3?ShZ^)Pd>-xEwVbtrq7&k2<7?wYBT$d=Oqd0fZUO0`(boV~9-Dmg)w*hymvq9BMzNO>)OPL1Wu`L+SU2UHU9 z;+&g84p?NvsYD1Wmo@%AHfH9Z2@vPzRQb7Tmo4ou5qZn7_H; zlhr`s*3+#`;v%ej52Ie{kIp1i{U4^jJRa)qdt7-`L`q2!QY6MwWXak?n_ZS+#xe#& zgRzu-uPj9^5g>V- ze6S3^Z@S!B$=JYc%ZWG4t@qJ6uOF;ys5hD8_)IXWo6I*JY%lz{L%5r6`%Vn-{Uy*S=dipOUE}avCtQ%a^TCx zLE1_AFXpIQWq@7(A;rOIVj56zu#332gl`m=87us`V`=}n~VwVdp`ZtyYI z8dk^_opHDB?mZyL4rb=BBSy-=$B!Kvs2cf$RqhX8S{r^*$t^?rQoNS>TXlDD!zt{F z5Gr7&>VWrXwKiXwk-83b04pXH>T{%T-c@+qe_xPv7^Qr04^c_(Sy50xx9X%nVe3_w zDUgU5@_jVvk2`D^cZ!+`3TdaepUxhiZI&iYHK;3tvbZ=z9flpG*HrWR^fY@?K+(}at9!e9@l z=RpbF4>*E5{7Ld-pcZ>y=x;xg7hmv2E#v(g0Su)oM)K}<&)ny2aJjvc7jXMq^Qew5 zGAkB{AfL0Yl-LK;#HRit``Y!{F9>}4q2VGRk^n5@9MWceht0rOxXRQU?er=v^ah!j z`^bIABSyWsoD`*|dc06N*k1jdYc||R?Ch^^Nqp)HIyOec{!godfQC*EIz?<+_Je7rz!mvXFKiH}|LDT> z_BR!(2^2HR{tXX!7_(?1}y{vtO zgb6q4X!2WDq$(b4cnoU24$cVbtU0~^YJme3hWRwjrJbK@meM?D#r%15SdP@ZJe?5a z(DXdj$wKVDx%pRw6;#XTg+sqH|86z{Zp1nrHw7ybd0*m0D&Mp-^~S^uFMSzvExjNz zKGL*I=kjJ!4D;_YY^ivF`#78C;|+ zOzH62PPh+mN$KG|HP+tp+UReTZP)lTap>2g^G@vKAMf`?N*%gGK2PlyDR$qT6Zpq) zLoaZGpMh#qIV;lP1vlGhVX&&3GdmxXUMle-dL^Z|J7k zsJSw#MDCrhG5NZ_u{*a;(HW12_#RSA$CUs9TgkOz0pzG7a$Y=baaTD{GF*8zyD<=R z|DSr)bctZ;Qi}j2fW>Nm(c7olABGam_i*3dyHz?5$8xA$UHqAmkU#0c+7)tnf%k1b z^K{SQqa#q&%=2@w3YDu}=cr~ZLVSGaMN#L+$uAO1p#y4;^(*go8~k3cX?kD$ZQ3)Z z)oC--7;QGaoF3zSsfl;xV5gL1yBodvp=P$!hQcr%Z@#At+4Y^}`qXY%=3SU;o*`WL zs(yNmxKt(f|~W$n+p$e?XZ#)cVpCfc5T9Mj1S5@ZYu?a5P|)o@YZ=9+@l>lH!UIYg)-_TC z@FnuZj9yd12SGPW6Rmw)?H<-hJ|WP1Md#UqmnA}!;ybm3^1$ayRnE+~c{&p4#fAy5 zlT`|Wa|}$&a?%nYP2!~D71x|}2}JsRAqvBn_O;Kqs*`~8sPlGctVWx?g1;pIhTjMO zc74@6x4%K20Z=O5Ki_R%Ia$1#zia5f+bKgz-iT5@DjxK|nD2bUZs@j%Ky`tV=~!7> zwRDZ!sE|Jg#~Q`f%~>A;B&CBY41vM~L@^xOpDoE0el(tksjKYA}(EvEG=y{}OKJsa_Eefa626ZfH_Q7!*I8CbM&wg|aN za`HU7(fu-{C>^Ov8ctHzZap=B32>j%)m@s!ch~2Ek#>J`Yj8hA^3ZeTdZ2l|7J5_p zj`PZ#+Jb1>v$EHk_eYyInB^5M=F|E2fb)wq?e~C6^H1o~^vqzVayd(+pX~6#ac$&OTuCmzC|-hYgfT#=&G(fN1UE zdUu$eP{1x#I%ked{iw~0s19h@aY}P})>RG(@u#@$-`dGS1&jrh8<99BD1YL5+;C6M$4nf>>^js&5bp)jg(H} z;GhxLhY*+4X-HhCcEb}zkNax%QfY(5?hV0@Jz85#jX&#k*&1=$lPVSz+M~r8K>*1s zCPFtO3z@s~ncHK;2x|^i%c{nLrmyWul* zu#{TSnExF@*f`6w@^yMXjM*s{FfEOGHzlj-{?fPBeOP16N%f^*Ua2|A0356fIW2U3 zxb1d{as)D;*kvT39V4iAtrc}-zHFX3j+tgRvLHGt2W2hP3gXedOgMCCjve|1xx6i^ z^a`TEuDMhj;z>+j2XhDbvBv=?i;LAkxFwH#U%R4>_QibzRf8r@Dp+ok;6mJ^?0Ri>CMlDlguX1hxbb2D>MMh8$1>hd|$pV&Sb-8UyZ{;xSGKZ>isHu11w*7kkdQAP+cy4FyVL zl|zfx67~VmPiD7qi%yiPM5hfj#`<<~G|O;E;vRvIbgD4mg`>2*wZT-`2zHQo?+bq3 zcJ|UYuYKn=A(Hq$r6a9+$*q7GP?0!~5hnA953LMuOrl1S^mDv&Q7rC?sNHF+mb;4q zmHngk%p3&Dxe%t8F)vD*LzkUawI9y_CO+w4Z^hx=#{3tjT{>gGiRTfeE?CYy=nKiY zlcj@wrK6yen8I7>AAPZJlk$3>1sK9>b96{9`1IowZc#BMq3H^RSe|EJawERgYt~xF zCV6e{9bj$@-P`t}otM40gRr!r`OSd6Il0dd`CGRCQ?#AV2E_44ih_v#S#?P5nNL%- zs)%bEjoH$E>525^I;@W5_L?EhCs_9zy+H&qn1VRr=EAi&6Y2hyu%jyIp8d>Nhx4Ah z<`a>k?!%3?@`IhV=Jm!<@%B(^@V-4f9(P1W9VrF8r5e6Kqo>C^s2&?L@en+Udh+B? z*4HqC9)pkA_l|l)3a1BK3)s)%*}hD1z%UnIbeXG8Ga)jP=d-o<=Pf~~QT$<7n_-+3 zAbC{kmf~troNLN5E+V9_tMTZAPvv{4Fna>VBd^}DQaUrU`+n|~{M2&Nu)pT1z#8=t z6uy5ll8L4DE)fSU@)zewjppW#j1uq5Xx)g3fTxZ=%BQTpHJTqCXpmCE@t`UPUW;@- z8G)0PQWA~;)rx7;M{(VjFZPLBPNK~VCe=@O7LqLJ>6}R9KliH*DyIM=b+Q10``ya^=N`dV(_S5o+Ig-T)Gn7Sq~vq4l*^4Hnsw-i*3OjzDHsr zc#%(>1$M(&WQJz;Fl?zOGq|^;WN5?mI?6&6o$@$54fZX?BuhRP<|`~1P^G;U^+dZG zhx9VrzDR6(Fot+1xN$IGn||h}`tI5^Z+kq-&v4VU&7<~!<#;DxtfNGxy6-zumvB}N*GwAU93^2&3a%E!V3 z!>N-GT&0)S%!Z6!EtoKN+uGMS{P2rpFESr7-#!I}i{qc5cvhE$Es_2sUHDf9ipxDp zyqobLR^*2yQZk&)$7ZP~511)upUR@^*8%_**e!}u2EstnkI_Bai*`FXHZ@DdQ55GN z7p+N73I)okM+3s{lm(7}B;{XJ-B!m%D=(u9tlXUn7a!{84LID*QR-RwW!v|-qw&N1 zmXC*&)!cTT-Ic>v6eQfAH2a*jRR>tsc1cp!gnu{E&+3La$B~?$yRt&n-c%vS8F+qch|-HYbjH6N69o~rzG#G&wy#M2H-l6 zlJ?=$*c#;=_Z=ON9nypIy|pzVCR#=#%57eTm|_%?jKz-urN_6erb!p-0Nz0hy4_Pm zzF%LP4Fr|THartikRA9}3gZul?t|-aPhNy*@!7C?c<_o)T3N?!v!v>k#L>9iQHKLg z-s|1YZ9m17FDz=Qs^>&5Dx{ssMSb3G1ICk^b9-|5?Sp^n%0hI=1AW9Wj{h?@nBurVyEkI{WIyvrVfHO529Yvah_)$hT6KS_6nsc4VQ>QIzi|}h> z_h9`(f8L#B7(9G!LA}P4{8kin*S4F1k6Wz$BRp_vs=MojnO~|?oHplET*cm`y~7|o zQZYRRidH0(%bxJ=S4LIqkRRr8pu{=>cm53AL-eag9j>iO^zH40GI`eAd&`wy-6qR3 zGidnTyU>=6NnJh$YCP>(;)Lek=Ww@Jar#w_4Gt2MncR9kJK5~BTYtjFG#7+p zcd@DVP<`E%6!6w{CJpk15b`WbFon6n=HF~j1_hS4;8Ksy+Bfl<8f;PK715Is^#@vS z6E5rf)F4B0Ld@4UZu$@f8Wv`&l$AfPKYP@)b!Ww6cvxd7G17V~)xOzlipW{C@gc&$ z>2it0b!>pm(6D`qlJmMROLwklF{}$Rv{K|XzMPJkaZm^%@1M_0P`9C4Axq&GeRJ&! zdCO5^d#-P{){l|PsALpYow>*U$=l)n|G-D8NKo0-e%Ji$0CLO(=}po)iLs&`LVS>mn8Oyw@t{B zG0J8TP#=YTC;T0_f9U?$D2GYj*a8=0_J>q^W6ZR6nt$oQRlBg^1ZIu;MLVYh{twJ0 z{zMhP#$>mKq(jKJJHsGF(`20(?8i$^Pc^-@=TUIydL3X@RtRduDpjYwByQ#$~TS2-+ zo0+bRpH>IoaEBfFzS?aeiB-K1e8yRw_Tf}JH9&%_6~fT;T6Y2-Pz1V7>{lv&t@_R` zvJe)^dq4Yu5|uPBVvPJ3bgX?+6E>`cs&B>mERCodKLLy8ZbP-hx5M=Fa7ac_-vUhP z@!hNv$ebJtw34KA)EZK&VOkS}Sun;IGnFZ(2q=EUAJlTxtand#&!J4-FNSy5jQGN+ zl%~r+sR>w~-JI+dyJlwg*-F%RruGRcB!3UWDA-P5=#SVc6!Uk=WIwGINh;2E@*phw z<-1*(M)L(gWa4;P)L|xFX8S&cBLmQ;@R#ZPyDQCY1@(=xqJ=#wwHakrWic!R{y5-< zz#<>^1PtTySG#N99XEX_q6|B7 z9T@*wT$*}2hoU>r6!@8v{OInYob;!@1{JTD3M??Ko{2TmJ!~%0H8+OA=dDgMl;Tj9 z{!Y4c>bGAlZ}!2ve{alvdXwZ3u-|77EKbjYK5Md?^BNvcl~QYMU|!yJ+* z>+t|Hm1lEtV=?ajD-G6%QbIPB@dbuhI+O0lPwalQ8m-!~7lPqpq>b|-@N?6L#2IWo zFjdMo+uD#EaLx!HAN;VZqz5@Gj#A=IFVh|5K=~o7uTiNRDD&@M7izL0lpFi>P-EUq zR4}~RSj)I7ABDvZ_u2OEc^Cwhw{WwA6xY9L499!aek zC7!>S%l61KJpul7sEW^q4!5xz`76c}W#dt(-tZ&^&KC@Qw;?3$VGvnxJJrzpxiHU8 zGigW4KxK8fCA6aAyU(HJ(zX7j2|<|f&{}x2J!xlQ6<6hd(AtCD1sOrkx{Red0Oa=| zUa%!l5+cOgh;G~Xyd7KDP_w^S;?sK4ZoTuE)QYF4`+}D`h}s`>P0+{xvfK@T>s}`! zXWGu^tH)~aSdDa1;u3?n9*UrHI>}dz*fTBt=~QAsye;aA)K>~TAJ(PbnLlk z7sJ`52Pbt&9rQ)&-`7!RHR&rNM{DvL1FZV&65YJG#@KKKLUu4F%#=9>vxZ%kL(v* zLtI{mtwj2lIG;<>-GK@z!T>7n4b3 zsr=g^hxVCY6>pSsqw28~p0rv3s{u1!gyW^_x(Xagt@t^6f1=P_-r~knO1k-~%WyVF zgnNx6p;4^Ls@_muu4iyNtJJR%tTr*wj#vqaEQ952B)N1Rx%6)CDmkZ+KT3z7FEGCz z%B&F&S~G>bRPPLEhE-Nd)#{4x3SObht)83x2Vdd&gJ1013YWA&OwgAS=}&%a1Cj;Q z&}B|7I->&oQqbi$NJp8NFpRD7HtX!%99+0&Ynw+JYuf$eTr(nkZ!lD_J95|LjF0pv z$M8Mie&AB3vcqHnXOlz&Qg#G9Q?7Np%=gh}9vi|?0Oe~qpVe3c7#(|SZVYk>v7DNn6KwjjM;uFF^TWg#Ixl(mAYTEk?O^uLMPWYT4Cc9K+S;bug z29`m$ax|5v8nm&vn86qF6lj2w=KHpfI$_&wdT9R+V-*9e#)dCTI)?u-x?~im zm`%8nR=*A#`W{o#kMK)<@3)(_cdGYV8*Uz}PbvF71wZ`Y!R{mOp}fDkyO~IB!tj3% z$Y59avI&PrNj)e=3uccsZ%K3A-ifb?`sm!;7^7AOD;mbsgI&I^w08Z6Vgz*E4q`jB zR9^WB!43OxmBt0*+E#z(h2mzTeh-@tlkta6<<)-nBMW-#HIO2#y3wz_Y%eW@m{irS-gUNdyBU&#p!4=wW zfG6=62WBRp9avBgmIvxE9Q(CZ_VFty4_{HIqiD}RH_dSCcPlVrA3kEb>rI}in1ObL zxMuS%{?I1mhF3F{loXbF1rLUcVD^=LlK4~xfx zf(xXgQcn9`^?}T7jn8jwZ-i$7uIKG|e@@ThHt`=UBb#=Pg$10Vi}Z?MGL0w1Eq0#| zVP1`-hTem_V9%TKr%PoqiQAPfNm5l&rLx_Ku5MyC{hVOr7Tyw|K6qNwU-5c>K5J>z zshWRN>VIh~zigfpWOTZGL5$b76D3*PX6W{gqfZ3$TDH@qSFd%ayhO zEo`6Gh|E3usXezZ@-F_Tkqf2r4B~(?8PoY?%MY*fPnH^$i^^^v-+1KtTn6ipAN}=v z4Y$Uw=(sZURZfFNt!x3xQ_7(Oeg|SiV@amd5s-fo9@6Fn8<*|)-9^A$B|63j+dpZk zLG0Xl-w7+f(Ak*wbqJ4Hg6lX*jcm{0D#rL9#|;sF*^lIXbaD@PC6Co~pK*?q)M-(d zU3o$o_K_Ll6*fCnw^5#=gGgCflC2F}p|i*KkBN?Wt2V41pfixT1J8Vxm!t@77=U>( zFAdVDTMdD_Zz3XuL2wRzL$UoUUFRE@`-XOLiUF>-!QRH1M}W**u}K?qSM6{7J6 zc`?6Q2W7v#?@CjLp0(ouoy5^tIqpgHdRzkh3h7@1(HU2X?$B*@Gs+~7qrUu@z@{79 zQPpO*xMDGFTY2QTofDlxY;}50{F&mZ;LmKeXUG4bG^V0#wm&*3^29ec+qR=Lt0i2V zcT55j17e_kwLiu0;Mww#gY42OlFOFKfO)CwKE&3s_$Ti6k^%PV806sYPo>Hj(KN+~TxTI0IT*Ws4pkgs80JU((`I+(lFtb|n zD~Ab|AGG@r>hNEAa@xQ2+FC=JeedQXx^4cTbpl?J^*UT=l@QCvheGL;wCqm->Ww^~ zE-$p(BkIY1-&BZpwY$|WoYDLpR~(zGSB$>*{8CSJ_4J(BwKADZ#_n@r#)l>kqn5iJ z=qn*AgO^d_W}_2b{V_r;g{DEiqqc!R+39>aLy96c{cQI;T_jEMJ%=sc1hN|8ksym> z;)jRpV&&c?x(!b=)8Dgpli};$QC4?`ffq5*bk5N*pE2J4d!y+jqqso*^Li{uY}`#? zAv8-v6|@{LO@VNmvp_}l&nNZA2b2_l6O+oq8N_Z=r8F1Fn%$Z`cHc4g=zp~Uk>Zd( zJ#9<#2X+82wR2{Pw$6<3!A?{M!pD5+vR}mvfZ8{TPB!GE#JK)*_>fGtzm(4sQaq1d zCOt;p>0mvA9T!&Fvb`S8OCpzz?sck-R8=R$Mao1HMO-+3-61eOwXgJS+zeewyW#UD zlH=iYV^>uz_sYc@X!Qm8^X-lO;}I82P6z4?uZsO-(hA<-wMXj_@z>|@9$(Gav!pr8 zY@qiRrP9r>u6KtBsfMSG^;_?V#llo!Y!%tu?~Bzn8yx2D{EmH`UH?s!KZoTtGorlS z8h;PDcV^A$I@nm`Mwsy<_36!EH#rrgZo2xuJNRyHUg-_-tz-m2IBBh{0sl{Nh42zucN@vpYuO-KtdS8{lFt9XUtNR=Z5yWN^eHBR6yIG#}==3bLyMk zF(CFRZ~N+M-L)I}&i64h^DUB5VDJz4yp-r?(ffia4V&*Bn_SH5ji*$s{VN_F$t^%d z=jY&Aau^S@y!2>dtHIm?eaz0DW||Vm7m03FmgH3NWJtY*ATJTuoZcdE!@b5}iZ=7* zljt$638PJMMT~Q?YZpD)5E?rFiRdY zS5zVMoTZz%K2T>+@!x39!`cC*+O{s~JVq-4ltbj;o@tC!?2@k)f_c9IEH&%8Qx>%G z%;+8=jhq-c`VF_i`FV0T%4ah3ND_^;49hwwPN z>NiPk>`_7LMs$JkL+t0);YkgG>-`~xHh#HYzd++nyIMSr+a{*tHOg!iuMQ4o1)u$7 zdETJobriq!g4J+K=oG~u7;Kk_X;_Y5GM4& zO=1!LP(T3Mr^)rLJ%Bo|-tOrv{cy9vX~0ac%yJ}#(KegWer=bXIzNxcC+DVCoTCnRA{_+5G{h5PhFeh}Zr^P9YT0#J>SMqE?`-yb zS4KrOh1yqq_pdMGXBy@n#3bQ{T^2ti+Wd6vHdvKNe1uerNFN6cLs(MbDED9J26dq< zo)Tf{#Xjx)nTN_bRJA=ZdXl5nX$o%up_WR^&x%bkV@L^(Yb}kj)$Muns-YNGHO{3= z_M|FtJO6c#LK~s-eYwNoLLMb9u`tE=vU$6QHSy!Dwao^_r|A@gV_*+$WY<1*s)GkB zCpEf_O2(j0uavILhUf9>FFCdqRJMNZ)P6rS#i^v%|H$-77Sy6adhZ+phS7W6o65~` zIWmVG6ShYRdTXG;xqwrI6XeuCgV%C;umAK>6S;r(8>}eqo&gI1epkiBAN{E!EKI<^Leejod zh(T;K-GtYlwxhsl?}4_OXiuqAbZLo6N08As)ruD{_qQJP_gDBQG?x_JKRx`$Ttx-E zfKVRqmHUbcx{`1QkV(+CubiLeX(o0#QM>-e$?d`qZl5u0LLS0Dv}f$DHFdY)r;s6{ zA1MjE*1HZ6hi`4JNx_-D|1=I22TKnL+`0WSD!;6Nwnw>2{B}%74=CXIlb=kUM@x;a zIezfJ(b1%?90F$roEwcUIU$q}t=S1(V5ke?W>_}UsU>Iwb=u(xU9Z==XLqVj(*-J; zi+@BPZU^5NuG|JcU-S%+33Cg+*P}a`BTBs5_6mym1m;vVcK^T#WtWskMUqD8OK`ob zWffcNSz1kNNyAADuR-Fk-xGy_*^EX~nP1|PTBGuif8lM45*4>&{o67CxOw;m&_Zlb!-;yQ?Xj;avX)Hfa`!w)<7-{Cf)!}dbA z+RGDvP~>;BCVS88mrujel#$lp?|L#^nHmoWmrAzqvHCs}zb|}DI1)ZyGiTeARF$e{ zCzC#C{8`DfEdZSWw(254tkdqkZ_ZIjE^j<&CP!!MCAIf;i#gW(PwpckI9p)cVu)0@ zHY-}%wf-Y05d00!h-?=6O#WD^{3(?qdspa3z3ao6q@dBMNmpcEM!+nd%cH~( zTPgw=m;F5VUV$JtA(y`T=fcwbB@RU)d0?1`s9-iSGY;6J;oR7e0}e~^X2@mRTO@ZD z2O-L_7E;4SFrQ46{$fE%{LGquZN7RdZ7E0Cv%XRvp8e zx$gh6M-7#w?U$Mjs?=rdRKXezHMOl?=)pX*qxIJkh_8&$MtT{A;aljG&<2`=Uq!7D zr#_B<6PY+?eIECUzB7FuzOWo$=ImPQV(HWQ1gnemK*z*Eajs0%ataGnARsowPD69+ zli>{)p-kKWShpjnpf@A0r#3hYjn&*~Urrn#Pd3Ck0&{_9UaB{{=@g z#&im$!=Xi*df8V3e4aG>Z|&6DHIvS?iocx$^Rh`q5J_-DIWv)kBK%iwq(WxOXbubfYVQIUI4DeYSm zh1KB3+}s0$avS;$s-~#qB8#v>x77Y=z8Dv|7-pXkB>;@>fpO&pNGWfrgEHNTvRDhV zoXHnk%@~9La2u=wtae+Q%mY8fZ1Kf!+j3_KP%q=48@qVyFexBQFX&t%(%iTXPFtH&92#g?4`C$7UfVop(om<=jUlmVsvcHsee#^X~e42edq0LvFI#m4KqY@ zUehzxYr?rujCM9C0XzOY|EA$l*>f{_p~GJ|gADasmN_<@D%^S|qWm`MkiKnUTu@H2 zqs6%xyi|t^dwj_P65q6y=O0J?OknbfVa;;M;AAJT(k4`w1@HJ%b@M&mLv=IA@GEJ{(bb}nxPpiH~nhdUi0I9Z$x<#3E_7K@)n{hkO$@iFdKzaw{I_I zvc+G|D%-Mqo~wMbr@>f^p0-Upa_a9kt$h&Y-0NdiZ*HULk1yGTL9rL}lU(nG6vPb~ zX53}`t$ijNW;gW z{F{>)w&xf8>@jFhzh+CLQ1Jc(gBRB^77@z9&w9zjHm8c$zQwsqOlE#E;}kX!7}h6f zV2t~k(%rYvI3jvWcQEJqIrxY3kiPvP9@ccxSzf9v)X|^#o1rSJv>pX?t0R$pEu7~y z2mk8>o&zw#2JaaFThwEC9^~iFgiJg72xCT5V-IlzdUa!w%r_Np-gDIs6eN)H9X;^B zkA0K9ld?u=)dOna{Eh}Pa1JLJ#4c&Fp>B+q=@T(V8a4@w&cYgWRek#Pv?RA!G+I=G zb%6&Cj{BD+BP>BGMx1-q9ffyi^r%6cYT4#v0oqOABbQEOHmIK&qNox;15Edu+J)ut z-S*&4G~Vh%4mvxP_ujaQlga)iu99`p5OaqaVab|y*PzVbeFbQT1Dpc{JPC-vYJJOf za$>Y%JTZHa8aCFPU8m#lz>N)2w-B`|sk5kXF^m&)dP^>a^=hf{6M5-TW6&tlg z=lZo}wPj?LW57&fH17}r{7X(aY3A!nCiyf&I3!SC0^>t)$J1!&R;5^$sAqPSre3_ z$v3r_=C2XDdify3VU1c_xg~b2_cu%^)?3vDlqX<1bLI}8h`?+u+HfaY>E`9bw&iAS zfnb`~vwxx+JR+Q_ZCR-*)l5xT3H|H#=w-E};KZq~(27U%QQ<5QxDUT8hp@d`gqzwp zH*yAge=^tjQoE9vUpY0SOyv{5zgEB}B9J}(So-T!hxJd{fBi!IT=AlYca8P=^(;x( z&gloCP-)dt?&~;{A{TYzNB_`nUnieLa5~}tT{*@fra0>~&{!hqTPD`%i>8-d4mzi& zAojeyC=z1|6S*&iwUcen%*l99R0l~!>e!$8c#ekqa_F%b&>+y&`A7y8m*|^R;7lFf z(X$sUxduOL5>4-kd!JAcpO~pj1o+V;#py(H(js$ez*~SEyJP9$>9#@Sd}a~Hip6If z-S7J?0W5ioyknTH2?JF66YZ}3H$;lqxD>YMlGFB`o+f`IJjc9OWfGK4`!-#-y(T+0 zplyp!SiTcdF=odgQf-iuBo#$P!>pB{>nAG#?C7a5XVu4tnc(Z=wi!4ZOaSa<)RBRu zkB(#6V=xn^9G<+71lDmf0n2A3ic7QaNTuI#nG^%{nC-soH5^-CEG7L2GkFDa`nDl} zejlb5VUi_YzdHbw)dj4m2k z=4cATBccXGV(o7f2?~a2AA@ui@(A; zjLY$H#W5lKT%&F3QHUb=dwb~`&IKld;8h{;52LZ3nzR*21S$%88%?}bYofDgMFI+`~5tuu^ zNQ1UEVJq6pP7%k4z-UnD=vXHzn2d{RR4RlQpY6LpIoN!&wKkaWcuImQyw<^+j=67; zA74i}EKyti(5;?15xq&>4=37CXejp|!@O^svBkVhMo5hvb<5{=u#^f-qr2&E<80U~ zG{G3W4p|kvLDXxEDy2Y1La6s*PysE!KY2LqMjIF=s$8TY5-25~$!O|yQ*r+azyh0z z-}93MOyFutbdkkv;9b{H#6E!DgD+3OSwNMk-9zP&hQVLKA;ap8N*8F7MAfFREcU9c zlj;oR0T%3{Pogad1vNuVK#fLWjvTgeC(6HC4mrRdoSA$MEMc+K^e6^8NW$BwCNNV6 zmz_Paf+#MAOz@0Ijl=O$Q&0b#9a@^?Fse)1td$3n`vdx2he+$lS~&|yrK3T%ROvfLY$tsc1udf^09>dcjZv;m~&P=-3{u7 z_|bo?$5ce+QW**qMfe(|a&Ka%3~P3kM*q8N!ifnjeC+LR&ukVkG8?o?b4{0{j)|T& z&Qb&CuK7qa%XAZCj%%eV;H-JBedI00w|LCyxC|2iN{t(Ut%=WT_pk z1H;bz8uWedmh>Ge-vi#rGNeK&6FhN-^-7tw)})Tr?Zm0-o#~uBU|pLiG)vaZqRMPu zoT@uYZYn;QQL&gW`$1}Qtx#1OqAIM3$dhTn@wKrt8bB&Ms=nN8V=qX7dMj^5<@;@$ zX9r4|{Ht*e3Pa5zP@m zN9-&xybTC<>*>xRF&V4QsyBFpyhW(WMuJANIulxtMY_PObZL>}F?BxVDT7}bullIS z7B08xVabBKGk32GTQur{TOXO(g|`_|hj}ueeDI&KyWWkZCDi}W1wMNf-kt3Ou;{$n zyydYeK;Zwz3DPIOjjKN`n7Ic)BDf%ByI<{N7!zYB zw2v&N1jw1y0sO<&^NzLh>Q8sWoT2~FEg7fd-d~CLY6I4OIZfTQD6pFpm+Hj9&uZn% z<#B_5P-yPNa`*`e-&T3u6dq(7A2@dNmM!D_)p_Li2HlEI6Q9<)Tvfduisp+&-@*3b zfbc)meG@3So`1hDi)(2fpwvSX^RyFemZ^vN@^@Hr7L#5bCjiuJKBei>Ka0pXX>7LQIS$OePSAt`#NH3Z0?4M z!;hIF>h~jt+^<9xQ@$%R!Wx6k8hWSNL;f=`yQ?uZ=crY0F5%D=H!G2zcgXN>ejqF~ zyM#8u39%EzT&nE;w5iu1XTpz_OPyqbW_M|6_3fI}_aD!P>>f42Pd~{B#%1ttoD0ML zK&$QuU(o*%n(O^q>kO_snF^@R{$$Pfy^DS#$L~TqjwzL<9vz{++|_U2VQVQR17I(( z4B+I+$H4Ul+ob=n=T235kAz!J@B6QIek$XRWkTDzhaQo^__bW6S|gwyb{X8!{Q=tDmJU&<7v@3nZG$P z#lP~RGLr@J-5tLhs?1o@|O&(XxzA6>NVmHb|`z+lFH7`$P(Nc+2 zSf7{j1KmaiO*kNI$q+sAYC-wv?HgIwQ}V>)7YwJG48yMS7TZm`TlEpw1)6CKQg)(N zcQRIy#|m}g1t~vJVC{`sB~lb##>+#DYaNnAO;`g!47oqeQXl;U_EuOosGI|Eg_vIb zagpXCt`h%ZQ7G~7)cCLCh2W{H+0*j@J8B*oMYFbisd;Xpy$_J#V}=@~>lOO4KLDqjWq{N3f?ngq~hR2MUF`FgZDtwyN`b2k8HxT+IpZdea&q*bw zbo=o{QcJwka5J0$y}_Tc+Rx-V(q3MDsYcXbvOpIJ+TEae&#NUTGm5!?#B_~@MPReX zZ>RSq0EJ z7z>?7IocZLKEMV_v49%IrXIYLgDmZt*6S%fMk|^buHOS*61@d}psjo@6F^Ht{oSin zGP9=LxlKp6GNdjH-}Ca!y(_R5YP_c26iOhq2)GKkaDF$I1%NCi!Mi&Y#^#?MX~8;6j3zI6~M=*fg|)g+EYUa@H)+ zhqYUY*nhCQPq|4&dimqAG8?;}+AYx%e>{;uTl|{QQ>l{POzL?($AZ{fud;zs?#lkS znxHiA)Ers)|B|JD<}GsWRT#2mU60kn{ra)?+`b-VPDNqD|71~8KU}7HQ`A-Zfr~2T z3NYZGJ*{nk@5C%x&Za(I8zq zk@>7(-(wGKBGG#C%cLYWN-*2YxM#c2D%GH^XX(!MNJu~m@Ta4o?_CeF8)HN;g^`lO zf`H8*2Urn*^+uK3wXl`r*n+P6P8Y!=i0TX-el`~4yTdq-Ef}pBU{Uq;v@4+ptG`$S zWkY8laZL3TxI;AJJ`n{>fvR9%ngOi)TLxPB#iPaTnB1$MR9f#sK$LX=-2AI%6=7yMz;y-kBLA&-zNSbG@r(K&d*M4VbC|HW9HfE zCGDGv07%rtw?Dv5{a<z+Aj!C^58Nr^j^pAf`ccWg2t^t^_9qTxx#;R3r-tpiKLcU?U z;X&xkjZEcDsECZ*hw0ca^=D}boxl6o3Rrke*ox^ffmXWQc-_&lU#0+BovNTh3B!Zl zQ7hd%6=YJFLBpA1!ymY<+&!HknFOr>S?*a}-X8&9_BkWk6#tjwmbeG`)rRIYyY9dVw)3}`=MoXm4Sq}<_Wd*s8oB^pitf*ARn4@EB@ zPb^SpltqbGqn2Az-OE_r%`~p0y~HYxzc6P^)AIF3^`mdjQoyks42uxWWB;EOgg!4D z73flJ@yMh8lbRQDQ1Y9wexs#<@SRwmyt~E9PdIfUKmmV!d4W$@6l{QJQA4xpkhZmC zTq?JL3I4R$(c|yAH+0gGG7Ioh$?=L$++yTzjA{iJUlDp@(D2|*A)e*gZs^uJit0{1 z(Ng+PN9D!gq(Vj?!B{Sl<331dCz|$svg&aH!lQxtn80+V@D)ajCSOr8 zu=H_47Cmq%-3bGO>A^#{3@w``o9!D6(`$d$1UEd`?ztne6eY>RM;-Y$LOzC4=Y#B2 zx)!(cc{Vv?d{55EM((?V**t->%SOhPK3XWGbqzKb-SH}~d=Xe;M0*)gjyeSNH zD2;mVY;KED0%r;22IE5frL=Fpv=v)o&-IphRVUb2TLy~l#S052oUl|!9z;-onA})QnUY&aG*Yf9_tM{WCTWD75 zZ+FWR%oV=&&7Zc7veoc=f+?IbPywzG(|Y_}cUqgii6M)BZ1rUE_38m2yPt?}K%CU| z4m@rMe=?SCRnuYUZni95{NscC$1s2e{N>e^=CQ7ss*x4I=0v}7wjEDT5<{bFVrD^n zTQuB`Vt0C9-t(P#eMX* z`r@~037CY{xT9K7W=ZE4s)O^0h}JWzrD?6d=JOav-RP*qqbt;+7Dfn5HdayU+brRq z%w#QqxfYS9$HL~u7f0U;5#krc-ag0f<1afK{r?C&z4{kO>h7II5tYE zgo40DuR)BG5($Ni3J54HNe3dZjgoFuLP>*?6qUh(W^@TMl+if45l|W?<%r*VaPfY= zkNOUki zKeNG}zMG*btMGa@MCfZH<7hu7Gv3{_$?iM?j=jG1;`PtpU9kAuuM0C-l+x40zm@}p ze1|%V-Jw+mw?&IU($l$OO1dz``6rCsP<75H_j1E~DdN4=EdG$EY0?kfdBjt_9T4pJ zW=79bF=$Yi41qvKPHZ%Ld9&xR*;g-b+BY7U&`B%U4+`p@a~Q=lGd!QEeY3e z>d?AfSH~yngp+^}#|ocd-D22o1=${N=1_Ixo&|=_L|9V9Cj?OfnMVE0cOerw?k+9h5X&K?%i>0o; z?0dz4J+rtsg%mK~M^^NCs8X2R3cGtEv|+Oio2 z{XA;-LmN|>P4Ti8-36(={L9`r$|7+u`rh1pjkqo+jF&zK@p7YNx2xZ)+=fW6=@>ic z>DCjC&Jyg`P8}`}Bw_sfiVOzyfhYexfOu~V4<6ya(=Fz)-1u+Bu$@d6W2=}949tzM zhWHfv`%8Ky%l)rCGGX^{VbGwhE53boo`7Ej6x9A#!WMlzY~eCl7}B8iske`j#G>Z- zA#FpWq7N5uki^xx8zG=@t8K}pJYqTL7lTUh7b65CWcOhCUp3Kuef8AZddgp~gC8kv zXV&r2=oXg_eM>oF*j|L=NltiJGIoeh@JlhQ5z%^AozdjI7qaiIVUaUC?4(^5H;{_U zShz|luw|b6^#nBkT?1BWuIBV$Mqd`8(0k~olc<0HPR^x|=?0CxzZlCHIP||VULdK* z$R`x2L5d$HL8O8+^ZhKYh>6&8V?p3KLrxTnI|zxFR~h}z^nCceK+5ZCz*N=<{I6u4 z5F7ow8)H{n6B8qcCLjwChZ|oyy$G|_5*SN&&=Pa%_4BG1=kF4oyqtcJVf6oXaCa9` zb5%>!thCm!T+HIP2DZ628Wh~1XJxrqshi-9egS7* z=OFoNOSbbbsw}W1F|;gaFa7iHWJ*OHqNy+VE^}duUk9f8pwP^k^=;t$py^tpN4~fy z8{-Aylxq4r8;&O%^Ex8w&uv7!+{Sl9pS`-w-Y}hC-rp)%Z#NPb(K~LFu_9Lal)79H zf3K@#mApz~9hKx>2}_5y8B`vw1U5xOO9S)9)?JP}C2KLN9V0Ef@xtyvOv>TBA76a7 z!mh3eu^8AD(JsvfTY zE9Rl8N2M-$=bPvRiL9{6-M#R`QXdhI*Vpecisz(GOm+A{SDZjj_d!>ikx_`1E_|Hr z2}s!VhD?3hbndR=83Q@c&7Ijn+cq}D)FH!!!ytAV=csKTX>6@?O zW`CF3g_Q`wSpp7*YRZ>?jZK;QdGh(0GjN3X6KmjMyiyw<<-(_~|p_l$pDo%Yk(8t$gf8V?lFH$RlF30kwxDw8{b?pQFmYuq#XqNZns3 z=~}hYp~|cR&x^$5@ZPqr1m_t&l!~1Sb9II_shew7Q>DD`3I}cp`^3PI5e;$)H2_QV z_F3xlsO!B^mbl@`#zwwOgOh`ele#!B6*VlZESqmCDNgg8vx(sj)kBaC@T*K- z?Z%>j#%mi}rwO0E+=b`rkP(s( zB3bav<8v_LoqUP8>=cerKo=Z!_ld7xV=MfDcmz#*a=S~K$d4ym9Vu{xT;b(xItZg| z7)npR#A!?GvYCi{d>QHp>2l#FSe=L}1i+?7gK<|n*YzPe=u^tO`_ka~&+Nr!!R{STg`;3XTcN$>#)zZ;9!MsL7ZIOEpnA zc&xuBkc=qjvB+z+B7+cjCxDXUr}rtTF0UEEM`3r1BE%jD7q;rn>gw~?U`C;cClDVX zf}PV1CCiVqW!}q0=^`|s?a#UMIiY|`R5C;vc5$B)pMQMii>`i?6i|_SJA7XLv%uXQ0BW=EuO7 z`wmzuE-`e9k!e*fimZ(zk!Npvq~4j-M&2-|2=y#31D?=E79v>|a<(eelbN78oQoMPQQ<(4#*pLVRZ76NkL=6&B7pRZ12~=-OSSqg=bLt44iF2<{OjKY zT+R@vMX{ry59K0z?xn}5$H$&AX*o?;q~?o=ai?XU2MU1-@nf=sZ7vY=8+_#Sm$g+k z9YFUgdOs*z2iK2N4!7|CPRkb6Bc)LJ)D1kHsXb<{%nm{4WvFJi9Bt}D#{+wpaH?L_ zuJ;-8!TD#k9WpM3tdNK(&vn})cci5Qt=G0|jOTCFq{zl4&2otb*qEo<)~qZW)4 z7PAu0*^|&ey83WM13oAPwH{wCkp-KsB;-w=fs|GY1ZxYk1)0=)1verl8UB{I zS0Q;Fn??s1n(^noAJZ#tPp|hB4#7$AV5#er-`A!mSUMlC;_jp8i%*C&rQu&rwsq%X zEKbl2f`NnUxoTAf`Em`u{T~VQ(c@z?{BSMN)gm1%DyTH|whppVVs#bTn0;9{idH2H zGVVbE#fN}~Kd-&^we~KR+}2lc2NofWht@&dnk*1Cns>y4xM=sFz270S4};1|(Dv=x zwnD4C#x8(u)w{f}&0jM$?gHmWeu(6YJ&=@;Rn~0STVnPBDk@~Sb*96`C$x_KH6b7C zpAij019;fI8>KPuP)l3$D1H#*ddm@);%IUyS6WuS_Cfurr=y&+p$HoS+)oOdc9>w_ z$Tt}#GP_1E69kG4f_oha03=?<3so8M4|jeh%)&c_lQz=HRb0%wx5zpB>o{RZ1fwX{zZjEgBPmJn_iVK0^2`8(c7f zEC{9A&(&(rHM=_EQzXr;q=HGZ@F}0(P3a(C?KvJGMD+N3UswaB$O#tK-cyiroTynCt<%rr|C(UctCd*7W8WH-iL;L@^bs(NSxM zwhgXWd$h1x`Y(1#>^G{mBxE-EU9lOmly%G_Wr>w;mcR-yaNnh4dK(Qo2AACC4b>x5 zNs2XS&X@gA2Yh%^MPq*40eKp zwhl4+T(#N>6=vZ4-lasqbhO3V3Wsb-7<@vVL9+)~uq?DUKhX1vSay>9M^23sS}Y8; zyY#OJ*Szq0lEGzR5}Z3Z6|xmpx%CrD&zk(wY|e~^7vBK zsUJwhD!%KaG1>QW07whQ{j2p%QI>FMF6N6iO(rm6bkNo!K2~Vf9jNTo)a_f*kxyKs znP=3slidi&&R>d=FVbwj@EPZl2fYOtj^EoqBb`qtWrES>-p1MpDY4lQAg}x%n@WV| zUP4Qo9w?ofWa#p4ZE@E|F*#n^4>AFFjxpe$sp*69g1}9Re}r}M;R~Qn;b_;Ivm2ZN zk2^+k89Z0todv^iGCnEdqd>|zd*2xXz8Se2`xhhd0si))!=GW?Z2$ESfUgwa>`&iR zB)Ln*b=m_E_UV1$>iNhHi^!R27+Tj!D(F$zy723NZR6q(iH_))RpCIcv5OJ_ShVaT zRL!&gQzg@Kwkwl&s26}0{ef8PX;l!|ILZ#B6YpTmVk$5kr_N`@5ND(PH^NI6PCem8 zSmd6pHDUpJ=4#~r-~n0iLPepg)~8(L*;-3F@KD}9s~4|C9?8>VgB}MeNsfQg2Jo0; z$=U7kRvR~&nC$;>$(m4i-}vBtk#t>Q0%@e%GNhJ?>D?be3{$$u>57>(Vsxb1{}FzU zF;x%*O<_yvC<4^`KN-JWV1>B(NfaRZseK-{<>0G(~h{wcvJ zG{lyA+aW3^0bZ3H-G4-4tV$PlvkpKr{g?a9;4S7!YOI4y9nD$>Nsu7gpWe49tKLMC;AF)47)Z{lF0`v-D=n_zPu95qXUV6v1?F7Vp zfGcP&Ko-;X$(TEx7Q17dIFrO!{U6C^;+Tf> zcZnPjMgCv@Sm=1*sYR}-HNcORW%p+-aSEk$`3jWLF>4MX&J*Fglj8NNIDKe8w|SPFu##6#~ec=t!j zgA8L2R(z{KH$$_=1G9m*?)6ImZy2D&)_n7gI?Y%rbYHv{-*xq66`kws-__{<1mn>; z7Ib=a%Lx}oB)y+=92qMrf(W3?`cCDZss%<#*cV?9F3Wq<-_j2ki{EBAd4B}stAs#+ z5>Ml)|MN;mhm4~iiwcd7TLHVTxb|u8Sg=bY*L@ld$O;3f_8-o*bWB#uWrGXpIO z|DlG5Y#b{v&VM2eEc8Dc#4-6g0@??}H6@z+8k~C4ksx?48B~co~;yACNHkI^x#46~rO4^dZ>`Fga)LO$P;7fX553!wV#{lvqKvsk4J zWZgMnM+wc*=6CN%cbVj|R<_N&DxBIJ8^^Q98U^+$AwGM$ZOp56c_D&aOuz6pp z-~GI4fk4~hVx%DM^getrUa`asvFxAK>rkD!qn zb?Z5>EkAT`a*B0%k|t5JYO(G3;)a&hdsYOCqPZW3t8hm~oC}3zT^EiLo$c1QkW0%> zIe^jm*9rQexI}3(49k&NF|`#lhO`bg8QGOG34@qauQtEzl+U=87CTM>g>Cf)U$_7` z0r&Uj=mVUjZWtkW5lnI$Iih~gn%CS;`|*LA(@tMsc0A4|y>E2R3d-$jWd+Q`p0_jd zCNJ-)sC?`k8Z;gkrM96Y@e^qEN#O}c1ySUMBwik=F{Ira{b=S-CDW3*KB9K~#xnr* zD&AA45v^(8o4s&_Ozv!@RgbPx$xN$}H_|D&}JgHB7o zk_ueoPMJ`mjhz6uf`3n}9Sb65jqL35mH4vzdXikT&*-BEM6=QN9^xa9Bu^{&Jd&FJ zem4%Vqs3$4sXuw)mlwyXb-8HrkMyZG0EpQ0xdM(kwMrfsAN%^dq<$PXHSCd+HSS&4 ziWWM11jot_BFX~6=KaMv{F12;PBj^)TFj}8p; zCp06rUOZ$#H)Kz{F8}luDOoaZcvGEJvA|2<=NBcDiH3=|$mE=hkf;r(W=E*XLhuSx z!&;|l{^G$bc;!zXL)*H8BOT<_XA1ehhPozOyvtv$0d|6WS3d)?8|;ge)_jr|J1P^2 zdPyS&Q(@zlmS0d;2v@DlvfAy)We@&BpFHm!;LKD*eR?N?rl+pMk!1+jVy?^iie}>>hTe=6cI2X31#@B+q|# z?5s@ukpDA*vLVlY0{?7O?#R zAi>;WTdV0#e-&HJ57V71*1DbBCTYmYw1O8|5!?-IA>GIm>3V%0rMz^_ni`g6{v zg~<*N?c-0SXZpuqfXK<5*(Zbp3zz!)hE_0xYE@SrYvWGKQ26oy3jLmwcD1PV-j3z{sV#X7j!Tdwr)2n1QRZW%FN%{c#APc43>{u(=@!R>A@|f1doKU)4p%uo+HP@+1 z*8x+PYdbW=&ZMdqwdg#OluA=U(_~xT7#$nYbf=!wOxAS$aLBtRv|4!H0#z3-mZ3S;29aF|R}^ zzciMb4D8@9F8&L8^gbsm7ovedKR&g}PVt5}* zl%UCty&5qnI3Nn87tD#QB;xo&B9QOr-Tl#Q;K7;Z#L|w{aece*WebbEp44VCi4M{p6auuIu^j@ch<71k$EIu~H*&DhDDN#8z?@h-kb z?0dYd@3x41LLQdsTTd00#e!-FkC3ePMiR4b676$0KTGx}mS)}lT`L%HY_%o}R{Z|H zON^SD+p#Wk_|AP8^C$mrfakXBNjS<073?TM09ujRMnC4|{(L+K?K~cdF~fS3&q4X> z6q0WNrFAehFUCrkTJo2kcvz~1oJ7-l(DEkt} z0~PO8@y*SGYVji_Y#QO|owF`)n`ZNBARFf=b1a=_MzsbbsU<_dDdlC)MWHk@ywc1! zyz}CB&$k=W!JHv(*hd9mSEO+*B#&?S?7fHKe51Mb#|G>QQOPAvo4Dy*Q&z+}zH0d< z0LfjCW3ZW!_Iq+6KRSH;m#vNg`lCEaXYTaE&85NL zw*2M%$#9gTN?-Q!phuEuhiQpuQd(M=<9SYAs?3eAfx;C&`Un zFOm-Gd3uO93;mMy+b&b6mklH?(=uk2f}PSZ14b23l%KmkzNG!~#0ahPIM;CZv(3ih zr4Y~7Mq>dDxUq4rI?ro%s(+K~T3yHmUV!Qx3=cDa&>nEa5z&1d0m^>wky#{RE~lXs zan0g#wky#I*WUK+CnCP36W2JM^ysX-Hm-sQ=F)N%!%w!gjrkGN?E64^(0@M|)X{oR>1s3RmE z=hl-1uE}tNfuNW9M+s-HJH?cVpbT#*8c#}apxLHOt5Um)Uo0)Qj`=jG&WH*Wy`O^s%x`jxF(9T*_? zA2$U()3?eos2)YNw1hjoMS3S^V3A%Xtq?t zI~va=5`D@dN8j)PH6AB+tNKyGpbS^c4niv;OovuTeSF)Q6D=rY$nzQBpNkL9`W=Pd zx#i&Eqt0aCq2ga$9%Ih7@Ky-8%P;mx@I(!-q?z6`wF-ZsRr;1EFQ7-fj9gO<#CLsB zxWaEsDUcJ0%|yF7Oh_76=i;1BVvi$KFLIdF%M=?lgNse9oMGb}$V`ln%CNm+QHu*u zl>A{$`hg3LA=PSV)Z#FIiZ=C6I!p$5y%aA904AYi>VW>4RwOw z`Z;j%IIUHG^~A`FQfptT3dgWpPw;)?*6LH=68JB|E)j+nC~-MhA>zVt^{@v})LWEd zgqbCH4x!152hA!x?pGXLPcl)%aPxh|%~R&rtzH?37idurI6LWcKQ^+f4W)Uy%}{l5 zsL#_1Dz0uW+2!s%Nl)HtnBo*2Vt7z;S|GB5-aWPXWfmokwe2PvDe)6uv&G8l`6TWr zS>UeZx~U4AlE%wtZdsXs!P;tl%EOC;=IQ7Bv}yU#hC{Y0&*cWgp*Qd+9#0fYM+g(+ zvjWdF-mt)96K^NICcgfB(8H_cj=|tKtf7-#g)}t%Wt}|VRX+UqHZXN*75}xZwaX@q zYC*~_?#1lD@U5w89OZ*8`3GvO$IH?PZXPI_v{*wu>bA-J*VquT#DK;Z7M>>DClZS1 z)LW6?vnyVfNoTg3kUUCpNKuYgF_gb1g*jMl^+)R+MOpi#z$D6<5CU3gK92QIZ5!x_e&}4DehU7Pq(Pi<8ZXoa)Sy=2fg}n~QZM zNtTgMCXy~x7EL?lY?bDAfjs7{&tAV|K7!>;LF)R5JCi?L<<$*EplL~_D`n;454N{s z&5w{d@sBbF+u9%?N^w$&b5#r;*HTj=Gq~&rp30#qCDVjzwa{_AiIkH(bL1p zD+gpsCm87pN7rE=8c?NJ)bieJgY-Ui>FcGlX%DtRR%IoM6j}r=uXSfntK!uS^ESJY zEzp-g?p#8rJi7nMWgS+1hmeqaT0T)e&OJ@lbX<#WLjC!BLDHUXA?xjL`8l&Re5A*P zgqD<4eAMNp;b8-_TaY)Wu37d~p(~nQ;AS%P7Wd!Fa;{M8bBAD-k8ST%*TW_5dni_! zkRAQHon=s%PYJ56L=yhTq-bC6vb&5#P>)%c6#G<)`V(O_)n@<0JXR)I;O^zc593TF zP8pID?oFQ6uk01^&LBcuPjBAl3q)|k-VyLbRbHKa^tiJo(t%|l%=o_BC? z*nVP!9zj(t3BQZ(yFjUdG;tgkZqbF(rmjU&`f{=S(cOYYp7C~UlHDD8LO=scKTHxt8VdV=2q^-XJLj#q#q*t92^yqXK&AOHS z<{W2j!&bxMVDT`<>oTz7mwPMT@)N4s*`_a2Vdg=c>K-f85RaYhErx9W4Xhbuofa9A zq5ea#+^cHRX(JdlbKZqJ-$TpV^OL88^R-$Hcsl0RbW1^rbZ=?g0+FvcU5UsoV0`L zx9`KTIr7#7@{X@@p~C@3y51dVyeBL z!+~3V)pNk6hmixj!hU)iU^&kLB8QM_;CB{{5weQc54>5~!uo-*j0|%pu^%z5#v$28 zQ_VaR=%5gb)d>@BJtItNEuxppwK0<>uZK>-ck1vb7KKXnfa}2(3nJfS1H&3$8e;VN zeX6Pa7&CickBoLvFx@z#xmAcpZx>}nn|>K%vzr-(`(>EO8>eGvE~di4T%8q%N25!% zg@JCE8tKoFz}(u+(uvUwsbD;Qg*6Om`4>oE8*-C~i$HtU@oW&s%&4Bk4Y8l&@(o2y zB_jN(Tu zS>uA|xar)qX|j72L7|Xr^(4h>$ZI=BCn2Yr`kZ@eP*YLVzw%U(F&1b==wxjQ>hjGb zlWM_P-5MXDbanm+(|XU&#-QjY>0?wbBc1vmR)s&>0$i`8DT%9i*bozdgFLcj0$smo zHX}2Z4DZzc4zM(mXa>O`{9VF#U^)Cf%nq*Va8Fgjrb`@)Hnv3|{urn$?eNIgYo{!| z+Kv+GNe?xYFqUM@x#fCZ^Si)(BEWiqHE+F|0cg;`sGHU_uMh8R4KMZ&Z_5XcN<#eC zM~{KvHO(GLZPd3<2)UI#IM>RbL}KcGQ`jd%>OId^gDX?yTlw9R zH_E!Zz5Tbi`Z*u+#jz0ku^nTwwyMAG-HTz@HyFS5Sv1g9QD3!tz{vH><8T-ii z8f|||M52#;XbcNY!&E6Lf7fB2Jdm$c0*N3<%5WfbHMR4S-mh(6m+W4!8LyP(h@!2m zv`Dk}_6^AOLAu+&+QjsdW;<b%o>$(~^eF;o2O&0Z681DfSEzejKeIGeePTNX51jq6<-c;Ifp~7)R0+iV2g98l5St;3KSv68I_U| z?B-8>{}Vfl96Ow~ZBJd@-FX4u6M(q&CgofG)UQ*Sv2U-B){Lbk%zs%I^@uUQeezu> z)i%G|@N|cdiD*KVh3jVi$(daLe%^2#WCL6gPC1WzFCr>YtWOyNorrGaPiQpG_xfb1 zH}#Pd?mIfMxbeGlbqx_kXi%8HO)ncO#E;~^!Atv7OGp*N!XIr*Yi75&d0&NMb6#SJ zko(#(`4a~@JaHJ$T1-`ZNG?`QktXvDaKpx3L!wE>a%9P8@C}P6mxFWFw~u8DwDIv5 zmo16*iUsK3<3{(rd|bBUP&$?LQ1y{zJGIunxDz-atwwiO$+154x#Ce+^>4^JaIKem zxO9al?UK*V)>?O!_{i1em!pI?iP`g=k7HC+RBvaDUQv_kO2gf{B96{WsMD1GY}%z0 zt?)><0hX5I`QYkzYQ?4xcZt(T_BpWihsKU9Haej{|M?keH*7ek%Qfn-pX0To=uzoQa&bmhssCuxHZ}O6P0!%2{LnkSavZeC z;a900fh3Q&A#IIw4ZIhkKObEGh2gLm^cSi1!M2DGnoddHUY~64|LGnM+$zpI?7P-{ zwi_t0?1jIHG=}z%n(wTbYcLB}_-x29EdJ&ut(8HY({4Ix1e!!T`#k~velvf^vlaNb zH~jp8%X1q~U3y;!MOYmekN)^JD!JuNkUKfI-SOVaMU(Q;={rg&mBSF2T9!aJ&__Op z&5Sm;zd!_IGq8uk+Q3^qEHK@ukeS|knQ-8G%XoZ0gt&T@`vyn@d3m^%tl7ASqq?}h$k=KkWv(0w7&Ej)ge+&IZWyJnHYq65S%r`?S>XZ)%UI56LLZB<#lncehC zU}tQDvba1!u7L!hyL!EUGZ<sboj}oe4=1ypwA;uh_=toQX#$_b2t5x%vJKM8~tPHhvy+rV^8z;-V9+k~; zwo|Ef`lr8s9{$Ba6%=CU29@>GDkV<+HZQ93fy+-aDYBJc!XB;D(?DJFcN)} zc*b)5w}ao=F?(JM=286}dc$If+Gh3DY)0>CETe17zC&ndyM2}X(OEB z-UB^>5bL>R`n~TtW&Sl|zXOy$cVF|8HXe7@?k&K*B{gZql%_KH- zMn_{rg#EG>b@1$MY&=$;7(Yc_W}!&PM%uxp&4rxKW~1bgx)jOPd8Z%WGxBv7Rv%D> zRGCs=Doqdc3PeRJk0%k16E0l+#h>T56lNY+a(#1hy|Yy zP&mn}N_yP+BYEtH%v0*8+Zr%qcZYTHNH!fyDN$X1_8^Ee1u_&2Sy+%a<)#x>3DJC0 zY`rD9HVJ(L!H}ry9f5N7c|4u+py~(vy#UylINXvfDYE0~kwrwWV0c-R!1O^#cK+!%)R>wVh4p zb>JpTk|dkQ(`=qHCHEJfKyTB?>l^VGhBMQ}?^1yc8w*$UE;P<0u12wGKs*Sjs)U3{ zw+1o{atGl-Sg9KOl~N>YIYF6XW78=&Ex(D+yK9Dr4pV;Tup@Jw`~_e4#n6Iq6JomK z84dNGhHl$wODNs~Lh7(%?>Um2&?Fn-Y!-RFR2%QCkw9y5Aa1Er=8(T>ioqY$pG)g@ zd-s$}nrFy@4)xlVg-QqdLcwx{hRs4SK6$p=5hP^i?`Pw_0@=2kheMZov-q|H!c)gL z$#FM{701!6ToQ@7`C1xFPbAks$IcD1)?{RM-lML!SEf;>H)#SYH-~J`))rW|*3Ky8 zWK{0Z)OIc~TGw8+~iLFYbu)$!-(W;xFfh&V=kq zjo5yQaQ(7#8nbbb+c-q>AxW`{dQMIr)!e{6o{^Dv?s~KP>?N04#0uT~T-Q)Bvo8oc z-E@|4D;wH_>uV1sf99-HwPG2zO4SiC5S{9M-9gCCxrTJDo{7yH+B9CE_pP`zfbGEb zv@#ri*h5aOl`NN-Ym{Y#@CTdTj#-|o|6;`trD7rBwsQB=eWYt+(wQ|>8v0hr27y2e zq^e=RUyJ#q!Vk*>bE}g822^eTcBr+7do41=Vc37ofw%NL0H0SFwZVZ322l8K#Q7hW zG^=114qRlU5C+|cfrgUXrZPS&@6rf<@;1`h$)&xgP+y-yg_wrBo2|6O>io>@?1D%a+h}AkuBHSpL zu*}(&_7mS8E>|TuY^|CN!F)3fcC6!lZ#-n~KF~Gp)lG$4II7vF)C>O^sre zF(h+L6haYwwzhGy_2W<4&%lh}8IXqY$~NY%ksyD*2Kg;HGRKOO!0rW+3{~UAxqe=* zVDh=u^$Z?$ss_c{Kj$_|5cgRbA2eMbtlkpR?EzM=%&14C1jb342k+9LHARKxCNqoT z*w@23EjHx|LValj<$!`S3aRqmuj}*k7r{fJkjT_J1Iq(oR_EuUR!F?!(HnfaaH|VY zfpwIL`;wqn+IyKKl6a%2hJLweQc?F+@fKJFeBfLC#hgo{WtIl7@~004!l9J49U?`8D3qw&6k6pv-*MeeQ@$iC}ji^ z-muyrk_|qVgN-O(F1c1Ar`+ER(Oc;VrYVPL@F4N;PvQqRzhPdY0(02A??ZG}RD+dF zzx_@!8mF=K1{LLaS5^6H6Lb-@_57b`*(hTcq^knBoL@mv&3y>7%wl23flNmkXB;7@ zh%lw5`~9ANT8&gFo_8x}BnI@GVIm(F7pm#Si@?o*VaaC!%lMj+1k`WrHuo3U-d@=8 z^Qr_K1ovTI>uU%93S>Jc!(sE7bS6w(|1bngpwG6v%O4fR+P;a zr@uKTpZYcp(&}NiYJL*F%KLC|gj$G0RW=@iY`9uej&^;@x)+jVAvoFB{E2`v5v&L; z$LSF;xBAY>H+J3>VOc3m#EoSSRN1@;jR?ip`w}1OLRL0@FIe`5$3&%STz7T;)<>6A z$bfc&o3h=rZerU1hRWGP#v`kTBkk*;S88F>0%lVOaMFLrbZqDDz?spQrrF^9RgFkA zyGum3^zaaPU~2VsVDcnUxdJlVSo<(y96OUZ|0DPk5ugM$Wx4FYyEc7u)AQjgWA&89 zFmoToX5gzOG?Re&6T5(bqaH0G!cqq9Zwo?*HmeRxp-gb?<|tEh_^R48e1&@4UaJpX4%nxf*IR&b47F#zpQPRKEMvrewi)Ni~ z*T*KDNt!_f=99a(CQf$i^A|J?o|_isuUnRa^cs*ZDnkM@JA^+%WFL|Ea;A&2WF?)F z@QViCh)>a#QMXP*xrh1&0wGP(gP$h2(p0g1P-R^Ta_;zn2aX$mb@7^4u;&a{sBY@T zTl4_Nt9pAzt+w2KVcs=;zmHWJ!EgX}e(CRk#SIrb_0@vh7lwj>43n4mV&S0uICb?R zE8X*bJje0T?;{WuEM`{_RwmPMdBP$bi{c6S2^6+q5wKiT>$8V>nA#H)*RUZn69pxQ zG}kjE?j@WcPCK>@v{6r-cCA(-sz9y*+(24=M-U@`RNWZV}=YEU3c7dqG4#;jGOS;a1tEep762 z()GfFPM3pnCoiLQ;WLzzEorz-eN#_FRxZRhqIZKwV^dC;so_^A%-A121R(xgzj+`~ z$GO|TO7~rl+F4&?-~x*&kXBTd*v08-4uK1bk~2q3=@%0utwe?K`|Iq`c;mLdb@&e%{VYN$m>DtFi3 zTX70QHViq)VPm$9t`E02PXuocai!s2s`tSdlt^FoH0-KkM#%MNV=eO+p?5TXQvDR= zA0jiA7rz<5cCTo7Z2Zx26nVwmt7xz$wr}3tQ z7m!)lW;j2azdH3f9FqYxQQTFNWrpoo$?+EeoQ4?-daK&bxgo$`X5`#S=tB}ym*V&a zlvP)+N=3*MAB|J{mL`rgbBIKzWfG60`oMCq=C?S}K!~^&{1{>E@jy>WA;0;QaE_w+ zgMwOoqn@0`El+2|gv1X@l<_&N6j)i@yBqC+e|BTTcMhUXa;ej%I9#5=W{)Wald;rC zIg=ag255hR6P})B>vm(QR6MbwZ!JwB+grHK)moUi1wZa)Q;Z4DP3W)X98;3DT!};! znp1U7>YYr_XG0q@qrHS&--%jX%a~rLazf?Yd1^&>p60N7l3GYfgc38R9&!0p;C5LR zZ=Rv5ElrQ@P0zd?N&gM>dY#a=_t|?u`t35~%pxETgPHqs`_U4IxpYopqiY8NA7XLz zS#?{`_iR(??AsF88E-j5KeiTj z9MDDp zB^2U|@7ndIG!J{g=Ot6fo3@XL6F>Z{-}idRpqi7X==6`0A^N=RTRSCldWGR3Xk)DKIl(&B7C`?Smob0kxdxUu!0^H%Kyug$S^9&skY zA^SD)3a=GW#-G^~mBgY3&f4N(zth`5&>fh{xOKi8Xn2p?^{6iYoa-+hRjA(3^;jCK zw-^TG10WJDuF`Q_@WaY1H*oeJcYOyNV zAWzs_$Bp6# zSu=W+4Wp^Iv9&Xm3ziGxAEm|8^6t_f=UWNWn)-4jp|9SR@UZJRe?grvOD7&jR}1Bv z&(%QAb{TOXNwMd}`|_4sA9$_dzG&1_-$4n-(Sn9N$e1U@H*x1p9%f8i=JNvJp&S5& z2>PE0&o-tuqtv#zwgESSk)Pg1bpzev9E=?z0s4Im_sVaDU~c8Vah=~d&u??7fe}g& zOoZCp3`Ys}?@%*6%HO{!XRfp*eNcYyT669lDkx(zWJ2bN6SG?VnGn`*9)siCiXk7S zZ$Qt~!8E>zmRFC@TpNH?*TD-l(=F)B@}NX4d2VI>+7Yfqp&ORln)oaIFEc`oXm^{z zTbBrVrKq!g__{l^d|xE%=(j`NweZB%;z=z{6sG-({AMXCh&b60vj!x)rp^8P78>|- zF|~NJ1`$~~alwX)&m-usN zHi{V6r<2}_hg}+T`(Ck#$Y)H(&rO-LoA(cweC&DV)$R>UR;$D6gRt)}*N9$>zHIo>KVU|JUC2MkRT+aoXArM@ZR8hNfk-R`XwF zY3RnHBv&@EmVeMv5lAg`O`@<`C^g~PBGXe6hHU6e_X?(hxO`uF)AmS~E?qejDcvE5 zysxk1AEs&i>3zWZzO!#T=ef^$K5#$h`M|~f``y3icU{+w467LJf)qE34?qP`EmQUd ztNVJY6J`G=s2K9Fzr;E1W)c9YiH~2nGP6v#`fQmQA5c#9(45d~m8x9~9 zhB#wEi7K$RIpAOvUlc`voGJFfu92c%+tM3XcGT#HG6=*_iT?!9e4d{qm3YaT>X%n3 zBe^KjnC z1@Vi?g5Kn$=j%JmX5ODzG1zj3R#KL%RI}Ki;qgIA^6c}hiplG3o2JIHZH5ng4NqTqJgZ%nn6AjqdZr^-n!6Y&2M7Y6Q z{__nVe=@HiHU@Mwy!|65X!hm$^wQi2Z0M1Vn_57O0@#yo$sGH2do7B*%EN{K8@L!g_ z{W8eBpaqFq48tIpn!wE6Bc}!Cc1TCem}7fHnBII2R~wZlzGFQ!S%Won`-!>QutIS} zNqdf!+ILYY3{J&7EN{T7$`HB`oC}EyVO(>v=Uo zs;Ogh_!AhrFPKR8NUC*g>-^rx3Sbz#Kwx{a0VoIR_rE7={jG0F!@jqg=KwRCNQ)zT z2BPQ|b9N&Jz$EVha#2HiV_Q8XIP0B%Y0z|CdFV$KmeT$-&T8niiQaJ&Izg3tW;5?; zDiSL3<%dFo1Ipj?PCkE@KJT;&3-eG* z&fu+`Cudf*&ni6b$~YI9M&+q7SbZ5SpC1zO#n?+k9vUIFjZ5!ILa+@;TA~$b*X|GEpR0woooaM>e zim=k)&cIDrfS>eWrOy+oVh*AHw_{NcyBL#O4H1B`6!($heZXQi)Z9-<=pJe{~Eu{y0$<#gD z{4^7KFYG6g9DgLZC7g49^bbhFl)HrgtI>NXeeqCn=re!IVmpxgmh5$Fr<0`RLY^4{ zvFYw_r#-bIsLTpcvD7`|n&rnrKi;bWPcH@njtRUVV353K1sDx58elZQXn-OBQ^B94 zg2N5ZAfbj8xc(ym4jU{mUCRbm*NfnRN#swG2uvI>alpg@TNQ4)fLZfz$C_1K3skU& zKxCG+&-!z5yAX&t_tF0DFVe9V@~~eGczQ7qa7^F@0fXc`Pi8FosH3%=l&1QLi)A< literal 0 HcmV?d00001 diff --git a/test/golden/goldens/surface_rotate_comet.png b/test/golden/goldens/surface_rotate_comet.png new file mode 100644 index 0000000000000000000000000000000000000000..237813cf322ee780506b2785a40d3b76f03cbf70 GIT binary patch literal 66326 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 s4vyW9J2L`)QRuI>_^U1cztN-C8U)wkMQ2+n{ literal 0 HcmV?d00001 diff --git a/test/golden/goldens/surface_rotate_contour_star.png b/test/golden/goldens/surface_rotate_contour_star.png new file mode 100644 index 0000000000000000000000000000000000000000..a53fcf1d9460a887e5e0c1706513f75915034879 GIT binary patch literal 35114 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 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/surface_rotate_glowspread2.png b/test/golden/goldens/surface_rotate_glowspread2.png new file mode 100644 index 0000000000000000000000000000000000000000..fa13810e14c7dbb4dd1dd72659b1342b2541b54b GIT binary patch literal 63169 zcmeFZS5%W(7dIYtR1^>!Rmz~F4jrWT5mXdGq$G4AARxVlA|!E?qEsD3r4J%42?@QE zAP6We3M7;O5fCDT&_jTbiCY%k88kJ44>V9 zU%WWL`{Vl8EBF5UhHFRUfBgH=$47^MT%Q!J_;Cq1e@N)Z^&j`!4*s})`t!qoEXB`d z`57($#=_4-^fR~oNDDtx?oY7zHx_HE<@rz7;@?pCX)OG|YAiTyE!W>l{Wc&F?dksLz!BbioJY~k9~4Br7UC8UYqtyB zH~f4k!Fc`9WSsGIx}VEauLYxbk?(FU|25GG?=vfr3bO@z0zr@qDyoxDSTX0ry_#g@ zROOIIoDPEb{`xhZWF>+k;&!=rJTIHE%3@z>p2h- z$ie68Mx4;U4rl^? zg3`@0+)6(#VJD(K9pY$@q2+XZ)_R3=UAmTMm5vCdJPRpq`^DbJ&Y_{9 z8WUXrVEaLCPEPDm0m)4ccU|KNrj>R8*u*8c6LfpYn#aiQ=)#IDv$c#8Au&5)qqV3J zS20zernfZck>QqXFU34u(KI_-+5AV}x2%SqgKEZ9@4F?qGII{}Ad+v=tX;2?8aN!m zC;d)j#z*W1VoUS5bVflb;nHWI{mQNHD1o>lRDFnlPuq~zFE7i@bEZOfTIxn3jNgUi zOuJM?=fzgXYj-IdOr=N}!*p5I=(r-ck3sTE`IZ1MGy+ADb{jYR6g*xq<+D`NHggon(VtO=y78)InJ$Hg@H|=6-A{EDJoF<2Qzm-!#5nj1IAsOp~3@fm+we$oX~F zDEvu?dpB6~mmR~K05n^ah4UXSF2?`;hEY67*p}uiK%%UGJyW?_dT9&Q=XAb5w(Ioh z)KV3!z2U3rQa{74iV~zZ$?Xmx(hkIKVHYpBo?7<$s+l;U) zv&w^aS>E68N6nQmoPELhK2W(2!ODJR`92U#rZ>?Ds5+FjsR4)I&hJ{WY~8YHCGYA{ zT*!JK)OBBv^N{?NC~!r$t*NlU8^UPWquTc6?YRWmiD$?Phw}DTLT*q5g+m+x<(3tXR~Ev$fn zQc~*J*@=o|EIT)>)mK(uhm?V%P?PI&Imx1Y8mGJXR}C5lSr#k&|)&bsEn*rN3weSwX4PAa!ELh>W99g;vbRpB5pMOE78n|%A z!xLR)?yKwKi^2;Tu4N@6Nr^75G0fQx`#I$FwYkIni*3-5hlYAhj9>Mdq78HMCitlk zo?vyGQB!XT7>l;jL1xb?wPUa>C{&s|{|o2$=Wjwww=g&cj#;}7$$n3NC^3bFo||fo z7FJYJ61ZXr&U-VihH ztL#GY{<}$3zP{e zk^_u(`19P0^W|eq6vN^w(BTvA&GU7!6$W7~0t+PqXNtUgJWj7>zIutM>s9A(KDixzRC5FuS`BWX7D2k}18U05gkm_omJDWO>m zT!BwdVg{&cHK%SAG!^NNd$qnsnB8f&OWz3I-0G5cetknK38V7vWgXZ=0JT-i2~M;( z9HWonog>&w->z=YyuUpCr8Oaa4bFMJ(vI6<;`re)0lr26fPulj7Z+o*pUZYPy|?!^ z@Ruq3JLZCeNf4>@tMf+y^%tVhNe=CMU51V28^uME_A6gDYXiJsYg z1w-%JE765};pX@h9OhlnE6?UoX1(*ql96_XscpLCMqLt4y!*?TR*VUglSHZM#)KO7A<0KrN>x+ z|CCWU8hMG_SFe<%bU1BB3srNMUOJjrVbGDe^f_h@>AhI&C#9Kz3QuU~VzM9}qk&)8 zi;o(S98pVBuU;P0nU_52NoS{Up_(x}s~fA|m&ZIMNl~2D#p~N( zP6v(`$Ly^qXdeQ!`Tvu5Os12Rusjy|1`6yyzRt{?Z+S@X0X+c(b)JxTV;`~vEIRRp zk+20H!ZY90%k0^8*mVzDSl3ooJ=qB@JX5=UNB?HE_@>N23U*8%2K{!+u4K?seM?oi zt7oNtz2v~qLDS$W^O+geN^|SIixnV$@Ub)Ihs=fqLXif-4%y9a1rNs7OBQ!mBD;kS zI%hjg7%FUylq5!I7~+xx{HQ zXPt8b&H%H?nFiccvUQSc|9%DOYHJ@eWGz^9a8oMWuhk{N7UL2Zu`(qQ764eS)R_l> z8al7aNTWJZqb40Wlh=M<7)9hs$Uha_5^&GR_$!<)nmBIE9B{9Ms`pt98^|(qYw&p6 zW!L#G%3Jf$jWVEH7FGLIQI_Y8tjz8PXy$aLKTgCi%ckAoctXZXht<;nc8pVuORZ+; z1g!L~pve$9=P7G<{$hDuRN1fx&664_sH#u}yzYTA-pHT;p!@sbYq%CgxT>6K7i>7N1ne%zEb8S#XfBDVpm3u(_^3xfA+stud4N#xKFn z|76mk?4Xf4ytJT@(NkAJ_sFg9nD*Ib0cI~43zcBM#xXUg)9{=sWjHr+y6h*H2~znEz~j=#f+$>12D4g!Q9uBD=UnmDDIw8+DoSJfoAF zVwx7Q2Ji6ftS{iUH#FaTQ`?<2OD)ejnqOIg;#q5{a-r=kKF9LEYfhfbt|{-U|LcxJ zDlPev6~BkMTm=6@>Dt=ogkU2aY-rG7qgTvW+*G~)LwmgBlvnnL&#i_s{f1AqY`!IS zF0?o!Hf>2qt^@??de8|s)>;Ev)}SB!FCyNC5o_E)b}8Mt$9z*t$Z58DBDMo!ME54K+VOI{vS2;0Kh35UtFG`H|@b~(G`4h)Vt*_VC*@M!kpJ|LEFeEXEXN*@6; z@~us$JClT`_xASw-Z=P3DxDO1XB9Wsxypr^1GH{?2;l2$%gX(@36nEsU#_vZLT12wf`Yl_F3 zY!)teuA$_BQ(eHu8wKcw#LkAa<=i;0{1`!ytDqI1E41+hr(1~)-G;N7O1{XW0DuW~ z;M1p1IGxSk0DyboeAw>7Z!z=^0mIm&q@*VUyZ~5oqT&74!%-;r(pO=9?oK0-2`BES z)DBRJ5pK?%bgA(X|6O|-S>CyBVT}EQN?IUx)w0O#ZiF7~_$_mRCBcufU7{9#VKKqj zD5lmiO>?goKujV5)!(O|ygRm$WiVl5lb7Y456PaIg+J;cDR2UI2gx={D>&3IwZB0y zo!<{+WT36=gMF%U!5V4H&57dXCn?yrG-`zU&+JhFjsWDm1_-Ki?e7H*;H{=-+7s7+DC&2L@viPQ4`ea6 zJw&~DVRWP16Qj_6xAtW3R(9rN)8Ij6UE4;_fE@4NePd*o{cK&TRV6f9=k@Eta+0gN zTM|PHD}DYf)7o&gy^9!xe)%$^ah`XiKX=i{EZxi&4%6f0TCZld>FvyyLb`=oYrI8wy;rixq( z@Lf+8z9UJfego?Sj;9DKwO@{qiq}QzO2><^=SJXXU>lQx9UGcTz7|}sC)HF>U*CDJ z_Z$Ea^q{1qWSU~giLxsPNtebP2AEvrsLr~V`V7z1B|Ho8ja>N50(aYKI*U?AnJr~r z4S22Eo}0~x^Zj1ATV*9SyvG#4_2RNwl6eA0Xs1N7wZ8<4YMJgVRa+5u6r4s4>rKz2 zLGIqmAJN^0{F$^9as6p^-ON{U2)9vCJ|awu@v>*u*kmIR{~adF3*Hnhu}zJ*l`ND0 z?ZJVhRbYs7Gp50Mz8s-y=#3PSDNQvLPtdv5xHoac?Umm%!CR)H_g=(7VOZ5 z)L7fyE_1Ie8>co*-R&a-9aVe<-QknP z)3T1_X_)&`mwj9>-6Jw;O-B#Q(E31-%|YF1C&%nmuL|IHJQ|$9iWq$WK>YbW>YC7~ z7~BajFE8o))5zZ2xP{|@?#0jV^N}G-1$iX3t%5GY`%f1U%*K=g6jj6v18Y+5waO?& zz<>9^; z!R7Is9Rkw!AD9U}2nbK28~V4_##ROlRN8tsrD6?gaB1FhACV#vr`yIZKPTi`gi05x zu`|lWgKX>{RKdZtT~p~&>92#Y&18+`3CHiw+GnK5ik5!SoBcNaNzX)Kac~CoD3tow zOv8*7Wc16yWZA18l?65Y!u`NHF?2SlZXB9MTCx^9`mRe5<+cU|Ps;+w8HbyS1re8I zkY{`7vQ7Q6p^yT^ON{XtID(n3Jo-QqDz3n5FE|n*SOE&&w&X3~aV=7gMb5|yvAUMD z&t_2Ecqp$au3V~^-Yj6uqr#nk_38{gX|ls@#A>dK@x zOkJJu(rt6tD&>Ty(R->?Lu=C$3v11YTGcOC((7%D%J#;+KZY;wULn@lobrAhkk?Dn zBX&>0@@^L@I9co3cadJzYl_dOGXFa_UYR6x6RyhYt$(WN1)L^%7NMi#W-?Jm- z!yV!(I0NIyC;ee{e#V?jl7*Jbm*Yi1)0lh% zUe0PZM|?m@X_0!2dl%MzYebvn?jjP?&SEl*dG^s~b#G_G*y0%ALD;#+`YTj-0rwOM zYD;(&If_iAJal|~KS4wjQ!yk(qBIpe@%iW(@wHU4Z(KWkDV&K+(>?cVHccx4Y2CS# zG!%KLwTHF*!aTe2#g)BU-vf!vJJ5?IF?rt02A+A0hU|;izsua`&7;>_7*?Xd8lr`M z+Ie8MS}`Miom!<`qU`+j?Ydp1{yn0F=~zev-rw$Nj7D=jEU06sz>CP9ioD<9C(D9u0Xvb3r0YNeQl1@v9dt#@1m2gXj zxX88hPA)EzVRry+3613k^0YOB4ZB-ByY=cT-APj`#l+<|$T;Xz0rU}#(4b1wFB7%F zd%?x$38^O-&*Bw?0}}~%KT96Y5AW)@1bnwe^Dg*06c*j)M}OT8Waiu|#OPvZ1E9L- zoG`7u^tyBGjJW<{*Tx;%$=)mX${xl9M0fRAKPw|ID;Z*CN;Bdbtj1@dNS2xz(i(E0 z13L)hd~RMP_-xzw9dJ12EXV-HH(TADKJOfB5|PhMw%apnL#xe(EX5ekZbIe`SH`*S z`({BlZpqWxf!Jda%M-_3o9SPvBNzdF1;E!tiQ8{xW%umrB1j|M2Hj~YF%gb(aGGX< zrANNL(T&bZR3bs^T6JWE{ee;k>YlZ_p1SU&gk`0vkWBvP-&(9?w16vcyC-9^PDy8Y z=}*U(VqR0efGa7w8vI5Xnl1J#HT=djbTE)tMd1kAjcalXzQ2U8-*OtPP`D?ubyWU} zXVi71TJFgFu1)d?L%3&c!eBgs~!R7 za2vu2SAAvBW{rcA&CD;dUvgMpBSy~tGUoJ$ugv`n+bmP(n-9XLY756uiSZs~C_SxO zvg7A|XCf{w2PI+^wW*@N!_$fI%JdKwF8g9MpbjQKfySJ>Jj*Lyiu~sgkhtU3l_T17o{T5 zid-FZ_MiOJQ|*P{U9=6HYB@%sP!jS^1A>fGWv+z~eyJLlSa(5(ETzpEpxaa8YvQk( zcv*p5y`;m_bMv$5sc$WKGb(yce)elXI((NA3P#w)+~FM=S+2JdmGhO1c=uP8m|3lr z*--TD40m1Apnd@Q1v4uks*84B*>Q+i5t^VJ=0UmHr2tA~(NVZZB2i zjYdJZhifyP1tq@#CMw){6P*%_$+HFBxI3DVz!8-J75&%lS-px1p}C#~RiDjZJ|-jS zcdfH@4Ml@IbL{w)20Sf+ zOQiq&RQbz(CGs8R*!2T8N(%L-mMGa07)7tzF#9OyC`FD9Xf%=a!8pp_GS}y9mFXDX z!R3qW2iKSK*9f-lvYwW8az?g06hFyIL##G~n~AqKH#bgp$WGv*4P%&lq*cmmI2t9w z-CDhWwzg{o43}8umYyCj+5-NV*ND4n@IhsQqS7~wkXXz^hfa`Ib5bFxwWen2v$MSO zh)e8>L2bA4%zUbD0|@ta&w`n+$Tv^t}YJ zNwwC<(My1)gEr1gfCdwdBfN(r3~s=5qdLnZ@CqQwYcAgruM(*OUf!*)%ns?Z8H2@F zMzkh?1{Aya#;Tpy8=^+mopn#0m3?$wB#EY^Ki!sOqaf0#H~L%X^F+@B?oR&33HC*( zmgFP)(&lUba`6Cc3tNkk(r7Am6mvwM#69JnO#IR%3Fy`W#<$8R(-{rG8=s`%-p_` zDYD?jV8g7UD{C zUL!JRBcacI0D@Ym@SoBMzoNRbR_D(v;gQ|0pvD{Z>LT)~S~HYvd%LM z3X!yjm%ZVfJYrhLXH<0l@Y$we3nEaq+urL?8dsPPZ$w5V-S)u^C@pKek);mz8&WYG z9f@WQ7nP8{*T@h<8ERQ`Cgfw?!Z}QIqkyaJXT$>rUq0? zFD<62U$}Y2Ey9GQ@uX6#x$LCI<~esB>dSUnc)HbbnG+dRH!!w!XqI2Kk&FGdoQI*( z80IJ$#|-5j>ZFraJn)S<+~~mCBAovq;1Q!>UmqQ1eE(9oU%onN#3L*$%r&#xGIZhr z_{!Z;;=INL-v5nz5-9{6Y%+(u#f0uUw!j=9rBfCPsF&2mvng_x{e2NOD&8=cA(h3A zvJ|y3`M@jbTKZ}dRe1|pv^s&yz`WT6Y#b9*wMdb4lQNJuzB3e+(qS@r#=J1tYHgyJ zVw?y)fVs0cV|iUmKJ^CQ7-Tll16g$t1ormbRPSnOhBdd1CiK=R%&yk@zG<3;UPse3 zo;c5;&KleCGe+nj(D=AG&WyUc`pr_SG4%BE2iAk|1ZEu<|Z)$wq0KDwbl6sKt0cqu(^{j9ZVCk1*V*R!

    8IpKmlQR9 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 YvESnUyDbbMAxn}B8T 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 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/surface_rotate_sparkle.png b/test/golden/goldens/surface_rotate_sparkle.png new file mode 100644 index 0000000000000000000000000000000000000000..b9cb6cc976d590509eff331bb41891572fa42b4a GIT binary patch literal 64791 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

    8IpKmlQR9 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 b+CUv-BBZ4_^*#vP6RFx=tvkiakDmPxcs6LV literal 0 HcmV?d00001 diff --git a/test/golden/goldens/surface_rotate_tail2.png b/test/golden/goldens/surface_rotate_tail2.png new file mode 100644 index 0000000000000000000000000000000000000000..371cd70cae31c3e97fd81b6840022900855e8639 GIT binary patch literal 66538 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 MaterialApp( + debugShowCheckedModeBanner: false, + theme: ThemeData(brightness: Brightness.dark), + home: ColoredBox( + // The demo backdrop of the source library. + color: const Color(0xFF070707), + child: Center( + child: SizedBox(width: width, height: height, child: beam), + ), + ), + ); + + Widget mockSurface({double radius = 16}) => DecoratedBox( + decoration: BoxDecoration( + color: const Color(0xFF1D1D1D), + borderRadius: BorderRadius.circular(radius), + border: Border.all(color: const Color(0x14FFFFFF)), + ), + ); + + Future capture( + WidgetTester tester, + String name, + Widget beam, { + double width = 350, + double height = 140, + }) async { + await tester.pumpWidget(scene(beam: beam, width: width, height: height)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1300)); + await expectLater( + find.byType(MaterialApp), + matchesGoldenFile('goldens/$name.png'), + ); + } + + testWidgets('line on the top edge', (tester) async { + await capture( + tester, + 'surface_line_edge_top', + BorderBeam.line( + style: const BeamStyle(theme: BeamTheme.dark), + shape: const BeamShape(edge: BeamEdge.top), + child: mockSurface(), + ), + ); + }); + + testWidgets('line on the left edge', (tester) async { + await capture( + tester, + 'surface_line_edge_left', + BorderBeam.line( + style: const BeamStyle(theme: BeamTheme.dark), + shape: const BeamShape(edge: BeamEdge.left), + child: mockSurface(), + ), + ); + }); + + testWidgets('rotate with three beams', (tester) async { + await capture( + tester, + 'surface_rotate_beamcount3', + BorderBeam.rotate( + style: const BeamStyle(theme: BeamTheme.dark), + timing: const BeamTiming(beamCount: 3), + child: mockSurface(), + ), + ); + }); + + testWidgets('rotate with a double-length tail', (tester) async { + await capture( + tester, + 'surface_rotate_tail2', + BorderBeam.rotate( + style: const BeamStyle(theme: BeamTheme.dark, tailLength: 2), + child: mockSurface(), + ), + ); + }); + + testWidgets('rotate with a comet halo', (tester) async { + await capture( + tester, + 'surface_rotate_comet', + BorderBeam.rotate( + style: const BeamStyle(theme: BeamTheme.dark, comet: true), + child: mockSurface(), + ), + ); + }); + + testWidgets('rotate with sparkles', (tester) async { + await capture( + tester, + 'surface_rotate_sparkle', + BorderBeam.rotate( + style: const BeamStyle(theme: BeamTheme.dark, sparkle: 1), + child: mockSurface(), + ), + ); + }); + + testWidgets('rotate on a dashed ring', (tester) async { + await capture( + tester, + 'surface_rotate_segments8', + BorderBeam.rotate( + style: const BeamStyle(theme: BeamTheme.dark, segments: 8), + child: mockSurface(), + ), + ); + }); + + testWidgets('rotate with a wider glow', (tester) async { + await capture( + tester, + 'surface_rotate_glowspread2', + BorderBeam.rotate( + style: const BeamStyle(theme: BeamTheme.dark, glowSpread: 2), + child: mockSurface(), + ), + ); + }); + + testWidgets('rotate with the ring pushed out', (tester) async { + await capture( + tester, + 'surface_rotate_ringoffset8', + BorderBeam.rotate( + style: const BeamStyle(theme: BeamTheme.dark), + shape: const BeamShape( + ringOffset: 8, + radius: BorderRadius.all(Radius.circular(16)), + ), + child: mockSurface(), + ), + ); + }); + + // A square box, so the inscribed star is as large as it can be, and no + // surface behind it: the contour is the only thing the beam draws. + testWidgets('rotate around a star contour', (tester) async { + await capture( + tester, + 'surface_rotate_contour_star', + BorderBeam.rotate( + style: const BeamStyle(theme: BeamTheme.dark, tailLength: 2), + shape: BeamShape(contour: _star), + child: const SizedBox.expand(), + ), + width: 260, + height: 260, + ); + }); + + testWidgets('pulse-outside with a wider halo', (tester) async { + await capture( + tester, + 'surface_pulse_outside_glowspread2', + BorderBeam.pulseOutside( + style: const BeamStyle(theme: BeamTheme.dark, glowSpread: 2), + child: mockSurface(), + ), + ); + }); +} + +/// A five-pointed star inscribed in the beam's bounds. +final _star = BeamPathContour((rect) { + final path = Path(); + final centre = rect.center; + final outer = rect.shortestSide / 2; + for (var i = 0; i < 10; i++) { + final r = i.isEven ? outer : outer * 0.5; + final a = -math.pi / 2 + i * math.pi / 5; + final p = centre + Offset(math.cos(a) * r, math.sin(a) * r); + if (i == 0) { + path.moveTo(p.dx, p.dy); + } else { + path.lineTo(p.dx, p.dy); + } + } + return path..close(); +}, key: 'golden-star'); diff --git a/test/painting/color_matrix_test.dart b/test/painting/color_matrix_test.dart index a80536d..92da259 100644 --- a/test/painting/color_matrix_test.dart +++ b/test/painting/color_matrix_test.dart @@ -147,7 +147,7 @@ void main() { expect(g.inner.getBounds().isEmpty, isTrue); expect(g.ring.getBounds().isEmpty, isTrue); expect( - g.contour(rect, BorderRadius.circular(16)).getBounds().isEmpty, + g.shapeContour(rect, BorderRadius.circular(16)).getBounds().isEmpty, isTrue, ); } diff --git a/test/painting/ring_geometry_test.dart b/test/painting/ring_geometry_test.dart index bb23595..140f671 100644 --- a/test/painting/ring_geometry_test.dart +++ b/test/painting/ring_geometry_test.dart @@ -329,7 +329,7 @@ void main() { const rect = Rect.fromLTWH(0, 0, 200, 100); final ring = geometry(rect, BorderRadius.circular(16)); const other = Rect.fromLTWH(10, 10, 100, 60); - final path = ring.contour(other, BorderRadius.circular(20)); + final path = ring.shapeContour(other, BorderRadius.circular(20)); expectBounds(path, other); final corners = cornersOf(other); final (point, inward) = corners['topLeft']!; diff --git a/test/painting/save_layer_budget_test.dart b/test/painting/save_layer_budget_test.dart index 890d94d..bda89e3 100644 --- a/test/painting/save_layer_budget_test.dart +++ b/test/painting/save_layer_budget_test.dart @@ -1,9 +1,15 @@ +import 'dart:math' as math; import 'dart:typed_data'; import 'dart:ui' as ui; +import 'package:flutter/painting.dart'; import 'package:flutter_border_beam/src/animation/beam_phases.dart'; import 'package:flutter_border_beam/src/models/beam_colors.dart'; import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_border_beam/src/models/beam_options.dart'; +import 'package:flutter_border_beam/src/models/beam_shape.dart'; +import 'package:flutter_border_beam/src/models/beam_style.dart'; +import 'package:flutter_border_beam/src/models/beam_timing.dart'; import 'package:flutter_border_beam/src/models/beam_variant.dart'; import 'package:flutter_border_beam/src/painting/beam_painter.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -102,8 +108,139 @@ void main() { ); }); } + + // Every Phase 3 surface option, measured against the SAME table. None of + // them may buy its effect with a layer: the comet re-clips the bloom layer + // it already had, the sparkles and the dash mask ride inside layers that + // exist anyway, a wider glow only changes a blur sigma, extra beams and a + // turned edge change geometry, and a contour changes which path the ring + // is cut from. + final scenarios = + { + 'comet': ( + style: const BeamStyle(comet: true), + shape: const BeamShape(), + timing: const BeamTiming(), + ), + 'sparkle: 1': ( + style: const BeamStyle(sparkle: 1), + shape: const BeamShape(), + timing: const BeamTiming(), + ), + 'segments: 8': ( + style: const BeamStyle(segments: 8), + shape: const BeamShape(), + timing: const BeamTiming(), + ), + 'glowSpread: 2': ( + style: const BeamStyle(glowSpread: 2), + shape: const BeamShape(), + timing: const BeamTiming(), + ), + 'tailLength: 2': ( + style: const BeamStyle(tailLength: 2), + shape: const BeamShape(), + timing: const BeamTiming(), + ), + 'beamCount: 3': ( + style: const BeamStyle(), + shape: const BeamShape(), + timing: const BeamTiming(beamCount: 3), + ), + 'direction: reverse': ( + style: const BeamStyle(), + shape: const BeamShape(), + timing: const BeamTiming(direction: BeamDirection.reverse), + ), + 'edge: left': ( + style: const BeamStyle(), + shape: const BeamShape(edge: BeamEdge.left), + timing: const BeamTiming(), + ), + 'ringOffset: 8': ( + style: const BeamStyle(), + shape: const BeamShape(ringOffset: 8), + timing: const BeamTiming(), + ), + 'contour': ( + style: const BeamStyle(), + shape: BeamShape(contour: _blobContour), + timing: const BeamTiming(), + ), + }; + + for (final MapEntry(key: label, value: scenario) in scenarios.entries) { + for (final variant in BeamVariant.values) { + test('$variant with $label stays within its saveLayer budget', () { + var worst = 0; + var worstCase = ''; + for (final brightness in ui.Brightness.values) { + final config = BeamConfig.resolve( + variant: variant, + palette: BeamColors.colorful.resolve(), + brightness: brightness, + style: scenario.style, + shape: scenario.shape, + timing: scenario.timing, + ); + final resolver = BeamPhaseResolver(config); + final strategy = strategyFor(variant); + for (final t in samples) { + final recorder = ui.PictureRecorder(); + final canvas = _CountingCanvas(ui.Canvas(recorder)); + final phases = resolver.sample(t, 1); + strategy.paintBehind(canvas, size, config, phases); + strategy.paintAbove(canvas, size, config, phases); + recorder.endRecording().dispose(); + + expect(canvas.unforwarded, isEmpty); + expect( + canvas.saves + canvas.saveLayers, + canvas.restores, + reason: + 'unbalanced save/restore for $variant/$label/$brightness ' + 'at t=$t', + ); + if (canvas.saveLayers > worst) { + worst = canvas.saveLayers; + worstCase = '$brightness at t=${t}s'; + } + } + } + expect( + worst, + lessThanOrEqualTo(budget[variant]!), + reason: + '$label pushed the $variant frame to $worst saveLayer calls ' + '(worst case $worstCase). A surface option must fold into the ' + 'layers the variant already composites.', + ); + }); + } + } } +/// A lobed contour: enough of a departure from a rounded rect to exercise the +/// offset path, and value-equal so the config caches it. +final _blobContour = BeamPathContour((rect) { + final path = Path(); + final centre = rect.center; + for (var i = 0; i <= 48; i++) { + final a = i / 48 * 2 * math.pi; + final r = rect.shortestSide / 2 * (0.75 + 0.25 * (i % 8 < 4 ? 1 : 0)); + final p = Offset( + centre.dx + r * 1.6 * math.cos(a), + centre.dy + r * math.sin(a), + ); + if (i == 0) { + path.moveTo(p.dx, p.dy); + } else { + path.lineTo(p.dx, p.dy); + } + } + return path..close(); +}, key: 'budget-blob'); + /// A [ui.Canvas] that counts layer and clip scopes while forwarding the draw /// calls to a real canvas, so the painters run exactly as they do on screen. /// diff --git a/test/painting/surface_features_test.dart b/test/painting/surface_features_test.dart new file mode 100644 index 0000000..9129d14 --- /dev/null +++ b/test/painting/surface_features_test.dart @@ -0,0 +1,669 @@ +import 'dart:math' as math; +import 'dart:ui' as ui; + +import 'package:flutter/painting.dart'; +import 'package:flutter_border_beam/src/animation/beam_phases.dart'; +import 'package:flutter_border_beam/src/models/beam_colors.dart'; +import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_border_beam/src/models/beam_options.dart'; +import 'package:flutter_border_beam/src/models/beam_shape.dart'; +import 'package:flutter_border_beam/src/models/beam_style.dart'; +import 'package:flutter_border_beam/src/models/beam_timing.dart'; +import 'package:flutter_border_beam/src/models/beam_variant.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_border_beam/src/painting/ring_geometry.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// Per-feature painting tests for the Phase 3 surface options: each one +/// asserts pixels appear where the feature promises them and stay away from +/// where it does not. +/// +/// The assertions are deliberately coarse — presence, absence, and ordering +/// of totals — so they pin behaviour without pinning the look, which the +/// goldens own. +void main() { + const beamSize = ui.Size(350, 140); + + group('direction', () { + test('reverse mirrors the rotate window about the beam angle', () async { + final config = _config(BeamVariant.rotate); + final forward = await _paint( + config, + phases: const BeamFramePhases(fadeOpacity: 1, hueDegrees: 0), + ); + final reverse = await _paint( + config, + phases: const BeamFramePhases( + fadeOpacity: 1, + hueDegrees: 0, + reversedNow: true, + ), + ); + final rect = ui.Offset.zero & beamSize; + final a = forward.ringProfile(rect); + final b = reverse.ringProfile(rect); + // Sample i sits at angle i·2π/n; its mirror about the beam angle (0) is + // sample n − i. + var mirrored = 0.0; + var same = 0.0; + for (var i = 1; i < a.length; i++) { + mirrored += (a[i] - b[a.length - i]).abs(); + same += (a[i] - b[i]).abs(); + } + expect( + mirrored, + lessThan(same * 0.5), + reason: 'the reversed window should be the forward one mirrored', + ); + }); + + test('reverse mirrors the line beam head across the edge', () async { + // Two thirds through the cycle, where the head is well off centre and + // a mirror is not the same picture. + const t = 2.0; + final forward = await _paint(_config(BeamVariant.line), t: t); + final reverse = await _paint( + _config( + BeamVariant.line, + timing: const BeamTiming(direction: BeamDirection.reverse), + ), + t: t, + ); + const band = ui.Rect.fromLTRB(0, 126, 350, 140); + final xf = forward.brightestColumn(band); + final xr = reverse.brightestColumn(band); + expect( + (xf - 175).abs(), + greaterThan(25), + reason: 'a head at mid-edge would mirror onto itself', + ); + expect(xr, closeTo(350 - xf, 12)); + }); + }); + + group('beamCount', () { + test('rotate paints two heads half a turn apart', () async { + final pixels = await _paint( + _config(BeamVariant.rotate, timing: const BeamTiming(beamCount: 2)), + phases: const BeamFramePhases(fadeOpacity: 1, hueDegrees: 0), + ); + final profile = pixels.ringProfile(ui.Offset.zero & beamSize); + final arcs = _litArcs(profile); + expect(arcs.length, 2, reason: 'two beams, two lit arcs'); + final gap = (arcs[1].centre - arcs[0].centre).abs() / profile.length; + expect(gap, closeTo(0.5, 0.08), reason: 'half a turn apart'); + }); + + test('one beam paints a single arc', () async { + final pixels = await _paint( + _config(BeamVariant.rotate), + phases: const BeamFramePhases(fadeOpacity: 1, hueDegrees: 0), + ); + expect(_litArcs(pixels.ringProfile(ui.Offset.zero & beamSize)).length, 1); + }); + + test('line paints a head per traveller', () async { + final pixels = await _paint( + _config(BeamVariant.line, timing: const BeamTiming(beamCount: 3)), + t: 1.3, + ); + final band = ui.Rect.fromLTRB(0, 120, 350, 140); + final columns = pixels.columnProfile(band); + expect( + _litArcs(columns, threshold: 0.35).length, + greaterThanOrEqualTo(2), + reason: 'three travellers, at least two inside the edge fade', + ); + }); + }); + + group('tailLength', () { + test('scales the lit arc about the head', () async { + Future litSamples(double tail) async { + final pixels = await _paint( + _config(BeamVariant.rotate, style: BeamStyle(tailLength: tail)), + phases: const BeamFramePhases(fadeOpacity: 1, hueDegrees: 0), + ); + final profile = pixels.ringProfile(ui.Offset.zero & beamSize); + final peak = profile.reduce(math.max); + return profile.where((v) => v > peak * 0.2).length; + } + + final short = await litSamples(0.5); + final normal = await litSamples(1); + final long = await litSamples(2); + expect(short, lessThan(normal)); + expect(long, greaterThan(normal)); + }); + }); + + group('glowSpread', () { + test('rotate reaches further in with a wider bloom', () async { + // The other two layers are switched off: the bloom is the only one + // glowSpread touches, and it is far the dimmest of the three. + Future bloomReach(double spread) async { + final pixels = await _paint( + _config( + BeamVariant.rotate, + style: BeamStyle( + glowSpread: spread, + innerOpacityFactor: 0, + strokeOpacityFactor: 0, + ), + ), + phases: const BeamFramePhases(fadeOpacity: 1, hueDegrees: 0), + ); + return pixels.inwardReach(); + } + + final normal = await bloomReach(1); + expect(normal, greaterThan(0)); + expect(await bloomReach(2), greaterThan(normal)); + }); + + test('pulse-outside pushes its halo further out', () async { + Future reach(double spread) async { + final pixels = await _paint( + _config( + BeamVariant.pulseOutside, + style: BeamStyle(glowSpread: spread), + ), + behind: true, + canvas: const ui.Size(550, 340), + origin: const ui.Offset(100, 100), + ); + return pixels.farthestLit( + const ui.Rect.fromLTWH(100, 100, 350, 140), + axis: Axis.vertical, + ); + } + + expect(await reach(2), greaterThan(await reach(1) + 2)); + }); + }); + + group('comet', () { + test('paints a halo outside the shape, unlike the plain bloom', () async { + Future outside(bool comet) async { + final pixels = await _paint( + _config(BeamVariant.rotate, style: BeamStyle(comet: comet)), + phases: const BeamFramePhases(fadeOpacity: 1, hueDegrees: 0), + canvas: const ui.Size(390, 180), + origin: const ui.Offset(20, 20), + ); + // A strip just outside the top edge, where the beam's head sits. + return pixels.totalAlpha(const ui.Rect.fromLTRB(20, 10, 390, 19)); + } + + expect(await outside(false), lessThan(0.5)); + expect(await outside(true), greaterThan(2)); + }); + }); + + group('sparkle', () { + test('adds pixels around the head and nowhere else', () async { + const phases = BeamFramePhases(fadeOpacity: 1, hueDegrees: 0); + final plain = await _paint(_config(BeamVariant.rotate), phases: phases); + final sparkly = await _paint( + _config(BeamVariant.rotate, style: const BeamStyle(sparkle: 1)), + phases: phases, + ); + // The head of the default window sits at 0.8 of a turn from the beam + // angle — the upper left of the box at angle 0. + const nearHead = ui.Rect.fromLTRB(0, 0, 120, 60); + const farSide = ui.Rect.fromLTRB(200, 100, 350, 140); + expect( + sparkly.totalAlpha(nearHead), + greaterThan(plain.totalAlpha(nearHead)), + ); + expect( + sparkly.totalAlpha(farSide), + closeTo(plain.totalAlpha(farSide), 0.5), + ); + }); + + test('is deterministic for a given frame', () async { + const phases = BeamFramePhases(fadeOpacity: 1, hueDegrees: 0); + final config = _config( + BeamVariant.rotate, + style: const BeamStyle(sparkle: 1), + ); + final first = await _paint(config, phases: phases); + final second = await _paint(config, phases: phases); + expect(first.bytes, second.bytes); + }); + }); + + group('segments', () { + test('cuts the ring into gaps the solid ring does not have', () async { + const phases = BeamFramePhases(fadeOpacity: 1, hueDegrees: 0); + final solid = await _paint(_config(BeamVariant.rotate), phases: phases); + final dashed = await _paint( + _config(BeamVariant.rotate, style: const BeamStyle(segments: 8)), + phases: phases, + ); + final rect = ui.Offset.zero & beamSize; + // Sampled right on the ring, where the stroke the mask cuts lives. + final solidProfile = solid.ringProfile(rect, depth: 1); + final dashedProfile = dashed.ringProfile(rect, depth: 1); + final gaps = _runs([ + for (var i = 0; i < solidProfile.length; i++) + solidProfile[i] > 0.05 && dashedProfile[i] < solidProfile[i] * 0.7, + ]); + expect( + gaps, + greaterThanOrEqualTo(3), + reason: 'eight dashes leave several dark gaps across the lit arc', + ); + expect( + dashedProfile.reduce((a, b) => a + b), + lessThan(solidProfile.reduce((a, b) => a + b)), + ); + }); + + test('a solid ring is left alone', () async { + const phases = BeamFramePhases(fadeOpacity: 1, hueDegrees: 0); + final solid = await _paint(_config(BeamVariant.rotate), phases: phases); + final one = await _paint( + _config(BeamVariant.rotate, style: const BeamStyle(segments: 1)), + phases: phases, + ); + expect( + one.bytes, + solid.bytes, + reason: 'a single segment is no ring at all, so it is ignored', + ); + }); + }); + + group('edge', () { + test('top paints the top band and leaves the bottom empty', () async { + final pixels = await _paint( + _config(BeamVariant.line, shape: const BeamShape(edge: BeamEdge.top)), + t: 1.3, + ); + expect( + pixels.totalAlpha(const ui.Rect.fromLTRB(0, 0, 350, 20)), + greaterThan(5), + ); + expect( + pixels.totalAlpha(const ui.Rect.fromLTRB(0, 120, 350, 140)), + lessThan(0.5), + ); + }); + + test('left paints the left band and leaves the right empty', () async { + final pixels = await _paint( + _config(BeamVariant.line, shape: const BeamShape(edge: BeamEdge.left)), + t: 1.3, + ); + expect( + pixels.totalAlpha(const ui.Rect.fromLTRB(0, 0, 20, 140)), + greaterThan(5), + ); + expect( + pixels.totalAlpha(const ui.Rect.fromLTRB(330, 0, 350, 140)), + lessThan(0.5), + ); + }); + + test('right paints the right band', () async { + final pixels = await _paint( + _config(BeamVariant.line, shape: const BeamShape(edge: BeamEdge.right)), + t: 1.3, + ); + expect( + pixels.totalAlpha(const ui.Rect.fromLTRB(330, 0, 350, 140)), + greaterThan(5), + ); + expect( + pixels.totalAlpha(const ui.Rect.fromLTRB(0, 0, 20, 140)), + lessThan(0.5), + ); + }); + + test('bottom is unchanged by the transform', () async { + final pixels = await _paint( + _config( + BeamVariant.line, + shape: const BeamShape(edge: BeamEdge.bottom), + ), + t: 1.3, + ); + expect( + pixels.totalAlpha(const ui.Rect.fromLTRB(0, 120, 350, 140)), + greaterThan(5), + ); + expect( + pixels.totalAlpha(const ui.Rect.fromLTRB(0, 0, 350, 20)), + lessThan(0.5), + ); + }); + }); + + group('ringOffset', () { + test('a positive offset paints outside the child bounds', () async { + final pixels = await _paint( + _config(BeamVariant.rotate, shape: const BeamShape(ringOffset: 10)), + phases: const BeamFramePhases(fadeOpacity: 1, hueDegrees: 0), + canvas: const ui.Size(390, 180), + origin: const ui.Offset(20, 20), + ); + // The ring now sits 10px out; the band just outside the child's bounds + // carries it. + expect( + pixels.totalAlpha(const ui.Rect.fromLTRB(20, 12, 370, 19)), + greaterThan(2), + ); + }); + + test('a negative offset pulls the ring inside them', () async { + final pixels = await _paint( + _config(BeamVariant.rotate, shape: const BeamShape(ringOffset: -12)), + phases: const BeamFramePhases(fadeOpacity: 1, hueDegrees: 0), + ); + // Nothing is left in the outermost band the ring used to occupy. + expect( + pixels.totalAlpha(const ui.Rect.fromLTRB(0, 0, 350, 3)), + lessThan(0.5), + ); + expect( + pixels.totalAlpha(const ui.Rect.fromLTRB(0, 12, 350, 20)), + greaterThan(1), + ); + }); + }); + + group('contour', () { + test('a star contour paints along the star, not the rect', () async { + final pixels = await _paint( + _config(BeamVariant.rotate, shape: BeamShape(contour: _star)), + phases: const BeamFramePhases(fadeOpacity: 1, hueDegrees: 0), + ); + // The beam rides the star's arms; the box's own corners and the gaps + // between the arms — where a rounded rect would have painted — stay + // empty. + expect( + pixels.totalAlpha(const ui.Rect.fromLTRB(124, 112, 148, 134)), + greaterThan(1), + ); + expect( + pixels.totalAlpha(const ui.Rect.fromLTRB(0, 0, 24, 24)), + lessThan(0.05), + ); + expect( + pixels.totalAlpha(const ui.Rect.fromLTRB(40, 90, 80, 130)), + lessThan(0.05), + ); + }); + + test('the ring keeps an even width around a lobed contour', () { + final path = _star.build(const ui.Rect.fromLTWH(0, 0, 200, 200)); + final widths = _insetWidths(path, 6); + final even = widths.where((w) => (w - 6).abs() < 1.5).length; + expect( + even, + greaterThan(widths.length * 3 ~/ 4), + reason: + 'a true normal offset holds the width everywhere but the folded ' + 'concave vertices, unlike a scale about the centre', + ); + }); + }); +} + +// ─── Fixtures ───────────────────────────────────────────────────────────── + +BeamConfig _config( + BeamVariant variant, { + BeamStyle style = const BeamStyle(), + BeamShape shape = const BeamShape(), + BeamTiming timing = const BeamTiming(), + ui.Brightness brightness = ui.Brightness.dark, +}) => BeamConfig.resolve( + variant: variant, + palette: BeamColors.colorful.resolve(), + brightness: brightness, + style: style, + shape: shape, + timing: timing, +); + +final _star = BeamPathContour((rect) { + final path = Path(); + final centre = rect.center; + final outer = rect.shortestSide / 2; + final inner = outer * 0.5; + for (var i = 0; i < 10; i++) { + final r = i.isEven ? outer : inner; + final a = -math.pi / 2 + i * math.pi / 5; + final p = centre + ui.Offset(math.cos(a) * r, math.sin(a) * r); + if (i == 0) { + path.moveTo(p.dx, p.dy); + } else { + path.lineTo(p.dx, p.dy); + } + } + return path..close(); +}, key: 'test-star'); + +/// Renders one frame of [config] and returns its pixels. +/// +/// [canvas]/[origin] make room for anything painted outside the beam's own +/// bounds — a comet halo or a pushed-out ring — which the widget's +/// `CustomPaint` does not clip either. +Future<_Pixels> _paint( + BeamConfig config, { + double t = 0.9, + BeamFramePhases? phases, + ui.Size size = const ui.Size(350, 140), + ui.Size? canvas, + ui.Offset origin = ui.Offset.zero, + bool behind = false, +}) async { + final target = canvas ?? size; + final recorder = ui.PictureRecorder(); + final c = ui.Canvas(recorder); + c.translate(origin.dx, origin.dy); + final frame = phases ?? BeamPhaseResolver(config).sample(t, 1); + final strategy = strategyFor(config.variant); + if (behind) { + strategy.paintBehind(c, size, config, frame); + } else { + strategy.paintAbove(c, size, config, frame); + } + final image = await recorder.endRecording().toImage( + target.width.toInt(), + target.height.toInt(), + ); + final bytes = await image.toByteData(format: ui.ImageByteFormat.rawRgba); + return _Pixels(bytes!.buffer.asUint8List(), image.width, image.height); +} + +/// The alpha channel of a rendered frame, with the sampling helpers the +/// feature assertions are phrased in. +class _Pixels { + _Pixels(this.bytes, this.width, this.height); + + final List bytes; + final int width; + final int height; + + double alphaAt(double x, double y) { + final px = x.round(); + final py = y.round(); + if (px < 0 || py < 0 || px >= width || py >= height) return 0; + return bytes[(py * width + px) * 4 + 3] / 255; + } + + /// Total alpha inside [rect], in whole-pixel units. + double totalAlpha(ui.Rect rect) { + var sum = 0.0; + for (var y = rect.top.round(); y < rect.bottom.round(); y++) { + for (var x = rect.left.round(); x < rect.right.round(); x++) { + sum += alphaAt(x.toDouble(), y.toDouble()); + } + } + return sum; + } + + /// Alpha sampled just inside the border of [rect], once per angle around + /// it — the ring as the rotating beam sees it. + /// + /// [depth] is how far in the sample looks: 1 reads the stroke alone, while + /// a deeper probe also reaches the rounded corners, where the contour sits + /// several px inside the box. + List ringProfile(ui.Rect rect, {int samples = 144, int depth = 10}) => + [ + for (var i = 0; i < samples; i++) + _ringSample(rect, i * 2 * math.pi / samples, depth), + ]; + + double _ringSample(ui.Rect rect, double angle, int depth) { + final dx = math.sin(angle); + final dy = -math.cos(angle); + final tx = dx.abs() < 1e-6 ? double.infinity : (rect.width / 2) / dx.abs(); + final ty = dy.abs() < 1e-6 ? double.infinity : (rect.height / 2) / dy.abs(); + final t = math.min(tx, ty); + if (!t.isFinite) return 0; + final edge = rect.center + ui.Offset(dx * t, dy * t); + var best = 0.0; + for (var inward = 1; inward <= depth; inward++) { + final p = edge - ui.Offset(dx, dy) * inward.toDouble(); + best = math.max(best, alphaAt(p.dx, p.dy)); + } + return best; + } + + /// Column-by-column alpha totals inside [rect], normalised to 0–1. + List columnProfile(ui.Rect rect) { + final columns = []; + for (var x = rect.left.round(); x < rect.right.round(); x++) { + var sum = 0.0; + for (var y = rect.top.round(); y < rect.bottom.round(); y++) { + sum += alphaAt(x.toDouble(), y.toDouble()); + } + columns.add(sum); + } + final peak = columns.fold(0.0, math.max); + return peak <= 0 ? columns : [for (final v in columns) v / peak]; + } + + /// The x of the brightest column inside [rect]. + double brightestColumn(ui.Rect rect) { + final columns = columnProfile(rect); + var best = 0; + for (var i = 1; i < columns.length; i++) { + if (columns[i] > columns[best]) best = i; + } + return rect.left + best; + } + + /// How far in from the nearest image edge the farthest lit pixel sits. + double inwardReach() { + var reach = 0.0; + for (var y = 0; y < height; y++) { + for (var x = 0; x < width; x++) { + if (alphaAt(x.toDouble(), y.toDouble()) <= 0) continue; + final d = math + .min(math.min(x, width - 1 - x), math.min(y, height - 1 - y)) + .toDouble(); + reach = math.max(reach, d); + } + } + return reach; + } + + /// How far past [rect] the farthest lit pixel sits on the given axis. + double farthestLit(ui.Rect rect, {required Axis axis}) { + var reach = 0.0; + for (var y = 0; y < height; y++) { + for (var x = 0; x < width; x++) { + if (alphaAt(x.toDouble(), y.toDouble()) <= 0.02) continue; + final d = axis == Axis.vertical + ? math.max(rect.top - y, y - rect.bottom) + : math.max(rect.left - x, x - rect.right); + reach = math.max(reach, d); + } + } + return reach; + } +} + +/// How many runs of `true` [flags] holds. +int _runs(List flags) { + var n = 0; + for (var i = 0; i < flags.length; i++) { + if (flags[i] && (i == 0 || !flags[i - 1])) n++; + } + return n; +} + +/// The runs of a profile that are lit above [threshold] of its peak, as +/// (centre index, length) pairs — the arcs a beam leaves on the ring. +List<({double centre, int length})> _litArcs( + List profile, { + double threshold = 0.25, +}) { + // Smoothed first: a sample sitting right on the threshold would otherwise + // split one arc into several, and an arc count is the whole assertion. + final smooth = [ + for (var i = 0; i < profile.length; i++) + [ + for (var k = -2; k <= 2; k++) + profile[(i + k + profile.length) % profile.length], + ].reduce((a, b) => a + b) / + 5, + ]; + final peak = smooth.fold(0.0, math.max); + if (peak <= 0) return const []; + final lit = [for (final v in smooth) v > peak * threshold]; + final arcs = <({double centre, int length})>[]; + var start = -1; + for (var i = 0; i < lit.length; i++) { + if (lit[i] && start < 0) start = i; + if (!lit[i] && start >= 0) { + arcs.add((centre: (start + i - 1) / 2, length: i - start)); + start = -1; + } + } + if (start >= 0) { + arcs.add(( + centre: (start + lit.length - 1) / 2, + length: lit.length - start, + )); + // A run that wraps the end joins the one at the start. + if (arcs.length > 1 && lit.first) { + final first = arcs.removeAt(0); + final last = arcs.removeLast(); + arcs.insert(0, (centre: last.centre, length: first.length + last.length)); + } + } + return arcs; +} + +/// Distances from a sample of points on [path] to the nearest point of the +/// path inset by [inset] — the realised border width around a contour. +List _insetWidths(Path path, double inset) { + final inner = BeamRingGeometry.insetPath(path, inset); + final innerPoints = []; + for (final metric in inner.computeMetrics()) { + for (var i = 0; i < 200; i++) { + final tangent = metric.getTangentForOffset(metric.length * i / 200); + if (tangent != null) innerPoints.add(tangent.position); + } + } + final widths = []; + for (final metric in path.computeMetrics()) { + for (var i = 0; i < 40; i++) { + final tangent = metric.getTangentForOffset(metric.length * i / 40); + if (tangent == null) continue; + var nearest = double.infinity; + for (final p in innerPoints) { + nearest = math.min(nearest, (p - tangent.position).distance); + } + widths.add(nearest); + } + } + return widths; +} From 0caac2f15af53b1a364996c4d6c7af2c17804ac4 Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 16:34:06 -0700 Subject: [PATCH 15/40] feat(widgets): BeamDecoration, BeamFocusRing, BeamHover, BeamPress MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BeamDecoration paints a beam as a Decoration so it drops into an existing Container or DecoratedBox — foregroundDecoration for the variants BorderBeam paints over its child, decoration for pulseOutside — taking brightness and BorderBeamThemeData as arguments since a BoxPainter has no context. BeamFocusRing lights while the wrapped subtree or a given FocusNode holds focus and honors the focus highlight mode; BeamHover lights on hover and steers the sweep to the cursor through BorderBeam.follow with a hold after exit; BeamPress lights while a finger is down with a minimum duration and never takes a gesture from its child. Co-Authored-By: Claude Opus 5 (1M context) --- lib/flutter_border_beam.dart | 4 + lib/src/widgets/beam_decoration.dart | 325 +++++++++++++++ lib/src/widgets/beam_focus_ring.dart | 192 +++++++++ lib/src/widgets/beam_hover.dart | 194 +++++++++ lib/src/widgets/beam_press.dart | 193 +++++++++ .../goldens/widgets_decoration_rotate.png | Bin 0 -> 63238 bytes .../goldens/widgets_focus_ring_active.png | Bin 0 -> 35074 bytes test/golden/widgets_golden_test.dart | 97 +++++ test/widgets/beam_decoration_test.dart | 389 ++++++++++++++++++ test/widgets/beam_focus_ring_test.dart | 310 ++++++++++++++ test/widgets/beam_hover_test.dart | 204 +++++++++ test/widgets/beam_press_test.dart | 315 ++++++++++++++ 12 files changed, 2223 insertions(+) create mode 100644 lib/src/widgets/beam_decoration.dart create mode 100644 lib/src/widgets/beam_focus_ring.dart create mode 100644 lib/src/widgets/beam_hover.dart create mode 100644 lib/src/widgets/beam_press.dart create mode 100644 test/golden/goldens/widgets_decoration_rotate.png create mode 100644 test/golden/goldens/widgets_focus_ring_active.png create mode 100644 test/golden/widgets_golden_test.dart create mode 100644 test/widgets/beam_decoration_test.dart create mode 100644 test/widgets/beam_focus_ring_test.dart create mode 100644 test/widgets/beam_hover_test.dart create mode 100644 test/widgets/beam_press_test.dart diff --git a/lib/flutter_border_beam.dart b/lib/flutter_border_beam.dart index 11db1c3..ec3a89e 100644 --- a/lib/flutter_border_beam.dart +++ b/lib/flutter_border_beam.dart @@ -28,3 +28,7 @@ export 'src/models/beam_theme.dart' show BeamTheme; export 'src/models/beam_theme_config.dart' show BeamThemeConfig; export 'src/models/beam_timing.dart' show BeamTiming; export 'src/models/beam_variant.dart' show BeamVariant; +export 'src/widgets/beam_decoration.dart' show BeamDecoration; +export 'src/widgets/beam_focus_ring.dart' show BeamFocusRing; +export 'src/widgets/beam_hover.dart' show BeamHover; +export 'src/widgets/beam_press.dart' show BeamPress; diff --git a/lib/src/widgets/beam_decoration.dart b/lib/src/widgets/beam_decoration.dart new file mode 100644 index 0000000..6346b36 --- /dev/null +++ b/lib/src/widgets/beam_decoration.dart @@ -0,0 +1,325 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/painting.dart'; +import 'package:flutter/scheduler.dart'; + +import '../animation/beam_clock.dart'; +import '../animation/beam_phases.dart'; +import '../border_beam_theme.dart'; +import '../models/beam_colors.dart'; +import '../models/beam_config.dart'; +import '../models/beam_playback.dart'; +import '../models/beam_shape.dart'; +import '../models/beam_style.dart'; +import '../models/beam_theme.dart'; +import '../models/beam_timing.dart'; +import '../models/beam_variant.dart'; +import '../painting/beam_painter.dart'; +import '../painting/variant_strategy.dart'; + +/// A beam as a [Decoration], for dropping into an existing +/// `Container`/`DecoratedBox` instead of wrapping the subtree in a +/// `BorderBeam`. +/// +/// ```dart +/// Container( +/// foregroundDecoration: BeamDecoration( +/// variant: BeamVariant.rotate, +/// brightness: Theme.of(context).brightness, +/// colors: BeamColors.ocean, +/// borderRadius: 16, +/// ), +/// decoration: BoxDecoration( +/// color: surface, +/// borderRadius: BorderRadius.circular(16), +/// ), +/// child: content, +/// ) +/// ``` +/// +/// It takes the same value objects and shorthands as `BorderBeam` — [style], +/// [shape], [timing], [playback], plus the [colors]/[active]/[borderRadius] +/// shorthands — and paints the identical frames. +/// +/// ## Which slot +/// +/// A decoration paints in exactly one slot, so the variant decides which: +/// +/// | Variant | Slot | +/// | --- | --- | +/// | [BeamVariant.rotate], [BeamVariant.small], [BeamVariant.line], [BeamVariant.pulseInside] | `foregroundDecoration:` | +/// | [BeamVariant.pulseOutside] | `decoration:` | +/// +/// `BorderBeam` paints every layer of the first four *over* its child, which +/// is what `foregroundDecoration:` does — put them in `decoration:` only when +/// the beam is meant to sit under opaque content. +/// [BeamVariant.pulseOutside] is the opposite case: its halo blooms behind +/// and outside the child, so it belongs in `decoration:`, and the child needs +/// the same clip-free room around it that the widget form requires. +/// +/// ## Limits of the decoration form +/// +/// A [BoxPainter] gets a canvas and nothing else — no `BuildContext`, no +/// [TickerProvider]. Prefer `BorderBeam` when any of these matter; it is the +/// same engine with the context the decoration cannot reach: +/// +/// - **Ambient theming is passed in, not read.** [brightness] is required and +/// [theme] takes the `BorderBeamThemeData` that `BorderBeamTheme.of` would +/// have returned; a decoration inherits from no enclosing theme by itself. +/// - **The ticker is unmanaged.** It is created directly rather than through +/// a [TickerProvider], so it is not muted by `TickerMode` — a beam inside a +/// scrollable's off-screen cache extent, or under an inactive route, keeps +/// ticking. It stops only when the decoration is replaced or its render +/// object is disposed. +/// - **Reduced motion is not observed.** `MediaQuery.disableAnimationsOf` is +/// unreachable, so [BeamPlayback.reducedMotion] has no effect here. +/// - **[active] is a starting state, not a toggle.** Changing any field +/// replaces the decoration, which discards the running painter and builds a +/// fresh one — so flipping [active] cuts rather than fading. Animated +/// activation is `BorderBeam`'s. +/// - **It does not interpolate.** `lerpFrom`/`lerpTo` return null (the +/// inherited behavior), so an `AnimatedContainer` snaps between two beam +/// decorations at the halfway point. +/// +/// The decoration never absorbs pointer events: `hitTest` returns false, so +/// hits fall through to the child exactly as they do under `BorderBeam`. +@immutable +class BeamDecoration extends Decoration { + /// Creates a beam decoration for [variant]. + /// + /// [brightness] is the ambient brightness the beam adapts to — normally + /// `Theme.of(context).brightness`; `style.theme` still overrides it. + /// [theme] stands in for the enclosing `BorderBeamTheme`: pass + /// `BorderBeamTheme.of(context)` to inherit app-wide defaults. + const BeamDecoration({ + required this.variant, + required this.brightness, + this.theme, + this.colors, + this.active, + this.borderRadius, + this.style, + this.shape, + this.timing, + this.playback, + }); + + /// Which effect this decoration paints. + final BeamVariant variant; + + /// The ambient brightness the beam adapts to, since a painter cannot read + /// one. `style.theme` (a [BeamTheme] other than [BeamTheme.auto]) wins. + final Brightness brightness; + + /// The defaults an enclosing `BorderBeamTheme` would have supplied. Null + /// inherits nothing. + final BorderBeamThemeData? theme; + + /// Shorthand for `style.colors`; a non-null value here wins over it. + final BeamColors? colors; + + /// Shorthand for `playback.active`; a non-null value here wins over it. + /// A starting state rather than a toggle — see the class docs. + final bool? active; + + /// Shorthand for a uniform `shape.radius` in logical px; a non-null value + /// here wins over it. Match the decorated box's own radius. + final double? borderRadius; + + /// Colors, theme adaptation, and every filter/opacity tuning hook. + final BeamStyle? style; + + /// Corner radii, ring width, and corner family. + final BeamShape? shape; + + /// Cycle length, rest between sweeps, playback rate, and hue periods. + final BeamTiming? timing; + + /// Play state and scheduling. [BeamPlayback.reducedMotion] is inert here. + final BeamPlayback? playback; + + // The decoration's own value objects, with the shorthands folded in and + // [theme] merged underneath — the decoration's analogue of BorderBeam's + // build-time resolution. + BeamStyle get _style { + final own = colors == null + ? style + : (style ?? const BeamStyle()).copyWith(colors: colors); + return (theme?.style ?? const BeamStyle()).merge(own); + } + + BeamShape get _shape { + final own = borderRadius == null + ? shape + : (shape ?? const BeamShape()).copyWith( + radius: BorderRadius.circular(borderRadius!), + ); + return (theme?.shape ?? const BeamShape()).merge(own); + } + + BeamTiming get _timing => (theme?.timing ?? const BeamTiming()).merge(timing); + + BeamPlayback get _playback { + final own = active == null + ? playback + : (playback ?? const BeamPlayback()).copyWith(active: active); + return (theme?.playback ?? const BeamPlayback()).merge(own); + } + + @override + BoxPainter createBoxPainter([VoidCallback? onChanged]) => + _BeamBoxPainter(this, onChanged); + + /// Always false: the beam is decorative and never absorbs a pointer. + @override + bool hitTest(Size size, Offset position, {TextDirection? textDirection}) => + false; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is BeamDecoration && + other.variant == variant && + other.brightness == brightness && + other.theme == theme && + other.colors == colors && + other.active == active && + other.borderRadius == borderRadius && + other.style == style && + other.shape == shape && + other.timing == timing && + other.playback == playback; + + @override + int get hashCode => Object.hash( + variant, + brightness, + theme, + colors, + active, + borderRadius, + style, + shape, + timing, + playback, + ); + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(EnumProperty('variant', variant)) + ..add(EnumProperty('brightness', brightness)) + ..add( + DiagnosticsProperty( + 'theme', + theme, + defaultValue: null, + ), + ) + ..add(DiagnosticsProperty('style', _style)) + ..add(DiagnosticsProperty('shape', _shape)) + ..add(DiagnosticsProperty('timing', _timing)) + ..add(DiagnosticsProperty('playback', _playback)); + } +} + +// Owns one BeamClock for the lifetime of the decoration it was created for. +// +// The clock's ticker is built with `Ticker.new` rather than a TickerProvider: +// a BoxPainter has no provider to ask, and none of the tree-driven muting +// that comes with one (see the class docs on BeamDecoration). +class _BeamBoxPainter extends BoxPainter { + _BeamBoxPainter(this._decoration, super.onChanged) + : _strategy = strategyFor(_decoration.variant) { + _clock = BeamClock(createTicker: Ticker.new, maxFps: _strategy.preferredFps) + ..speed = _decoration._timing.speed ?? 1; + _schedule(); + // Subscribed last, on purpose: createBoxPainter runs *inside* the render + // object's paint, where onChanged (markNeedsPaint) is illegal, and + // _schedule may activate the clock synchronously. + _clock.addListener(_handleTick); + } + + final BeamDecoration _decoration; + final BeamVariantStrategy _strategy; + late final BeamClock _clock; + + Timer? _startTimer; + Timer? _durationTimer; + + BeamConfig? _config; + BeamPhaseResolver? _resolver; + TextDirection? _configDirection; + bool _disposed = false; + + // Mirrors BorderBeam's autoplay: `active`/`autoPlay` gate the start, + // `startAfter` delays it, `duration` ends it. There is no controller here — + // a controller attaches to a widget's clock, not a painter's. + void _schedule() { + final playback = _decoration._playback; + if (!(playback.autoPlay ?? true) || !(playback.active ?? true)) return; + final startAfter = playback.startAfter; + if (startAfter == null) { + _start(); + } else { + _startTimer = Timer(startAfter, _start); + } + } + + void _start() { + if (_disposed) return; + _clock.activate(); + final duration = _decoration._playback.duration; + if (duration != null) _durationTimer = Timer(duration, _clock.deactivate); + } + + void _handleTick() => onChanged?.call(); + + BeamConfig _configFor(TextDirection textDirection) { + if (_config != null && _configDirection == textDirection) return _config!; + final style = _decoration._style; + _configDirection = textDirection; + _config = BeamConfig.resolve( + variant: _decoration.variant, + palette: (style.colors ?? BeamColors.colorful).resolve(), + brightness: (style.theme ?? BeamTheme.auto).resolve( + _decoration.brightness, + ), + style: style, + shape: _decoration._shape, + timing: _decoration._timing, + textDirection: textDirection, + ); + _resolver = BeamPhaseResolver(_config!); + return _config!; + } + + @override + void paint(Canvas canvas, Offset offset, ImageConfiguration configuration) { + final size = configuration.size; + if (size == null || size.isEmpty || !_clock.isVisible) return; + final config = _configFor(configuration.textDirection ?? TextDirection.ltr); + final phases = _resolver!.sample(_clock.elapsedSeconds, _clock.fadeOpacity); + canvas.save(); + canvas.translate(offset.dx, offset.dy); + // Both passes land in this one slot; BeamDecoration's docs say which slot + // to hand the variant so they land on the right side of the child. + _strategy + ..paintBehind(canvas, size, config, phases) + ..paintAbove(canvas, size, config, phases); + canvas.restore(); + } + + @override + void dispose() { + _disposed = true; + _startTimer?.cancel(); + _durationTimer?.cancel(); + _clock + ..removeListener(_handleTick) + ..dispose(); + super.dispose(); + } +} diff --git a/lib/src/widgets/beam_focus_ring.dart b/lib/src/widgets/beam_focus_ring.dart new file mode 100644 index 0000000..39834d5 --- /dev/null +++ b/lib/src/widgets/beam_focus_ring.dart @@ -0,0 +1,192 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart'; + +import '../border_beam.dart'; +import '../models/beam_colors.dart'; +import '../models/beam_shape.dart'; +import '../models/beam_style.dart'; +import '../models/beam_timing.dart'; +import '../models/beam_variant.dart'; + +/// Lights a beam around [child] while it holds keyboard focus. +/// +/// ```dart +/// BeamFocusRing( +/// borderRadius: 12, +/// child: TextField(decoration: decoration), +/// ) +/// ``` +/// +/// With no [focusNode] the ring inserts a non-focusable [Focus] around +/// [child] and follows *its subtree*: the beam lights while [child] or any +/// descendant of it holds focus, which is what a field, a button, or a whole +/// form wrapped in one ring should do. Pass [focusNode] to follow one +/// specific node instead — including a node that lives outside this subtree. +/// +/// Focus comes and goes with the beam's own fades (0.6s in, 0.5s out) rather +/// than a cut, because the ring only flips `BorderBeam`'s `active`. +/// +/// ## Highlight mode +/// +/// The ring follows [FocusManager.highlightMode], the same rule +/// [FocusableActionDetector] uses: it shows under +/// [FocusHighlightMode.traditional] (focus moved by keyboard or mouse) and +/// stays dark under [FocusHighlightMode.touch], where a focus ring around a +/// tapped field is noise. Set [alwaysShow] to light it in either mode. +/// +/// ## Accessibility +/// +/// This is a *visual* focus indicator and complements the semantics a focused +/// widget already reports — it adds none of its own. Assistive technology +/// announces focus through the focused widget, not through this ring, so keep +/// whatever labels and semantics [child] carries. +class BeamFocusRing extends StatefulWidget { + /// Creates a focus ring around [child]. + const BeamFocusRing({ + super.key, + required this.child, + this.focusNode, + this.variant = BeamVariant.small, + this.colors = BeamColors.ocean, + this.borderRadius, + this.style, + this.shape, + this.timing, + this.alwaysShow = false, + }); + + /// The focused content. Laid out and hit-tested normally. + final Widget child; + + /// The node whose focus the ring follows. Null follows [child]'s own + /// subtree through an inserted non-focusable [Focus]. + final FocusNode? focusNode; + + /// Which effect the ring paints. Defaults to [BeamVariant.small], the + /// compact traveling beam. + final BeamVariant variant; + + /// The ring's palette. Defaults to [BeamColors.ocean]. + final BeamColors colors; + + /// Shorthand for a uniform corner radius in logical px. Match the focused + /// widget's own radius. + final double? borderRadius; + + /// Colors, theme adaptation, and filter hooks, passed straight through. + final BeamStyle? style; + + /// Corner radii, ring width, and corner family, passed straight through. + final BeamShape? shape; + + /// Cycle length, rest, rate, and hue periods, passed straight through. + final BeamTiming? timing; + + /// Whether to light the ring even under [FocusHighlightMode.touch]. + final bool alwaysShow; + + @override + State createState() => _BeamFocusRingState(); + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(EnumProperty('variant', variant)) + ..add(DiagnosticsProperty('colors', colors)) + ..add(DoubleProperty('borderRadius', borderRadius, defaultValue: null)) + ..add( + DiagnosticsProperty( + 'focusNode', + focusNode, + defaultValue: null, + ), + ) + ..add(FlagProperty('alwaysShow', value: alwaysShow, ifTrue: 'alwaysShow')) + ..add(DiagnosticsProperty('style', style, defaultValue: null)) + ..add(DiagnosticsProperty('shape', shape, defaultValue: null)) + ..add( + DiagnosticsProperty('timing', timing, defaultValue: null), + ); + } +} + +class _BeamFocusRingState extends State { + // Created only when no node was supplied. Non-focusable and skipped by + // traversal, so it changes nothing about where focus can land — it exists + // to report whether focus is somewhere inside [child]. + FocusNode? _internalNode; + bool _focused = false; + late FocusHighlightMode _highlightMode; + + FocusNode get _node => widget.focusNode ?? (_internalNode ??= FocusNode()); + + @override + void initState() { + super.initState(); + _highlightMode = FocusManager.instance.highlightMode; + FocusManager.instance.addHighlightModeListener(_handleHighlightModeChange); + _node.addListener(_handleFocusChange); + _focused = _node.hasFocus; + } + + @override + void didUpdateWidget(BeamFocusRing oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.focusNode == widget.focusNode) return; + (oldWidget.focusNode ?? _internalNode)?.removeListener(_handleFocusChange); + if (widget.focusNode != null) { + _internalNode?.dispose(); + _internalNode = null; + } + _node.addListener(_handleFocusChange); + _focused = _node.hasFocus; + } + + @override + void dispose() { + FocusManager.instance.removeHighlightModeListener( + _handleHighlightModeChange, + ); + _node.removeListener(_handleFocusChange); + _internalNode?.dispose(); + super.dispose(); + } + + void _handleFocusChange() { + final focused = _node.hasFocus; + if (focused == _focused) return; + setState(() => _focused = focused); + } + + void _handleHighlightModeChange(FocusHighlightMode mode) { + if (!mounted || mode == _highlightMode) return; + setState(() => _highlightMode = mode); + } + + // Mirrors FocusableActionDetector: a focus highlight belongs to keyboard + // and mouse interaction, not to a tap that put focus in a field. + bool get _showHighlight => + widget.alwaysShow || _highlightMode == FocusHighlightMode.traditional; + + @override + Widget build(BuildContext context) { + final beam = BorderBeam( + variant: widget.variant, + colors: widget.colors, + active: _focused && _showHighlight, + borderRadius: widget.borderRadius, + style: widget.style, + shape: widget.shape, + timing: widget.timing, + child: widget.child, + ); + if (widget.focusNode != null) return beam; + return Focus( + focusNode: _node, + canRequestFocus: false, + skipTraversal: true, + child: beam, + ); + } +} diff --git a/lib/src/widgets/beam_hover.dart b/lib/src/widgets/beam_hover.dart new file mode 100644 index 0000000..c78cce2 --- /dev/null +++ b/lib/src/widgets/beam_hover.dart @@ -0,0 +1,194 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/gestures.dart'; +import 'package:flutter/widgets.dart'; + +import '../border_beam.dart'; +import '../models/beam_colors.dart'; +import '../models/beam_shape.dart'; +import '../models/beam_style.dart'; +import '../models/beam_timing.dart'; +import '../models/beam_variant.dart'; + +/// Lights a beam around [child] while the cursor is over it, and pulls the +/// sweep toward the cursor — the "spotlight border" effect. +/// +/// ```dart +/// BeamHover( +/// borderRadius: 20, +/// child: pricingCard, +/// ) +/// ``` +/// +/// Hover is a pointer-device idea, so this is a desktop and web wrapper: on a +/// touch device no mouse ever enters and the beam simply stays dark. `BeamPress` +/// is the touch counterpart. +/// +/// The cursor position is fed to `BorderBeam.follow` as normalized box +/// coordinates, which eases the beam to the perimeter point nearest the +/// cursor. Leaving releases the follow immediately — the sweep resumes its +/// own schedule from where it is, without a snap — and the beam fades out +/// [holdAfterExit] later, so crossing a gap between two hoverable cards does +/// not strobe. Set [followPointer] to false to light the beam on hover +/// without steering it. +class BeamHover extends StatefulWidget { + /// Creates a hover-driven beam around [child]. + const BeamHover({ + super.key, + required this.child, + this.variant = BeamVariant.rotate, + this.colors, + this.borderRadius, + this.style, + this.shape, + this.timing, + this.followPointer = true, + this.holdAfterExit = const Duration(milliseconds: 300), + }); + + /// The hovered content. Laid out and hit-tested normally. + final Widget child; + + /// Which effect the hover paints. Defaults to [BeamVariant.rotate]; only + /// the traveling variants can follow a pointer. + final BeamVariant variant; + + /// Shorthand for `style.colors`; a non-null value here wins over it. + final BeamColors? colors; + + /// Shorthand for a uniform corner radius in logical px. Match [child]'s own + /// radius. + final double? borderRadius; + + /// Colors, theme adaptation, and filter hooks, passed straight through. + final BeamStyle? style; + + /// Corner radii, ring width, and corner family, passed straight through. + final BeamShape? shape; + + /// Cycle length, rest, rate, and hue periods, passed straight through. + final BeamTiming? timing; + + /// Whether the sweep gravitates to the cursor. False lights the beam on + /// hover and leaves it on its own schedule. + final bool followPointer; + + /// How long the beam stays lit after the cursor leaves. + final Duration holdAfterExit; + + @override + State createState() => _BeamHoverState(); + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(EnumProperty('variant', variant)) + ..add( + DiagnosticsProperty('colors', colors, defaultValue: null), + ) + ..add(DoubleProperty('borderRadius', borderRadius, defaultValue: null)) + ..add( + FlagProperty( + 'followPointer', + value: followPointer, + ifFalse: 'does not follow the pointer', + ), + ) + ..add(DiagnosticsProperty('holdAfterExit', holdAfterExit)) + ..add(DiagnosticsProperty('style', style, defaultValue: null)) + ..add(DiagnosticsProperty('shape', shape, defaultValue: null)) + ..add( + DiagnosticsProperty('timing', timing, defaultValue: null), + ); + } +} + +class _BeamHoverState extends State { + bool _active = false; + Offset? _follow; + Timer? _exitTimer; + + @override + void didUpdateWidget(BeamHover oldWidget) { + super.didUpdateWidget(oldWidget); + if (!widget.followPointer && _follow != null) _follow = null; + } + + @override + void dispose() { + _exitTimer?.cancel(); + super.dispose(); + } + + void _handleEnter(PointerEnterEvent event) { + _exitTimer?.cancel(); + _exitTimer = null; + _track(event.localPosition, active: true); + } + + void _handleHover(PointerHoverEvent event) => + _track(event.localPosition, active: true); + + // The beam releases the pointer the moment it leaves, then holds its light + // for [holdAfterExit]: a cursor crossing the gap between two cards should + // not make either one strobe. + void _handleExit(PointerExitEvent event) { + _exitTimer?.cancel(); + _exitTimer = null; + if (widget.holdAfterExit <= Duration.zero) { + setState(() { + _follow = null; + _active = false; + }); + return; + } + _exitTimer = Timer(widget.holdAfterExit, _fadeOut); + if (_follow != null) setState(() => _follow = null); + } + + void _fadeOut() { + _exitTimer = null; + if (!mounted) return; + setState(() => _active = false); + } + + void _track(Offset localPosition, {required bool active}) { + final follow = widget.followPointer ? _normalize(localPosition) : null; + if (active == _active && follow == _follow) return; + setState(() { + _active = active; + _follow = follow; + }); + } + + // Normalized box coordinates, which is what BorderBeam.follow takes. The + // position is already local to the MouseRegion's box. + Offset? _normalize(Offset localPosition) { + final box = context.findRenderObject() as RenderBox?; + if (box == null || !box.hasSize || box.size.isEmpty) return null; + return Offset( + (localPosition.dx / box.size.width).clamp(0.0, 1.0), + (localPosition.dy / box.size.height).clamp(0.0, 1.0), + ); + } + + @override + Widget build(BuildContext context) => MouseRegion( + onEnter: _handleEnter, + onHover: _handleHover, + onExit: _handleExit, + child: BorderBeam( + variant: widget.variant, + colors: widget.colors, + active: _active, + follow: _follow, + borderRadius: widget.borderRadius, + style: widget.style, + shape: widget.shape, + timing: widget.timing, + child: widget.child, + ), + ); +} diff --git a/lib/src/widgets/beam_press.dart b/lib/src/widgets/beam_press.dart new file mode 100644 index 0000000..9ac8348 --- /dev/null +++ b/lib/src/widgets/beam_press.dart @@ -0,0 +1,193 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart'; + +import '../border_beam.dart'; +import '../models/beam_colors.dart'; +import '../models/beam_shape.dart'; +import '../models/beam_style.dart'; +import '../models/beam_timing.dart'; +import '../models/beam_variant.dart'; + +/// Lights a beam around [child] while a finger is down on it. +/// +/// The touch counterpart of `BeamHover`: pointer-down activates the beam, +/// pointer-up releases it. A tap is far shorter than a pulse, so a release is +/// held until [minimumDuration] has passed since the press began — otherwise +/// every tap would be a flicker. +/// +/// ```dart +/// BeamPress( +/// borderRadius: 20, +/// onTap: () => submit(), +/// child: card, +/// ) +/// ``` +/// +/// ## Gestures +/// +/// The listener is a plain [Listener] with [HitTestBehavior.translucent]: it +/// observes raw pointer events without entering the gesture arena, so it can +/// never win a gesture away from [child]. A button or a `GestureDetector` +/// inside keeps receiving its own taps, and a scrollable above keeps its +/// drags. +/// +/// [onTap] is a convenience for the common "the whole thing is tappable" +/// case, fired when the pointer lifts inside the widget's bounds. Because it +/// bypasses the arena it does not wait to see whether another recognizer +/// claims the gesture; a child that has its own tap handling should keep it +/// and leave [onTap] null. +class BeamPress extends StatefulWidget { + /// Creates a press-driven beam around [child]. + const BeamPress({ + super.key, + required this.child, + this.variant = BeamVariant.pulseInside, + this.colors, + this.borderRadius, + this.style, + this.shape, + this.timing, + this.minimumDuration = const Duration(milliseconds: 600), + this.onTap, + }); + + /// The pressed content. Laid out and hit-tested normally. + final Widget child; + + /// Which effect the press paints. Defaults to [BeamVariant.pulseInside], + /// whose breathing glow reads as "held". + final BeamVariant variant; + + /// Shorthand for `style.colors`; a non-null value here wins over it. + final BeamColors? colors; + + /// Shorthand for a uniform corner radius in logical px. Match [child]'s own + /// radius. + final double? borderRadius; + + /// Colors, theme adaptation, and filter hooks, passed straight through. + final BeamStyle? style; + + /// Corner radii, ring width, and corner family, passed straight through. + final BeamShape? shape; + + /// Cycle length, rest, rate, and hue periods, passed straight through. + final BeamTiming? timing; + + /// How long the beam stays lit from pointer-down, however early the pointer + /// lifts. A quick tap still gets a full pulse. [Duration.zero] releases on + /// pointer-up. + final Duration minimumDuration; + + /// Called when the pointer lifts inside the widget's bounds. + final VoidCallback? onTap; + + @override + State createState() => _BeamPressState(); + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(EnumProperty('variant', variant)) + ..add( + DiagnosticsProperty('colors', colors, defaultValue: null), + ) + ..add(DoubleProperty('borderRadius', borderRadius, defaultValue: null)) + ..add(DiagnosticsProperty('minimumDuration', minimumDuration)) + ..add(FlagProperty('onTap', value: onTap != null, ifTrue: 'tappable')) + ..add(DiagnosticsProperty('style', style, defaultValue: null)) + ..add(DiagnosticsProperty('shape', shape, defaultValue: null)) + ..add( + DiagnosticsProperty('timing', timing, defaultValue: null), + ); + } +} + +class _BeamPressState extends State { + bool _active = false; + bool _down = false; + bool _minimumMet = true; + int? _pointer; + Timer? _minimumTimer; + + @override + void dispose() { + _minimumTimer?.cancel(); + super.dispose(); + } + + void _handleDown(PointerDownEvent event) { + // A second finger while one is already down changes nothing: the beam is + // already lit and its minimum runs from the first press. + if (_pointer != null) return; + _pointer = event.pointer; + _down = true; + _minimumTimer?.cancel(); + _minimumMet = widget.minimumDuration <= Duration.zero; + if (!_minimumMet) { + _minimumTimer = Timer(widget.minimumDuration, _handleMinimumElapsed); + } + if (!_active) setState(() => _active = true); + } + + void _handleMinimumElapsed() { + _minimumTimer = null; + _minimumMet = true; + if (!_down) _release(); + } + + void _handleUp(PointerUpEvent event) { + if (event.pointer != _pointer) return; + _pointer = null; + _down = false; + if (_minimumMet) _release(); + if (widget.onTap != null && _containsLocal(event.localPosition)) { + widget.onTap!(); + } + } + + // A cancel means another recognizer took the gesture over (a scroll, most + // often). Nothing was pressed, so the beam drops immediately rather than + // holding out the minimum a real press earns. + void _handleCancel(PointerCancelEvent event) { + if (event.pointer != _pointer) return; + _pointer = null; + _down = false; + _minimumTimer?.cancel(); + _minimumTimer = null; + _minimumMet = true; + _release(); + } + + bool _containsLocal(Offset position) { + final box = context.findRenderObject() as RenderBox?; + if (box == null || !box.hasSize) return false; + return (Offset.zero & box.size).contains(position); + } + + void _release() { + if (!mounted || !_active) return; + setState(() => _active = false); + } + + @override + Widget build(BuildContext context) => Listener( + behavior: HitTestBehavior.translucent, + onPointerDown: _handleDown, + onPointerUp: _handleUp, + onPointerCancel: _handleCancel, + child: BorderBeam( + variant: widget.variant, + colors: widget.colors, + active: _active, + borderRadius: widget.borderRadius, + style: widget.style, + shape: widget.shape, + timing: widget.timing, + child: widget.child, + ), + ); +} diff --git a/test/golden/goldens/widgets_decoration_rotate.png b/test/golden/goldens/widgets_decoration_rotate.png new file mode 100644 index 0000000000000000000000000000000000000000..583837fe39e83b7fd1a6cf80f1170e3b7a66155c GIT binary patch literal 63238 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

    8IpKmlQR9 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 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/widgets_focus_ring_active.png b/test/golden/goldens/widgets_focus_ring_active.png new file mode 100644 index 0000000000000000000000000000000000000000..1e8bc770f91e77993adef9ca9561b33cba2c340d GIT binary patch literal 35074 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 literal 0 HcmV?d00001 diff --git a/test/golden/widgets_golden_test.dart b/test/golden/widgets_golden_test.dart new file mode 100644 index 0000000..3534068 --- /dev/null +++ b/test/golden/widgets_golden_test.dart @@ -0,0 +1,97 @@ +@Tags(['golden']) +library; + +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// Golden scenes for the surface and interaction wrappers, frozen at the same +/// 1.3s instant the variant goldens use (past the 0.6s fade-in, mid-cycle). +/// They pin what the wrappers *compose* — the decoration form painting the +/// same beam a widget does, and the focus ring lit — not the beam frames +/// themselves, which `beam_golden_test.dart` owns. +/// +/// Regenerate with: +/// flutter test --update-goldens --tags golden +void main() { + const surfaceRadius = 16.0; + + Widget scene(Widget body) => MaterialApp( + debugShowCheckedModeBanner: false, + theme: ThemeData(brightness: Brightness.dark), + home: ColoredBox( + // The demo backdrop of the source library. + color: const Color(0xFF070707), + child: Center(child: body), + ), + ); + + BoxDecoration surface({double radius = surfaceRadius}) => BoxDecoration( + color: const Color(0xFF1D1D1D), + borderRadius: BorderRadius.circular(radius), + border: Border.all(color: const Color(0x14FFFFFF)), + ); + + testWidgets('decoration rotate', (tester) async { + await tester.pumpWidget( + scene( + Container( + width: 350, + height: 140, + decoration: surface(), + // rotate paints over its child, so the beam takes the foreground + // slot and the surface takes the background one. + foregroundDecoration: const BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + style: BeamStyle(theme: BeamTheme.dark), + borderRadius: surfaceRadius, + ), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1300)); + + await expectLater( + find.byType(MaterialApp), + matchesGoldenFile('goldens/widgets_decoration_rotate.png'), + ); + }); + + testWidgets('focus ring active', (tester) async { + FocusManager.instance.highlightStrategy = + FocusHighlightStrategy.alwaysTraditional; + addTearDown(() { + FocusManager.instance.highlightStrategy = + FocusHighlightStrategy.automatic; + }); + final node = FocusNode(); + addTearDown(node.dispose); + + await tester.pumpWidget( + scene( + BeamFocusRing( + borderRadius: 32, + style: const BeamStyle(theme: BeamTheme.dark), + child: Focus( + focusNode: node, + child: Container( + width: 220, + height: 56, + decoration: surface(radius: 32), + ), + ), + ), + ), + ); + node.requestFocus(); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1300)); + + await expectLater( + find.byType(MaterialApp), + matchesGoldenFile('goldens/widgets_focus_ring_active.png'), + ); + }); +} diff --git a/test/widgets/beam_decoration_test.dart b/test/widgets/beam_decoration_test.dart new file mode 100644 index 0000000..b5e33d1 --- /dev/null +++ b/test/widgets/beam_decoration_test.dart @@ -0,0 +1,389 @@ +import 'dart:ui' as ui; + +import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// [BeamDecoration] runs the beam engine from a [BoxPainter] instead of a +/// widget: it owns a raw [Ticker], repaints its box through `onChanged`, and +/// must give that ticker back when the render object drops it. +void main() { + const boundaryKey = ValueKey('boundary'); + + Widget scene(Decoration decoration, {bool foreground = true}) => MaterialApp( + debugShowCheckedModeBanner: false, + theme: ThemeData(brightness: Brightness.dark), + home: Center( + child: RepaintBoundary( + key: boundaryKey, + child: Container( + width: 350, + height: 140, + foregroundDecoration: foreground ? decoration : null, + decoration: foreground ? null : decoration, + ), + ), + ), + ); + + // Non-transparent pixels inside the boundary. Nothing else in the scene + // paints, so a count above zero is the beam and only the beam. + Future paintedPixels(WidgetTester tester) async { + final boundary = tester.renderObject( + find.byKey(boundaryKey), + ); + var painted = 0; + await tester.runAsync(() async { + final image = await boundary.toImage(); + final bytes = await image.toByteData(format: ui.ImageByteFormat.rawRgba); + image.dispose(); + for (var i = 3; i < bytes!.lengthInBytes; i += 4) { + if (bytes.getUint8(i) != 0) painted++; + } + }); + return painted; + } + + group('painting', () { + testWidgets('paints the beam through a DecoratedBox', (tester) async { + await tester.pumpWidget( + scene( + const BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + borderRadius: 16, + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1300)); + + expect(await paintedPixels(tester), greaterThan(0)); + }); + + testWidgets('paints nothing while inactive', (tester) async { + await tester.pumpWidget( + scene( + const BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + active: false, + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1300)); + + expect(await paintedPixels(tester), 0); + }); + + testWidgets('paints every variant, in the slot its docs name', ( + tester, + ) async { + for (final variant in BeamVariant.values) { + // pulse-outside blooms behind the child; every other variant paints + // over it. Both land in whichever slot the decoration is given. + final foreground = variant != BeamVariant.pulseOutside; + await tester.pumpWidget( + scene( + BeamDecoration(variant: variant, brightness: Brightness.dark), + foreground: foreground, + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1300)); + + expect( + await paintedPixels(tester), + greaterThan(0), + reason: '$variant painted nothing', + ); + await tester.pumpWidget(const SizedBox()); + } + }); + + testWidgets('holds the beam back until startAfter elapses', (tester) async { + await tester.pumpWidget( + scene( + const BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + playback: BeamPlayback(startAfter: Duration(seconds: 1)), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 500)); + expect(await paintedPixels(tester), 0); + + await tester.pump(const Duration(milliseconds: 600)); + await tester.pump(const Duration(milliseconds: 600)); + expect(await paintedPixels(tester), greaterThan(0)); + }); + }); + + group('ticking', () { + testWidgets('calls onChanged on every clock tick', (tester) async { + var changes = 0; + final painter = const BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + ).createBoxPainter(() => changes++); + + // The first tick after Ticker.start() reports elapsed 0; pump once + // before pumping durations. + await tester.pump(); + expect(changes, greaterThan(0)); + + final afterFirst = changes; + await tester.pump(const Duration(milliseconds: 16)); + await tester.pump(const Duration(milliseconds: 16)); + expect(changes, greaterThan(afterFirst)); + painter.dispose(); + }); + + testWidgets('an inactive decoration never ticks', (tester) async { + var changes = 0; + final painter = const BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + playback: BeamPlayback(autoPlay: false), + ).createBoxPainter(() => changes++); + + await tester.pump(); + await tester.pump(const Duration(milliseconds: 500)); + expect(changes, 0); + expect(tester.binding.transientCallbackCount, 0); + painter.dispose(); + }); + + testWidgets('gives its ticker back when the render object goes', ( + tester, + ) async { + await tester.pumpWidget( + scene( + const BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + ), + ), + ); + await tester.pump(); + expect(tester.binding.transientCallbackCount, greaterThan(0)); + + await tester.pumpWidget(const SizedBox()); + expect(tester.binding.transientCallbackCount, 0); + }); + + testWidgets('disposing the painter mid-fade leaves no ticker', ( + tester, + ) async { + final painter = const BeamDecoration( + variant: BeamVariant.pulseInside, + brightness: Brightness.light, + ).createBoxPainter(() {}); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 200)); + expect(tester.binding.transientCallbackCount, greaterThan(0)); + + painter.dispose(); + expect(tester.binding.transientCallbackCount, 0); + }); + + testWidgets('swapping decorations keeps exactly one ticker', ( + tester, + ) async { + await tester.pumpWidget( + scene( + const BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + ), + ), + ); + await tester.pump(); + final before = tester.binding.transientCallbackCount; + + await tester.pumpWidget( + scene( + const BeamDecoration( + variant: BeamVariant.line, + brightness: Brightness.dark, + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1300)); + + expect(tester.binding.transientCallbackCount, before); + expect(await paintedPixels(tester), greaterThan(0)); + }); + }); + + group('value semantics', () { + const base = BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + colors: BeamColors.ocean, + borderRadius: 16, + ); + + test('equal field-for-field', () { + const same = BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + colors: BeamColors.ocean, + borderRadius: 16, + ); + expect(base, equals(same)); + expect(base.hashCode, same.hashCode); + }); + + test('each field participates', () { + expect( + base, + isNot( + const BeamDecoration( + variant: BeamVariant.line, + brightness: Brightness.dark, + colors: BeamColors.ocean, + borderRadius: 16, + ), + ), + ); + expect( + base, + isNot( + const BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.light, + colors: BeamColors.ocean, + borderRadius: 16, + ), + ), + ); + expect( + base, + isNot( + const BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + colors: BeamColors.sunset, + borderRadius: 16, + ), + ), + ); + expect( + base, + isNot( + const BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + colors: BeamColors.ocean, + borderRadius: 24, + ), + ), + ); + expect( + base, + isNot( + const BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + colors: BeamColors.ocean, + borderRadius: 16, + timing: BeamTiming(speed: 2), + ), + ), + ); + }); + + test('does not interpolate between two beam decorations', () { + const other = BeamDecoration( + variant: BeamVariant.line, + brightness: Brightness.dark, + ); + // lerp falls back to the halfway snap Decoration.lerp does when + // neither side can interpolate. + expect(Decoration.lerp(base, other, 0.25), same(base)); + expect(Decoration.lerp(base, other, 0.75), same(other)); + }); + + testWidgets('never absorbs a pointer', (tester) async { + var taps = 0; + await tester.pumpWidget( + MaterialApp( + home: Center( + child: SizedBox( + width: 200, + height: 80, + child: Stack( + children: [ + GestureDetector( + behavior: HitTestBehavior.opaque, + onTap: () => taps++, + ), + // Laid over the target. A Decoration whose hitTest returns + // true would swallow the tap here. + const Positioned.fill( + child: DecoratedBox( + decoration: BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + ), + ), + ), + ], + ), + ), + ), + ), + ); + await tester.pump(); + await tester.tap(find.byType(Stack)); + expect(taps, 1); + }); + + test('shorthands fold into the value objects for diagnostics', () { + final description = base.toDiagnosticsNode().toStringDeep(); + expect(description, contains('variant: rotate')); + expect(description, contains('brightness: dark')); + expect(description, contains('BeamStyle(colors:')); + expect(description, contains('BorderRadius.circular(16.0)')); + }); + }); + + group('theme inheritance', () { + testWidgets('takes its defaults from the BorderBeamThemeData passed in', ( + tester, + ) async { + const themed = BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + theme: BorderBeamThemeData(playback: BeamPlayback(active: false)), + ); + await tester.pumpWidget(scene(themed)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1300)); + + expect(await paintedPixels(tester), 0); + }); + + testWidgets('a decoration value wins over the theme it was given', ( + tester, + ) async { + const themed = BeamDecoration( + variant: BeamVariant.rotate, + brightness: Brightness.dark, + active: true, + theme: BorderBeamThemeData(playback: BeamPlayback(active: false)), + ); + await tester.pumpWidget(scene(themed)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1300)); + + expect(await paintedPixels(tester), greaterThan(0)); + }); + }); +} diff --git a/test/widgets/beam_focus_ring_test.dart b/test/widgets/beam_focus_ring_test.dart new file mode 100644 index 0000000..a6d6581 --- /dev/null +++ b/test/widgets/beam_focus_ring_test.dart @@ -0,0 +1,310 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// [BeamFocusRing] is a thin composition: it only decides `active` on the +/// [BorderBeam] it wraps, from focus plus [FocusManager.highlightMode]. Every +/// assertion below reads that decision off the inner beam. +void main() { + // The test binding reports the Android platform, whose automatic highlight + // mode is `touch` — the mode under which the ring deliberately stays dark. + // Focus tracking is asserted under traditional highlighting; the + // highlight-mode group sets its own. + setUp(() { + FocusManager.instance.highlightStrategy = + FocusHighlightStrategy.alwaysTraditional; + }); + + tearDown(() { + FocusManager.instance.highlightStrategy = FocusHighlightStrategy.automatic; + }); + + bool? ringActive(WidgetTester tester) => + tester.widget(find.byType(BorderBeam)).active; + + // A focus change lands over two frames: the manager applies it during the + // first, and the node's notification rebuilds the ring in the second. + Future settleFocus(WidgetTester tester) async { + await tester.pump(); + await tester.pump(); + } + + Widget scene(Widget child) => MaterialApp( + debugShowCheckedModeBanner: false, + home: Scaffold(body: Center(child: child)), + ); + + group('focus tracking', () { + testWidgets('lights while the wrapped subtree holds focus', (tester) async { + final node = FocusNode(); + addTearDown(node.dispose); + + await tester.pumpWidget( + scene( + BeamFocusRing( + child: SizedBox( + width: 200, + height: 60, + child: TextField(focusNode: node), + ), + ), + ), + ); + expect(ringActive(tester), isFalse); + + node.requestFocus(); + await settleFocus(tester); + expect(ringActive(tester), isTrue); + + node.unfocus(); + await settleFocus(tester); + expect(ringActive(tester), isFalse); + }); + + testWidgets('follows an explicitly given node instead', (tester) async { + final node = FocusNode(); + final other = FocusNode(); + addTearDown(node.dispose); + addTearDown(other.dispose); + + await tester.pumpWidget( + scene( + Column( + mainAxisSize: MainAxisSize.min, + children: [ + Focus(focusNode: other, child: const SizedBox(height: 20)), + BeamFocusRing( + focusNode: node, + child: Focus( + focusNode: node, + child: const SizedBox(width: 200, height: 60), + ), + ), + ], + ), + ), + ); + expect(ringActive(tester), isFalse); + + other.requestFocus(); + await settleFocus(tester); + expect(ringActive(tester), isFalse); + + node.requestFocus(); + await settleFocus(tester); + expect(ringActive(tester), isTrue); + }); + + testWidgets('an explicit node adds no Focus of its own', (tester) async { + final node = FocusNode(); + addTearDown(node.dispose); + + await tester.pumpWidget( + scene( + BeamFocusRing( + focusNode: node, + child: const SizedBox(width: 200, height: 60), + ), + ), + ); + + expect( + find.descendant( + of: find.byType(BeamFocusRing), + matching: find.byType(Focus), + ), + findsNothing, + ); + }); + + testWidgets('swapping the node moves the ring with it', (tester) async { + final first = FocusNode(); + final second = FocusNode(); + addTearDown(first.dispose); + addTearDown(second.dispose); + + Widget build(FocusNode node) => scene( + Column( + mainAxisSize: MainAxisSize.min, + children: [ + Focus(focusNode: first, child: const SizedBox(height: 20)), + Focus(focusNode: second, child: const SizedBox(height: 20)), + BeamFocusRing( + focusNode: node, + child: const SizedBox(width: 200, height: 60), + ), + ], + ), + ); + + await tester.pumpWidget(build(first)); + first.requestFocus(); + await settleFocus(tester); + expect(ringActive(tester), isTrue); + + await tester.pumpWidget(build(second)); + await settleFocus(tester); + expect(ringActive(tester), isFalse); + + second.requestFocus(); + await settleFocus(tester); + expect(ringActive(tester), isTrue); + }); + + testWidgets('disposal with focus held leaves no ticker behind', ( + tester, + ) async { + final node = FocusNode(); + addTearDown(node.dispose); + + await tester.pumpWidget( + scene( + BeamFocusRing( + child: Focus( + focusNode: node, + child: const SizedBox(width: 200, height: 60), + ), + ), + ), + ); + node.requestFocus(); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 300)); + expect(tester.binding.transientCallbackCount, greaterThan(0)); + + await tester.pumpWidget(const SizedBox()); + expect(tester.binding.transientCallbackCount, 0); + }); + }); + + group('highlight mode', () { + testWidgets('stays dark under touch highlighting', (tester) async { + FocusManager.instance.highlightStrategy = + FocusHighlightStrategy.alwaysTouch; + final node = FocusNode(); + addTearDown(node.dispose); + + await tester.pumpWidget( + scene( + BeamFocusRing( + child: Focus( + focusNode: node, + child: const SizedBox(width: 200, height: 60), + ), + ), + ), + ); + node.requestFocus(); + await settleFocus(tester); + + expect(ringActive(tester), isFalse); + }); + + testWidgets('alwaysShow lights it under touch highlighting too', ( + tester, + ) async { + FocusManager.instance.highlightStrategy = + FocusHighlightStrategy.alwaysTouch; + final node = FocusNode(); + addTearDown(node.dispose); + + await tester.pumpWidget( + scene( + BeamFocusRing( + alwaysShow: true, + child: Focus( + focusNode: node, + child: const SizedBox(width: 200, height: 60), + ), + ), + ), + ); + node.requestFocus(); + await settleFocus(tester); + + expect(ringActive(tester), isTrue); + }); + + testWidgets('a mode change while focused flips the ring', (tester) async { + FocusManager.instance.highlightStrategy = + FocusHighlightStrategy.alwaysTouch; + final node = FocusNode(); + addTearDown(node.dispose); + + await tester.pumpWidget( + scene( + BeamFocusRing( + child: Focus( + focusNode: node, + child: const SizedBox(width: 200, height: 60), + ), + ), + ), + ); + node.requestFocus(); + await settleFocus(tester); + expect(ringActive(tester), isFalse); + + FocusManager.instance.highlightStrategy = + FocusHighlightStrategy.alwaysTraditional; + await settleFocus(tester); + expect(ringActive(tester), isTrue); + }); + }); + + group('pass-through', () { + testWidgets('hands its style, shape and timing to the beam', ( + tester, + ) async { + await tester.pumpWidget( + scene( + const BeamFocusRing( + variant: BeamVariant.line, + colors: BeamColors.sunset, + borderRadius: 12, + style: BeamStyle(strength: 0.5), + shape: BeamShape(borderWidth: 2), + timing: BeamTiming(speed: 2), + child: SizedBox(width: 200, height: 60), + ), + ), + ); + + final beam = tester.widget(find.byType(BorderBeam)); + expect(beam.variant, BeamVariant.line); + expect(beam.colors, BeamColors.sunset); + expect(beam.borderRadius, 12); + expect(beam.style, const BeamStyle(strength: 0.5)); + expect(beam.shape, const BeamShape(borderWidth: 2)); + expect(beam.timing, const BeamTiming(speed: 2)); + }); + + testWidgets('defaults to the compact ocean ring', (tester) async { + await tester.pumpWidget( + scene(const BeamFocusRing(child: SizedBox(width: 200, height: 60))), + ); + + final beam = tester.widget(find.byType(BorderBeam)); + expect(beam.variant, BeamVariant.small); + expect(beam.colors, BeamColors.ocean); + }); + + testWidgets('describes itself for the inspector', (tester) async { + await tester.pumpWidget( + scene( + const BeamFocusRing( + alwaysShow: true, + child: SizedBox(width: 200, height: 60), + ), + ), + ); + + final description = tester + .widget(find.byType(BeamFocusRing)) + .toDiagnosticsNode() + .toStringDeep(); + expect(description, contains('alwaysShow')); + expect(description, contains('variant: small')); + }); + }); +} diff --git a/test/widgets/beam_hover_test.dart b/test/widgets/beam_hover_test.dart new file mode 100644 index 0000000..b3c3df4 --- /dev/null +++ b/test/widgets/beam_hover_test.dart @@ -0,0 +1,204 @@ +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// [BeamHover] turns a [MouseRegion] into two values on the [BorderBeam] it +/// wraps: `active` (lit while hovered, held for `holdAfterExit` after) and +/// `follow` (the cursor in normalized box coordinates). +void main() { + const size = Size(200, 80); + + BorderBeam beamOf(WidgetTester tester) => + tester.widget(find.byType(BorderBeam)); + + Widget scene({ + bool followPointer = true, + Duration holdAfterExit = const Duration(milliseconds: 300), + }) => MaterialApp( + debugShowCheckedModeBanner: false, + home: Scaffold( + body: Center( + child: BeamHover( + followPointer: followPointer, + holdAfterExit: holdAfterExit, + child: SizedBox.fromSize(size: size), + ), + ), + ), + ); + + Future hoverGesture(WidgetTester tester) async { + final gesture = await tester.createGesture(kind: PointerDeviceKind.mouse); + await gesture.addPointer(location: Offset.zero); + addTearDown(gesture.removePointer); + return gesture; + } + + group('hover tracking', () { + testWidgets('entering lights the beam and follows the cursor', ( + tester, + ) async { + await tester.pumpWidget(scene()); + expect(beamOf(tester).active, isFalse); + expect(beamOf(tester).follow, isNull); + + final gesture = await hoverGesture(tester); + await gesture.moveTo(tester.getCenter(find.byType(BeamHover))); + await tester.pump(); + + expect(beamOf(tester).active, isTrue); + expect(beamOf(tester).follow, const Offset(0.5, 0.5)); + }); + + testWidgets('moving inside re-aims the follow point', (tester) async { + await tester.pumpWidget(scene()); + final gesture = await hoverGesture(tester); + final topLeft = tester.getTopLeft(find.byType(BeamHover)); + + await gesture.moveTo(topLeft + const Offset(50, 20)); + await tester.pump(); + expect(beamOf(tester).follow, const Offset(0.25, 0.25)); + + await gesture.moveTo(topLeft + const Offset(150, 60)); + await tester.pump(); + expect(beamOf(tester).follow, const Offset(0.75, 0.75)); + }); + + testWidgets('the follow point stays inside the box at the edges', ( + tester, + ) async { + await tester.pumpWidget(scene()); + final gesture = await hoverGesture(tester); + final topLeft = tester.getTopLeft(find.byType(BeamHover)); + + await gesture.moveTo(topLeft); + await tester.pump(); + final follow = beamOf(tester).follow!; + expect(follow.dx, inInclusiveRange(0, 1)); + expect(follow.dy, inInclusiveRange(0, 1)); + }); + + testWidgets('followPointer false lights without steering', (tester) async { + await tester.pumpWidget(scene(followPointer: false)); + final gesture = await hoverGesture(tester); + await gesture.moveTo(tester.getCenter(find.byType(BeamHover))); + await tester.pump(); + + expect(beamOf(tester).active, isTrue); + expect(beamOf(tester).follow, isNull); + }); + }); + + group('exit', () { + testWidgets('releases the follow at once and fades out after the hold', ( + tester, + ) async { + await tester.pumpWidget(scene()); + final gesture = await hoverGesture(tester); + await gesture.moveTo(tester.getCenter(find.byType(BeamHover))); + await tester.pump(); + + await gesture.moveTo(const Offset(5, 5)); + await tester.pump(); + expect(beamOf(tester).follow, isNull, reason: 'released on exit'); + expect(beamOf(tester).active, isTrue, reason: 'still inside the hold'); + + await tester.pump(const Duration(milliseconds: 250)); + expect(beamOf(tester).active, isTrue); + + await tester.pump(const Duration(milliseconds: 100)); + expect(beamOf(tester).active, isFalse); + }); + + testWidgets('re-entering within the hold keeps the beam lit', ( + tester, + ) async { + await tester.pumpWidget(scene()); + final gesture = await hoverGesture(tester); + final center = tester.getCenter(find.byType(BeamHover)); + await gesture.moveTo(center); + await tester.pump(); + + await gesture.moveTo(const Offset(5, 5)); + await tester.pump(const Duration(milliseconds: 200)); + await gesture.moveTo(center); + await tester.pump(const Duration(milliseconds: 400)); + + expect(beamOf(tester).active, isTrue); + expect(beamOf(tester).follow, const Offset(0.5, 0.5)); + }); + + testWidgets('a zero hold fades out on exit', (tester) async { + await tester.pumpWidget(scene(holdAfterExit: Duration.zero)); + final gesture = await hoverGesture(tester); + await gesture.moveTo(tester.getCenter(find.byType(BeamHover))); + await tester.pump(); + + await gesture.moveTo(const Offset(5, 5)); + await tester.pump(); + expect(beamOf(tester).active, isFalse); + expect(beamOf(tester).follow, isNull); + }); + + testWidgets('unmounting during the hold leaves no timer or ticker', ( + tester, + ) async { + await tester.pumpWidget(scene()); + final gesture = await hoverGesture(tester); + await gesture.moveTo(tester.getCenter(find.byType(BeamHover))); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 100)); + expect(tester.binding.transientCallbackCount, greaterThan(0)); + + await gesture.moveTo(const Offset(5, 5)); + await tester.pump(); + await tester.pumpWidget(const SizedBox()); + await tester.pump(const Duration(seconds: 1)); + + expect(tester.binding.transientCallbackCount, 0); + }); + }); + + group('pass-through', () { + testWidgets('hands its style, shape and timing to the beam', ( + tester, + ) async { + await tester.pumpWidget( + const MaterialApp( + home: Scaffold( + body: Center( + child: BeamHover( + variant: BeamVariant.small, + colors: BeamColors.sunset, + borderRadius: 18, + style: BeamStyle(strength: 0.7), + shape: BeamShape(borderWidth: 2), + timing: BeamTiming(speed: 2), + child: SizedBox(width: 200, height: 80), + ), + ), + ), + ), + ); + + final beam = beamOf(tester); + expect(beam.variant, BeamVariant.small); + expect(beam.colors, BeamColors.sunset); + expect(beam.borderRadius, 18); + expect(beam.style, const BeamStyle(strength: 0.7)); + expect(beam.shape, const BeamShape(borderWidth: 2)); + expect(beam.timing, const BeamTiming(speed: 2)); + }); + + testWidgets('describes itself for the inspector', (tester) async { + await tester.pumpWidget(scene(followPointer: false)); + final description = tester + .widget(find.byType(BeamHover)) + .toDiagnosticsNode() + .toStringDeep(); + expect(description, contains('does not follow the pointer')); + expect(description, contains('variant: rotate')); + }); + }); +} diff --git a/test/widgets/beam_press_test.dart b/test/widgets/beam_press_test.dart new file mode 100644 index 0000000..c35f567 --- /dev/null +++ b/test/widgets/beam_press_test.dart @@ -0,0 +1,315 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// [BeamPress] observes raw pointers and only flips `active` on the +/// [BorderBeam] it wraps. The two things it must never get wrong: a tap +/// shorter than [BeamPress.minimumDuration] still shows a full pulse, and the +/// child's own gestures keep working. +void main() { + bool? pressActive(WidgetTester tester) => + tester.widget(find.byType(BorderBeam)).active; + + Widget scene(Widget child) => MaterialApp( + debugShowCheckedModeBanner: false, + home: Scaffold(body: Center(child: child)), + ); + + Widget press({ + VoidCallback? onTap, + Duration minimumDuration = const Duration(milliseconds: 600), + Widget child = const SizedBox(width: 200, height: 80), + }) => scene( + BeamPress(onTap: onTap, minimumDuration: minimumDuration, child: child), + ); + + group('press lifecycle', () { + testWidgets('lights on pointer down', (tester) async { + await tester.pumpWidget(press()); + expect(pressActive(tester), isFalse); + + final gesture = await tester.startGesture( + tester.getCenter(find.byType(BeamPress)), + ); + await tester.pump(); + expect(pressActive(tester), isTrue); + + await gesture.up(); + await tester.pump(const Duration(seconds: 1)); + }); + + testWidgets('a quick tap still holds the minimum duration', (tester) async { + await tester.pumpWidget(press()); + final gesture = await tester.startGesture( + tester.getCenter(find.byType(BeamPress)), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 50)); + await gesture.up(); + await tester.pump(); + expect(pressActive(tester), isTrue, reason: 'released before minimum'); + + await tester.pump(const Duration(milliseconds: 500)); + expect(pressActive(tester), isTrue, reason: 'still inside minimum'); + + await tester.pump(const Duration(milliseconds: 100)); + expect(pressActive(tester), isFalse); + }); + + testWidgets('a long press releases the moment the pointer lifts', ( + tester, + ) async { + await tester.pumpWidget(press()); + final gesture = await tester.startGesture( + tester.getCenter(find.byType(BeamPress)), + ); + await tester.pump(); + await tester.pump(const Duration(seconds: 2)); + expect(pressActive(tester), isTrue); + + await gesture.up(); + await tester.pump(); + expect(pressActive(tester), isFalse); + }); + + testWidgets('a zero minimum releases on pointer up', (tester) async { + await tester.pumpWidget(press(minimumDuration: Duration.zero)); + final gesture = await tester.startGesture( + tester.getCenter(find.byType(BeamPress)), + ); + await tester.pump(); + expect(pressActive(tester), isTrue); + + await gesture.up(); + await tester.pump(); + expect(pressActive(tester), isFalse); + }); + + testWidgets('a cancel drops the beam without waiting out the minimum', ( + tester, + ) async { + await tester.pumpWidget(press()); + final gesture = await tester.startGesture( + tester.getCenter(find.byType(BeamPress)), + ); + await tester.pump(); + expect(pressActive(tester), isTrue); + + await gesture.cancel(); + await tester.pump(); + expect(pressActive(tester), isFalse); + }); + + testWidgets('a second finger does not restart the hold', (tester) async { + await tester.pumpWidget(press()); + final center = tester.getCenter(find.byType(BeamPress)); + final first = await tester.startGesture(center); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 400)); + + final second = await tester.startGesture(center + const Offset(10, 10)); + await tester.pump(); + await first.up(); + await tester.pump(const Duration(milliseconds: 300)); + + // The minimum runs from the first press, so 700ms in it has elapsed — + // the second pointer never re-armed it. + expect(pressActive(tester), isFalse); + await second.up(); + await tester.pump(const Duration(seconds: 1)); + }); + + testWidgets('disposal mid-hold leaves no ticker and no pending timer', ( + tester, + ) async { + await tester.pumpWidget(press()); + final gesture = await tester.startGesture( + tester.getCenter(find.byType(BeamPress)), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 100)); + expect(tester.binding.transientCallbackCount, greaterThan(0)); + + await tester.pumpWidget(const SizedBox()); + await gesture.up(); + expect(tester.binding.transientCallbackCount, 0); + }); + }); + + group('gestures', () { + testWidgets('onTap fires when the pointer lifts inside', (tester) async { + var taps = 0; + await tester.pumpWidget(press(onTap: () => taps++)); + + await tester.tap(find.byType(BeamPress)); + await tester.pump(const Duration(seconds: 1)); + expect(taps, 1); + }); + + testWidgets('onTap does not fire when the pointer lifts outside', ( + tester, + ) async { + var taps = 0; + await tester.pumpWidget(press(onTap: () => taps++)); + + final gesture = await tester.startGesture( + tester.getCenter(find.byType(BeamPress)), + ); + await tester.pump(); + await gesture.moveTo(const Offset(5, 5)); + await gesture.up(); + await tester.pump(const Duration(seconds: 1)); + + expect(taps, 0); + }); + + testWidgets('the child keeps receiving its own taps', (tester) async { + var childTaps = 0; + var pressTaps = 0; + await tester.pumpWidget( + press( + onTap: () => pressTaps++, + child: GestureDetector( + key: const ValueKey('child'), + behavior: HitTestBehavior.opaque, + onTap: () => childTaps++, + child: const SizedBox(width: 200, height: 80), + ), + ), + ); + + await tester.tap(find.byKey(const ValueKey('child'))); + await tester.pump(const Duration(seconds: 1)); + + expect(childTaps, 1); + // The Listener never enters the arena, so both fire — which is why a + // child with its own tap handling should leave onTap null. + expect(pressTaps, 1); + }); + + testWidgets('a drag over it still scrolls the list underneath', ( + tester, + ) async { + final controller = ScrollController(); + addTearDown(controller.dispose); + + await tester.pumpWidget( + scene( + SizedBox( + height: 300, + child: ListView( + controller: controller, + children: [ + for (var i = 0; i < 12; i++) + const BeamPress(child: SizedBox(height: 80)), + ], + ), + ), + ), + ); + + await tester.drag(find.byType(BeamPress).first, const Offset(0, -200)); + await tester.pumpAndSettle(); + + expect(controller.offset, greaterThan(0)); + }); + + testWidgets('a stolen gesture cancels the press', (tester) async { + final controller = ScrollController(); + addTearDown(controller.dispose); + + await tester.pumpWidget( + scene( + SizedBox( + height: 300, + child: ListView( + controller: controller, + children: [ + for (var i = 0; i < 12; i++) + const BeamPress(child: SizedBox(height: 80)), + ], + ), + ), + ), + ); + + final gesture = await tester.startGesture( + tester.getCenter(find.byType(BeamPress).first), + ); + await tester.pump(); + expect( + tester.widget(find.byType(BorderBeam).first).active, + isTrue, + ); + + await gesture.moveBy(const Offset(0, -120)); + await tester.pump(); + expect( + tester.widget(find.byType(BorderBeam).first).active, + isFalse, + ); + + await gesture.up(); + await tester.pumpAndSettle(); + }); + }); + + group('pass-through', () { + testWidgets('hands its style, shape and timing to the beam', ( + tester, + ) async { + await tester.pumpWidget( + scene( + const BeamPress( + variant: BeamVariant.rotate, + colors: BeamColors.sunset, + borderRadius: 20, + style: BeamStyle(strength: 0.4), + shape: BeamShape(borderWidth: 2), + timing: BeamTiming(speed: 2), + child: SizedBox(width: 200, height: 80), + ), + ), + ); + + final beam = tester.widget(find.byType(BorderBeam)); + expect(beam.variant, BeamVariant.rotate); + expect(beam.colors, BeamColors.sunset); + expect(beam.borderRadius, 20); + expect(beam.style, const BeamStyle(strength: 0.4)); + expect(beam.shape, const BeamShape(borderWidth: 2)); + expect(beam.timing, const BeamTiming(speed: 2)); + }); + + testWidgets('defaults to the contained breathing glow', (tester) async { + await tester.pumpWidget(press()); + expect( + tester.widget(find.byType(BorderBeam)).variant, + BeamVariant.pulseInside, + ); + }); + + testWidgets('is translucent to hit testing', (tester) async { + await tester.pumpWidget(press()); + final listener = tester.widget( + find + .descendant( + of: find.byType(BeamPress), + matching: find.byType(Listener), + ) + .first, + ); + expect(listener.behavior, HitTestBehavior.translucent); + }); + + testWidgets('describes itself for the inspector', (tester) async { + await tester.pumpWidget(press(onTap: () {})); + final description = tester + .widget(find.byType(BeamPress)) + .toDiagnosticsNode() + .toStringDeep(); + expect(description, contains('tappable')); + expect(description, contains('variant: pulseInside')); + }); + }); +} From 7b50a12b7f8f49fbd044e1df78077053bbe7317c Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 16:43:14 -0700 Subject: [PATCH 16/40] chore(community): contributor docs, issue and PR templates, and a Pages deploy of the playground MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CONTRIBUTING covers setup, the gate, macOS-pinned goldens, the constants rule, the saveLayer budget, how to add a variant or option, the doc-prose rule, and how releases are cut; Contributor Covenant 2.1 and a security policy set expectations; issue forms and a PR template collect what a report or review needs; CODEOWNERS and a labels manifest round it out. pages.yaml builds the example for web on every push to main and deploys it to simplifyjobs.github.io/flutter_border_beam — the URL the playground's share links already use — with a 404 SPA fallback, and the web shell carries a real title, description, and Open Graph tags. Co-Authored-By: Claude Opus 5 (1M context) --- .github/CODEOWNERS | 7 + .github/ISSUE_TEMPLATE/bug_report.yml | 110 ++++++++++ .github/ISSUE_TEMPLATE/config.yml | 11 + .github/ISSUE_TEMPLATE/feature_request.yml | 74 +++++++ .github/PULL_REQUEST_TEMPLATE.md | 56 +++++ .github/labels.yml | 41 ++++ .github/workflows/pages.yaml | 104 ++++++++++ CODE_OF_CONDUCT.md | 83 ++++++++ CONTRIBUTING.md | 227 +++++++++++++++++++++ SECURITY.md | 65 ++++++ example/web/index.html | 28 ++- example/web/manifest.json | 12 +- 12 files changed, 808 insertions(+), 10 deletions(-) create mode 100644 .github/CODEOWNERS create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/labels.yml create mode 100644 .github/workflows/pages.yaml create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 SECURITY.md diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..402f42d --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,7 @@ +# Code owners are requested for review automatically on every PR. +# A GitHub team (e.g. @SimplifyJobs/mobile) can replace the individual owner +# once one exists — teams survive people changing roles. + +* @rehmatsg + +/.github/ @rehmatsg diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..e5601ed --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,110 @@ +name: Bug report +description: Something renders, animates, or behaves incorrectly. +title: "[bug]: " +labels: [bug] +body: + - type: markdown + attributes: + value: | + Thanks for the report. If you can reproduce it in the + [live playground](https://simplifyjobs.github.io/flutter_border_beam/), + paste the share link — it carries the exact configuration and saves + everyone a round trip. + + Security issues do **not** belong here — see + [SECURITY.md](https://github.com/SimplifyJobs/flutter_border_beam/blob/main/SECURITY.md). + + - type: textarea + id: description + attributes: + label: What happened + description: A short description of the bug. + validations: + required: true + + - type: textarea + id: repro + attributes: + label: Minimal reproduction + description: >- + The smallest widget tree that shows the problem — ideally one that + drops straight into a fresh `flutter create` app. A playground share + link works too. + render: dart + placeholder: | + BorderBeam.rotate( + colors: BeamColors.ocean, + child: const SizedBox(width: 240, height: 120), + ) + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected behavior + validations: + required: true + + - type: textarea + id: actual + attributes: + label: Actual behavior + validations: + required: true + + - type: input + id: variant + attributes: + label: Variant(s) and palette + description: Which `BeamVariant` and which `BeamColors` (or custom colors). + placeholder: "rotate + line; BeamColors.colorful" + validations: + required: true + + - type: textarea + id: flutter-version + attributes: + label: "`flutter --version` output" + description: Paste the whole thing — the Dart version and channel matter. + render: shell + validations: + required: true + + - type: input + id: package-version + attributes: + label: flutter_border_beam version + placeholder: "0.1.0" + validations: + required: true + + - type: input + id: platform + attributes: + label: Device / OS + description: >- + Include the web renderer (canvaskit or skwasm) and the browser if this + is on web; include the simulator/emulator vs. physical device + otherwise. + placeholder: "iPhone 16 simulator, iOS 26.0 / Chrome 141 on macOS, canvaskit" + validations: + required: true + + - type: textarea + id: media + attributes: + label: Screenshot or video + description: >- + Strongly encouraged — this package is a visual one, and a five-second + screen recording usually says more than a paragraph. Drag files in. + validations: + required: false + + - type: textarea + id: context + attributes: + label: Anything else + description: Logs, a stack trace, what you already tried. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..90b9fcd --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: Question or idea + url: https://github.com/SimplifyJobs/flutter_border_beam/discussions + about: Ask how to do something, or float an idea before it becomes a proposal. + - name: Live playground + url: https://simplifyjobs.github.io/flutter_border_beam/ + about: Try every variant, palette, and timing knob in the browser — and grab a share link for your bug report. + - name: Security vulnerability + url: https://github.com/SimplifyJobs/flutter_border_beam/security/advisories/new + about: Report privately. Never in a public issue. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..4388223 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,74 @@ +name: Feature request +description: Propose a new variant, option, palette, or API. +title: "[feat]: " +labels: [enhancement] +body: + - type: markdown + attributes: + value: | + This package is a port of the + [border-beam](https://github.com/Jakubantalik/border-beam) React + library. Features that exist upstream are the easiest sell — say so if + yours does, and link the source. Flutter-only additions are welcome + too; they just need to stay out of the parity tables. + + - type: textarea + id: problem + attributes: + label: The problem + description: >- + What are you trying to build, and where does the package get in the + way? Describe the situation, not the solution. + validations: + required: true + + - type: textarea + id: api + attributes: + label: Proposed API + description: >- + A sketch of the call site as you would want to write it. Rough is + fine — the shape is what matters. + render: dart + placeholder: | + BorderBeam.rotate( + style: const BeamStyle(tailLength: 0.4), + child: ..., + ) + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: >- + What can you do today instead, and why is it not enough? Include any + workaround you are currently shipping. + validations: + required: true + + - type: dropdown + id: rendering-defaults + attributes: + label: Does this change rendering defaults? + description: >- + Would an existing `BorderBeam` with no new arguments look or animate + differently? That makes it a breaking visual change, which needs a + much stronger case and regenerated goldens. + options: + - "No — purely additive, defaults unchanged" + - "Yes — existing beams would render differently" + - "Not sure" + validations: + required: true + + - type: textarea + id: context + attributes: + label: Anything else + description: >- + References, a link to the React implementation, screenshots or a + mockup of the effect. + validations: + required: false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..be1de89 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,56 @@ +## Summary + + + +## Changes + + + +- + +## Testing + + + +- [ ] `dart format .` — clean +- [ ] `flutter analyze --fatal-infos` — zero issues (package and `example/`) +- [ ] `flutter test` — green (`--exclude-tags golden` if you are not on macOS) + +**Goldens** — none regenerated / regenerated: + + + +**saveLayer budget** — unchanged / changed: + + + +## Checklist + +- [ ] No values in `lib/src/constants/` were tweaked (they are verbatim + transcriptions of the React source); Flutter-only additions live in a + clearly headed file +- [ ] New public API has doc comments (`public_member_api_docs` is enforced) +- [ ] Docs and comments describe current behavior — no change-history prose +- [ ] `CHANGELOG.md` updated +- [ ] README updated if this changes what a user reaches for first diff --git a/.github/labels.yml b/.github/labels.yml new file mode 100644 index 0000000..7babf34 --- /dev/null +++ b/.github/labels.yml @@ -0,0 +1,41 @@ +# The repository's label set, kept in version control so it is reviewable. +# +# Nothing syncs this automatically yet — applying it means either creating the +# labels by hand or wiring a sync action (e.g. crazy-max/ghaction-github-labeler) +# that reads this file. Until then, treat it as the source of truth a human +# reconciles against. +# +# `dependencies` is the one label that is already load-bearing: dependabot.yml +# applies it to every update PR it opens. + +- name: bug + color: d73a4a + description: Something renders, animates, or behaves incorrectly. + +- name: enhancement + color: a2eeef + description: A new variant, option, palette, or API. + +- name: documentation + color: 0075ca + description: README, doc comments, or the guides in this repo. + +- name: rendering + color: 8a63d2 + description: Painting, geometry, gradients, goldens — anything about the pixels. + +- name: performance + color: fbca04 + description: Frame cost, saveLayer budget, repaint churn, memory. + +- name: good first issue + color: 7057ff + description: Self-contained and well-scoped — a good place to start. + +- name: help wanted + color: 008672 + description: Maintainers would welcome a contributor picking this up. + +- name: dependencies + color: 0366d6 + description: Dependency and GitHub Actions updates (applied by dependabot). diff --git a/.github/workflows/pages.yaml b/.github/workflows/pages.yaml new file mode 100644 index 0000000..a3955cc --- /dev/null +++ b/.github/workflows/pages.yaml @@ -0,0 +1,104 @@ +# Deploy the example gallery to GitHub Pages. +# +# The site is `example/` — the demo gallery and the interactive playground — +# built for web and served at +# +# https://simplifyjobs.github.io/flutter_border_beam/ +# +# That URL is not incidental: `example/lib/src/playground/share_codec.dart` +# hardcodes it as `playgroundSiteUrl` when it builds a share link, so the +# `--base-href` below must stay `/flutter_border_beam/` (the repo name) for +# shared links to resolve. +# +# ── ONE-TIME SETUP THE MAINTAINER MUST DO ──────────────────────────────────── +# +# Repo Settings → Pages → Build and deployment → Source: **GitHub Actions**. +# +# Without that, `actions/configure-pages` fails with "Get Pages site failed" +# and nothing deploys. There is no secret and no branch to create — the +# artifact this workflow uploads is the whole site. +# +# ── WHY THE 404 COPY ───────────────────────────────────────────────────────── +# +# Pages serves static files and has no rewrite rule, so any path that is not a +# real file 404s. The playground puts its state in the URL and the gallery +# uses path-shaped routes (`/pulse`, …), so a deep link would land on the +# Pages 404 page instead of the app. Copying `index.html` to `404.html` makes +# the 404 response *be* the app: Flutter boots, reads the location, and routes +# to it. `#state` fragments survive the redirect for free (fragments are never +# sent to the server). +# +# The Flutter pin matches ci.yaml's FLUTTER_VERSION — the site should be built +# by the same SDK the package is tested on. + +name: Pages + +on: + push: + branches: [main] + paths: + - "example/**" + - "lib/**" + - "pubspec.yaml" + - ".github/workflows/pages.yaml" + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +# One deployment at a time. Queued rather than cancelled: a half-finished +# deploy that loses its slot would leave the live site on an older build. +concurrency: + group: pages + cancel-in-progress: false + +env: + # Keep in sync with ci.yaml's FLUTTER_VERSION. + FLUTTER_VERSION: 3.44.2 + +jobs: + build: + name: Build the example for web + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: subosito/flutter-action@v2 + with: + flutter-version: ${{ env.FLUTTER_VERSION }} + channel: stable + cache: true + + - name: Install dependencies + working-directory: example + run: flutter pub get + + # `--base-href` must be the repo name: Pages serves project sites from + # `https://.github.io//`, not from the domain root. + - name: Build web + working-directory: example + run: flutter build web --release --base-href /flutter_border_beam/ + + - name: Add the SPA fallback + working-directory: example + run: cp build/web/index.html build/web/404.html + + - uses: actions/configure-pages@v5 + + - uses: actions/upload-pages-artifact@v3 + with: + path: example/build/web + + deploy: + name: Deploy to GitHub Pages + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy + id: deployment + uses: actions/deploy-pages@v4 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..0d0a8b9 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,83 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at opensource@simplify.jobs. All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of actions. + +**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at [https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..939912d --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,227 @@ +# Contributing to flutter_border_beam + +Thanks for helping out. This package is a faithful Flutter port of the +[border-beam](https://github.com/Jakubantalik/border-beam) React library, and +most of its rules exist to keep that port honest. Read the two hard rules +below ([constants](#the-constants-rule) and the +[saveLayer budget](#the-savelayer-budget)) before changing anything under +`lib/src/constants/` or `lib/src/painting/` — they are what a reviewer will +check first. + +## Setup + +You need **Flutter ≥ 3.35** (the lower bound declared in `pubspec.yaml`; CI +tests that exact version in its `min-sdk` job) and, for goldens, **Flutter +3.44.2 on macOS**. + +```bash +git clone https://github.com/SimplifyJobs/flutter_border_beam.git +cd flutter_border_beam +flutter pub get + +# The demo gallery + interactive playground. It consumes the package by path, +# so it picks up your edits with a hot reload. +cd example && flutter pub get && flutter run +``` + +The gallery is also live at + — useful for comparing +your build against `main`. + +## Commands + +```bash +dart format . # formatting (CI runs --set-exit-if-changed) +flutter analyze --fatal-infos # must be ZERO issues +flutter test # everything, goldens included +flutter test --exclude-tags golden # everything but goldens (non-macOS) +flutter test --tags golden # goldens only (macOS) +dart pub publish --dry-run # archive validation +cd example && flutter analyze && flutter test # the gallery is a CI gate too +``` + +`flutter analyze` must report **zero** issues, infos included. The lint set +turns on `public_member_api_docs`, so every new public member — class, field, +enum value, constructor — needs a doc comment. That is not busywork: it is a +scored pub.dev signal, and CI's `pana` job fails when the score drops. + +### Goldens + +Golden files are **macOS-generated and pinned to Flutter 3.44.2**. Blur and +gradient rasterization shifts between Flutter releases and between platforms, +so a golden regenerated anywhere else will produce a diff that has nothing to +do with your change. CI runs them in a single `macos-latest` job. + +Regenerate **only the scenes you added**, by name: + +```bash +flutter test --update-goldens --tags golden --plain-name 'rotate dark aurora' +``` + +Never run a blanket `flutter test --update-goldens`. Rewriting existing +goldens is a rendering change, and a PR that does it must say in its +description **which** goldens changed and **why the pixels legitimately +moved** — a new blur radius, a corrected gradient stop, a Flutter pin bump. +"The test was failing" is not a justification; that is the test doing its job. +If you must bump the Flutter pin, do it in the same commit as the regenerated +goldens and update `FLUTTER_VERSION` in `.github/workflows/ci.yaml`, +`.github/workflows/release.yaml`, and `.github/workflows/pages.yaml` together. + +Golden failures in CI upload as a `golden-failures` artifact — download it to +see the actual/expected/diff triple. + +## The constants rule + +**Everything in `lib/src/constants/` is a verbatim transcription of the React +source's `src/styles.ts`. Never tweak a value there to make something look +better.** Visual parity with the React library is the whole point of the port; +these tables are the parity. If a number looks wrong, check the source first: + +```bash +git clone https://github.com/Jakubantalik/border-beam /tmp/border-beam-react +``` + +That covers `palettes.dart`, `theme_presets.dart`, `pulse_tables.dart`, +`pulse_params.dart`, and `line_keyframes.dart`. A change to any of them needs +a source citation in the PR description. + +Flutter-only additions are fine, but they live in **clearly headed separate +files** that say up front they are not transcriptions — `extra_palettes.dart` +is the model. Do not mix an original value into a transcription table. + +## The saveLayer budget + +`saveLayer` is the expensive primitive in this package and the best single +proxy for the cost of a frame. One frame (`paintBehind` + `paintAbove`) is +budgeted per variant: + +| variant | layers | what they are | +| --- | --- | --- | +| `rotate` | 4 | inner + inner mask + stroke + blurred bloom | +| `small` | 3 | inner + stroke + blurred bloom (single-mask inner) | +| `line` | 4 | inner + inner mask + stroke + blurred bloom | +| `pulseInside` | 4 | inner + inner mask + stroke + blurred bloom | +| `pulseOutside` | 3 | behind: core glow + bloom halo; above: stroke | + +`test/painting/save_layer_budget_test.dart` measures every variant × brightness +× palette × time sample through a counting canvas and asserts the count +**exactly**, plus save/restore balance. A regression *and* an improvement both +fail until the table is updated in the test and in `CLAUDE.md`. + +So: a new option must fold into a layer that already exists. If it genuinely +cannot, add a budget row and justify it in the PR — say which layer, why it is +unavoidable, and what you tried instead. Two things are never a justification: + +- A `ColorFilter`. Hue, brightness, and saturation are folded into gradient + colors on the CPU (`BeamColorMatrix.transform`). A filter may ride on a + layer that exists anyway; it never earns one. +- Convenience. Blur is the only effect allowed to justify a layer of its own. + +## Where things go + +**Adding a variant** — `lib/src/models/beam_variant.dart` (the enum value, its +doc comment, and its default cycle duration), a strategy in +`lib/src/painting/strategies/` implementing `BeamVariantStrategy`, the +dispatch map at the top of `lib/src/painting/beam_painter.dart`, a named +constructor on `BorderBeam` in `lib/src/border_beam.dart`, any per-variant +defaults in `lib/src/models/beam_config.dart` — plus a budget row, a golden +scene, and a paint-smoke case. + +**Adding an option** — declare it on the value object it belongs to +(`beam_style.dart`, `beam_shape.dart`, `beam_timing.dart`, +`beam_playback.dart`), extending `copyWith`/`merge`/`==`/`hashCode`. A null +field means *inherit*, so the default must be null. Small option types live in +`beam_options.dart`. Resolve it in `BeamConfig.resolve` and consume it in the +strategy. Value equality is load-bearing: `BeamPainter.shouldRepaint` compares +configs, so an option that does not participate in `==` will silently fail to +repaint. + +**Adding a palette** — source colors in +`lib/src/constants/extra_palettes.dart`, exposed as a `static const BeamColors` +on `BeamColors` in `lib/src/models/beam_colors.dart`, plus a palette golden and +a playground entry (`example/lib/src/playground/`). + +Anything public also needs a doc comment, a `CHANGELOG.md` entry, and a README +mention if it changes what a user would reach for first. + +## Tests + +Tests are grouped by what they protect. Put a new test with its family: + +| directory | covers | +| --- | --- | +| `test/models/` | value objects, `BeamConfig.resolve`, palettes, equality | +| `test/widget/` | `BorderBeam` behavior — lifecycle, theming, shorthands, speed, sync | +| `test/widgets/` | the surface widgets (`BeamDecoration`, `BeamFocusRing`, `BeamHover`, `BeamPress`) | +| `test/painting/` | paint smoke, boundary geometry, ring geometry, color matrix, the saveLayer budget | +| `test/animation/` | the clock, oscillators, phase sampling, spring curves | +| `test/golden/*_golden_test.dart` | pixel scenes (macOS only, `@Tags(['golden'])`) | + +Two conventions worth knowing: + +- The first tick after `Ticker.start()` reports elapsed 0 — pump once before + pumping durations. +- A test that documents behavior the code does not have yet is marked + `skip: 'defect: '`, not rewritten to match the bug. (`testWidgets` + only takes a bool, so the reason goes in a comment beside it.) + +Every bug fix ships with a regression test. + +## Writing prose + +Docs and code comments **describe how the code works now**. No change-history +prose — no "no longer", "was removed", "previously", "this used to". Git +carries the history; a comment that narrates a change goes stale the moment +someone reads it out of context. Describe the current behavior and why it is +that way. + +## Commits and PRs + +Conventional Commits, for both commit subjects and PR titles: + +``` +():

    +``` + +Lowercase type (`feat`, `fix`, `refactor`, `docs`, `chore`, `ci`, `test`, +`perf`), an optional short scope (`painting`, `motion`, `colors`, `widgets`, +`api`), imperative summary under 72 characters. For example: + +``` +feat(painting): add a comet tail to the rotate strategy +fix(motion): keep the line beam inside its edge-fade plateau +``` + +Before opening a PR: + +- [ ] `dart format .` — clean +- [ ] `flutter analyze --fatal-infos` — zero issues (package **and** `example/`) +- [ ] `flutter test` — green (say if you could not run goldens) +- [ ] Goldens: none regenerated, or the PR names which and why +- [ ] saveLayer budget: unchanged, or the new rows are justified +- [ ] Public API is documented, and the README covers anything user-facing +- [ ] `CHANGELOG.md` has an entry under the unreleased version + +The PR template asks for exactly this. Open the PR as a draft while it is in +progress. + +## Releases + +Maintainers only. The recipe lives in [CLAUDE.md](CLAUDE.md) under "Cutting a +release": bump `version:` in `pubspec.yaml`, add a matching `## ` +section to `CHANGELOG.md`, merge to `main`, then push the tag: + +```bash +git tag v0.2.0 && git push origin v0.2.0 +``` + +`.github/workflows/release.yaml` verifies the tag against the pubspec and the +changelog, re-runs format/analyze/test, publishes to pub.dev over GitHub OIDC +(no secrets), and cuts the GitHub Release from that changelog section. Goldens +are verified by the macOS `goldens` job in `ci.yaml`, not by the release job — +so only tag a commit that is green on `main`. + +## Code of Conduct + +By participating you agree to the [Code of Conduct](CODE_OF_CONDUCT.md). +Security issues go through [SECURITY.md](SECURITY.md), not the issue tracker. diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..6839652 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,65 @@ +# Security Policy + +## Supported versions + +Fixes land on the latest published minor of `flutter_border_beam`. Older +minors are not patched — upgrade to the newest release on +[pub.dev](https://pub.dev/packages/flutter_border_beam) before reporting. + +| Version | Supported | +| --- | --- | +| Latest minor | Yes | +| Anything older | No — upgrade first | + +## Reporting a vulnerability + +**Do not open a public issue for a security report.** + +Use GitHub's private vulnerability reporting: go to the +[Security tab](https://github.com/SimplifyJobs/flutter_border_beam/security) +of the repository and press **Report a vulnerability**. That opens a private +advisory visible only to you and the maintainers. + +If you cannot use that form, email **opensource@simplify.jobs** instead. + +Helpful things to include: the package version, the Flutter version and +platform, a minimal reproduction, and what an attacker gains. + +## What to expect + +- **Acknowledgement within 5 business days.** +- An assessment — whether it is in scope, and the severity we assign it — + once we have reproduced it. +- A fix released on the latest minor, and a GitHub Security Advisory + published when the issue warrants one. We are happy to credit you unless + you would rather stay anonymous. + +Please give us a reasonable window to ship a fix before disclosing publicly. + +## Scope + +This is a **rendering package**. It draws animated borders with Flutter's +canvas API: it opens no sockets, reads and writes no files, stores nothing, +and collects nothing. It has no runtime dependencies beyond the Flutter SDK. +Most of the vulnerability classes a security report usually covers simply +have no surface here. + +In scope: + +- Attacker-controllable input to the public API — colors, radii, durations, + a `BeamContour` path — that causes a crash, an unbounded allocation, a hang, + or an unrecoverable render-loop failure in a host app. +- A compromise of the release path: the publishing workflow, the pub.dev + automated-publishing configuration, or the published archive's contents. +- Anything in the package that reaches the network or the filesystem. There + should be nothing; if you find something, that is the report. + +Out of scope: + +- Visual bugs, jank, and performance that is merely disappointing — those are + ordinary [issues](https://github.com/SimplifyJobs/flutter_border_beam/issues). +- Frame-rate or battery cost of an animation configured to be expensive. +- Vulnerabilities in Flutter, Dart, or a browser engine — report those to + their own projects. +- The example gallery and the hosted playground, which contain no data and + no accounts. diff --git a/example/web/index.html b/example/web/index.html index 3e01333..cc8d0f0 100644 --- a/example/web/index.html +++ b/example/web/index.html @@ -12,24 +12,44 @@ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base This is a placeholder for base href that will be replaced by the value of - the `--base-href` argument provided to `flutter build`. + the `--base-href` argument provided to `flutter build`. The Pages workflow + (.github/workflows/pages.yaml) passes `--base-href /flutter_border_beam/`. --> - + + + + + + + + + + + + + + + + + + + + - + - border_beam_example + flutter_border_beam playground diff --git a/example/web/manifest.json b/example/web/manifest.json index db0a709..9cede53 100644 --- a/example/web/manifest.json +++ b/example/web/manifest.json @@ -1,12 +1,12 @@ { - "name": "border_beam_example", - "short_name": "border_beam_example", + "name": "flutter_border_beam playground", + "short_name": "border beam", "start_url": ".", "display": "standalone", - "background_color": "#0175C2", - "theme_color": "#0175C2", - "description": "A new Flutter project.", - "orientation": "portrait-primary", + "background_color": "#070707", + "theme_color": "#070707", + "description": "Interactive playground and gallery for flutter_border_beam — animated border beam effects for Flutter.", + "orientation": "any", "prefer_related_applications": false, "icons": [ { From c312449e657af462401af0808dacc14816644ecc Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 16:59:34 -0700 Subject: [PATCH 17/40] test(constants): prove every transcribed table against the upstream spec MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The React library's generated beam-spec.json is vendored under test/fixtures with the upstream commit, version, and styles.ts hash recorded; spec_parity_test.dart parses its CSS color, percent, and pixel strings and asserts every palette, theme preset, keyframe, conic stop, line geometry, pulse table, oscillator, and default against lib/src/constants — one group per spec section, no discrepancies. upstream.dart pins the tracked version, tool/spec/refresh.sh re-vendors the fixture, and a weekly upstream_drift workflow diffs the live spec and styles.ts hash so a change upstream raises a re-audit alarm instead of going unnoticed. The pulse oscillator bank exposes its oscillators for tests; the fixture stays out of the pub archive. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/upstream_drift.yaml | 123 + .pubignore | 2 + lib/src/animation/oscillator.dart | 29 + lib/src/constants/upstream.dart | 28 + test/constants/spec_parity_test.dart | 1375 ++++++ test/fixtures/UPSTREAM | 5 + test/fixtures/beam-spec.json | 5731 +++++++++++++++++++++++++ tool/spec/README.md | 32 + tool/spec/refresh.sh | 85 + 9 files changed, 7410 insertions(+) create mode 100644 .github/workflows/upstream_drift.yaml create mode 100644 lib/src/constants/upstream.dart create mode 100644 test/constants/spec_parity_test.dart create mode 100644 test/fixtures/UPSTREAM create mode 100644 test/fixtures/beam-spec.json create mode 100644 tool/spec/README.md create mode 100755 tool/spec/refresh.sh diff --git a/.github/workflows/upstream_drift.yaml b/.github/workflows/upstream_drift.yaml new file mode 100644 index 0000000..e8a7bc2 --- /dev/null +++ b/.github/workflows/upstream_drift.yaml @@ -0,0 +1,123 @@ +# Upstream drift alarm for flutter_border_beam. +# +# Everything in `lib/src/constants/` is a hand transcription of the React +# border-beam library's `src/styles.ts`. `test/constants/spec_parity_test.dart` +# proves the transcription against a VENDORED copy of upstream's generated +# `spec/beam-spec.json` — which means the parity test can only ever be as +# current as that fixture. This job watches the live upstream and shouts when +# it moves. +# +# It is an ALARM, not a build gate: it never runs on push or pull_request, so +# it can fail without blocking anyone's merge. A failure means "go re-audit the +# constants", never "this PR is broken". +# +# Two independent signals, because they catch different things: +# +# 1. The spec JSON itself (minus its `generated` timestamp, which the +# extractor rewrites on every run whether or not a value changed). +# 2. The sha256 of `src/styles.ts`. The spec is generated FROM styles.ts, so a +# styles change that upstream has not regenerated the spec for would slip +# past signal 1 entirely. +# +# Markdown in the job summary uses `~~~` fences and escaped backticks so the +# shell literals stay free of unquoted backticks (shellcheck SC2016). + +name: Upstream drift + +on: + schedule: + # Mondays, 06:00 UTC. + - cron: '0 6 * * 1' + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: upstream-drift + cancel-in-progress: false + +env: + UPSTREAM_RAW: https://raw.githubusercontent.com/Jakubantalik/Libraries/main/packages/border-beam + +jobs: + compare-vendored-spec-with-upstream: + name: Compare vendored spec with upstream + runs-on: ubuntu-latest + steps: + - name: Check out flutter_border_beam + uses: actions/checkout@v4 + + - name: Fetch upstream spec and styles.ts + run: | + set -euo pipefail + mkdir -p "$RUNNER_TEMP/upstream" + curl -fsSL "$UPSTREAM_RAW/spec/beam-spec.json" \ + -o "$RUNNER_TEMP/upstream/beam-spec.json" + curl -fsSL "$UPSTREAM_RAW/src/styles.ts" \ + -o "$RUNNER_TEMP/upstream/styles.ts" + jq empty < "$RUNNER_TEMP/upstream/beam-spec.json" + + - name: Diff the spec (ignoring the generated timestamp) + id: spec + run: | + set -euo pipefail + jq -S 'del(.generated)' test/fixtures/beam-spec.json \ + > "$RUNNER_TEMP/ours.json" + jq -S 'del(.generated)' "$RUNNER_TEMP/upstream/beam-spec.json" \ + > "$RUNNER_TEMP/theirs.json" + if diff -u "$RUNNER_TEMP/ours.json" "$RUNNER_TEMP/theirs.json" \ + > "$RUNNER_TEMP/spec.diff"; then + echo "changed=false" >> "$GITHUB_OUTPUT" + echo "Vendored spec matches upstream." + else + echo "changed=true" >> "$GITHUB_OUTPUT" + { + echo "### Upstream \`beam-spec.json\` changed" + echo + echo '~~~diff' + head -c 60000 "$RUNNER_TEMP/spec.diff" + echo + echo '~~~' + } >> "$GITHUB_STEP_SUMMARY" + cat "$RUNNER_TEMP/spec.diff" + fi + + - name: Compare the styles.ts hash + id: styles + run: | + set -euo pipefail + recorded="$(grep '^styles_sha256=' test/fixtures/UPSTREAM | cut -d= -f2)" + current="$(sha256sum "$RUNNER_TEMP/upstream/styles.ts" | cut -d' ' -f1)" + echo "recorded: $recorded" + echo "current: $current" + if [ "$recorded" = "$current" ]; then + echo "changed=false" >> "$GITHUB_OUTPUT" + else + echo "changed=true" >> "$GITHUB_OUTPUT" + { + echo "### Upstream \`src/styles.ts\` changed" + echo + echo "recorded: \`$recorded\`" + echo + echo "current: \`$current\`" + } >> "$GITHUB_STEP_SUMMARY" + fi + + - name: Report + env: + SPEC_CHANGED: ${{ steps.spec.outputs.changed }} + STYLES_CHANGED: ${{ steps.styles.outputs.changed }} + run: | + set -euo pipefail + remedy="re-audit the constants against src/styles.ts, run tool/spec/refresh.sh, then flutter test test/constants/spec_parity_test.dart" + if [ "$SPEC_CHANGED" = 'true' ]; then + echo "::error title=Upstream spec drift::beam-spec.json changed upstream — $remedy" + fi + if [ "$STYLES_CHANGED" = 'true' ]; then + echo "::warning title=Upstream styles.ts drift::styles.ts changed upstream (the spec may not have been regenerated yet) — $remedy" + fi + if [ "$SPEC_CHANGED" = 'true' ] || [ "$STYLES_CHANGED" = 'true' ]; then + exit 1 + fi + echo "No upstream drift." diff --git a/.pubignore b/.pubignore index 11f0675..8c8d0ee 100644 --- a/.pubignore +++ b/.pubignore @@ -3,6 +3,8 @@ # pubspec's `screenshots:` section points at, so they must ship with the package. assets/ tool/ +# The vendored upstream spec is parity-test input only (123 KB of JSON). +test/fixtures/ CLAUDE.md .demos/ **/.dart_tool/ diff --git a/lib/src/animation/oscillator.dart b/lib/src/animation/oscillator.dart index d554775..4a89067 100644 --- a/lib/src/animation/oscillator.dart +++ b/lib/src/animation/oscillator.dart @@ -1,5 +1,7 @@ import 'dart:math' as math; +import 'package:flutter/foundation.dart'; + import '../constants/pulse_params.dart'; /// The cosine ping-pong easing of the source's pulse driver: @@ -157,6 +159,33 @@ class PulseOscillatorBank { final PulseOscillator _bgh; final List _bop; + /// The bank's 17 oscillators keyed by the source's CSS custom-property + /// name, in the source's declaration order. + /// + /// Exposed so `test/constants/spec_parity_test.dart` can assert the whole + /// table against `pulse...oscillators` in the upstream + /// spec, which carries the same names. + @visibleForTesting + Map get oscillators => { + 'bw1': _bw[0], + 'bh1': _bh[0], + 'bx1': _bx[0], + 'by1': _by[0], + 'bw2': _bw[1], + 'bh2': _bh[1], + 'bx2': _bx[1], + 'by2': _by[1], + 'bw3': _bw[2], + 'bh3': _bh[2], + 'bx3': _bx[2], + 'by3': _by[2], + 'bgh': _bgh, + 'bop-tl': _bop[0], + 'bop-tr': _bop[1], + 'bop-bl': _bop[2], + 'bop-br': _bop[3], + }; + /// Samples every oscillator at [t] seconds. PulsePhaseSet sample(double t) => PulsePhaseSet( bw: [for (final o in _bw) o.sample(t)], diff --git a/lib/src/constants/upstream.dart b/lib/src/constants/upstream.dart new file mode 100644 index 0000000..2c8eb13 --- /dev/null +++ b/lib/src/constants/upstream.dart @@ -0,0 +1,28 @@ +// Provenance of the tables in this directory. +// +// Everything under `lib/src/constants/` is a hand transcription of the React +// border-beam library's `src/styles.ts`. The constants below name the exact +// upstream artefact those transcriptions were audited against, so a reader +// (and `test/constants/spec_parity_test.dart`) can tell which upstream +// release the numbers belong to. They are internal — the barrel does not +// export them. + +/// Version of the React `border-beam` library the constant tables are +/// transcribed from, as reported by `sourceLibrary.version` in the upstream +/// machine-readable spec. +/// +/// The upstream npm package is versioned separately and currently reads +/// `1.4.0`; that release is visually identical to `1.3.0` and its spec still +/// declares `1.3.0` as the visual baseline. +const String upstreamLibraryVersion = '1.3.0'; + +/// Schema version of the upstream `spec/beam-spec.json` the parity test +/// reads (`specVersion` in that file). +const String upstreamSpecVersion = '1.0.0'; + +/// Where the upstream source and its generated spec live. +/// +/// `spec/beam-spec.json` under this path is vendored at +/// `test/fixtures/beam-spec.json`; refresh it with `tool/spec/refresh.sh`. +const String upstreamRepository = + 'https://github.com/Jakubantalik/Libraries/tree/main/packages/border-beam'; diff --git a/test/constants/spec_parity_test.dart b/test/constants/spec_parity_test.dart new file mode 100644 index 0000000..be6d608 --- /dev/null +++ b/test/constants/spec_parity_test.dart @@ -0,0 +1,1375 @@ +// Asserts every table in `lib/src/constants/` against the upstream React +// library's machine-readable spec, vendored at `test/fixtures/beam-spec.json`. +// +// Our constants are hand transcriptions of `src/styles.ts`; this test is the +// only thing that can prove the transcription is still faithful. A failure +// here means the SPEC and OUR CONSTANTS disagree — re-audit against +// `src/styles.ts` and report the divergence. Never "fix" a constant to make +// this test pass (CLAUDE.md hard rule 1). +// +// Spec conventions the parsers below handle: +// colors CSS `rgb(r, g, b)` / `rgba(r, g, b, a)` / `transparent` +// positions `"33% -7.4%"` → fractional Offset(0.33, -0.074) +// sizes `"70px 40px"` → Size(70, 40), and CSS ellipse sizes are RADII +// stops percent (0–100) where our tables carry fractions (0–1) + +import 'dart:convert'; +import 'dart:io'; +import 'dart:ui'; + +import 'package:flutter_border_beam/src/animation/beam_clock.dart'; +import 'package:flutter_border_beam/src/animation/beam_phases.dart'; +import 'package:flutter_border_beam/src/animation/oscillator.dart'; +import 'package:flutter_border_beam/src/constants/line_geometry.dart'; +import 'package:flutter_border_beam/src/constants/line_keyframes.dart'; +import 'package:flutter_border_beam/src/constants/palettes.dart'; +import 'package:flutter_border_beam/src/constants/pulse_constants.dart'; +import 'package:flutter_border_beam/src/constants/pulse_params.dart'; +import 'package:flutter_border_beam/src/constants/pulse_tables.dart'; +import 'package:flutter_border_beam/src/constants/rotate_stops.dart'; +import 'package:flutter_border_beam/src/constants/theme_presets.dart'; +import 'package:flutter_border_beam/src/constants/upstream.dart'; +import 'package:flutter_border_beam/src/models/beam_blob.dart'; +import 'package:flutter_border_beam/src/models/beam_colors.dart'; +import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_border_beam/src/models/beam_palette.dart'; +import 'package:flutter_border_beam/src/models/beam_style.dart'; +import 'package:flutter_border_beam/src/models/beam_variant.dart'; +import 'package:flutter_test/flutter_test.dart'; + +// ─── Fixture ──────────────────────────────────────────────────────────────── + +const String _fixturePath = 'test/fixtures/beam-spec.json'; +const String _upstreamPath = 'test/fixtures/UPSTREAM'; + +Map _loadSpec() => + jsonDecode(File(_fixturePath).readAsStringSync()) as Map; + +Map _loadUpstream() { + final out = {}; + for (final line in File(_upstreamPath).readAsLinesSync()) { + if (line.trim().isEmpty) continue; + final i = line.indexOf('='); + out[line.substring(0, i)] = line.substring(i + 1); + } + return out; +} + +// ─── CSS value parsers ────────────────────────────────────────────────────── + +/// Parses a spec color string: `rgb(r, g, b)`, `rgba(r, g, b, a)`, or the +/// keyword `transparent`. +Color cssColor(Object? raw) { + final s = (raw! as String).trim(); + if (s == 'transparent') return const Color(0x00000000); + final m = RegExp(r'^rgba?\(([^)]*)\)$').firstMatch(s); + if (m == null) throw FormatException('not a CSS rgb/rgba color: "$s"'); + final parts = m.group(1)!.split(',').map((p) => p.trim()).toList(); + if (parts.length != 3 && parts.length != 4) { + throw FormatException('CSS color needs 3 or 4 components: "$s"'); + } + return Color.fromRGBO( + int.parse(parts[0]), + int.parse(parts[1]), + int.parse(parts[2]), + parts.length == 4 ? double.parse(parts[3]) : 1.0, + ); +} + +/// Parses a spec position string — `"33% -7.4%"` → `Offset(0.33, -0.074)`. +Offset cssPosition(Object? raw) { + final parts = (raw! as String).trim().split(RegExp(r'\s+')); + if (parts.length != 2) { + throw FormatException('CSS position needs two components: "$raw"'); + } + double pct(String p) { + if (!p.endsWith('%')) throw FormatException('not a percentage: "$p"'); + return double.parse(p.substring(0, p.length - 1)) / 100; + } + + return Offset(pct(parts[0]), pct(parts[1])); +} + +/// Parses a spec size string — `"70px 40px"` → `Size(70, 40)`. CSS +/// `radial-gradient(ellipse W H …)` sizes are radii, and so is [Size] here. +Size cssSize(Object? raw) { + final parts = (raw! as String).trim().split(RegExp(r'\s+')); + if (parts.length != 2) { + throw FormatException('CSS size needs two components: "$raw"'); + } + double px(String p) { + if (!p.endsWith('px')) throw FormatException('not a px length: "$p"'); + return double.parse(p.substring(0, p.length - 2)); + } + + return Size(px(parts[0]), px(parts[1])); +} + +/// Parses a single spec percentage — `"27%"` → `0.27`. +double cssPercent(Object? raw) { + final s = (raw! as String).trim(); + if (!s.endsWith('%')) throw FormatException('not a percentage: "$s"'); + return double.parse(s.substring(0, s.length - 1)) / 100; +} + +// ─── Matchers ─────────────────────────────────────────────────────────────── + +/// One 8-bit step: CSS integer channels round-trip through Flutter's doubles. +const double _channelTolerance = 1 / 255; + +/// Half an ulp of the spec's 4-decimal rounding. Flutter stores alpha as an +/// exact double, so the only slack needed is the spec generator's rounding of +/// the mono-attenuated alphas (0.82 × 0.098 = 0.08036, recorded as 0.0804). +const double _alphaTolerance = 1e-4; + +const double _epsilon = 1e-9; + +void expectColor(Color actual, Object? specColor, String reason) { + final want = cssColor(specColor); + expect(actual.r, closeTo(want.r, _channelTolerance), reason: '$reason (r)'); + expect(actual.g, closeTo(want.g, _channelTolerance), reason: '$reason (g)'); + expect(actual.b, closeTo(want.b, _channelTolerance), reason: '$reason (b)'); + expect(actual.a, closeTo(want.a, _channelTolerance), reason: '$reason (a)'); +} + +/// Compares component-wise: `"-7.4%" / 100` and `-0.074` are the same +/// position but not the same double, so `Offset ==` is too strict here. +void expectOffset(Offset actual, Object? specPos, String reason) { + final want = cssPosition(specPos); + expect(actual.dx, closeTo(want.dx, _epsilon), reason: '$reason (dx)'); + expect(actual.dy, closeTo(want.dy, _epsilon), reason: '$reason (dy)'); +} + +void expectSize(Size actual, Object? specSize, String reason) { + final want = cssSize(specSize); + expect(actual.width, closeTo(want.width, _epsilon), reason: '$reason (w)'); + expect(actual.height, closeTo(want.height, _epsilon), reason: '$reason (h)'); +} + +/// Compares a color against loose spec channels (the expanded +/// `line.bloomGradients` stops carry r/g/b as ints and a as a double). +void expectChannels( + Color actual, { + required Map stop, + required String reason, + double alphaScale = 1, +}) { + expect( + actual.r, + closeTo((stop['r'] as num) / 255, _channelTolerance), + reason: '$reason (r)', + ); + expect( + actual.g, + closeTo((stop['g'] as num) / 255, _channelTolerance), + reason: '$reason (g)', + ); + expect( + actual.b, + closeTo((stop['b'] as num) / 255, _channelTolerance), + reason: '$reason (b)', + ); + expect( + actual.a * alphaScale, + closeTo((stop['a'] as num).toDouble(), _alphaTolerance), + reason: '$reason (a)', + ); +} + +void expectNum(num actual, Object? spec, String reason) => expect( + actual.toDouble(), + closeTo((spec! as num).toDouble(), _epsilon), + reason: reason, +); + +/// Asserts a `[[posPercent, value], …]` spec table against parallel +/// fraction/value lists. +/// [terminatedAt1] covers the tables whose CSS gradient stops short of 100% +/// and lets the last stop's (already transparent) color extend to the end. +/// Flutter's `SweepGradient` needs that extension written out, so our list +/// carries one extra `(1.0, 0.0)` entry the spec has no row for. +void expectStopTable( + Object? spec, + List stops, + List values, + String reason, { + bool terminatedAt1 = false, +}) { + final rows = (spec! as List).cast>(); + final extra = terminatedAt1 ? 1 : 0; + expect(stops, hasLength(rows.length + extra), reason: '$reason (stop count)'); + expect( + values, + hasLength(rows.length + extra), + reason: '$reason (value count)', + ); + for (var i = 0; i < rows.length; i++) { + expectNum(stops[i] * 100, rows[i][0], '$reason stop $i'); + expectNum(values[i], rows[i][1], '$reason value $i'); + } + if (terminatedAt1) { + expect(stops.last, 1.0, reason: '$reason terminal stop'); + expect(values.last, 0.0, reason: '$reason terminal value'); + expect( + values[values.length - 2], + 0.0, + reason: '$reason is already transparent before its terminator', + ); + } +} + +/// Asserts a `[[tPercent, value], …]` spec table against a keyframe list. +void expectKeyframes(Object? spec, List track, String reason) { + final rows = (spec! as List).cast>(); + expect(rows, hasLength(track.length), reason: '$reason (length)'); + for (var i = 0; i < rows.length; i++) { + expectNum(track[i].t * 100, rows[i][0], '$reason t$i'); + expectNum(track[i].value, rows[i][1], '$reason value$i'); + } +} + +// ─── Spec key ↔ Dart enum mapping ─────────────────────────────────────────── + +const Map _presets = { + 'colorful': colorfulPreset, + 'mono': monoPreset, + 'ocean': oceanPreset, + 'sunset': sunsetPreset, +}; + +const Map _sizes = { + 'sm': BeamVariant.small, + 'md': BeamVariant.rotate, + 'line': BeamVariant.line, + 'pulse-outside': BeamVariant.pulseOutside, + 'pulse-inner': BeamVariant.pulseInside, +}; + +const Map _regions = { + 1: PulseRegion.r1, + 2: PulseRegion.r2, + 3: PulseRegion.r3, +}; + +const Map _quads = { + 'tl': PulseQuad.tl, + 'tr': PulseQuad.tr, + 'bl': PulseQuad.bl, + 'br': PulseQuad.br, +}; + +void main() { + final spec = _loadSpec(); + final upstream = _loadUpstream(); + + Map obj(Map from, String key) => + from[key] as Map; + List arr(Map from, String key) => + from[key] as List; + + final palettes = obj(spec, 'palettes'); + final rotate = obj(spec, 'rotate'); + final line = obj(spec, 'line'); + final pulse = obj(spec, 'pulse'); + final defaults = obj(spec, 'defaults'); + + // ─── Provenance ─────────────────────────────────────────────────────────── + + group('provenance', () { + test( + 'the fixture is the spec version our constants were audited against', + () { + expect(spec['specVersion'], upstreamSpecVersion); + expect(obj(spec, 'sourceLibrary')['version'], upstreamLibraryVersion); + expect(obj(spec, 'sourceLibrary')['name'], 'border-beam'); + }, + ); + + test('UPSTREAM records the fetched commit and versions', () { + expect(upstream['commit'], matches(RegExp(r'^[0-9a-f]{40}$'))); + expect(upstream['styles_sha256'], matches(RegExp(r'^[0-9a-f]{64}$'))); + expect(upstream['version'], upstreamLibraryVersion); + expect(upstream['spec_version'], upstreamSpecVersion); + expect(upstreamRepository, contains('Jakubantalik/Libraries')); + }); + }); + + // ─── palettes.border ────────────────────────────────────────────────────── + + group('palettes.border', () { + final border = obj(palettes, 'border'); + for (final MapEntry(key: name, value: preset) in _presets.entries) { + final specPreset = obj(border, name); + + test('$name border blobs', () { + final blobs = specPreset['border'] as List; + expect( + preset.border, + hasLength(blobs.length), + reason: '$name border length', + ); + for (var i = 0; i < blobs.length; i++) { + final b = blobs[i] as Map; + final ours = preset.border[i]; + expectColor(ours.color, b['color'], '$name border[$i].color'); + expectOffset(ours.position, b['pos'], '$name border[$i].pos'); + expectSize(ours.size, b['size'], '$name border[$i].size'); + } + }); + + test('$name spike colors', () { + final s = obj(specPreset, 'spike'); + expectColor(preset.spike.primary, s['primary'], '$name spike.primary'); + expectColor( + preset.spike.secondary, + s['secondary'], + '$name spike.secondary', + ); + final lt = obj(specPreset, 'spikeLt'); + expectColor( + preset.spikeLt.primary, + lt['primary'], + '$name spikeLt.primary', + ); + expectColor( + preset.spikeLt.secondary, + lt['secondary'], + '$name spikeLt.secondary', + ); + }); + } + }); + + // ─── palettes.small ─────────────────────────────────────────────────────── + + group('palettes.small', () { + final small = obj(palettes, 'small'); + for (final MapEntry(key: name, value: preset) in _presets.entries) { + final specPreset = obj(small, name); + + void checkTable(String key, List ours) { + final blobs = specPreset[key] as List; + expect( + ours, + hasLength(blobs.length), + reason: '$name small.$key length', + ); + for (var i = 0; i < blobs.length; i++) { + final b = blobs[i] as Map; + expectColor(ours[i].color, b['color'], '$name small.$key[$i].color'); + expectOffset(ours[i].position, b['pos'], '$name small.$key[$i].pos'); + expectSize(ours[i].size, b['size'], '$name small.$key[$i].size'); + } + } + + test('$name smallBorder', () => checkTable('border', preset.smallBorder)); + test('$name smallInner', () => checkTable('inner', preset.smallInner)); + } + }); + + // ─── palettes.line / palettes.lineInner ─────────────────────────────────── + + group('palettes.line', () { + final specLine = obj(palettes, 'line'); + final specInner = obj(palettes, 'lineInner'); + + void checkLineBlobs( + String reason, + List blobs, + List ours, + ) { + expect(ours, hasLength(blobs.length), reason: '$reason length'); + for (var i = 0; i < blobs.length; i++) { + final b = blobs[i] as Map; + expectColor(ours[i].color, b['color'], '$reason[$i].color'); + expectNum(ours[i].sizeW, b['sizeW'], '$reason[$i].sizeW'); + expectNum(ours[i].sizeH, b['sizeH'], '$reason[$i].sizeH'); + expectNum(ours[i].offsetX, b['offsetX'], '$reason[$i].offsetX'); + expectNum(ours[i].offsetY, b['offsetY'], '$reason[$i].offsetY'); + } + } + + for (final MapEntry(key: name, value: preset) in _presets.entries) { + test('$name lineDark', () { + checkLineBlobs( + '$name line.dark', + arr(obj(specLine, name), 'dark'), + preset.lineDark, + ); + }); + test('$name lineLight', () { + checkLineBlobs( + '$name line.light', + arr(obj(specLine, name), 'light'), + preset.lineLight, + ); + }); + test('$name lineInner', () { + checkLineBlobs( + '$name lineInner', + specInner[name] as List, + preset.lineInner, + ); + }); + } + }); + + // ─── palettes.lineBloom ─────────────────────────────────────────────────── + + group('palettes.lineBloom', () { + final bloom = obj(palettes, 'lineBloom'); + for (final MapEntry(key: name, value: preset) in _presets.entries) { + for (final theme in const ['dark', 'light']) { + test('$name lineBloom.$theme', () { + final spikes = arr(obj(obj(bloom, name), theme), 'spikes'); + final ours = theme == 'dark' + ? preset.lineBloomDark + : preset.lineBloomLight; + expect( + ours, + hasLength(spikes.length), + reason: '$name lineBloom.$theme length', + ); + for (var i = 0; i < spikes.length; i++) { + final s = spikes[i] as Map; + expectColor( + ours[i].color1, + s['color1'], + '$name lineBloom.$theme[$i].c1', + ); + expectColor( + ours[i].color2, + s['color2'], + '$name lineBloom.$theme[$i].c2', + ); + } + }); + } + } + }); + + // ─── sizeThemePresets ───────────────────────────────────────────────────── + + group('sizeThemePresets', () { + final presets = obj(spec, 'sizeThemePresets'); + for (final MapEntry(key: size, value: variant) in _sizes.entries) { + for (final theme in const ['dark', 'light']) { + test('$size/$theme', () { + final s = obj(obj(presets, size), theme); + final ours = themePresetFor( + variant, + theme == 'dark' ? Brightness.dark : Brightness.light, + ); + expectNum( + ours.strokeOpacity, + s['strokeOpacity'], + '$size/$theme strokeOpacity', + ); + expectNum( + ours.innerOpacity, + s['innerOpacity'], + '$size/$theme innerOpacity', + ); + expectNum( + ours.bloomOpacity, + s['bloomOpacity'], + '$size/$theme bloomOpacity', + ); + expectColor( + ours.innerShadow, + s['innerShadow'], + '$size/$theme innerShadow', + ); + expectNum( + ours.saturation, + s['saturation'], + '$size/$theme saturation', + ); + + // `brightness` and `hairlineOpacity` are optional in the spec; a + // missing key must mean a null field on our side, not a default. + if (s.containsKey('brightness')) { + expect( + ours.brightness, + isNotNull, + reason: '$size/$theme brightness present in spec', + ); + expectNum( + ours.brightness!, + s['brightness'], + '$size/$theme brightness', + ); + } else { + expect( + ours.brightness, + isNull, + reason: '$size/$theme brightness absent from spec', + ); + } + if (s.containsKey('hairlineOpacity')) { + expect( + ours.hairlineOpacity, + isNotNull, + reason: '$size/$theme hairlineOpacity present in spec', + ); + expectNum( + ours.hairlineOpacity!, + s['hairlineOpacity'], + '$size/$theme hairlineOpacity', + ); + } else { + expect( + ours.hairlineOpacity, + isNull, + reason: '$size/$theme hairlineOpacity absent from spec', + ); + } + }); + } + } + }); + + // ─── sizePresets ────────────────────────────────────────────────────────── + + group('sizePresets', () { + final presets = obj(spec, 'sizePresets'); + for (final MapEntry(key: size, value: variant) in _sizes.entries) { + test('$size radius and border width', () { + final s = obj(presets, size); + expectNum( + variant.defaultBorderRadius, + s['borderRadius'], + '$size borderRadius', + ); + expectNum( + variant.defaultBorderWidth, + s['borderWidth'], + '$size borderWidth', + ); + }); + } + // GAP: sizePresets.sm.width/height (70×36) has no counterpart — the + // Flutter widget wraps and measures its child instead of forcing a size. + }); + + // ─── rotate.* ───────────────────────────────────────────────────────────── + + group('rotate stops', () { + test('beamMaskStops ↔ rotateWindow*', () { + expectStopTable( + rotate['beamMaskStops'], + rotateWindowStops, + rotateWindowAlphas, + 'beamMaskStops', + ); + }); + + test('smallMaskStops ↔ smallWindow*', () { + expectStopTable( + rotate['smallMaskStops'], + smallWindowStops, + smallWindowAlphas, + 'smallMaskStops', + ); + }); + + test('whiteGradientStops.dark ↔ rotateHighlight*Dark', () { + expectStopTable( + obj(rotate, 'whiteGradientStops')['dark'], + rotateHighlightStops, + rotateHighlightAlphasDark, + 'whiteGradient.dark', + ); + }); + + test('whiteGradientStops.light ↔ rotateHighlight*Light', () { + expectStopTable( + obj(rotate, 'whiteGradientStops')['light'], + rotateHighlightStops, + rotateHighlightAlphasLight, + 'whiteGradient.light', + ); + }); + + test('bloomGradientStops.dark ↔ rotateBloom*Dark', () { + expectStopTable( + obj(rotate, 'bloomGradientStops')['dark'], + rotateBloomStops, + rotateBloomAlphasDark, + 'bloomGradient.dark', + terminatedAt1: true, + ); + }); + + test('bloomGradientStops.light ↔ rotateBloom*Light', () { + expectStopTable( + obj(rotate, 'bloomGradientStops')['light'], + rotateBloomStops, + rotateBloomAlphasLight, + 'bloomGradient.light', + terminatedAt1: true, + ); + }); + }); + + group('rotate constants', () { + test('innerGradientDerivation ↔ rotateInnerBlob*', () { + final d = obj(rotate, 'innerGradientDerivation'); + expectNum(rotateInnerBlobScale, d['sizeScale'], 'inner sizeScale'); + expectNum(rotateInnerBlobAlpha, d['alpha'], 'inner alpha'); + expectNum(rotateInnerBlobAlphaMono, d['monoAlpha'], 'inner monoAlpha'); + }); + + test('innerShadowBlur ↔ rotate/small inner shadow blur', () { + final b = obj(rotate, 'innerShadowBlur'); + expectNum(rotateInnerShadowBlur, b['md'], 'innerShadowBlur.md'); + expectNum(smallInnerShadowBlur, b['sm'], 'innerShadowBlur.sm'); + }); + + test('bloomBlurPx ↔ rotateBloomBlurSigma', () { + // CSS `filter: blur(Npx)` maps to sigma = N. + expectNum(rotateBloomBlurSigma, rotate['bloomBlurPx'], 'bloomBlurPx'); + }); + + // GAP: rotate.innerEdgeMaskPx (28) and rotate.spin (0→360, linear) have no + // constant of their own — the feather is a default argument on + // `BeamGradients.vertical/horizontalEdgeFeather` and the spin is the + // rotate variant's angle = travelProgress × 2π. + }); + + // ─── line geometry ──────────────────────────────────────────────────────── + + group('line geometry', () { + test('beamMaskEllipse ↔ lineWindow*', () { + final e = obj(line, 'beamMaskEllipse'); + expectNum(lineWindowRadiusX, e['w'], 'beamMask w'); + expectNum(lineWindowRadiusY, e['h'], 'beamMask h'); + final soft = (e['softStop']! as List).cast(); + expectNum(lineWindowMidStop * 100, soft[0], 'beamMask soft stop'); + expectNum(lineWindowMidAlpha, soft[1], 'beamMask soft alpha'); + }); + + test('bloomMaskEllipse ↔ lineBloomWindow*', () { + final e = obj(line, 'bloomMaskEllipse'); + expectNum(lineBloomWindowRadiusX, e['w'], 'bloomMask w'); + expectNum(lineBloomWindowRadiusY, e['h'], 'bloomMask h'); + final soft = (e['softStop']! as List).cast(); + expectNum(lineBloomWindowMidStop * 100, soft[0], 'bloomMask soft stop'); + expectNum(lineBloomWindowMidAlpha, soft[1], 'bloomMask soft alpha'); + }); + + test('whiteHighlight.dark ↔ lineHighlight*Dark', () { + final h = obj(obj(line, 'whiteHighlight'), 'dark'); + expectNum(lineHighlightRadiusXDark, h['w'], 'highlight.dark w'); + expectNum(lineHighlightRadiusYDark, h['h'], 'highlight.dark h'); + expectNum(lineHighlightOffsetY, h['yOffset'], 'highlight.dark yOffset'); + expectStopTable( + h['stops'], + lineHighlightStopsDark, + lineHighlightAlphasDark, + 'highlight.dark stops', + ); + }); + + test('whiteHighlight.light ↔ lineHighlight*Light', () { + final h = obj(obj(line, 'whiteHighlight'), 'light'); + expectNum(lineHighlightRadiusXLight, h['w'], 'highlight.light w'); + expectNum(lineHighlightRadiusYLight, h['h'], 'highlight.light h'); + expectNum(lineHighlightOffsetY, h['yOffset'], 'highlight.light yOffset'); + expectStopTable( + h['stops'], + lineHighlightStopsLight, + lineHighlightAlphasLight, + 'highlight.light stops', + ); + // The light-theme highlight paints black, not white. + expect(h['onBlack'], isTrue); + }); + + test('bloom blur sigmas', () { + expectNum(lineBloomBlurSigma, line['bloomBlurPx'], 'line bloomBlurPx'); + // The spec calls this key `monoBloomExtraBlurPx`, but in `styles.ts` the + // mono branch REPLACES the animated bloom filter (`blur(8px) hue-rotate…`) + // with a bare `filter: blur(6px)` — it does not add to it. The value is + // the mono sigma, which is what we store. + expectNum( + lineBloomBlurSigmaMono, + line['monoBloomExtraBlurPx'], + 'line monoBloomExtraBlurPx', + ); + }); + + // GAP: no `line.innerShadowBlur` in the spec; `lineInnerShadowBlur` (9) + // is transcribed from `box-shadow: inset 0 0 9px 1px` in styles.ts. + }); + + // ─── line keyframes ─────────────────────────────────────────────────────── + + group('line keyframes', () { + final kf = obj(line, 'keyframes'); + + test('travel.x ↔ lineTravelX', () { + expectKeyframes(obj(kf, 'travel')['x'], lineTravelX, 'travel.x'); + }); + test('travel.w ↔ lineTravelW', () { + expectKeyframes(obj(kf, 'travel')['w'], lineTravelW, 'travel.w'); + }); + test('edgeFade ↔ lineEdgeFade', () { + expectKeyframes(kf['edgeFade'], lineEdgeFade, 'edgeFade'); + }); + test('breathe ↔ lineBreatheH', () { + expectKeyframes(kf['breathe'], lineBreatheH, 'breathe'); + }); + test('spike ↔ lineSpike', () { + expectKeyframes(kf['spike'], lineSpike, 'spike'); + }); + test('spike2 ↔ lineSpike2', () { + expectKeyframes(kf['spike2'], lineSpike2, 'spike2'); + }); + + test('durationScale ↔ BeamConfig breathe/spike factors', () { + final s = obj(kf, 'durationScale'); + final config = _configFor(BeamVariant.line); + expectNum(1, s['travel'], 'durationScale.travel'); + expectNum(1, s['edgeFade'], 'durationScale.edgeFade'); + expectNum(config.breatheFactor, s['breathe'], 'durationScale.breathe'); + expectNum(config.spikeFactor, s['spike'], 'durationScale.spike'); + expectNum(config.spike2Factor, s['spike2'], 'durationScale.spike2'); + }); + + test('easing per track', () { + final e = obj(kf, 'easing'); + // The travel/edge tracks sample linearly; breathe/spike ease per + // segment (`sampleKeyframes(..., easedSegments: true)`). + expect(e['travel'], 'linear'); + expect(e['edgeFade'], 'linear'); + expect(e['breathe'], 'easeInOut'); + expect(e['spike'], 'easeInOut'); + expect(e['spike2'], 'easeInOut'); + }); + }); + + // ─── line.bloomGradients — the expanded spike table ─────────────────────── + // + // The spec expands each palette × theme into 7 fixed spikes plus (dark) the + // traveling dot and ambient glow, or (light) the traveling shadow. Our port + // keeps the geometry in `line_geometry.dart` and the colors in the palette + // tables, with the mono attenuation applied at paint time — so the mono rows + // are compared against `ourAlpha × attenuation`. + + group('line.bloomGradients', () { + final grads = obj(line, 'bloomGradients'); + + /// Indices of the four thin (color-palette) spikes within the 7. + const thin = [0, 2, 4, 6]; + + for (final MapEntry(key: name, value: preset) in _presets.entries) { + final isMono = name == 'mono'; + for (final theme in const ['dark', 'light']) { + final isDark = theme == 'dark'; + + test('$name/$theme spike geometry', () { + final rows = arr( + obj(grads, name), + theme, + ).cast>(); + expect(lineSpikes, hasLength(7)); + for (var i = 0; i < 7; i++) { + final r = rows[i]; + final s = lineSpikes[i]; + expectNum(s.fx * 100, r['xPct'], '$name/$theme spike$i xPct'); + expectNum(-s.yInset, r['yOffPx'], '$name/$theme spike$i yOffPx'); + final stops = (r['stops']! as List).cast>(); + expect( + stops, + hasLength(3), + reason: '$name/$theme spike$i stop count', + ); + expectNum(0, stops[0]['pos'], '$name/$theme spike$i pos0'); + expectNum(s.midStop, stops[1]['pos'], '$name/$theme spike$i mid'); + expectNum(s.endStop, stops[2]['pos'], '$name/$theme spike$i end'); + expectNum(0, stops[2]['a'], '$name/$theme spike$i end alpha'); + + // Radii. + final w = obj(r, 'w')['base']! as num; + final h = obj(r, 'h')['base']! as num; + final t = thin.indexOf(i); + if (t >= 0) { + final wantW = isMono + ? (i == 6 && !isDark + ? lineMonoThinSpikeWidthLight92 + : lineMonoThinSpikeWidths[t]) + : (i == 6 && !isDark + ? lineThinSpikeWidthLight92 + : lineThinSpikeWidths[t]); + final wantH = isMono + ? lineMonoThinSpikeHeights[t] + : lineThinSpikeHeights[t]; + expectNum(wantW, w, '$name/$theme spike$i width'); + expectNum(wantH, h, '$name/$theme spike$i height'); + } else { + final wantW = switch (i) { + 1 => lineSpikeWideRadiusX22, + 3 => lineSpikeWideRadiusX50, + _ => lineSpikeRadiusX78, + }; + final wantH = switch (i) { + 1 => lineSpikeRadiusY22, + 3 => lineSpikeRadiusY50, + _ => lineSpikeRadiusY78, + }; + expectNum(wantW, w, '$name/$theme spike$i width'); + expectNum(wantH, h, '$name/$theme spike$i height'); + } + } + }); + + test('$name/$theme spike colors', () { + final rows = arr( + obj(grads, name), + theme, + ).cast>(); + final spikes = isDark ? preset.spike : preset.spikeLt; + final table = isDark ? preset.lineBloomDark : preset.lineBloomLight; + + List> stopsOf(int i) => + (rows[i]['stops']! as List).cast>(); + + // Spike 0 — the primary accent. + final s0 = stopsOf(0); + expectChannels( + spikes.primary, + stop: s0[0], + reason: '$name/$theme spike0 core', + alphaScale: isMono ? lineMonoSpike1 : 1, + ); + expectChannels( + spikes.primary, + stop: s0[1], + reason: '$name/$theme spike0 mid', + alphaScale: isMono + ? (isDark ? lineMonoSpike1MidDark : lineMonoSpike1MidLight) + : (isDark ? 1 : lineSpike1MidLightAlpha), + ); + + // Spike 1 — the secondary accent. + final s1 = stopsOf(1); + expectChannels( + spikes.secondary, + stop: s1[0], + reason: '$name/$theme spike1 core', + alphaScale: isMono ? lineMonoSpike2 : 1, + ); + expectChannels( + spikes.secondary, + stop: s1[1], + reason: '$name/$theme spike1 mid', + alphaScale: isMono + ? (isDark ? lineMonoSpike2MidDark : lineMonoSpike2MidLight) + : (isDark ? lineSpike2MidDarkAlpha : lineSpike2MidLightAlpha) / + spikes.secondary.a, + ); + + // Spikes 2–6 — the five palette bloom pairs. + for (var i = 2; i < 7; i++) { + final st = stopsOf(i); + final pair = table[i - 2]; + expectChannels( + pair.color1, + stop: st[0], + reason: '$name/$theme spike$i core', + alphaScale: isMono ? lineMonoTableSpike1 : 1, + ); + expectChannels( + pair.color2, + stop: st[1], + reason: '$name/$theme spike$i mid', + alphaScale: isMono ? lineMonoTableSpike2 : 1, + ); + } + }); + + test('$name/$theme traveling dot, ambient glow and shadow', () { + final rows = arr( + obj(grads, name), + theme, + ).cast>(); + if (isDark) { + expect( + rows, + hasLength(9), + reason: 'dark carries dot + ambient after the 7 spikes', + ); + final dot = rows[7]; + expectNum(lineDotOffsetY, dot['yOffPx'], '$name dot yOffPx'); + expectNum(lineDotRadiusX, obj(dot, 'w')['base'], '$name dot w'); + expectNum(lineDotRadiusY, obj(dot, 'h')['base'], '$name dot h'); + final dotStops = (dot['stops']! as List) + .cast>(); + final dotAlphas = isMono ? lineDotAlphasMono : lineDotAlphas; + for (var i = 0; i < lineDotStops.length; i++) { + expectNum(lineDotStops[i], dotStops[i]['pos'], '$name dot pos$i'); + expectNum( + i < dotAlphas.length ? dotAlphas[i] : 0, + dotStops[i]['a'], + '$name dot alpha$i', + ); + expectNum(255, dotStops[i]['r'], '$name dot is white'); + } + + final amb = rows[8]; + expectNum(0, amb['yOffPx'], '$name ambient yOffPx'); + expectNum(lineAmbientRadiusX, obj(amb, 'w')['base'], '$name amb w'); + expectNum(lineAmbientRadiusY, obj(amb, 'h')['base'], '$name amb h'); + final ambStops = (amb['stops']! as List) + .cast>(); + final ambAlphas = isMono + ? lineAmbientAlphasMono + : lineAmbientAlphas; + for (var i = 0; i < lineAmbientStops.length; i++) { + expectNum( + lineAmbientStops[i], + ambStops[i]['pos'], + '$name amb pos$i', + ); + expectNum( + i < ambAlphas.length ? ambAlphas[i] : 0, + ambStops[i]['a'], + '$name amb alpha$i', + ); + } + } else { + expect( + rows, + hasLength(8), + reason: 'light carries one shadow blob after the 7 spikes', + ); + final sh = rows[7]; + expectNum(0, sh['yOffPx'], '$name shadow yOffPx'); + expectNum( + lineShadowRadiusX, + obj(sh, 'w')['base'], + '$name shadow w', + ); + expectNum( + lineShadowRadiusY, + obj(sh, 'h')['base'], + '$name shadow h', + ); + final shStops = (sh['stops']! as List).cast>(); + for (var i = 0; i < lineShadowStops.length; i++) { + expectNum( + lineShadowStops[i], + shStops[i]['pos'], + '$name shadow pos$i', + ); + expectNum( + lineShadowAlphas[i], + shStops[i]['a'], + '$name shadow alpha$i', + ); + expectNum(0, shStops[i]['r'], '$name shadow is black'); + } + } + }); + } + } + }); + + // ─── pulse tables ───────────────────────────────────────────────────────── + + group('pulse tables', () { + test('ringMap ↔ pulseRingMap', () { + final rows = arr(pulse, 'ringMap').cast>(); + expect(pulseRingMap, hasLength(rows.length)); + for (var i = 0; i < rows.length; i++) { + expect( + pulseRingMap[i].region, + _regions[rows[i]['region']], + reason: 'ringMap[$i].region', + ); + expect( + pulseRingMap[i].quad, + _quads[rows[i]['quad']], + reason: 'ringMap[$i].quad', + ); + } + }); + + test('innerSizes ↔ pulseInnerSizes', () { + final rows = arr(pulse, 'innerSizes').cast>(); + expect(pulseInnerSizes, hasLength(rows.length)); + for (var i = 0; i < rows.length; i++) { + expectNum(pulseInnerSizes[i].width, rows[i][0], 'innerSizes[$i].w'); + expectNum(pulseInnerSizes[i].height, rows[i][1], 'innerSizes[$i].h'); + } + }); + + void checkSpecs( + String key, + List ours, { + required bool positioned, + }) { + final rows = arr(pulse, key).cast>(); + expect(ours, hasLength(rows.length), reason: '$key length'); + for (var i = 0; i < rows.length; i++) { + final r = rows[i]; + expect(ours[i].ci, r['ci'], reason: '$key[$i].ci'); + expect( + ours[i].region, + _regions[r['region']], + reason: '$key[$i].region', + ); + expect(ours[i].quad, _quads[r['quad']], reason: '$key[$i].quad'); + expectNum(ours[i].w, r['w'], '$key[$i].w'); + expectNum(ours[i].h, r['h'], '$key[$i].h'); + if (positioned) { + expect(ours[i].x, isNotNull, reason: '$key[$i].x'); + expect(ours[i].y, isNotNull, reason: '$key[$i].y'); + expect( + ours[i].x!, + closeTo(cssPercent(r['x']), _epsilon), + reason: '$key[$i].x', + ); + expect( + ours[i].y!, + closeTo(cssPercent(r['y']), _epsilon), + reason: '$key[$i].y', + ); + } else { + expect(r.containsKey('x'), isFalse, reason: '$key[$i] has no x'); + expect(ours[i].x, isNull, reason: '$key[$i].x inherits'); + expect(ours[i].y, isNull, reason: '$key[$i].y inherits'); + } + } + } + + test('innerBloom ↔ pulseInnerBloom', () { + checkSpecs('innerBloom', pulseInnerBloom, positioned: false); + }); + test('outerCore ↔ pulseOuterCore', () { + checkSpecs('outerCore', pulseOuterCore, positioned: true); + }); + test('outerBloom ↔ pulseOuterBloom', () { + checkSpecs('outerBloom', pulseOuterBloom, positioned: true); + }); + + test('innerCornerAccent ↔ pulseInnerCorner*', () { + final a = obj(pulse, 'innerCornerAccent'); + expectNum(pulseInnerCornerRadius, a['sizePx'], 'cornerAccent sizePx'); + expectNum( + pulseInnerCornerAlphaDark, + obj(a, 'alpha')['dark'], + 'cornerAccent alpha.dark', + ); + expectNum( + pulseInnerCornerAlphaLight, + obj(a, 'alpha')['light'], + 'cornerAccent alpha.light', + ); + expectNum( + pulseInnerCornerEndStop * 100, + a['fadeStop'], + 'cornerAccent fadeStop', + ); + }); + + test('innerBloomBlurPx ↔ pulseInnerBloomBlurSigma', () { + expectNum( + pulseInnerBloomBlurSigma, + pulse['innerBloomBlurPx'], + 'innerBloomBlurPx', + ); + }); + + test('oscillatorCurve is the cosine ping-pong we implement', () { + expect(pulse['oscillatorCurve'], 'cosinePingPong'); + expect(pingPong(0), closeTo(0, _epsilon)); + expect(pingPong(0.5), closeTo(1, _epsilon)); + expect(pingPong(1), closeTo(0, _epsilon)); + // Cosine is even, so negative phases (positive delays) are valid. + expect(pingPong(-0.25), closeTo(pingPong(0.25), _epsilon)); + }); + }); + + // ─── pulse params, oscillators and hue periods ──────────────────────────── + + group('pulse params', () { + const variants = { + 'inner': BeamVariant.pulseInside, + 'outside': BeamVariant.pulseOutside, + }; + + for (final MapEntry(key: key, value: variant) in variants.entries) { + for (final theme in const ['dark', 'light']) { + final brightness = theme == 'dark' ? Brightness.dark : Brightness.light; + + test('$key/$theme params ↔ PulseParams.resolve', () { + final s = obj(obj(obj(pulse, key), theme), 'params'); + // 2.3 is the source's pulse cycle duration, at which durScale == 1. + final p = PulseParams.resolve(variant, brightness, 2.3); + expectNum(p.sp, s['sp'], '$key/$theme sp'); + expectNum(p.dr, s['dr'], '$key/$theme dr'); + expectNum(p.op, s['op'], '$key/$theme op'); + expectNum(p.gh, s['gh'], '$key/$theme gh'); + expectNum(p.bs, s['bs'], '$key/$theme bs'); + expectNum(p.ss, s['ss'], '$key/$theme ss'); + expectNum(p.ghs, s['ghs'], '$key/$theme ghs'); + expectNum(p.huePeriod, s['huePeriod'], '$key/$theme huePeriod'); + }); + + test('$key/$theme oscillators ↔ PulseOscillatorBank', () { + final rows = arr( + obj(obj(pulse, key), theme), + 'oscillators', + ).cast>(); + final bank = PulseOscillatorBank( + PulseParams.resolve(variant, brightness, 2.3), + ); + expect( + bank.oscillators, + hasLength(rows.length), + reason: '$key/$theme oscillator count', + ); + expect( + bank.oscillators.keys.toList(), + rows.map((r) => r['prop']).toList(), + reason: '$key/$theme oscillator order', + ); + for (final r in rows) { + final prop = r['prop']! as String; + final o = bank.oscillators[prop]!; + expectNum(o.a, r['a'], '$key/$theme $prop.a'); + expectNum(o.b, r['b'], '$key/$theme $prop.b'); + expectNum(o.period, r['period'], '$key/$theme $prop.period'); + expectNum(o.delay, r['delay'], '$key/$theme $prop.delay'); + expect( + r['unit'], + prop.startsWith('bx') || prop.startsWith('by') ? 'px' : '', + reason: '$key/$theme $prop.unit', + ); + } + }); + + test('$key/$theme frozenBloomAlpha ↔ 1 − op/2', () { + final s = obj(obj(pulse, key), theme); + final p = PulseParams.resolve(variant, brightness, 2.3); + expectNum( + 1 - p.op * 0.5, + s['frozenBloomAlpha'], + '$key/$theme frozenBloomAlpha', + ); + }); + } + } + + test('huePeriod ↔ BeamVariant.defaultHuePeriod', () { + final h = obj(pulse, 'huePeriod'); + expectNum( + BeamVariant.pulseInside.defaultHuePeriod.inMilliseconds / 1000, + h['pulse-inner'], + 'pulse-inner huePeriod', + ); + expectNum( + BeamVariant.pulseOutside.defaultHuePeriod.inMilliseconds / 1000, + h['pulse-outside'], + 'pulse-outside huePeriod', + ); + }); + }); + + // ─── pulse.outsideConstants ─────────────────────────────────────────────── + + group('pulse.outsideConstants', () { + // Only the VERBATIM half of `pulse_constants.dart` maps here. The blur and + // inset values below them in that file are the source demo page's tuned + // `.beam-host--pulse-outside-tuned` recipe, which this port bakes in — the + // spec records the library's untuned defaults instead, so they are + // deliberately not compared. See the file header. + final c = obj(pulse, 'outsideConstants'); + + test('glowScale ↔ pulseOuterScaleX/Y', () { + expectNum(pulseOuterScaleX, obj(c, 'glowScale')['x'], 'glowScale.x'); + expectNum(pulseOuterScaleY, obj(c, 'glowScale')['y'], 'glowScale.y'); + }); + + test('referenceSize ↔ pulseOuterReference*', () { + expectNum( + pulseOuterReferenceWidth, + obj(c, 'referenceSize')['w'], + 'referenceSize.w', + ); + expectNum( + pulseOuterReferenceHeight, + obj(c, 'referenceSize')['h'], + 'referenceSize.h', + ); + }); + + test('scaleClamp ↔ pulseOuterMin/MaxScale', () { + expectNum(pulseOuterMinScale, obj(c, 'scaleClamp')['min'], 'clamp.min'); + expectNum(pulseOuterMaxScale, obj(c, 'scaleClamp')['max'], 'clamp.max'); + }); + + // GAPS in pulse_constants.dart, all deliberate: + // * glowBlurPx (3/6), bloomBlurPx (22.5/15), coreInsetPx (10), + // bloomInsetPx (30) — the library's untuned defaults; the port ships + // the demo recipe (6/14 insets, 10/19 unit-scaled blurs) instead, all + // overridable through coreBlur/bloomBlur. + // * hairline.rgb (dark 70,70,70 / light 0,0,0) — lives inline in + // `PulseOuterStrategy.paintAbove`, not in a constant. + // * pulseOuterGlowUnitDamping (0.7) has no spec counterpart. + }); + + // ─── defaults ───────────────────────────────────────────────────────────── + + group('defaults', () { + test('cycle durations ↔ BeamVariant.defaultCycleDuration', () { + final d = obj(defaults, 'duration'); + double secs(BeamVariant v) => + v.defaultCycleDuration.inMicroseconds / 1000000; + expectNum(secs(BeamVariant.rotate), d['rotate'], 'rotate duration'); + expectNum(secs(BeamVariant.small), d['rotate'], 'small duration'); + expectNum(secs(BeamVariant.line), d['line'], 'line duration'); + expectNum(secs(BeamVariant.pulseInside), d['pulse'], 'pulseInside'); + expectNum(secs(BeamVariant.pulseOutside), d['pulse'], 'pulseOutside'); + }); + + test('hueRange and the line cap ↔ BeamConfig.resolve', () { + expectNum( + _configFor(BeamVariant.rotate).hueRange, + defaults['hueRange'], + 'default hueRange', + ); + // The line variant caps the range; a range under the cap passes through. + expectNum( + _configFor(BeamVariant.line).hueRange, + defaults['lineHueRangeCap'], + 'line hueRange cap', + ); + expect(_configFor(BeamVariant.line, hueRange: 5).hueRange, 5.0); + }); + + test('fade seconds ↔ BeamClock', () { + expectNum(BeamClock.fadeInSeconds, defaults['fadeInSeconds'], 'fadeIn'); + expectNum( + BeamClock.fadeOutSeconds, + defaults['fadeOutSeconds'], + 'fadeOut', + ); + }); + + test('strength and brightness fallback ↔ BeamConfig.resolve', () { + expectNum( + _configFor(BeamVariant.rotate).strength, + defaults['strength'], + 'default strength', + ); + // `md` has no `brightness` in its theme preset, so the fallback shows. + expect( + themePresetFor(BeamVariant.rotate, Brightness.dark).brightness, + isNull, + ); + expectNum( + _configFor(BeamVariant.rotate).brightnessFactor, + defaults['brightnessFallback'], + 'brightness fallback', + ); + }); + + test('mono treatment ↔ BeamColors.mono', () { + final mono = BeamColors.mono.resolve(); + expectNum( + mono.opacityMultiplier, + defaults['monoOpacityMultiplier'], + 'monoOpacityMultiplier', + ); + expect(mono.forcesStaticColors, defaults['monoForcesStaticColors']); + expect(mono.monoTreatment, isTrue); + }); + + test('hue-shift periods ↔ BeamVariant defaults', () { + double secs(Duration d) => d.inMicroseconds / 1000000; + for (final v in [ + BeamVariant.rotate, + BeamVariant.small, + BeamVariant.line, + ]) { + expectNum( + secs(v.defaultHuePeriod), + defaults['rotateHueShiftPeriod'], + '$v huePeriod', + ); + } + expectNum( + secs(BeamVariant.line.defaultBloomHuePeriod), + defaults['lineBloomHueShiftPeriod'], + 'line bloom huePeriod', + ); + }); + + test('line bloom hue range carries the +10° bonus', () { + final config = _configFor(BeamVariant.line); + final resolver = BeamPhaseResolver(config); + // `_pingPongHue` reaches −range at t=0 and +range at half a period. + final low = resolver.sample(0, 1).bloomHueDegrees; + final high = resolver + .sample(config.bloomHuePeriodSeconds / 2, 1) + .bloomHueDegrees; + expectNum( + (high - low) / 2 - config.hueRange, + defaults['lineBloomHueRangeBonus'], + 'lineBloomHueRangeBonus', + ); + }); + + test('the spec\'s declared defaults name our built-ins', () { + expect(defaults['size'], 'md'); + expect(defaults['colorVariant'], 'colorful'); + expect(defaults['theme'], 'dark'); + expect(defaults['fadeEasing'], 'ease'); + }); + + // GAP: `defaults.pulseDriverFps` (30) is the source's pulse-driver tick + // rate; ours is BeamClock's optional fps cap, not a constant. + // GAP: `filters.order` / `filters.hueRotateModel` describe the CSS filter + // pipeline our `BeamColorMatrix` implements; no constant mirrors them. + }); + + // ─── enums ──────────────────────────────────────────────────────────────── + + group('enums', () { + test('sizes ↔ BeamVariant', () { + expect( + arr(obj(spec, 'enums'), 'sizes').cast().toSet(), + _sizes.keys.toSet(), + ); + expect(_sizes.values.toSet(), BeamVariant.values.toSet()); + }); + + test('colorVariants ↔ the four transcribed presets', () { + expect( + arr(obj(spec, 'enums'), 'colorVariants').cast().toSet(), + _presets.keys.toSet(), + ); + }); + + test('themes ↔ Brightness', () { + expect(arr(obj(spec, 'enums'), 'themes').cast(), [ + 'dark', + 'light', + ]); + }); + }); +} + +/// A resolved config for [variant] at the source's defaults. +BeamConfig _configFor(BeamVariant variant, {double? hueRange}) => + BeamConfig.resolve( + variant: variant, + palette: const BeamPalette(data: colorfulPreset), + brightness: Brightness.dark, + style: hueRange == null + ? const BeamStyle() + : BeamStyle(hueRange: hueRange), + ); diff --git a/test/fixtures/UPSTREAM b/test/fixtures/UPSTREAM new file mode 100644 index 0000000..e752dc6 --- /dev/null +++ b/test/fixtures/UPSTREAM @@ -0,0 +1,5 @@ +commit=3862ffa345217443b63696a8c331a0664eea4b04 +version=1.3.0 +package_version=1.4.0 +spec_version=1.0.0 +styles_sha256=547f7c91c4a33eade75dd00869a2bd49d5dac4ddc95be841b03e35f64a0fd344 diff --git a/test/fixtures/beam-spec.json b/test/fixtures/beam-spec.json new file mode 100644 index 0000000..85865ba --- /dev/null +++ b/test/fixtures/beam-spec.json @@ -0,0 +1,5731 @@ +{ + "specVersion": "1.0.0", + "sourceLibrary": { + "name": "border-beam", + "version": "1.3.0" + }, + "generated": "2026-07-27", + "reference": "Web demo at https://beam.jakubantalik.com is the visual ground truth.", + "enums": { + "sizes": [ + "sm", + "md", + "line", + "pulse-outside", + "pulse-inner" + ], + "colorVariants": [ + "colorful", + "mono", + "ocean", + "sunset" + ], + "themes": [ + "dark", + "light" + ] + }, + "defaults": { + "size": "md", + "colorVariant": "colorful", + "theme": "dark", + "duration": { + "line": 3.1, + "pulse": 2.3, + "rotate": 1.96 + }, + "hueRange": 30, + "lineHueRangeCap": 13, + "strength": 1, + "brightnessFallback": 1.3, + "fadeInSeconds": 0.6, + "fadeOutSeconds": 0.5, + "fadeEasing": "ease", + "rotateHueShiftPeriod": 12, + "lineBloomHueShiftPeriod": 8, + "lineBloomHueRangeBonus": 10, + "monoOpacityMultiplier": 0.5, + "monoForcesStaticColors": true, + "pulseDriverFps": 30 + }, + "sizePresets": { + "sm": { + "borderRadius": 32, + "borderWidth": 1, + "width": 70, + "height": 36 + }, + "md": { + "borderRadius": 16, + "borderWidth": 1 + }, + "line": { + "borderRadius": 16, + "borderWidth": 1 + }, + "pulse-outside": { + "borderRadius": 16, + "borderWidth": 1 + }, + "pulse-inner": { + "borderRadius": 16, + "borderWidth": 1 + } + }, + "sizeThemePresets": { + "sm": { + "dark": { + "strokeOpacity": 0.46, + "innerOpacity": 0.24, + "bloomOpacity": 0.38, + "innerShadow": "rgba(255, 255, 255, 0.3)", + "saturation": 1.2 + }, + "light": { + "strokeOpacity": 0.12, + "innerOpacity": 0.3, + "bloomOpacity": 0.16, + "innerShadow": "rgba(0, 0, 0, 0.14)", + "saturation": 1.8 + } + }, + "md": { + "dark": { + "strokeOpacity": 0.26, + "innerOpacity": 0.42, + "bloomOpacity": 0.24, + "innerShadow": "rgba(255, 255, 255, 0.27)", + "saturation": 1.2 + }, + "light": { + "strokeOpacity": 0.12, + "innerOpacity": 0.26, + "bloomOpacity": 0.34, + "innerShadow": "rgba(0, 0, 0, 0.14)", + "saturation": 1.5 + } + }, + "line": { + "dark": { + "strokeOpacity": 1.14, + "innerOpacity": 0.7, + "bloomOpacity": 0.8, + "innerShadow": "rgba(255, 255, 255, 0.1)", + "saturation": 1.2 + }, + "light": { + "strokeOpacity": 0.16, + "innerOpacity": 0.32, + "bloomOpacity": 0.3, + "innerShadow": "rgba(0, 0, 0, 0.14)", + "saturation": 1.95 + } + }, + "pulse-outside": { + "dark": { + "strokeOpacity": 0.94, + "innerOpacity": 0.34, + "bloomOpacity": 0.3, + "innerShadow": "transparent", + "saturation": 1.2, + "brightness": 1.9, + "hairlineOpacity": 0 + }, + "light": { + "strokeOpacity": 1.96, + "innerOpacity": 1.04, + "bloomOpacity": 0.42, + "innerShadow": "transparent", + "saturation": 0.6, + "brightness": 1.7, + "hairlineOpacity": 0 + } + }, + "pulse-inner": { + "dark": { + "strokeOpacity": 1.54, + "innerOpacity": 0.44, + "bloomOpacity": 0.66, + "innerShadow": "transparent", + "saturation": 1.2, + "brightness": 0.75 + }, + "light": { + "strokeOpacity": 0.32, + "innerOpacity": 0.4, + "bloomOpacity": 0.8, + "innerShadow": "transparent", + "saturation": 0.75, + "brightness": 1.3 + } + } + }, + "palettes": { + "border": { + "colorful": { + "border": [ + { + "color": "rgb(255, 50, 100)", + "pos": "33% -7.4%", + "size": "70px 40px" + }, + { + "color": "rgb(40, 140, 255)", + "pos": "12% -5%", + "size": "60px 35px" + }, + { + "color": "rgb(50, 200, 80)", + "pos": "2.1% 68.3%", + "size": "40px 70px" + }, + { + "color": "rgb(30, 185, 170)", + "pos": "2.1% 68.3%", + "size": "20px 35px" + }, + { + "color": "rgb(100, 70, 255)", + "pos": "74.4% 100%", + "size": "180px 32px" + }, + { + "color": "rgb(40, 140, 255)", + "pos": "55% 100%", + "size": "85px 26px" + }, + { + "color": "rgb(255, 120, 40)", + "pos": "93.9% 0%", + "size": "74px 32px" + }, + { + "color": "rgb(240, 50, 180)", + "pos": "100% 27.1%", + "size": "26px 42px" + }, + { + "color": "rgb(180, 40, 240)", + "pos": "100% 27.1%", + "size": "52px 48px" + } + ], + "spike": { + "primary": "rgb(255, 60, 80)", + "secondary": "rgba(40, 190, 180, 0.98)" + }, + "spikeLt": { + "primary": "rgb(200, 30, 60)", + "secondary": "rgb(20, 150, 140)" + } + }, + "mono": { + "border": [ + { + "color": "rgb(180, 180, 180)", + "pos": "33% -7.4%", + "size": "70px 40px" + }, + { + "color": "rgb(140, 140, 140)", + "pos": "12% -5%", + "size": "60px 35px" + }, + { + "color": "rgb(160, 160, 160)", + "pos": "2.1% 68.3%", + "size": "40px 70px" + }, + { + "color": "rgb(130, 130, 130)", + "pos": "2.1% 68.3%", + "size": "20px 35px" + }, + { + "color": "rgb(170, 170, 170)", + "pos": "74.4% 100%", + "size": "180px 32px" + }, + { + "color": "rgb(150, 150, 150)", + "pos": "55% 100%", + "size": "85px 26px" + }, + { + "color": "rgb(190, 190, 190)", + "pos": "93.9% 0%", + "size": "74px 32px" + }, + { + "color": "rgb(145, 145, 145)", + "pos": "100% 27.1%", + "size": "26px 42px" + }, + { + "color": "rgb(165, 165, 165)", + "pos": "100% 27.1%", + "size": "52px 48px" + } + ], + "spike": { + "primary": "rgb(200, 200, 200)", + "secondary": "rgb(170, 170, 170)" + }, + "spikeLt": { + "primary": "rgb(80, 80, 80)", + "secondary": "rgb(120, 120, 120)" + } + }, + "ocean": { + "border": [ + { + "color": "rgb(100, 80, 220)", + "pos": "33% -7.4%", + "size": "70px 40px" + }, + { + "color": "rgb(60, 120, 255)", + "pos": "12% -5%", + "size": "60px 35px" + }, + { + "color": "rgb(80, 100, 200)", + "pos": "2.1% 68.3%", + "size": "40px 70px" + }, + { + "color": "rgb(50, 140, 220)", + "pos": "2.1% 68.3%", + "size": "20px 35px" + }, + { + "color": "rgb(120, 80, 255)", + "pos": "74.4% 100%", + "size": "180px 32px" + }, + { + "color": "rgb(70, 130, 255)", + "pos": "55% 100%", + "size": "85px 26px" + }, + { + "color": "rgb(140, 100, 240)", + "pos": "93.9% 0%", + "size": "74px 32px" + }, + { + "color": "rgb(90, 110, 230)", + "pos": "100% 27.1%", + "size": "26px 42px" + }, + { + "color": "rgb(130, 70, 255)", + "pos": "100% 27.1%", + "size": "52px 48px" + } + ], + "spike": { + "primary": "rgb(100, 120, 255)", + "secondary": "rgba(130, 100, 220, 0.98)" + }, + "spikeLt": { + "primary": "rgb(60, 60, 180)", + "secondary": "rgb(80, 100, 200)" + } + }, + "sunset": { + "border": [ + { + "color": "rgb(255, 80, 50)", + "pos": "33% -7.4%", + "size": "70px 40px" + }, + { + "color": "rgb(255, 160, 40)", + "pos": "12% -5%", + "size": "60px 35px" + }, + { + "color": "rgb(255, 120, 60)", + "pos": "2.1% 68.3%", + "size": "40px 70px" + }, + { + "color": "rgb(255, 200, 50)", + "pos": "2.1% 68.3%", + "size": "20px 35px" + }, + { + "color": "rgb(255, 100, 80)", + "pos": "74.4% 100%", + "size": "180px 32px" + }, + { + "color": "rgb(255, 180, 60)", + "pos": "55% 100%", + "size": "85px 26px" + }, + { + "color": "rgb(255, 60, 60)", + "pos": "93.9% 0%", + "size": "74px 32px" + }, + { + "color": "rgb(255, 140, 50)", + "pos": "100% 27.1%", + "size": "26px 42px" + }, + { + "color": "rgb(255, 90, 70)", + "pos": "100% 27.1%", + "size": "52px 48px" + } + ], + "spike": { + "primary": "rgb(255, 140, 80)", + "secondary": "rgba(255, 100, 60, 0.98)" + }, + "spikeLt": { + "primary": "rgb(200, 80, 40)", + "secondary": "rgb(220, 120, 30)" + } + } + }, + "small": { + "colorful": { + "border": [ + { + "color": "rgb(50, 200, 80)", + "pos": "2% 68%", + "size": "9px 18px" + }, + { + "color": "rgb(30, 185, 170)", + "pos": "2% 68%", + "size": "4px 8px" + }, + { + "color": "rgb(255, 120, 40)", + "pos": "72% -3%", + "size": "59px 9px" + }, + { + "color": "rgb(100, 70, 255)", + "pos": "74% 100%", + "size": "42px 7px" + }, + { + "color": "rgb(240, 50, 180)", + "pos": "100% 27%", + "size": "10px 17px" + }, + { + "color": "rgb(180, 40, 240)", + "pos": "100% 27%", + "size": "10px 18px" + }, + { + "color": "rgb(40, 140, 255)", + "pos": "100% 27%", + "size": "5px 10px" + }, + { + "color": "rgb(255, 50, 100)", + "pos": "100% 27%", + "size": "11px 12px" + } + ], + "inner": [ + { + "color": "rgba(50, 200, 80, 0.5)", + "pos": "2% 68%", + "size": "9px 18px" + }, + { + "color": "rgba(30, 185, 170, 0.45)", + "pos": "2% 68%", + "size": "4px 8px" + }, + { + "color": "rgba(255, 120, 40, 0.35)", + "pos": "72% -3%", + "size": "59px 9px" + }, + { + "color": "rgba(100, 70, 255, 0.35)", + "pos": "74% 100%", + "size": "42px 7px" + }, + { + "color": "rgba(240, 50, 180, 0.3)", + "pos": "100% 27%", + "size": "10px 17px" + }, + { + "color": "rgba(180, 40, 240, 0.4)", + "pos": "100% 27%", + "size": "10px 18px" + }, + { + "color": "rgba(40, 140, 255, 0.3)", + "pos": "100% 27%", + "size": "5px 10px" + }, + { + "color": "rgba(255, 50, 100, 0.3)", + "pos": "100% 27%", + "size": "11px 12px" + } + ] + }, + "mono": { + "border": [ + { + "color": "rgb(160, 160, 160)", + "pos": "2% 68%", + "size": "9px 18px" + }, + { + "color": "rgb(140, 140, 140)", + "pos": "2% 68%", + "size": "4px 8px" + }, + { + "color": "rgb(180, 180, 180)", + "pos": "72% -3%", + "size": "59px 9px" + }, + { + "color": "rgb(150, 150, 150)", + "pos": "74% 100%", + "size": "42px 7px" + }, + { + "color": "rgb(170, 170, 170)", + "pos": "100% 27%", + "size": "10px 17px" + }, + { + "color": "rgb(155, 155, 155)", + "pos": "100% 27%", + "size": "10px 18px" + }, + { + "color": "rgb(145, 145, 145)", + "pos": "100% 27%", + "size": "5px 10px" + }, + { + "color": "rgb(165, 165, 165)", + "pos": "100% 27%", + "size": "11px 12px" + } + ], + "inner": [ + { + "color": "rgba(160, 160, 160, 0.25)", + "pos": "2% 68%", + "size": "9px 18px" + }, + { + "color": "rgba(140, 140, 140, 0.22)", + "pos": "2% 68%", + "size": "4px 8px" + }, + { + "color": "rgba(180, 180, 180, 0.17)", + "pos": "72% -3%", + "size": "59px 9px" + }, + { + "color": "rgba(150, 150, 150, 0.17)", + "pos": "74% 100%", + "size": "42px 7px" + }, + { + "color": "rgba(170, 170, 170, 0.15)", + "pos": "100% 27%", + "size": "10px 17px" + }, + { + "color": "rgba(155, 155, 155, 0.20)", + "pos": "100% 27%", + "size": "10px 18px" + }, + { + "color": "rgba(145, 145, 145, 0.15)", + "pos": "100% 27%", + "size": "5px 10px" + }, + { + "color": "rgba(165, 165, 165, 0.15)", + "pos": "100% 27%", + "size": "11px 12px" + } + ] + }, + "ocean": { + "border": [ + { + "color": "rgb(60, 140, 200)", + "pos": "2% 68%", + "size": "9px 18px" + }, + { + "color": "rgb(50, 120, 180)", + "pos": "2% 68%", + "size": "4px 8px" + }, + { + "color": "rgb(100, 80, 220)", + "pos": "72% -3%", + "size": "59px 9px" + }, + { + "color": "rgb(80, 100, 255)", + "pos": "74% 100%", + "size": "42px 7px" + }, + { + "color": "rgb(120, 70, 240)", + "pos": "100% 27%", + "size": "10px 17px" + }, + { + "color": "rgb(90, 80, 220)", + "pos": "100% 27%", + "size": "10px 18px" + }, + { + "color": "rgb(70, 110, 255)", + "pos": "100% 27%", + "size": "5px 10px" + }, + { + "color": "rgb(110, 90, 230)", + "pos": "100% 27%", + "size": "11px 12px" + } + ], + "inner": [ + { + "color": "rgba(60, 140, 200, 0.5)", + "pos": "2% 68%", + "size": "9px 18px" + }, + { + "color": "rgba(50, 120, 180, 0.45)", + "pos": "2% 68%", + "size": "4px 8px" + }, + { + "color": "rgba(100, 80, 220, 0.35)", + "pos": "72% -3%", + "size": "59px 9px" + }, + { + "color": "rgba(80, 100, 255, 0.35)", + "pos": "74% 100%", + "size": "42px 7px" + }, + { + "color": "rgba(120, 70, 240, 0.3)", + "pos": "100% 27%", + "size": "10px 17px" + }, + { + "color": "rgba(90, 80, 220, 0.4)", + "pos": "100% 27%", + "size": "10px 18px" + }, + { + "color": "rgba(70, 110, 255, 0.3)", + "pos": "100% 27%", + "size": "5px 10px" + }, + { + "color": "rgba(110, 90, 230, 0.3)", + "pos": "100% 27%", + "size": "11px 12px" + } + ] + }, + "sunset": { + "border": [ + { + "color": "rgb(255, 180, 50)", + "pos": "2% 68%", + "size": "9px 18px" + }, + { + "color": "rgb(255, 150, 40)", + "pos": "2% 68%", + "size": "4px 8px" + }, + { + "color": "rgb(255, 80, 60)", + "pos": "72% -3%", + "size": "59px 9px" + }, + { + "color": "rgb(255, 100, 80)", + "pos": "74% 100%", + "size": "42px 7px" + }, + { + "color": "rgb(255, 60, 80)", + "pos": "100% 27%", + "size": "10px 17px" + }, + { + "color": "rgb(255, 120, 60)", + "pos": "100% 27%", + "size": "10px 18px" + }, + { + "color": "rgb(255, 200, 50)", + "pos": "100% 27%", + "size": "5px 10px" + }, + { + "color": "rgb(255, 90, 70)", + "pos": "100% 27%", + "size": "11px 12px" + } + ], + "inner": [ + { + "color": "rgba(255, 180, 50, 0.5)", + "pos": "2% 68%", + "size": "9px 18px" + }, + { + "color": "rgba(255, 150, 40, 0.45)", + "pos": "2% 68%", + "size": "4px 8px" + }, + { + "color": "rgba(255, 80, 60, 0.35)", + "pos": "72% -3%", + "size": "59px 9px" + }, + { + "color": "rgba(255, 100, 80, 0.35)", + "pos": "74% 100%", + "size": "42px 7px" + }, + { + "color": "rgba(255, 60, 80, 0.3)", + "pos": "100% 27%", + "size": "10px 17px" + }, + { + "color": "rgba(255, 120, 60, 0.4)", + "pos": "100% 27%", + "size": "10px 18px" + }, + { + "color": "rgba(255, 200, 50, 0.3)", + "pos": "100% 27%", + "size": "5px 10px" + }, + { + "color": "rgba(255, 90, 70, 0.3)", + "pos": "100% 27%", + "size": "11px 12px" + } + ] + } + }, + "line": { + "colorful": { + "dark": [ + { + "color": "rgb(255, 50, 100)", + "sizeW": 36, + "sizeH": 36, + "offsetX": 0, + "offsetY": 2 + }, + { + "color": "rgb(40, 180, 220)", + "sizeW": 30, + "sizeH": 32, + "offsetX": 39, + "offsetY": 0 + }, + { + "color": "rgb(50, 200, 80)", + "sizeW": 33, + "sizeH": 28, + "offsetX": -36, + "offsetY": 2 + }, + { + "color": "rgb(180, 40, 240)", + "sizeW": 29, + "sizeH": 34, + "offsetX": -54, + "offsetY": 0 + }, + { + "color": "rgb(255, 160, 30)", + "sizeW": 27, + "sizeH": 30, + "offsetX": 51, + "offsetY": -1 + }, + { + "color": "rgb(100, 70, 255)", + "sizeW": 36, + "sizeH": 24, + "offsetX": 21, + "offsetY": 1 + }, + { + "color": "rgb(40, 140, 255)", + "sizeW": 30, + "sizeH": 22, + "offsetX": -21, + "offsetY": 0 + }, + { + "color": "rgb(240, 50, 180)", + "sizeW": 25, + "sizeH": 28, + "offsetX": 66, + "offsetY": 1 + }, + { + "color": "rgb(30, 185, 170)", + "sizeW": 23, + "sizeH": 30, + "offsetX": -66, + "offsetY": -1 + } + ], + "light": [ + { + "color": "rgb(255, 50, 100)", + "sizeW": 45, + "sizeH": 36, + "offsetX": 0, + "offsetY": 2 + }, + { + "color": "rgb(40, 140, 255)", + "sizeW": 35, + "sizeH": 32, + "offsetX": 65, + "offsetY": 0 + }, + { + "color": "rgb(50, 200, 80)", + "sizeW": 40, + "sizeH": 28, + "offsetX": -60, + "offsetY": 2 + }, + { + "color": "rgb(180, 40, 240)", + "sizeW": 35, + "sizeH": 34, + "offsetX": -90, + "offsetY": 0 + }, + { + "color": "rgb(30, 185, 170)", + "sizeW": 38, + "sizeH": 30, + "offsetX": 85, + "offsetY": -1 + }, + { + "color": "rgb(100, 70, 255)", + "sizeW": 50, + "sizeH": 24, + "offsetX": 35, + "offsetY": 1 + }, + { + "color": "rgb(40, 140, 255)", + "sizeW": 40, + "sizeH": 22, + "offsetX": -35, + "offsetY": 0 + }, + { + "color": "rgb(255, 120, 40)", + "sizeW": 35, + "sizeH": 28, + "offsetX": 110, + "offsetY": 1 + }, + { + "color": "rgb(240, 50, 180)", + "sizeW": 30, + "sizeH": 30, + "offsetX": -110, + "offsetY": -1 + } + ] + }, + "mono": { + "dark": [ + { + "color": "rgb(200, 200, 200)", + "sizeW": 36, + "sizeH": 36, + "offsetX": 0, + "offsetY": 2 + }, + { + "color": "rgb(170, 170, 170)", + "sizeW": 30, + "sizeH": 32, + "offsetX": 39, + "offsetY": 0 + }, + { + "color": "rgb(155, 155, 155)", + "sizeW": 33, + "sizeH": 28, + "offsetX": -36, + "offsetY": 2 + }, + { + "color": "rgb(185, 185, 185)", + "sizeW": 29, + "sizeH": 34, + "offsetX": -54, + "offsetY": 0 + }, + { + "color": "rgb(165, 165, 165)", + "sizeW": 27, + "sizeH": 30, + "offsetX": 51, + "offsetY": -1 + }, + { + "color": "rgb(180, 180, 180)", + "sizeW": 36, + "sizeH": 24, + "offsetX": 21, + "offsetY": 1 + }, + { + "color": "rgb(160, 160, 160)", + "sizeW": 30, + "sizeH": 22, + "offsetX": -21, + "offsetY": 0 + }, + { + "color": "rgb(175, 175, 175)", + "sizeW": 25, + "sizeH": 28, + "offsetX": 66, + "offsetY": 1 + }, + { + "color": "rgb(190, 190, 190)", + "sizeW": 23, + "sizeH": 30, + "offsetX": -66, + "offsetY": -1 + } + ], + "light": [ + { + "color": "rgb(100, 100, 100)", + "sizeW": 45, + "sizeH": 36, + "offsetX": 0, + "offsetY": 2 + }, + { + "color": "rgb(80, 80, 80)", + "sizeW": 35, + "sizeH": 32, + "offsetX": 65, + "offsetY": 0 + }, + { + "color": "rgb(90, 90, 90)", + "sizeW": 40, + "sizeH": 28, + "offsetX": -60, + "offsetY": 2 + }, + { + "color": "rgb(70, 70, 70)", + "sizeW": 35, + "sizeH": 34, + "offsetX": -90, + "offsetY": 0 + }, + { + "color": "rgb(85, 85, 85)", + "sizeW": 38, + "sizeH": 30, + "offsetX": 85, + "offsetY": -1 + }, + { + "color": "rgb(95, 95, 95)", + "sizeW": 50, + "sizeH": 24, + "offsetX": 35, + "offsetY": 1 + }, + { + "color": "rgb(75, 75, 75)", + "sizeW": 40, + "sizeH": 22, + "offsetX": -35, + "offsetY": 0 + }, + { + "color": "rgb(105, 105, 105)", + "sizeW": 35, + "sizeH": 28, + "offsetX": 110, + "offsetY": 1 + }, + { + "color": "rgb(65, 65, 65)", + "sizeW": 30, + "sizeH": 30, + "offsetX": -110, + "offsetY": -1 + } + ] + }, + "ocean": { + "dark": [ + { + "color": "rgb(100, 80, 220)", + "sizeW": 36, + "sizeH": 36, + "offsetX": 0, + "offsetY": 2 + }, + { + "color": "rgb(60, 120, 255)", + "sizeW": 30, + "sizeH": 32, + "offsetX": 39, + "offsetY": 0 + }, + { + "color": "rgb(80, 100, 200)", + "sizeW": 33, + "sizeH": 28, + "offsetX": -36, + "offsetY": 2 + }, + { + "color": "rgb(130, 70, 255)", + "sizeW": 29, + "sizeH": 34, + "offsetX": -54, + "offsetY": 0 + }, + { + "color": "rgb(70, 130, 255)", + "sizeW": 27, + "sizeH": 30, + "offsetX": 51, + "offsetY": -1 + }, + { + "color": "rgb(120, 80, 255)", + "sizeW": 36, + "sizeH": 24, + "offsetX": 21, + "offsetY": 1 + }, + { + "color": "rgb(90, 110, 230)", + "sizeW": 30, + "sizeH": 22, + "offsetX": -21, + "offsetY": 0 + }, + { + "color": "rgb(110, 90, 240)", + "sizeW": 25, + "sizeH": 28, + "offsetX": 66, + "offsetY": 1 + }, + { + "color": "rgb(140, 100, 255)", + "sizeW": 23, + "sizeH": 30, + "offsetX": -66, + "offsetY": -1 + } + ], + "light": [ + { + "color": "rgb(80, 60, 200)", + "sizeW": 45, + "sizeH": 36, + "offsetX": 0, + "offsetY": 2 + }, + { + "color": "rgb(50, 100, 220)", + "sizeW": 35, + "sizeH": 32, + "offsetX": 65, + "offsetY": 0 + }, + { + "color": "rgb(70, 90, 190)", + "sizeW": 40, + "sizeH": 28, + "offsetX": -60, + "offsetY": 2 + }, + { + "color": "rgb(110, 60, 220)", + "sizeW": 35, + "sizeH": 34, + "offsetX": -90, + "offsetY": 0 + }, + { + "color": "rgb(60, 110, 230)", + "sizeW": 38, + "sizeH": 30, + "offsetX": 85, + "offsetY": -1 + }, + { + "color": "rgb(100, 70, 240)", + "sizeW": 50, + "sizeH": 24, + "offsetX": 35, + "offsetY": 1 + }, + { + "color": "rgb(80, 100, 210)", + "sizeW": 40, + "sizeH": 22, + "offsetX": -35, + "offsetY": 0 + }, + { + "color": "rgb(90, 80, 225)", + "sizeW": 35, + "sizeH": 28, + "offsetX": 110, + "offsetY": 1 + }, + { + "color": "rgb(120, 90, 245)", + "sizeW": 30, + "sizeH": 30, + "offsetX": -110, + "offsetY": -1 + } + ] + }, + "sunset": { + "dark": [ + { + "color": "rgb(255, 100, 60)", + "sizeW": 36, + "sizeH": 36, + "offsetX": 0, + "offsetY": 2 + }, + { + "color": "rgb(255, 180, 50)", + "sizeW": 30, + "sizeH": 32, + "offsetX": 39, + "offsetY": 0 + }, + { + "color": "rgb(255, 140, 70)", + "sizeW": 33, + "sizeH": 28, + "offsetX": -36, + "offsetY": 2 + }, + { + "color": "rgb(255, 80, 80)", + "sizeW": 29, + "sizeH": 34, + "offsetX": -54, + "offsetY": 0 + }, + { + "color": "rgb(255, 200, 60)", + "sizeW": 27, + "sizeH": 30, + "offsetX": 51, + "offsetY": -1 + }, + { + "color": "rgb(255, 120, 50)", + "sizeW": 36, + "sizeH": 24, + "offsetX": 21, + "offsetY": 1 + }, + { + "color": "rgb(255, 160, 80)", + "sizeW": 30, + "sizeH": 22, + "offsetX": -21, + "offsetY": 0 + }, + { + "color": "rgb(255, 90, 60)", + "sizeW": 25, + "sizeH": 28, + "offsetX": 66, + "offsetY": 1 + }, + { + "color": "rgb(255, 70, 70)", + "sizeW": 23, + "sizeH": 30, + "offsetX": -66, + "offsetY": -1 + } + ], + "light": [ + { + "color": "rgb(220, 80, 40)", + "sizeW": 45, + "sizeH": 36, + "offsetX": 0, + "offsetY": 2 + }, + { + "color": "rgb(230, 150, 30)", + "sizeW": 35, + "sizeH": 32, + "offsetX": 65, + "offsetY": 0 + }, + { + "color": "rgb(210, 110, 50)", + "sizeW": 40, + "sizeH": 28, + "offsetX": -60, + "offsetY": 2 + }, + { + "color": "rgb(200, 60, 60)", + "sizeW": 35, + "sizeH": 34, + "offsetX": -90, + "offsetY": 0 + }, + { + "color": "rgb(220, 170, 40)", + "sizeW": 38, + "sizeH": 30, + "offsetX": 85, + "offsetY": -1 + }, + { + "color": "rgb(210, 100, 30)", + "sizeW": 50, + "sizeH": 24, + "offsetX": 35, + "offsetY": 1 + }, + { + "color": "rgb(230, 130, 60)", + "sizeW": 40, + "sizeH": 22, + "offsetX": -35, + "offsetY": 0 + }, + { + "color": "rgb(190, 70, 50)", + "sizeW": 35, + "sizeH": 28, + "offsetX": 110, + "offsetY": 1 + }, + { + "color": "rgb(180, 50, 50)", + "sizeW": 30, + "sizeH": 30, + "offsetX": -110, + "offsetY": -1 + } + ] + } + }, + "lineInner": { + "colorful": [ + { + "color": "rgba(255, 50, 100, 0.48)", + "sizeW": 33, + "sizeH": 30, + "offsetX": 0, + "offsetY": 0 + }, + { + "color": "rgba(40, 180, 220, 0.42)", + "sizeW": 24, + "sizeH": 26, + "offsetX": 39, + "offsetY": -3 + }, + { + "color": "rgba(50, 200, 80, 0.48)", + "sizeW": 27, + "sizeH": 24, + "offsetX": -36, + "offsetY": 0 + }, + { + "color": "rgba(180, 40, 240, 0.42)", + "sizeW": 23, + "sizeH": 28, + "offsetX": -54, + "offsetY": -2 + }, + { + "color": "rgba(255, 160, 30, 0.50)", + "sizeW": 24, + "sizeH": 24, + "offsetX": 51, + "offsetY": -1 + }, + { + "color": "rgba(100, 70, 255, 0.45)", + "sizeW": 30, + "sizeH": 20, + "offsetX": 21, + "offsetY": 0 + }, + { + "color": "rgba(40, 140, 255, 0.40)", + "sizeW": 25, + "sizeH": 18, + "offsetX": -21, + "offsetY": -2 + }, + { + "color": "rgba(240, 50, 180, 0.45)", + "sizeW": 21, + "sizeH": 24, + "offsetX": 66, + "offsetY": 0 + }, + { + "color": "rgba(30, 185, 170, 0.52)", + "sizeW": 18, + "sizeH": 26, + "offsetX": -66, + "offsetY": -1 + } + ], + "mono": [ + { + "color": "rgba(200, 200, 200, 0.48)", + "sizeW": 33, + "sizeH": 30, + "offsetX": 0, + "offsetY": 0 + }, + { + "color": "rgba(170, 170, 170, 0.42)", + "sizeW": 24, + "sizeH": 26, + "offsetX": 39, + "offsetY": -3 + }, + { + "color": "rgba(155, 155, 155, 0.48)", + "sizeW": 27, + "sizeH": 24, + "offsetX": -36, + "offsetY": 0 + }, + { + "color": "rgba(185, 185, 185, 0.42)", + "sizeW": 23, + "sizeH": 28, + "offsetX": -54, + "offsetY": -2 + }, + { + "color": "rgba(165, 165, 165, 0.50)", + "sizeW": 24, + "sizeH": 24, + "offsetX": 51, + "offsetY": -1 + }, + { + "color": "rgba(180, 180, 180, 0.45)", + "sizeW": 30, + "sizeH": 20, + "offsetX": 21, + "offsetY": 0 + }, + { + "color": "rgba(160, 160, 160, 0.40)", + "sizeW": 25, + "sizeH": 18, + "offsetX": -21, + "offsetY": -2 + }, + { + "color": "rgba(175, 175, 175, 0.45)", + "sizeW": 21, + "sizeH": 24, + "offsetX": 66, + "offsetY": 0 + }, + { + "color": "rgba(190, 190, 190, 0.52)", + "sizeW": 18, + "sizeH": 26, + "offsetX": -66, + "offsetY": -1 + } + ], + "ocean": [ + { + "color": "rgba(100, 80, 220, 0.48)", + "sizeW": 33, + "sizeH": 30, + "offsetX": 0, + "offsetY": 0 + }, + { + "color": "rgba(60, 120, 255, 0.42)", + "sizeW": 24, + "sizeH": 26, + "offsetX": 39, + "offsetY": -3 + }, + { + "color": "rgba(80, 100, 200, 0.48)", + "sizeW": 27, + "sizeH": 24, + "offsetX": -36, + "offsetY": 0 + }, + { + "color": "rgba(130, 70, 255, 0.42)", + "sizeW": 23, + "sizeH": 28, + "offsetX": -54, + "offsetY": -2 + }, + { + "color": "rgba(70, 130, 255, 0.50)", + "sizeW": 24, + "sizeH": 24, + "offsetX": 51, + "offsetY": -1 + }, + { + "color": "rgba(120, 80, 255, 0.45)", + "sizeW": 30, + "sizeH": 20, + "offsetX": 21, + "offsetY": 0 + }, + { + "color": "rgba(90, 110, 230, 0.40)", + "sizeW": 25, + "sizeH": 18, + "offsetX": -21, + "offsetY": -2 + }, + { + "color": "rgba(110, 90, 240, 0.45)", + "sizeW": 21, + "sizeH": 24, + "offsetX": 66, + "offsetY": 0 + }, + { + "color": "rgba(140, 100, 255, 0.52)", + "sizeW": 18, + "sizeH": 26, + "offsetX": -66, + "offsetY": -1 + } + ], + "sunset": [ + { + "color": "rgba(255, 100, 60, 0.48)", + "sizeW": 33, + "sizeH": 30, + "offsetX": 0, + "offsetY": 0 + }, + { + "color": "rgba(255, 180, 50, 0.42)", + "sizeW": 24, + "sizeH": 26, + "offsetX": 39, + "offsetY": -3 + }, + { + "color": "rgba(255, 140, 70, 0.48)", + "sizeW": 27, + "sizeH": 24, + "offsetX": -36, + "offsetY": 0 + }, + { + "color": "rgba(255, 80, 80, 0.42)", + "sizeW": 23, + "sizeH": 28, + "offsetX": -54, + "offsetY": -2 + }, + { + "color": "rgba(255, 200, 60, 0.50)", + "sizeW": 24, + "sizeH": 24, + "offsetX": 51, + "offsetY": -1 + }, + { + "color": "rgba(255, 120, 50, 0.45)", + "sizeW": 30, + "sizeH": 20, + "offsetX": 21, + "offsetY": 0 + }, + { + "color": "rgba(255, 160, 80, 0.40)", + "sizeW": 25, + "sizeH": 18, + "offsetX": -21, + "offsetY": -2 + }, + { + "color": "rgba(255, 90, 60, 0.45)", + "sizeW": 21, + "sizeH": 24, + "offsetX": 66, + "offsetY": 0 + }, + { + "color": "rgba(255, 70, 70, 0.52)", + "sizeW": 18, + "sizeH": 26, + "offsetX": -66, + "offsetY": -1 + } + ] + }, + "lineBloom": { + "colorful": { + "dark": { + "spikes": [ + { + "color1": "rgb(100, 70, 255)", + "color2": "rgba(100, 70, 255, 1)" + }, + { + "color1": "rgba(255, 170, 40, 0.59)", + "color2": "rgba(255, 170, 40, 0.29)" + }, + { + "color1": "rgb(50, 200, 100)", + "color2": "rgba(50, 200, 100, 1)" + }, + { + "color1": "rgba(200, 50, 240, 0.91)", + "color2": "rgba(200, 50, 240, 0.45)" + }, + { + "color1": "rgb(40, 140, 255)", + "color2": "rgba(40, 140, 255, 1)" + } + ] + }, + "light": { + "spikes": [ + { + "color1": "rgb(80, 50, 200)", + "color2": "rgba(80, 50, 200, 0.8)" + }, + { + "color1": "rgba(210, 130, 0, 0.7)", + "color2": "rgba(210, 130, 0, 0.46)" + }, + { + "color1": "rgb(30, 160, 70)", + "color2": "rgba(30, 160, 70, 0.82)" + }, + { + "color1": "rgb(160, 30, 190)", + "color2": "rgba(160, 30, 190, 0.7)" + }, + { + "color1": "rgb(30, 100, 200)", + "color2": "rgba(30, 100, 200, 0.78)" + } + ] + } + }, + "mono": { + "dark": { + "spikes": [ + { + "color1": "rgb(200, 200, 200)", + "color2": "rgba(200, 200, 200, 1)" + }, + { + "color1": "rgba(180, 180, 180, 0.59)", + "color2": "rgba(180, 180, 180, 0.29)" + }, + { + "color1": "rgb(190, 190, 190)", + "color2": "rgba(190, 190, 190, 1)" + }, + { + "color1": "rgba(170, 170, 170, 0.91)", + "color2": "rgba(170, 170, 170, 0.45)" + }, + { + "color1": "rgb(185, 185, 185)", + "color2": "rgba(185, 185, 185, 1)" + } + ] + }, + "light": { + "spikes": [ + { + "color1": "rgb(80, 80, 80)", + "color2": "rgba(80, 80, 80, 0.8)" + }, + { + "color1": "rgba(100, 100, 100, 0.7)", + "color2": "rgba(100, 100, 100, 0.46)" + }, + { + "color1": "rgb(70, 70, 70)", + "color2": "rgba(70, 70, 70, 0.82)" + }, + { + "color1": "rgb(90, 90, 90)", + "color2": "rgba(90, 90, 90, 0.7)" + }, + { + "color1": "rgb(85, 85, 85)", + "color2": "rgba(85, 85, 85, 0.78)" + } + ] + } + }, + "ocean": { + "dark": { + "spikes": [ + { + "color1": "rgb(100, 80, 255)", + "color2": "rgb(100, 80, 255)" + }, + { + "color1": "rgba(80, 130, 220, 0.59)", + "color2": "rgba(80, 130, 220, 0.29)" + }, + { + "color1": "rgb(60, 100, 255)", + "color2": "rgb(60, 100, 255)" + }, + { + "color1": "rgba(90, 120, 200, 0.91)", + "color2": "rgba(90, 120, 200, 0.45)" + }, + { + "color1": "rgb(120, 90, 255)", + "color2": "rgb(120, 90, 255)" + } + ] + }, + "light": { + "spikes": [ + { + "color1": "rgb(50, 40, 180)", + "color2": "rgba(50, 40, 180, 0.8)" + }, + { + "color1": "rgba(40, 80, 200, 0.7)", + "color2": "rgba(40, 80, 200, 0.46)" + }, + { + "color1": "rgb(30, 50, 190)", + "color2": "rgba(30, 50, 190, 0.82)" + }, + { + "color1": "rgb(60, 90, 180)", + "color2": "rgba(60, 90, 180, 0.7)" + }, + { + "color1": "rgb(70, 60, 200)", + "color2": "rgba(70, 60, 200, 0.78)" + } + ] + } + }, + "sunset": { + "dark": { + "spikes": [ + { + "color1": "rgb(255, 100, 80)", + "color2": "rgb(255, 100, 80)" + }, + { + "color1": "rgba(255, 150, 80, 0.59)", + "color2": "rgba(255, 150, 80, 0.29)" + }, + { + "color1": "rgb(255, 80, 60)", + "color2": "rgb(255, 80, 60)" + }, + { + "color1": "rgba(255, 120, 50, 0.91)", + "color2": "rgba(255, 120, 50, 0.45)" + }, + { + "color1": "rgb(255, 140, 70)", + "color2": "rgb(255, 140, 70)" + } + ] + }, + "light": { + "spikes": [ + { + "color1": "rgb(200, 60, 30)", + "color2": "rgba(200, 60, 30, 0.8)" + }, + { + "color1": "rgba(220, 100, 20, 0.7)", + "color2": "rgba(220, 100, 20, 0.46)" + }, + { + "color1": "rgb(180, 40, 20)", + "color2": "rgba(180, 40, 20, 0.82)" + }, + { + "color1": "rgb(210, 80, 10)", + "color2": "rgba(210, 80, 10, 0.7)" + }, + { + "color1": "rgb(190, 70, 30)", + "color2": "rgba(190, 70, 30, 0.78)" + } + ] + } + } + } + }, + "rotate": { + "whiteGradientStops": { + "dark": [ + [ + 0, + 0 + ], + [ + 54, + 0 + ], + [ + 57, + 0.1 + ], + [ + 60, + 0.3 + ], + [ + 63, + 0.6 + ], + [ + 66, + 0.75 + ], + [ + 69, + 0.6 + ], + [ + 72, + 0.3 + ], + [ + 75, + 0.1 + ], + [ + 78, + 0 + ], + [ + 100, + 0 + ] + ], + "light": [ + [ + 0, + 0 + ], + [ + 54, + 0 + ], + [ + 57, + 0.08 + ], + [ + 60, + 0.2 + ], + [ + 63, + 0.4 + ], + [ + 66, + 0.55 + ], + [ + 69, + 0.4 + ], + [ + 72, + 0.2 + ], + [ + 75, + 0.08 + ], + [ + 78, + 0 + ], + [ + 100, + 0 + ] + ] + }, + "bloomGradientStops": { + "dark": [ + [ + 0, + 0 + ], + [ + 58, + 0 + ], + [ + 62, + 0.03 + ], + [ + 65, + 0.08 + ], + [ + 67, + 0.2 + ], + [ + 69, + 0.45 + ], + [ + 70, + 0.85 + ], + [ + 70.5, + 0.85 + ], + [ + 71.5, + 0.45 + ], + [ + 73, + 0.2 + ], + [ + 75, + 0.08 + ], + [ + 78, + 0.03 + ], + [ + 82, + 0 + ] + ], + "light": [ + [ + 0, + 0 + ], + [ + 58, + 0 + ], + [ + 62, + 0.02 + ], + [ + 65, + 0.08 + ], + [ + 67, + 0.2 + ], + [ + 69, + 0.4 + ], + [ + 70, + 0.6 + ], + [ + 70.5, + 0.6 + ], + [ + 71.5, + 0.4 + ], + [ + 73, + 0.2 + ], + [ + 75, + 0.08 + ], + [ + 78, + 0.02 + ], + [ + 82, + 0 + ] + ] + }, + "beamMaskStops": [ + [ + 0, + 0 + ], + [ + 30, + 0 + ], + [ + 36, + 0.1 + ], + [ + 44, + 0.35 + ], + [ + 52, + 1 + ], + [ + 80, + 1 + ], + [ + 86, + 0.35 + ], + [ + 92, + 0.1 + ], + [ + 95, + 0 + ], + [ + 100, + 0 + ] + ], + "smallMaskStops": [ + [ + 0, + 0 + ], + [ + 22, + 0 + ], + [ + 28, + 0.12 + ], + [ + 36, + 0.4 + ], + [ + 46, + 1 + ], + [ + 82, + 1 + ], + [ + 88, + 0.4 + ], + [ + 94, + 0.12 + ], + [ + 97, + 0 + ], + [ + 100, + 0 + ] + ], + "innerGradientDerivation": { + "sizeScale": 0.9, + "alpha": 0.45, + "monoAlpha": 0.225 + }, + "innerEdgeMaskPx": 28, + "innerShadowBlur": { + "md": 9, + "sm": 5 + }, + "bloomBlurPx": 8, + "spin": { + "from": 0, + "to": 360, + "easing": "linear" + } + }, + "line": { + "keyframes": { + "travel": { + "x": [ + [ + 0, + 0.06 + ], + [ + 10, + 0.15 + ], + [ + 20, + 0.25 + ], + [ + 30, + 0.35 + ], + [ + 40, + 0.44 + ], + [ + 50, + 0.5 + ], + [ + 60, + 0.56 + ], + [ + 70, + 0.65 + ], + [ + 80, + 0.75 + ], + [ + 90, + 0.85 + ], + [ + 100, + 0.94 + ] + ], + "w": [ + [ + 0, + 0.5 + ], + [ + 10, + 0.8 + ], + [ + 20, + 1.1 + ], + [ + 30, + 1.3 + ], + [ + 40, + 1.45 + ], + [ + 50, + 1.5 + ], + [ + 60, + 1.45 + ], + [ + 70, + 1.3 + ], + [ + 80, + 1.1 + ], + [ + 90, + 0.8 + ], + [ + 100, + 0.5 + ] + ] + }, + "edgeFade": [ + [ + 0, + 0 + ], + [ + 12.5, + 0 + ], + [ + 32.5, + 1 + ], + [ + 67.5, + 1 + ], + [ + 87.5, + 0 + ], + [ + 100, + 0 + ] + ], + "breathe": [ + [ + 0, + 0.8 + ], + [ + 25, + 1.25 + ], + [ + 55, + 0.85 + ], + [ + 80, + 1.3 + ], + [ + 100, + 0.8 + ] + ], + "spike": [ + [ + 0, + 0.8 + ], + [ + 25, + 1.3 + ], + [ + 50, + 0.9 + ], + [ + 75, + 1.4 + ], + [ + 100, + 0.8 + ] + ], + "spike2": [ + [ + 0, + 1.2 + ], + [ + 25, + 0.7 + ], + [ + 50, + 1.4 + ], + [ + 75, + 0.8 + ], + [ + 100, + 1.2 + ] + ], + "durationScale": { + "travel": 1, + "edgeFade": 1, + "breathe": 1.3, + "spike": 1.33, + "spike2": 1.7 + }, + "easing": { + "travel": "linear", + "edgeFade": "linear", + "breathe": "easeInOut", + "spike": "easeInOut", + "spike2": "easeInOut" + } + }, + "beamMaskEllipse": { + "w": 78, + "h": 60, + "softStop": [ + 45, + 0.5 + ] + }, + "bloomMaskEllipse": { + "w": 84, + "h": 110, + "softStop": [ + 35, + 0.5 + ] + }, + "whiteHighlight": { + "dark": { + "w": 24, + "h": 28, + "yOffset": 2, + "stops": [ + [ + 0, + 0.38 + ], + [ + 30, + 0.12 + ], + [ + 65, + 0 + ] + ] + }, + "light": { + "w": 35, + "h": 28, + "yOffset": 2, + "stops": [ + [ + 0, + 0.6 + ], + [ + 35, + 0.25 + ], + [ + 70, + 0 + ] + ], + "onBlack": true + } + }, + "bloomGradients": { + "colorful": { + "dark": [ + { + "xPct": 8, + "yOffPx": -2, + "w": { + "base": 0.8, + "mult": "spike" + }, + "h": { + "base": 92, + "mult": "h" + }, + "stops": [ + { + "r": 255, + "g": 60, + "b": 80, + "a": 1, + "pos": 0 + }, + { + "r": 255, + "g": 60, + "b": 80, + "a": 1, + "pos": 0.3 + }, + { + "r": 255, + "g": 60, + "b": 80, + "a": 0, + "pos": 0.88 + } + ] + }, + { + "xPct": 22, + "yOffPx": -4, + "w": { + "base": 10, + "mult": "spike2" + }, + "h": { + "base": 35, + "mult": "h" + }, + "stops": [ + { + "r": 40, + "g": 190, + "b": 180, + "a": 0.98, + "pos": 0 + }, + { + "r": 40, + "g": 190, + "b": 180, + "a": 0.49, + "pos": 0.5 + }, + { + "r": 40, + "g": 190, + "b": 180, + "a": 0, + "pos": 0.95 + } + ] + }, + { + "xPct": 36, + "yOffPx": -3, + "w": { + "base": 2, + "mult": "inv-spike" + }, + "h": { + "base": 72, + "mult": "h" + }, + "stops": [ + { + "r": 100, + "g": 70, + "b": 255, + "a": 1, + "pos": 0 + }, + { + "r": 100, + "g": 70, + "b": 255, + "a": 1, + "pos": 0.4 + }, + { + "r": 100, + "g": 70, + "b": 255, + "a": 0, + "pos": 0.9 + } + ] + }, + { + "xPct": 50, + "yOffPx": -2, + "w": { + "base": 14, + "mult": "spike2" + }, + "h": { + "base": 28, + "mult": "h" + }, + "stops": [ + { + "r": 255, + "g": 170, + "b": 40, + "a": 0.59, + "pos": 0 + }, + { + "r": 255, + "g": 170, + "b": 40, + "a": 0.29, + "pos": 0.55 + }, + { + "r": 255, + "g": 170, + "b": 40, + "a": 0, + "pos": 0.96 + } + ] + }, + { + "xPct": 64, + "yOffPx": -4, + "w": { + "base": 1.2, + "mult": "inv-spike2" + }, + "h": { + "base": 85, + "mult": "h" + }, + "stops": [ + { + "r": 50, + "g": 200, + "b": 100, + "a": 1, + "pos": 0 + }, + { + "r": 50, + "g": 200, + "b": 100, + "a": 1, + "pos": 0.35 + }, + { + "r": 50, + "g": 200, + "b": 100, + "a": 0, + "pos": 0.89 + } + ] + }, + { + "xPct": 78, + "yOffPx": -2, + "w": { + "base": 7, + "mult": "spike" + }, + "h": { + "base": 45, + "mult": "h" + }, + "stops": [ + { + "r": 200, + "g": 50, + "b": 240, + "a": 0.91, + "pos": 0 + }, + { + "r": 200, + "g": 50, + "b": 240, + "a": 0.45, + "pos": 0.48 + }, + { + "r": 200, + "g": 50, + "b": 240, + "a": 0, + "pos": 0.94 + } + ] + }, + { + "xPct": 92, + "yOffPx": -3, + "w": { + "base": 0.6, + "mult": "inv-spike" + }, + "h": { + "base": 60, + "mult": "h" + }, + "stops": [ + { + "r": 40, + "g": 140, + "b": 255, + "a": 1, + "pos": 0 + }, + { + "r": 40, + "g": 140, + "b": 255, + "a": 1, + "pos": 0.42 + }, + { + "r": 40, + "g": 140, + "b": 255, + "a": 0, + "pos": 0.91 + } + ] + }, + { + "xPct": null, + "yOffPx": 1, + "w": { + "base": 21, + "mult": "spike" + }, + "h": { + "base": 15, + "mult": "spike2" + }, + "stops": [ + { + "r": 255, + "g": 255, + "b": 255, + "a": 1, + "pos": 0 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.9, + "pos": 0.2 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.5, + "pos": 0.5 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0, + "pos": 1 + } + ] + }, + { + "xPct": null, + "yOffPx": 0, + "w": { + "base": 42, + "mult": "w" + }, + "h": { + "base": 40, + "mult": "h" + }, + "stops": [ + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.3, + "pos": 0 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.12, + "pos": 0.25 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.03, + "pos": 0.55 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0, + "pos": 0.8 + } + ] + } + ], + "light": [ + { + "xPct": 8, + "yOffPx": -2, + "w": { + "base": 0.8, + "mult": "spike" + }, + "h": { + "base": 92, + "mult": "h" + }, + "stops": [ + { + "r": 200, + "g": 30, + "b": 60, + "a": 1, + "pos": 0 + }, + { + "r": 200, + "g": 30, + "b": 60, + "a": 0.85, + "pos": 0.3 + }, + { + "r": 200, + "g": 30, + "b": 60, + "a": 0, + "pos": 0.88 + } + ] + }, + { + "xPct": 22, + "yOffPx": -4, + "w": { + "base": 10, + "mult": "spike2" + }, + "h": { + "base": 35, + "mult": "h" + }, + "stops": [ + { + "r": 20, + "g": 150, + "b": 140, + "a": 1, + "pos": 0 + }, + { + "r": 20, + "g": 150, + "b": 140, + "a": 0.7, + "pos": 0.5 + }, + { + "r": 20, + "g": 150, + "b": 140, + "a": 0, + "pos": 0.95 + } + ] + }, + { + "xPct": 36, + "yOffPx": -3, + "w": { + "base": 2, + "mult": "inv-spike" + }, + "h": { + "base": 72, + "mult": "h" + }, + "stops": [ + { + "r": 80, + "g": 50, + "b": 200, + "a": 1, + "pos": 0 + }, + { + "r": 80, + "g": 50, + "b": 200, + "a": 0.8, + "pos": 0.4 + }, + { + "r": 80, + "g": 50, + "b": 200, + "a": 0, + "pos": 0.9 + } + ] + }, + { + "xPct": 50, + "yOffPx": -2, + "w": { + "base": 14, + "mult": "spike2" + }, + "h": { + "base": 28, + "mult": "h" + }, + "stops": [ + { + "r": 210, + "g": 130, + "b": 0, + "a": 0.7, + "pos": 0 + }, + { + "r": 210, + "g": 130, + "b": 0, + "a": 0.46, + "pos": 0.55 + }, + { + "r": 210, + "g": 130, + "b": 0, + "a": 0, + "pos": 0.96 + } + ] + }, + { + "xPct": 64, + "yOffPx": -4, + "w": { + "base": 1.2, + "mult": "inv-spike2" + }, + "h": { + "base": 85, + "mult": "h" + }, + "stops": [ + { + "r": 30, + "g": 160, + "b": 70, + "a": 1, + "pos": 0 + }, + { + "r": 30, + "g": 160, + "b": 70, + "a": 0.82, + "pos": 0.35 + }, + { + "r": 30, + "g": 160, + "b": 70, + "a": 0, + "pos": 0.89 + } + ] + }, + { + "xPct": 78, + "yOffPx": -2, + "w": { + "base": 7, + "mult": "spike" + }, + "h": { + "base": 45, + "mult": "h" + }, + "stops": [ + { + "r": 160, + "g": 30, + "b": 190, + "a": 1, + "pos": 0 + }, + { + "r": 160, + "g": 30, + "b": 190, + "a": 0.7, + "pos": 0.48 + }, + { + "r": 160, + "g": 30, + "b": 190, + "a": 0, + "pos": 0.94 + } + ] + }, + { + "xPct": 92, + "yOffPx": -3, + "w": { + "base": 1, + "mult": "inv-spike" + }, + "h": { + "base": 60, + "mult": "h" + }, + "stops": [ + { + "r": 30, + "g": 100, + "b": 200, + "a": 1, + "pos": 0 + }, + { + "r": 30, + "g": 100, + "b": 200, + "a": 0.78, + "pos": 0.42 + }, + { + "r": 30, + "g": 100, + "b": 200, + "a": 0, + "pos": 0.91 + } + ] + }, + { + "xPct": null, + "yOffPx": 0, + "w": { + "base": 50, + "mult": "w" + }, + "h": { + "base": 32, + "mult": "h" + }, + "stops": [ + { + "r": 0, + "g": 0, + "b": 0, + "a": 0.5, + "pos": 0 + }, + { + "r": 0, + "g": 0, + "b": 0, + "a": 0.18, + "pos": 0.3 + }, + { + "r": 0, + "g": 0, + "b": 0, + "a": 0.03, + "pos": 0.6 + }, + { + "r": 0, + "g": 0, + "b": 0, + "a": 0, + "pos": 0.85 + } + ] + } + ] + }, + "mono": { + "dark": [ + { + "xPct": 8, + "yOffPx": -2, + "w": { + "base": 12, + "mult": "spike" + }, + "h": { + "base": 42, + "mult": "h" + }, + "stops": [ + { + "r": 200, + "g": 200, + "b": 200, + "a": 0.14, + "pos": 0 + }, + { + "r": 200, + "g": 200, + "b": 200, + "a": 0.09, + "pos": 0.3 + }, + { + "r": 200, + "g": 200, + "b": 200, + "a": 0, + "pos": 0.88 + } + ] + }, + { + "xPct": 22, + "yOffPx": -4, + "w": { + "base": 10, + "mult": "spike2" + }, + "h": { + "base": 35, + "mult": "h" + }, + "stops": [ + { + "r": 170, + "g": 170, + "b": 170, + "a": 0.12, + "pos": 0 + }, + { + "r": 170, + "g": 170, + "b": 170, + "a": 0.06, + "pos": 0.5 + }, + { + "r": 170, + "g": 170, + "b": 170, + "a": 0, + "pos": 0.95 + } + ] + }, + { + "xPct": 36, + "yOffPx": -3, + "w": { + "base": 14, + "mult": "inv-spike" + }, + "h": { + "base": 38, + "mult": "h" + }, + "stops": [ + { + "r": 200, + "g": 200, + "b": 200, + "a": 0.14, + "pos": 0 + }, + { + "r": 200, + "g": 200, + "b": 200, + "a": 0.098, + "pos": 0.4 + }, + { + "r": 200, + "g": 200, + "b": 200, + "a": 0, + "pos": 0.9 + } + ] + }, + { + "xPct": 50, + "yOffPx": -2, + "w": { + "base": 14, + "mult": "spike2" + }, + "h": { + "base": 28, + "mult": "h" + }, + "stops": [ + { + "r": 180, + "g": 180, + "b": 180, + "a": 0.0826, + "pos": 0 + }, + { + "r": 180, + "g": 180, + "b": 180, + "a": 0.0284, + "pos": 0.55 + }, + { + "r": 180, + "g": 180, + "b": 180, + "a": 0, + "pos": 0.96 + } + ] + }, + { + "xPct": 64, + "yOffPx": -4, + "w": { + "base": 12, + "mult": "inv-spike2" + }, + "h": { + "base": 40, + "mult": "h" + }, + "stops": [ + { + "r": 190, + "g": 190, + "b": 190, + "a": 0.14, + "pos": 0 + }, + { + "r": 190, + "g": 190, + "b": 190, + "a": 0.098, + "pos": 0.35 + }, + { + "r": 190, + "g": 190, + "b": 190, + "a": 0, + "pos": 0.89 + } + ] + }, + { + "xPct": 78, + "yOffPx": -2, + "w": { + "base": 7, + "mult": "spike" + }, + "h": { + "base": 45, + "mult": "h" + }, + "stops": [ + { + "r": 170, + "g": 170, + "b": 170, + "a": 0.1274, + "pos": 0 + }, + { + "r": 170, + "g": 170, + "b": 170, + "a": 0.0441, + "pos": 0.48 + }, + { + "r": 170, + "g": 170, + "b": 170, + "a": 0, + "pos": 0.94 + } + ] + }, + { + "xPct": 92, + "yOffPx": -3, + "w": { + "base": 10, + "mult": "inv-spike" + }, + "h": { + "base": 32, + "mult": "h" + }, + "stops": [ + { + "r": 185, + "g": 185, + "b": 185, + "a": 0.14, + "pos": 0 + }, + { + "r": 185, + "g": 185, + "b": 185, + "a": 0.098, + "pos": 0.42 + }, + { + "r": 185, + "g": 185, + "b": 185, + "a": 0, + "pos": 0.91 + } + ] + }, + { + "xPct": null, + "yOffPx": 1, + "w": { + "base": 21, + "mult": "spike" + }, + "h": { + "base": 15, + "mult": "spike2" + }, + "stops": [ + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.5, + "pos": 0 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.45, + "pos": 0.2 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.25, + "pos": 0.5 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0, + "pos": 1 + } + ] + }, + { + "xPct": null, + "yOffPx": 0, + "w": { + "base": 42, + "mult": "w" + }, + "h": { + "base": 40, + "mult": "h" + }, + "stops": [ + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.15, + "pos": 0 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.06, + "pos": 0.25 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.015, + "pos": 0.55 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0, + "pos": 0.8 + } + ] + } + ], + "light": [ + { + "xPct": 8, + "yOffPx": -2, + "w": { + "base": 12, + "mult": "spike" + }, + "h": { + "base": 42, + "mult": "h" + }, + "stops": [ + { + "r": 80, + "g": 80, + "b": 80, + "a": 0.14, + "pos": 0 + }, + { + "r": 80, + "g": 80, + "b": 80, + "a": 0.11, + "pos": 0.3 + }, + { + "r": 80, + "g": 80, + "b": 80, + "a": 0, + "pos": 0.88 + } + ] + }, + { + "xPct": 22, + "yOffPx": -4, + "w": { + "base": 10, + "mult": "spike2" + }, + "h": { + "base": 35, + "mult": "h" + }, + "stops": [ + { + "r": 120, + "g": 120, + "b": 120, + "a": 0.12, + "pos": 0 + }, + { + "r": 120, + "g": 120, + "b": 120, + "a": 0.09, + "pos": 0.5 + }, + { + "r": 120, + "g": 120, + "b": 120, + "a": 0, + "pos": 0.95 + } + ] + }, + { + "xPct": 36, + "yOffPx": -3, + "w": { + "base": 14, + "mult": "inv-spike" + }, + "h": { + "base": 38, + "mult": "h" + }, + "stops": [ + { + "r": 80, + "g": 80, + "b": 80, + "a": 0.14, + "pos": 0 + }, + { + "r": 80, + "g": 80, + "b": 80, + "a": 0.0784, + "pos": 0.4 + }, + { + "r": 80, + "g": 80, + "b": 80, + "a": 0, + "pos": 0.9 + } + ] + }, + { + "xPct": 50, + "yOffPx": -2, + "w": { + "base": 14, + "mult": "spike2" + }, + "h": { + "base": 28, + "mult": "h" + }, + "stops": [ + { + "r": 100, + "g": 100, + "b": 100, + "a": 0.098, + "pos": 0 + }, + { + "r": 100, + "g": 100, + "b": 100, + "a": 0.0451, + "pos": 0.55 + }, + { + "r": 100, + "g": 100, + "b": 100, + "a": 0, + "pos": 0.96 + } + ] + }, + { + "xPct": 64, + "yOffPx": -4, + "w": { + "base": 12, + "mult": "inv-spike2" + }, + "h": { + "base": 40, + "mult": "h" + }, + "stops": [ + { + "r": 70, + "g": 70, + "b": 70, + "a": 0.14, + "pos": 0 + }, + { + "r": 70, + "g": 70, + "b": 70, + "a": 0.0804, + "pos": 0.35 + }, + { + "r": 70, + "g": 70, + "b": 70, + "a": 0, + "pos": 0.89 + } + ] + }, + { + "xPct": 78, + "yOffPx": -2, + "w": { + "base": 7, + "mult": "spike" + }, + "h": { + "base": 45, + "mult": "h" + }, + "stops": [ + { + "r": 90, + "g": 90, + "b": 90, + "a": 0.14, + "pos": 0 + }, + { + "r": 90, + "g": 90, + "b": 90, + "a": 0.0686, + "pos": 0.48 + }, + { + "r": 90, + "g": 90, + "b": 90, + "a": 0, + "pos": 0.94 + } + ] + }, + { + "xPct": 92, + "yOffPx": -3, + "w": { + "base": 12, + "mult": "inv-spike" + }, + "h": { + "base": 32, + "mult": "h" + }, + "stops": [ + { + "r": 85, + "g": 85, + "b": 85, + "a": 0.14, + "pos": 0 + }, + { + "r": 85, + "g": 85, + "b": 85, + "a": 0.0764, + "pos": 0.42 + }, + { + "r": 85, + "g": 85, + "b": 85, + "a": 0, + "pos": 0.91 + } + ] + }, + { + "xPct": null, + "yOffPx": 0, + "w": { + "base": 50, + "mult": "w" + }, + "h": { + "base": 32, + "mult": "h" + }, + "stops": [ + { + "r": 0, + "g": 0, + "b": 0, + "a": 0.5, + "pos": 0 + }, + { + "r": 0, + "g": 0, + "b": 0, + "a": 0.18, + "pos": 0.3 + }, + { + "r": 0, + "g": 0, + "b": 0, + "a": 0.03, + "pos": 0.6 + }, + { + "r": 0, + "g": 0, + "b": 0, + "a": 0, + "pos": 0.85 + } + ] + } + ] + }, + "ocean": { + "dark": [ + { + "xPct": 8, + "yOffPx": -2, + "w": { + "base": 0.8, + "mult": "spike" + }, + "h": { + "base": 92, + "mult": "h" + }, + "stops": [ + { + "r": 100, + "g": 120, + "b": 255, + "a": 1, + "pos": 0 + }, + { + "r": 100, + "g": 120, + "b": 255, + "a": 1, + "pos": 0.3 + }, + { + "r": 100, + "g": 120, + "b": 255, + "a": 0, + "pos": 0.88 + } + ] + }, + { + "xPct": 22, + "yOffPx": -4, + "w": { + "base": 10, + "mult": "spike2" + }, + "h": { + "base": 35, + "mult": "h" + }, + "stops": [ + { + "r": 130, + "g": 100, + "b": 220, + "a": 0.98, + "pos": 0 + }, + { + "r": 130, + "g": 100, + "b": 220, + "a": 0.49, + "pos": 0.5 + }, + { + "r": 130, + "g": 100, + "b": 220, + "a": 0, + "pos": 0.95 + } + ] + }, + { + "xPct": 36, + "yOffPx": -3, + "w": { + "base": 2, + "mult": "inv-spike" + }, + "h": { + "base": 72, + "mult": "h" + }, + "stops": [ + { + "r": 100, + "g": 80, + "b": 255, + "a": 1, + "pos": 0 + }, + { + "r": 100, + "g": 80, + "b": 255, + "a": 1, + "pos": 0.4 + }, + { + "r": 100, + "g": 80, + "b": 255, + "a": 0, + "pos": 0.9 + } + ] + }, + { + "xPct": 50, + "yOffPx": -2, + "w": { + "base": 14, + "mult": "spike2" + }, + "h": { + "base": 28, + "mult": "h" + }, + "stops": [ + { + "r": 80, + "g": 130, + "b": 220, + "a": 0.59, + "pos": 0 + }, + { + "r": 80, + "g": 130, + "b": 220, + "a": 0.29, + "pos": 0.55 + }, + { + "r": 80, + "g": 130, + "b": 220, + "a": 0, + "pos": 0.96 + } + ] + }, + { + "xPct": 64, + "yOffPx": -4, + "w": { + "base": 1.2, + "mult": "inv-spike2" + }, + "h": { + "base": 85, + "mult": "h" + }, + "stops": [ + { + "r": 60, + "g": 100, + "b": 255, + "a": 1, + "pos": 0 + }, + { + "r": 60, + "g": 100, + "b": 255, + "a": 1, + "pos": 0.35 + }, + { + "r": 60, + "g": 100, + "b": 255, + "a": 0, + "pos": 0.89 + } + ] + }, + { + "xPct": 78, + "yOffPx": -2, + "w": { + "base": 7, + "mult": "spike" + }, + "h": { + "base": 45, + "mult": "h" + }, + "stops": [ + { + "r": 90, + "g": 120, + "b": 200, + "a": 0.91, + "pos": 0 + }, + { + "r": 90, + "g": 120, + "b": 200, + "a": 0.45, + "pos": 0.48 + }, + { + "r": 90, + "g": 120, + "b": 200, + "a": 0, + "pos": 0.94 + } + ] + }, + { + "xPct": 92, + "yOffPx": -3, + "w": { + "base": 0.6, + "mult": "inv-spike" + }, + "h": { + "base": 60, + "mult": "h" + }, + "stops": [ + { + "r": 120, + "g": 90, + "b": 255, + "a": 1, + "pos": 0 + }, + { + "r": 120, + "g": 90, + "b": 255, + "a": 1, + "pos": 0.42 + }, + { + "r": 120, + "g": 90, + "b": 255, + "a": 0, + "pos": 0.91 + } + ] + }, + { + "xPct": null, + "yOffPx": 1, + "w": { + "base": 21, + "mult": "spike" + }, + "h": { + "base": 15, + "mult": "spike2" + }, + "stops": [ + { + "r": 255, + "g": 255, + "b": 255, + "a": 1, + "pos": 0 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.9, + "pos": 0.2 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.5, + "pos": 0.5 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0, + "pos": 1 + } + ] + }, + { + "xPct": null, + "yOffPx": 0, + "w": { + "base": 42, + "mult": "w" + }, + "h": { + "base": 40, + "mult": "h" + }, + "stops": [ + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.3, + "pos": 0 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.12, + "pos": 0.25 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.03, + "pos": 0.55 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0, + "pos": 0.8 + } + ] + } + ], + "light": [ + { + "xPct": 8, + "yOffPx": -2, + "w": { + "base": 0.8, + "mult": "spike" + }, + "h": { + "base": 92, + "mult": "h" + }, + "stops": [ + { + "r": 60, + "g": 60, + "b": 180, + "a": 1, + "pos": 0 + }, + { + "r": 60, + "g": 60, + "b": 180, + "a": 0.85, + "pos": 0.3 + }, + { + "r": 60, + "g": 60, + "b": 180, + "a": 0, + "pos": 0.88 + } + ] + }, + { + "xPct": 22, + "yOffPx": -4, + "w": { + "base": 10, + "mult": "spike2" + }, + "h": { + "base": 35, + "mult": "h" + }, + "stops": [ + { + "r": 80, + "g": 100, + "b": 200, + "a": 1, + "pos": 0 + }, + { + "r": 80, + "g": 100, + "b": 200, + "a": 0.7, + "pos": 0.5 + }, + { + "r": 80, + "g": 100, + "b": 200, + "a": 0, + "pos": 0.95 + } + ] + }, + { + "xPct": 36, + "yOffPx": -3, + "w": { + "base": 2, + "mult": "inv-spike" + }, + "h": { + "base": 72, + "mult": "h" + }, + "stops": [ + { + "r": 50, + "g": 40, + "b": 180, + "a": 1, + "pos": 0 + }, + { + "r": 50, + "g": 40, + "b": 180, + "a": 0.8, + "pos": 0.4 + }, + { + "r": 50, + "g": 40, + "b": 180, + "a": 0, + "pos": 0.9 + } + ] + }, + { + "xPct": 50, + "yOffPx": -2, + "w": { + "base": 14, + "mult": "spike2" + }, + "h": { + "base": 28, + "mult": "h" + }, + "stops": [ + { + "r": 40, + "g": 80, + "b": 200, + "a": 0.7, + "pos": 0 + }, + { + "r": 40, + "g": 80, + "b": 200, + "a": 0.46, + "pos": 0.55 + }, + { + "r": 40, + "g": 80, + "b": 200, + "a": 0, + "pos": 0.96 + } + ] + }, + { + "xPct": 64, + "yOffPx": -4, + "w": { + "base": 1.2, + "mult": "inv-spike2" + }, + "h": { + "base": 85, + "mult": "h" + }, + "stops": [ + { + "r": 30, + "g": 50, + "b": 190, + "a": 1, + "pos": 0 + }, + { + "r": 30, + "g": 50, + "b": 190, + "a": 0.82, + "pos": 0.35 + }, + { + "r": 30, + "g": 50, + "b": 190, + "a": 0, + "pos": 0.89 + } + ] + }, + { + "xPct": 78, + "yOffPx": -2, + "w": { + "base": 7, + "mult": "spike" + }, + "h": { + "base": 45, + "mult": "h" + }, + "stops": [ + { + "r": 60, + "g": 90, + "b": 180, + "a": 1, + "pos": 0 + }, + { + "r": 60, + "g": 90, + "b": 180, + "a": 0.7, + "pos": 0.48 + }, + { + "r": 60, + "g": 90, + "b": 180, + "a": 0, + "pos": 0.94 + } + ] + }, + { + "xPct": 92, + "yOffPx": -3, + "w": { + "base": 1, + "mult": "inv-spike" + }, + "h": { + "base": 60, + "mult": "h" + }, + "stops": [ + { + "r": 70, + "g": 60, + "b": 200, + "a": 1, + "pos": 0 + }, + { + "r": 70, + "g": 60, + "b": 200, + "a": 0.78, + "pos": 0.42 + }, + { + "r": 70, + "g": 60, + "b": 200, + "a": 0, + "pos": 0.91 + } + ] + }, + { + "xPct": null, + "yOffPx": 0, + "w": { + "base": 50, + "mult": "w" + }, + "h": { + "base": 32, + "mult": "h" + }, + "stops": [ + { + "r": 0, + "g": 0, + "b": 0, + "a": 0.5, + "pos": 0 + }, + { + "r": 0, + "g": 0, + "b": 0, + "a": 0.18, + "pos": 0.3 + }, + { + "r": 0, + "g": 0, + "b": 0, + "a": 0.03, + "pos": 0.6 + }, + { + "r": 0, + "g": 0, + "b": 0, + "a": 0, + "pos": 0.85 + } + ] + } + ] + }, + "sunset": { + "dark": [ + { + "xPct": 8, + "yOffPx": -2, + "w": { + "base": 0.8, + "mult": "spike" + }, + "h": { + "base": 92, + "mult": "h" + }, + "stops": [ + { + "r": 255, + "g": 140, + "b": 80, + "a": 1, + "pos": 0 + }, + { + "r": 255, + "g": 140, + "b": 80, + "a": 1, + "pos": 0.3 + }, + { + "r": 255, + "g": 140, + "b": 80, + "a": 0, + "pos": 0.88 + } + ] + }, + { + "xPct": 22, + "yOffPx": -4, + "w": { + "base": 10, + "mult": "spike2" + }, + "h": { + "base": 35, + "mult": "h" + }, + "stops": [ + { + "r": 255, + "g": 100, + "b": 60, + "a": 0.98, + "pos": 0 + }, + { + "r": 255, + "g": 100, + "b": 60, + "a": 0.49, + "pos": 0.5 + }, + { + "r": 255, + "g": 100, + "b": 60, + "a": 0, + "pos": 0.95 + } + ] + }, + { + "xPct": 36, + "yOffPx": -3, + "w": { + "base": 2, + "mult": "inv-spike" + }, + "h": { + "base": 72, + "mult": "h" + }, + "stops": [ + { + "r": 255, + "g": 100, + "b": 80, + "a": 1, + "pos": 0 + }, + { + "r": 255, + "g": 100, + "b": 80, + "a": 1, + "pos": 0.4 + }, + { + "r": 255, + "g": 100, + "b": 80, + "a": 0, + "pos": 0.9 + } + ] + }, + { + "xPct": 50, + "yOffPx": -2, + "w": { + "base": 14, + "mult": "spike2" + }, + "h": { + "base": 28, + "mult": "h" + }, + "stops": [ + { + "r": 255, + "g": 150, + "b": 80, + "a": 0.59, + "pos": 0 + }, + { + "r": 255, + "g": 150, + "b": 80, + "a": 0.29, + "pos": 0.55 + }, + { + "r": 255, + "g": 150, + "b": 80, + "a": 0, + "pos": 0.96 + } + ] + }, + { + "xPct": 64, + "yOffPx": -4, + "w": { + "base": 1.2, + "mult": "inv-spike2" + }, + "h": { + "base": 85, + "mult": "h" + }, + "stops": [ + { + "r": 255, + "g": 80, + "b": 60, + "a": 1, + "pos": 0 + }, + { + "r": 255, + "g": 80, + "b": 60, + "a": 1, + "pos": 0.35 + }, + { + "r": 255, + "g": 80, + "b": 60, + "a": 0, + "pos": 0.89 + } + ] + }, + { + "xPct": 78, + "yOffPx": -2, + "w": { + "base": 7, + "mult": "spike" + }, + "h": { + "base": 45, + "mult": "h" + }, + "stops": [ + { + "r": 255, + "g": 120, + "b": 50, + "a": 0.91, + "pos": 0 + }, + { + "r": 255, + "g": 120, + "b": 50, + "a": 0.45, + "pos": 0.48 + }, + { + "r": 255, + "g": 120, + "b": 50, + "a": 0, + "pos": 0.94 + } + ] + }, + { + "xPct": 92, + "yOffPx": -3, + "w": { + "base": 0.6, + "mult": "inv-spike" + }, + "h": { + "base": 60, + "mult": "h" + }, + "stops": [ + { + "r": 255, + "g": 140, + "b": 70, + "a": 1, + "pos": 0 + }, + { + "r": 255, + "g": 140, + "b": 70, + "a": 1, + "pos": 0.42 + }, + { + "r": 255, + "g": 140, + "b": 70, + "a": 0, + "pos": 0.91 + } + ] + }, + { + "xPct": null, + "yOffPx": 1, + "w": { + "base": 21, + "mult": "spike" + }, + "h": { + "base": 15, + "mult": "spike2" + }, + "stops": [ + { + "r": 255, + "g": 255, + "b": 255, + "a": 1, + "pos": 0 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.9, + "pos": 0.2 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.5, + "pos": 0.5 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0, + "pos": 1 + } + ] + }, + { + "xPct": null, + "yOffPx": 0, + "w": { + "base": 42, + "mult": "w" + }, + "h": { + "base": 40, + "mult": "h" + }, + "stops": [ + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.3, + "pos": 0 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.12, + "pos": 0.25 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0.03, + "pos": 0.55 + }, + { + "r": 255, + "g": 255, + "b": 255, + "a": 0, + "pos": 0.8 + } + ] + } + ], + "light": [ + { + "xPct": 8, + "yOffPx": -2, + "w": { + "base": 0.8, + "mult": "spike" + }, + "h": { + "base": 92, + "mult": "h" + }, + "stops": [ + { + "r": 200, + "g": 80, + "b": 40, + "a": 1, + "pos": 0 + }, + { + "r": 200, + "g": 80, + "b": 40, + "a": 0.85, + "pos": 0.3 + }, + { + "r": 200, + "g": 80, + "b": 40, + "a": 0, + "pos": 0.88 + } + ] + }, + { + "xPct": 22, + "yOffPx": -4, + "w": { + "base": 10, + "mult": "spike2" + }, + "h": { + "base": 35, + "mult": "h" + }, + "stops": [ + { + "r": 220, + "g": 120, + "b": 30, + "a": 1, + "pos": 0 + }, + { + "r": 220, + "g": 120, + "b": 30, + "a": 0.7, + "pos": 0.5 + }, + { + "r": 220, + "g": 120, + "b": 30, + "a": 0, + "pos": 0.95 + } + ] + }, + { + "xPct": 36, + "yOffPx": -3, + "w": { + "base": 2, + "mult": "inv-spike" + }, + "h": { + "base": 72, + "mult": "h" + }, + "stops": [ + { + "r": 200, + "g": 60, + "b": 30, + "a": 1, + "pos": 0 + }, + { + "r": 200, + "g": 60, + "b": 30, + "a": 0.8, + "pos": 0.4 + }, + { + "r": 200, + "g": 60, + "b": 30, + "a": 0, + "pos": 0.9 + } + ] + }, + { + "xPct": 50, + "yOffPx": -2, + "w": { + "base": 14, + "mult": "spike2" + }, + "h": { + "base": 28, + "mult": "h" + }, + "stops": [ + { + "r": 220, + "g": 100, + "b": 20, + "a": 0.7, + "pos": 0 + }, + { + "r": 220, + "g": 100, + "b": 20, + "a": 0.46, + "pos": 0.55 + }, + { + "r": 220, + "g": 100, + "b": 20, + "a": 0, + "pos": 0.96 + } + ] + }, + { + "xPct": 64, + "yOffPx": -4, + "w": { + "base": 1.2, + "mult": "inv-spike2" + }, + "h": { + "base": 85, + "mult": "h" + }, + "stops": [ + { + "r": 180, + "g": 40, + "b": 20, + "a": 1, + "pos": 0 + }, + { + "r": 180, + "g": 40, + "b": 20, + "a": 0.82, + "pos": 0.35 + }, + { + "r": 180, + "g": 40, + "b": 20, + "a": 0, + "pos": 0.89 + } + ] + }, + { + "xPct": 78, + "yOffPx": -2, + "w": { + "base": 7, + "mult": "spike" + }, + "h": { + "base": 45, + "mult": "h" + }, + "stops": [ + { + "r": 210, + "g": 80, + "b": 10, + "a": 1, + "pos": 0 + }, + { + "r": 210, + "g": 80, + "b": 10, + "a": 0.7, + "pos": 0.48 + }, + { + "r": 210, + "g": 80, + "b": 10, + "a": 0, + "pos": 0.94 + } + ] + }, + { + "xPct": 92, + "yOffPx": -3, + "w": { + "base": 1, + "mult": "inv-spike" + }, + "h": { + "base": 60, + "mult": "h" + }, + "stops": [ + { + "r": 190, + "g": 70, + "b": 30, + "a": 1, + "pos": 0 + }, + { + "r": 190, + "g": 70, + "b": 30, + "a": 0.78, + "pos": 0.42 + }, + { + "r": 190, + "g": 70, + "b": 30, + "a": 0, + "pos": 0.91 + } + ] + }, + { + "xPct": null, + "yOffPx": 0, + "w": { + "base": 50, + "mult": "w" + }, + "h": { + "base": 32, + "mult": "h" + }, + "stops": [ + { + "r": 0, + "g": 0, + "b": 0, + "a": 0.5, + "pos": 0 + }, + { + "r": 0, + "g": 0, + "b": 0, + "a": 0.18, + "pos": 0.3 + }, + { + "r": 0, + "g": 0, + "b": 0, + "a": 0.03, + "pos": 0.6 + }, + { + "r": 0, + "g": 0, + "b": 0, + "a": 0, + "pos": 0.85 + } + ] + } + ] + } + }, + "monoBloomExtraBlurPx": 6, + "bloomBlurPx": 8 + }, + "pulse": { + "ringMap": [ + { + "region": 1, + "quad": "tl" + }, + { + "region": 2, + "quad": "tl" + }, + { + "region": 3, + "quad": "bl" + }, + { + "region": 1, + "quad": "bl" + }, + { + "region": 2, + "quad": "br" + }, + { + "region": 3, + "quad": "br" + }, + { + "region": 1, + "quad": "tr" + }, + { + "region": 2, + "quad": "tr" + }, + { + "region": 3, + "quad": "tr" + } + ], + "innerSizes": [ + [ + 65, + 35 + ], + [ + 55, + 30 + ], + [ + 35, + 65 + ], + [ + 15, + 30 + ], + [ + 173, + 28 + ], + [ + 80, + 22 + ], + [ + 69, + 28 + ], + [ + 22, + 38 + ], + [ + 47, + 44 + ] + ], + "innerBloom": [ + { + "ci": 0, + "region": 1, + "quad": "tl", + "w": 84, + "h": 48 + }, + { + "ci": 1, + "region": 2, + "quad": "tl", + "w": 72, + "h": 42 + }, + { + "ci": 2, + "region": 3, + "quad": "bl", + "w": 48, + "h": 84 + }, + { + "ci": 4, + "region": 2, + "quad": "br", + "w": 216, + "h": 38 + }, + { + "ci": 5, + "region": 3, + "quad": "br", + "w": 102, + "h": 31 + }, + { + "ci": 6, + "region": 1, + "quad": "tr", + "w": 89, + "h": 38 + }, + { + "ci": 8, + "region": 3, + "quad": "tr", + "w": 62, + "h": 58 + } + ], + "outerCore": [ + { + "ci": 0, + "region": 1, + "quad": "tl", + "w": 80, + "h": 19, + "x": "27%", + "y": "0%" + }, + { + "ci": 6, + "region": 2, + "quad": "tr", + "w": 74, + "h": 11, + "x": "73%", + "y": "-1%" + }, + { + "ci": 7, + "region": 3, + "quad": "tr", + "w": 15, + "h": 44, + "x": "100%", + "y": "33%" + }, + { + "ci": 8, + "region": 1, + "quad": "br", + "w": 19, + "h": 38, + "x": "101%", + "y": "72%" + }, + { + "ci": 4, + "region": 2, + "quad": "br", + "w": 84, + "h": 13, + "x": "67%", + "y": "100%" + }, + { + "ci": 1, + "region": 3, + "quad": "bl", + "w": 60, + "h": 21, + "x": "24%", + "y": "101%" + }, + { + "ci": 2, + "region": 1, + "quad": "bl", + "w": 17, + "h": 40, + "x": "0%", + "y": "60%" + }, + { + "ci": 3, + "region": 2, + "quad": "tl", + "w": 13, + "h": 32, + "x": "-1%", + "y": "28%" + } + ], + "outerBloom": [ + { + "ci": 0, + "region": 1, + "quad": "tl", + "w": 110, + "h": 30, + "x": "27%", + "y": "3%" + }, + { + "ci": 6, + "region": 2, + "quad": "tr", + "w": 100, + "h": 20, + "x": "73%", + "y": "1%" + }, + { + "ci": 7, + "region": 3, + "quad": "tr", + "w": 26, + "h": 62, + "x": "100%", + "y": "33%" + }, + { + "ci": 8, + "region": 1, + "quad": "br", + "w": 30, + "h": 56, + "x": "101%", + "y": "72%" + }, + { + "ci": 4, + "region": 2, + "quad": "br", + "w": 120, + "h": 22, + "x": "67%", + "y": "99%" + }, + { + "ci": 1, + "region": 3, + "quad": "bl", + "w": 88, + "h": 32, + "x": "24%", + "y": "99%" + }, + { + "ci": 2, + "region": 1, + "quad": "bl", + "w": 28, + "h": 58, + "x": "0%", + "y": "60%" + } + ], + "innerCornerAccent": { + "sizePx": 60, + "alpha": { + "dark": 0.18, + "light": 0.08 + }, + "fadeStop": 70 + }, + "inner": { + "dark": { + "params": { + "sp": 0.28, + "dr": 33, + "op": 0.48, + "gh": 0.34, + "bs": 1.9, + "ss": 2.6, + "ghs": 2.4, + "huePeriod": 16 + }, + "oscillators": [ + { + "prop": "bw1", + "a": 0.72, + "b": 1.308, + "period": 2.34, + "delay": 0, + "unit": "" + }, + { + "prop": "bh1", + "a": 1.252, + "b": 0.762, + "period": 3.276, + "delay": 0, + "unit": "" + }, + { + "prop": "bx1", + "a": -33, + "b": 29.7, + "period": 3.04, + "delay": 0, + "unit": "px" + }, + { + "prop": "by1", + "a": 18.15, + "b": -23.1, + "period": 3.04, + "delay": 0, + "unit": "px" + }, + { + "prop": "bw2", + "a": 1.28, + "b": 0.762, + "period": 2.86, + "delay": 0, + "unit": "" + }, + { + "prop": "bh2", + "a": 0.776, + "b": 1.294, + "period": 2.106, + "delay": 0, + "unit": "" + }, + { + "prop": "bx2", + "a": 26.4, + "b": -29.7, + "period": 3.572, + "delay": 0, + "unit": "px" + }, + { + "prop": "by2", + "a": -33, + "b": 21.45, + "period": 3.572, + "delay": 0, + "unit": "px" + }, + { + "prop": "bw3", + "a": 0.832, + "b": 1.322, + "period": 2.548, + "delay": 0, + "unit": "" + }, + { + "prop": "bh3", + "a": 1.21, + "b": 0.72, + "period": 3.64, + "delay": 0, + "unit": "" + }, + { + "prop": "bx3", + "a": -19.8, + "b": 33, + "period": 2.755, + "delay": 0, + "unit": "px" + }, + { + "prop": "by3", + "a": -28.05, + "b": 14.85, + "period": 2.755, + "delay": 0, + "unit": "px" + }, + { + "prop": "bgh", + "a": 0.66, + "b": 1.34, + "period": 2.4, + "delay": 0, + "unit": "" + }, + { + "prop": "bop-tl", + "a": 0.52, + "b": 1, + "period": 1.9, + "delay": 0, + "unit": "" + }, + { + "prop": "bop-tr", + "a": 0.52, + "b": 1, + "period": 2.508, + "delay": 0.532, + "unit": "" + }, + { + "prop": "bop-bl", + "a": 0.52, + "b": 1, + "period": 1.596, + "delay": 1.045, + "unit": "" + }, + { + "prop": "bop-br", + "a": 0.52, + "b": 1, + "period": 3.002, + "delay": 1.577, + "unit": "" + } + ], + "frozenBloomAlpha": 0.76 + }, + "light": { + "params": { + "sp": 0.28, + "dr": 40, + "op": 0.45, + "gh": 0.22, + "bs": 2.6, + "ss": 4.6, + "ghs": 5.5, + "huePeriod": 16 + }, + "oscillators": [ + { + "prop": "bw1", + "a": 0.72, + "b": 1.308, + "period": 4.14, + "delay": 0, + "unit": "" + }, + { + "prop": "bh1", + "a": 1.252, + "b": 0.762, + "period": 5.796, + "delay": 0, + "unit": "" + }, + { + "prop": "bx1", + "a": -40, + "b": 36, + "period": 4.16, + "delay": 0, + "unit": "px" + }, + { + "prop": "by1", + "a": 22, + "b": -28, + "period": 4.16, + "delay": 0, + "unit": "px" + }, + { + "prop": "bw2", + "a": 1.28, + "b": 0.762, + "period": 5.06, + "delay": 0, + "unit": "" + }, + { + "prop": "bh2", + "a": 0.776, + "b": 1.294, + "period": 3.726, + "delay": 0, + "unit": "" + }, + { + "prop": "bx2", + "a": 32, + "b": -36, + "period": 4.888, + "delay": 0, + "unit": "px" + }, + { + "prop": "by2", + "a": -40, + "b": 26, + "period": 4.888, + "delay": 0, + "unit": "px" + }, + { + "prop": "bw3", + "a": 0.832, + "b": 1.322, + "period": 4.508, + "delay": 0, + "unit": "" + }, + { + "prop": "bh3", + "a": 1.21, + "b": 0.72, + "period": 6.44, + "delay": 0, + "unit": "" + }, + { + "prop": "bx3", + "a": -24, + "b": 40, + "period": 3.77, + "delay": 0, + "unit": "px" + }, + { + "prop": "by3", + "a": -34, + "b": 18, + "period": 3.77, + "delay": 0, + "unit": "px" + }, + { + "prop": "bgh", + "a": 0.78, + "b": 1.22, + "period": 5.5, + "delay": 0, + "unit": "" + }, + { + "prop": "bop-tl", + "a": 0.55, + "b": 1, + "period": 2.6, + "delay": 0, + "unit": "" + }, + { + "prop": "bop-tr", + "a": 0.55, + "b": 1, + "period": 3.432, + "delay": 0.728, + "unit": "" + }, + { + "prop": "bop-bl", + "a": 0.55, + "b": 1, + "period": 2.184, + "delay": 1.43, + "unit": "" + }, + { + "prop": "bop-br", + "a": 0.55, + "b": 1, + "period": 4.108, + "delay": 2.158, + "unit": "" + } + ], + "frozenBloomAlpha": 0.775 + } + }, + "outside": { + "dark": { + "params": { + "sp": 0.28, + "dr": 14, + "op": 0.46, + "gh": 0.16, + "bs": 2.3, + "ss": 6.4, + "ghs": 2.4, + "huePeriod": 14 + }, + "oscillators": [ + { + "prop": "bw1", + "a": 0.72, + "b": 1.308, + "period": 5.76, + "delay": 0, + "unit": "" + }, + { + "prop": "bh1", + "a": 1.252, + "b": 0.762, + "period": 8.064, + "delay": 0, + "unit": "" + }, + { + "prop": "bx1", + "a": -14, + "b": 12.6, + "period": 3.68, + "delay": 0, + "unit": "px" + }, + { + "prop": "by1", + "a": 7.7, + "b": -9.8, + "period": 3.68, + "delay": 0, + "unit": "px" + }, + { + "prop": "bw2", + "a": 1.28, + "b": 0.762, + "period": 7.04, + "delay": 0, + "unit": "" + }, + { + "prop": "bh2", + "a": 0.776, + "b": 1.294, + "period": 5.184, + "delay": 0, + "unit": "" + }, + { + "prop": "bx2", + "a": 11.2, + "b": -12.6, + "period": 4.324, + "delay": 0, + "unit": "px" + }, + { + "prop": "by2", + "a": -14, + "b": 9.1, + "period": 4.324, + "delay": 0, + "unit": "px" + }, + { + "prop": "bw3", + "a": 0.832, + "b": 1.322, + "period": 6.272, + "delay": 0, + "unit": "" + }, + { + "prop": "bh3", + "a": 1.21, + "b": 0.72, + "period": 8.96, + "delay": 0, + "unit": "" + }, + { + "prop": "bx3", + "a": -8.4, + "b": 14, + "period": 3.335, + "delay": 0, + "unit": "px" + }, + { + "prop": "by3", + "a": -11.9, + "b": 6.3, + "period": 3.335, + "delay": 0, + "unit": "px" + }, + { + "prop": "bgh", + "a": 0.84, + "b": 1.16, + "period": 2.4, + "delay": 0, + "unit": "" + }, + { + "prop": "bop-tl", + "a": 0.54, + "b": 1, + "period": 2.3, + "delay": 0, + "unit": "" + }, + { + "prop": "bop-tr", + "a": 0.54, + "b": 1, + "period": 3.036, + "delay": 0.644, + "unit": "" + }, + { + "prop": "bop-bl", + "a": 0.54, + "b": 1, + "period": 1.932, + "delay": 1.265, + "unit": "" + }, + { + "prop": "bop-br", + "a": 0.54, + "b": 1, + "period": 3.634, + "delay": 1.909, + "unit": "" + } + ], + "frozenBloomAlpha": 0.77 + }, + "light": { + "params": { + "sp": 0.36, + "dr": 19, + "op": 0, + "gh": 0.58, + "bs": 3.7, + "ss": 4.6, + "ghs": 3.8, + "huePeriod": 14 + }, + "oscillators": [ + { + "prop": "bw1", + "a": 0.64, + "b": 1.396, + "period": 4.14, + "delay": 0, + "unit": "" + }, + { + "prop": "bh1", + "a": 1.324, + "b": 0.694, + "period": 5.796, + "delay": 0, + "unit": "" + }, + { + "prop": "bx1", + "a": -19, + "b": 17.1, + "period": 5.92, + "delay": 0, + "unit": "px" + }, + { + "prop": "by1", + "a": 10.45, + "b": -13.3, + "period": 5.92, + "delay": 0, + "unit": "px" + }, + { + "prop": "bw2", + "a": 1.36, + "b": 0.694, + "period": 5.06, + "delay": 0, + "unit": "" + }, + { + "prop": "bh2", + "a": 0.712, + "b": 1.378, + "period": 3.726, + "delay": 0, + "unit": "" + }, + { + "prop": "bx2", + "a": 15.2, + "b": -17.1, + "period": 6.956, + "delay": 0, + "unit": "px" + }, + { + "prop": "by2", + "a": -19, + "b": 12.35, + "period": 6.956, + "delay": 0, + "unit": "px" + }, + { + "prop": "bw3", + "a": 0.784, + "b": 1.414, + "period": 4.508, + "delay": 0, + "unit": "" + }, + { + "prop": "bh3", + "a": 1.27, + "b": 0.64, + "period": 6.44, + "delay": 0, + "unit": "" + }, + { + "prop": "bx3", + "a": -11.4, + "b": 19, + "period": 5.365, + "delay": 0, + "unit": "px" + }, + { + "prop": "by3", + "a": -16.15, + "b": 8.55, + "period": 5.365, + "delay": 0, + "unit": "px" + }, + { + "prop": "bgh", + "a": 0.42, + "b": 1.58, + "period": 3.8, + "delay": 0, + "unit": "" + }, + { + "prop": "bop-tl", + "a": 1, + "b": 1, + "period": 3.7, + "delay": 0, + "unit": "" + }, + { + "prop": "bop-tr", + "a": 1, + "b": 1, + "period": 4.884, + "delay": 1.036, + "unit": "" + }, + { + "prop": "bop-bl", + "a": 1, + "b": 1, + "period": 3.108, + "delay": 2.035, + "unit": "" + }, + { + "prop": "bop-br", + "a": 1, + "b": 1, + "period": 5.846, + "delay": 3.071, + "unit": "" + } + ], + "frozenBloomAlpha": 1 + } + }, + "huePeriod": { + "pulse-inner": 16, + "pulse-outside": 14 + }, + "outsideConstants": { + "glowScale": { + "x": 0.95, + "y": 0.9 + }, + "glowBlurPx": { + "dark": 3, + "light": 6 + }, + "bloomBlurPx": { + "dark": 22.5, + "light": 15 + }, + "coreInsetPx": 10, + "bloomInsetPx": 30, + "referenceSize": { + "w": 350, + "h": 140 + }, + "scaleClamp": { + "min": 0.35, + "max": 4 + }, + "hairline": { + "rgb": { + "dark": [ + 70, + 70, + 70 + ], + "light": [ + 0, + 0, + 0 + ] + } + } + }, + "innerBloomBlurPx": 8, + "oscillatorCurve": "cosinePingPong" + }, + "filters": { + "order": [ + "blur?", + "hue-rotate", + "brightness", + "saturate" + ], + "hueRotateModel": "css-fecolormatrix-huerotate-linearRGB-off" + } +} diff --git a/tool/spec/README.md b/tool/spec/README.md new file mode 100644 index 0000000..b684dd7 --- /dev/null +++ b/tool/spec/README.md @@ -0,0 +1,32 @@ +# Upstream spec vendoring + +The React [border-beam](https://github.com/Jakubantalik/Libraries/tree/main/packages/border-beam) +library publishes `spec/beam-spec.json`, a machine-readable dump of every +table its `src/styles.ts` builds its CSS from. This package's +`lib/src/constants/` is a hand transcription of those same tables, so the spec +is the only thing that can prove the transcription is still right. + +- `test/fixtures/beam-spec.json` — the vendored spec. +- `test/fixtures/UPSTREAM` — the commit, versions, and `styles.ts` hash it was + fetched at. +- `test/constants/spec_parity_test.dart` — asserts our constants against it. +- `.github/workflows/upstream_drift.yaml` — weekly alarm when upstream moves. + +## Refreshing + +```bash +tool/spec/refresh.sh # from main +tool/spec/refresh.sh v1.4.0 # from a tag/branch/sha +``` + +Then re-check `lib/src/constants/upstream.dart` (its version strings are hand +maintained) and run: + +```bash +flutter test test/constants/spec_parity_test.dart +``` + +A parity failure after a refresh means upstream changed a value. **Re-audit +the constants against `src/styles.ts` before touching anything** — the hard +rule in `CLAUDE.md` still stands: constants are never tweaked to make a test +pass. diff --git a/tool/spec/refresh.sh b/tool/spec/refresh.sh new file mode 100755 index 0000000..1804e73 --- /dev/null +++ b/tool/spec/refresh.sh @@ -0,0 +1,85 @@ +#!/usr/bin/env bash +# +# Re-vendors the upstream border-beam spec into `test/fixtures/`. +# +# The React library ships a machine-readable `spec/beam-spec.json` generated +# from its `src/styles.ts`. `test/constants/spec_parity_test.dart` reads the +# vendored copy and asserts every table in `lib/src/constants/` against it, so +# the fixture is the parity test's ground truth and must be refreshed whenever +# upstream moves. +# +# Writes (idempotent — re-running on an unchanged upstream leaves the tree +# untouched): +# test/fixtures/beam-spec.json the spec, byte for byte as upstream has it +# test/fixtures/UPSTREAM commit=, version=, package_version=, +# spec_version=, styles_sha256= +# +# `styles_sha256` hashes the upstream `src/styles.ts` the spec was generated +# from; `.github/workflows/upstream_drift.yaml` compares against it so a +# styles change that never reached the spec generator still raises the alarm. +# +# Usage: +# tool/spec/refresh.sh # fetch from main +# tool/spec/refresh.sh # fetch from a tag/branch/sha +# +# Needs `curl`, `jq`, and `shasum`. After running, re-read +# `lib/src/constants/upstream.dart` (its version strings are hand-maintained), +# then run: +# flutter test test/constants/spec_parity_test.dart +set -euo pipefail + +REPO="Jakubantalik/Libraries" +PKG="packages/border-beam" +REF="${1:-main}" + +repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +fixtures="$repo_root/test/fixtures" +mkdir -p "$fixtures" + +work="$(mktemp -d)" +trap 'rm -rf "$work"' EXIT + +# Downloads $2 from the package at commit $1 into $work/$3, preserving the +# bytes exactly — command substitution would eat the trailing newline and +# change the styles.ts hash. +raw() { + curl -fsSL "https://raw.githubusercontent.com/$REPO/$1/$PKG/$2" -o "$work/$3" +} + +echo "Fetching $REPO@$REF …" + +# Resolve the ref to a concrete commit so the fixture records exactly what was +# fetched, even when REF is a moving branch. +commit="$(curl -fsSL \ + -H 'Accept: application/vnd.github+json' \ + "https://api.github.com/repos/$REPO/commits/$REF" | jq -r .sha)" +if [ -z "$commit" ] || [ "$commit" = "null" ]; then + echo "error: could not resolve $REPO@$REF to a commit" >&2 + exit 1 +fi + +raw "$commit" "spec/beam-spec.json" spec.json +raw "$commit" "src/styles.ts" styles.ts +raw "$commit" "package.json" package.json + +jq empty < "$work/spec.json" # reject a truncated or non-JSON download + +version="$(jq -r .sourceLibrary.version < "$work/spec.json")" +spec_version="$(jq -r .specVersion < "$work/spec.json")" +package_version="$(jq -r .version < "$work/package.json")" +styles_sha256="$(shasum -a 256 < "$work/styles.ts" | cut -d' ' -f1)" + +cp "$work/spec.json" "$fixtures/beam-spec.json" + +cat > "$fixtures/UPSTREAM" < Date: Tue, 1 Sep 2026 17:32:11 -0700 Subject: [PATCH 18/40] feat(engine): stock pulse-outside, inner size and render scale, offscreen pause, fade curve, frozen frames MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BeamStyle.pulseOutsideStock reproduces the React library's own pulse-outside defaults — the opacity, boost, brightness, and saturation hooks undo the baked demo tuning, and BeamStyle.pulseOutsideTuning selects the stock inset and per-brightness blur table that no hook can express. innerSizeScale scales pulse-inside's inner wash and corner accents; renderScale paints the beam at a fraction of the box and magnifies it back through one canvas transform so card-scale palettes read on large boxes. BeamPlayback.pauseWhenOffscreen stops the clock while a beam sits outside its nearest Scrollable's viewport by a 256px margin, through its own flag so it never overrides a controller or reduced-motion pause; fadeCurve (with cssEase, the web's ease) replaces the spring envelope; debugFrozenAt pins the painted frame at one instant for reproducible captures. Defaults render identically and the saveLayer table holds for every new option. Co-Authored-By: Claude Opus 5 (1M context) --- lib/flutter_border_beam.dart | 1 + lib/src/animation/beam_clock.dart | 19 +- lib/src/border_beam.dart | 115 +++- lib/src/models/beam_config.dart | 87 +++ lib/src/models/beam_options.dart | 21 + lib/src/models/beam_playback.dart | 62 +- lib/src/models/beam_style.dart | 85 +++ lib/src/painting/beam_painter.dart | 65 +- .../strategies/pulse_inner_strategy.dart | 12 +- .../strategies/pulse_outer_strategy.dart | 69 +- lib/src/widgets/beam_decoration.dart | 41 +- .../research_pulse_inside_inner_scale_0_6.png | Bin 0 -> 68278 bytes .../research_pulse_outside_stock_dark.png | Bin 0 -> 173211 bytes .../research_pulse_outside_stock_light.png | Bin 0 -> 292640 bytes .../goldens/research_rotate_large_default.png | Bin 0 -> 72885 bytes .../research_rotate_render_scale_0_5.png | Bin 0 -> 139978 bytes test/golden/research_golden_test.dart | 140 ++++ test/models/beam_config_test.dart | 28 + test/models/value_objects_test.dart | 124 ++++ test/painting/save_layer_budget_test.dart | 19 + test/widget/beam_research_features_test.dart | 623 ++++++++++++++++++ 21 files changed, 1483 insertions(+), 28 deletions(-) create mode 100644 test/golden/goldens/research_pulse_inside_inner_scale_0_6.png create mode 100644 test/golden/goldens/research_pulse_outside_stock_dark.png create mode 100644 test/golden/goldens/research_pulse_outside_stock_light.png create mode 100644 test/golden/goldens/research_rotate_large_default.png create mode 100644 test/golden/goldens/research_rotate_render_scale_0_5.png create mode 100644 test/golden/research_golden_test.dart create mode 100644 test/widget/beam_research_features_test.dart diff --git a/lib/flutter_border_beam.dart b/lib/flutter_border_beam.dart index ec3a89e..7e62d79 100644 --- a/lib/flutter_border_beam.dart +++ b/lib/flutter_border_beam.dart @@ -19,6 +19,7 @@ export 'src/models/beam_options.dart' BeamEdge, BeamHueMode, BeamPathContour, + BeamPulseOutsideTuning, BeamReducedMotion, BeamRepeat; export 'src/models/beam_playback.dart' show BeamPlayback; diff --git a/lib/src/animation/beam_clock.dart b/lib/src/animation/beam_clock.dart index ec1ce6c..87c785f 100644 --- a/lib/src/animation/beam_clock.dart +++ b/lib/src/animation/beam_clock.dart @@ -1,3 +1,4 @@ +import 'package:flutter/animation.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/scheduler.dart'; @@ -21,18 +22,20 @@ enum BeamFadeStage { /// function of elapsed time, driven by ONE [Ticker] (the React library uses /// one shared requestAnimationFrame loop). The clock integrates scaled /// deltas so [speed] changes and pauses keep continuity, runs the -/// fade-in/fade-out envelope (spring-eased via [FadeSpringCurve]), and can +/// fade-in/fade-out envelope (spring-eased via [FadeSpringCurve] unless +/// [fadeCurve] replaces it), and can /// cap its notification rate for the pulse variants (~30fps in the source). class BeamClock extends ChangeNotifier { /// Creates a clock. [createTicker] is typically /// `TickerProviderStateMixin.createTicker`. [maxFps] caps notification /// frequency while not fading (null = every frame). [onFadeComplete] fires /// with `true` when a fade-in finishes and `false` when a fade-out - /// finishes. + /// finishes. [fadeCurve] replaces the spring easing of both fades. BeamClock({ required Ticker Function(TickerCallback) createTicker, this.maxFps, this.onFadeComplete, + this.fadeCurve, }) : _createTicker = createTicker; /// Fade-in duration in seconds (React `beam-fade-in 0.6s`). @@ -51,7 +54,7 @@ class BeamClock extends ChangeNotifier { static const double flashPeak = 4; // Spring-eased fade, isolated here so the curve is trivially replaceable. - static const _fadeCurve = FadeSpringCurve.instance; + static const _defaultFadeCurve = FadeSpringCurve.instance; final Ticker Function(TickerCallback) _createTicker; @@ -62,6 +65,16 @@ class BeamClock extends ChangeNotifier { /// active (`true` after fade-in, `false` after fade-out). final ValueChanged? onFadeComplete; + /// The easing both fades run on; null uses the spring + /// ([FadeSpringCurve]). + /// + /// Settable so a beam can pick up `BeamPlayback.fadeCurve` after its clock + /// exists. It is read per frame, so a change lands on the next one — and + /// mid-fade, since both stages read the curve from where they already are. + Curve? fadeCurve; + + Curve get _fadeCurve => fadeCurve ?? _defaultFadeCurve; + Ticker? _ticker; Duration _lastRaw = Duration.zero; double _elapsed = 0; diff --git a/lib/src/border_beam.dart b/lib/src/border_beam.dart index 38120fe..5354e25 100644 --- a/lib/src/border_beam.dart +++ b/lib/src/border_beam.dart @@ -523,6 +523,10 @@ BeamTiming _configTiming(BeamTiming timing) => BeamTiming( // BeamReducedMotion.slow runs the clock at a quarter rate. const double _slowMotionFactor = 0.25; +// How far outside the viewport a beam keeps running before its clock is +// paused, matching the root margin the source's IntersectionObserver uses. +const double _offscreenMarginPx = 256; + // How long the follow easing takes to cover most of the distance to the // pointer. Short enough to feel attached, long enough to smooth a jittery // pointer stream. @@ -588,12 +592,23 @@ class _BorderBeamState extends State with TickerProviderStateMixin { bool get _active => _playback.active ?? true; bool get _autoPlay => _playback.autoPlay ?? true; + // A frozen beam paints one instant of its timeline forever, so its clock + // is never started at all. + bool get _frozen => _playback.debugFrozenAt != null; + bool _autoPlayScheduled = false; bool _hasStarted = false; BeamReducedMotion? _reducedApplied; // Set only when reduced motion paused the clock, so turning reduced motion // back off never overrides a pause the controller asked for. bool _pausedForReducedMotion = false; + // The same idea for the offscreen pause: set only when this beam stopped + // the clock because nobody could see it, so resuming never overrides a + // pause a controller or reduced motion asked for. + bool _pausedForOffscreen = false; + ScrollableState? _scrollable; + ScrollPosition? _scrollPosition; + bool _offscreenCheckScheduled = false; double _hueTimeOffset = 0; @override @@ -606,6 +621,7 @@ class _BorderBeamState extends State with TickerProviderStateMixin { _playback = widget._playbackInput ?? const BeamPlayback(); _cycleSeconds = _cycleSecondsOf(_timing, widget.variant); _applySpeed(); + _applyFadeCurve(); widget.controller?.attach(_clock); widget.speedListenable?.addListener(_applySpeed); } @@ -630,8 +646,16 @@ class _BorderBeamState extends State with TickerProviderStateMixin { _cycleSeconds = _cycleSecondsOf(timing, widget.variant); if (retime) _retimeToNewCycle(previousCycle, _cycleSeconds); _applySpeed(); + _applyFadeCurve(); _syncResolverPlayback(); _syncTickListener(); + _syncScrollListener(); + } + + // A group clock's fade belongs to its BeamSync, not to one member. + void _applyFadeCurve() { + if (_synced) return; + _clock.fadeCurve = _playback.fadeCurve; } // The rate the clock runs at: a live speedListenable first, then the @@ -706,6 +730,7 @@ class _BorderBeamState extends State with TickerProviderStateMixin { _sharedClock = null; _createOwnClock(); _applySpeed(); + _applyFadeCurve(); if (widget.controller == null && _autoPlay && _active) _start(); } _syncTickListener(); @@ -722,6 +747,9 @@ class _BorderBeamState extends State with TickerProviderStateMixin { _pausedForReducedMotion = false; if (_clock.isVisible) { _clock.resume(); + // Motion is allowed again, but visibility may not be — re-check + // rather than leaving an offscreen beam ticking. + _scheduleOffscreenCheck(); return; } } @@ -745,7 +773,7 @@ class _BorderBeamState extends State with TickerProviderStateMixin { } void _start() { - if (_motionFrozen || _synced) return; + if (_motionFrozen || _synced || _frozen) return; _hasStarted = true; // Activating from hidden restarts the timeline, so the hue shift a // retime accumulated goes with it; a mid-fade-out re-activation keeps @@ -918,6 +946,85 @@ class _BorderBeamState extends State with TickerProviderStateMixin { resolver.travelTimeOffset += delta * _cycleSeconds; } + // ─── Offscreen pause ──────────────────────────────────────────────────── + + bool get _pauseWhenOffscreen => _playback.pauseWhenOffscreen ?? true; + + // Watches the nearest enclosing Scrollable, if there is one and this beam + // has a clock of its own to pause. Scrollable.maybeOf registers a + // dependency, so a scroll view swapping its position re-runs this. + void _syncScrollListener() { + final scrollable = (_pauseWhenOffscreen && !_synced && !_frozen) + ? Scrollable.maybeOf(context) + : null; + final position = scrollable?.position; + if (position == _scrollPosition) return; + _scrollPosition?.removeListener(_onScrollChanged); + _scrollable = scrollable; + _scrollPosition = position; + if (position == null) { + // Nothing left to tell this beam it is hidden, so it must not stay + // paused on the strength of a check nobody will repeat. + _resumeFromOffscreen(); + return; + } + position.addListener(_onScrollChanged); + _scheduleOffscreenCheck(); + } + + void _onScrollChanged() => _scheduleOffscreenCheck(); + + // Coalesced to one check per frame, and deferred to the end of it: a + // scroll position moves before layout, so the beam's paint transform is + // only settled once the frame is done. + void _scheduleOffscreenCheck() { + if (_offscreenCheckScheduled) return; + _offscreenCheckScheduled = true; + WidgetsBinding.instance.addPostFrameCallback((_) { + _offscreenCheckScheduled = false; + _updateOffscreenPause(); + }); + } + + void _updateOffscreenPause() { + if (!mounted || !_pauseWhenOffscreen || _synced || _frozen) return; + final viewport = _scrollable?.context.findRenderObject(); + final self = context.findRenderObject(); + if (viewport is! RenderBox || self is! RenderBox) return; + if (!viewport.attached || + !viewport.hasSize || + !self.attached || + !self.hasSize) { + return; + } + final origin = self.localToGlobal(Offset.zero, ancestor: viewport); + final visible = (origin & self.size) + .inflate(_offscreenMarginPx) + .overlaps(Offset.zero & viewport.size); + if (visible) { + _resumeFromOffscreen(); + } else { + _pauseForOffscreen(); + } + } + + void _pauseForOffscreen() { + // A clock that is already stopped was stopped by someone else — a + // controller, reduced motion, or a finished fade-out — and stays theirs. + if (_pausedForOffscreen || !_clock.isRunning) return; + _clock.pause(); + _pausedForOffscreen = true; + } + + void _resumeFromOffscreen() { + if (!_pausedForOffscreen) return; + _pausedForOffscreen = false; + // Reduced motion outranks visibility: a beam that must not move stays + // still whether or not it is on screen. + if (_motionFrozen || _pausedForReducedMotion) return; + if (_clock.isVisible) _clock.resume(); + } + // ─── Lifecycle ────────────────────────────────────────────────────────── @override @@ -942,6 +1049,7 @@ class _BorderBeamState extends State with TickerProviderStateMixin { _ownClock!.dispose(); _createOwnClock(); _applySpeed(); + _applyFadeCurve(); widget.controller?.attach(_clock); _syncTickListener(); if (wasVisible && widget.controller == null && _active) _start(); @@ -968,6 +1076,9 @@ class _BorderBeamState extends State with TickerProviderStateMixin { _startTimer?.cancel(); _durationTimer?.cancel(); widget.speedListenable?.removeListener(_applySpeed); + _scrollPosition?.removeListener(_onScrollChanged); + _scrollPosition = null; + _scrollable = null; _detachTickListener(); widget.controller?.detach(_clock); _ownClock?.dispose(); @@ -1044,6 +1155,7 @@ class _BorderBeamState extends State with TickerProviderStateMixin { staticMode: staticMode, progress: _driven, strength: widget.strengthListenable, + frozenAt: _playback.debugFrozenAt, ) : null, foregroundPainter: hidden @@ -1057,6 +1169,7 @@ class _BorderBeamState extends State with TickerProviderStateMixin { staticMode: staticMode, progress: _driven, strength: widget.strengthListenable, + frozenAt: _playback.debugFrozenAt, ), // The child never re-rasterizes with the beam's frames. child: RepaintBoundary(child: widget.child), diff --git a/lib/src/models/beam_config.dart b/lib/src/models/beam_config.dart index 0d3c0a0..6c085e8 100644 --- a/lib/src/models/beam_config.dart +++ b/lib/src/models/beam_config.dart @@ -15,6 +15,12 @@ const double _defaultBreatheFactor = 1.3; const double _defaultSpikeFactor = 1.33; const double _defaultSpike2Factor = 1.7; +// The window BeamStyle.renderScale is clamped to: below a quarter the +// magnification is coarse enough to read as a blur, and above 1 the beam +// would be painted larger than the box it fills. +const double _minRenderScale = 0.25; +const double _maxRenderScale = 1; + double _seconds(Duration d) => d.inMicroseconds / Duration.microsecondsPerSecond; @@ -59,6 +65,9 @@ class BeamConfig { this.comet = false, this.sparkle = 0, this.segments, + this.innerSizeScale = 1, + this.renderScale = 1, + this.pulseOutsideTuning = BeamPulseOutsideTuning.demo, this.edge = BeamEdge.bottom, this.ringOffset = 0, this.contour, @@ -130,6 +139,13 @@ class BeamConfig { comet: style.comet ?? false, sparkle: (style.sparkle ?? 0).clamp(0.0, 1.0), segments: style.segments, + innerSizeScale: style.innerSizeScale ?? 1, + renderScale: (style.renderScale ?? 1).clamp( + _minRenderScale, + _maxRenderScale, + ), + pulseOutsideTuning: + style.pulseOutsideTuning ?? BeamPulseOutsideTuning.demo, edge: shape.edge ?? BeamEdge.bottom, ringOffset: shape.ringOffset ?? 0, contour: shape.contour, @@ -243,6 +259,16 @@ class BeamConfig { /// Number of dashes the ring is broken into, or null for a solid ring. final int? segments; + /// Multiplier on the pulse-inside inner wash's blobs and corner accents. + final double innerSizeScale; + + /// The fraction of the box the beam is painted at before being magnified + /// back to fill it, clamped to 0.25–1. + final double renderScale; + + /// Which pulse-outside glow geometry to paint. + final BeamPulseOutsideTuning pulseOutsideTuning; + /// Which edge the line variant's beam travels along. final BeamEdge edge; @@ -263,6 +289,61 @@ class BeamConfig { /// cycle. final int beamCount; + /// This config re-authored for a box [factor] the size of the real one. + /// + /// Only the lengths measured against the box travel with it — the corner + /// radii, the ring's thickness, and its offset. Everything the palettes fix + /// in absolute px (blob sizes, blur radii, corner accents) deliberately + /// stays put: painting those at [factor] and magnifying the result back is + /// exactly what makes a palette authored for a card read on a screen-sized + /// box. [renderScale] is spent by the copy, so a painter cannot scale + /// twice. + BeamConfig scaledBy(double factor) => BeamConfig( + variant: variant, + palette: palette, + theme: theme, + brightness: brightness, + borderRadius: borderRadius * factor, + borderWidth: borderWidth * factor, + useSuperellipse: useSuperellipse, + strength: strength, + brightnessFactor: brightnessFactor, + saturation: saturation, + hueRange: hueRange, + hueBase: hueBase, + staticColors: staticColors, + cycleSeconds: cycleSeconds, + hueMode: hueMode, + huePeriodSeconds: huePeriodSeconds, + bloomHuePeriodSeconds: bloomHuePeriodSeconds, + gapSeconds: gapSeconds, + breatheFactor: breatheFactor, + spikeFactor: spikeFactor, + spike2Factor: spike2Factor, + strokeOpacityFactor: strokeOpacityFactor, + innerOpacityFactor: innerOpacityFactor, + bloomOpacityFactor: bloomOpacityFactor, + glowBoost: glowBoost, + coreBlur: coreBlur, + bloomBlur: bloomBlur, + glowBrightness: glowBrightness, + glowSaturation: glowSaturation, + tailLength: tailLength, + glowSpread: glowSpread, + comet: comet, + sparkle: sparkle, + segments: segments, + innerSizeScale: innerSizeScale, + renderScale: 1, + pulseOutsideTuning: pulseOutsideTuning, + edge: edge, + ringOffset: ringOffset * factor, + contour: contour, + direction: direction, + phaseOffset: phaseOffset, + beamCount: beamCount, + ); + /// Two configs are equal when every painted value is, which is what lets /// `BeamPainter.shouldRepaint` compare configs rather than identities. /// @@ -307,6 +388,9 @@ class BeamConfig { other.comet == comet && other.sparkle == sparkle && other.segments == segments && + other.innerSizeScale == innerSizeScale && + other.renderScale == renderScale && + other.pulseOutsideTuning == pulseOutsideTuning && other.edge == edge && other.ringOffset == ringOffset && other.contour == contour && @@ -350,6 +434,9 @@ class BeamConfig { comet, sparkle, segments, + innerSizeScale, + renderScale, + pulseOutsideTuning, edge, ringOffset, contour, diff --git a/lib/src/models/beam_options.dart b/lib/src/models/beam_options.dart index 7bb4877..a6e9cc4 100644 --- a/lib/src/models/beam_options.dart +++ b/lib/src/models/beam_options.dart @@ -14,6 +14,27 @@ enum BeamHueMode { continuous, } +/// Which set of glow geometry the pulse-outside variant paints. +/// +/// The two differ only in how far the outward glow is grown past the child +/// and how heavily it is blurred; every other part of the variant is shared. +enum BeamPulseOutsideTuning { + /// The demo-hero recipe the source's demo page layers over its own + /// defaults: insets and blurs scaled by the element's size, melting the + /// separate blobs into one continuous edge-hugging glow. + /// + /// The default, because it is the pulse-outside look the library is known + /// for. + demo, + + /// The React library's own defaults: fixed insets and a per-brightness + /// blur, with no size-derived unit. + /// + /// Reach for it through `BeamStyle.pulseOutsideStock`, which also rolls + /// back the demo recipe's prominence and opacity multipliers. + stock, +} + /// Which way a beam travels around its contour. enum BeamDirection { /// Clockwise for the rotate and small variants, left-to-right for the line diff --git a/lib/src/models/beam_playback.dart b/lib/src/models/beam_playback.dart index cc6bb11..3413916 100644 --- a/lib/src/models/beam_playback.dart +++ b/lib/src/models/beam_playback.dart @@ -1,3 +1,4 @@ +import 'package:flutter/animation.dart'; import 'package:flutter/foundation.dart'; import 'beam_options.dart'; @@ -33,8 +34,18 @@ class BeamPlayback { this.duration, this.repeat, this.reducedMotion, + this.pauseWhenOffscreen, + this.fadeCurve, + this.debugFrozenAt, }); + /// The web platform's `ease` timing function, as a [Curve]. + /// + /// The fades default to a spring, which carries a little momentum. Hand + /// this to [fadeCurve] to get the CSS transition the source library's own + /// page fades with instead. + static const Curve cssEase = Cubic(0.25, 0.1, 0.25, 1); + /// Declarative play state: toggling fades the beam in (0.6s) and out /// (0.5s). Default true. final bool? active; @@ -57,6 +68,37 @@ class BeamPlayback { /// quarter-speed motion, or full motion regardless. final BeamReducedMotion? reducedMotion; + /// Whether the beam's clock stops while the beam is scrolled out of its + /// enclosing scrollable, with a 256px margin. Default true. + /// + /// A list of beams costs one ticker each; this is what keeps the ones + /// nobody can see from spending frames. The beam is only *paused* — its + /// play state, its fade, and its callbacks are untouched, so it comes back + /// on screen exactly where it left off rather than restarting. + /// + /// It watches the nearest enclosing `Scrollable` and does nothing when + /// there is none. + final bool? pauseWhenOffscreen; + + /// The easing both fade envelopes run on. Null (the default) uses the + /// spring, which overshoots slightly and settles. + /// + /// [cssEase] is the web's own `ease`, for a fade that matches the source + /// library exactly. + final Curve? fadeCurve; + + /// Pins the beam to one instant of its timeline, at full opacity, and + /// never starts its clock. + /// + /// Every animated value is a pure function of elapsed time, so a fixed + /// time is a fixed frame: two runs a week apart paint the same pixels. + /// That is what makes a beam screenshottable — golden tests, docs + /// captures, design reviews. + /// + /// It reads the timeline from activation, so anything past the 0.6s + /// fade-in is a fully-lit frame. + final Duration? debugFrozenAt; + /// Returns a copy with the given fields replaced. A null argument keeps the /// current value; build a new [BeamPlayback] to clear a field back to /// inherit. @@ -67,6 +109,9 @@ class BeamPlayback { Duration? duration, BeamRepeat? repeat, BeamReducedMotion? reducedMotion, + bool? pauseWhenOffscreen, + Curve? fadeCurve, + Duration? debugFrozenAt, }) => BeamPlayback( active: active ?? this.active, autoPlay: autoPlay ?? this.autoPlay, @@ -74,6 +119,9 @@ class BeamPlayback { duration: duration ?? this.duration, repeat: repeat ?? this.repeat, reducedMotion: reducedMotion ?? this.reducedMotion, + pauseWhenOffscreen: pauseWhenOffscreen ?? this.pauseWhenOffscreen, + fadeCurve: fadeCurve ?? this.fadeCurve, + debugFrozenAt: debugFrozenAt ?? this.debugFrozenAt, ); /// Layers [other] over this playback: every non-null field of [other] wins, @@ -87,6 +135,9 @@ class BeamPlayback { duration: other.duration, repeat: other.repeat, reducedMotion: other.reducedMotion, + pauseWhenOffscreen: other.pauseWhenOffscreen, + fadeCurve: other.fadeCurve, + debugFrozenAt: other.debugFrozenAt, ); @override @@ -98,7 +149,10 @@ class BeamPlayback { other.startAfter == startAfter && other.duration == duration && other.repeat == repeat && - other.reducedMotion == reducedMotion; + other.reducedMotion == reducedMotion && + other.pauseWhenOffscreen == pauseWhenOffscreen && + other.fadeCurve == fadeCurve && + other.debugFrozenAt == debugFrozenAt; @override int get hashCode => Object.hash( @@ -108,6 +162,9 @@ class BeamPlayback { duration, repeat, reducedMotion, + pauseWhenOffscreen, + fadeCurve, + debugFrozenAt, ); @override @@ -119,6 +176,9 @@ class BeamPlayback { if (duration != null) 'duration: $duration', if (repeat != null) 'repeat: $repeat', if (reducedMotion != null) 'reducedMotion: $reducedMotion', + if (pauseWhenOffscreen != null) 'pauseWhenOffscreen: $pauseWhenOffscreen', + if (fadeCurve != null) 'fadeCurve: $fadeCurve', + if (debugFrozenAt != null) 'debugFrozenAt: $debugFrozenAt', ]; return 'BeamPlayback(${fields.join(', ')})'; } diff --git a/lib/src/models/beam_style.dart b/lib/src/models/beam_style.dart index f065c0a..d66e4a1 100644 --- a/lib/src/models/beam_style.dart +++ b/lib/src/models/beam_style.dart @@ -1,5 +1,6 @@ import 'package:flutter/foundation.dart'; +import '../constants/pulse_constants.dart'; import 'beam_colors.dart'; import 'beam_options.dart'; import 'beam_theme.dart'; @@ -46,9 +47,44 @@ class BeamStyle { this.comet, this.sparkle, this.segments, + this.innerSizeScale, + this.renderScale, + this.pulseOutsideTuning, this.themeConfig, }); + /// The pulse-outside look as the React library ships it, before the demo + /// page's tuning. + /// + /// `BorderBeam.pulseOutside` paints the tuned demo recipe by default — the + /// look beam.jakubantalik.com is known for. This style rolls every part of + /// that tuning back: the prominence boost and the glow multiplier through + /// the hooks that carry them ([glowBoost], the three opacity factors, and + /// [glowBrightness]/[glowSaturation]), and the glow's insets, blurs, and + /// size-derived unit through [pulseOutsideTuning]. + /// + /// The result is a tighter, dimmer halo that sits closer to the child. + /// + /// ```dart + /// BorderBeam.pulseOutside( + /// style: BeamStyle.pulseOutsideStock, + /// child: card, + /// ) + /// ``` + /// + /// Layer your own fields over it with [copyWith] or [merge]; anything you + /// set wins, so `BeamStyle.pulseOutsideStock.copyWith(glowBoost: 1.4)` + /// keeps the stock geometry and pushes the blobs back out. + static const BeamStyle pulseOutsideStock = BeamStyle( + strokeOpacityFactor: 1 / pulseOuterTunedGlowMultiplier, + innerOpacityFactor: 1 / pulseOuterTunedGlowMultiplier, + bloomOpacityFactor: 1 / pulseOuterTunedGlowMultiplier, + glowBoost: 1 / pulseOuterTunedBoost, + glowBrightness: pulseOuterGlowBrightness, + glowSaturation: pulseOuterGlowSaturation, + pulseOutsideTuning: BeamPulseOutsideTuning.stock, + ); + /// Color scheme: a preset, [BeamColors.custom], or [BeamColors.spec]. /// Defaults to [BeamColors.colorful]. final BeamColors? colors; @@ -133,6 +169,37 @@ class BeamStyle { /// contour. Null (the default) keeps the ring solid. final int? segments; + /// Multiplier on the size of the pulse-inside inner wash — its blobs and + /// its corner accents. Default 1. + /// + /// Below 1 the wash pulls tighter to the border, leaving more of the child + /// clear; above 1 it floods further in. The perimeter ring and the bloom + /// keep their own geometry, so the border itself does not move. + /// + /// Only `BeamVariant.pulseInside` paints that layer; every other variant + /// ignores this. + final double? innerSizeScale; + + /// The fraction of the box the beam is *painted* at before being scaled + /// back up to fill it, 0.25–1 (clamped). Default 1 — no rescaling. + /// + /// The palettes are authored against a 350×140 card, so on a + /// screen-width box the blobs read as small and sparse. Painting at, say, + /// `0.5` and magnifying restores the proportions the palette was drawn + /// for: the glow, its blurs, and the corner radii all grow together, so + /// the beam reads the same at any size. + /// + /// It costs nothing — one canvas transform, no extra layer — but it is a + /// magnification, so the ring's own edge softens as the factor drops. + final double? renderScale; + + /// Which pulse-outside glow geometry to paint: the demo recipe (the + /// default) or the source's stock table. + /// + /// [BeamStyle.pulseOutsideStock] is the whole stock look; this field alone + /// changes only the insets and blurs. + final BeamPulseOutsideTuning? pulseOutsideTuning; + /// Replaces the whole variant×brightness preset (layer opacities, inset /// shadow, and the default brightness/saturation) with your own. /// @@ -165,6 +232,9 @@ class BeamStyle { bool? comet, double? sparkle, int? segments, + double? innerSizeScale, + double? renderScale, + BeamPulseOutsideTuning? pulseOutsideTuning, BeamThemeConfig? themeConfig, }) => BeamStyle( colors: colors ?? this.colors, @@ -189,6 +259,9 @@ class BeamStyle { comet: comet ?? this.comet, sparkle: sparkle ?? this.sparkle, segments: segments ?? this.segments, + innerSizeScale: innerSizeScale ?? this.innerSizeScale, + renderScale: renderScale ?? this.renderScale, + pulseOutsideTuning: pulseOutsideTuning ?? this.pulseOutsideTuning, themeConfig: themeConfig ?? this.themeConfig, ); @@ -219,6 +292,9 @@ class BeamStyle { comet: other.comet, sparkle: other.sparkle, segments: other.segments, + innerSizeScale: other.innerSizeScale, + renderScale: other.renderScale, + pulseOutsideTuning: other.pulseOutsideTuning, themeConfig: other.themeConfig, ); @@ -248,6 +324,9 @@ class BeamStyle { other.comet == comet && other.sparkle == sparkle && other.segments == segments && + other.innerSizeScale == innerSizeScale && + other.renderScale == renderScale && + other.pulseOutsideTuning == pulseOutsideTuning && other.themeConfig == themeConfig; @override @@ -274,6 +353,9 @@ class BeamStyle { comet, sparkle, segments, + innerSizeScale, + renderScale, + pulseOutsideTuning, themeConfig, ]); @@ -303,6 +385,9 @@ class BeamStyle { if (comet != null) 'comet: $comet', if (sparkle != null) 'sparkle: $sparkle', if (segments != null) 'segments: $segments', + if (innerSizeScale != null) 'innerSizeScale: $innerSizeScale', + if (renderScale != null) 'renderScale: $renderScale', + if (pulseOutsideTuning != null) 'pulseOutsideTuning: $pulseOutsideTuning', if (themeConfig != null) 'themeConfig: $themeConfig', ]; return 'BeamStyle(${fields.join(', ')})'; diff --git a/lib/src/painting/beam_painter.dart b/lib/src/painting/beam_painter.dart index 61e06a4..9dfb212 100644 --- a/lib/src/painting/beam_painter.dart +++ b/lib/src/painting/beam_painter.dart @@ -34,6 +34,7 @@ class BeamPainter extends CustomPainter with Diagnosticable { required this.staticMode, this.progress, this.strength, + this.frozenAt, }) : super(repaint: Listenable.merge([clock, ?progress, ?strength])); /// The time source; also the repaint trigger. @@ -68,11 +69,35 @@ class BeamPainter extends CustomPainter with Diagnosticable { /// ignores it along with the rest of the clock. final ValueListenable? strength; + /// The timeline position every frame is sampled at, or null to follow the + /// clock. + /// + /// `BeamPlayback.debugFrozenAt`: the beam paints that one instant at full + /// fade forever, which is what makes a screenshot of it reproducible. It + /// lives on the painter rather than on the config because it changes no + /// painted value — only which moment of the timeline is read — so a config + /// cached across a freeze is still the right config. + final Duration? frozenAt; + + // The config the strategies actually paint with: at renderScale 1 it is + // the config itself, and below that the same beam re-authored for the + // smaller box the canvas transform magnifies back up. + late final BeamConfig _paintConfig = config.renderScale >= 1 + ? config + : config.scaledBy(config.renderScale); + @override void paint(Canvas canvas, Size size) { final driven = progress?.value; final BeamFramePhases phases; - if (staticMode) { + final frozen = frozenAt; + if (frozen != null) { + phases = resolver.sample( + frozen.inMicroseconds / Duration.microsecondsPerSecond, + 1, + progress: driven, + ); + } else if (staticMode) { phases = resolver.staticFrame(progress: driven); } else { if (!clock.isVisible) return; @@ -86,10 +111,36 @@ class BeamPainter extends CustomPainter with Diagnosticable { progress: driven, ); } + final scale = config.renderScale; + if (scale >= 1) { + _paintPass(canvas, size, config, phases); + return; + } + // One transform, no layer: the beam is drawn into a box `scale` the size + // of the real one and magnified back about the origin, so it lands + // exactly on the box's bounds. Blur sigmas ride the canvas, so they grow + // with everything else. + canvas.save(); + canvas.scale(1 / scale); + _paintPass( + canvas, + Size(size.width * scale, size.height * scale), + _paintConfig, + phases, + ); + canvas.restore(); + } + + void _paintPass( + Canvas canvas, + Size size, + BeamConfig painted, + BeamFramePhases phases, + ) { if (behind) { - strategy.paintBehind(canvas, size, config, phases); + strategy.paintBehind(canvas, size, painted, phases); } else { - strategy.paintAbove(canvas, size, config, phases); + strategy.paintAbove(canvas, size, painted, phases); } } @@ -101,7 +152,8 @@ class BeamPainter extends CustomPainter with Diagnosticable { oldDelegate.staticMode != staticMode || oldDelegate.clock != clock || oldDelegate.progress != progress || - oldDelegate.strength != strength; + oldDelegate.strength != strength || + oldDelegate.frozenAt != frozenAt; @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { @@ -116,6 +168,9 @@ class BeamPainter extends CustomPainter with Diagnosticable { ..add(DoubleProperty('fadeOpacity', clock.fadeOpacity)) ..add(DoubleProperty('boost', clock.boost, defaultValue: 1.0)) ..add(DoubleProperty('progress', progress?.value, defaultValue: null)) - ..add(DoubleProperty('strength', strength?.value, defaultValue: null)); + ..add(DoubleProperty('strength', strength?.value, defaultValue: null)) + ..add( + DiagnosticsProperty('frozenAt', frozenAt, defaultValue: null), + ); } } diff --git a/lib/src/painting/strategies/pulse_inner_strategy.dart b/lib/src/painting/strategies/pulse_inner_strategy.dart index b871849..5f217eb 100644 --- a/lib/src/painting/strategies/pulse_inner_strategy.dart +++ b/lib/src/painting/strategies/pulse_inner_strategy.dart @@ -52,6 +52,10 @@ class PulseInnerStrategy extends BeamVariantStrategy { final boost = config.glowBoost; final border = config.palette.data.border; + // The inward wash — its blobs and its corner accents — is the one layer + // innerSizeScale moves; the perimeter ring and the bloom keep their own + // geometry so the border itself stays where it is. + final innerScale = config.innerSizeScale; // ── z1: inner perimeter + corner accents (::before) ── final innerOpacity = BeamLayerUtils.layerOpacity( @@ -75,8 +79,8 @@ class PulseInnerStrategy extends BeamVariantStrategy { rect: rect, color: blob.color, fractionalPos: blob.position, - w: pulseInnerSizes[i].width, - h: pulseInnerSizes[i].height, + w: pulseInnerSizes[i].width * innerScale, + h: pulseInnerSizes[i].height * innerScale, region: map.region, quad: map.quad, pulse: phases.pulse, @@ -103,8 +107,8 @@ class PulseInnerStrategy extends BeamVariantStrategy { BeamLayerUtils.paintRadial( canvas, center: corner.pos, - radiusX: pulseInnerCornerRadius, - radiusY: pulseInnerCornerRadius, + radiusX: pulseInnerCornerRadius * innerScale, + radiusY: pulseInnerCornerRadius * innerScale, colors: [ fold(cornerBase.withValues(alpha: a)), fold(cornerBase.withValues(alpha: 0)), diff --git a/lib/src/painting/strategies/pulse_outer_strategy.dart b/lib/src/painting/strategies/pulse_outer_strategy.dart index 855092a..279404a 100644 --- a/lib/src/painting/strategies/pulse_outer_strategy.dart +++ b/lib/src/painting/strategies/pulse_outer_strategy.dart @@ -6,6 +6,7 @@ import '../../constants/pulse_params.dart'; import '../../constants/pulse_tables.dart'; import '../../models/beam_blob.dart'; import '../../models/beam_config.dart'; +import '../../models/beam_options.dart'; import '../../models/beam_variant.dart'; import '../color_matrix.dart'; import '../gradient_builders.dart'; @@ -15,6 +16,41 @@ import 'pulse_common.dart'; const Color _white = Color(0xFFFFFFFF); +// ─── Verbatim: the source's stock outside-glow table ──────────────────────── +// +// The React library's own `outsideConstants`, before the demo page layers +// its tuned recipe over them (that recipe lives in `pulse_constants.dart`). +// These are absolute px: the stock look does not scale its reach or its blur +// with the element's size, which is exactly what BeamPulseOutsideTuning.stock +// selects. + +/// Stock inset the core glow is grown past the child's bounds. +const double _stockCoreInset = 10; + +/// Stock inset the bloom halo is grown past the child's bounds. +const double _stockBloomInset = 30; + +/// Stock core-glow blur on a dark background. +const double _stockCoreBlurDark = 3; + +/// Stock core-glow blur on a light background. +const double _stockCoreBlurLight = 6; + +/// Stock bloom-halo blur on a dark background. +const double _stockBloomBlurDark = 22.5; + +/// Stock bloom-halo blur on a light background. +const double _stockBloomBlurLight = 15; + +/// How far the two outward glow layers reach past the child, and how heavily +/// each is blurred, in the beam's own px. +typedef _GlowGeometry = ({ + double coreInset, + double bloomInset, + double coreBlur, + double bloomBlur, +}); + /// The outward-blooming breathing halo (React `pulse-outside`): a crisp /// stroke ring above the child, and a colorful core plus soft halo painted /// BEHIND and OUTSIDE the child (which must be opaque so only the outward @@ -41,6 +77,27 @@ class PulseOuterStrategy extends BeamVariantStrategy { double _unit(Size size) => _sx(size) / pulseOuterMinScale * pulseOuterGlowUnitDamping; + // The demo recipe scales every length by the size-derived unit; the stock + // table is fixed px and picks its blurs by brightness. + _GlowGeometry _geometry(BeamConfig config, Size size) { + if (config.pulseOutsideTuning == BeamPulseOutsideTuning.stock) { + final isDark = config.brightness == Brightness.dark; + return ( + coreInset: _stockCoreInset, + bloomInset: _stockBloomInset, + coreBlur: isDark ? _stockCoreBlurDark : _stockCoreBlurLight, + bloomBlur: isDark ? _stockBloomBlurDark : _stockBloomBlurLight, + ); + } + final unit = _unit(size); + return ( + coreInset: pulseOuterTunedCoreInset * unit, + bloomInset: pulseOuterTunedBloomInset * unit, + coreBlur: pulseOuterTunedCoreBlur * unit, + bloomBlur: pulseOuterTunedBloomBlur * unit, + ); + } + BeamColorMatrix _matrix( BeamConfig config, BeamFramePhases phases, { @@ -68,7 +125,7 @@ class PulseOuterStrategy extends BeamVariantStrategy { ); final sx = _sx(size); final sy = _sy(size); - final unit = _unit(size); + final glow = _geometry(config, size); final boost = config.glowBoost * pulseOuterTunedBoost; final border = config.palette.data.border; @@ -107,10 +164,9 @@ class PulseOuterStrategy extends BeamVariantStrategy { // glowSpread multiplies how far the halo reaches and how soft it is — // its insets and both blurs. final spread = config.glowSpread; - final coreBlur = - (config.coreBlur ?? pulseOuterTunedCoreBlur * unit) * spread; + final coreBlur = (config.coreBlur ?? glow.coreBlur) * spread; if (coreOpacity > 0) { - final coreRect = rect.inflate(pulseOuterTunedCoreInset * unit * spread); + final coreRect = rect.inflate(glow.coreInset * spread); canvas.saveLayer( coreRect.inflate(coreBlur * 3), Paint() @@ -147,10 +203,9 @@ class PulseOuterStrategy extends BeamVariantStrategy { hookFactor: config.bloomOpacityFactor, extra: pulseOuterTunedGlowMultiplier, ); - final bloomBlur = - (config.bloomBlur ?? pulseOuterTunedBloomBlur * unit) * spread; + final bloomBlur = (config.bloomBlur ?? glow.bloomBlur) * spread; if (bloomOpacity > 0) { - final bloomRect = rect.inflate(pulseOuterTunedBloomInset * unit * spread); + final bloomRect = rect.inflate(glow.bloomInset * spread); final frozenAlpha = 1 - params.op * 0.5; canvas.saveLayer( bloomRect.inflate(bloomBlur * 3), diff --git a/lib/src/widgets/beam_decoration.dart b/lib/src/widgets/beam_decoration.dart index 6346b36..0374ba5 100644 --- a/lib/src/widgets/beam_decoration.dart +++ b/lib/src/widgets/beam_decoration.dart @@ -73,7 +73,9 @@ import '../painting/variant_strategy.dart'; /// ticking. It stops only when the decoration is replaced or its render /// object is disposed. /// - **Reduced motion is not observed.** `MediaQuery.disableAnimationsOf` is -/// unreachable, so [BeamPlayback.reducedMotion] has no effect here. +/// unreachable, so [BeamPlayback.reducedMotion] has no effect here. Nor is +/// the enclosing scrollable: there is no `Scrollable.of` to ask, so +/// [BeamPlayback.pauseWhenOffscreen] is inert here too. /// - **[active] is a starting state, not a toggle.** Changing any field /// replaces the decoration, which discards the running painter and builds a /// fresh one — so flipping [active] cuts rather than fading. Animated @@ -233,8 +235,11 @@ class BeamDecoration extends Decoration { class _BeamBoxPainter extends BoxPainter { _BeamBoxPainter(this._decoration, super.onChanged) : _strategy = strategyFor(_decoration.variant) { - _clock = BeamClock(createTicker: Ticker.new, maxFps: _strategy.preferredFps) - ..speed = _decoration._timing.speed ?? 1; + _clock = BeamClock( + createTicker: Ticker.new, + maxFps: _strategy.preferredFps, + fadeCurve: _decoration._playback.fadeCurve, + )..speed = _decoration._timing.speed ?? 1; _schedule(); // Subscribed last, on purpose: createBoxPainter runs *inside* the render // object's paint, where onChanged (markNeedsPaint) is illegal, and @@ -250,6 +255,9 @@ class _BeamBoxPainter extends BoxPainter { Timer? _durationTimer; BeamConfig? _config; + // _config re-authored for renderScale, or _config itself at scale 1 — + // built with the config so a frame never allocates one. + BeamConfig? _painted; BeamPhaseResolver? _resolver; TextDirection? _configDirection; bool _disposed = false; @@ -259,6 +267,8 @@ class _BeamBoxPainter extends BoxPainter { // a controller attaches to a widget's clock, not a painter's. void _schedule() { final playback = _decoration._playback; + // A frozen beam paints one instant forever; its clock never starts. + if (playback.debugFrozenAt != null) return; if (!(playback.autoPlay ?? true) || !(playback.active ?? true)) return; final startAfter = playback.startAfter; if (startAfter == null) { @@ -293,22 +303,39 @@ class _BeamBoxPainter extends BoxPainter { textDirection: textDirection, ); _resolver = BeamPhaseResolver(_config!); + final scale = _config!.renderScale; + _painted = scale >= 1 ? _config : _config!.scaledBy(scale); return _config!; } @override void paint(Canvas canvas, Offset offset, ImageConfiguration configuration) { final size = configuration.size; - if (size == null || size.isEmpty || !_clock.isVisible) return; + if (size == null || size.isEmpty) return; + final frozen = _decoration._playback.debugFrozenAt; + if (frozen == null && !_clock.isVisible) return; final config = _configFor(configuration.textDirection ?? TextDirection.ltr); - final phases = _resolver!.sample(_clock.elapsedSeconds, _clock.fadeOpacity); + final phases = frozen != null + ? _resolver!.sample( + frozen.inMicroseconds / Duration.microsecondsPerSecond, + 1, + ) + : _resolver!.sample(_clock.elapsedSeconds, _clock.fadeOpacity); + // renderScale paints the beam into a smaller box and magnifies it back, + // so a palette authored for a card reads on a screen-sized one. + final scale = config.renderScale; + final painted = _painted!; + final paintedSize = scale >= 1 + ? size + : Size(size.width * scale, size.height * scale); canvas.save(); canvas.translate(offset.dx, offset.dy); + if (scale < 1) canvas.scale(1 / scale); // Both passes land in this one slot; BeamDecoration's docs say which slot // to hand the variant so they land on the right side of the child. _strategy - ..paintBehind(canvas, size, config, phases) - ..paintAbove(canvas, size, config, phases); + ..paintBehind(canvas, paintedSize, painted, phases) + ..paintAbove(canvas, paintedSize, painted, phases); canvas.restore(); } diff --git a/test/golden/goldens/research_pulse_inside_inner_scale_0_6.png b/test/golden/goldens/research_pulse_inside_inner_scale_0_6.png new file mode 100644 index 0000000000000000000000000000000000000000..0f61c20a0c0e6c9c2f62cf951b49b7e62514d6b3 GIT binary patch literal 68278 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 z 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 F{vQ-*nH>NC literal 0 HcmV?d00001 diff --git a/test/golden/goldens/research_pulse_outside_stock_dark.png b/test/golden/goldens/research_pulse_outside_stock_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..794f7fd19d26ed42f276fd27923855af3fcb1bef GIT binary patch literal 173211 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%0A4*SU?>gf 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�qX# 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 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/research_pulse_outside_stock_light.png b/test/golden/goldens/research_pulse_outside_stock_light.png new file mode 100644 index 0000000000000000000000000000000000000000..0a49d53bf346adda571c990165423fc5638de08f GIT binary patch literal 292640 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 NItMvhf5!jzKLEpLxKaQB literal 0 HcmV?d00001 diff --git a/test/golden/goldens/research_rotate_render_scale_0_5.png b/test/golden/goldens/research_rotate_render_scale_0_5.png new file mode 100644 index 0000000000000000000000000000000000000000..8e1245e2c3193a5dd3c9928cee7046afb87a21e7 GIT binary patch literal 139978 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 literal 0 HcmV?d00001 diff --git a/test/golden/research_golden_test.dart b/test/golden/research_golden_test.dart new file mode 100644 index 0000000..6e2a9f7 --- /dev/null +++ b/test/golden/research_golden_test.dart @@ -0,0 +1,140 @@ +@Tags(['golden']) +library; + +import 'package:flutter/material.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// Golden scenes for the options ported from the reference implementations: +/// the stock pulse-outside look, the pulse-inside wash scale, and the +/// render-scale magnification. +/// +/// They share the frozen-clock convention of `beam_golden_test.dart` +/// (colorful palette, t = 1.3s), so each image can be read against the plain +/// frame it varies — `pulse_outside_*_colorful` for the stock pair, +/// `pulse_inside_dark_colorful` for the wash scale, and the large default +/// captured here for the render scale. +/// +/// Regenerate with: +/// flutter test --update-goldens --tags golden +void main() { + Widget scene({ + required Widget beam, + required Brightness brightness, + double width = 350, + double height = 140, + }) { + final isDark = brightness == Brightness.dark; + return MaterialApp( + debugShowCheckedModeBanner: false, + theme: ThemeData(brightness: brightness), + home: ColoredBox( + // The demo backdrops of the source library. + color: isDark ? const Color(0xFF070707) : const Color(0xFFFDFDFD), + child: Center( + child: SizedBox(width: width, height: height, child: beam), + ), + ), + ); + } + + Widget mockSurface(Brightness brightness, {double radius = 16}) => + DecoratedBox( + decoration: BoxDecoration( + color: brightness == Brightness.dark + ? const Color(0xFF1D1D1D) + : const Color(0xFFFFFFFF), + borderRadius: BorderRadius.circular(radius), + border: Border.all( + color: brightness == Brightness.dark + ? const Color(0x14FFFFFF) + : const Color(0x14000000), + ), + ), + ); + + Future capture( + WidgetTester tester, + String name, + Widget beam, { + Brightness brightness = Brightness.dark, + double width = 350, + double height = 140, + }) async { + await tester.pumpWidget( + scene(beam: beam, brightness: brightness, width: width, height: height), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 1300)); + await expectLater( + find.byType(MaterialApp), + matchesGoldenFile('goldens/$name.png'), + ); + } + + // The React library's own pulse-outside defaults: a tighter, dimmer halo + // than the demo recipe every other pulse-outside golden captures. + for (final brightness in Brightness.values) { + final theme = brightness == Brightness.dark ? 'dark' : 'light'; + testWidgets('pulse-outside stock $theme', (tester) async { + await capture( + tester, + 'research_pulse_outside_stock_$theme', + BorderBeam.pulseOutside( + style: BeamStyle.pulseOutsideStock.copyWith( + theme: brightness == Brightness.dark + ? BeamTheme.dark + : BeamTheme.light, + ), + child: mockSurface(brightness), + ), + brightness: brightness, + ); + }); + } + + // The inward wash at 0.6: the same border, less flood. + testWidgets('pulse-inside inner scale 0.6', (tester) async { + await capture( + tester, + 'research_pulse_inside_inner_scale_0_6', + BorderBeam.pulseInside( + style: const BeamStyle(theme: BeamTheme.dark, innerSizeScale: 0.6), + child: mockSurface(Brightness.dark), + ), + ); + }); + + // The render-scale pair, on a box twice the width the palettes were drawn + // for: the default frame is the reference, the scaled one is the same beam + // painted at half size and magnified back. + testWidgets('rotate on a large box', (tester) async { + await capture( + tester, + 'research_rotate_large_default', + BorderBeam.rotate( + borderRadius: 24, + style: const BeamStyle(theme: BeamTheme.dark), + child: mockSurface(Brightness.dark, radius: 24), + ), + width: 700, + height: 280, + ); + }); + + testWidgets('rotate on a large box at render scale 0.5', (tester) async { + await capture( + tester, + 'research_rotate_render_scale_0_5', + BorderBeam.rotate( + // The radius is a box-relative length: scaledBy halves it for the + // small canvas, so it still lands on the child's 24 once magnified. + borderRadius: 24, + style: const BeamStyle(theme: BeamTheme.dark, renderScale: 0.5), + child: mockSurface(Brightness.dark, radius: 24), + ), + width: 700, + height: 280, + ); + }); +} diff --git a/test/models/beam_config_test.dart b/test/models/beam_config_test.dart index 8647500..01b955b 100644 --- a/test/models/beam_config_test.dart +++ b/test/models/beam_config_test.dart @@ -179,6 +179,15 @@ void main() { _resolve(timing: _timing.copyWith(phaseOffset: 0.5)), 'timing.beamCount': () => _resolve(timing: _timing.copyWith(beamCount: 2)), + 'style.innerSizeScale': () => + _resolve(style: _style.copyWith(innerSizeScale: 0.6)), + 'style.renderScale': () => + _resolve(style: _style.copyWith(renderScale: 0.5)), + 'style.pulseOutsideTuning': () => _resolve( + style: _style.copyWith( + pulseOutsideTuning: BeamPulseOutsideTuning.stock, + ), + ), }; for (final MapEntry(key: name, value: mutate) in mutations.entries) { @@ -286,9 +295,28 @@ void main() { expect(config.direction, BeamDirection.forward, reason: '$variant'); expect(config.phaseOffset, 0, reason: '$variant'); expect(config.beamCount, 1, reason: '$variant'); + expect(config.innerSizeScale, 1, reason: '$variant'); + expect(config.renderScale, 1, reason: '$variant'); + expect( + config.pulseOutsideTuning, + BeamPulseOutsideTuning.demo, + reason: '$variant', + ); } }); + test('renderScale is clamped to the 0.25-1 window', () { + BeamConfig withScale(double scale) => BeamConfig.resolve( + variant: BeamVariant.rotate, + palette: BeamColors.colorful.resolve(), + brightness: Brightness.dark, + style: BeamStyle(renderScale: scale), + ); + expect(withScale(0).renderScale, 0.25); + expect(withScale(0.5).renderScale, 0.5); + expect(withScale(3).renderScale, 1); + }); + test('sparkle is clamped to 0-1', () { BeamConfig withSparkle(double sparkle) => BeamConfig.resolve( variant: BeamVariant.rotate, diff --git a/test/models/value_objects_test.dart b/test/models/value_objects_test.dart index 3b738bb..4b99fc3 100644 --- a/test/models/value_objects_test.dart +++ b/test/models/value_objects_test.dart @@ -1,5 +1,6 @@ import 'dart:ui' show Brightness, Path, Rect; +import 'package:flutter/animation.dart'; import 'package:flutter/painting.dart'; import 'package:flutter_border_beam/flutter_border_beam.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -124,6 +125,72 @@ void main() { }); }); + test('the reference-port fields follow the inherit contract', () { + const base = BeamStyle( + innerSizeScale: 0.6, + renderScale: 0.5, + pulseOutsideTuning: BeamPulseOutsideTuning.stock, + ); + final merged = base.merge(const BeamStyle(renderScale: 0.25)); + expect(merged.innerSizeScale, 0.6, reason: 'null inherits'); + expect(merged.renderScale, 0.25, reason: 'argument wins'); + expect(merged.pulseOutsideTuning, BeamPulseOutsideTuning.stock); + + final copy = base.copyWith(innerSizeScale: 1.4); + expect(copy.innerSizeScale, 1.4); + expect(copy.renderScale, 0.5); + expect(copy.pulseOutsideTuning, BeamPulseOutsideTuning.stock); + }); + + test('every reference-port field is part of the value', () { + const base = BeamStyle(); + const variants = [ + BeamStyle(innerSizeScale: 0.6), + BeamStyle(renderScale: 0.5), + BeamStyle(pulseOutsideTuning: BeamPulseOutsideTuning.stock), + ]; + for (final variant in variants) { + expect(variant, isNot(base), reason: '$variant'); + expect(variant.hashCode, isNot(base.hashCode), reason: '$variant'); + } + expect( + const BeamStyle(innerSizeScale: 0.6, renderScale: 0.5), + const BeamStyle(innerSizeScale: 0.6, renderScale: 0.5), + ); + expect( + const BeamStyle(pulseOutsideTuning: BeamPulseOutsideTuning.demo), + isNot(const BeamStyle(pulseOutsideTuning: BeamPulseOutsideTuning.stock)), + ); + }); + + test('toString lists the reference-port fields', () { + expect( + const BeamStyle( + innerSizeScale: 0.6, + renderScale: 0.5, + pulseOutsideTuning: BeamPulseOutsideTuning.stock, + ).toString(), + 'BeamStyle(innerSizeScale: 0.6, renderScale: 0.5, ' + 'pulseOutsideTuning: BeamPulseOutsideTuning.stock)', + ); + }); + + test('pulseOutsideStock cancels the demo tuning it can reach', () { + const stock = BeamStyle.pulseOutsideStock; + expect(stock.pulseOutsideTuning, BeamPulseOutsideTuning.stock); + expect(stock.glowBoost, closeTo(1 / 1.05, 1e-12)); + expect(stock.strokeOpacityFactor, closeTo(1 / 1.71, 1e-12)); + expect(stock.innerOpacityFactor, stock.strokeOpacityFactor); + expect(stock.bloomOpacityFactor, stock.strokeOpacityFactor); + expect(stock.glowBrightness, 1.3); + expect(stock.glowSaturation, 1.2); + expect( + stock.merge(const BeamStyle(glowBrightness: 2)).glowBrightness, + 2, + reason: 'it is a starting point, not a lock', + ); + }); + group('BeamShape', () { test('circular fills all four corners', () { final shape = BeamShape.circular(12, superellipse: true); @@ -422,6 +489,63 @@ void main() { }); }); + test('the playback-only fields follow the inherit contract', () { + const base = BeamPlayback( + pauseWhenOffscreen: false, + fadeCurve: BeamPlayback.cssEase, + debugFrozenAt: Duration(milliseconds: 1300), + ); + final merged = base.merge( + const BeamPlayback(debugFrozenAt: Duration(seconds: 2)), + ); + expect(merged.pauseWhenOffscreen, isFalse, reason: 'null inherits'); + expect(merged.fadeCurve, BeamPlayback.cssEase); + expect(merged.debugFrozenAt, const Duration(seconds: 2)); + + final copy = base.copyWith(active: true); + expect(copy.pauseWhenOffscreen, isFalse); + expect(copy.fadeCurve, BeamPlayback.cssEase); + expect(copy.debugFrozenAt, const Duration(milliseconds: 1300)); + }); + + test('every playback-only field is part of the value', () { + const base = BeamPlayback(); + const variants = [ + BeamPlayback(pauseWhenOffscreen: false), + BeamPlayback(fadeCurve: BeamPlayback.cssEase), + BeamPlayback(debugFrozenAt: Duration(seconds: 1)), + ]; + for (final variant in variants) { + expect(variant, isNot(base), reason: '$variant'); + expect(variant.hashCode, isNot(base.hashCode), reason: '$variant'); + } + expect( + const BeamPlayback(debugFrozenAt: Duration(seconds: 1)), + const BeamPlayback(debugFrozenAt: Duration(seconds: 1)), + ); + expect( + const BeamPlayback(debugFrozenAt: Duration(seconds: 1)), + isNot(const BeamPlayback(debugFrozenAt: Duration(seconds: 2))), + ); + }); + + test('toString lists the playback-only fields', () { + expect( + const BeamPlayback( + pauseWhenOffscreen: false, + debugFrozenAt: Duration(milliseconds: 1300), + ).toString(), + 'BeamPlayback(pauseWhenOffscreen: false, ' + 'debugFrozenAt: 0:00:01.300000)', + ); + }); + + test('cssEase is the web easing, and compares by value', () { + expect(BeamPlayback.cssEase, const Cubic(0.25, 0.1, 0.25, 1)); + expect(BeamPlayback.cssEase.transform(0), 0); + expect(BeamPlayback.cssEase.transform(1), 1); + }); + group('BeamRepeat', () { test('forever carries no cycle count', () { expect(const BeamRepeat.forever().cycles, isNull); diff --git a/test/painting/save_layer_budget_test.dart b/test/painting/save_layer_budget_test.dart index bda89e3..c4e98fe 100644 --- a/test/painting/save_layer_budget_test.dart +++ b/test/painting/save_layer_budget_test.dart @@ -167,6 +167,25 @@ void main() { shape: BeamShape(contour: _blobContour), timing: const BeamTiming(), ), + // renderScale is one canvas transform inside BeamPainter, so a + // strategy frame is the same frame; innerSizeScale only resizes + // blobs a layer already holds; and the stock pulse-outside table + // only moves insets and blur sigmas. + 'renderScale: 0.5': ( + style: const BeamStyle(renderScale: 0.5), + shape: const BeamShape(), + timing: const BeamTiming(), + ), + 'innerSizeScale: 0.6': ( + style: const BeamStyle(innerSizeScale: 0.6), + shape: const BeamShape(), + timing: const BeamTiming(), + ), + 'pulseOutsideStock': ( + style: BeamStyle.pulseOutsideStock, + shape: const BeamShape(), + timing: const BeamTiming(), + ), }; for (final MapEntry(key: label, value: scenario) in scenarios.entries) { diff --git a/test/widget/beam_research_features_test.dart b/test/widget/beam_research_features_test.dart new file mode 100644 index 0000000..269329a --- /dev/null +++ b/test/widget/beam_research_features_test.dart @@ -0,0 +1,623 @@ +import 'dart:ui' as ui; + +import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; +import 'package:flutter/scheduler.dart'; +import 'package:flutter_border_beam/flutter_border_beam.dart'; +import 'package:flutter_border_beam/src/animation/beam_clock.dart'; +import 'package:flutter_border_beam/src/animation/beam_phases.dart'; +import 'package:flutter_border_beam/src/models/beam_config.dart'; +import 'package:flutter_border_beam/src/painting/beam_painter.dart'; +import 'package:flutter_test/flutter_test.dart'; + +/// The options ported from the reference implementations: the stock +/// pulse-outside look, the pulse-inside wash scale, the render-scale +/// magnification, and the three playback fields (offscreen pause, frozen +/// time, fade curve). +/// +/// The pixel assertions are deliberately coarse — presence, absence, and the +/// ordering of totals — so they pin behaviour without pinning the look, which +/// the goldens own. +void main() { + const beamSize = ui.Size(350, 140); + + // ─── BeamStyle.pulseOutsideStock ────────────────────────────────────────── + + group('BeamStyle.pulseOutsideStock', () { + test('rolls the demo tuning back through the hooks that carry it', () { + final config = _config( + BeamVariant.pulseOutside, + style: BeamStyle.pulseOutsideStock, + ); + // Each of these cancels a multiplier the strategy applies: the boost + // (×1.05) and the glow multiplier (×1.71) on all three layer opacities. + expect(config.glowBoost * 1.05, closeTo(1, 1e-12)); + for (final factor in [ + config.strokeOpacityFactor, + config.innerOpacityFactor, + config.bloomOpacityFactor, + ]) { + expect(factor * 1.71, closeTo(1, 1e-12)); + } + expect(config.glowBrightness, 1.3, reason: 'the untuned preset'); + expect(config.glowSaturation, 1.2); + expect(config.pulseOutsideTuning, BeamPulseOutsideTuning.stock); + }); + + test('leaves the blur overrides free for the caller', () { + // The stock blurs differ by brightness (3/6 core, 22.5/15 bloom), which + // one const double cannot say — the tuning flag carries them, and the + // hooks stay null so a caller can still override either. + expect(BeamStyle.pulseOutsideStock.coreBlur, isNull); + expect(BeamStyle.pulseOutsideStock.bloomBlur, isNull); + }); + + for (final brightness in ui.Brightness.values) { + test('$brightness: paints a dimmer glow than the demo recipe', () async { + // The behind-child pass is the whole outward glow; give it room. + const canvas = ui.Size(750, 540); + const origin = ui.Offset(200, 200); + Future<_Pixels> render(BeamStyle style) => _paint( + _config( + BeamVariant.pulseOutside, + style: style, + brightness: brightness, + ), + size: beamSize, + canvas: canvas, + origin: origin, + behind: true, + ); + final demo = await render(const BeamStyle()); + final stock = await render(BeamStyle.pulseOutsideStock); + final all = ui.Offset.zero & canvas; + final stockAlpha = stock.totalAlpha(all); + expect(stockAlpha, greaterThan(0), reason: 'it still glows'); + expect( + stockAlpha, + lessThan(demo.totalAlpha(all)), + reason: 'the demo recipe multiplies every glow layer by 1.71', + ); + }); + + test('$brightness: the tuning flag alone moves the geometry', () async { + // Same opacities on both sides, so only the insets, the blurs, and + // the size unit can account for the difference. + Future<_Pixels> render(BeamPulseOutsideTuning tuning) => _paint( + _config( + BeamVariant.pulseOutside, + style: BeamStyle(pulseOutsideTuning: tuning), + brightness: brightness, + ), + size: beamSize, + canvas: const ui.Size(750, 540), + origin: const ui.Offset(200, 200), + behind: true, + ); + final demo = await render(BeamPulseOutsideTuning.demo); + final stock = await render(BeamPulseOutsideTuning.stock); + expect(stock.bytes, isNot(demo.bytes)); + }); + } + + test('is a value, and layering keeps the stock geometry', () { + expect(BeamStyle.pulseOutsideStock, BeamStyle.pulseOutsideStock); + final louder = BeamStyle.pulseOutsideStock.copyWith(glowBoost: 1.4); + expect(louder.glowBoost, 1.4); + expect(louder.pulseOutsideTuning, BeamPulseOutsideTuning.stock); + expect( + louder.strokeOpacityFactor, + BeamStyle.pulseOutsideStock.strokeOpacityFactor, + ); + }); + }); + + // ─── BeamStyle.innerSizeScale ───────────────────────────────────────────── + + group('innerSizeScale', () { + test('1 paints exactly what leaving it unset paints', () async { + final bare = await _paint(_config(BeamVariant.pulseInside)); + final one = await _paint( + _config( + BeamVariant.pulseInside, + style: const BeamStyle(innerSizeScale: 1), + ), + ); + expect(one.bytes, bare.bytes); + }); + + test('below 1 pulls the inner wash tighter to the border', () async { + final rect = ui.Offset.zero & beamSize; + // The inner wash is the only layer that moves, so read it alone. + Future innerAlpha(double scale) async { + final pixels = await _paint( + _config( + BeamVariant.pulseInside, + style: BeamStyle( + innerSizeScale: scale, + // Silence the ring and the bloom: their geometry is fixed. + strokeOpacityFactor: 0, + bloomOpacityFactor: 0, + ), + ), + ); + return pixels.totalAlpha(rect); + } + + final full = await innerAlpha(1); + final tight = await innerAlpha(0.6); + expect(tight, greaterThan(0), reason: 'the wash is still painted'); + expect(tight, lessThan(full * 0.9)); + }); + + test('only the pulse-inside variant reads it', () async { + for (final variant in BeamVariant.values) { + if (variant == BeamVariant.pulseInside) continue; + final bare = await _paint(_config(variant)); + final scaled = await _paint( + _config(variant, style: const BeamStyle(innerSizeScale: 0.4)), + ); + expect(scaled.bytes, bare.bytes, reason: '$variant'); + } + }); + }); + + // ─── BeamStyle.renderScale ──────────────────────────────────────────────── + + group('renderScale', () { + test('resolves clamped to 0.25-1', () { + double resolved(double value) => _config( + BeamVariant.rotate, + style: BeamStyle(renderScale: value), + ).renderScale; + expect(resolved(0.1), 0.25); + expect(resolved(4), 1); + expect(resolved(0.5), 0.5); + expect(_config(BeamVariant.rotate).renderScale, 1); + }); + + test('scaledBy moves the box-relative lengths and nothing else', () { + final base = _config( + BeamVariant.rotate, + shape: const BeamShape( + radius: BorderRadius.all(Radius.circular(24)), + borderWidth: 2, + ringOffset: 6, + ), + ); + final half = base.scaledBy(0.5); + expect(half.borderRadius, BorderRadius.circular(12)); + expect(half.borderWidth, 1); + expect(half.ringOffset, 3); + expect(half.renderScale, 1, reason: 'the copy has spent the scale'); + expect(half.palette, base.palette); + expect(half.cycleSeconds, base.cycleSeconds); + }); + + testWidgets('1 paints exactly what leaving it unset paints', ( + tester, + ) async { + final bare = await _paintThroughPainter( + tester, + _config(BeamVariant.rotate), + ); + final one = await _paintThroughPainter( + tester, + _config(BeamVariant.rotate, style: const BeamStyle(renderScale: 1)), + ); + expect(one.bytes, bare.bytes); + }); + + testWidgets('below 1 repaints the same box differently', (tester) async { + const large = ui.Size(700, 280); + final full = await _paintThroughPainter( + tester, + _config(BeamVariant.rotate), + size: large, + ); + final scaled = await _paintThroughPainter( + tester, + _config(BeamVariant.rotate, style: const BeamStyle(renderScale: 0.5)), + size: large, + ); + expect(scaled.bytes, isNot(full.bytes)); + expect(scaled.totalAlpha(ui.Offset.zero & large), greaterThan(0)); + }); + + testWidgets('the magnified beam still lands on the box bounds', ( + tester, + ) async { + // The transform is the part that can silently go wrong: scaling about + // anything but the origin slides the whole beam off its box. The + // pulse-inside wash hugs all four edges, so a shifted beam loses one. + const large = ui.Size(700, 280); + final pixels = await _paintThroughPainter( + tester, + _config( + BeamVariant.pulseInside, + style: const BeamStyle(renderScale: 0.5), + ), + size: large, + ); + const probe = 8.0; + final edges = { + 'top': ui.Rect.fromLTWH(0, 0, large.width, probe), + 'bottom': ui.Rect.fromLTWH(0, large.height - probe, large.width, probe), + 'left': ui.Rect.fromLTWH(0, 0, probe, large.height), + 'right': ui.Rect.fromLTWH(large.width - probe, 0, probe, large.height), + }; + for (final MapEntry(key: name, value: band) in edges.entries) { + expect(pixels.totalAlpha(band), greaterThan(0), reason: name); + } + }); + }); + + // ─── BeamPlayback.debugFrozenAt ─────────────────────────────────────────── + + group('debugFrozenAt', () { + testWidgets('never starts the clock', (tester) async { + await tester.pumpWidget( + _app( + const BorderBeam.rotate( + playback: BeamPlayback(debugFrozenAt: Duration(seconds: 2)), + child: SizedBox.expand(), + ), + ), + ); + await tester.pump(const Duration(seconds: 1)); + final painter = _painterOf(tester); + expect(painter.frozenAt, const Duration(seconds: 2)); + expect(painter.clock.isRunning, isFalse); + expect(painter.clock.elapsedSeconds, 0); + expect(tester.binding.transientCallbackCount, 0); + }); + + testWidgets('two frames a wall-clock apart paint the same pixels', ( + tester, + ) async { + await tester.pumpWidget( + _app( + const BorderBeam.rotate( + playback: BeamPlayback(debugFrozenAt: Duration(milliseconds: 1300)), + child: SizedBox.expand(), + ), + ), + ); + final first = await _recordIn(tester, _painterOf(tester), beamSize); + await tester.pump(const Duration(seconds: 4)); + await tester.pump(const Duration(seconds: 7)); + final later = await _recordIn(tester, _painterOf(tester), beamSize); + expect(later.bytes, first.bytes); + expect(first.totalAlpha(ui.Offset.zero & beamSize), greaterThan(0)); + }); + + testWidgets('paints the frame the timeline holds at that instant', ( + tester, + ) async { + const at = Duration(milliseconds: 1300); + final config = _config(BeamVariant.rotate); + late _Pixels expected; + late _Pixels actual; + await tester.runAsync(() async { + expected = await _paint(config, t: 1.3); + final clock = BeamClock(createTicker: Ticker.new); + final painter = BeamPainter( + clock: clock, + config: config, + resolver: BeamPhaseResolver(config), + strategy: strategyFor(config.variant), + behind: false, + staticMode: false, + frozenAt: at, + ); + actual = await _record(painter, beamSize); + clock.dispose(); + }); + expect(actual.bytes, expected.bytes); + }); + }); + + // ─── BeamPlayback.fadeCurve ─────────────────────────────────────────────── + + group('fadeCurve', () { + test('cssEase is the web ease', () { + expect(BeamPlayback.cssEase, const Cubic(0.25, 0.1, 0.25, 1)); + }); + + testWidgets('a curve replaces the spring on the fade-in', (tester) async { + final clock = BeamClock( + createTicker: tester.createTicker, + fadeCurve: BeamPlayback.cssEase, + )..activate(); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 300)); + expect( + clock.fadeOpacity, + closeTo(BeamPlayback.cssEase.transform(0.5), 1e-9), + ); + clock.dispose(); + }); + + testWidgets('and on the fade-out', (tester) async { + final clock = BeamClock( + createTicker: tester.createTicker, + fadeCurve: BeamPlayback.cssEase, + )..activate(); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 700)); + expect(clock.fadeOpacity, 1); + clock.deactivate(); + await tester.pump(const Duration(milliseconds: 250)); + expect( + clock.fadeOpacity, + closeTo(1 - BeamPlayback.cssEase.transform(0.5), 1e-9), + ); + clock.dispose(); + }); + + testWidgets('the default fade is the spring, not the ease', (tester) async { + final clock = BeamClock(createTicker: tester.createTicker)..activate(); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 300)); + final spring = clock.fadeOpacity; + clock.dispose(); + expect(spring, isNot(closeTo(BeamPlayback.cssEase.transform(0.5), 1e-3))); + expect(spring, greaterThan(0)); + expect(spring, lessThanOrEqualTo(1)); + }); + + testWidgets('the widget hands its curve to the clock', (tester) async { + await tester.pumpWidget( + _app( + const BorderBeam.rotate( + playback: BeamPlayback(fadeCurve: BeamPlayback.cssEase), + child: SizedBox.expand(), + ), + ), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 300)); + expect( + _painterOf(tester).clock.fadeOpacity, + closeTo(BeamPlayback.cssEase.transform(0.5), 1e-9), + ); + }); + }); + + // ─── BeamPlayback.pauseWhenOffscreen ────────────────────────────────────── + + group('pauseWhenOffscreen', () { + // cacheExtent keeps rows built well past the 256px margin, so there is + // something offscreen left to pause. + Widget list({bool? pause}) => _app( + ListView.builder( + scrollCacheExtent: const ScrollCacheExtent.pixels(4000), + itemCount: 12, + itemBuilder: (context, index) => SizedBox( + height: 200, + child: BorderBeam.rotate( + key: ValueKey(index), + playback: BeamPlayback(pauseWhenOffscreen: pause), + child: const SizedBox.expand(), + ), + ), + ), + size: const Size(400, 600), + ); + + testWidgets('offscreen rows stop ticking, and start again on return', ( + tester, + ) async { + await tester.pumpWidget(list()); + await tester.pump(); + expect(_clockAt(tester, 0).isRunning, isTrue, reason: 'in view'); + expect(_clockAt(tester, 1).isRunning, isTrue, reason: 'in view'); + expect( + _clockAt(tester, 2).isRunning, + isTrue, + reason: 'inside the 256px margin', + ); + expect(_clockAt(tester, 6).isRunning, isFalse, reason: 'far below'); + expect(_clockAt(tester, 11).isRunning, isFalse); + + // A paused beam keeps its play state and its timeline. + final resting = _clockAt(tester, 6); + expect(resting.isVisible, isTrue); + final held = resting.elapsedSeconds; + + // Not pumpAndSettle: a running beam schedules frames forever, so the + // tree never settles. Two frames are enough — one to land the scroll, + // one to run the post-frame visibility check. + await tester.drag(find.byType(ListView), const Offset(0, -1200)); + await tester.pump(); + await tester.pump(); + + expect(_clockAt(tester, 6).isRunning, isTrue, reason: 'scrolled in'); + expect( + _clockAt(tester, 6).elapsedSeconds, + greaterThanOrEqualTo(held), + reason: 'it resumes rather than restarting', + ); + expect(_clockAt(tester, 0).isRunning, isFalse, reason: 'now far above'); + }); + + testWidgets('false keeps every row running', (tester) async { + await tester.pumpWidget(list(pause: false)); + await tester.pump(); + for (final index in [0, 6, 11]) { + expect(_clockAt(tester, index).isRunning, isTrue, reason: '$index'); + } + }); + + testWidgets('a beam outside any scrollable is never paused', ( + tester, + ) async { + await tester.pumpWidget( + _app(const BorderBeam.rotate(child: SizedBox.expand())), + ); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 100)); + expect(_painterOf(tester).clock.isRunning, isTrue); + }); + + testWidgets('an offscreen beam disposes without leaking its ticker', ( + tester, + ) async { + await tester.pumpWidget(list()); + await tester.pump(); + expect(_clockAt(tester, 11).isRunning, isFalse); + await tester.pumpWidget(_app(const SizedBox.expand())); + await tester.pump(); + expect(tester.binding.transientCallbackCount, 0); + }); + }); +} + +// ─── Harness ──────────────────────────────────────────────────────────────── + +Widget _app(Widget child, {Size size = const Size(350, 140)}) => MaterialApp( + debugShowCheckedModeBanner: false, + home: Center( + child: SizedBox(width: size.width, height: size.height, child: child), + ), +); + +BeamPainter _painterOf(WidgetTester tester) => tester + .widgetList(find.byType(CustomPaint)) + .map((paint) => paint.foregroundPainter) + .whereType() + .first; + +/// The clock of the beam keyed [index]. +/// +/// `skipOffstage: false`: a row parked in the scrollable's cache extent is +/// laid out but never painted, and it is exactly the row this feature is +/// about — the default finders would skip it. +BeamClock _clockAt(WidgetTester tester, int index) => tester + .widgetList( + find.descendant( + of: find.byKey(ValueKey(index), skipOffstage: false), + matching: find.byType(CustomPaint, skipOffstage: false), + ), + ) + .map((paint) => paint.foregroundPainter) + .whereType() + .first + .clock; + +BeamConfig _config( + BeamVariant variant, { + BeamStyle style = const BeamStyle(), + BeamShape shape = const BeamShape(), + ui.Brightness brightness = ui.Brightness.dark, +}) => BeamConfig.resolve( + variant: variant, + palette: (style.colors ?? BeamColors.colorful).resolve(), + brightness: brightness, + style: style, + shape: shape, +); + +/// Renders one strategy frame of [config] and returns its pixels. +Future<_Pixels> _paint( + BeamConfig config, { + double t = 0.9, + ui.Size size = const ui.Size(350, 140), + ui.Size? canvas, + ui.Offset origin = ui.Offset.zero, + bool behind = false, +}) async { + final target = canvas ?? size; + final recorder = ui.PictureRecorder(); + final c = ui.Canvas(recorder); + c.translate(origin.dx, origin.dy); + final frame = BeamPhaseResolver(config).sample(t, 1); + final strategy = strategyFor(config.variant); + if (behind) { + strategy.paintBehind(c, size, config, frame); + } else { + strategy.paintAbove(c, size, config, frame); + } + return _rasterize(recorder, target); +} + +/// Renders one frame through a [BeamPainter], which is where `renderScale` +/// lives — a strategy never sees it. +Future<_Pixels> _paintThroughPainter( + WidgetTester tester, + BeamConfig config, { + ui.Size size = const ui.Size(350, 140), + Duration at = const Duration(milliseconds: 900), +}) async { + late _Pixels pixels; + await tester.runAsync(() async { + final clock = BeamClock(createTicker: Ticker.new); + final painter = BeamPainter( + clock: clock, + config: config, + resolver: BeamPhaseResolver(config), + strategy: strategyFor(config.variant), + behind: false, + staticMode: false, + frozenAt: at, + ); + pixels = await _record(painter, size); + clock.dispose(); + }); + return pixels; +} + +/// [_record], run on the real event loop: `toImage` never completes under a +/// widget test's fake async. +Future<_Pixels> _recordIn( + WidgetTester tester, + BeamPainter painter, + ui.Size size, +) async { + late _Pixels pixels; + await tester.runAsync(() async { + pixels = await _record(painter, size); + }); + return pixels; +} + +Future<_Pixels> _record(BeamPainter painter, ui.Size size) async { + final recorder = ui.PictureRecorder(); + painter.paint(ui.Canvas(recorder), size); + return _rasterize(recorder, size); +} + +Future<_Pixels> _rasterize(ui.PictureRecorder recorder, ui.Size size) async { + final image = await recorder.endRecording().toImage( + size.width.toInt(), + size.height.toInt(), + ); + final bytes = await image.toByteData(format: ui.ImageByteFormat.rawRgba); + image.dispose(); + return _Pixels(bytes!.buffer.asUint8List(), image.width, image.height); +} + +/// The alpha channel of a rendered frame. +class _Pixels { + _Pixels(this.bytes, this.width, this.height); + + final List bytes; + final int width; + final int height; + + double _alphaAt(int x, int y) { + if (x < 0 || y < 0 || x >= width || y >= height) return 0; + return bytes[(y * width + x) * 4 + 3] / 255; + } + + /// Total alpha inside [rect], in whole-pixel units. + double totalAlpha(ui.Rect rect) { + var sum = 0.0; + for (var y = rect.top.round(); y < rect.bottom.round(); y++) { + for (var x = rect.left.round(); x < rect.right.round(); x++) { + sum += _alphaAt(x, y); + } + } + return sum; + } +} From 0f6ce81b24cc5d23313fb8f96273678626310273 Mon Sep 17 00:00:00 2001 From: Rehmat Singh Gill Date: Tue, 1 Sep 2026 17:32:11 -0700 Subject: [PATCH 19/40] docs: rewrite the README, add the doc guides, and complete the changelog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The README documents every public type with a field table (type, default, applicable variants), a compiling sample per concept, shorthand precedence, theming, the controller, driven beams, BeamSync, surfaces and interaction wrappers, accessibility, the measured performance budget, an explicit list of deviations from the original and the upstream version tracked, how the engine works, and an FAQ, under an animated hero pub.dev can render. doc/ holds the deeper guides — variants, palettes, shape, motion, theming, performance, accessibility, parity, architecture — and CLAUDE.md points at them while keeping the hard rules and commands. The Unreleased changelog section states everything this release carries, grouped by area. The pubspec description reflects the package and links the documentation directory. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 298 ++++++++++++--- CLAUDE.md | 35 +- README.md | 695 ++++++++++++++++++++++++++++------- assets/showcase/showcase.gif | Bin 0 -> 2729293 bytes doc/accessibility.md | 82 +++++ doc/architecture.md | 96 +++++ doc/motion.md | 156 ++++++++ doc/palettes.md | 111 ++++++ doc/parity.md | 122 ++++++ doc/performance.md | 72 ++++ doc/shape.md | 141 +++++++ doc/theming.md | 115 ++++++ doc/variants.md | 104 ++++++ pubspec.yaml | 8 +- 14 files changed, 1839 insertions(+), 196 deletions(-) create mode 100644 assets/showcase/showcase.gif create mode 100644 doc/accessibility.md create mode 100644 doc/architecture.md create mode 100644 doc/motion.md create mode 100644 doc/palettes.md create mode 100644 doc/parity.md create mode 100644 doc/performance.md create mode 100644 doc/shape.md create mode 100644 doc/theming.md create mode 100644 doc/variants.md diff --git a/CHANGELOG.md b/CHANGELOG.md index eb6a38e..42cf6d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,77 +1,213 @@ # Changelog +All notable changes to this package are documented here, following +[Keep a Changelog](https://keepachangelog.com/en/1.1.0/). + ## Unreleased +This release tracks upstream [border-beam](https://github.com/Jakubantalik/Libraries/tree/main/packages/border-beam) +**1.4.0**; the tables in `lib/src/constants/` are transcribed from that +version's `src/styles.ts`, whose spec still declares `1.3.0` as its visual +baseline. See [doc/parity.md](doc/parity.md) for the deviation list and how +the transcription is verified. + ### Added -- `BeamStyle.hueMode` picks the shape of the hue track: `BeamHueMode.pingPong` - swings across ±`hueRange`, `BeamHueMode.continuous` revolves a full 360°. - Traveling variants ping-pong, pulse variants revolve, as before. -- `BeamStyle.tailLength` stretches or shortens the traveling window's tail, - and `BeamStyle.glowSpread` scales how far the bloom and halo layers reach - past the ring. -- `BeamStyle.comet` trails a soft halo outside the ring behind the rotate and - small beams' head; `BeamStyle.sparkle` scatters twinkles at that head, at a - density of 0–1. -- `BeamStyle.segments` breaks the ring into that many evenly spaced dashes; - null keeps it solid. +#### API + +- `BorderBeam` has a public generic constructor taking a `BeamVariant`, so a + variant chosen at runtime needs no switch over the five named ones. +- `BorderBeam.overlay` paints a beam with no child of its own, sized by its + parent — drop it into a `Stack` under a `Positioned.fill` and it traces the + stack's bounds. +- `BorderBeamTheme` supplies `BorderBeamThemeData` defaults to the beams below + it, one slot per value object. `of` walks every enclosing scope, depends on + each, and merges them outside-in, so nested themes compose. +- `BeamThemeConfig` is public, with `copyWith`, value equality, and + `BeamThemeConfig.presetFor(variant, brightness)` to start from a preset. +- `BeamVariant.defaultHuePeriod` and `BeamVariant.defaultBloomHuePeriod` + expose the per-variant hue timings the config resolves against. +- `BorderBeam` and `BeamPainter` implement `debugFillProperties`. + +#### Palettes + +- Seven Flutter-only presets: `aurora`, `neon`, `candy`, `ember`, `ice`, + `gold` (hue pinned, full opacity) and `holographic` (built for pairing with + a fast continuous hue drift). They live in `extra_palettes.dart`, separate + from the transcribed tables. +- `BeamColors.custom` takes a `base` palette to distribute over. +- `BeamColors.fromSeed` derives a glow-safe palette from one brand color in + four harmonies (`analogous`, `complementary`, `triadic`, `monochrome`), + lifting derived colors into a readable lightness/saturation band. +- `BeamColors.fromScheme` builds a palette from a Material `ColorScheme`'s + primary, secondary and tertiary roles, dropping near-duplicates. +- `BeamColors.lerp` blends two color choices per blob; `scaleAlpha` dims every + table entry without touching layer opacity. + +#### Shape + - `BeamShape.all(radius)` is the const path to a uniform radius — it stores the number instead of building a `BorderRadius`, so a theme or a widget can hold one in a `const` expression. It compares equal to `BeamShape.circular(radius)`. - `BeamShape.edge` moves the line variant's beam to any `BeamEdge` (top, - right, bottom, left); `BeamShape.ringOffset` pushes the ring outward or - pulls it inward from the child's bounds. + right, bottom, left). +- `BeamShape.ringOffset` pushes the ring outward or pulls it inward from the + child's bounds. - `BeamShape.contour` takes a `BeamContour` — an arbitrary closed path for the - beam to travel, replacing the rounded rectangle. `BeamPathContour` wraps a - `Path Function(Rect)` with an explicit equality key. + beam to travel, replacing the rounded rectangle, with a true normal offset + for its inner ring. `BeamPathContour` wraps a `Path Function(Rect)` with an + explicit equality key. + +#### Style + +- `BeamStyle.hueMode` picks the shape of the hue track: `BeamHueMode.pingPong` + swings across ±`hueRange`, `BeamHueMode.continuous` revolves a full 360°. + Traveling variants ping-pong and pulse variants revolve by default. +- `BeamStyle.tailLength` scales the traveling window about its head, and + `BeamStyle.glowSpread` scales how far the bloom and halo layers reach past + the ring. +- `BeamStyle.comet` re-aims the bloom into a halo trailing the rotate and + small beams' head outside the ring; `BeamStyle.sparkle` scatters + deterministic twinkles at that head, at a density of 0–1. +- `BeamStyle.segments` breaks the ring into that many evenly spaced dashes + through a feathered conic mask; null keeps it solid. +- `BeamStyle.innerSizeScale` scales pulse-inside's inner wash: below 1 it + pulls tighter to the border, above 1 it floods further in. The perimeter + ring and the bloom keep their own geometry. +- `BeamStyle.renderScale` (0.25–1) paints the beam at that fraction of the box + and magnifies it back, so a palette authored against a 350×140 card still + reads on a screen-width one. One canvas transform, no extra layer. +- `BeamStyle.pulseOutsideStock` is a ready-made style carrying the upstream + library's stock pulse-outside look — a tighter, dimmer halo — next to this + package's default, which bakes the tuning the original's demo page applies. + `BeamStyle.pulseOutsideTuning` (`BeamPulseOutsideTuning.demo` / `.stock`) + switches the glow geometry alone. + +#### Motion + +- `BeamTiming.cycleGap` rests the traveling beam between sweeps. - `BeamTiming.direction` runs the beam forward, reversed, or alternating each - cycle (`BeamDirection`); `BeamTiming.phaseOffset` starts the timeline part - way through a cycle; `BeamTiming.beamCount` sends several beams around the - contour at once, equally spaced. + cycle (`BeamDirection`); reversed sweeps mirror the asymmetric stop tables + at runtime, so the soft tail still trails the head. +- `BeamTiming.phaseOffset` starts the timeline part way through a cycle. +- `BeamTiming.beamCount` sends several beams around the contour at once, + equally spaced — tiled into one sweep shader for rotate, one traveller per + band for line. +- `BeamTiming.huePeriod`, `bloomHuePeriod`, `breatheFactor`, `spikeFactor`, + and `spike2Factor` expose the timings that were fixed in the phase resolver. +- `BorderBeam.progress` drives the sweep from a value instead of the clock, + turning `rotate` into a progress ring and `line` into a progress bar, with + the clock still running underneath. +- `BorderBeam.follow` eases the sweep toward a normalized point in the box — + critically damped, ~150ms — and hands it back to the clock without a snap. +- `BorderBeam.strengthListenable` and `BorderBeam.speedListenable` drive layer + opacity and playback rate per frame without rebuilding. +- `BeamSync` runs every descendant beam off one shared clock: one ticker, one + timeline, identical phases, with `active` and `speed` on the group. + +#### Playback + - `BeamPlayback.repeat` stops the beam after a set number of cycles - (`BeamRepeat.forever()`, `.once()`, `.count(n)`). + (`BeamRepeat.forever()`, `.once()`, `.count(n)`), fading out and firing + `onDeactivate` rather than cutting mid-sweep. - `BeamPlayback.reducedMotion` chooses what happens under - `MediaQuery.disableAnimations`: `staticFrame` (the default), `hide`, `slow` - (quarter speed), or `animate` to ignore the request. -- `BeamVariant.defaultHuePeriod` and `BeamVariant.defaultBloomHuePeriod` - expose the per-variant hue timings the config resolves against. + `MediaQuery.disableAnimations`: `staticFrame` (the default), `hide` (no + painter, no ticks), `slow` (quarter speed), or `animate` to ignore the ask. +- `BeamPlayback.pauseWhenOffscreen` (default true) stops the clock while the + beam is more than 256px outside its nearest enclosing `Scrollable`, and + resumes it exactly where it left off — play state, fade, and callbacks + untouched. It does nothing when there is no enclosing scrollable. +- `BeamPlayback.fadeCurve` sets the easing both fade envelopes run on; + `BeamPlayback.cssEase` is the web's `cubic-bezier(0.25, 0.1, 0.25, 1)`. +- `BeamPlayback.debugFrozenAt` pins the beam to one instant of its timeline, + at full opacity, and never starts its clock — deterministic frames for + goldens, docs captures, and design reviews. +- `BorderBeamController.pulse()` and `flash()` are one-shot brightness accents + that ride the fade envelope without touching the timeline. + +#### Widgets + +- `BeamDecoration` paints a beam as a `Decoration`, for dropping into an + existing `Container` or `DecoratedBox` — `foregroundDecoration` for the + variants `BorderBeam` paints over its child, `decoration` for + `pulseOutside`. It takes `brightness` and a `BorderBeamThemeData` as + arguments, since a `BoxPainter` has no `BuildContext`. +- `BeamFocusRing` lights while the wrapped subtree, or a given `FocusNode`, + holds focus, honoring `FocusManager.highlightMode`. +- `BeamHover` lights on hover and steers the sweep to the cursor through + `BorderBeam.follow`, with a hold after exit. +- `BeamPress` lights while a finger is down, with a minimum duration, and + never takes a gesture from its child. ### Changed +#### Naming & repository + - The package is named `flutter_border_beam`; the barrel is - `package:flutter_border_beam/flutter_border_beam.dart`. -- The canonical repository is https://github.com/SimplifyJobs/flutter_border_beam. + `package:flutter_border_beam/flutter_border_beam.dart`. The pub.dev name + `border_beam` belongs to an unrelated package. +- The canonical repository is , + which `repository`, `issue_tracker`, and `homepage` now point at. +- `LICENSE` leads with the canonical MIT header so GitHub detects it, with the + border-beam third-party notice preserved below. +- The pubspec gains a `screenshots:` section backed by PNGs shipped in + `screenshots/`; `assets/` stays pub-ignored. + +#### API + - `BorderBeam` takes four value objects instead of a flat parameter list: `BeamStyle` (colors, theme, filters, layer-opacity hooks, and a `themeConfig` that replaces the whole variant×brightness preset), - `BeamShape` (per-corner radius, border width, superellipse), `BeamTiming` - (cycle, rest, speed, hue periods, line track factors), and `BeamPlayback` - (active, autoPlay, startAfter, duration, reduced motion). Every field is - nullable and means *inherit*; `controller`, `onActivate`, and `onDeactivate` - stay flat on the widget. + `BeamShape` (per-corner radius, border width, superellipse, edge, ring + offset, contour), `BeamTiming` (cycle, rest, speed, direction, hue periods, + line track factors), and `BeamPlayback` (active, autoPlay, startAfter, + duration, repeat, reduced motion). Every field is nullable and means + *inherit*; `controller`, `onActivate`, and `onDeactivate` stay flat on the + widget. - `colors`, `active`, and `borderRadius` remain on the widget as shorthands for `style.colors`, `playback.active`, and a uniform `shape.radius`; a non-null shorthand wins over the same field in its object. -- `BorderBeam` has a public generic constructor taking a `BeamVariant`, so a - variant chosen at runtime no longer needs a switch over the five named ones. -- `BorderBeamTheme` supplies `BorderBeamThemeData` defaults to the beams below - it. Resolution order is widget → theme → variant preset, and nested themes - merge inner over outer. +- Field resolution is one order throughout: flat shorthand, then the value + object on the widget, then `BorderBeamTheme` (inner over outer), then the + variant preset. + +#### Shape + - Shapes are per-corner: `BeamShape.radius` is a `BorderRadiusGeometry` resolved against the ambient `Directionality`, clamped per corner the way `RRect.scaleRadii` clamps. `BeamShape.circular(r)` and `BeamShape.stadium()` - cover the uniform and pill cases; a stadium rounds to half the shortest side, - so a square box comes out a circle. + cover the uniform and pill cases; a stadium rounds to half the shortest + side, so a square box comes out a circle. + +#### Motion + - `BeamTiming.cycleGap` rests the traveling beam between sweeps: the sweep still takes `cycle`, then the beam parks at the end of its travel while its fade envelope eases out and back in over `min(0.25s, gap / 2)` at each end. - The pulse variants ignore it. `BeamTiming.speed` sets the playback rate when - no controller is attached; `huePeriod`, `bloomHuePeriod`, `breatheFactor`, - `spikeFactor`, and `spike2Factor` expose the timings that were fixed in the - phase resolver. -- `BeamThemeConfig` is public, with `copyWith`, value equality, and - `BeamThemeConfig.presetFor(variant, brightness)` to start from a preset. + The pulse variants ignore it. Hue, breathe, and spike tracks keep running + through the gap. +- `BeamTiming.speed` sets the playback rate when no controller is attached, + and leaves the config-cache key entirely — a rate change no longer + re-resolves the config or rebuilds the phase resolver. + +#### Palettes + +- `BeamColors`, `BeamPalette`, `BeamPresetData`, `BeamBlob`, and `LineBlob` + are value types that compare structurally, and `resolve()` memoizes by value + through a bounded LRU, so equal color choices share one `BeamPalette` and a + palette rebuilt inline in `build()` hits the widget's config cache instead + of re-deriving nine gradient tables. +- `BeamBlob` and `LineBlob` sizes are documented as the ellipse **radii** every + painter already treats them as. + +#### Engine + +- The transcribed rotate stop tables, line geometry, and pulse constants moved + into `lib/src/constants/`, with rendering unchanged. +- Every new style and shape option folds into layers each variant already + composites, so the per-variant `saveLayer` budget holds under any + combination. ### Removed @@ -79,12 +215,80 @@ `BeamPlayback.reducedMotion`; `reducedMotion: BeamReducedMotion.animate` is what `respectReducedMotion: false` used to say. - The `sprung` dependency. The fade envelope is eased by the in-package - `FadeSpringCurve` (mass 1, stiffness 180, damping 20 — the same spring), - so the package depends on the Flutter SDK alone. + `FadeSpringCurve` (mass 1, stiffness 180, damping 20 — the same spring, + reproduced bit-for-bit with a linear end correction so t=1 lands on 1), so + the package depends on the Flutter SDK alone. +- The example app's boilerplate and its unused `cupertino_icons` dependency. + +### Fixed + +- A beam laid out thinner than twice its border width no longer asserts in + `RRect` construction: `BeamRingGeometry` returns empty contours for empty or + inverted rects, floors corner radii at zero, and paints the whole outer + shape as the ring for sub-2px boxes. +- The reduced-motion static frame keeps the traveling variants' mid-cycle + geometry but no longer samples the hue ping-pong, so it shows the palette's + own colors, as documented. +- Changing `cycle` mid-run rescales the clock so every cycle-derived track + keeps its fraction, while the fixed-period hue tracks are held by a + resolver-side time offset — the beam speeds up or slows down without a snap, + mid-fade included. +- Reduced motion is tracked where its change is delivered: turning it on + pauses the clock, turning it off resumes only a pause it caused (a + controller pause wins) or starts an autoplay beam that never got to run. + `build` no longer mutates the clock. +- `BeamColors.spec` derives its fallback tables directly instead of through a + throwaway custom palette, and the phase resolver resolves `PulseParams` + once. + +### Tooling & CI + +- CI runs five independent jobs: format/analyze/test with coverage to Codecov + (tokenless OIDC) and a publish dry-run on the pinned Flutter the goldens + were rendered with; goldens on macOS with failure diffs uploaded as + artifacts; the declared 3.35.0 lower bound built and tested as a hard gate; + pana with a 20-point floor; and the example app analyzed, tested, and built + for web. +- Pushing a `vX.Y.Z` tag runs `release.yaml`: it checks the tag against the + pubspec and the changelog, re-runs the gate, publishes to pub.dev through + `dart-lang/setup-dart`'s OIDC token, and creates the GitHub Release from + that changelog section. +- The upstream library's machine-readable `spec/beam-spec.json` is vendored at + `test/fixtures/beam-spec.json` (with its provenance in + `test/fixtures/UPSTREAM`), refreshed by `tool/spec/refresh.sh`, and asserted + table by table by `test/constants/spec_parity_test.dart`. + `.github/workflows/upstream_drift.yaml` hashes upstream's `src/styles.ts`, + so a styles change that never reached the spec generator still raises the + alarm. `lib/src/constants/upstream.dart` records the tracked versions and + the source repository in one place. +- Dependabot groups weekly action and pub bumps; `codecov.yml` keeps coverage + informational. +- The example app exposes the whole API in an interactive playground with a + shareable link, and is deployed to GitHub Pages. +- Tests: a counting canvas pins each variant's per-frame `saveLayer` count + (rotate 4, small 3, line 4, pulseInside 4, pulseOutside 3) exactly, with + save/restore balance; lifecycle tests prove no ticker outlives disposal + mid-fade, a variant swap, `TickerMode`, or a controller that outlives its + beam; boundary tests sweep degenerate boxes, radius and width extremes, and + out-of-range parameters; seeded property tests check the phase resolver's + purity, per-cycle periodicity, and field ranges; and the goldens cover every + variant × theme × palette, with a later freeze for the two traveling + variants. + +### Docs + +- The README is rebuilt around a per-concept structure, with a full field + table (default and applicable variants) for each of the four value objects, + and sections for accessibility, performance, upstream parity, and how the + engine works. +- New guides in [`doc/`](doc): variants, palettes, shape, motion, theming, + performance, accessibility, parity, and architecture. +- `CLAUDE.md` keeps the commands and hard rules and points at + [doc/architecture.md](doc/architecture.md) for the module deep-dive. ## 0.1.0 -Initial release — a faithful Flutter port of the [border-beam](https://github.com/Jakubantalik/border-beam) React library (v1.3.0) by Jakub Antalik. +Initial release — a faithful Flutter port of the [border-beam](https://github.com/Jakubantalik/Libraries/tree/main/packages/border-beam) React library by Jakub Antalik. ### Features @@ -99,4 +303,4 @@ Initial release — a faithful Flutter port of the [border-beam](https://github. - **Playback control**: optional `BorderBeamController` (`start` / `stop` / `pause` / `resume` / `seek` / `speed`) with exclusive ownership, or declarative `active` + `autoPlay` / `startAfter` / `duration` scheduling. - **Theming**: dark / light presets per variant, `BeamTheme.auto` follows `Theme.of(context)`. - **Tuning hooks** ported from the source's CSS custom properties: `strength`, `brightness`, `saturation`, `hueRange`, `hueBase`, `staticColors`, layer opacity factors, and pulse glow overrides (`glowBoost`, `coreBlur`, `bloomBlur`, `glowBrightness`, `glowSaturation`). -- **Accessibility & performance**: honors `MediaQuery.disableAnimations`, pauses under `TickerMode`, spring-eased fades (`sprung`), single-`Ticker` engine with a ~30fps cap for pulse variants, `RepaintBoundary`-isolated painting (the child never re-rasterizes), and CPU hue folding to keep `saveLayer` counts at ≤3 per frame. +- **Accessibility & performance**: honors `MediaQuery.disableAnimations`, pauses under `TickerMode`, spring-eased fades (`sprung`), single-`Ticker` engine with a ~30fps cap for pulse variants, `RepaintBoundary`-isolated painting (the child never re-rasterizes), and CPU hue folding to keep `saveLayer` counts low. diff --git a/CLAUDE.md b/CLAUDE.md index e9b87cb..0c4e05d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,8 +1,8 @@ # flutter_border_beam — agent guide Flutter package: animated border beam effects. A faithful port of the -[border-beam](https://github.com/Jakubantalik/border-beam) React library -(v1.3.0, MIT, by Jakub Antalik). +[border-beam](https://github.com/Jakubantalik/Libraries/tree/main/packages/border-beam) +React library (v1.4.0, MIT, by Jakub Antalik). ## Commands @@ -20,21 +20,29 @@ Flutter package: animated border beam effects. A faithful port of the ## Architecture Everything animated is a **pure function of elapsed time** — one `Ticker` per -widget (`BeamClock`), mirroring the React library's single shared rAF loop. -No `AnimationController`s; phases are recomputed from `elapsedSeconds` each -frame. +widget (`BeamClock`), or one per `BeamSync` group, mirroring the React +library's single shared rAF loop. No `AnimationController`s; phases are +recomputed from `elapsedSeconds` each frame. -- `lib/flutter_border_beam.dart` — barrel; ONLY `BorderBeam`, `BorderBeamController`, `BorderBeamTheme`/`BorderBeamThemeData`, `BeamVariant`, `BeamColors`, `BeamBlob`/`LineBlob`, `BeamTheme`, `BeamThemeConfig`, and the four value objects (`BeamStyle`, `BeamShape`, `BeamTiming`, `BeamPlayback`) are public. -- `lib/src/border_beam.dart` — widget: a generic constructor taking a `BeamVariant` plus 5 named ones, three shorthands (`colors`/`active`/`borderRadius`) over the value objects, and scheduling/lifecycle. Controller attached ⇒ it owns playback exclusively (the resolved playback asserts `startAfter`/`duration` are null, and the controller's `speed` replaces `timing.speed`). +Full module deep-dive, the frame pipeline, and the invariants in prose: +**[doc/architecture.md](doc/architecture.md)** — update it when the layout +moves. The map below is the index. + +- `lib/flutter_border_beam.dart` — barrel; ONLY `BorderBeam`, `BorderBeamController`, `BorderBeamTheme`/`BorderBeamThemeData`, `BeamSync`, `BeamVariant`, `BeamColors`/`BeamSeedHarmony`, `BeamBlob`/`LineBlob`, `BeamTheme`, `BeamThemeConfig`, the four value objects (`BeamStyle`, `BeamShape`, `BeamTiming`, `BeamPlayback`), the option types from `beam_options.dart`, and the four widgets (`BeamDecoration`, `BeamFocusRing`, `BeamHover`, `BeamPress`) are public. +- `lib/src/border_beam.dart` — widget: a generic constructor taking a `BeamVariant`, `BorderBeam.overlay`, and 5 named ones; three shorthands (`colors`/`active`/`borderRadius`) over the value objects; the driven inputs (`progress`, `follow`, `strengthListenable`, `speedListenable`); and scheduling/lifecycle. Controller attached ⇒ it owns playback exclusively (the resolved playback asserts `startAfter`/`duration` are null, and the controller's `speed` replaces `timing.speed`). `speed` never reaches `BeamConfig` — it is applied to the clock and deliberately kept out of the config-cache key. - `lib/src/border_beam_theme.dart` — `BorderBeamTheme` (`InheritedWidget`) + `BorderBeamThemeData`. `of` walks every enclosing scope, depends on each, and merges them outside-in so nested themes compose. -- `lib/src/animation/` — `beam_clock.dart` (ticker, speed, pause, spring fades via `spring_curve.dart`, optional fps cap), `oscillator.dart` (pingPong + the 17-oscillator pulse bank), `beam_phases.dart` (per-frame value object + keyframe sampling). -- `lib/src/painting/` — `beam_painter.dart` (one `CustomPainter`, repaint driven by the clock, `behind`/`above` passes), `strategies/` (one per variant family), `ring_geometry.dart` (rrect + `RSuperellipse` ring via `Path.combine` difference), `gradient_builders.dart`, `color_matrix.dart` (hue/brightness/saturation matrices), `layer_utils.dart`. -- `lib/src/constants/` — **verbatim transcriptions** of the React source's tables (`palettes.dart`, `theme_presets.dart`, `pulse_tables.dart`, `pulse_params.dart`, `line_keyframes.dart`). -- `lib/src/models/` — public/internal data types. The four public value objects (`beam_style.dart`, `beam_shape.dart`, `beam_timing.dart`, `beam_playback.dart`) are all-nullable, `const`, with `copyWith`/`merge`/`==`; a null field means *inherit*. `beam_options.dart` holds the small option types those fields take (`BeamHueMode`, `BeamDirection`, `BeamEdge`, `BeamReducedMotion`, `BeamRepeat`, and the `BeamContour`/`BeamPathContour` pair — a contour is a config-cache key, so every implementer overrides `==`/`hashCode`). `BeamConfig.resolve({variant, palette, brightness, style, shape, timing, textDirection})` flattens them into the painter's config and mirrors the React component's computed values (per-variant default durations and radii, the line 13° hue cap, mono forcing static colors); it carries the timing tracks (`gapSeconds`, hue periods, breathe/spike factors) and a per-corner resolved `BorderRadius`, and is value-equal so `BeamPainter.shouldRepaint` compares configs. +- `lib/src/beam_sync.dart` — `BeamSync` + its internal scope: one clock for a whole subtree. The group owns playback; a member's `BorderBeamController` asserts. +- `lib/src/border_beam_controller.dart` — `BorderBeamController`, a `ChangeNotifier` over one clock (`start`/`stop`/`pause`/`resume`/`seek`/`speed`, plus the one-shot `pulse`/`flash` accents). +- `lib/src/animation/` — `beam_clock.dart` (ticker, speed, pause, fade envelopes, optional fps cap, pulse/flash boosts), `spring_curve.dart` (the in-package fade spring: mass 1, stiffness 180, damping 20), `oscillator.dart` (pingPong + the 17-oscillator pulse bank), `beam_phases.dart` (per-frame value object + keyframe sampling). +- `lib/src/painting/` — `beam_painter.dart` (one `CustomPainter`, repaint driven by the clock, `behind`/`above` passes), `variant_strategy.dart` (the strategy interface, incl. `preferredFps`), `strategies/` (`rotate_strategy.dart`, `line_strategy.dart`, `pulse_inner_strategy.dart`, `pulse_outer_strategy.dart`, `pulse_common.dart`), `ring_geometry.dart` (rrect + `RSuperellipse` ring via `Path.combine` difference, contour and ring-offset handling), `gradient_builders.dart`, `color_matrix.dart` (hue/brightness/saturation matrices), `layer_utils.dart`. +- `lib/src/constants/` — **verbatim transcriptions** of the React source's tables (`palettes.dart`, `theme_presets.dart`, `pulse_tables.dart`, `pulse_params.dart`, `pulse_constants.dart`, `line_keyframes.dart`, `line_geometry.dart`, `rotate_stops.dart`), plus `upstream.dart` (internal; the single place `upstreamLibraryVersion` / `upstreamSpecVersion` / `upstreamRepository` live) and `extra_palettes.dart` — the seven Flutter-only presets, which are **not** transcriptions and are safe to edit. `tool/spec/refresh.sh` re-vendors upstream's `spec/beam-spec.json` into `test/fixtures/`; `test/constants/spec_parity_test.dart` asserts every table against it, and `.github/workflows/upstream_drift.yaml` hashes upstream's `src/styles.ts` so a change that never reached the spec generator still raises the alarm. +- `lib/src/models/` — public/internal data types. The four public value objects (`beam_style.dart`, `beam_shape.dart`, `beam_timing.dart`, `beam_playback.dart`) are all-nullable, `const`, with `copyWith`/`merge`/`==`; a null field means *inherit*. `beam_options.dart` holds the small option types those fields take (`BeamHueMode`, `BeamDirection`, `BeamEdge`, `BeamReducedMotion`, `BeamRepeat`, and the `BeamContour`/`BeamPathContour` pair — a contour is a config-cache key, so every implementer overrides `==`/`hashCode`). `beam_colors.dart` is the sealed `BeamColors` hierarchy (preset/custom/seed/scheme/lerp/scaled/spec) with a value-keyed LRU memo; `beam_palette.dart`/`beam_blob.dart` are the resolved tables; `beam_theme.dart`/`beam_theme_config.dart` the brightness selector and per-variant×brightness preset. `BeamConfig.resolve({variant, palette, brightness, style, shape, timing, textDirection})` flattens them into the painter's config and mirrors the React component's computed values (per-variant default durations and radii, the line 13° hue cap, mono forcing static colors); it carries the timing tracks (`gapSeconds`, hue periods, breathe/spike factors) and a per-corner resolved `BorderRadius`, and is value-equal so `BeamPainter.shouldRepaint` compares configs. +- `lib/src/widgets/` — `beam_decoration.dart` (the engine as a `Decoration`; no context, so brightness and `BorderBeamThemeData` are arguments and reduced motion is inert), `beam_focus_ring.dart`, `beam_hover.dart`, `beam_press.dart`. +- **Tests** — `test/models/` (value objects, config resolution, colors, variants), `test/animation/` (clock, spring, oscillators, phases, travel, periods, the seeded property test), `test/painting/` (ring geometry, color matrices, surface features, the saveLayer budget, boundaries, the paint smoke sweep), `test/widget/` (`BorderBeam` itself: lifecycle, updates, shorthands, theming, sync, speed, progress, motion, cycle gap), `test/widgets/` (the four widgets), `test/golden/` (five golden families), `test/constants/` + `test/fixtures/` (the transcription check). ## Hard rules -1. **Never tweak values in `lib/src/constants/`** — they are transcribed 1:1 from `src/styles.ts` of the React source (clone: `git clone https://github.com/Jakubantalik/border-beam /tmp/border-beam-react`). Visual parity depends on them. If a value looks wrong, verify against the source first. +1. **Never tweak values in `lib/src/constants/`** — they are transcribed 1:1 from `src/styles.ts` of the React source (clone: `git clone https://github.com/Jakubantalik/Libraries /tmp/border-beam-upstream`). Visual parity depends on them, and `test/constants/` asserts them against fixtures extracted from that source. If a value looks wrong, verify against the source first. `extra_palettes.dart` is the exception: it holds the Flutter-only presets and is not a transcription. 2. **saveLayer budget — the measured per-variant table.** One frame (`paintBehind` + `paintAbove`) issues: **rotate 4, small 3, line 4, pulseInside 4, pulseOutside 3**. `test/painting/save_layer_budget_test.dart` measures every variant × brightness × palette × time sample through a counting canvas and asserts the count *exactly* (plus save/restore balance), so a regression and an improvement both fail until the table is updated in both places. Each entry is a layer the variant genuinely composites — inner, stroke, bloom, the mask sub-layer where two masks intersect (rotate/line/pulseInside), and pulse-outside's two behind-child glows. Hue/brightness/saturation are folded into gradient colors on the CPU (`BeamColorMatrix.transform`) — never add a saveLayer just to carry a `ColorFilter`; a filter rides on a layer that exists anyway, and blur is the only filter allowed to justify a layer of its own. 3. **CSS↔Flutter mapping conventions** (see `gradient_builders.dart`): CSS conic gradients start at 12 o'clock — `SweepGradient` needs the −90° rotation baked in; CSS `radial-gradient(ellipse W H ...)` sizes are RADII; CSS `filter: blur(Npx)` maps to sigma = N; gradient fades to `color.withValues(alpha: 0)` (never `Color(0x00000000)`, which lerps through black). 4. Layer opacity is a multiplied chain (fade × preset × mono × hook × strength), clamped at paint time — presets legitimately exceed 1 (line/dark stroke = 1.14). @@ -42,7 +50,8 @@ frame. ## Testing conventions -- Golden scenes freeze the fake test clock at t=1.3s (post fade-in, mid-cycle) for every variant × theme × palette; the two traveling variants are captured a second time further along their sweep (`rotate_*_colorful_late` at 2.3s, `line_*_colorful_late` at 2.0s — inside the `beam-edge-fade` plateau, so the beam is at full strength). Regenerating on a different OS will produce diffs — keep goldens macOS-generated. +- Goldens come in five families, one file each: `beam_golden_test.dart` (variant × theme × palette), `palette_golden_test.dart` (the color factories and transforms), `motion_golden_test.dart` (direction, gap, multi-beam, driven progress), `surface_golden_test.dart` (shape: per-corner, stadium, superellipse, ring offset, contours), and `widgets_golden_test.dart` (`BeamDecoration` and the three interaction wrappers). A new scene belongs in the family that names its axis; add a file only for an axis none of them names, never one per feature. +- Golden scenes freeze the fake test clock at t=1.3s (post fade-in, mid-cycle) for every variant × theme × palette; the two traveling variants are captured a second time further along their sweep (`rotate_*_colorful_late` at 2.3s, `line_*_colorful_late` at 2.0s — inside the `beam-edge-fade` plateau, so the beam is at full strength). Regenerating on a different OS or Flutter version will produce diffs — keep goldens macOS-generated on the SDK `ci.yaml` pins. - `test/painting/paint_smoke_test.dart` sweeps every variant×theme×palette×shape for "paints without throwing, produces pixels" — extend it when adding paint paths. - `test/painting/boundary_test.dart` covers degenerate geometry (zero/1px/sliver boxes, radius past the short side, `borderWidth` 0) and out-of-range parameters, and pins `strength: 0` to painting *no* pixels in either pass. - `test/animation/phase_property_test.dart` property-tests `BeamPhaseResolver.sample` over a seeded random sweep: purity, per-cycle periodicity of the cycle-driven tracks only, and the range of every phase field. diff --git a/README.md b/README.md index b7667b7..dd17040 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,19 @@ # flutter_border_beam -Animated border beam effects for Flutter — a traveling or breathing glow around any widget: cards, buttons, inputs, or search bars. +**Animated border beams for Flutter** — a traveling or breathing glow around any widget: cards, buttons, inputs, search bars. -A faithful Flutter port of the [border-beam](https://github.com/Jakubantalik/border-beam) React library by [Jakub Antalik](https://x.com/jakubantalik) ([live demo](https://beam.jakubantalik.com)). Every palette, gradient, mask, blur, and timing curve is transcribed from the original source, so the effects are pixel-matched — with Flutter-native additions on top: superellipse (squircle) borders, custom color palettes, a playback controller, and spring-eased fades. +[![pub package](https://img.shields.io/pub/v/flutter_border_beam)](https://pub.dev/packages/flutter_border_beam) +[![pub points](https://img.shields.io/pub/points/flutter_border_beam)](https://pub.dev/packages/flutter_border_beam/score) +[![CI](https://github.com/SimplifyJobs/flutter_border_beam/actions/workflows/ci.yaml/badge.svg)](https://github.com/SimplifyJobs/flutter_border_beam/actions/workflows/ci.yaml) +[![codecov](https://codecov.io/gh/SimplifyJobs/flutter_border_beam/branch/main/graph/badge.svg)](https://codecov.io/gh/SimplifyJobs/flutter_border_beam) +[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) + +A faithful Flutter port of the [border-beam](https://github.com/Jakubantalik/Libraries/tree/main/packages/border-beam) React library by [Jakub Antalik](https://x.com/jakubantalik) ([live demo](https://beam.jakubantalik.com)). Every palette, gradient, mask, blur, and timing constant is transcribed from the original source, so the effects are pixel-matched — with Flutter-native additions on top. It tracks upstream **border-beam 1.4.0**; see [Parity with the original](#parity-with-the-original). ## Showcase +The five beam variants animating in the example gallery +

    6%~Vx}QwvSCHIi*O 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 z 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 literal 0 HcmV?d00001 diff --git a/test/golden/goldens/rotate_light_colorful_late.png b/test/golden/goldens/rotate_light_colorful_late.png new file mode 100644 index 0000000000000000000000000000000000000000..8307de28ad80f9fc69d34c08da4531906935643d GIT binary patch literal 55164 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 z zr)sbvuJi&T`&9c*bP(d`B@qj`W6JNKMy1!%I#Eaes!~f+q$|sj1QTVj=N9w1mswu-V;Fz38 zj%+|e_*wk?1;@#Q=YxXl45+B;1HttyH--Ph!L2_U#fd82dz>Q)OBjf{>)@E~>evEI zM-zO8_T=i!3)w4m>9u75x8y6RPY_nVBK8a!b=9^3Z;MG}g;$E= zM8nVHHKcoR@?Te4E6P7^U3q)){pOIB|m{b83vB zq0=Kmro-*!_x{R|lN`iD3+?fq#lAr71N1K+j3YNwk5`SfYp}~K+MZQ#CthvHyx8MJ z@qdgb<*Qq^=MD2)fW4hYC(;^>I}_1GPSQ zQ#!dxkv}gf>hp>h0Nl;vuVC#L;bn(9AWVx(4T3hh_tuIRHW4ompA(ITAuTAazRF)af6i1J|q1L9`^EM0O^(&;g zh6s|tErb6Yz^ENLzWZmaZe*wZ&2NQf=*L_ot-kSPlf&A#fBvA}!nr!iGOWDw3ku@p zAWED0Yj7_F3vWt1=L}SSr0Yh_v(R zU=vwEYfhWKr@W8MC`XF2q+y4i<==*L%V7{X(eqHrPA z?5k-~N)*dSkf6iP!Z`ScK|VYWDc&dvY3c+ThF4xRCH9MvK|~~FIdLpItmC3od&031 zU%O*W;w5tHP`WH(E07CQ z8zovILAFe$rjq@*h})q6tpSMTiFGruUB>1kvKePgg)Dvv;+CejEE?2zzdZ!7oT_z0 z6wN4!2{~UR!&T;`Q~ix|Ktn(g?<^{MO#5@)j@4)q2v9sTv2()X?O(aL+1yz(3?x>2 zklEYyZXt{Uvbv_Rl;%8={kumJ>QNhN=bhjDlS!aRj5FF5+7?yxPn#hCO}3P$ zu(XfA_xD&6~9dS zTTHu2A~wciSgN&kkF_{t?t_)f? zZi$9~($2Y_h{UM1NR6WNM)1aDMVmY7lw{fm5|8LexcAaFoe9QYVgZ$A=~mH0j63=r z4Sn%~@}Wix1CquUou2+TT5uKD_&ncz;`af8nUVADB}!yI8h>h29W0hF@l3D=1hZIY ztG>XplD-RL>rVX{*wa1-YWFs|DUf`BTbp~0C^|7h*%DJ6*xf;69&5`?`IC1fd2Z&y zKirza;x8_^=dyR!>!6h)E&S7*rq@g%&Fa=|h_AnG(r6wFgate4>a=yOyDa|quN3saT@lQynrgO!Q+bO`=#nYLq6Dr?!)U+ znxX0lhhTkI=RS)OtR)krqM4m!tQMUMp=CAip`B4;VQ%ue%#Pg2DL)l3)XLD9gzj9(&~Up*;7&DF=>ln|LetXlT{iJgPuZ7px$Fji1Q z6R1b;SWykL90_lM&F^=2>f4F1BcO(3zjZQHuCZ>4Hr0yYDwzSmq8ab*qqQ zeE`<^Ld9lmUOgBlG=6E}F#pj!T0bnxD=gXuXcu08Z^SBc`0kE@bW;(Xx$t8$#D@5j za_s$1D(Ygf=7>Zv^on43^(*ZnTCF^$Ierm0N@iME9WqbSs;+%g?DGQvn()wo zuV{EQ&;sfm|5TWn*f8ky@gWtsb7=|zp-EX=X%OESJ8IMLJBTponx07Po5J#p+1K-( zK$~#qX9DvTU$Cw!7I5#+V+Jc8%Fxn#z(y_ca(`gx!lrCnIt8o zz5?;KPIoE6M7@v5VXXnMy_x{>BX)S9PazGIaX%;%#*QqW1}SRSc)9qko{!Q{OON|G zedvay1R$cMav-%Tdige{)`LHTzrbY%n-1eJw@Y^8w{oF$LOI%VoB3}FM-^tho(0wW zJ-ISzNMqD9=AGrmv}|tlch_%_>{(NY$2EE2AfA2s8yH>w*!?JxzpU_=PD2e(R?CeW zpa;#Jw_)zxsZwFOhf*90m3*@nz9our*C-zZxapBWAt2axkTBjB~t#S|Fh7tWKdlC zHna^f%ORYRT^EKSmPx^D~;} z)ehip03an<@${H`x*D=YwJoqot}@@o#Lj;WU}cUc0TR$kui|uXI{^Af$eQ@guo!x( zhP1;}3f82hK+!;Rz|Eq8O7Y=Q&>hs9qyZU`cA@i${52ot*l{%KIB3l{OT1+s+F43y zm8Db;O+OoCbf}^~51kVJ50H{2M*6o9TasN5z8%Odnen*%$s<7B6JEmB@}!I>A&OaS z2rqpL`T2qJ=f;O%L;Z2kfy?5+YqB4mxkH+UHgwkEP}W5p>YFLx(sB78ls$cc4B|DQ zUERQ-x^Oi4mss0xVjH-*zGYg4yi~Se%h1n~ELY{7q{xfmBAs>QjCpOMRP@6k0m%3} zMRK4RZOd(BrQ1>J+;DIN41^+n57K?#C>wE8BgfM6ep<}KgwipSUf-80CFCQM8Cg=q zQpjO)IK12{rNJ7xG?c4r#;&dsdl*(;4%3}fx--mIr0_Ti`F!3zN;c0%9d$(`EgA^I zbFbBS16%aGFPd+kL+mhClijoeFKKZ-2E-Tr>x*IlMydI=QaGn!yKFzG2(4QlP!$mE znfLRR;W1;h4#F@~1ede;U3>6+RFN2*+A(-gmdCI`;~e?Wa%P^y#_WdqP^*82+rQ!N z`P|ND+Uf)&ppP6I&p@V<-HfkPd;zDu55zLSbYdMvu7MP%p3!*1%MEh|EdB%1)3fWA zjm$zS$#5}Bs$|P~m3{*vvA~j!Kr&gZ1I^w*V2pnX zBrzl0v%WU3^tGEW^gYpbbH8uE?6|A5o&(?`Z9=mKiCQpYIO!t3t^KZIFwDC~1%h-& zwGHHE%zpn=g)+1*u`t#fMJ|-vdA8K@nfnfp>NlAlA-I~flaQ_B%saz9hG@g{&7sUG zr?G9woSgCwk>HsL+UR6U4#gr>6x~hwfugTLR;2@_ig`>Hk1d66=P^}q8|q|_(wXA~ zJLdI;<5Q6`D;$=A*8A>JKSkeZIb}VBKHWt^Lmlm#ju*}~2aYvrbU5sPJNEbOJB{r_ zf`CMvag%f(JP~Ef&JvoC)QdtOA7Y;N5;XHlFB;7|TEZ?0LOUMg`P#Vn!H!~%XWt=( z#Y)_9-j4p>n&|!E7xM7&dkelf`g%PeGWiE;ObBo=&aABr{FvGYlir3t_IQvZyO$n z(=nMRZE)!CzhSQLm4sfX`}#L)E;rSFAAAQ#E=MOORoYxLNZ4F{26k}K-roBjVvyeQ z{l@ZK(z%)i7vDZ;ZCb>)h1F`sOxtPj8*Y5p=mPW1Ph9}gd2Rp8i0{r{mRC<1}S?oMp#y@IXY%X#- zrUDs&HDmBCPY~3q^d?lgCLKV$^yh0Uy4YcS}sGf zpGipQ4rG8{9<$HF|Ezu;I}JY?K8h<$5|w{WER)uL7yR$PRLuw(l9Kw=z&3>@a`8kX zs`@GQzOB89@gbj+hEW?+h5uIs(h7v#cf6c9ejg34<1~}?VwrJ>W#@m*vARQO0DGD^ zW!AVi613nPB4WwX)6vTascz#R8w!<~ul3`)w50`U&+MJsn;Se}R!{KGKHOtV^>;M# z>*|`;Gx}$^Mya~!cztebqMmnC*y^YKZ>{rGT!ft+FQ1jBXd+1=ecl&m1JIk5%6mPq zDp$#3RAp+Z^W(ZBSbshmOf3+7wI>Xn))d#H@-Ul09&omzanPB zsTqrR%+jMc26bA41Q-i?!fFXLg81cWW)b${DjhqG{kL;+H-0bV|J!$W>t@q3z1NPJ ze_V8|^e>fOZ-;3=f1BsL2}J(qcKg(CX^}37RPzkN(&$y`@qMm%J>X1j4xQ{1`3_5+ zubY}%H`aY9pcM*%P9Xtl4wvb_A`S9jaFjD=%hAhKpgv;E*qsZs20$v>0!?tKh3`5` zVM`2U;y6(%AW-2wl0ivS2#zM zg5mGJR=1n1)_BsP%KPv$z2GEKpJKyLAZeduMg3vdY4D4>9aFif!0zM5l3)bEtf9z6 z?$@0|EHSesbM5~xHD51gr2_be#e)T4*p^<~j(&S#{&s0p`hq=2TxWZpga4ICp}Ip7}nw1KDXfs*_3wpKqeEF-Pg1F#5)1iGKjH_D5*wLZR_9&{&Lfj zS^#at?9!r)59xCg^)~wCAOr%Td8;~{W~A;XLW3MC`RK~fC#=%Khfz!_Y3;FT($5E< z%^BZKg2}hQWKff|Nci`CqXAD$g+m=p=i_+6uyX|qn`g{3rVrsuh<)D){Clh_2tdaI8JwlZlWizU+81x&=2*b&=!v%YUi zZWDKO*aEJ&_7)KMgA9%xJQ6JgH2rj)*ADXU_%GHv{YjDHO&9vK612~}aQ%X(e|~#T z-rPEkLpZmkM~mLZz~_}5&t2GUTWXU$wC${75_nwR81q}}uzNnG5dv~Fh2vXR7l-zi zp2bI=q00P+yj3)(fn(1+0p})hvasN1Gi1~J_?|$XJ-$ePGBy_foGX2u5R{qd&jZcY5-qYXR9{OP#Wqa`KELBJLIig>t=(4Z>iI-iY zcT(|Xzr)x!A8hn;oU$1haq;|b^7%B9_>-y@3@=8=VAY&3mz=J&n%H|zIoY_s|MKGi zxm~mqX4x&cQeV;Fti!gIs|SA$<#Jx|8{pBSS8(=hATV5M>H>do%-YmAT-j}`&Vso% zUN*3T~3b>$rEm zJ5!5=CxZ8awi-Zo)n|>pi#T}m2>hD?b{|Z*Q4@|bM!;Qe#w42qp1d}H9D*aAS47!G zec6|7xuQ2>*)zrS;kL0+QLdDEMVXHtup`%FH*ujjzqVMh{U1>Sw35f6WJ1^OWWhfs z=p7@u>4A<3vBfx(_*JnYkI{pGXNL;biXAis&)yL6{E&Dp_{QG%?-pQg;(-@W0%tzXvbA~ zq44ao=|-p=;qaSS5~!4)o35&@JPH6`{w!Vy*rIjJsGrDISeDww7G2u;S4BTamN9<5 zc%AVO(xwjm&vAN7s*{Sre|-cC4@}fwNhm4l;Q9zS9G@@5eelx?ia*y>k2>4j_4Yz( zZ{Oq^@$!i3qgdj-tT}$c`$|WPi+@-wsAuu=Y@8M- zB99g9G;vMaT!*!LrS& zVi|c!e9n4wJA$>syT`BlSK}6(ez9Y9%ZImN)x>hHpe@G`sD7TxEuL^HHMhqk`isLy zd(S#~Htlq*LaS>UE}|;7%3C1sX-zdPA1u3Xy~%qrabe12EVuEWr@hxfE^l0oF1vi! zQAt4#KW?ucs&s&PX|@5X?&%LYK5DCw2rja;PR?88vjWvms0OQRiCOWpwi9KSH?3z; z$$(y?kzQpXez>XUlA69%>^9t}yvWmI;$bEc&b})fi`1vu2rw}*0sLvGFf59bBW8BV zlpp2}m})u@I67H9z1>?>St&B>=^uqk=P2LwrU&Z{?^Ivk6LbP8aOoOba<;S=jcFP+ zY>UzTSkyGKg`d{|+9g`FI`1Dr=WBB&E>&DqpTq|)@KmI}0co`o;hhN-e zE&9pU@lMuc{K)kY zM~j&IB7l2bot8&K{pV9<9|il_xqZ9vD)5|pgNq>JSL};&`;y(mJ6!W$q=DX=o_aj= zR6b?Dc0x;@Hpmf(pFv+Gv0Z_^pT7#+*!o(WtLcfC*o7^pquk1Bsk4iX%T|9%han8B z;=4AUlu7=U=w>t&jkk4Xn4TEsL0QlThq2<5N;zWbI5D*?`azCh-aMpsQcLdIh}5m} zqUeF6ktTc3Ty}!E>3nHoJB`)8d->O5!GxQCI^Wr@7xSSz4tNj}`FJ7gx}brUMZdPk zCiN;Q%d%X?$xCg?Vh-&w5?g&9+%1NMIQ>6X^1?-zfm9nGO^6rU6B~OoNd-?gR#(gH zBvMh4zSx;FYJ={zrYnav1s)p_wPHH>i05QuVSRjC5xD`i3x7xO3T-=SE69eMUhzTR zQ;U6~yT#+y8Hc}(1xYV29Nhv-;rGwOTBm5a%Lf+HEYg~y74J8K;rZx~u?036ykoNl<$5cI zkWm1e%u@ULmgAYU?gA>R%((jFnfdv=KRaisW^Ryjke5#O zcC=?*O;6bF#mw%yX0`N{1T%>BKI`sPZ>UV4Ps%e}XaUc?7RqDlnkxW4yrav6RBUsw zk_f{*lFyalR`$+3k}297^_tZ0%T*jKlNy=WxdUrStLfGC>YObVmZmAhm{v)YB&332 z%lDoy)4)~jB>YRRB&+0jz}Qi?xFo8}g0`3i0J2YGIyw5*=p4JRLlsoaUZf@s)lpTh zxs4e08_5I{&>94{ewnAyozt8du4V;CrMJ3R zXr*uN*QQ>qQqjks&6PRN2d3sr?nlbm;ec)c6z76@JmNp6Dlh~~m;srGY zu5C61(qb>!YuH!2cYhx#<1p20mwOcj-nQlqyhqh+xp&$dW_N#unz!wa5r zKmKnedqua_e%h|5ySnDvpptH_+M#jVjV2b`7CZW~pwMZkkHeaK-{)KMD;0tMGcXQx zfJyh|Yn+aPO6o%1Bc3|8eO@ujufDNUx!n@T+aNX@GvDt?msUG1R{lYX46m$<2Gh8T zOof%`nYKDVoUK}KfF_`=aUa#R1vvtAifyl3m*B*d%GU%7nWa>xt)22fGrClnNfODgN^-<6!7 zYZ{^oVR@t1Bu8xXw7BTvPD}*I9jy|bXu_}f^*>@q@unwgM9bHnR*J|H38q0+RCv95 zqp4b$`a%=WHy8U$|Mwne`(wcengny}IsRA0<~4<^Z;{)+=7@gLZ2MfIb`$Qz0#dy3Cj#w@xV}I&p-zPGb1Tn0O zOh@!hH-!;9>TEAhxA0CMx4K2b2P7Tw$*vxQ@R-|B_y>N+2%~mDwmP0X)dS6qR>L8}3tJ zJsvFDlkf0!U@J{eSZGA?sB3xVz-$%xCLybLzrVv%!3T<-9BUji`6r}cc6T~h6lrQ= zY|Q1aPDS-ZM*cLd^I^wS>1f1_Z6rHSRJk$2b!0l4vq2>f5s+P-!x3%Q??x-*JZ$A% z+ux1W72JBq`-5=JPW8 zU?1d_e`OqQA1MJeq{+87UjF8u?Yl>?Zg@;J({|cgM>*(-J$bsp-+O4E=pjg<;;qH) z{qzmS^%K_K@3m$9qFH~~Tn1NjpX%y7bU+!3)m%3E?dNc=2rO0!@B_v@ov09Lg(3VP znbvQAb6`6xrrY7HdEm}ImFAqr_ci|+V5eXIayWl?{2!4_w!6h0xS+=GPSyO3aE9kS zz$jLf>#}a)!eErfHa8zc?TgBPMNd7q$Fizm7<6RSG64HK!JK2J_Hf^8#fxT|iK@9l zT_Bv;UWvZzwB0Z%QX*d8#zqQJ2C}C9$fA2i?oo?POgxP=Rr&)8lM5*A0XzFMN8I^| zmn@oP?l}8-Q-(Gtogc0YzOMKN$u#1&TOU{%fB>}6_;z1q^s-WEmlHR*%GV{3>wK;l zR_gT5E6s}Yduh`hhC}Ex3oY(z>dfdPZU+i;yUpz`q`ZwDPo6- zu`vUmt%aVl0-_3OZZ0geucs4j;E`!@V_4JCb`yP9@b1ofOP!uFeOE$pC=~zc$Wu3F z4r?(}-Eku>3Eml1CTp=1GdFuVPFWh4+P`eym*Fb=`cBjIFJmp87;VSKn1EFV_o_u; zdpY&Y`)79cMUgzp{ezChQ;WV0Ydnki+sa>y7lZBZ%{SHs!QdI+eTb3YT0hY-wGvw$ zN6s_yDur!rZRPY5OOqE!-gn?+ok+${wg!Xgs?`4cTnwhUYe2UT3ipqOV@sT+WdJx@_lr1U!5wX zV3pX!;pkwwr1e+2v@4{E7&GLOPSbv!?58w^^-YibA;1BBEy_WA1*LLEnipK|f!)Wg zOL=6PoCU&gqdEGfL20>kJ2cOGGHi{UQOplU3oLLxp>-KZ{o;xF;op}2#h+eV`lR+* z3o>ICw@Oi8`m<+Ien;8gM_pWhYRKZ>mNaIzF=@T8Z1eA2503vcFukps8SFlZ->Uz8 z0BAlFa%*m3fj{7A&)rVZhuCh8*qPmJg_vw>CTBsWwpZbMi>4=+8chQk#llME)8y;ieSQ^8VioIl&&b_4OY5bOo@*Q8m>qxiyDw@zLq za1N>J-|RszKH9|K`?mZtGe%Q{WVGPe(UWNRLa@KNl6K&hA^6$ z(gjHK2@&1F>CEOj;%AA14C|ThQzkaIhoL6_OcMQa2dS((VRN3~xwqJKVy(|3Xr2)- zUAL9~)2OxQ_k%pN(`aSfR~t<<&=8vJQYYQVirThU=<|xw$SyT8FD=z$T6V!}f7+t% zQV5}Ab|wUd#WQF0R;`0e zfz~;4w}gnfX>IVN*PSpX;_fmLJ7CAli4t#ZB$e}Mce+k1M+6_w2Qze`s%idg3}&^o z5j^}necx7%12P>-Qk^Dun7c=$frgqR-Kqth8&J<~Cu&DEP;q!-hcO5}=$yap^VH+p zl2QYDu`EYUJLk*9W@cHV#G-43C?SP5VfU!@jC04HTvl(DWkzDA_G5T>>B5P~w{h$= zKh@0h(_kQ;SDE2YGqHE(R8ugoh^Q!Oelnyx>a}}Irh_j2*;yt6jjdROa^s)Kjf10Y zKh+8vn3p4__+iDj6W1N=0Z&rt4gvy_uGLreboJ9qLMJYqHO{VXSs6`mducRKlLEM1 zYbrWdgK9LWGVghp(l`!l1`4j=)>Y#1jcXecc?outKO1)R8Sq$!|F6AkjY=wA!!(`F>6m0TX*Ojpr?JM0$|=(@ z@l4iutWios4DXp)Ucw71DrhTjl~a1U(PU~jBScX%z`Le7&Zx+YCYpekOi2_q6%i0P zA82d-onPnQ>~F38V{d-2*Sp{Mc`x7le$PW%DwAILwsT(C&3IXPU?pz95$h~V zp}`S11>{tJ+QLb!;=1ftogoLF4|k%QA9H;r&zmu6{qp%}P6NZ)emH_h+8H+l-#@@| zy4&nDO)R1FWN$hv#(M3ruRFm(TCP0GUcW|grH=p#EsdI70g^0n4F~{q?ZIeX4}C8n zY?V_Y5)=0qCB~?CE~=^>(!1Y<)IPbevBEp@e7WPSx8$QcQ*?GAM7}V5ub>roB04AQ zTEWoYV_D?Yq&L}a33JD>XdD08h{HSFxw1n)?|ppWLpd(dexa)j^}QVdlVx|~mupVe zzhSy*`HCGbo{N3#wVLerQItNXST5N8){VOD7z8dxOQ-7X;{zWDG}F}lBt5|J{EX`MSs)d6^nM1n)37TkH-L0H=#k_t|@M{-=R{Oly?UgBi>S_@6 zwaU@6OL_wPiayi&32*N((7+iwyz!|>>MfAqW&o!H3K3~e>`qAjdDpJFpXh!FTKzuG zxvl{Cc9~hc4Rux`{Wqo*#L|N=>c~oCRI=Lp)fPawV=y&PZ=fs3f)^9$3hHRzHEqLmn&0T!lD;%FRVZ8Z&YMoj^FX=0IXqu3}6^Wkrf*lB_)|sP#4gf>aVry1K)eF zPU{Y*!$=CX*TR6A2BD=O&K8EM#=6l%P5gZ7(6iB8o)6-SaqAOs{WxobE$lb%Pp&a4 zP0!|e+tS?#rUJ4|Zn3H?1ih;v`o4%1&ZI^bN3SU2MQNn%n6@gm-xs@G@ic{ds8Z!h zvt~a1q1M=slEImH%m}b+9%fmDQHrZ52U88IH^cUAE7(v+lCQ4=Wa>p(R_U^-feet1 zJ>|e*uu0t+sN7bqv*DsOTTw|WMC!!$8F83Vzi*wvlwbXt;9&YX_uRPFOYeH(@^fsS z%8IWs?H)3xK03dpN9HHIOpbZ*etYb;e|);N(i4H+)(&2m=)x35-jF52`GQeb8JHrx z;*ohbW39sws);hoBe8G=ojo616E#Fgvtlw=j zQNgc4+tcTHygZ35&&|F#fOGQsxvKCBj8Ud?G4w!@%qkee_Wg##(F3C}o#9g}v7HobuGf{?d@ z%$QLT-;}!+HX#Dkfh6TTf&?u8WjGU;2J-mA1h73>uA9gypC41=hf4B+L8(32cD?kl>E3me5VPVY&d?97I>AQL|JdVnlRyaj*wP1 zpBqvBHIETnCc6-j)B^Ws_F+1h78^hi5?EDPx#mG?u!LQ-Q{@1DG(l~UXa zZ@Qb!*_zWGgWIV1ZUER>xNm#2|<=mq`Z#iaN$&%0go|~WM@tRiEEICzwZ1hCA z1hXo1>||n|A`JE_@am$7GeXBt)%Sy!6oEmP+S=`ppbO&xoG~R4KXTzhqC_xWY&_$|X@O}qBCa?1p0uyY z?`YzxQt?HJt=4hOWm=_!bR{A_eiNW}ZhUt}X{G|TWnC`^434$If=D)NdRXDKkR-MD z9`Mb$bE%Odk&F%_Q%y0Ca4QO;77yHFa(hV}nF=AS8FHB3#kpI zmKQ<$O_$e4EpRQb-?e>D%j=QOZ7khDe*lSSNfRI~`fMMUb;pV?-$91}?eM^tg;iVG43Gwydj`u*v@5^P-7a2ck$_)33X4(u&0=<%{3AesC>6=DO?Z7h}D TWCg~rU@+%nu16V1{IC2M^WxO; literal 0 HcmV?d00001 diff --git a/test/golden/goldens/rotate_light_ocean.png b/test/golden/goldens/rotate_light_ocean.png new file mode 100644 index 0000000000000000000000000000000000000000..727e24d9240aa7fbf14634dab5807858b2112c79 GIT binary patch literal 57112 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

  • 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 z LiNDUv&*9PRX8R)=JC0_=m)MPGN@TfQymX}X{p|t?hdr&4Gpbap@7>H zc}2={%4%EXjNiQ!_CRkofNrO(0k(Yx0KAp1FhnunL@Q~)!+?Zjz2p(FWoFHDw%sd6 zbmbk2b{1L99oKS5Ut=x%Lk14*@Tvwz}{6$vj?7@=0lSSo*?L*Qo}# zKZv`_Jd@2b*dTA)oB|0c6uuRFKf5dKo77c#w7Av`ML34MF_!$XODDk~sfVY= zcOR#%o%14e>-!U8%>tpkU5MAfozhj3uSWecUr7bq>we$eXKaPq3g3&+X7aO!X3xQp zb`2NGwC@e>AZ>?NJ>v?puz5%k|4IS?PCxjmjxXVIx_2(D(e$tW$8i}e-}o@533-}P z8#d=s$x1k{oyB&W`0?LUfVG{D)!M4(KxZywXF*^fY4y*qy~+)pBQzI9b&s)k_7Yal=)9BtDuSoxiMK zvmqR^?1yVFP^k`mUV(}|kzDZ?wM9-+2R1Ur z?i_LsZ2bwnb6vA>`UBJZbo`qiY@)$48eltKxAy(*D0XA+_Brz*Q(NV_Nl|tCeq8UY zW&nm9?ppH6nSW{G>fEn`euxc5{O~K;$8KIn_6-MT`K*ojOotXz>3MYc*YnKq_Dpxq ztfHAJQ;%Rah97r*WCtLE>Fk@XcmVDp3-eV^O~6dYAG$UT^D`{Sq4tl3D zQffF0aSdnw!!1=J)P=KTHfb315HeilO8YCTw{ON>_@UgAUkEyp*_!Q7Gu8V>5_pR|bggeBcMAAWqkLZJywa2ya_PZM_-yvII&p&uih zGS}WcFh@`{A>)a7&bysJE(l7?Y7BAhhm>tSf5cO4wU!`l-d0m_pB-~R`!y8YHBBk+ z)Ojqw49bdIPM_UTtv7_Fw{Fnf{Y@ZR@(~dw^VwcK%JuKBd$ty_H(3m)>4)+{13hzQ zBJ3tuomn3T4BYA&IzKCE{;^!rpA;4Jhcs9u#?@K*8cY1ezqVgEL+pvgZt5xlt4;57 z1lK%Tk_fCeMh8n7fByziZRcQ8P3C=PHWWq@+#Sre&P-4sJoyM1EH&k~1VN~5K-{Ht ze0sX=9=e+#5<0ga{SVv5=)8~ZyWg*162;Q$wf^~^{v|lwpCzUqeoSObvxm|YvwXR| zk*TBjW0|GfY~Gz%)U;dEVZbzCK-oxnx*bOH>pqM8dNll&=g&3?pqFJ`#cBQ=PEv<# zKg&-#GD&n+YNe?l#707gdRrWqW15))YwV@%e~hizdg>7Pdok+(l@$OhBc;a4PN?C0 z?BW`0F}LVF;ZyMR#m8oQlv}EuORBfBAA;1ksH{fp+08o>Glg#{f@fgnmgJ`_Ufm-v zbz|PU6fV}8RoOQ5ANBMHv*N4^2|al~e4VKtUn|fOe;+M5nR|&r{;^=o8E#;z(Ny zd#MDdnx%bAN}cEb+TY&zGc>nnfplg;L9OY75xzrR`JpIB)Z`7B$kojX9?y%wiU{M@ha2XJ(R_fIrE z3s1{;7%CJUlCr1H|PDK?goPbG1 zKYboxByuCUN^owsFekzL**m_zV6EFSjL-mcvkG+V9^=!LEffuMtRLf~k(u0mWY!e3 z1z{29v$IG<0qXD)&m;m4p42DbWuz;fR$KV}E)pdnl~HT^qmopVxo ztxw*~_1jfa7w3dm*wOFCm7~`ZoNQ!*R^h8X{F0WfISVi*EpXTJ^YMwqa=TOmTM%lW z_hofBb!Wl|Rc_YteL=eujlK>wy)drC6N%Z2`s2~kh6LxBgwj{~xkh)@x2o`azsSNL z82wq&6`eLqT4$jiwG;ZzX*-VDC3n5yu+k1cE zO>LygJ-kXB+`RYg_@s3IMGB?sgU`R@W3kn(0`K}f?v6#Cx@@JFcA)-&9hYMWyX63% zWDpUn&kJ$=W36CsM|6GWB}+((KuyUjU&`Dr`Pbe>#8scjsHx{JT88Rxj75O@rpiVmjk?@-+ z`PcNky;g7Fx;+rlCwkPMXOB<8;p4#^_uF}S=A3}twZ6g|H1+hItjEvEhl#U$0Cj8U z&b{lLj3B!9U3~3Z99GV@n$1W*^A~qSe+G8@`S8^Vk_pFtpV7&cTyxVceem*>BD>60 zZh|PmJ$K>Kz6UoVtIbO54XeOSDe^1@9_0)f;3sSHI4IA@Wj&q2c=4t1GgH2i@({cJ zXz`c`w=0uU^j)5XTqZxnOi%$cxZnAorDC)i(bqrW6=C0$nopaHGmG+4P+`>x;{A0y zGOm_pKUR8@XwW^6kx7}B%sTGb4<2Y~#+s`N(8uXARkoeF_s{C7e*2gNd9zd7_birM z=8<&b=-d6+!>k#u@EqnC_`!Gngyr-mNkUBhJv6Si&GEfsx@A-`P%X4Y1Z5rRO9&4p z6OrSI1nRf{IrsiHWKwwM>z(+9YCR2?K|6{ChA5`5TES_qeENIn8r0BUq0!J)rB)>O zW~`rhKo9~bDb?(1$zw4rbp$-*MvU$X?Gr&qKqv@#lMl@FK`cZ+bl_R>pX{+2wZ}*y z_P9!;ew_@U_xVJB#o-Vt_TbplocY6Sy|aTf3k$ZFtG#OFLJO2ym0Mj_DMz?YNcJ`~ zU4eZoYF5Almgcm4s~uV6+PP$E0nv=kvXTm8c1Xumi;u`S%6L)9zwoW!1a;YOdW9C& zR}2$(_&KH>Kj4IsIdt)4$6VRMI_mPVALbkYprqO9M;JHZd}Yc3Dm(zTK33fw?uq~S zu8*EyZo)3VQE{=#ON)kN=^D|DbcshVy4pT-*tZZE9gU|twhlz3eR>|@+&vOuQ{-6u zUSI!pUjYA+fk4@zk9%Ls?g$?0Tr#wnP3+^i-E4*CkA@NPt16I1&VU^NT0`%&(X={A z;GUF_cf&PBREy(QVlT!C`GXH+){dq4?JW!uP6e!j_eJe^Y4dRhX_Wa3qkpT}^BV;d z42rE9zschsM9Ec0eHM6hTx0W7kpO96lo3`yjH%MrwAa~#s~@~+>}Jv$FNgn&%ZkC$ zq2hk@_~+&*d1UuDzH)MYmXpV}$wFS zIwBgZ`?Vvkkha`)1i=Da5Ba~tWm5NPmO+w+2Y2mM8c)Yw4Y;7y+tOcr2c}CLM>XsB zdO5a9mDaokLj7ixs~hP(ZJ)sLj|(=r!OtpNFc)jxBs3q5M*y@WzNA;E=^f#<@o)5l zYxynIo4s=T!M)x5{1fTVp`Vyp>X zez9R!p<3w%Yf(yjXXe2rv-046l`Q5t(?#hKg^QBK*`c?_Z z6Tlka5Z=^Mgv5JJA-DY?$P9`3~iSX%gx(tH=9mR=InZHDB3GW6CPx$vSPPN7twAFObCeb zIZ)*?hmx7Uw9Dt&haIsN4AKP>27E+_8~5_fO#f-PuhGkB&VFe-8*x{Ay_3)o3?!uvNZws&w zQX)H2AV7h|GMMrNEaNu8Bvb9{2R-c4nFxFf#e>w;+^X};?}qIBz1#NdBGMviy;NIv zr+*cD!)X-jb8yeAcpkI3f`^l8miIU~O>|*+n@FZkxZ+jw$9wG}sddDVelWhsm&@I^ z_5*v|JTH({?HR}Uq(8FCcfz(LF@5Iq)>BWO%PlC4BJ*lm z)U!G2)9-T4&RZZ?*JM&IcKgzRM8E!cakW?3K^5Q!pG_iR*p#P;dsWP{@J>*cQMBFs zb?~5?_W?C8ebR52A#P*?22g_9A>*yOJV~f{eHmyWRi-+7k)?q}?2T!D%c^sLw_^PU zK`@SpA8U;6AVd&|IYy_kyLn|IGFj{Hlyuw1XC(S+s!E_mwp$nf^lg`>|{ zn}E_zs?C9RweU4$IBhs-sC^Bc_H&%irpSuOkh=}`;g}no&@gDT&Jo_)=73!l-iu3rSNCslcU)E7vbwsVAePH{dA_U&FEFQMK@d#|3gzl{X8RHUNECt zmHF_^p%t3jvKM`#4)XxhujgM(d;)%@0~wcuqg)v4Yfk z7HAduK{U}XG!cR#i|sM=_V1f&z_z`U*K;MYX5Dt>R;q5#mKn9yoVNZ@(LduHB=MGEQ1{g=lT!DF;?DqtxIcL4H5e-;`L*YFtVq@kJ94L#-w-hu z@=Gb_i3fkkWXR*QV7Og21gjApyQ^(;Jdd0mLl8mf`WA^P?SVMi0o7eK(?LWS3B@hP z{Vt{5`Vt=avPr&b^OK6yw(s={8GVaBHIrMAOn}&T&k-2?q`{o1bKMc??DF7{p70r6 zp5MCE^u?qseW~Si!DJn9#>gUmnZJH#dz}j&d!$I#w{H&^c^0LdieRTioIIoam=o!*9a4wz z1f>Ua_|A{C6bCgm1^6~w)Qe6#kapXO?!oGWiH5Uut1mlE9T3l$!&XUGW&LA|>{xn; z?8ZpY%4t@FoglHnI+g|(AotzGCzOupN&9pJBw1?FPoB;8Ty(jCdP*dF4?DMNyq>if zVL+MD?EH85>uxxv(-_x#;hVI~KZ)-4K8S7Jv7BuL#b!}Gv^6(4OU=ul4m7P>kk7P@Jwnui@^E#`uPp9WJ@oB#{!W^!DJ(t(PK&VPO`&QIc$YocE zsD)Z9W8T3A%`*CuyzGyq|B`Pe$rkM=qtCb;Afc%?`=cCV*|d;&1tSZ1V2wK$M zSw&6n?ybfmABWY43HHn)?3)6j(@O*L{6D*W7-el&`W}n$oLQ$j!H`0hibs1x@3Lwp z=q*_`hgOMI=u?pWvEpITSzxyvE#OmmObQGox{50LoBQc6;#121knVs+r*MrC)?(Yyf;u!12L&_wb}th|$qdf`CZ=w3A83#7;gQGXiV%&DCBXX+=evMfm zgHJtA21O^&v;!}>n;6I(a%SHDO%yq6ePd@vxoKOodT$^at(Od}WwUMaCdSOjqOQ3R z#z55u16?!US*7p%ntPiG;27^dMFx!;KF;7A;Nx&7@xbFXgT*qdAeC)o_1{FTwoDCZ zKjdV;>M@z>N;CCMdVyh`9j0T?l|FN7onMPMo#?5d?A|Q7q+jaZA=7VEwMH4HM+pZ- zGh7y-G$%qlH~r>`?=wPO^Ru=`I5EygcU>4&0{&jqESF#6rj+CQS_!3;d#PonTY2Ak z^~=z_g>K@2{%~$i<|Ig7d)Mi7LgAr){%+RrMFYfB8lv zqGM)%;=K~vHmHqo0|_j2c`k^W=%ht6_5~0274g-AL~WziJa1V^b7ss#-^EqCe*Q6X z4F;yK2Sm}k(Ockta9CqG-39f}!5+B&(^&9(myFCZ^#K#Ub1tC$I(y6B{BDU=A@`Gz zTBusD7R{-hHACavY55D;K}cc7J)eGv^`rXu-Y%*%Hv57~2Q~IVuS?p#T4d~MqM%Y- zWWl3%?y{2pJZ5hnVtkS5deh|VQR8=tQe%?9FUaJgSz<>YTs6EgAjIx>bEya#==O&lbmcqRl2;XG$61D~^=-)LNWvL7%5V)mHDeOWm0#9$rRm zzCKvdNQhk}&{=yuu0S9r%%5SGN^tvix?yqu;;)qXBPupstndLx-79@w|SCVaB%i)x= z4B9d>N2E)cYs@pXML#`FiKD8op%xGh;0E^|pIz8beahF!+mitw0%(%ZfrTlL)I)o$3G zJPV;+C9bwnFx}#?doh#a``n3`lE1p_YXiT9zwv3R7pw53J(i}9VL0vxe5gyl>ez3F#i#EeDDWWU>E- z@7l1Jr2s`<+#W_3}{D};Fa~<`Q z-2Dqp+KLn2a>0vdZ>y;bTzF$4QK}iKW#NgCt^l)V&y*A}_+|!hRobWGF7#>!$}jrC zb%Et{{IFKTjPjgrcs!sn4qW#3{^#4?Mcf22_6<2~=Bp^_`}{`T)*4n>e~WQ4_&DUi!33V5M<1T(&c9=(MFM>h(N9h=^o{ z3CGBLX-F?}x~=N%x-De0h)^LG!oOF0co_a1v-FX5y*N`G9wgqH`e`4urn#@S4?>Xr zhL+33gZXC5Nc=o#%V}xLko#}Lo_tm$`YQ4}s!>?QM0DqksL6(|TG*#e!zgLWL4kXA zFDNQWGRpH%2~h|^J3pZT)I(3v?SMyfmAd-L10pqmC$z%`cUz;IKag>laF_N?v|FF? zeEOm5zKtJ@xu_Pt-c{0vIbuNehRLr3+wmbVTtK?M(<_2AlL5%vb~X|IT2*A=;-NyNbYR1AG4cGM4lFB3MLEdus#25zli4(xoEM=sD!i`Fv#1uy zLA1wq*hLl#SnL(>kyOcxqRMAsY7DMXzqj`iji~;7S2}h#9G;(plb>UDJcS9b@Q}Wp z;|c18le(_@N8;e7ydbq{xFc(`LGwgv84nRS8A)JyWJb2g85K(QsbHh=17>$4YilUu zciN%`V?sdo2gXDc1kI6=n@Iz=P1~c-jU26PcJtjs0>QF1_*>RqI=XC0lAaxZTsGI; zz7m?A7Sr+PId(WQJ1@mTRGykWtI5B_ICSrIW#D78dQpxUV>DOXfyQ>Pj`Ro8xU@}F zGICqK81h4lCe<(tg)B03rZ?m_etRJPnHERaJ3w3(bET-~k2K=4CHALqJSzE8SGc_N z5Z(__S4G6@{uF*{*!q<0K3A#Ck>I*ZreC{h7OTi&1Z#mantjmIu=31u37T?~S7i@m zofPmA!9*JH`qun@M38tbW`MolY4Wn1qMWfCjx&LF=>&ns8GmZOU*>EZh+wyZ&>fo~ zDBo*bXzI|r*uS~QTcy=awPoJ4oLHEc4jgo)<7&O zxm-(yJ(8YFIM4a-RzB=5`EY#lqg9S$T7O~Mk~{@Fpgp}VUc*~J48D8HzVMdW3TV~B zy9x4p+MJ`jAptdPWaKuFi+6v(n$(vNPtP;{x8U_@*()BJ#1R6fF|3RWtc6Dvz@46S%42^Zj1h%K5 zpJOhv#;%8YIa2RK5X1AU{B+b6Ddi~tso4ij-mcSd$#}3y0enurSo&cp`TX?q%l9wO ziyfK2mW=3-5h%2_eUjRPascBMYrxbLRsEC zjD@5&=A1p;gQQZzlhR@7|F94#k7eO{xu9eg)auoH1Mz7;{qm#J6J^4a63teU9z*6u z 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

    - Rotate beam
    + Rotate beam
    Rotate — a beam travels around the border
    - Pulse outside halo
    + Pulse outside halo
    Pulse outside — a breathing halo blooms behind the child
    - Line beam
    + Line beam
    Line — the beam rides the bottom edge
    - Squircle beam
    + Squircle beam
    Superellipse — Apple-style squircle borders, ocean palette
    @@ -29,227 +37,644 @@ A faithful Flutter port of the [border-beam](https://github.com/Jakubantalik/bor
    -Run the example app for the full animated gallery (`cd example && flutter run`); demo videos are recorded with `tool/record_demo.sh` (see [Recording demos](#recording-demos)). +### Live playground + +**** — every variant, palette, and tuning hook on live controls, with the matching Dart snippet and a shareable link. Deployed from [`example/`](example). ## Highlights -- **Five variants**, each a named constructor with tuned defaults: `rotate`, `small`, `line`, `pulseInside`, `pulseOutside` — plus a generic `BorderBeam(variant: ...)` for a runtime choice. -- **Four value objects** — `BeamStyle`, `BeamShape`, `BeamTiming`, `BeamPlayback` — whose fields are all nullable, so anything you leave out is inherited. -- **App-wide defaults** through `BorderBeamTheme`; nested themes merge, inner over outer. -- **Four palettes** from the original (`colorful`, `mono`, `ocean`, `sunset`), plus `BeamColors.custom(...)` for your own colors and `BeamColors.spec(...)` for per-blob control. -- **Per-corner shapes** — a full `BorderRadius` (direction-aware), an Apple-style squircle contour, or a stadium that tracks the box. -- **Playback control** — declarative `active` toggling with spring-eased fades, `autoPlay`/`startAfter`/`duration` scheduling, or a full `BorderBeamController`. -- **Dark & light themes** per variant, following your app theme automatically. -- **Decorative-only** — beam layers never intercept pointers; your child lays out and hit-tests normally. -- **Performance-minded** — one `Ticker` per beam, ~30fps cap for pulse variants, `RepaintBoundary`-isolated painting (your child never re-rasterizes), CPU-folded color filters (≤3 `saveLayer`s per frame). -- **Accessible** — honors `MediaQuery.disableAnimations` out of the box. +- **Five variants** — `rotate`, `small`, `line`, `pulseInside`, `pulseOutside`, each a named constructor with tuned defaults, plus a generic `BorderBeam(variant: …)` for a runtime choice. +- **Eleven palettes** — the four from the original plus seven Flutter-only ones, with `BeamColors.custom`, `fromSeed` harmonies, `fromScheme`, `lerp`, `scaleAlpha`, and per-blob `spec`. +- **Value-object API** — `BeamStyle`, `BeamShape`, `BeamTiming`, `BeamPlayback`; every field nullable, so anything you leave out is inherited. App-wide defaults live in a `BorderBeamTheme`, and nested themes merge. +- **Shapes** — per-corner direction-aware radii, stadium, Apple-style superellipse, ring offset, and arbitrary path contours. +- **Motion** — cycle gap, direction (forward / reverse / bounce), phase offset, several beams on one contour, driven `progress`, pointer `follow`. +- **`BeamSync`** — one ticker and one timeline for a whole subtree, so a row of cards reads as one system. +- **Surfaces & interactions** — `BorderBeam.overlay`, a `BeamDecoration` for existing `Container`s, and `BeamFocusRing` / `BeamHover` / `BeamPress` wrappers. +- **Controller** — `start` / `stop` / `pause` / `resume` / `seek` / `speed`, plus one-shot `pulse()` and `flash()` accents. +- **Accessible** — four documented reduced-motion behaviors, and beams are purely decorative: they add no semantics and never intercept a pointer. +- **Fast** — one ticker per beam (or per `BeamSync`), a ~30fps cap on the pulse variants, `RepaintBoundary` isolation so the child never re-rasterizes, CPU-folded color matrices, an offscreen pause, and a `saveLayer` budget pinned by a test. ## Requirements -- Flutter ≥ 3.35 (stable `RoundedSuperellipseBorder` / `RSuperellipse`) -- Dart ≥ 3.9 +| | | +| --- | --- | +| Flutter | ≥ 3.35 (stable `RoundedSuperellipseBorder` / `RSuperellipse`) | +| Dart | ≥ 3.9 | +| Dependencies | none beyond the Flutter SDK | ## Install -```yaml -dependencies: - flutter_border_beam: ^0.1.0 +```console +flutter pub add flutter_border_beam ``` -## Usage - -Wrap any widget: +## Quick start ```dart +import 'package:flutter/material.dart'; import 'package:flutter_border_beam/flutter_border_beam.dart'; BorderBeam.rotate( - child: Card(child: content), + borderRadius: 16, + colors: BeamColors.ocean, + child: Card( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: const Padding( + padding: EdgeInsets.all(24), + child: Text('Working on it…'), + ), + ), ) ``` -### Variants +That is the whole API for the common case. Everything else is a field on one of four value objects — `style`, `shape`, `timing`, `playback` — and every one of their fields is nullable, meaning *inherit*. ```dart -BorderBeam.rotate(child: card) // full border beam — cards, surfaces -BorderBeam.small(child: iconButton) // compact — buttons, chips (32px radius) -BorderBeam.line(child: searchBar) // travels the bottom edge — inputs -BorderBeam.pulseInside(child: card) // contained breathing glow -BorderBeam.pulseOutside(child: card) // halo blooming outward behind the child +BorderBeam( + variant: BeamVariant.line, + style: const BeamStyle(colors: BeamColors.sunset, strength: 0.8), + shape: const BeamShape.all(24, superellipse: true), + timing: const BeamTiming(cycleGap: Duration(seconds: 1)), + playback: const BeamPlayback(reducedMotion: BeamReducedMotion.staticFrame), + child: card, +) +``` + +Guides for each area live in [`doc/`](doc): [variants](doc/variants.md) · [palettes](doc/palettes.md) · [shape](doc/shape.md) · [motion](doc/motion.md) · [theming](doc/theming.md) · [performance](doc/performance.md) · [accessibility](doc/accessibility.md) · [parity](doc/parity.md) · [architecture](doc/architecture.md). + +## Variants + +```dart +BorderBeam.rotate(child: card); // full border beam — cards, surfaces +BorderBeam.small(child: iconButton); // compact — buttons, chips (32px radius) +BorderBeam.line(child: searchBar); // travels one edge — inputs +BorderBeam.pulseInside(child: card); // contained breathing glow +BorderBeam.pulseOutside(child: card); // halo blooming outward behind the child // Picked at runtime — same parameters, no switch: -BorderBeam(variant: variant, child: card) +BorderBeam(variant: variant, child: card); ``` -> **pulse-outside contract** (same as the original): the child must be opaque -> so only the outward spill shows, should have its own 1px border for a -> defined idle edge, and needs clip-free room around it — padding in the -> parent, no tight `ClipRRect`. +| Variant | Upstream name | Family | Default cycle | Default radius | Default hue track | Paints | +| --- | --- | --- | --- | --- | --- | --- | +| `rotate` | `md` | traveling | 1.96s | 16 | ping-pong, 12s | over the child | +| `small` | `sm` | traveling | 1.96s | 32 | ping-pong, 12s | over the child | +| `line` | `line` | traveling | 3.1s | 16 | ping-pong, 12s (bloom 8s) | over the child | +| `pulseInside` | `pulse-inner` | pulse | 2.3s | 16 | continuous, 16s | over the child | +| `pulseOutside` | `pulse-outside` | pulse | 2.3s | 16 | continuous, 14s | behind and outside the child | + +The two families differ in more than looks: the traveling variants sweep a window around the contour and respond to `direction`, `cycleGap`, `beamCount`, `progress`, and `follow`; the pulse variants breathe from a bank of oscillators and ignore all of those. Details per variant: **[doc/variants.md](doc/variants.md)**. + +> ⚠️ **pulse-outside contract** (the same one the original states): the child must be **opaque**, so only the outward spill shows; it should carry its **own 1px border** for a defined idle edge; and it needs **clip-free room** around it — padding in the parent, no tight `ClipRRect`. A halo with nowhere to bloom is a halo you cannot see. -### Colors +## Palettes ```dart // Presets -BorderBeam.rotate(colors: BeamColors.ocean, child: card) // also: colorful (default), mono, sunset +BorderBeam.rotate(colors: BeamColors.ocean, child: card); // Your own colors, distributed over the preset blob geometry BorderBeam.rotate( - colors: BeamColors.custom([Colors.pink, Colors.cyan, Colors.amber]), + colors: const BeamColors.custom([Colors.pink, Colors.cyan, Colors.amber]), child: card, -) +); + +// One brand color, spread into a harmony +BorderBeam.rotate( + colors: const BeamColors.fromSeed( + Color(0xFF18A8F0), + harmony: BeamSeedHarmony.triadic, + ), + child: card, +); + +// The app's Material scheme +BorderBeam.rotate( + colors: BeamColors.fromScheme(Theme.of(context).colorScheme), + child: card, +); + +// Blend two palettes, and dim one +BorderBeam.rotate( + colors: const BeamColors.lerp(BeamColors.ocean, BeamColors.sunset, 0.35), + child: card, +); +BorderBeam.rotate(colors: BeamColors.ember.scaleAlpha(0.6), child: card); // Advanced: position every blob yourself BorderBeam.rotate( - colors: BeamColors.spec(border: [ - BeamBlob(color: Colors.pink, position: Offset(0.3, 0), size: Size(70, 40)), - // ... - ]), + colors: const BeamColors.spec( + border: [ + BeamBlob( + color: Color(0xFFFF4D8D), + position: Offset(0.33, -0.074), + size: Size(70, 40), + ), + ], + ), child: card, -) +); ``` -`mono` disables the hue animation and halves layer opacity, exactly like the source. - -### Shape +| Preset | Origin | Colors | Notes | +| --- | --- | --- | --- | +| `colorful` | upstream | rainbow spectrum | the default | +| `mono` | upstream | grayscale | pins the hue and halves layer opacity | +| `ocean` | upstream | blue, purple | | +| `sunset` | upstream | orange, yellow, red | | +| `aurora` | Flutter-only | teal, violet, green, glacier blue | | +| `neon` | Flutter-only | magenta, cyan, lime | the loudest | +| `candy` | Flutter-only | pink, lavender, peach | pastel | +| `ember` | Flutter-only | deep red, orange, gold | | +| `ice` | Flutter-only | pale blue, white, cyan | | +| `gold` | Flutter-only | amber, gold, bronze | pins the hue, keeps full opacity | +| `holographic` | Flutter-only | desaturated pastels | built to be paired with a fast continuous hue drift | + +| Constructor / transform | Signature | What it does | +| --- | --- | --- | +| `BeamColors.custom` | `custom(List colors, {BeamColors base = BeamColors.colorful})` | Distributes your colors over `base`'s blob geometry, cycling when there are fewer colors than slots and preserving each entry's alpha. The list must not be empty. | +| `BeamColors.fromSeed` | `fromSeed(Color seed, {BeamSeedHarmony harmony = BeamSeedHarmony.analogous})` | Spreads one brand color into `analogous`, `complementary`, `triadic`, or `monochrome`. Derived colors are lifted into a readable glow band (lightness 0.55–0.70, saturation ≥ 0.55), so a black or gray seed still reads. | +| `BeamColors.fromScheme` | `fromScheme(ColorScheme scheme)` | Takes `primary`, `secondary`, `tertiary`, dropping roles that duplicate an earlier one. | +| `BeamColors.lerp` | `lerp(BeamColors a, BeamColors b, double t)` | Table-by-table `Color.lerp`. `t` is not clamped, so it extrapolates. | +| `scaleAlpha` | `scaleAlpha(double factor)` | Multiplies every table entry's alpha, preserving the relative depth of the inner / stroke / bloom layers. `factor` must not be negative. | +| `BeamColors.spec` | `spec({required List border, List? smallBorder, List? lineBlobs})` | Full per-blob control. `BeamBlob.size` holds ellipse **radii**, not diameters; omitted tables are derived by cycling the border colors. | + +Every `BeamColors` is a value type and resolution is memoized by value, so rebuilding `BeamColors.custom([...])` inline in `build` does not re-resolve the gradient tables. More: **[doc/palettes.md](doc/palettes.md)**. + +## Shape ```dart +// Uniform radius, const BorderBeam.rotate( - borderRadius: 24, // uniform radius shorthand - shape: const BeamShape(superellipse: true), // Apple-style squircle contour + shape: const BeamShape.all(24, superellipse: true), child: card, -) +); -// Per-corner radii, direction-aware: +// Per-corner, direction-aware BorderBeam.rotate( shape: const BeamShape( radius: BorderRadiusDirectional.only(topStart: Radius.circular(28)), ), child: card, -) +); -// A pill (or a circle, on a square box) that tracks the box as it resizes: -BorderBeam.small(shape: const BeamShape.stadium(), child: chip) +// A pill (a circle on a square box) that tracks the box as it resizes +BorderBeam.small(shape: const BeamShape.stadium(), child: chip); + +// The ring 8px outside the child, with the beam on the top edge +BorderBeam.line( + shape: const BeamShape.all(16, ringOffset: 8, edge: BeamEdge.top), + child: card, +); + +// An arbitrary contour +BorderBeam.rotate( + shape: BeamShape( + contour: BeamPathContour((rect) => Path()..addOval(rect), key: 'oval'), + ), + child: card, +); ``` -The radius defaults to the variant preset (16, or 32 for `small`). There is no auto-detection of the child's radius — pass the same value your child uses. +| Field | Type | Default | Applies to | +| --- | --- | --- | --- | +| `radius` | `BorderRadiusGeometry?` | 16 (32 for `small`) | all — ignored when `contour` is set | +| `borderWidth` | `double?` | `1` | all | +| `superellipse` | `bool?` | `false` | all — ignored when `contour` is set | +| `edge` | `BeamEdge?` | `BeamEdge.bottom` | `line` | +| `ringOffset` | `double?` | `0` | all | +| `contour` | `BeamContour?` | none | all | + +Three constructors cover the common cases: `BeamShape.all(r)` is the **const** path to a uniform radius (it stores the number rather than building a `BorderRadius`), `BeamShape.circular(r)` is the same shape when you already think in `BorderRadius` terms (**not** const), and `BeamShape.stadium()` rounds each corner to half the shortest side. `radius` resolves against the ambient `Directionality` and clamps per corner the way `RRect.scaleRadii` does. -### Scheduling (no controller) +There is **no auto-detection of the child's radius** — pass the same value your child uses. Full treatment, including writing a `BeamContour`: **[doc/shape.md](doc/shape.md)**. + +## Style ```dart -BorderBeam.pulseInside( - active: isLoading, // fades in 0.6s / out 0.5s (spring-eased) - playback: const BeamPlayback( - startAfter: Duration(milliseconds: 500), // delay before autoplay - duration: Duration(seconds: 10), // total play time; null = loop forever +BorderBeam.rotate( + style: const BeamStyle( + colors: BeamColors.aurora, + strength: 0.8, + comet: true, + sparkle: 0.4, + tailLength: 1.4, ), - onActivate: () => print('visible'), // fires when the fade-in completes - onDeactivate: () => print('hidden'), child: card, -) +); ``` -### Timing +| Field | Type | Default | Applies to | +| --- | --- | --- | --- | +| `colors` | `BeamColors?` | `BeamColors.colorful` | all | +| `theme` | `BeamTheme?` | `BeamTheme.auto` | all | +| `strength` | `double?` | `1.0` (clamped 0–1) | all | +| `brightness` | `double?` | preset, else `1.3` | all | +| `saturation` | `double?` | preset | all | +| `hueRange` | `double?` | `30` (`line` caps at 13) | all | +| `hueMode` | `BeamHueMode?` | `pingPong` traveling, `continuous` pulse | all | +| `hueBase` | `double?` | `0` | all | +| `staticColors` | `bool?` | `false` (forced on by `mono` and `gold`) | all | +| `strokeOpacityFactor` | `double?` | `1` | all | +| `innerOpacityFactor` | `double?` | `1` | all | +| `bloomOpacityFactor` | `double?` | `1` | all | +| `glowBoost` | `double?` | `1` | `pulseInside`, `pulseOutside` | +| `coreBlur` | `double?` | preset | `pulseOutside` | +| `bloomBlur` | `double?` | preset | `pulseOutside` | +| `glowBrightness` | `double?` | preset | `pulseOutside` | +| `glowSaturation` | `double?` | preset | `pulseOutside` | +| `tailLength` | `double?` | `1` | `rotate`, `small` | +| `glowSpread` | `double?` | `1` | all | +| `comet` | `bool?` | `false` | `rotate`, `small` | +| `sparkle` | `double?` | `0` (clamped 0–1) | `rotate`, `small` | +| `segments` | `int?` | none (solid ring) | `rotate`, `small`, `line` | +| `innerSizeScale` | `double?` | `1` | `pulseInside` | +| `renderScale` | `double?` | `1` (clamped 0.25–1) | all | +| `pulseOutsideTuning` | `BeamPulseOutsideTuning?` | `demo` | `pulseOutside` | +| `themeConfig` | `BeamThemeConfig?` | per variant × brightness | all | + +Four of these are worth a sentence each. + +**`themeConfig`** replaces the whole variant × brightness preset — layer opacities, inset shadow, and the default brightness/saturation. Start from a preset rather than inventing one: + +```dart +BorderBeam.rotate( + style: BeamStyle( + themeConfig: BeamThemeConfig.presetFor( + BeamVariant.rotate, + Brightness.dark, + ).copyWith(bloomOpacity: 0.4), + ), + child: card, +); +``` + +**`innerSizeScale`** multiplies the size of `pulseInside`'s inner blobs. Below 1 the wash pulls tighter to the border, leaving more of the child clear; above 1 it floods further in. The perimeter ring and the bloom keep their own geometry, so the border itself does not move. + +```dart +BorderBeam.pulseInside( + style: const BeamStyle(innerSizeScale: 0.7), + child: card, +); +``` + +**`renderScale`** is the fraction of the box the beam is *painted* at before being magnified back to fill it (0.25–1). The palettes are authored against a 350×140 card, so on a screen-width box the blobs read as small and sparse; painting at 0.5 and magnifying restores the proportions the palette was drawn for — glow, blurs, and corner radii all grow together. It costs one canvas transform and no extra layer, but it *is* a magnification, so the ring's own edge softens as the factor drops. + +```dart +BorderBeam.rotate( + style: const BeamStyle(renderScale: 0.35), + child: fullScreenSurface, +); +``` + +**`BeamStyle.pulseOutsideStock`** is a ready-made style carrying the upstream library's **stock** pulse-outside look — a tighter, dimmer halo sitting closer to the child. `BorderBeam.pulseOutside` paints the tuned demo recipe by default, because that is the look the library is known for; the stock style rolls every part of that tuning back (the prominence boost and glow multiplier through their hooks, and the insets, blurs, and size-derived unit through `pulseOutsideTuning`). Layer your own fields over it with `copyWith` — anything you set wins. + +```dart +BorderBeam.pulseOutside(style: BeamStyle.pulseOutsideStock, child: card); +``` + +`pulseOutsideTuning` on its own switches only the glow geometry: `BeamPulseOutsideTuning.demo` (the default) scales insets and blurs by the element's size, melting the separate blobs into one continuous edge-hugging glow; `.stock` uses the library's fixed insets and per-brightness blur. + +## Timing ```dart BorderBeam.rotate( timing: const BeamTiming( - cycle: Duration(seconds: 3), // one sweep - cycleGap: Duration(seconds: 1), // rest between sweeps - speed: 1.5, // playback rate + cycle: Duration(seconds: 3), // one sweep + cycleGap: Duration(seconds: 1), // rest between sweeps + direction: BeamDirection.bounce, // alternate each cycle + beamCount: 3, // three beams, equally spaced + speed: 1.5, // playback rate ), child: card, -) +); +``` + +| Field | Type | Default | Applies to | +| --- | --- | --- | --- | +| `cycle` | `Duration?` | 1.96s rotate/small · 3.1s line · 2.3s pulse | all | +| `cycleGap` | `Duration?` | `Duration.zero` | `rotate`, `small`, `line` | +| `speed` | `double?` | `1` (a controller's `speed` wins) | all | +| `direction` | `BeamDirection?` | `forward` | `rotate`, `small`, `line` | +| `phaseOffset` | `double?` | `0` (fraction of a cycle, 0–1) | all | +| `beamCount` | `int?` | `1` | `rotate`, `small`, `line` | +| `huePeriod` | `Duration?` | 12s traveling · 16s pulseInside · 14s pulseOutside | all | +| `bloomHuePeriod` | `Duration?` | 8s | `line` | +| `breatheFactor` | `double?` | `1.3` × `cycle` | `line` | +| `spikeFactor` | `double?` | `1.33` × `cycle` | `line` | +| `spike2Factor` | `double?` | `1.7` × `cycle` | `line` | + +Changing `cycle` while the beam runs **retimes it in place** — every track keeps its phase, so the beam speeds up or slows down without a jump. `cycleGap` parks the beam at the end of its travel between sweeps, fading out and back in over `min(0.25s, gap / 2)` at each end; the hue, breathe, and spike tracks are textures rather than the sweep, so they keep running through the gap. More: **[doc/motion.md](doc/motion.md)**. + +## Playback + +```dart +BorderBeam.pulseInside( + active: isLoading, // fades in 0.6s / out 0.5s + playback: const BeamPlayback( + startAfter: Duration(milliseconds: 500), + duration: Duration(seconds: 10), + repeat: BeamRepeat.count(3), + reducedMotion: BeamReducedMotion.staticFrame, + ), + onActivate: () => debugPrint('visible'), // when the fade-in completes + onDeactivate: () => debugPrint('hidden'), + child: card, +); +``` + +| Field | Type | Default | Meaning | +| --- | --- | --- | --- | +| `active` | `bool?` | `true` | Play state. Toggling fades in (0.6s) / out (0.5s). | +| `autoPlay` | `bool?` | `true` | Whether the beam starts by itself. | +| `startAfter` | `Duration?` | none | Delay before autoplay. Must be null with a controller. | +| `duration` | `Duration?` | none (plays on) | Total play time before a self fade-out. Must be null with a controller. | +| `repeat` | `BeamRepeat?` | `BeamRepeat.forever()` | `forever()`, `once()`, or `count(n)` cycles, then a fade-out. | +| `reducedMotion` | `BeamReducedMotion?` | `staticFrame` | What to do when the platform asks for reduced motion. | +| `pauseWhenOffscreen` | `bool?` | `true` | Stops the clock while the beam is scrolled out of its nearest enclosing `Scrollable`, with a 256px margin. | +| `fadeCurve` | `Curve?` | the fade spring | The easing both fade envelopes run on. | +| `debugFrozenAt` | `Duration?` | none | Pins the beam to one instant of its timeline, at full opacity, and never starts its clock. | + +`reducedMotion` has four behaviors, all of them applying to all five variants: + +| `BeamReducedMotion` | Behavior | +| --- | --- | +| `staticFrame` | Paints a single static frame and stops ticking. **The default.** | +| `hide` | Paints nothing; the child is left bare and no ticker runs. | +| `slow` | Keeps animating at a quarter of the configured speed. | +| `animate` | Ignores the request and animates normally. | + +`debugFrozenAt` exists for screenshots and tests rather than product code. Every animated value is a pure function of elapsed time, so a fixed time is a fixed frame: two runs a week apart paint the same pixels. It reads the timeline from activation, so anything past the 0.6s fade-in is a fully-lit frame. + +```dart +BorderBeam.rotate( + playback: const BeamPlayback(debugFrozenAt: Duration(milliseconds: 1300)), + child: card, +); +``` + +`fadeCurve` swaps the fade envelope. The package eases fades with a spring, which carries a little momentum and overshoots slightly; `BeamPlayback.cssEase` is the web's `cubic-bezier(0.25, 0.1, 0.25, 1)`, for a fade that matches the original exactly: + +```dart +BorderBeam.rotate( + playback: const BeamPlayback(fadeCurve: BeamPlayback.cssEase), + child: card, +); ``` -Changing `cycle` while the beam runs retimes it in place — every track keeps its phase, so the beam just speeds up or slows down. +### Shorthands and precedence -### Theming +Three fields are common enough to sit directly on the widget: `colors`, `active`, and `borderRadius` (a uniform `shape.radius`). They are shorthands, not separate settings — each folds into the matching value object, winning over the same field there. -`BorderBeamTheme` supplies defaults to every beam below it. Anything a beam sets itself wins; nested themes merge, inner over outer: +A field is resolved in one order, and only one: + +```text +flat shorthand > value object on the widget > BorderBeamTheme > variant default +``` + +Nested `BorderBeamTheme`s merge inner over outer before the widget's own values are applied on top. + +## Theming ```dart BorderBeamTheme( data: const BorderBeamThemeData( style: BeamStyle(colors: BeamColors.ocean, strength: 0.8), - shape: BeamShape(superellipse: true), + shape: BeamShape.all(20, superellipse: true), timing: BeamTiming(cycle: Duration(seconds: 3)), + playback: BeamPlayback(reducedMotion: BeamReducedMotion.slow), ), child: MaterialApp(home: home), -) +); ``` -### Controller +`BorderBeamThemeData` has one slot per value object, and each slot's fields are nullable, so a theme fills in only what it sets. `BorderBeamTheme.of` walks **every** enclosing scope, depends on each, and merges them outside-in — an inner theme overrides just the fields it names, and a change to an outer one rebuilds the beam exactly as an inner one does. More: **[doc/theming.md](doc/theming.md)**. + +## Controller -Attach a `BorderBeamController` for programmatic playback. The controller takes **full ownership** — `playback.startAfter`/`duration` must not be set, its `speed` replaces `timing.speed`, and the beam starts hidden until you `start()`: +Attach a `BorderBeamController` for programmatic playback. The controller takes **full ownership**: `playback.startAfter` and `playback.duration` must not be set (on the widget or on a theme — it is asserted), `active` and `autoPlay` are ignored, the controller's `speed` replaces `timing.speed`, and the beam starts hidden until you `start()`. ```dart final controller = BorderBeamController(); BorderBeam.rotate(controller: controller, child: card); -controller.start(); // fade in, play -controller.pause(); // freeze the current frame +controller.start(); // fade in, play +controller.pause(); // freeze the current frame controller.resume(); -controller.speed = 2; // playback rate -controller.seek(Duration(seconds: 1)); -controller.stop(); // fade out, halt +controller.speed = 2; // playback rate; must be positive +controller.seek(const Duration(seconds: 1)); +controller.pulse(); // one brightness bump, ~0.6s settle +controller.flash(); // blink to full, hold 120ms, decay +controller.stop(); // fade out, halt +``` + +`isAttached`, `isActive`, and `isRunning` report state, and the controller is a `ChangeNotifier`, so a button can rebuild from it. **One controller drives one beam** — attaching a second asserts. A beam under a `BeamSync` runs on the group's clock and cannot also take a controller; drive the group through `BeamSync` instead. + +`pulse()` and `flash()` are accents on a running beam: they raise brightness and let it settle without touching the timeline, so a beam already sweeping can mark a moment (a message arrived, a step finished). Both are no-ops while the beam is hidden or frozen. + +## Driving it yourself + +Four inputs take the beam off its own schedule without a controller. + +```dart +// A glowing progress ring (or, with .line, a progress bar). +BorderBeam.rotate(progress: downloaded / total, child: card); + +// The sweep gravitates to a point in the box. +BorderBeam.rotate(follow: const Offset(0.5, 0.2), child: card); + +// Live opacity and rate, without rebuilding. +BorderBeam.rotate( + strengthListenable: micLevel, // ValueListenable + speedListenable: tempo, // ValueListenable, positive + child: card, +); ``` -### Fine tuning - -Every tuning hook of the original is a field on one of the four value objects. Each is nullable: leave it out and it inherits the theme, then the variant preset. - -`BeamStyle`: - -| Field | Default | Purpose | -|---|---|---| -| `colors` | `BeamColors.colorful` | Palette (shorthand: `colors:` on the widget) | -| `theme` | `BeamTheme.auto` | `dark`, `light`, or follow `Theme.of(context)` | -| `strength` | `1.0` | Overall effect opacity (0–1); only affects beam layers | -| `brightness`, `saturation` | per variant/theme | Glow filter multipliers | -| `hueRange` | `30` (line caps at 13) | Hue animation amplitude in degrees | -| `hueBase` | `0` | Static hue offset for the whole palette | -| `staticColors` | `false` | Disable the hue animation | -| `strokeOpacityFactor`, `innerOpacityFactor`, `bloomOpacityFactor` | `1` | Per-layer opacity multipliers | -| `glowBoost` (pulse) | `1` | Halo prominence | -| `coreBlur`, `bloomBlur`, `glowBrightness`, `glowSaturation` (pulse-outside) | preset | Glow tuning overrides | -| `themeConfig` | per variant/theme | Replace the whole preset — start from `BeamThemeConfig.presetFor(...)` | - -`BeamShape`: - -| Field | Default | Purpose | -|---|---|---| -| `radius` | 16 (32 for `small`) | Per-corner `BorderRadiusGeometry` (shorthand: `borderRadius:` on the widget) | -| `borderWidth` | `1` | Stroke ring thickness | -| `superellipse` | `false` | Squircle contour instead of circular corner arcs | - -`BeamTiming`: - -| Field | Default | Purpose | -|---|---|---| -| `cycle` | 1.96s / 3.1s / 2.3s | One animation cycle (rotate·small / line / pulse) | -| `cycleGap` | `Duration.zero` | Rest between sweeps (ignored by the pulse variants) | -| `speed` | `1` | Playback rate (a controller's `speed` wins) | -| `huePeriod` | 12s (14s/16s pulse) | One full period of the hue track | -| `bloomHuePeriod` | 8s | The line bloom's own hue period | -| `breatheFactor`, `spikeFactor`, `spike2Factor` | `1.3`, `1.33`, `1.7` | The line beam's tracks, as multiples of `cycle` | - -`BeamPlayback`: - -| Field | Default | Purpose | -|---|---|---| -| `active` | `true` | Play state (shorthand: `active:` on the widget) | -| `autoPlay` | `true` | Whether the beam starts by itself | -| `startAfter` | none | Delay before autoplay | -| `duration` | none (loops) | Total play time | -| `repeat` | `BeamRepeat.forever()` | How many cycles to run before stopping | -| `reducedMotion` | `staticFrame` | What to do under `MediaQuery.disableAnimations` (`animate`, `staticFrame`, `hide`, `slow`) | +| Input | Type | Effect | +| --- | --- | --- | +| `progress` | `double?` (0–1) | Places the sweep instead of the clock. The clock still runs, so the fade, hue, and line tracks stay alive — the beam looks lit, not frozen. Repaints without re-resolving the config, so it is cheap to drive from an animation. | +| `follow` | `Offset?` (normalized) | Eases the sweep to the perimeter point nearest a point in the box — critically damped, ~150ms. Setting it back to null hands the sweep back to the clock without a snap. `progress` wins over it. | +| `strengthListenable` | `ValueListenable?` | The live twin of `style.strength`: scales every layer's opacity each frame, no rebuild. | +| `speedListenable` | `ValueListenable?` | The live twin of `timing.speed`, and it wins over both that and a controller's rate. | + +The pulse variants have no travel, so they ignore `progress` and `follow`. Feeding `follow` from a `MouseRegion` is what `BeamHover` does for you. + +## BeamSync + +A beam owns its own ticker. Ten beams on a screen means ten tickers, each started at a different instant, so their sweeps drift apart — right for beams that have nothing to do with each other, wrong for a row of cards that should read as one system. `BeamSync` hands the whole subtree **one clock**: one ticker, one timeline, identical phases. + +```dart +BeamSync( + child: Row( + children: [ + for (final (i, card) in cards.indexed) + BorderBeam.rotate( + timing: BeamTiming(phaseOffset: i / cards.length), + child: card, + ), + ], + ), +); +``` + +Beams stay individually configurable — palette, variant, shape, and `phaseOffset` are per beam — but **the group owns playback**: `active`, `autoPlay`, `startAfter`, `duration`, and `repeat` are ignored below a `BeamSync`. Use its own `active` and `speed` instead. Reduced motion pauses the shared clock for the whole group, and each beam still paints according to its own `reducedMotion`. + +## Surfaces & interactions + +### `BorderBeam.overlay` + +A beam with no child of its own, sized by its parent — it traces content it does not have to wrap: + +```dart +Stack( + children: [ + content, + const Positioned.fill(child: BorderBeam.overlay(borderRadius: 16)), + ], +); +``` + +### `BeamDecoration` + +The same engine as a `Decoration`, for dropping into a `Container` you already have: + +```dart +Container( + foregroundDecoration: BeamDecoration( + variant: BeamVariant.rotate, + brightness: Theme.of(context).brightness, + theme: BorderBeamTheme.of(context), + colors: BeamColors.ocean, + borderRadius: 16, + ), + decoration: BoxDecoration( + color: surface, + borderRadius: BorderRadius.circular(16), + ), + child: content, +); +``` + +A decoration paints in exactly one slot, so the variant decides which: + +| Variant | Slot | +| --- | --- | +| `rotate`, `small`, `line`, `pulseInside` | `foregroundDecoration:` | +| `pulseOutside` | `decoration:` | + +`BorderBeam` paints the first four *over* its child, which is what `foregroundDecoration:` does; put them in `decoration:` only when the beam is meant to sit under opaque content. `pulseOutside` is the opposite case — its halo blooms behind and outside the child, and the child needs the same clip-free room the widget form requires. + +A `BoxPainter` gets a canvas and nothing else, which costs the decoration four things the widget has. Prefer `BorderBeam` when any of them matter: + +- **Ambient theming is passed in, not read.** `brightness` is required and `theme:` takes what `BorderBeamTheme.of(context)` would have returned. +- **The ticker is unmanaged.** It is not created through a `TickerProvider`, so `TickerMode` does not mute it — a beam in a scrollable's cache extent or under an inactive route keeps ticking until the decoration is replaced or its render object is disposed. +- **Reduced motion is not observed.** `MediaQuery.disableAnimationsOf` is unreachable, so `playback.reducedMotion` is inert here. +- **`active` is a starting state, not a toggle**, and the decoration does not interpolate: `lerpFrom`/`lerpTo` return null, so an `AnimatedContainer` snaps between two beam decorations at the halfway point. + +Like the widget, it never absorbs a pointer: `hitTest` returns false. + +### Interaction wrappers + +```dart +BeamFocusRing(borderRadius: 12, child: TextField(decoration: decoration)); +BeamHover(borderRadius: 20, child: pricingCard); +BeamPress(borderRadius: 20, onTap: submit, child: card); +``` + +| Widget | Lights when | Default variant | Notable knobs | +| --- | --- | --- | --- | +| `BeamFocusRing` | `child`'s subtree (or `focusNode`) holds focus | `small`, `ocean` | `alwaysShow` lights it under `FocusHighlightMode.touch` too | +| `BeamHover` | the cursor is over `child`, pulling the sweep toward it | `rotate` | `followPointer`, `holdAfterExit` (300ms) | +| `BeamPress` | a finger is down on `child` | `pulseInside` | `minimumDuration` (600ms), `onTap` | + +Each is a thin wrapper that flips `BorderBeam`'s `active` (and, for `BeamHover`, feeds `follow`), so a transition gets the beam's own fades rather than a cut, and each passes `style`, `shape`, and `timing` straight through. + +`BeamFocusRing` follows `FocusManager.highlightMode`, the same rule `FocusableActionDetector` uses: it shows for keyboard and mouse focus and stays dark for touch. `BeamHover` is a desktop and web wrapper — on a touch device no mouse ever enters and the beam stays dark; `BeamPress` is its touch counterpart, holding the beam lit until `minimumDuration` has passed so a quick tap is a pulse rather than a flicker. `BeamPress` observes raw pointer events through a translucent `Listener` and never enters the gesture arena, so a button inside keeps its own taps and a scrollable above keeps its drags. + +## Accessibility + +- **Reduced motion is honored by default.** With `MediaQuery.disableAnimations` set, every variant falls back to a single static frame; `hide`, `slow`, and `animate` are one field away. See the [Playback](#playback) table. +- **Beams add no semantics.** They are decoration, and decoration that announced itself would be noise. Screen readers describe your child exactly as they would without the beam. +- **Nothing is conveyed by the beam alone.** A beam marks a state that is already stated somewhere else — the button's label, the field's helper text, a status line. Treat it as emphasis, never as the only signal that something is loading, focused, or selected. +- **Pointers pass through.** No beam layer intercepts a pointer, so hit-testing, focus traversal, and gesture handling behave as if the beam were not there. +- **`BeamFocusRing` complements the platform focus ring**; it does not replace the focused widget's semantics, and it respects `FocusManager.highlightMode` so a tapped field does not sprout a keyboard-focus ring. + +Full guidance, including contrast and vestibular considerations: **[doc/accessibility.md](doc/accessibility.md)**. + +## Performance + +- **One ticker per beam** — or exactly one per `BeamSync`, however many beams are in the group. +- **~30fps cap on the pulse variants**, matching the original's pulse driver. Time still accumulates at full resolution; only notifications are throttled, and a `pulse()`/`flash()` boost lifts the cap while it plays. +- **`RepaintBoundary` isolation.** The child sits in its own boundary inside the beam's, so animating the beam never re-rasterizes your content. +- **Color matrices are folded on the CPU.** Hue, brightness, and saturation are baked into gradient colors rather than carried on a `ColorFilter`, which would need a layer of its own. +- **Offscreen pause.** With `pauseWhenOffscreen` (the default), a beam scrolled out of its nearest enclosing `Scrollable` — with a 256px margin — stops its clock and resumes exactly where it left off. Play state, fades, and callbacks are untouched. + +The `saveLayer` count per frame — `paintBehind` plus `paintAbove` — is a fixed, measured budget, not an estimate: + +| Variant | `saveLayer`s per frame | +| --- | --- | +| `rotate` | 4 | +| `small` | 3 | +| `line` | 4 | +| `pulseInside` | 4 | +| `pulseOutside` | 3 | + +`test/painting/save_layer_budget_test.dart` counts them through a counting canvas for every variant × brightness × palette × time sample and asserts each number **exactly**, so a regression and an improvement both fail the suite until the table is updated. How to measure your own scene: **[doc/performance.md](doc/performance.md)**. + +## Parity with the original + +The constants are transcribed verbatim from the upstream `src/styles.ts`, so the rendering matches. Where this package deliberately differs: + +| Area | flutter_border_beam | The original | +| --- | --- | --- | +| Fade envelope | A spring (mass 1, stiffness 180, damping 20) | CSS `ease` — available here as `fadeCurve: BeamPlayback.cssEase` | +| Reduced motion | All five variants, defaulting to a static frame | Pulse variants only (the web build hides them; iOS and React Native do the same) | +| pulse-outside defaults | Bake the tuning the original's web demo applies | The library's stock values — available here as `BeamStyle.pulseOutsideStock` | +| `BeamTheme.auto` | Follows `Theme.of(context)` | Follows the OS color scheme | +| Child radius | Passed in; no auto-detection | Read from the child | + +Flutter-only additions, with no upstream counterpart: `hueBase`, custom palettes (`custom` / `fromSeed` / `fromScheme` / `lerp` / `scaleAlpha` / `spec`) and the seven extra presets, per-corner radii, superellipse corners, stadium shapes, arbitrary contours, `segments`, `direction`, `cycleGap`, `beamCount`, `progress`, `follow`, `BeamSync`, `BeamDecoration`, and the `BeamFocusRing` / `BeamHover` / `BeamPress` wrappers. + +Tracks upstream **border-beam 1.4.0**. How the constants are sourced, transcribed, and verified against the source: **[doc/parity.md](doc/parity.md)**. + +## How it works + +Everything animated is a **pure function of elapsed time** — there are no `AnimationController`s anywhere. + +1. **Clock.** One `Ticker` per beam (or per `BeamSync`) accumulates `elapsedSeconds`, scaled by the playback rate and gated by the fade envelope. It mirrors the original's single shared `requestAnimationFrame` loop. +2. **Phases.** Each frame, a resolver recomputes every animated track from that one number — sweep position, hue, the line variant's breathe and spike scales, the pulse oscillator bank. Same time in, same frame out, which is what makes goldens and `debugFrozenAt` possible. +3. **Strategies.** One strategy per variant family turns those phases into geometry: the traveling window and its mask, or the breathing blob table. +4. **Layers.** A single `CustomPainter` paints the stroke ring, the inner glow, and the bloom within the budget above, on a `behind` pass (pulse-outside) or an `above` pass (everything else). + +The long version, with the module map: **[doc/architecture.md](doc/architecture.md)**. + +## FAQ + +**The beam's corners don't match my card's.** +Pass the same radius your child uses — `borderRadius:` or `shape.radius`. The beam does not read the child's decoration, deliberately: it also wraps widgets that have no decoration to read. + +**My beam is clipped.** +The beam paints outside the child's bounds. `pulseOutside` needs real room around it, and a positive `ringOffset` pushes the ring further out still. Add padding in the parent and remove any tight `ClipRRect` / `ClipPath` above the beam. + +**Nothing shows up at all.** +Check reduced motion. With `reducedMotion: BeamReducedMotion.hide`, a platform request for reduced motion paints nothing — that is the behavior working. `staticFrame` (the default) always leaves a visible frame. + +**The squircle option does nothing on my Flutter version.** +`superellipse` needs Flutter ≥ 3.35, where `RSuperellipse` is stable. That is the package's declared minimum, and CI tests against exactly that version. + +**Does it work on web?** +Yes — the [live playground](https://simplifyjobs.github.io/flutter_border_beam/) is a web build of the example app, and CI builds it on every commit. The blur-heavy variants (`line`, `pulseOutside`) are the most expensive there, so prefer a single hero beam over a grid of them on web. + +**Can I animate between two beam configurations?** +With `BorderBeam`, yes — changing `cycle` retimes in place, and palettes crossfade with `BeamColors.lerp` driven by an `Animation`. With `BeamDecoration`, no: it does not interpolate, so an `AnimatedContainer` snaps. ## Example app -`example/` contains a full gallery recreating the original demo — Rotate/Pulse example tabs with mock chat inputs, task cards, and search bars, plus an interactive playground with live code snippets: +`example/` is the full gallery — the original demo recreated, with mock chat inputs, task cards, and search bars, plus the interactive playground behind the [live playground](https://simplifyjobs.github.io/flutter_border_beam/) link, live code snippets, and shareable URLs: -```bash +```console cd example && flutter run ``` @@ -257,15 +682,21 @@ cd example && flutter run Demo reels live in `example/lib/*.dart` and use the marker-based harness in `example/lib/demo_harness.dart`. Record on a booted iOS simulator (requires `ffmpeg`): -```bash +```console tool/record_demo.sh --target lib/showcase.dart --prefix SHOWCASE --contact ``` Outputs land in `.demos/` (gitignored) as 60fps center-cropped mp4s with a contact sheet for review. +## Contributing + +Issues and pull requests are welcome — start with [CONTRIBUTING.md](CONTRIBUTING.md) for the local setup, the golden-test rules, and what a good change looks like here. Security reports go through [SECURITY.md](SECURITY.md). + +One rule worth knowing before you open an editor: **never tweak values in `lib/src/constants/`**. They are transcribed 1:1 from the upstream source and visual parity depends on them — see [doc/parity.md](doc/parity.md). + ## Credits & attribution -This package is a port of **[border-beam](https://github.com/Jakubantalik/border-beam)** — created and designed by **[Jakub Antalik](https://x.com/jakubantalik)** and released under the MIT license. All visual design — the five effects, color palettes, gradient geometry, animation timings, and the demo it ships with — is his work. If you like the effect, go star the original. +This package is a port of **[border-beam](https://github.com/Jakubantalik/Libraries/tree/main/packages/border-beam)** — created and designed by **[Jakub Antalik](https://x.com/jakubantalik)** and released under the MIT license, with its own home at [Jakubantalik/border-beam](https://github.com/Jakubantalik/border-beam). All visual design — the five effects, color palettes, gradient geometry, animation timings, and the demo it ships with — is his work. If you like the effect, go star the original. The Flutter port adds the widget/controller architecture, superellipse shapes, custom palette API, and the canvas rendering engine. diff --git a/assets/showcase/showcase.gif b/assets/showcase/showcase.gif new file mode 100644 index 0000000000000000000000000000000000000000..44ff36f655fc6fe3369311b16842ffa5ddae2655 GIT binary patch literal 2729293 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/R{u^&#!eSLCaPbX9 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

    7YZD*zp14vG{3 zYPkRw)xd4nh$eWHI+cC!M>FWDq8e8qs5{bG5cHfXAl))LQ`=!n-o*K9Fk~b82OKq( z8a`_oV#ca*G70!6pxSyMC!nRuif zbh4NzV-+b%om9UQr^arDk)j(O3?(m%>!6A*wu}_QPp;F7wlz1gNP{XELnIM#HzGjs zKyt}$G6#MN4rj8ZN1{hsvbC4@CRKFLWim?Cvq@W}#1kOoH@6Irv-R}z+l!suO^ww_ zc-!bp)U@5BZWl&w(gVfS6#wjXsDd3HG!Ch9v0q;t!m~k)Uq)xIHM!~L# zI{2wora@EI$Wq!5FT{pUa)ClN-X04MHe!FtJ9;U*J~RMYlCXeIc_xzsHOZ+6&B-py zQ7sV&{uOkplO+k{g37rCPMmSPbMf|_Oi44;PKk#-=>Y;(uvi|qYF>v|-q<#G^G*<* zViqG!9vB<(_H#tLRlbvzXJSkK?0o)Hnm`twf-8lBR1Z;}@+i^r0^HiHgo^?xZ={=o zol0(jbSZbN2Pk16T`2CEf%P-2A@sze)lktY2WniuJULgCjDE zxs)SXOWo78?Fh<(uRX)AgOi6#RsO;p2=bq$Wj1J+<+PeQ)WZZ$iG!B&p-!b7#_rka z3chT)ZUJCHH#A~B#y zq$d)3jsC_{)o6i*B~?|uk5q81dg@#ixtmaYL0nH@P`Y1r!cnadmm-3y{zrfsPt6Qp zs5-H>QQ@cmqx8v|eN#H=<5Y9Kc?|E?Ja)BFfCytp`nUgOt#;mW7N zYsn+Mq)TgwSNvm}s=v~tGxFL-i&c+`ftm0ST?3KaOwrY$b=(*qn`j!R*YVY|cnCo_ zl3gjX!@B;Zk`}usH|?Pd+XzJKoB82_*KXTBp6YqM(BoJ69%G+Jba0| zR&-HqYrx%!pWtfbpiLmOY*brlkd#8!??&3gfd@;aJ#BHkW}1&@_)ZS4vS%4s~S*D>Gb_ggqxmeAnXE3}{1(iWq`#%7G%+-*yw=y>Mdv0u^ItL1gz z({U8panA7#7uh)!+%`@dOM-q~v0`^V(s4i@kSOm9cXdtp?n*r%c@){D^ttKCCP4P) zTUzip8WZF=McbSYKp52p(eGNBw+A&DF^j_}XS`{4^+Eln@&~XyEd&Lhtz&XGfxNF- zN|)egnUPOj*zz#eOxIvN%~g)4tBodq4~)pflTbIrKS$b;$?nHj-;EQ#zq;-AHRole zvwh*+OS94J_KKrKuH!re0Le#+W`0*CdZ|j(GMV1PXk}LG@q*;`Gm9fzX@9@fbLCH~ zvR2Cd!EK%PeDdi9HN($4p_ZMx%2sP516Y`^17vzC3l%Z;z5p__Z8*4wTzarUsj11w z8qH_+;Jw0thXYpz(@Hx7^y3l^?ecvFG0-7r*^We;CWZq^AELg4gW-U=u(DO#J3ZJ| zkNFkeNdBm-q-~Gn;Xw7MKA)S=fYK3al zNHdXxxGao5MB`_-10_)=p{s`EnZ4t@u#rfU zO?|U@-U&SViQ?Ms-ktG&sJ}sq%Zj zl*+&6o@J}K@@j(04#sB%Jc|--#F@c)t;}p}2HbVd`^^6KQ3)cP52&2A$QtcWnVGBa zpm+ouAFXzL4IH=(Ikn6{kLEnH7T(%&T!jtG@_n44%{CSf3y

    Iab|G+b#hI@)lr0 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Ƚf~?CZr01anby9nvvuDh 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⁡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