2d-inc/developer_quest
56.0
Weak · 5 August 2026
8.4k
lines of production code
Dart
primary language
4
measurements over time
What this system is
This system is a Flutter-based RPG simulation game that combines resource management with mini-games. Players manage a company by assigning characters to tasks and resolving generated bugs, while also engaging in separate 'Code Chomper' and 'Style Sphinx' mini-games. The application features a responsive UI with animated Flare assets, state management via Provider, and automated performance testing tooling.
Features
Add Nexus 5 CPU scaling lock script
A new shell script, lock\_android\_scaling.sh, has been added to the tool directory. This script configures the CPU and GPU performance settings for a rooted Nexus 5 device. It sets the CPU governor to 'userspace', locks the CPU frequency, disables other CPU cores, and configures the GPU frequency and idle timer to ensure consistent performance during testing.
tool · high confidence
Add Style Sphinx mini-game with layout and animation components
The Style Sphinx mini-game is introduced, featuring a new set of interactive questions about Flutter layout widgets (Row, Column, Stack) and main axis alignment. The update includes new UI components such as a custom text bubble, a reusable button, and a success route with a sliding animation. The game logic is driven by a QuestionArguments class that manages navigation between questions, and the experience is supported by new animation utilities for visual feedback.
_lib/src/style\sphinx · high confidence
Add automated performance testing and analysis tooling
Introduced a new automated performance testing workflow for the application. This includes a Flutter Drive-based test script that captures and parses Chrome DevTools timeline data to measure metrics such as frame build times, rasterizer times, and CPU time. The system automatically generates statistical summaries (mean, percentiles, error margins) and produces visualizations (boxplots and bar charts) for build times, CPU usage, and frame request durations, storing all results in structured TSV files for tracking regressions over time.
_test\driver · high confidence
Add complete research tree
A full task tree has been added, defining the progression of unlockable features and milestones. The tree begins with a Prototype, leading to the Alpha release, then the Beta, and finally the Launch. Each stage introduces new capabilities such as backend infrastructure, image messaging, natural language processing, and various UI themes and designs. Completing tasks in the tree grants coin rewards and unlocks subsequent options, with some tasks being mutually exclusive or requiring specific skill levels.
_lib/src/shared\_state/game/task\tree · high confidence
Added Flare-based character busts and warmup caching
Introduced new Flare-based widgets for displaying character avatars and team members, including a desaturation effect for locked or available states, particle effects for available characters, and a warmup cache for all Flare assets to improve load times. The WorkTeam widget now displays active team members with their current status, and the start screen features a hero avatar with a gradient overlay.
lib/src/widgets/flare · high confidence
Introduce Aspect-based state management for game world updates
Added three new classes—Aspect, AspectContainer, and ChildAspect—to manage game state updates more efficiently. The Aspect class implements a 'dirty' flag pattern, allowing state to be marked as changed without immediately notifying listeners, which is optimized for game simulations. AspectContainer manages a hierarchy of aspects, propagating dirtiness and handling child updates, while ChildAspect provides a mixin for hierarchical searching of parent aspects. This change streamlines how components communicate and update state in the game simulation.
_lib/src/shared\state/game/src · high confidence
Introduce Code Chomper mini-game
Added a new mini-game called Code Chomper, implemented in lib/src/code\_chomper. The feature includes the main screen (code\_chomper.dart) with a game-over overlay and a custom render object (code\_chomper\_screen.dart) that draws code lines and an animated Flare character. The controller manages game state and code input, while the render object handles scrolling, visibility culling, and drawing logic.
_lib/src/code\chomper · high confidence
Introduce User state model
A new User class has been added to the shared state layer, providing a ChangeNotifier that tracks a user's name. This establishes the foundational state model for user data within the application's shared state management.
_lib/src/shared\state · high confidence
Introduce responsive layout system and new screens
Added an 'About' screen and a 'Welcome' screen, alongside a new 'Game' screen that adapts to screen width. The app now uses an 'RpgLayoutBuilder' to switch between 'slim', 'wide', and 'ultra-wide' layouts, allowing the interface to restructure for larger displays. The 'About' screen displays app credits and branding, while the 'Welcome' screen features a hero character and navigation options. The 'Game' screen splits into a slim view with a bottom navigation bar for mobile, and a wide view that displays character and task pools side-by-side.
lib/src · high confidence
Introduces animated stat badges for capital, joy, and users
The app bar now displays live game statistics using a new \StatBadge\ widget system. This adds visual indicators for Capital, Joy, and Users, each featuring distinct Flare animations that play when values change significantly (e.g., every 5 coins, 100 users, or any change to joy). A \StatSeparator\ is also added to visually separate these stats in the header.
_lib/src/widgets/app\bar · high confidence
Introduces core game loop and state management for task and bug tracking
The update adds the foundational state classes for the game's simulation loop, including \World\, \Company\, \Task\, \Bug\, and \Character\ models. This introduces a new mechanic where completing tasks can generate bugs, which then appear in the work queue for the player to resolve. The system now tracks company resources (coins, users, joy) and character attributes (skills, hiring status, bug chance offsets), enabling a gameplay loop where players assign characters to tasks and manage an evolving list of bugs.
_lib/src/shared\state/game · high confidence
New animated WelcomeButton and reusable WideButton widget
Added a new WelcomeButton widget that features a color animation effect, and a new WideButton widget that provides a full-width button with customizable background, shadow, and enabled state. These new components allow for more consistent and animated button interactions across the application.
lib/src/widgets/buttons · high confidence
New character and task management interfaces
The game screen now features dedicated UI components for managing the team and tasks. A new character pool page displays available characters, each with a bust image and status, which opens a modal showing detailed stats, skills, and upgrade/hire options. A team picker modal allows selecting multiple characters to assign to a task, with support for unassigning teams. Task selection is handled by a project picker modal that displays tasks in a pruned, hierarchical tree structure, while the task pool page lists in-progress and completed tasks. These changes introduce new widgets like AddTaskButton, BugPickerModal, and TeamPickerModal to support these interactions.
_lib/src/game\screen · medium confidence
New game over screen and reusable UI components
The game over screen now displays a star rating animation, a success message, and user statistics. This is supported by new reusable widgets: a responsive layout builder for mobile/tablet views, a skill badge for displaying skill names and values, a prowess progress bar with animation, and a keyboard helper class for key codes.
lib/src/widgets · high confidence
New work item list and header widgets
Added new widgets for displaying and managing work items (tasks and bugs) in the game. This includes a shared WorkListItem container, specialized headers (BugHeader, TaskHeader) that display required skills and rewards, and a progress bar with a tap-to-boost feature. The header also shows skill dots for required skills. The implementation includes a new TasksButtonHeader for adding tasks/bugs and a TasksSectionHeader. The task list item handles minigame triggers and game over states.
_lib/src/widgets/work\items · high confidence
Behavioural changes
1 commit (0 fixes) modifying artwork
A change to existing behaviour in artwork — 1 commit, 1 file.
artwork · low confidence · unverified
19 commits (1 fix) modifying assets/flare
A change to existing behaviour in assets/flare — 19 commits (1 fix), 24 files.
assets/flare · medium confidence · unverified
App shell refactored with Provider state management and new screens
The application's entry point has been significantly restructured to support a new architecture. State management has been migrated to use the \package:provider\ package, with multiple \ChangeNotifierProvider\ instances managing game world, user, and company states. The default home screen has been changed from a generic demo page to a \WelcomeScreen\, with additional routes for \GameScreen\, \AboutScreen\, and various \SphinxScreen\ and \CodeChomper\ mini-games. Image caching has been optimized by pre-caching assets for the Style Sphinx and Kitty components, and the Flare cache is configured to retain loaded files. The app also explicitly disposes of the \World\ state on cleanup.
lib · high confidence
New task picker UI components
The task picker now features a dedicated header widget and an item widget that renders a tree structure with connecting lines. Items display in three states—available, locked, or completed—each with distinct visual indicators (icon and opacity). The layout adapts to an ultrawide screen mode, scaling up the item height and text slightly for better readability on wider displays.
_lib/src/widgets/task\picker · high confidence
Update iOS app icon filenames and display name
The iOS app icon filenames in Assets.xcassets have been renamed from the generic 'Icon-App-\' pattern to a consistent 'icon\\*' naming scheme across all sizes and platforms. Additionally, the app's display name has been set to 'Developer Quest' via the Info.plist configuration.
ios/Runner · high confidence
iOS build configuration updated for App Store submission
The iOS project configuration has been updated to support App Store distribution. The bundle identifier was changed from 'dev.flutter.devRpg' to 'dev.flutter.rpg', and the development team was set to 'NJ3JMFUNS9'. Additionally, the 'flutter\_assets' folder was removed from the project's resource and build file references, which resolves issues with the -profile build mode.
ios/Runner.xcodeproj · medium confidence
Fixes
Restore original build system configuration for iOS workspace
The iOS workspace settings file (WorkspaceSettings.xcsettings) was re-added to the repository, restoring the configuration that specifies the 'Original' build system type. This change resolves a previous issue where this configuration was missing, ensuring the workspace builds correctly with the intended build system settings.
ios/Runner.xcworkspace · medium confidence
Test coverage
Add unit and widget tests for game logic and UI; Added unit and widget tests for Sphinx components.
Dependencies
Updated dependencies and build configuration for Android signing and Flutter 1.5.4 compatibility
The Android build configuration was updated to support release signing via a \key.properties\ file when running in CI environments (excluding CircleCI), ensuring proper APK signing. The project's \pubspec.yaml\ was modified to pin the Dart SDK to version 2.3.0-dev.0.1, aligning with Flutter 1.5.4. Several dependencies were added or updated, including \provider\ (v2.0.0), \flare\_flutter\ (v1.8.3), \intl\, \auto\_size\_text\, \flutter\_driver\, \logging\, \git\, \t\_stats\, and \test\. Additionally, custom fonts (SpaceMono, RobotoCondensed, Montserrat) and various asset directories were registered in the Flutter asset configuration.
(dependencies) · medium 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
Score
- CAI 56 → 56 (+0.0)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.19) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 99 → 99 (+0.0)
- Maturity 37 → 37 (+0.0)
- Readiness 57 → 57 (+0.0)
- Security 74 → 74 (+0.0)
- Domain Modelling 100 → 100 (+0.0)
Resolved (2)
- The README is a thin asset guide with no guidance on how to customize the launch screen beyond replacing image files. (ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md)
- The research tree diagram lives in assets/docs/research-tree.png but the README never links to it. (README.md)
New (1)
- The 'Research tree' section references a PNG diagram at assets/docs/research-tree.png but the asset is not shown in the document. (README.md)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
2d-inc/developer_quest 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 5 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 5574fd17c641207bfa898c4c3301334ca4650d38 — the exact code this score is about.
- Scored under rubric-2026.08.19 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer latest.