ComicSparks/wax
60.0
Adequate · 19 September 2026
10.9k
lines of production code
Dart
primary language
1
measurement over time
What this system is
Wax is a cross-platform comic reader application built with Flutter and Go, supporting Android, iOS, macOS, Windows, and Linux. It enables users to browse, search, and read comics from various sources, with features for managing favorites, viewing history, and downloading content in multiple formats. The system handles local data storage, secure authentication, and customizable reading preferences, while automated CI tools manage release validation and distribution.
Features
Added CI commons library for version handling and release data types
The \ci/commons\ package now includes \funcs.go\ and \types.go\, introducing shared utilities and data structures for the CI pipeline. \funcs.go\ provides a \LoadVersion\ function that reads version code and info from local text files, while \types.go\ defines Go structs for \Version\ and \Release\ (mirroring GitHub Release API responses) to standardize how versioning and release metadata are handled across CI scripts.
ci/commons · high confidence
Added generated protobuf code for properties and comic data
New generated Dart files (properties.pb.dart, properties.pbenum.dart, properties.pbjson.dart, properties.pbserver.dart) have been added to lib/protos, implementing message types such as SavePropertyQuery, LoadPropertyQuery, FetchComicQuery, and ComicSimple. This enables the application to serialize and deserialize property configurations and comic metadata via Protocol Buffers.
lib/protos · high confidence
Added mobile build and utility scripts
The repository now includes a suite of shell scripts in the \scripts/\ directory to automate the build process for Android, iOS, and macOS targets. These scripts handle Go mobile bindings for various architectures (arm, arm64, x86\_64), Rust-to-Go code generation, and platform-specific packaging (APK, IPA, DMG). Additional utilities are provided for protocol buffer compilation, version management, APK signing, and iOS payload optimization.
scripts · high confidence
Initial Android application configuration and native integration
The Android module is initialized with the base Flutter project structure, including the main AndroidManifest.xml which declares necessary permissions for storage access, biometric authentication, and external storage management. The MainActivity.kt file establishes the native bridge, registering method channels for data local storage, migration, and secure flags, as well as event channels for biometric authentication and volume button controls. Standard launch themes and drawable resources are also added to support the app's visual presentation on Android.
android/app · high confidence
Initial Flutter application structure and iOS workspace configuration
This change introduces the foundational structure for the application. On the iOS side, it establishes the Xcode workspace configuration, linking the main project with CocoaPods dependencies and setting workspace preferences (such as disabling previews). On the Dart side, it adds the primary entry point (\lib/main.dart\) which initializes the Flutter app with a \MaterialApp\ configured for light/dark themes, custom scroll behavior, and route observation, starting with an \InitScreen\. A separate desktop entry point (\lib/main\_desktop.dart\) is also added to support go-flutter environments.
ios/Runner.xcworkspace, lib · high confidence
Initial Linux desktop platform support
Added the Linux desktop target for the 'wax' application, enabling native execution on Linux systems. This includes the CMake build configuration, GTK-based window management with GNOME header bar support, and the registration of the url\_launcher\_linux plugin.
linux · high confidence
Initial Windows platform support for the wax application
This change adds the complete Windows build configuration and runner code for the wax Flutter application. It introduces the CMake build system, the Win32 window host implementation with high-DPI awareness, and the registration of the permission\_handler and url\_launcher plugins, enabling the app to be built and run natively on Windows.
windows · high confidence
Initial definition of comic reader and download service interfaces
This change introduces the \protos/properties.proto\ file, establishing the core protocol buffer definitions for the application's comic reading and management features. The schema defines messages for fetching and displaying comic details (including covers, titles, tags, and descriptions), managing user authentication (register and login), handling favorites, and tracking download progress for comics and their pages. It also includes support for caching images, searching comics, and managing user preferences, laying the groundwork for the client-server communication regarding comic content and user data.
protos · high confidence
Initial iOS app configuration and native integration
The iOS project has been initialized with the standard Flutter Runner structure, including the AppDelegate, storyboards, and asset catalogs. This change introduces native iOS capabilities for the app, specifically enabling device owner authentication via LocalAuthentication and allowing images to be saved to the photo library. It also configures the app bundle metadata, such as the display name 'Wax', the entertainment app category, and permissions for photo library access.
ios/Runner · high confidence
Initial macOS platform support added
The macOS platform is now supported for the 'wax' application. This change introduces the complete native Xcode project structure, including the main application entry point (AppDelegate), the Flutter window controller, and the standard macOS menu bar interface. It also configures the build system with CocoaPods for dependency management, sets the bundle identifier to 'opensource.wax', and applies appropriate security entitlements for sandboxing and JIT execution.
macos · high confidence
Initial release of Wax Comic Flutter application
This entry marks the initial commit of the Wax Comic project, introducing the core Flutter application structure. The diff establishes the project configuration by adding \.fvmrc\ to pin the Flutter SDK version to 3.10.5, sets up standard \.gitignore\ rules for Flutter/Dart build artifacts and IDE files, and configures static analysis via \analysis\_options.yaml\ using \flutter\_lints\. It also includes the MIT \LICENSE\, project metadata, and a \README.md\ detailing the multi-platform architecture (using Go-flutter for desktop and gomobile for mobile) and usage guidelines.
(repo-wide) · high confidence
Initial release of comic browsing UI components
This change introduces the core set of UI components for the comic browsing experience in the \lib/screens/components\ directory. It adds a \ComicPager\ that supports both stream and pager loading modes, a \ComicList\ that renders comics in various view modes (cover, info, title variations) with optional viewed marks and selection states, and a \BrowserBottomSheet\ for adjusting layout settings like column count and view mode. The entry also includes supporting widgets such as \ComicInfoCard\ and \DownloadInfoCard\ for displaying comic details, \ContentBuilder\ for handling async state (loading, error, success), and \ComicImage\ for optimized image loading and caching. Additionally, it provides a \VersionBadged\ widget to show update notifications and a \RecommendLinksPanel\ for displaying external links.
lib/screens/components · high confidence
Initial release of core library utilities and comic browsing logic
This change introduces the foundational \lib/basic\ module, providing essential UI helpers (dialogs, toasts, text input), platform-specific image saving logic, and the core methods for comic browsing. It includes category mapping for filtering comics (e.g., Doujinshi, Manga, Korean comics) and a \Methods\ class that handles remote operations like fetching comic lists, searching, retrieving comic info/pages, caching images, and managing app configuration via a native method channel.
lib/basic · high confidence
Initial release of the comic reader application screens
This change introduces the complete set of user interface screens for the application, establishing the core reading and management experience. Key additions include the main browser and comic reader interfaces, a history viewer with options to clear individual or all records, and a favorites system that now supports user-created partitions and management. The downloads section has been expanded to include a dedicated list view, detailed download information, and a new export capability allowing users to save downloaded comics as ZIP, CBZ, or PDF files. Additional features include a calculator tool, a screen for replacing access keys, and a first-time login flow.
lib/screens · high confidence
New CI automation tools for release validation and distribution
Added four new Go-based CLI tools to the CI pipeline: \check\_asset\ verifies whether a specific build artifact already exists in a GitHub release to prevent duplicate uploads; \check\_release\ ensures a GitHub release tag exists, creating it if necessary; \upload\_asset\ uploads the compiled binary (e.g., .dmg, .ipa, .apk) to the corresponding GitHub release; and \send\_to\_community\ automatically posts release announcements to configured Telegram and Discord channels.
ci/cmd · high confidence
New configuration options for reader behavior, display, and app settings
This change introduces a comprehensive set of new configuration modules in lib/configs, allowing users to customize the application's behavior and appearance. Key additions include settings for app orientation (normal, landscape, portrait) and Android-specific display modes (screen refresh rate). The reader experience is enhanced with controls for controller types (e.g., single/double tap, three-area), scroll modes (WebToon image vs. screen), zoom scales, slider positions, and two-page gallery directions. Additional features include automatic cleaning of view logs and general data, download thread count management (Pro feature), host selection for network分流, and theme customization (light/dark modes). These changes provide users with granular control over how content is displayed and how the app manages resources.
lib/configs · high confidence
iOS project configuration initialized with Go Mobile framework support
The iOS build configuration has been established, introducing a new Xcode project structure that integrates the \Mobile.xcframework\ from the Go Mobile library (\../../go/mobile/lib/Mobile.xcframework\) alongside the standard \Pods\_Runner.framework\. This setup includes the necessary build phases, file references, and workspace settings to compile the native iOS application, enabling the use of Go-based mobile components within the iOS app.
ios/Runner.xcodeproj · high confidence
Behavioural changes
Initial iOS Flutter configuration files added
The project now includes the standard iOS Flutter configuration files (AppFrameworkInfo.plist, Debug.xcconfig, and Release.xcconfig) within the ios/Flutter directory. These files establish the basic build settings, including a minimum iOS deployment target of 11.0, and configure the build system to include generated xcconfig files and CocoaPods support for the Flutter framework.
ios/Flutter · high confidence
Test coverage
Added initial widget test for the application counter
Added a new widget test file that verifies the basic functionality of the MyApp widget, specifically checking that the counter starts at 0 and increments to 1 when the add icon is tapped.
test · high confidence
Dependencies
Added Gradle wrapper configuration for version 7.5
The project now includes a Gradle wrapper properties file that configures the build system to use Gradle version 7.5. This ensures consistent build environments across different machines by specifying the distribution URL and storage paths for the Gradle binaries.
android/gradle · high confidence
Initial project scaffolding and dependency configuration
This change introduces the foundational build configuration and dependency manifests for the 'wax' Flutter application across Android, iOS, macOS, and the Dart/Go backend. It establishes the Android build environment with compile SDK 33, min SDK 21, and Kotlin 1.7.10, alongside the iOS/macOS CocoaPods setup targeting iOS 11.0 and macOS 10.14. The Dart \pubspec.yaml\ defines the app's core dependencies, including \file\_picker\, \permission\_handler\, \flutter\_svg\, and \crypto\, while the Go \ci/go.mod\ sets up the CI module with \disgord\ and \telegram-bot-api\ for bot integrations.
(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 60.
Lenses
- Code Health 89
- Architecture 96
- Maturity 52
- Readiness 52
- Security 66
- Domain Modelling 100
Changes since last survey
- 180 commits — 161 feature/other, 19 fixes
By area
- .github/workflows — 55 commits
- lib/screens — 34 commits
- (root) — 33 commits
- android/app — 11 commits
- ci/cmd — 8 commits
- lib/configs — 7 commits
- ci/version.info.txt — 6 commits
- lib/protos — 5 commits
- lib/basic — 4 commits
- ci/version.code.txt — 3 commits
- ios/Runner — 2 commits
- ios/Runner.xcodeproj — 2 commits
- lib/assets — 2 commits
- (repo) — 1 commit
- ios/Podfile — 1 commit
- ios/Podfile.lock — 1 commit
- lib/packaging — 1 commit
- scripts/bind-android-arm64.sh — 1 commit
- scripts/build-apk-arm.sh — 1 commit
- scripts/protoc.sh — 1 commit
Notable commits
- fix: :bug: Fix android build
- fix: :bug: Modify fixnum package
- fix: :bug: fix downloads more
- fix: :bug: fix history
- fix: :bug: fix jump
- fix: :bug: fix text
- fix: :bug: fix: viewlog auto clean
- fix: :bug: fix: clear
- fix: :recycle: fix broken cover images
- fix: :rocket: Fix any
- fix: :rocket: Fix ci
- fix: :rocket: Fix ci
- fix: :rocket: Fix ci
- fix: Fix ci
- fix: Fix save image
- fix: Fix save image
- fix: Fix stream
- fix: fix ghToken to protoc install
- fix: fix: android sdk version
- change: ":memo:" Update README.md
- …and 160 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
ComicSparks/wax 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 91a70e553486418ff57f924e13d7f4342c9c7de1 — 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.