Skip to content

Releases

v0.2.1

Choose a tag to compare

@zombieCraig zombieCraig released this 11 Mar 02:11
5f5fef0

Version 0.2.1 (2026-03-11)

Other Improvements

  • Maintenance update

v0.2.0

Choose a tag to compare

@zombieCraig zombieCraig released this 10 Mar 18:29
a34923f

What's New in v0.2.0

New Features

  • Network Routes — New route model, widgets, and progress tracking for Infiltrate Segment moves
  • Campaign Setup Wizard — Guided flow for new players through game creation
  • World Truths — Reference toolbar tab for quick gameplay access
  • Factions & Connections — New models, UI, and management for factions and connections
  • Reference Tab — Consolidated Moves/Oracles/Assets/Truths into a single Reference screen
  • Inline Oracle Results — Oracle results display inline with action support
  • Recent Moves — Track and favorite recently used moves

Improvements

  • Image caching (cacheWidth/cacheHeight) for memory-efficient decoding
  • AppImageWidget used consistently for character images
  • LocationSegment icons and updated darkNet color
  • Store move IDs instead of full descriptions to reduce save data bloat
  • GameSummary model and lazy game loading to reduce memory usage
  • Selector-based rebuilds to reduce unnecessary UI updates
  • Cached asset/move/oracle lookups in DataswornProvider

Bug Fixes

  • Safe character lookups with firstWhereOrNull to prevent crashes on missing data
  • Cache invalidation when Datasworn data is reloaded
  • Strongly typed lists in LinkedItemsSummary
  • Fixed analyzer warnings and incorrect @OverRide annotations in test mocks
  • Improved test reliability for clock tab interactions

AI Image Generation

  • Added Stability AI, Google Imagen, and FAL.ai providers
  • AiConfigProvider extracted for cleaner config management

v0.1.2 — Code Audit & Quality Improvements

Choose a tag to compare

@zombieCraig zombieCraig released this 06 Mar 10:01
69281c9

Version 0.1.2 (2026-03-06)

Features

  • Implemented AI image generation for character portraits and other game assets with 14 related improvements
  • Created a dedicated LocationEdgePainter for drawing edges between nodes with 12 related improvements
  • Added an index file for easy importing of all location graph components with 4 related improvements

Improvements

  • Enhanced screen transitions with improved visual effects and added a new Circuit Reveal transition with 13 related improvements
  • Enhanced the Move model to handle embedded oracles with 4 related improvements
  • Improved test reliability by making tests more resilient to UI changes and related improvements

Bug Fixes

  • Fixed deprecated withOpacity() method usage throughout the codebase and related improvements
  • Updated multiple files including location_graph_widget
  • Updated MoveDetails widget to include the MoveOraclePanel when a move has embedded oracles with 5 related improvements

Other Improvements

  • Simplified the search functionality in the Move Dialog and Moves Screen to only search move titles and 8 related improvements
  • Further modularized the Location Graph System into specialized components following the component extraction pattern and related improvements
  • Replaced all instances with withAlpha() for better precision and future compatibility and 3 related improvements

v0.1.1

Choose a tag to compare

@zombieCraig zombieCraig released this 04 May 01:57
20d75b3

Version 0.1.1 (2025-05-03)

Features

  • Implemented AI image generation for character portraits and other game assets with 14 related improvements
  • Created a dedicated LocationEdgePainter for drawing edges between nodes with 12 related improvements
  • Added an index file for easy importing of all location graph components with 4 related improvements

Improvements

  • Enhanced screen transitions with improved visual effects and added a new Circuit Reveal transition with 13 related improvements
  • Enhanced the Move model to handle embedded oracles with 4 related improvements
  • Improved test reliability by making tests more resilient to UI changes and related improvements

Bug Fixes

  • Fixed deprecated withOpacity() method usage throughout the codebase and related improvements
  • Updated multiple files including location_graph_widget
  • Updated MoveDetails widget to include the MoveOraclePanel when a move has embedded oracles with 5 related improvements

Other Improvements

  • Simplified the search functionality in the Move Dialog and Moves Screen to only search move titles and 8 related improvements
  • Further modularized the Location Graph System into specialized components following the component extraction pattern and related improvements
  • Replaced all instances with withAlpha() for better precision and future compatibility and 3 related improvements

v0.1.0

Choose a tag to compare

@zombieCraig zombieCraig released this 02 May 21:11
793fed8

Version 0.1.0 (2025-05-02)

Features

  • Implemented AI image generation for character portraits and other game assets with 14 related improvements
  • Created a dedicated LocationEdgePainter for drawing edges between nodes with 12 related improvements
  • Added an index file for easy importing of all location graph components with 4 related improvements

