Commit Graph

223 Commits

Author SHA1 Message Date
scawful
66061652b1 refactor: Consolidate and update Dungeon Editor documentation
- Deleted outdated DUNGEON_EDITOR_COMPLETE_GUIDE.md and DUNGEON_EDITOR_GUIDE.md files to streamline documentation.
- Introduced a new F2-dungeon-editor-v2-guide.md that consolidates features, architecture, and usage instructions for the Dungeon Editor V2.
- Documented recent refactoring efforts, including critical bug fixes and architectural improvements.
- Enhanced the guide with structured sections for quick start, testing, and troubleshooting, reflecting the current production-ready status of the Dungeon Editor.
- Updated related source files to support new documentation structure and features.
2025-10-09 21:24:48 -04:00
scawful
51342b02e3 docs: Add APU Timing and Handshake Bug Analysis & Refactoring Plan
- Introduced a new document detailing the APU timing issue that prevents music playback due to handshake failures between the CPU and APU.
- Analyzed the CPU-APU handshake process, identifying points of failure and root causes related to cycle inaccuracies in SPC700 emulation.
- Proposed a comprehensive refactoring plan to implement cycle-accurate instruction execution, centralize the APU execution loop, and use integer-based cycle ratios to eliminate floating-point errors.
- This document serves as a critical resource for developers addressing audio emulation challenges.
2025-10-09 20:50:24 -04:00
scawful
c33a9c9635 docs: Add comprehensive Dungeon Editor technical guide
- Introduced a new DUNGEON_EDITOR_COMPLETE_GUIDE.md that details the features, architecture, and usage of the Dungeon Editor.
- Documented critical bug fixes, including segfaults and loading order issues, along with their resolutions.
- Enhanced the guide with a structured overview, quick start instructions, and troubleshooting tips for users.
- Updated the architecture section to reflect the new card-based system and self-contained room management.
- Included detailed testing commands and expected outputs to assist developers in verifying functionality.
2025-10-09 20:49:10 -04:00
scawful
c512dd7f35 refactor: Replace deprecated dungeon editor guide with updated documentation
- Deleted the old D1-dungeon-editor-guide.md and F1-dungeon-editor-guide.md files to streamline documentation.
- Introduced a new DUNGEON_EDITOR_GUIDE.md that consolidates features, architecture, and usage instructions for the Dungeon Editor.
- Updated the development guide to include new naming conventions and clarified rendering processes.
- Enhanced the overall structure and content of the documentation to reflect the current production-ready status of the Dungeon Editor.
2025-10-09 20:48:07 -04:00
scawful
e769cea1d9 feat: Introduce Debugging and Testing Guide with enhanced startup options
- Added a new document, E5-debugging-guide.md, providing comprehensive strategies for debugging and testing the `yaze` application, including logging practices and testing frameworks.
- Updated E2-development-guide.md to include a new section on debugging and testing, detailing quick debugging methods using command-line flags for specific editors and UI cards.
- Enhanced the main application to support command-line flags for opening specific editors and cards on startup, improving the developer experience.
- Refactored the Controller class to handle startup editor and card initialization based on command-line inputs.
2025-10-09 17:19:36 -04:00
scawful
6539f8fb42 chore: Update vcpkg commit ID in CI and release workflows
- Changed vcpkgGitCommitId to '01f602195983451bc83e72f4214af2cbc495aa94' for both CI and release workflows, reflecting the latest vcpkg release (2024.10.21).
- Ensured consistency across workflows by updating the vcpkg commit ID in all relevant sections.
2025-10-09 12:06:32 -04:00
scawful
3e1334d567 chore: Update changelog for version 0.3.2 with CI/CD improvements and graphics system enhancements
- Documented fixes for CI/CD workflows, including artifact management and build diagnostics for Windows.
- Highlighted improvements in the graphics editor, including palette management and synchronization across editors.
- Updated system requirements for Windows, macOS, and Linux to reflect recent changes.
- Enhanced the Tile16 editor with new palette coordination and performance optimizations.
2025-10-09 11:47:39 -04:00
scawful
417816a854 feat: Enhance documentation with CI/CD improvements and editor status updates
- Added detailed CI/CD reliability improvements, including retry mechanisms and enhanced error reporting for Windows vcpkg setup and dependency installation.
- Updated Dungeon Editor status to EXPERIMENTAL, highlighting the need for thorough testing and outlining implemented features.
- Introduced a comprehensive A Link to the Past ROM reference, detailing graphics systems, palette management, and memory mapping.
- Improved changelog to reflect recent fixes and ongoing development status across various editors.
2025-10-09 11:30:58 -04:00
scawful
08ddcf8660 chore: Simplify CI workflow and dependency management
- Removed vcpkg from the CI workflow, transitioning to FetchContent for dependency management.
- Updated the build matrix to eliminate the Windows x86 build due to cpp-httplib incompatibility.
- Streamlined installation steps for dependencies across different operating systems.
- Enhanced CMake configuration for improved clarity and efficiency in the build process.
- Updated documentation to reflect changes in CI/CD pipeline and dependency handling.
2025-10-09 08:07:20 -04:00
scawful
7310fe5e00 chore: Update vcpkg configuration and CI workflow
- Removed the `builtin-baseline` from `vcpkg.json` to prevent version database mismatches.
- Updated the CI workflow to synchronize with the stable vcpkg commit `c8696863d371ab7f46e213d8f5ca923c4aef2a00`.
- Adjusted the CI build matrix to remove the x86 Windows build due to cpp-httplib incompatibility.
- Added compiler definitions in `cmake/grpc.cmake` to prevent Windows macro pollution in protobuf-generated headers.
2025-10-09 07:53:23 -04:00
scawful
35dcdbb2fc docs: audio system and build optimizations
- Introduced a production-quality audio backend abstraction layer, enabling seamless integration with SDL2, SDL3, and custom platforms.
- Implemented APU handshake debugging features for improved monitoring of CPU-APU communication during audio processing.
- Upgraded gRPC to version 1.67.1, resolving MSVC template issues and enhancing compatibility with modern compilers.
- Added MSVC-specific compiler flags to optimize Windows build performance and reduce build times significantly.
- Updated documentation to reflect new audio system architecture and build instructions, ensuring clarity for developers.
2025-10-09 01:16:53 -04:00
scawful
dedfa72068 chore: Update build environment verification and documentation
- Removed the `validate-vs-build.yml` GitHub workflow as it was redundant.
- Enhanced the `verify-build-environment.ps1` script to include checks for Git configuration settings (`core.autocrlf` and `core.longpaths`) to prevent common issues on Windows.
- Updated build instructions in `B1-build-instructions.md` to emphasize the use of the verification script for troubleshooting and automatic fixes.
- Improved documentation in `B2-platform-compatibility.md` to reflect filesystem abstraction changes and ensure consistent cross-platform behavior.
2025-10-08 21:16:59 -04:00
scawful
6fa3254f32 feat: Introduce yaze emulator Enhancement Roadmap
- Added a comprehensive roadmap document outlining the planned enhancements for the yaze SNES emulator, focusing on achieving Mesen2-level debugging capabilities and AI integration.
- Defined core objectives, current state analysis, and detailed phases for audio system fixes, advanced debugging features, performance optimizations, and AI agent integration.
- Included implementation strategies, estimated efforts, and a timeline for each phase to guide development and ensure systematic progress.
2025-10-08 00:30:51 -04:00
scawful
97c75e074d feat: Add Known Issues and Next Steps for G3 Renderer Migration
- Documented known issues specific to macOS, including crashes during window resizing and occasional loading indicators during texture processing.
- Outlined high, medium, and low priority stability improvements for future sessions, focusing on texture processing, event handling, and resource management.
- Updated the document version and added testing recommendations to ensure thorough validation before the next major change.
2025-10-07 18:35:14 -04:00
scawful
defc99b571 feat: Enhance Emulator and Rendering Performance with New Features
- Implemented a Cleanup method in the Emulator class to manage resources effectively during shutdown.
- Added auto-pause functionality to the emulator when the window loses focus, optimizing CPU and battery usage.
- Updated the DoRender method in the Controller class to include frame timing management and a gentle frame rate cap.
- Enhanced texture processing in the Arena class to batch process up to 8 texture commands per frame, improving rendering efficiency.
2025-10-07 18:16:36 -04:00
scawful
6c331f1fd0 epic: refactor SDL2_Renderer usage to IRenderer and queued texture rendering
- Updated the testing guide to clarify the testing framework's organization and execution methods, improving user understanding.
- Refactored CMakeLists to include new platform-specific files, ensuring proper integration of the rendering backend.
- Modified main application files to utilize the new IRenderer interface, enhancing flexibility in rendering operations.
- Implemented deferred texture management in various components, allowing for more efficient graphics handling and improved performance.
- Introduced new methods for texture creation and updates, streamlining the rendering process across the application.
- Enhanced logging and error handling in the rendering pipeline to facilitate better debugging and diagnostics.
2025-10-07 17:15:11 -04:00
scawful
9e6f538520 feat: Add Comprehensive Dungeon Editor Guide and Overworld Agent Documentation
- Introduced a complete guide for the Dungeon Editor, detailing features, architecture, and usage instructions, ensuring users can effectively utilize the tool for dungeon creation.
- Added an Overworld Agent Guide to facilitate AI interaction with the overworld editor, covering tools, commands, and best practices for automation and AI-generated edits.
- Included a migration plan for transitioning from SDL2 to SDL3, outlining the necessary steps for refactoring the rendering architecture to support modern graphics APIs.
- Enhanced the palette system overview, detailing SNES color formats, palette organization, and common issues, providing developers with essential insights for effective color management.
- Updated the emulator development guide to reflect the latest status and improvements, confirming production readiness and outlining future enhancements.
2025-10-07 14:50:01 -04:00
scawful
e41ea0df46 Update emu guide and set emu logs to debug 2025-10-06 19:36:22 -04:00
scawful
deb14c17a9 feat: Add Emulator Development Guide and Remove gRPC Integration Document
- Introduced a comprehensive Emulator Development Guide detailing the YAZE SNES emulator's architecture, usage, and debugging journey.
- Documented current emulator status, usage methods, architecture details, critical bug fixes, logging system, and future work.
- Removed the gRPC Integration Complete document as it is no longer relevant to the current documentation structure.
- Updated index to include the new Emulator Development Guide for better navigation.
2025-10-06 19:21:40 -04:00
scawful
be571e1b4f feat: Add Vim Mode and Autocomplete Features to Simple Chat
- Implemented vim-style line editing in the simple chat interface, allowing users to navigate and edit text using familiar vim commands.
- Introduced an autocomplete system in the FTXUI chat, providing real-time command suggestions and fuzzy matching for improved user experience.
- Updated documentation to reflect new features and usage instructions for vim mode and autocomplete functionality.
- Enhanced the TUI with autocomplete UI components for better interaction and command input.
2025-10-06 00:54:15 -04:00
scawful
5dca8ecc79 docs: Add comprehensive documentation for getting started, testing, building, and architecture
- Introduced a new "Getting Started" guide to help users set up and use the YAZE software effectively.
- Added detailed "Testing Guide" outlining the testing framework and best practices for contributors.
- Created "Build Instructions" for macOS, Linux, and Windows, including environment verification and quick start with CMake presets.
- Documented the architecture and networking aspects of YAZE, focusing on service-oriented design and gRPC integration.
- Updated the index to reflect new documentation structure and improve navigation.
2025-10-06 00:09:14 -04:00
scawful
3200459c21 docs: Enhance GUI Testing Framework and Introduce z3ed Agent Documentation
- Expanded the testing guide with detailed sections on widget registration, state introspection, and integration with AI agents for automated testing.
- Added a new comprehensive readme for the z3ed agent, outlining its architecture, capabilities, and quick start instructions for AI-driven ROM hacking.
- Updated the changelog to reflect recent enhancements in GUI and UX, including a theme system and modular architecture for the Overworld Editor.
- Removed outdated networking documentation to streamline resources and improve clarity.
2025-10-05 21:01:36 -04:00
scawful
1870ebad50 feat: Enhance Networking Documentation and Introduce Automation Bridge
- Updated the networking documentation to clarify the focus on collaboration and remote access.
- Added the AutomationBridge class to facilitate communication between the test harness and the AgentChatWidget, enabling real-time updates on test execution status and plan summaries.
- Implemented automation callbacks in the AgentChatWidget for improved user interaction with harness automation features, including dashboard access and active test management.
2025-10-05 14:16:19 -04:00
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
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
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
13bbe8078a feat: Enhance GUI action generation and testing for AI tile placement
- Introduced `GuiActionGenerator` class to convert high-level AI actions into executable GUI test scripts, supporting JSON output for automated testing.
- Added comprehensive test suite for AI tile placement commands, validating command parsing and generated test scripts.
- Updated `README.md` to reflect recent enhancements and completed features in the project.
- Improved CMake configuration to include new source files for GUI action generation and related services.
2025-10-04 22:23:31 -04:00
scawful
e83235ee1a feat: Implement learn command for agent tool with knowledge management features
- Introduced the `agent learn` command to manage learned knowledge, including user preferences, ROM patterns, project context, and conversation memory.
- Added functionality for setting, getting, listing preferences, and managing project contexts.
- Implemented memory storage and retrieval, allowing the agent to remember past conversations and key facts.
- Enhanced CLI output with usage instructions and error handling for the learn command.
- Created a new `LearnedKnowledgeService` to handle persistent data storage and retrieval.
2025-10-04 22:10:58 -04:00
scawful
ffaec122cf feat: Revise CMake presets and documentation for improved clarity and functionality
- Reorganized CMake preset system, simplifying names and enhancing architecture support.
- Introduced new presets for macOS and Windows development, including AI-enabled and verbose options.
- Updated documentation to reflect changes in preset usage, design principles, and troubleshooting steps.
- Removed outdated documents related to stability improvements and modularization plans to streamline resources.
2025-10-04 22:10:43 -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
8f8caacece feat: Enhance Windows build instructions and troubleshooting guidance
- Added comprehensive Windows support details, including Visual Studio integration and environment verification.
- Introduced quick start commands for building with different configurations (Basic Editor, AI Features, Full Build).
- Expanded requirements section to clarify essential and optional dependencies.
- Included detailed troubleshooting steps for common Windows build issues, with solutions for specific errors.
- Updated CMake presets table to reflect new build options and configurations.
2025-10-04 19:59:07 -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
fbbe911ae0 feat: Expand collaborative session capabilities in Z3ED documentation
- Updated README.md to include detailed instructions for both local and network collaboration modes.
- Added setup requirements and steps for starting a collaboration server using Node.js.
- Enhanced feature descriptions for real-time collaboration, session management, and participant tracking.
- Improved clarity on how to host and join sessions in both collaboration modes.
2025-10-04 17:31:36 -04:00
scawful
59ef5fb8bf feat: Add collaborative chat sessions and multimodal vision support in Z3ED 2025-10-04 16:56:43 -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
5bb696e431 Refactor Dungeon Editor Master Guide: Update content for clarity and accuracy, streamline sections, and enhance test coverage details. Consolidate known issues and next steps, and provide a comprehensive overview of architecture and object encoding. 2025-10-04 14:50:52 -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
f115e1caad feat: Update z3ed README to enhance CLI output and help system documentation 2025-10-04 14:24:33 -04:00
scawful
640e0a78f2 feat: Remove Asar integration documentation and update index references 2025-10-04 14:17:25 -04:00
scawful
3ef157b991 feat: Add comprehensive test coverage documentation for dungeon editor
- Introduced detailed reports on unit, integration, and E2E test coverage for the dungeon editor.
- Documented test results, including pass rates and identified issues, to enhance visibility into testing outcomes.
- Implemented performance optimizations for the graphics system, significantly improving loading times and user experience.
- Updated the smoke test for the dungeon editor to cover complete UI workflows and interactions.
- Enhanced integration tests to utilize real ROM data, ensuring more reliable test execution.
2025-10-04 14:09:14 -04:00
scawful
3735a0d4a7 feat: Enhance agent chat widget with history management and proposal handling 2025-10-04 14:05:36 -04:00
scawful
dc3a59f03b feat: Update README and z3ed documentation for AI-powered features and editor integration
refactor: Simplify dungeon editor integration tests by using real ROM data and removing mock implementations
2025-10-04 13:53:34 -04:00
scawful
2ac363918e Remove ImGui Widget Testing Guide and update documentation structure
- Deleted the ImGui Widget Testing Guide as it is no longer needed.
- Updated the main documentation index to reflect the new Dungeon Editor Guide location.
- Revised z3ed README to clarify core capabilities and quick start instructions.
- Removed the developer guide for z3ed as its content is now integrated into other documentation.
- Enhanced the architecture section to provide a clearer overview of the z3ed system components.
- Updated command references and added details on agent commands and workflows.
2025-10-04 13:47:41 -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
0db71a71fe Remove outdated Dungeon Graphics Rendering Pipeline Analysis document and update z3ed README with new CMake preset usage and streamlined core documentation references. 2025-10-04 13:25:47 -04:00