Skip to content

v0.0.6

Choose a tag to compare

@zombieCraig zombieCraig released this 22 Apr 00:10
· 91 commits to main since this release
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