Improvements

  • Enhanced screen transitions with improved visual effects and added a new Circuit Reveal transition with 13 related improvements
  • Enhanced the Move model to handle embedded oracles with 4 related improvements
  • Improved test reliability by making tests more resilient to UI changes and related improvements

Bug Fixes

  • Fixed deprecated withOpacity() method usage throughout the codebase and related improvements
  • Updated multiple files including location_graph_widget
  • Updated MoveDetails widget to include the MoveOraclePanel when a move has embedded oracles with 5 related improvements

Other Improvements

  • Simplified the search functionality in the Move Dialog and Moves Screen to only search move titles and 8 related improvements
  • Further modularized the Location Graph System into specialized components following the component extraction pattern and related improvements
  • Replaced all instances with withAlpha() for better precision and future compatibility and 3 related improvements

v0.0.9

Choose a tag to compare

@zombieCraig zombieCraig released this 24 Apr 00:56
ef41502

Version 0.0.9 (2025-04-24)

Features

  • Implemented AI image generation for character portraits and other game assets with 14 related improvements
  • Created a dedicated LocationEdgePainter for drawing edges between nodes with 12 related improvements
  • Added an index file for easy importing of all location graph components with 4 related improvements

Improvements

  • Enhanced screen transitions with improved visual effects and added a new Circuit Reveal transition with 13 related improvements
  • Enhanced the Move model to handle embedded oracles with 4 related improvements
  • Improved test reliability by making tests more resilient to UI changes and related improvements

Bug Fixes

  • Fixed deprecated withOpacity() method usage throughout the codebase and related improvements
  • Updated multiple files including location_graph_widget
  • Updated MoveDetails widget to include the MoveOraclePanel when a move has embedded oracles with 5 related improvements

Other Improvements

  • Simplified the search functionality in the Move Dialog and Moves Screen to only search move titles and 8 related improvements
  • Further modularized the Location Graph System into specialized components following the component extraction pattern and related improvements
  • Replaced all instances with withAlpha() for better precision and future compatibility and 3 related improvements

v0.0.8

Choose a tag to compare

@zombieCraig zombieCraig released this 22 Apr 23:47
721807d

Version 0.0.8 (2025-04-22)

Features

  • Implemented AI image generation for character portraits and other game assets with 14 related improvements
  • Created a dedicated LocationEdgePainter for drawing edges between nodes with 12 related improvements
  • Added an index file for easy importing of all location graph components with 4 related improvements

Improvements

  • Enhanced screen transitions with improved visual effects and added a new Circuit Reveal transition with 13 related improvements
  • Enhanced the Move model to handle embedded oracles with 4 related improvements
  • Improved test reliability by making tests more resilient to UI changes and related improvements

Bug Fixes

  • Fixed deprecated withOpacity() method usage throughout the codebase and related improvements
  • Updated multiple files including location_graph_widget
  • Updated MoveDetails widget to include the MoveOraclePanel when a move has embedded oracles with 5 related improvements

Other Improvements

  • Simplified the search functionality in the Move Dialog and Moves Screen to only search move titles and 8 related improvements
  • Further modularized the Location Graph System into specialized components following the component extraction pattern and related improvements
  • Replaced all instances with withAlpha() for better precision and future compatibility and 3 related improvements

v0.0.7

Choose a tag to compare

@zombieCraig zombieCraig released this 22 Apr 15:51
cb934a6

