Commit Graph

2018 Commits

Author SHA1 Message Date
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
scawful
bcc8f8e8f9 refactor: Restructure file dialog handling and introduce utility classes
- Updated file dialog references across the application to utilize a new `util::FileDialogWrapper` for consistent file handling.
- Refactored existing code to replace direct calls to `core::FileDialogWrapper` with the new utility class, enhancing modularity and maintainability.
- Introduced `util::PlatformPaths` for cross-platform directory management, ensuring consistent access to user directories and application data paths.
- Added new utility functions for file operations, improving the overall file handling capabilities within the application.
- Updated CMake configurations to include new utility source files, streamlining the build process.
2025-10-04 23:26:42 -04:00
scawful
429506e503 feat: Integrate unified gRPC server for enhanced service management
- Added `UnifiedGRPCServer` class to host both ImGuiTestHarness and ROM service, allowing simultaneous access to GUI automation and ROM manipulation.
- Implemented necessary header and source files for the unified server, including initialization, start, and shutdown functionalities.
- Updated CMake configurations to include new source files and link required gRPC libraries for the unified server.
- Enhanced existing services with gRPC support, improving overall system capabilities and enabling real-time collaboration.
- Added integration tests for AI-controlled tile placement, validating command parsing and execution via gRPC.
2025-10-04 23:14:09 -04:00
scawful
7be949b30f feat: Implement gRPC ROM service for remote manipulation
- Added `RomServiceImpl` class to facilitate remote ROM operations, including reading/writing ROM data, managing versions, and submitting proposals.
- Integrated gRPC support for real-time collaboration and remote access to ROM functionalities.
- Updated `README.md` to document the new gRPC ROM service and its capabilities.
- Enhanced CMake configuration to include new source files for the gRPC implementation and related services.
2025-10-04 22:51:13 -04:00
scawful
f19451e99e feat: Add networking commands for z3ed CLI
- Implemented new CLI commands for network operations, including `net connect`, `net join`, `net leave`, and `net proposal` for real-time collaboration.
- Enhanced the `CollaborationService` and `WebSocketClient` to support session management and proposal submissions.
- Updated `README.md` to include usage instructions for the new networking commands and features.
- Improved CMake configuration to include new source files for networking functionalities.
2025-10-04 22:43:21 -04:00
scawful
0f4d444a73 feat: Implement networking and collaboration features for z3ed
- Introduced a comprehensive networking system for real-time collaboration across the yaze app, z3ed CLI, and yaze-server using WebSocket.
- Added `WebSocketClient` and `CollaborationService` classes to manage connections, session hosting, proposal submissions, and automatic ROM synchronization.
- Enhanced the z3ed CLI with commands for connecting to the server, submitting proposals, and checking approval statuses.
- Updated documentation to include detailed usage instructions for the new networking features and collaboration workflows.
- Improved CMake configuration to support necessary libraries for networking, including JSON and OpenSSL.
2025-10-04 22:40:44 -04:00
scawful
c79c301329 refactor: Update build instructions and CMake configuration for networking support
- Revised the build instructions to clarify the use of CMake presets for building on macOS, Linux, and Windows.
- Enhanced the CMake configuration for the `yaze_net` library to include support for JSON, httplib, OpenSSL, and threading.
- Removed unnecessary lines and improved documentation for the verification script and build environment checks.
- Updated the `RomVersionManager` to remove redundant code related to ROM modification tracking.
- Improved overall clarity and organization of the documentation to facilitate easier setup and usage.
2025-10-04 22:38:25 -04:00
scawful
3b406ab671 feat: Implement ROM version management and proposal approval system
- Introduced `RomVersionManager` for managing ROM snapshots, including automatic backups, manual checkpoints, and corruption detection.
- Added `ProposalApprovalManager` to facilitate collaborative proposal submissions and voting, enhancing team workflows.
- Updated `CollaborationPanel` to integrate version management features, allowing users to track changes and manage proposals effectively.
- Enhanced documentation to reflect new functionalities and usage instructions for version management and collaboration features.
2025-10-04 22:33:06 -04:00
scawful
253f36542f feat: Add Collaboration Panel for enhanced team features
- Introduced `CollaborationPanel` class to manage ROM synchronization history, shared snapshots, and AI-generated proposals.
- Implemented UI components for displaying and interacting with collaboration data, including filtering and status indicators.
- Updated `README.md` to document the new collaboration features and their functionalities.
- Added necessary header and implementation files for the collaboration panel functionality.
2025-10-04 22:25:13 -04:00
scawful
a3c756272d feat: Introduce warning suppression option and update CMake presets
- Added YAZE_SUPPRESS_WARNINGS option to suppress compiler warnings for cleaner build output.
- Updated CMakeLists.txt to apply warning suppression based on the new option.
- Reorganized CMakePresets.json to simplify preset names and enhance clarity, including new presets for quiet and verbose builds.
- Created documentation for the new CMake preset system, detailing usage and features.
2025-10-04 21:53:51 -04:00
scawful
a057d0707a feat: Integrate ProjectFileEditor into EditorManager for enhanced project file handling
- Initialized ProjectFileEditor within EditorManager to facilitate project file editing.
- Added menu options for editing project files, including loading and error handling with toast notifications.
- Updated the DrawMenuBar method to render the ProjectFileEditor interface.
- Included necessary header for ProjectFileEditor in editor_manager.h.
2025-10-04 21:47:55 -04:00
scawful
9b51cd09f6 feat: Enhance AgentChatWidget with system prompt management and project settings
- Updated system prompt loading functionality to support both version 1 and version 2 prompts, allowing users to load built-in prompts directly.
- Implemented custom system prompt loading and saving capabilities, enabling users to manage their prompts more effectively.
- Added methods to load and save agent settings from/to project files, including AI provider configurations and custom prompts.
- Improved user feedback with toast notifications for successful and failed operations related to system prompts and settings.
2025-10-04 21:37:56 -04:00
scawful
dec8314a55 feat: Enhance project file management and agent settings
- Added support for loading and saving agent settings in the project format, including AI provider, model, and custom prompts.
- Implemented RecentFilesManager for managing recent files with functionality to save and load recent file paths.
- Introduced a new ProjectFileEditor for editing .yaze project files with syntax highlighting and validation features.
- Enhanced the AgentChatWidget with file editing capabilities, allowing users to open, create, and save files directly within the interface.
- Improved configuration directory handling and path expansion for better cross-platform compatibility.
2025-10-04 21:27:39 -04:00
scawful
1831ddfc49 feat: Revamp AgentChatWidget with modern UI and enhanced functionality
- Introduced a modern menu bar and tabbed interface for improved user experience.
- Added agent configuration options, including AI provider selection and behavior settings.
- Implemented Z3ED command panel for executing commands and managing proposals.
- Enhanced collaboration features with ROM synchronization, snapshot sharing, and proposal management.
- Updated metrics display for session statistics and improved toast notifications for user feedback.
- Refactored code for better organization and maintainability.
2025-10-04 20:12:02 -04:00
scawful
3cdeeac5a3 feat: Expand network collaboration capabilities and enhance agent functionality
- Updated NetworkCollaborationCoordinator to support advanced features including ROM synchronization, snapshot sharing, and proposal management.
- Enhanced message handling for chat, ROM sync, snapshots, proposals, and AI queries with structured payloads.
- Introduced new callback mechanisms for handling incoming events related to ROM sync, snapshots, proposals, and AI responses.
- Improved documentation in the agent directory to reflect new functionalities and usage examples for network collaboration.
- Added comprehensive README for the Agent Editor module detailing architecture, usage, and advanced features.
2025-10-04 19:57:27 -04:00
scawful
226bcf8686 feat: Add agent folder structure verification and improve CMake cache cleaning
- Introduced Test-AgentFolderStructure function to verify the presence of required agent files and check for old structure indicators.
- Enhanced Clean-CMakeCache function to provide better error handling and clean additional CMake-generated files.
- Updated build process to include agent folder structure checks before CMake configuration.
2025-10-04 19:16:26 -04:00
scawful
5fe73657c3 agent editor include fixes 2025-10-04 19:13:41 -04:00
scawful
b54f4b99dd feat: Refactor agent-related components for improved collaboration and chat management
- Moved agent chat history codec and chat widget to a dedicated agent directory for better organization.
- Introduced AgentEditor class to manage chat, collaboration, and network coordination.
- Updated EditorManager to utilize the new AgentEditor for handling chat and collaboration features.
- Enhanced collaboration capabilities with local and network session management.
- Integrated new agent collaboration coordinator for managing collaborative sessions.
- Improved CMake configuration to include new agent source files and dependencies.
2025-10-04 17:47:23 -04:00
scawful
cc99fc2ae9 feat: Enhance AgentChatWidget with network collaboration features and UI improvements
- Added support for selecting between local and network collaboration modes in the AgentChatWidget.
- Implemented a UI for entering server URL and managing session details.
- Updated collaboration state management to include server URL and connection status.
- Improved layout of the collaboration panel with a table for session details and controls.
- Integrated a simple WebSocket client for handling network communication.
- Added CLI commands for starting and checking the status of the collaboration server.
2025-10-04 17:29:48 -04:00
scawful
0b29af5f2b feat: Add network collaboration coordinator for real-time collaboration features
- Introduced NetworkCollaborationCoordinator class to manage WebSocket connections for collaborative sessions.
- Implemented session management functions: HostSession, JoinSession, and LeaveSession.
- Added message handling for chat messages and participant updates.
- Updated CMake configuration to include the new network collaboration source files.
- Integrated a stub WebSocket client for initial functionality, with plans for future enhancements.
2025-10-04 17:18:51 -04:00
scawful
f182833afe feat: Implement screenshot capture functionality for specific regions and active windows in screenshot_utils
- Added CaptureHarnessScreenshotRegion function to capture a specified region of the renderer output.
- Introduced CaptureActiveWindow and CaptureWindowByName functions to capture screenshots of the currently active ImGui window or a specific window by name.
- Updated screenshot_utils.h to include new CaptureRegion struct and corresponding function declarations.
- Enhanced EditorManager to utilize the new capture modes based on user selection in the AgentChatWidget.
2025-10-04 17:08:36 -04:00
scawful
5f2c72bfc7 feat: Enhance AgentChatWidget with multimodal capture modes and collaboration state management 2025-10-04 17:02:13 -04:00
scawful
59ef5fb8bf feat: Add collaborative chat sessions and multimodal vision support in Z3ED 2025-10-04 16:56:43 -04:00
scawful
16a7b855ac feat: Enhance AutoWidgetScope with proper destructor and streamline label extraction 2025-10-04 16:30:56 -04:00
scawful
b5880d6ee4 feat: Replace util::logf with LOG_INFO for performance and usage tracking 2025-10-04 16:30:01 -04:00
scawful
0176a66b7e feat: Enable Unity builds for faster compilation
- Added an option to enable Unity (Jumbo) builds in CMake.
- Updated CMakeLists.txt to conditionally set CMAKE_UNITY_BUILD and batch size.
- Removed outdated analysis documentation for overworld implementation.
- Deleted z3ed resources YAML file as it is no longer needed.
- Refactored CMake files to modularize the build system, separating core, editor, gfx, gui, and zelda3 components into library files.
- Added precompiled headers for various libraries to improve compilation times.
- Updated yaze_config.h.in to define IMGUI_DEFINE_MATH_OPERATORS for C++ compatibility.
- Enhanced editor integration tests with necessary includes for ImGui.
2025-10-04 16:23:57 -04:00
scawful
1c4a82ab7e Refactor logging system to use LOG_* macros
- Updated logging calls in main.cc, rom.cc, and test_manager.cc to utilize the new LOG_* macros for consistency and improved readability.
- Removed deprecated util::logf function and replaced its usage with appropriate logging macros.
- Enhanced logging in TestManager to provide more detailed information about ROM state and testing processes.
- Cleaned up commented-out logf calls in room.cc to streamline the code.
- Adjusted LogManager to support general logging through a new logf function for non-category specific messages.
2025-10-04 15:47:52 -04:00
scawful
d699d1133d feat: Add collaboration features to AgentChatWidget and AgentCollaborationCoordinator 2025-10-04 15:14:53 -04:00
scawful
28dc394a7c feat: Implement lazy loading for dungeon rooms and refactor room graphics handling
- Introduced lazy loading for room data to optimize performance and reduce initial load times.
- Updated DungeonEditor and DungeonRoomLoader to handle room graphics rendering directly from room objects.
- Refactored methods to accept room references instead of IDs for better clarity and type safety.
- Enhanced tab management in the DungeonEditor UI for improved user experience.
2025-10-04 15:14:17 -04:00
scawful
a3719201d0 feat: Update dungeon coordinate conversion to use 8x8 pixel tiles and replace DungeonEditor with DungeonEditorV2 2025-10-04 14:46:50 -04:00
scawful
405fd43931 feat: Update AgentChatHistoryCodec to use JSON instead of gRPC for chat history management 2025-10-04 14:46:32 -04:00
scawful
ea40e676af feat: Implement AgentChatHistoryCodec for chat history persistence with JSON support 2025-10-04 14:39:53 -04:00
scawful
37e8e77376 feat: Introduce DungeonEditorV2 with component delegation for improved architecture
- Added DungeonEditorV2 to streamline dungeon editing by delegating tasks to specialized components.
- Implemented comprehensive integration tests to validate functionality and ensure proper ROM handling.
- Achieved 100% pass rate for all integration tests, enhancing reliability and performance of the editor.
- Updated test suite to include tests for the new editor, ensuring robust coverage and error handling.
2025-10-04 14:32:56 -04:00
scawful
820e4577df feat: Implement collaboration and multimodal functionality in AgentChatWidget 2025-10-04 14:14:26 -04:00
scawful
3735a0d4a7 feat: Enhance agent chat widget with history management and proposal handling 2025-10-04 14:05:36 -04:00
scawful
c39b1e5a51 Update scheme management plist to adjust order hints for iOS and macOS schemes
- Changed orderHint for yaze_ios.xcscheme from 12 to 10
- Changed orderHint for yaze_macos.xcscheme from 5 to 11
2025-10-04 13:48:25 -04:00
scawful
207b35df82 feat: Refactor agent chat widget handling and remove unused state variable 2025-10-04 13:48:01 -04:00
scawful
20a406892c Refactor test structure and enhance object encoding tests
- Updated CMakeLists.txt to correct file paths for unit tests.
- Modified DungeonObjectRenderingE2ETests to inherit from BoundRomTest for better ROM management.
- Enhanced DungeonEditorIntegrationTest with improved mock ROM handling and added graphics data setup.
- Introduced a new MockRom class with methods for setting mock data and initializing memory layout.
- Added comprehensive unit tests for RoomObject encoding and decoding, covering all object types and edge cases.
- Refactored DungeonObjectRenderingTests to utilize BoundRomTest, ensuring consistent ROM loading and setup.
- Improved assertions in rendering tests for better clarity and reliability.
2025-10-04 13:37:52 -04:00
scawful
4b61b213c0 feat: Add resource search and dungeon room description commands
- Implemented `resource-search` command to allow fuzzy searching of resource labels.
- Added `dungeon-describe-room` command to summarize metadata for a specified dungeon room.
- Enhanced `agent` command handler to support new commands and updated usage documentation.
- Introduced read-only accessors for room metadata in the Room class.
- Updated AI service to recognize and handle new commands for resource searching and room description.
- Improved metrics tracking for user interactions, including command execution and response times.
- Enhanced TUI to display command metrics and session summaries.
2025-10-04 12:00:51 -04:00
scawful
0b9c8900d3 feat: Update palette handling in dungeon editor and room rendering for improved graphics consistency 2025-10-04 03:11:34 -04:00
scawful
9d1f3a0cea feat: Add visual diagnostic tool for dungeon rendering, enabling texture previews, palette inspection, and tile analysis 2025-10-04 02:45:50 -04:00
scawful
8ec723adb6 feat: Implement room rendering diagnostics and integrate into Room rendering process (WIP) 2025-10-04 02:11:11 -04:00
scawful
ed44ac4e48 feat: Enhance AI agent commands and help interface for improved user experience 2025-10-04 01:52:51 -04:00
scawful
3edc0c5b63 feat: Introduce automatic widget registration for ImGui with test engine integration 2025-10-04 01:43:13 -04:00
scawful
164f89e1bb feat: Add INI and JSON format support for project files and update resource label handling 2025-10-04 01:41:55 -04:00
scawful
0ff96fac45 feat: Implement embedded labels support for Zelda3 resources in project management 2025-10-04 01:35:14 -04:00
scawful
d85974be60 feat: Refactor dungeon object selection and editing interfaces for improved usability 2025-10-04 01:23:43 -04:00
scawful
2ea811eeb2 feat: Enhance DungeonObjectEditor with visual feedback and object manipulation features, including drag-and-drop support and property panel integration 2025-10-04 00:42:48 -04:00
scawful
9bfc95de37 feat: Refactor RoomObject decoding logic to prioritize Type3 detection and update related unit tests 2025-10-04 00:15:21 -04:00
scawful
c2dd6498e2 feat: Implement object encoding/decoding for dungeon objects and add unit tests 2025-10-04 00:03:40 -04:00