- Added TimingManager class to provide precise timing for animations and frame pacing, addressing issues with ImGui::GetIO().DeltaTime.
- Updated event handling in the window management to use SDL_PollEvent for improved responsiveness.
- Integrated TimingManager into EditorManager, BackgroundRenderer, and WelcomeScreen for consistent delta time usage across the application.
- Enhanced animation updates to utilize accurate frame timing, improving visual performance and user experience.
- Introduced a comprehensive AI Agent configuration dashboard, allowing users to select providers, models, and adjust settings.
- Updated the AgentChatWidget to include a reactive UI for collaboration status and improved connection management.
- Enhanced the EditorManager to initialize the agent editor with dependencies and streamline the editor selection process.
- Added functionality to clear recent editors upon loading a new ROM, ensuring a fresh start for user sessions.
- Improved the menu structure to include new options for the AI Agent, enhancing user interaction and accessibility.
- Updated the Welcome Screen to include a particle system for enhanced visual effects and a more engaging user experience.
- Reduced the number of triforces for a cleaner layout and adjusted animation settings for subtlety.
- Streamlined project card dimensions and layout for a more compact display, improving accessibility.
- Enhanced the EditorManager menus by adding new items for session management and editor selection, improving workflow efficiency.
- Improved the styling and functionality of buttons and inputs across the UI for better user interaction.
- Updated the EditorManager to streamline the editor selection process, integrating new menu items for ROM and project management.
- Enhanced the welcome screen logic to automatically show the editor selection dialog after loading a ROM, improving user flow.
- Introduced new menu options for saving and validating ROMs, creating backups, and accessing ROM information.
- Improved the editor selection dialog with distinct colors for each editor type, enhancing visual clarity and user interaction.
- Added advanced settings and collaboration features in the Agent Chat Widget, including improved connection management and model selection.
- Expanded the welcome screen with additional project card features and tips for user guidance.
- Implemented an editor selection dialog with a callback for selecting various editor types, improving user interaction.
- Added keyboard shortcuts for quick access to different editors, enhancing workflow efficiency.
- Updated the menu structure to include options for the editor selection dialog and improved session management features.
- Enhanced the welcome screen logic to optionally show the editor selection dialog after loading a ROM, streamlining the user experience.
- Introduced `UserSettings` class to manage user preferences and settings persistence, including loading and saving functionality.
- Added `WorkspaceManager` class to handle workspace layouts, sessions, and presets, improving user experience with layout management.
- Updated `editor_library.cmake` to include new source files for `UserSettings` and `WorkspaceManager`.
- Moved `menu_builder.cc` to a new `ui` directory for better organization.
- Updated `EditorManager` to generate unique ImGui IDs for multi-session support, ensuring separate window handling.
- Added session ID management in `EditorContext` for improved child panel identification.
- Introduced a new `MenuBuilder` class for streamlined ImGui menu creation, enhancing UI maintainability.
- Replaced `SDL_Deleter` with `util::SDL_Deleter` in window creation for better utility usage.
- Updated file dialog methods to consistently reference `core::FeatureFlags` for feature flag checks.
- Refactored file extension retrieval in `EditorManager` to use `util::GetFileExtension` for consistency.
- Adjusted `MusicEditor` constructor to accept a ROM pointer, enhancing initialization clarity.
- Commented out unused code in `MusicEditor` to improve readability and maintainability.
- Updated include paths in `overworld_editor.cc` for better organization.
- Cleaned up commented-out code in `editor_selection_dialog.cc` and `welcome_screen.cc` for clarity.
- Refactored RecentFilesManager to utilize the utility function for ensuring the configuration directory exists, enhancing code clarity.
- Updated ThemeManager to use the utility function for retrieving file names, improving consistency across the codebase.
- Adjusted selected_editor initialization in EditorSelectionDialog to use static_cast for better type safety.
- Removed references to the old `EnhancedPaletteEditor` and replaced it with the new `PaletteWidget` across various files, including canvas and context menu implementations.
- Updated CMake configurations to include the new `palette_widget` source files, ensuring proper integration into the build system.
- Refactored GUI code to enhance modularity and maintainability, improving the overall user experience in palette management and editing functionalities.
- Introduced new UI components for background rendering and editor selection dialogs, enhancing the application's graphical interface.