Version 0.0.7 (2025-04-22)

  • Implemented a robust image handling system for uploading, saving, and displaying images: - ✅ Created AppImage model to represent images with metadata - ✅ Implemented ImageStorageService to handle saving and loading images to/from disk - ✅ Added ImageManagerProvider to manage images throughout the app - ✅ Created AppImageWidget for displaying images from both URLs and local storage - ✅ Implemented ImagePickerDialog for selecting images from different sources - ✅ Enhanced the JournalEntry model to support both URL-based and locally stored images - ✅ Updated the Character model to include an imageId field for locally stored images - ✅ Modified the JournalEntryEditor to use the new image picker dialog - ✅ Enhanced the JournalEntryViewer to render both URL and local images inline - ✅ Updated the LinkedItemsSummary widget to display both types of images - ✅ Added special handling for image markdown syntax (alt) - ✅ Implemented support for a custom format for local images (id:imageId)
  • Implemented a Linked Items feature in the journal editor to view linked characters, locations, move rolls, and oracle rolls: - ✅ Added a "Linked Items" button to the editor toolbar for toggling the linked items section - ✅ Reused the existing LinkedItemsSummary component from the journal entry viewer - ✅ Implemented dialog-based viewing of linked item details when clicked - ✅ Modified the following files: - ✅ dart_rpg/lib/widgets/journal/editor_toolbar.dart: Added Linked Items button - ✅ dart_rpg/lib/widgets/journal/journal_entry_editor.dart: Added linked items section and dialog methods - ✅ dart_rpg/lib/screens/journal_entry_screen.dart: Updated to pass the onLinkedItemsPressed callback - ✅ This feature provides easy access to linked content while editing journal entries - ✅ Improves user experience by allowing reference to linked items without leaving the editor
  • Simplified the search functionality in the Move Dialog and Moves Screen to only search move titles: - ✅ Modified the search filter in both locations to only check move.name instead of also checking move.description and move.trigger - ✅ Updated the hint text from "Enter move name or description" to "Enter move title" for clarity - ✅ Modified the following files: - ✅ dart_rpg/lib/widgets/journal/move_dialog.dart: Updated search filter and hint text - ✅ dart_rpg/lib/screens/moves_screen.dart: Updated search filter and hint text - ✅ This change makes the search more focused and only returns moves whose titles match the search query - ✅ Improved user experience by providing more relevant search results
  • Further modularized the Location Graph System into specialized components following the component extraction pattern: - ✅ LocationGraphController: Manages the state and logic for the graph - ✅ LocationNodeRenderer: Handles the rendering of location nodes - ✅ LocationEdgeRenderer: Handles the rendering of edges between nodes - ✅ LocationInteractionHandler: Handles user interactions with the graph - ✅ LocationGraphWidget: Orchestrates the other components and renders the graph

v0.0.6

Choose a tag to compare

@zombieCraig zombieCraig released this 22 Apr 00:10
8a30e51

