Commit Graph

2826 Commits

Author SHA1 Message Date
scawful
e5256a2384 feat: Update README and Add Build Cleaner Script
- Updated the README to reflect the latest version and last updated date, enhancing documentation clarity.
- Introduced a new build_cleaner.py script to automate source list maintenance and self-header includes for YAZE, improving project organization and build efficiency.
- Added detailed instructions for hybrid CLI and GUI workflows, enhancing user guidance for utilizing the z3ed toolset.
2025-10-05 13:48:38 -04:00
scawful
978c175034 feat: Add Todo Manager Component and Dashboard Navigation
- Implemented a new Todo Manager component for managing tasks, including adding, completing, and deleting todos with a user-friendly interface.
- Introduced a Dashboard component to serve as the main entry point for navigating various tools, enhancing user experience.
- Updated layout navigation to switch from the Main Menu to the Dashboard, improving the flow of the application.
2025-10-05 13:22:28 -04:00
scawful
491f7e18d2 feat: Enhance Logging and Test Suite Integration
- Integrated logging functionality across various components, replacing standard output with structured logging for improved traceability.
- Added z3ed AI Agent test suites for enhanced testing capabilities, including connectivity and command parsing tests.
- Updated the Settings Editor to allow configuration of logging behavior, including log levels and file output options.
- Enhanced the Test Dashboard with tabbed views for better organization of test results, including GUI automation tests.
2025-10-05 13:22:15 -04:00
scawful
3b7a961884 feat: Implement Proposal Saving and GUI Automation Enhancements
- Added functionality to save AI agent plans to disk using ProposalRegistry, including directory creation and error handling for failed saves.
- Enhanced AIGUIController with new gRPC GUI automation actions, including click, type, wait, and verify actions, improving interaction capabilities.
- Introduced new command parsing for set-area and replace-tile commands in Tile16ProposalGenerator, allowing for more complex tile modifications.
- Added integration and unit tests for AIGUIController and Tile16ProposalGenerator to ensure robust functionality and error handling.
2025-10-05 13:07:03 -04:00
scawful
c3df55d787 feat: Add Todo Command and Improve Argument Parsing in Palette Export/Import
- Introduced a new 'todo' command in the agent handler for managing tasks and project planning.
- Enhanced argument parsing in PaletteExport and PaletteImport to ensure proper usage and error handling, improving user feedback for command execution.
2025-10-05 12:46:07 -04:00
scawful
02a72051f6 feat: Refactor UI Layouts and Enhance Visibility in AgentChatWidget and AgentEditor
- Restored a compact single-row layout for the AI provider selection in AgentChatWidget, improving visibility and accessibility.
- Removed redundant RenderAgentConfigPanel to streamline the UI, ensuring the connection header is always visible.
- Updated the collaboration panel to be always visible, enhancing user interaction without the need for collapsing headers.
- Modified the AgentEditor layout to feature a three-column design with always-visible settings and status cards, improving organization and user experience.
- Enhanced the chat history popup with a more compact title and provider dropdown, ensuring buttons are properly spaced and functional.
2025-10-05 12:46:00 -04:00
scawful
8e7c179d47 feat: Improve Argument Parsing in OverworldGetTile and Implement ROM Saving in PaletteImport
- Enhanced argument parsing in OverworldGetTile to handle map_id, x, and y parameters more robustly, ensuring proper usage feedback.
- Added functionality to save the modified palette to the ROM in PaletteImport, updating the success message to confirm the save operation and display the filename.
2025-10-05 12:29:59 -04:00
scawful
44df204332 feat: Enhance AgentChatWidget with Chat Session Management and UI Improvements
- Implemented functionality to save, load, and delete chat sessions, allowing users to manage their chat history effectively.
- Introduced a new layout for the connection status bar and improved the AI provider selection interface for better visibility.
- Enhanced the UI of the AgentEditor with a modular 3-column layout, including dedicated tabs for system prompts and common tiles, improving user experience and organization.
2025-10-05 12:29:32 -04:00
scawful
744c49ffc8 feat: Implement ROM Saving Functionality and Update Success Message
- Added functionality to save the modified graphics sheet to the ROM after import, ensuring changes are preserved.
- Updated success message to confirm the ROM has been saved and display the filename for better user feedback.
2025-10-05 12:21:53 -04:00
scawful
cbe8a3c6d1 feat: Implement ROM Saving After Patch Application
- Added functionality to save the patched ROM after applying the patch, ensuring changes are preserved.
- Updated success message to include the filename of the saved ROM for better user feedback.
2025-10-05 12:21:46 -04:00
scawful
5034e1e97d feat: Add Common Tiles Reference and Enhance Asset Management
- Introduced a new common_tiles.txt file for AI agents, providing a customizable reference for various tile types used in projects.
- Updated CMake configuration to improve asset copying for macOS and non-Apple platforms, ensuring agent assets are correctly placed in the output directory.
- Enhanced the AssetLoader to support additional search paths for asset retrieval, improving cross-platform compatibility.
- Improved error handling in the AgentEditor for missing prompt files, providing clearer instructions for users on file locations and creation.
2025-10-05 12:16:59 -04:00
scawful
a7c384a37d feat: Enhance AgentChatWidget with Improved Message Handling and UI Updates
- Updated the AgentChatWidget to manage AI response states, including a new mechanism for handling pending messages and a thinking animation indicator.
- Improved the initialization of embedded labels for resource tools, ensuring labels are loaded only when necessary, enhancing performance and user experience.
- Refined the chat history synchronization process to ensure timely updates in the chat history popup.
- Enhanced the UI layout for better readability and interaction, including adjustments to button styles and spacing for a more polished appearance.
2025-10-05 12:08:11 -04:00
scawful
8b9f838054 feat: Add GUI Automation Tool for Tile Placement
- Introduced the HandleGuiPlaceTileCommand function to facilitate tile placement via GUI automation, enhancing the tool's capabilities for user interaction.
- Updated the ToolDispatcher to include the new command, allowing for seamless integration into the existing command structure.
- Enhanced the AgentChatWidget to initialize default labels for resource tools, improving the user experience with visual feedback on label loading status.
- Improved error handling and user messaging for better clarity during tile placement operations.
2025-10-05 06:04:18 -04:00
scawful
38915a5162 feat: Implement Z3ED Command Callbacks for Proposal Management in EditorManager
- Added Z3ED command callbacks for managing proposals within the AgentChatWidget, enhancing user interaction with proposal acceptance, rejection, listing, and diff viewing functionalities.
- Updated the AgentChatWidget to initialize default chat sessions and improved the chat history popup with new message sending and snapshot capturing capabilities.
- Enhanced the UI of the AgentEditor with a compact tabbed interface for better organization of bot management and session history, improving overall user experience.
2025-10-05 05:51:53 -04:00
scawful
fbcfadbd11 feat: Add AssetLoader for Cross-Platform Asset Management
- Introduced the AssetLoader class to facilitate loading assets across different platforms, including macOS and standard relative paths for Windows and Linux.
- Implemented methods for searching asset paths, finding asset files, and loading text files, enhancing the flexibility and usability of asset management.
- Updated CMake configuration to include the new asset_loader source files, ensuring proper integration into the build system.
2025-10-05 05:50:58 -04:00
scawful
94c7add494 feat: Integrate Chat History Popup and Shortcuts in EditorManager
- Initialized the AgentChatHistoryPopup within the EditorManager, enhancing user interaction by providing quick access to chat history.
- Added keyboard shortcuts for toggling the Chat History Popup and Proposal Drawer, improving workflow efficiency.
- Updated the menu to include options for accessing the Chat History and Proposal Drawer, streamlining user navigation.
- Enhanced the drawing logic to ensure the chat history popup is displayed alongside the proposal drawer for better visibility.
2025-10-05 05:40:47 -04:00
scawful
2aeb384034 feat: Add Agent Chat History Popup for Enhanced User Interaction
- Introduced the AgentChatHistoryPopup class to provide a sidebar for displaying recent chat messages, improving accessibility and user experience.
- Implemented message filtering options (All, User Only, Agent Only) and auto-scroll functionality for better message management.
- Enhanced the AgentChatWidget to synchronize chat history with the new popup, ensuring users have up-to-date information at their fingertips.
- Updated CMake configuration to include the new build_cleaner target for improved project maintenance.
2025-10-05 05:31:07 -04:00
scawful
e490dea2e5 feat: Enhance Agent Editor and Chat History Management
- Added support for internal message handling in the AgentChatHistoryCodec, allowing messages marked as internal to be excluded from user display.
- Updated the AgentChatWidget to skip rendering internal messages, improving user experience by reducing clutter.
- Introduced a comprehensive bot profile management system in the AgentEditor, enabling users to create, save, load, and manage bot profiles with detailed configurations.
- Enhanced the UI for the AgentEditor, including a new tabbed interface for better organization of settings, prompts, and profiles, along with improved metrics and chat history viewing capabilities.
- Implemented JSON support for bot profile management, allowing for easy export and import of profiles, streamlining user workflows.
2025-10-05 05:27:11 -04:00
scawful
4cca86cf83 refactor: Clean Up AgentChatWidget and Editor for Improved UI and Functionality
- Removed default visibility settings for agent configuration panels in the AgentChatWidget, streamlining the UI.
- Enhanced message rendering with improved spacing and tooltip functionality for better user interaction.
- Updated the AgentEditor to ensure proper initialization of the chat widget, enhancing dependency management.
- Refined the layout of various panels for a more compact and user-friendly experience, including adjustments to input fields and button styles.
2025-10-05 05:16:08 -04:00
scawful
8d13c31df8 feat: Update AI Model References and Enhance Agent Chat Widget Functionality
- Updated AI model references from "gemini-2.0-flash-exp" to "gemini-2.5-flash" across various components, ensuring compatibility with the latest AI capabilities.
- Enhanced the AgentChatWidget to improve user experience with new features such as message copying, improved input handling, and session management.
- Introduced a chat session management system, allowing users to create and switch between multiple chat sessions seamlessly.
- Improved UI elements for better visibility and interaction, including styled buttons and tooltips for enhanced usability.
2025-10-05 04:55:18 -04:00
scawful
12c2837c9a feat: Refine Agent Editor and EditorManager for Enhanced UI and Configuration
- Updated the Agent Editor to improve model and host URL input handling, ensuring better user experience and configuration management.
- Added functionality to load the Gemini API key from the environment, providing users with a seamless way to configure their settings.
- Enhanced the EditorManager to update the agent editor dashboard and ensure the proposal drawer is always drawn, improving the overall UI flow and collaboration features.
2025-10-05 04:10:15 -04:00
scawful
cbfed441ad feat: Enhance Agent Editor and Chat Widget for Improved Configuration and Collaboration
- 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.
2025-10-05 04:03:37 -04:00
scawful
c495368d6a feat: Revamp Welcome Screen and EditorManager Menus for Improved User Interaction
- 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.
2025-10-05 03:38:01 -04:00
scawful
33242a8803 feat: Revamp EditorManager and UI Components for Enhanced User Experience
- 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.
2025-10-05 03:19:36 -04:00
scawful
81c67728a9 feat: Enhance EditorManager with Editor Selection and Shortcut Functionality
- 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.
2025-10-05 02:59:06 -04:00
scawful
576229f7c3 feat: Enhance Welcome Screen and Menu Structure in EditorManager
- Integrated a new `WelcomeScreen` class for a modernized user experience, featuring callbacks for opening ROMs, creating new projects, and opening existing projects.
- Updated the menu structure to include new items for message and music editors, as well as an AI Agent menu for collaboration features.
- Added functionality for hosting and joining collaboration sessions, along with options for network settings and session management.
- Improved the welcome screen display logic to handle recent projects and user interactions more effectively.
2025-10-05 02:28:46 -04:00
scawful
499550f628 feat: Add UserSettings and WorkspaceManager for enhanced user preferences and layout management
- 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`.
2025-10-05 02:20:54 -04:00
scawful
7f07d87308 feat: Implement modern menu structure in EditorManager
- Added a comprehensive modern menu system in `EditorManager` with File, Edit, View, Workspace, Debug, and Help menus.
- Integrated various menu items with corresponding actions, including project management, editing commands, and debugging tools.
- Enhanced user experience with keyboard shortcuts for common actions and improved menu organization.
- Updated header file to declare the new `BuildModernMenu` function and included necessary dependencies.
2025-10-05 02:18:29 -04:00
scawful
1084f65b02 feat: Integrate Memory Editor functionality and remove enhanced version
- Added `memory_editor.cc` and `memory_editor.h` to implement core memory editing features.
- Introduced a toolbar with options for jumping to addresses, searching patterns, and managing bookmarks.
- Removed the `EnhancedMemoryEditor` class and its associated files, streamlining the memory editing process.
- Updated `editor_library.cmake` and `editor_manager.h` to reflect the new structure and dependencies.
2025-10-05 02:10:41 -04:00
scawful
20b8251724 feat: Refactor editor structure and enhance multi-session support
- 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.
2025-10-05 02:09:50 -04:00
scawful
46b5f1f288 fix: Allow z3ed build to continue on error
- Updated CI workflow to set `continue-on-error: true` for the z3ed build step, ensuring that the CI process does not fail immediately on build errors.
2025-10-05 01:51:05 -04:00
scawful
a4103e8e5c feat: Add Enhanced Memory Editor with toolbar functionality
- Introduced `EnhancedMemoryEditor` class for advanced memory editing capabilities.
- Implemented a toolbar with buttons for jumping to addresses, searching patterns, and managing bookmarks.
- Added popups for address jumping and pattern searching, enhancing user interaction.
- Removed unnecessary style variable pop from `AgentChatWidget` for cleaner UI management.
2025-10-05 01:50:53 -04:00
scawful
9f119abba7 feat: Introduce Autocomplete Engine and TUI for enhanced command input and suggestions
- Added `AutocompleteEngine` class for managing command and parameter suggestions with fuzzy matching.
- Implemented TUI components for an interactive command input interface with real-time suggestions.
- Enhanced user experience with a quick action menu for common tasks related to ROM manipulation.
- Established a structured approach for contextual help based on user input, improving command discoverability.
2025-10-05 01:45:56 -04:00
scawful
7712456154 feat: Add ROM hacking guides and prompt management for enhanced user support
- Introduced `alttp_rom_hacking_guide.txt` and `oracle_of_secrets_guide.txt` for detailed ROM structure and hacking techniques.
- Implemented `PromptManager` class to manage loading and retrieving prompts based on different modes.
- Enhanced system prompt with new tool capabilities for hex and palette manipulation, along with TODO management features.
- Updated CLI experience with improved command handling and user guidance for ROM exploration tasks.
2025-10-05 01:45:19 -04:00
scawful
7309baa8c2 feat: Implement advanced routing system for agent tool responses
- Introduced AdvancedRouter class for routing hex analysis, map editing, and palette analysis responses.
- Added methods for generating GUI automation scripts and synthesizing multi-tool responses.
- Implemented knowledge modules for agent pretraining, covering ROM structure, hex analysis patterns, and tool usage examples.
- Enhanced data handling with structured responses, including summaries, detailed data, and next steps for user guidance.
- Refactored project build process to utilize std::filesystem for cross-platform patch application.
2025-10-05 01:44:23 -04:00
scawful
dc89d7b818 feat: Enhance Command Palette with Fuzzy Search and Improved UI
- Implemented fuzzy search functionality for command filtering, allowing for more flexible command matching.
- Updated Command Palette UI to include a scoring system for commands based on usage and recency.
- Added new command categories and improved display organization with a table format.
- Introduced recent and frequent command tracking for better user experience.
- Refactored command handling to support dynamic command execution and improved navigation.
2025-10-05 01:32:28 -04:00
scawful
9358e95116 revamp tui menu 2025-10-05 01:27:03 -04:00
scawful
fb7f443fe3 feat: Enhance SettingsEditor with new features and UI improvements
- Added new tabs for Theme Management, Editor Behavior, Performance Settings, and AI Agent Configuration in the SettingsEditor.
- Implemented UI elements for theme selection and management, including current theme display and available themes grid.
- Introduced editor behavior settings such as auto-save options and recent files limit.
- Added performance settings for graphics and memory management.
- Updated keyboard shortcuts section with a placeholder for future customization features.
2025-10-05 01:20:14 -04:00
scawful
019c20e749 feat: Enhance z3ed networking documentation and CLI capabilities
- Updated NETWORKING.md to reflect the new versioning and provide a comprehensive overview of the z3ed networking, collaboration, and remote access features.
- Introduced detailed architecture descriptions, including communication layers and core components for collaboration.
- Added new CLI commands for hex and palette manipulation, enhancing the functionality of the z3ed CLI.
- Implemented a TODO management system within the CLI for better task tracking and execution planning.
- Improved README.md to include new CLI capabilities and enhancements related to the TODO management system.
2025-10-05 01:15:15 -04:00
scawful
40f44aa42a chore: Update .gitignore and Doxyfile for improved organization and versioning
- Expanded .gitignore to include additional build artifacts, IDE files, and logs for better project cleanliness.
- Updated Doxyfile to increment project version from 0.3.1 to 0.3.2, reflecting recent changes and improvements.
- Adjusted excluded directories in Doxyfile for clearer documentation generation.
2025-10-05 01:05:37 -04:00
scawful
277201416c feat: Enhance CMake presets and add new function schemas for ROM manipulation
- Updated CMake presets for macOS to include binary directory and cache variables for improved build configuration.
- Added new function schemas for ROM manipulation, including `hex-read`, `hex-write`, `hex-search`, and palette management functions such as `palette-get-colors` and `palette-set-color`.
- Introduced TODO management functions to create, list, and update tasks, enhancing task tracking capabilities within the application.
2025-10-05 01:00:32 -04:00
scawful
04c43fb99e refactor: Update window creation and file dialog handling for improved consistency
- 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.
2025-10-05 00:57:05 -04:00
scawful
d52b8ae006 feat: Implement Vim-style line editing mode for enhanced CLI experience
- Added a new `VimMode` class to provide Vim keybindings for terminal interactions, including normal, insert, and visual modes.
- Implemented command history navigation and tab completion features to improve user experience.
- Introduced syntax highlighting for code blocks and various editing commands to enhance functionality.
- Created an enum `VimModeType` to represent different editing modes, facilitating mode management within the CLI.
2025-10-05 00:36:23 -04:00
scawful
92a3ddded2 refactor: Update CMake presets and improve MusicEditor initialization
- Added binary directory paths to CMake presets for better build organization.
- Enhanced the macOS AI preset description to include networking capabilities.
- Refactored MusicEditor constructor to remove ROM dependency, simplifying initialization.
- Cleaned up unused ROM pointer methods in MusicEditor for improved clarity.
2025-10-05 00:35:47 -04:00
scawful
5a35718070 refactor: Update Doxyfile and resource paths for improved organization
- Changed the paths for project logo and icon in Doxyfile to point to the new assets directory.
- Updated CMake configurations to reflect the new locations of resource files, enhancing clarity and maintainability.
- Replaced instances of core utility functions with util functions across various files for consistency in file handling.
- Added new resource files for Windows platform support and removed obsolete resource files, streamlining the build process.
2025-10-05 00:31:46 -04:00
scawful
28bc2d4cc7 refactor: Update RecentFilesManager and ThemeManager for improved utility usage
- 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.
2025-10-05 00:28:49 -04:00
scawful
91a22bffbb refactor: Update ROM service implementation and CMake configurations
- Adjusted paths in CMake files to reference the correct location of `rom_service.proto`.
- Refactored `RomServiceImpl` to use a namespace alias for improved readability and maintainability.
- Updated method parameters in `RomServiceImpl` to utilize the new namespace alias for consistency.
- Added a new `rom_service.proto` file to define the ROM manipulation service, enabling remote operations for reading and writing ROM data.
- Enhanced the `RecentFilesManager` to utilize a utility function for retrieving the configuration directory, improving code clarity.
- Included necessary updates in CMake configurations to integrate the new proto file and ensure proper build setup.
2025-10-05 00:24:35 -04:00
scawful
eec9f84fb0 refactor: Update CMake configurations and enhance TODO management features
- Replaced `${CMAKE_SOURCE_DIR}` with `${PROJECT_SOURCE_DIR}` in CMake files for consistent path handling.
- Introduced new `todo_commands` and `todo_manager` components to manage TODO items, including creation, listing, updating, and deletion functionalities.
- Added detailed implementations for handling TODO commands in the CLI, improving task management capabilities.
- Enhanced the `TodoManager` class to support persistence and execution planning for TODO items.
- Updated CMake configurations to include new source files related to TODO management, ensuring proper integration into the build system.
2025-10-05 00:19:57 -04:00
scawful
6387352ecc refactor: Enhance MusicEditor functionality and UI components
- Updated the `MusicEditor` class to integrate a new playback engine (`emu::Apu`) for real-time music playback.
- Refactored UI components to improve the music editing experience, including dynamic song selection and enhanced visualization of music data.
- Introduced methods for starting and stopping playback, along with a new tracker view for displaying song patterns and commands.
- Removed obsolete methods and streamlined the drawing functions for better maintainability and clarity.
- Added detailed implementation plans as comments to guide future development and feature integration.
2025-10-05 00:03:43 -04:00
scawful
6c0e7a96a5 refactor: Update GUI components and integrate new palette widget
- 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.
2025-10-04 23:59:08 -04:00