Commit Graph

1860 Commits

Author SHA1 Message Date
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
scawful
94cf867d36 feat: Add simple chat session for AI agent interaction and enhance message rendering 2025-10-03 23:55:08 -04:00
scawful
a6cdc651c3 feat: Implement AgentChatWidget for conversational AI interaction and add ASCII logo support 2025-10-03 23:43:19 -04:00
scawful
5419633c52 refactor: Improve code readability by applying consistent formatting and using absl::StrContains for string checks 2025-10-03 21:11:51 -04:00
scawful
db227c9de5 feat: Update CMake configuration for Abseil and gRPC, enhance modular build support, and add CLI flag handling 2025-10-03 20:24:58 -04:00
scawful
c9f439207e feat: Enhance modular build support and update Abseil integration for macOS 2025-10-03 19:10:59 -04:00
scawful
c3eaace72c feat: Implement modular build system for Yaze
- Added option to enable modular build with `YAZE_USE_MODULAR_BUILD`.
- Updated CMake configuration to support modular libraries for core, editor, graphics, GUI, and emulator functionalities.
- Refactored existing libraries to separate concerns and improve build times.
- Introduced new utility library `yaze_util` for low-level utilities.
- Adjusted CI and release workflows to accommodate the new build system.
- Updated various source files to reflect new include paths and modular structure.
- Enhanced YAML configuration handling in the agent component.
2025-10-03 18:32:51 -04:00
scawful
60e9ea69ac Refactor CMake configuration by removing unused source files and adjusting target link libraries for core components 2025-10-03 17:00:52 -04:00
scawful
8935363eae Implement Overworld Map Inspection Commands
- Added `OverworldDescribeMap` command to summarize metadata for a specified overworld map.
- Introduced `OverworldListWarps` command to list overworld entrances and holes with their coordinates.
- Refactored existing `overworld.cc` to utilize new helper functions for parsing and validation.
- Created `overworld_inspect.cc` and `overworld_inspect.h` to encapsulate map and warp-related functionalities.
- Updated `ModernCLI` to register new commands and handle their execution.
- Modified `tool_dispatcher.cc` to support dispatching the new commands.
- Updated CMake configuration to include new source files for the inspection commands.
2025-10-03 15:39:04 -04:00