Version 0.0.6 (2025-04-22)

  • Further modularized the Location Graph System into specialized components following the component extraction pattern: - ✅ LocationGraphController: Manages the state and logic for the graph - ✅ LocationNodeRenderer: Handles the rendering of location nodes - ✅ LocationEdgeRenderer: Handles the rendering of edges between nodes - ✅ LocationInteractionHandler: Handles user interactions with the graph - ✅ LocationGraphWidget: Orchestrates the other components and renders the graph
  • Created a dedicated LocationEdgePainter for drawing edges between nodes
  • Added an index file for easy importing of all location graph components
  • Created comprehensive documentation in a README file
  • Enhanced screen transitions with improved visual effects and added a new Circuit Reveal transition
  • Fixed deprecated withOpacity() method usage throughout the codebase
  • Replaced all instances with withAlpha() for better precision and future compatibility
  • Updated multiple files including location_graph_widget.dart, location_node_widget.dart, oracle_category_list.dart, and quest_card.dart
  • Documented conversion formula (Alpha = Opacity × 255) for future reference
  • Added code quality best practices to .clinerules file
  • Created a comprehensive guide for handling color opacity in Flutter
  • Documented common opacity-to-alpha conversions for reference
  • Added special handling patterns for dynamic opacity with animations
  • Created a code review checklist for catching deprecation issues
  • Implemented a countdown clock system for tracking game events
  • Created Clock model with properties for title, segments (4, 6, 8, or 10), type (Campaign, Tension, or Trace), and progress
  • Developed a custom ClockSegmentPainter for drawing circular segmented clocks
  • Added clock-related methods to the Game model and GameProvider
  • Created specialized components for the clock system: - ✅ ClockService: Service for clock operations - ✅ ClockForm: Component for clock data entry - ✅ ClockDialog: Component for clock creation and editing - ✅ ClockProgressPanel: Component for displaying and managing clock progress - ✅ ClockCard: Component for displaying individual clocks - ✅ ClocksTabView: Component for displaying the clocks tab
  • Added a new "Clocks" tab to the Quests screen
  • Implemented "Advance all Campaign" and "Advance all Tension" buttons for batch operations
  • Added journal entry creation when clocks are filled completely
  • Created unit tests for the Clock model and Game model's clock-related methods
  • Enhanced the UI with clear, high-contrast buttons for better readability
  • Implemented dropdown and dice button for moves with embedded oracles
  • Created MoveOracle model to represent embedded oracles in moves
  • Enhanced the Move model to handle embedded oracles
  • Created MoveOraclePanel widget to display the dropdown and dice button
  • Updated MoveDetails widget to include the MoveOraclePanel when a move has embedded oracles
  • Updated MoveDialog class to handle oracle rolls from moves
  • Fixed issue with oracle results not showing in the journal
  • Stored oracle results in the MoveRoll's moveData property
  • Enhanced journal entry display to show oracle results
  • Added tests to verify the implementation
  • Improved the user experience for moves with embedded oracles
  • Improved asset card system to properly display abilities with toggle circles
  • Created a flexible AssetContentWidget that handles both summary and detail views
  • Fixed layout issues that were causing overflow errors in asset cards
  • Updated all asset display locations to use the new components consistently
  • Modified the AssetPanel to use the AssetDetailDialog for consistent display
  • Implemented tutorial system with contextual help popups for new players
  • Created TutorialService to manage tutorial state and display logic
  • Developed a reusable TutorialPopup widget for displaying contextual help
  • Added global and per-game settings to enable/disable tutorials
  • Integrated tutorials with the Journal Screen to guide users in creating sessions
  • Implemented persistence of tutorial state using SharedPreferences
  • Enhanced character short name functionality with auto-generation and customization options
  • Added "Random Handle" and "Make l33t" buttons to the character form
  • Created LeetSpeakConverter utility for converting text to leet speak
  • Enhanced OracleService with recursive search for oracle tables by key anywhere in hierarchy
  • Improved oracle table lookup to work with nested tables like "social/fe_runner_handles"
  • Implemented a loading screen for resource-intensive operations with console-style animation
  • Created a dynamic message provider system for flexible loading screen content
  • Added background loading of Datasworn data with proper coordination
  • Implemented minimum loading time enforcement for better user experience
  • Added "System ready." message that only appears when loading is complete
  • Restructured the Location Graph System into a more modular and maintainable architecture
  • Created specialized components for the location system: - ✅ LocationService: Service for location operations - ✅ LocationForm: Component for location data entry - ✅ ConnectionPanel: Component for managing connections - ✅ LocationNodeWidget: Component for displaying individual nodes - ✅ LocationDialog: Component for location creation and editing - ✅ LocationListView: Component for displaying locations in list format
  • Simplified the LocationScreen by delegating to specialized components
  • Improved error handling and user feedback for location operations
  • Restructured the Quest Management System into a more modular and maintainable architecture
  • Created specialized components for the quest system: - ✅ QuestForm: Component for quest data entry - ✅ QuestDialog: Component for quest creation and editing - ✅ QuestProgressPanel: Component for progress tracking - ✅ QuestTabList: Component for displaying quests by status - ✅ QuestCard: Component for displaying individual quests - ✅ QuestActionsPanel: Component for quest actions - ✅ QuestService: Service for quest operations
  • Added tests for the new quest components
  • Restructured the Move functionality into a more modular and maintainable architecture
  • Created a dedicated MoveDialog class to encapsulate move selection and rolling logic
  • Separated move-related widgets into specialized components
  • Moved move-related methods from JournalEntryScreen to the MoveDialog class
  • Enhanced test structure to accommodate the new architecture
  • Fixed issues with the Move button in the journal entry screen
  • Improved test reliability by making tests more resilient to UI changes
  • Implemented automatic processing of oracle references in oracle results
  • Enhanced DataswornLinkParser to handle both link formats for oracle references
  • Created OracleReferenceProcessor utility to process nested oracle references
  • Updated OracleResultText widget to handle reference processing with loading indicators
  • Enhanced OracleRoll model to store nested oracle rolls
  • Modified all oracle rolling methods to use the new reference processing functionality
  • Added comprehensive error handling and logging for oracle reference processing
  • Improved oracle result display to show nested oracle rolls
  • Added unit tests to verify oracle reference processing functionality
  • Fixed issue with collections in JSON file not being properly parsed
  • Standardized logging approach to always use LoggingService instead of dart:developer
  • Updated DataswornLinkParser to use LoggingService for consistent logging
  • Enhanced logging with proper tags and context information for better traceability
  • Quest button in journal editor toolbar for direct access to Quest Screen
  • Fixed GameScreen to respect initialTabIndex when explicitly provided
  • Enhanced keyboard shortcut handling for CTRL+Q in the editor
  • Quest viewer with tabs for Ongoing, Completed, and Forsaken quests
  • Quest creation and management functionality
  • Quest progress tracking with 10-segment progress bar
  • Quest status changes (complete, forsake)
  • Keyboard shortcuts for quick navigation (CTRL+Q for Quests)
  • Enhanced journal entry screen with rich text editing
  • Character handle/short name support for easier referencing
  • Autocompletion for character and location references
  • Linked items summary for journal entries
  • Improved navigation flow based on character creation status

v0.0.5

Choose a tag to compare

@zombieCraig zombieCraig released this 20 Apr 17:29
58bcdb9

Version 0.0.5

No changelog entries found for this version.