Skip to content
CAI
Software that uses CAICheck a score

glorylab/wave

67.9

Adequate · 19 September 2026

2.3k

lines of production code

Dart

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is a Flutter library that renders customizable wave animations using configurable layers, colors, and gradients. It provides a core widget for visualizing these waves and includes an interactive example application to demonstrate and generate configuration code. The package supports modern Dart versions and includes comprehensive testing for configuration validation and rendering performance.

Features

Add interactive Wave Generator example project

An example application has been added to demonstrate the \wave\ package. This interactive generator allows users to adjust configuration modes (SingleConfig, RandomConfig, CustomConfig), palettes, layer counts, wave height, amplitude, animation speed, and loop behavior, with immediate preview updates and live frame metrics. It includes a 'Code' feature to inspect and copy the generated Flutter widget, and supports running locally on web (Chrome) or viewing a live demo.

example · high confidence

Add web entry point for the example application

The example application now includes the necessary \index.html\ and \manifest.json\ files to support web deployment. This addition enables the app to be served as a standalone web application with proper metadata, icons, and Flutter web initialization logic.

example/web · high confidence

New Wave Generator demo application with interactive configuration

The example/lib location now contains a complete, null-safe Flutter demo application (main.dart) that serves as an interactive wave generator. Users can now explore the library's capabilities through a UI that supports single, random, and custom configuration modes, allowing them to adjust parameters such as layers, height, amplitude, and speed. The demo includes built-in color palettes (Ocean, Sunset, Mint, Violet), supports Material 3 theming, and provides functionality to copy generated code snippets to the clipboard or view the source code in a dialog.

example/lib · high confidence

New wave animation configuration and widget implementation

This change introduces the core configuration and widget files for a wave animation feature. The \config.dart\ file defines a \ColorMode\ enum (single, random, custom) and a \Config\ base class with validation logic for layer counts, durations, height percentages, and opacity percentages. It also introduces \CustomConfig\ for explicit per-layer colors or gradients. The \widget.dart\ file contains the main widget implementation, which includes the Apache License 2.0 header and appears to be the primary UI component for rendering these waves.

lib/src · high confidence

Architecture

Refactored wave library into modular source files

The wave animation library has been restructured from a single monolithic file into separate modules. The main entry point now exports configuration helpers from \src/config.dart\ and the widget implementation from \src/widget.dart\, improving code organization and maintainability for users integrating the library.

lib · high confidence

Behavioural changes

Wave package v0.2.5: Performance improvements and Dart 3 support

This release improves \WaveWidget\ paint performance for long-duration, high-amplitude wave configurations and adds runtime validation for custom gradient and layer configurations. It also expands Dart SDK compatibility to allow Dart 3, avoids deprecated color opacity APIs, and adds default rendering support for \SingleConfig\ and \RandomConfig\. The package now includes CI coverage for Flutter 3.7.12 and the latest stable Flutter, along with improved documentation and a refreshed example app.

(repo-wide) · high confidence

Test coverage

Added benchmark test for long-duration wave animation performance; Added empty widget test scaffold; Added unit and widget tests for wave configuration validation and rendering.

Dependencies

Update example app and main package dependencies for null safety and modern Dart SDK

The example application now includes a dedicated pubspec.yaml with dependencies on url\_launcher (^6.1.10) and flutter\_lints (^2.0.0), while the main package's pubspec.yaml has been updated to require Dart SDK \>=2.12.0 \<4.0.0, reflecting a migration to null safety. The pubspec.lock has been regenerated to resolve transitive dependencies to newer versions (e.g., analyzer 4.1.0, async 2.10.0) and includes the test package (^1.16.5) in dev\_dependencies.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 68.

Lenses

  • Code Health 100
  • Architecture 87
  • Maturity 55
  • Readiness 72
  • Security 77
  • Domain Modelling 100

Changes since last survey

  • 85 commits — 78 feature/other, 7 fixes

By area

  • (root) — 33 commits
  • (repo) — 22 commits
  • .github/workflows — 9 commits
  • example/web — 5 commits
  • example/assets — 2 commits
  • example/lib — 2 commits
  • lib/config.dart — 2 commits
  • lib/src — 2 commits
  • lib/wave.dart — 2 commits
  • .github/FUNDING.yml — 1 commit
  • .github/ISSUE_TEMPLATE — 1 commit
  • .github/dependabot.yml — 1 commit
  • assets/wave_banner.png — 1 commit
  • docs/cloudflare-workers.md — 1 commit
  • example/pubspec.yaml — 1 commit

Notable commits

  • fix: Fix README.md
  • fix: Fix config validation and animation lifecycle
  • fix: Fix the path of gif.
  • fix: Merge pull request #57 from glorylab/codex/fix-config-validation-lifecycle
  • fix: Merge pull request #64 from glorylab/codex/fix-pub-publish-permissions
  • fix: Merge remote-tracking branch 'origin/master' into codex/fix-config-validation-lifecycle
  • fix: Revert "Create CNAME"
  • change: Add Cloudflare Workers static assets deployment
  • change: Add backgroundImage To Wave Params
  • change: Add example project.
  • change: Add options of setting blur and gradient. Resolved #1 and resolved #3 .
  • change: Add web directory
  • change: Added option to stop animation by duration
  • change: Added options for custom waves and remove the image from WaveView.
  • change: Allow Dart 3 package consumers
  • change: Allow pub.dev publish OIDC token
  • change: Bump version
  • change: Bump version to 0.1.0
  • change: Cancel timer on dispose
  • change: Change banner
  • …and 65 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

glorylab/wave was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 618be5ac0e7e005918a1ad47e4989cec1a47482c — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.