Commit Graph

64 Commits

Author SHA1 Message Date
scawful
6a49f7defa feat: Introduce mock ROM mode for testing without actual ROM files
- Added a new feature to the `z3ed` AI agent allowing testing in mock ROM mode, which creates a minimal valid ROM structure with embedded labels but no actual game data.
- Updated the `agent_test_suite.sh` script to default to mock ROM mode for easier testing.
- Introduced `--mock-rom` command line flag to enable mock ROM mode in various agent commands.
- Enhanced documentation to cover the usage and benefits of mock ROM mode for CI/CD and development testing.
- Implemented necessary changes in the codebase to support mock ROM initialization and label management.
2025-10-10 17:10:09 -04:00
scawful
d124ab962f chore: Update CI Workflow and Add Dungeon Loading Test Script
- Modified the CI workflow to ensure the test script has the correct path for execution.
- Added a new script for testing dungeon room loading, which checks for torches, blocks, pits, and doors, and analyzes the log for errors.
- Enhanced the script with detailed output for successful loading and error detection, improving testing capabilities for dungeon features.
2025-10-10 12:05:42 -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
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
fc1550a8dc feat: Add collaboration server and testing scripts
- Introduced a new script to launch yaze-server, including checks for server directory, Node.js installation, and npm dependencies.
- Added a test script for APU/SPC700 boot sequence debugging to filter and display critical APU events during execution.
- Created a GUI automation tools test script to verify tool registration, dispatcher handling, and environment checks for GUI-related functionalities.
2025-10-08 00:30:30 -04:00
scawful
951e7891b4 refactor: Update File Paths and Introduce New GUI Components
- Modified file paths in verify-build-environment scripts to reflect the new directory structure for agent-related files, enhancing clarity and organization.
- Added new SettingsBar and Toolset classes to improve the editor's UI, providing a modern, compact interface for managing settings and tools.
- Implemented helper functions for animations and responsive layouts in ui_helpers, enhancing the overall user experience and visual appeal.
- Updated CMake configuration to include new source files, ensuring a seamless build process.
2025-10-05 16:24:29 -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
398b878c26 feat: Add AI features test scripts for Windows and macOS/Linux
- Introduced `test_ai_features.ps1` for Windows to validate AI agent, multimodal vision, and GUI automation capabilities.
- Added `test_ai_features.sh` for macOS/Linux with similar testing functionalities, ensuring cross-platform compatibility.
- Created `yaze.plist.in` for macOS bundle configuration, enabling proper application packaging.
- Enhanced build verification scripts to check for vcpkg availability, improving dependency management for Windows builds.
- Updated CMake configurations to include new test scripts and plist file, streamlining the build process.
2025-10-04 23:11:58 -04:00
scawful
588db01df6 feat: Improve CMake configuration and build environment verification
- Enabled JSON support by default in CMake to resolve Windows build issues.
- Added checks for the existence of the JSON library and its target, providing clear error messages if missing.
- Updated README with instructions for building with AI features.
- Enhanced the build environment verification script for better feedback on setup issues and added checks for agent folder structure.
- Introduced new CMake presets for AI-enabled builds and collaboration support.
2025-10-04 19:43:05 -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
31154daa71 feat: Enhance agent test suite with improved pre-flight checks and error handling 2025-10-04 14:30:58 -04:00
scawful
99d37a8747 feat: Revamp agent test suite script for improved functionality and usability
- Converted the agent test suite script to a more comprehensive format, consolidating multiple tests into a single script.
- Enhanced pre-flight checks for AI provider availability, including Ollama and Gemini.
- Implemented detailed test execution and result logging, providing clearer output and recommendations for troubleshooting.
- Removed outdated test scripts to streamline the testing process and improve maintainability.
- Updated README to reflect changes in the test suite and added build environment verification instructions.
2025-10-04 14:10:04 -04:00
scawful
1b4015a87a feat: Consolidate and enhance agent testing scripts, replacing manual and quickstart tests with a comprehensive test suite 2025-10-04 03:56:47 -04:00
scawful
57c8434ee1 feat: Add batch testing mode for conversational agent and implement conversation test cases 2025-10-03 22:27:55 -04:00
scawful
ba12075ca9 Upgrade gemini model to 2.5-flash 2025-10-03 01:34:11 -04:00
scawful
d875b45fcd feat(z3ed): Complete Phase 2 - Gemini AI service enhancement
Phase 2 Implementation Summary:
- Enhanced GeminiAIService with production-ready features
- Added GeminiConfig struct for flexible configuration
- Implemented health check system with graceful degradation
- Updated to Gemini v1beta API format
- Added robust JSON parsing with markdown stripping fallbacks
- Switched default model to gemini-1.5-flash (faster, cheaper)
- Enhanced error messages with actionable guidance
- Integrated into service factory with health checks
- Added comprehensive test infrastructure

Files Modified:
- src/cli/service/gemini_ai_service.h (added config struct)
- src/cli/service/gemini_ai_service.cc (rewritten for v1beta)
- src/cli/handlers/agent/general_commands.cc (factory update)
- docs/z3ed/LLM-IMPLEMENTATION-CHECKLIST.md (progress tracking)

Files Created:
- scripts/test_gemini_integration.sh (test suite)
- docs/z3ed/PHASE2-COMPLETE.md (implementation summary)
- docs/z3ed/LLM-PROGRESS-UPDATE.md (overall progress)

Build Status:  SUCCESS (macOS ARM64)
Test Status:  Graceful fallback validated
Pending: Real API key validation

See docs/z3ed/PHASE2-COMPLETE.md for details.
2025-10-03 01:16:39 -04:00
scawful
6cec21f7aa feat: Implement Ollama AI service integration with health checks and command generation 2025-10-03 01:00:28 -04:00
scawful
40a4e43db9 Add LLM integration summary and quickstart script for Ollama
- Created LLM-INTEGRATION-SUMMARY.md detailing the integration plan for Ollama, Gemini, and Claude.
- Updated README.md to reflect the shift in focus towards LLM integration.
- Added quickstart_ollama.sh script to facilitate testing of Ollama integration with z3ed.
2025-10-03 00:51:05 -04:00
scawful
21074f6445 feat: Enhance widget state capture with fallback diagnostics and update test harness interactions 2025-10-02 21:44:15 -04:00
scawful
ef631d263a fix: Enhance build environment verification scripts with automatic issue fixes and improved CMake version checks 2025-10-02 19:55:07 -04:00
scawful
cadda0d446 Enhance build environment verification with comprehensive scripts
- Added `verify-build-environment.ps1` for Windows users to check CMake, Git, Visual Studio, and submodules, with options for verbose output, automatic fixes, and cache cleaning.
- Introduced `verify-build-environment.sh` for macOS/Linux users, providing similar functionality with detailed output and automatic issue resolution.
- Updated documentation to include new verification steps and usage instructions for both scripts.
- Improved dependency checks and cache management in both scripts to ensure a smooth build setup.
2025-10-02 19:49:06 -04:00
scawful
4b5e866871 feat(cli): Enhance test command functionality and add new status features
- Refactored the HandleTestCommand to support subcommands: status, list, and results.
- Implemented HandleTestStatusCommand to fetch and display the status of a test by ID.
- Added HandleTestListCommand to list tests with optional filters for category and status.
- Created HandleTestResultsCommand to retrieve detailed results for a specific test execution.
- Introduced new structures for test status details, test summaries, and results.
- Updated GuiAutomationClient to support gRPC calls for fetching test status and results.
- Enhanced the ModernCLI to reflect new command usage for test operations.
- Added JSON and YAML formatting for test results output.
2025-10-02 16:14:09 -04:00
scawful
3711d8cd27 feat: Enhance Assert RPC with thread-safe state management and improved error handling 2025-10-02 11:16:43 -04:00
scawful
b77bd201e2 feat: Implement widget ID registry for Overworld editor and add remote control test script 2025-10-02 10:48:23 -04:00
scawful
983ef24e4d Implement z3ed CLI Agent Test Command and Fix Runtime Issues
- Added new session summary documentation for the z3ed agent implementation on October 2, 2025, detailing achievements, infrastructure, and usage.
- Created evening session summary documenting the resolution of the ImGuiTestEngine runtime issue and preparation for E2E validation.
- Updated the E2E test harness script to reflect changes in the test commands, including menu item interactions and improved error handling.
- Modified imgui_test_harness_service.cc to implement an async test queue pattern, improving test lifecycle management and error reporting.
- Enhanced documentation for runtime fixes and testing procedures, ensuring comprehensive coverage of changes made.
2025-10-02 09:18:16 -04:00
scawful
286efdec6a Enhance ImGuiTestHarness with dynamic test integration and end-to-end validation
- Updated README.md to reflect the completion of IT-01 and the transition to end-to-end validation phase.
- Introduced a new end-to-end test script (scripts/test_harness_e2e.sh) for validating all RPC methods of the ImGuiTestHarness gRPC service.
- Implemented dynamic test functionality in ImGuiTestHarnessService for Type, Wait, and Assert methods, utilizing ImGuiTestEngine.
- Enhanced error handling and response messages for better clarity during test execution.
- Updated existing methods to support dynamic test registration and execution, ensuring robust interaction with the GUI elements.
2025-10-02 00:49:28 -04:00
scawful
4df97fb812 Refactor Windows build instructions and remove legacy scripts
- Updated `02-build-instructions.md` to enhance clarity and organization, including renaming sections for better understanding.
- Removed outdated automated setup scripts (`build-windows.bat`, `build-windows.ps1`, `setup-windows-dev.ps1`, and `validate-windows-build.ps1`) to streamline the build process.
- Introduced optional vcpkg setup for SDL2 dependency management, emphasizing the use of bundled dependencies by default.
- Improved documentation for Visual Studio CMake workflow, highlighting the recommended approach for building the project.
- Consolidated and clarified command line build instructions, ensuring a more straightforward setup experience for developers.
2025-10-01 09:48:05 -04:00
scawful
508c5402ed Enhance documentation for E2E GUI testing framework and Tile16 editor palette system
- Added comprehensive sections on the E2E GUI testing framework in `A1-testing-guide.md`, detailing architecture, test writing, and execution.
- Introduced a new document `E7-tile16-editor-palette-system.md` outlining the redesign and implementation of the Tile16 editor palette system, including problem analysis, solution architecture, and UI/UX refactoring.
- Updated `E6-z3ed-cli-design.md` with recent refactoring improvements and code quality enhancements for the z3ed CLI tool.
- Expanded the YAZE development tracker in `yaze.org` to reflect ongoing issues and features related to the Tile16 editor and E2E testing.
2025-10-01 09:23:59 -04:00
scawful
ba50d89e7d Update z3ed CLI tool and project build configuration
- Updated `.clang-tidy` and `.clangd` configurations for improved code quality checks and diagnostics.
- Added new submodules for JSON and HTTP libraries to support future features.
- Refined README and documentation files to standardize naming conventions and improve clarity.
- Introduced a new command palette in the CLI for easier command access and execution.
- Implemented various CLI handlers for managing ROM, sprites, palettes, and dungeon functionalities.
- Enhanced the TUI components for better user interaction and command execution.
- Added AI service integration for generating commands based on user prompts, expanding the CLI's capabilities.
2025-10-01 08:57:10 -04:00
scawful
62230fbe5c Remove Windows ARM64 build configuration and delete unused generate-vs-projects.py script
- Removed the Windows ARM64 configuration from the GitHub Actions release workflow to streamline the build process.
- Deleted the generate-vs-projects.py script as it was no longer needed for project setup, simplifying the codebase.
- Updated the OverworldEditor header to improve clarity by renaming a method parameter for better understanding.
- Refactored the Emulator class to enhance the rendering interface, improving the user experience in the emulator's GUI.
2025-09-29 20:23:17 -04:00
scawful
c1902687c5 Add comprehensive YAZE Overworld Testing Guide and test scripts
- Introduced a detailed documentation guide for testing the YAZE overworld implementation, covering unit tests, integration tests, end-to-end tests, and golden data validation.
- Added a new script to orchestrate the complete testing workflow, including building the golden data extractor, running tests, and generating reports.
- Implemented new test files for end-to-end testing and integration testing, ensuring compatibility with ZScream logic and validating overworld data integrity.
- Enhanced the Overworld class with additional methods for expanded tile and entrance handling, improving test coverage and functionality.
2025-09-28 21:47:22 -04:00
scawful
a1baa747e1 Enhance CMake and vcpkg integration for Windows ARM64 builds
- Updated `CMakeLists.txt` to improve vcpkg integration by adding checks for the existence of the toolchain file and providing warnings if it is not found.
- Introduced new CMake presets for Windows ARM64 configurations (debug, release, and development) in `CMakePresets.json`, ensuring proper setup for ARM64 architecture.
- Modified `setup-vcpkg-windows.ps1` to auto-detect ARM64 architecture, enhancing the setup script's usability for different environments.
2025-09-28 19:32:37 -04:00
scawful
ddf63165eb Remove legacy Visual Studio project generation scripts
- Deleted `generate-vs-projects-simple.py`, `generate-vs-projects.bat`, and `generate-vs-projects.ps1` scripts to streamline project setup.
- Updated `README.md` to reflect the removal of these scripts and simplify project generation instructions.
- Removed `test_asar_integration.py` and `test-vs-generation.ps1` scripts as part of the cleanup process.
2025-09-28 14:50:04 -04:00
scawful
e10d29b802 Update YAZE project configuration and build instructions
- Increased warning level to Level4 in YAZE.vcxproj for better code quality checks.
- Enhanced preprocessor definitions to address C++23 deprecation warnings and improve compatibility with Clang.
- Added additional compiler options for better build performance and compatibility.
- Updated build instructions to recommend Clang for Windows, highlighting its advantages over MSVC.
- Included detailed setup options for both Clang and MSVC, along with troubleshooting tips for common issues.
2025-09-28 14:47:54 -04:00
scawful
cb107ae69c Remove PNG and ZLIB support from the project
- Eliminated all references to PNG and ZLIB dependencies in CMake configuration and project files.
- Updated documentation to reflect the removal of PNG support and related functionalities.
- Adjusted build scripts and source files to remove unused code related to PNG handling, ensuring a cleaner codebase.
2025-09-28 12:03:29 -04:00
scawful
dfc5b329af Enhance vcpkg integration in project generation script
- Improved the vcpkg path checking mechanism to include additional common installation locations and check for global installations.
- Added support for manifest mode by detecting the presence of a vcpkg.json file, allowing automatic dependency management.
- Enhanced output messages to provide clearer feedback on vcpkg usage and installation status, improving user experience.
2025-09-28 11:18:56 -04:00
scawful
c16725b61d Fix vcpkg path handling in project generation script
- Updated the vcpkg path check in the generate-vs-projects.ps1 script to ensure proper path formatting.
- Changed the path concatenation method for improved clarity and consistency.
2025-09-28 11:04:58 -04:00
scawful
f321b2350c Revise Visual Studio setup documentation and enhance project generation script
- Updated the Visual Studio setup guide to recommend using a project generation script for easier configuration.
- Added detailed instructions for the new script, including features and usage examples.
- Improved the script to check for vcpkg installation and automatically install dependencies if missing.
- Introduced a test script to verify the project generation process with different configurations.
- Enhanced error handling and output messages in the project generation script for better user experience.
2025-09-28 11:02:25 -04:00
scawful
5aa43e81d2 Refactor macOS packaging process in release workflow and introduce dedicated script
- Removed inline macOS packaging logic from release.yml and replaced it with a call to a new script, create-macos-bundle.sh, for better organization and maintainability.
- Added create-macos-bundle.sh to handle the creation of the macOS application bundle and DMG file, improving clarity and separation of concerns in the build process.
2025-09-28 02:54:01 -04:00
scawful
ab3272422e Remove Visual Studio project files and update documentation for automated setup
- Deleted `YAZE.sln` and `YAZE.vcxproj` files as they are now generated automatically.
- Updated the Windows development guide to reflect changes in project file generation and vcpkg integration.
- Enhanced troubleshooting section with common issues related to dependencies and project setup.
- Modified setup script messages to clarify the new workflow for opening and building the project in Visual Studio.
2025-09-28 02:08:42 -04:00
scawful
52ae0e864a Add simple Visual Studio project generator script for YAZE
- Introduced a new Python script, `generate-vs-projects-simple.py`, to create Visual Studio project files without complex CMake dependencies.
- The script generates both `.vcxproj` and `.sln` files, consolidating source and header files for the YAZE project.
- Updated the Windows development setup script to utilize the new generator, providing fallback to the original if the simple generator fails.
- Enhanced user instructions for building the project in Visual Studio.
2025-09-28 01:07:16 -04:00
scawful
8205de84f9 Refactor Windows development setup script to a sequential approach for improved clarity and user experience
- Transitioned from a function-based structure to a sequential approach, simplifying the script flow.
- Enhanced user feedback with clear status messages for each setup step, including checks for project directory, Visual Studio, Git, Python, and vcpkg.
- Improved error handling and instructions for missing dependencies, ensuring a smoother setup process.
- Streamlined the process for generating Visual Studio project files and testing builds, making it more user-friendly.
2025-09-28 00:59:43 -04:00
scawful
e008bc2766 Refactor Windows development setup script to a function-based structure for improved readability and maintainability
- Transitioned to a function-based approach, reducing complex conditional statements.
- Enhanced user feedback with a consistent messaging function for status updates.
- Modularized setup steps for checking project directory, Visual Studio, Git, Python, and vcpkg.
- Improved error handling and instructions for each setup step, ensuring a clearer user experience.
2025-09-28 00:56:55 -04:00
scawful
99a5f6e4f4 Refactor Windows development setup script for clarity and improved user feedback
- Simplified the script structure by removing complex conditional statements.
- Enhanced output messages for each setup step, providing clearer guidance on the status of checks for project files, Visual Studio, Git, Python, and vcpkg.
- Improved error handling and user instructions for missing dependencies and setup steps.
- Streamlined the process for generating Visual Studio project files and testing builds, ensuring a more user-friendly experience.
2025-09-28 00:51:51 -04:00
scawful
50bf1f9d71 Enhance Windows build scripts for improved functionality and user experience
- Refactored batch and PowerShell build scripts to streamline argument parsing and enhance error handling.
- Added support for cleaning build directories and improved feedback for missing dependencies.
- Updated project file generation logic to handle missing configuration files more gracefully.
- Introduced a new validation script to ensure the build environment is correctly set up before building.
- Removed obsolete setup scripts to simplify the repository structure.
2025-09-28 00:47:16 -04:00
scawful
9a51c1d5a7 Refactor Windows development setup script for improved error handling and dependency checks
- Enhanced Git and Python checks to ensure proper installation before proceeding with setup.
- Updated vcpkg cloning logic to verify Git availability and provide clearer error messages.
- Improved project file generation and build testing sections with additional user feedback and error handling.
- Removed obsolete PowerShell syntax test script to streamline the repository.
2025-09-28 00:42:28 -04:00
scawful
820720cffe Remove obsolete PowerShell script for generating Visual Studio projects and add a new script for testing PowerShell syntax. The new script verifies basic constructs used in build scripts, ensuring proper syntax and functionality. 2025-09-28 00:37:48 -04:00
scawful
77b4e8cd40 Refactor Visual Studio solution and project files for improved organization and support
- Removed obsolete project entries from the solution file to streamline structure.
- Updated YAZE project configuration to enable vcpkg integration and multi-architecture support.
- Enhanced build scripts for Windows, including automated setup and testing processes.
- Added new documentation for Windows development setup and build instructions.
2025-09-28 00:34:20 -04:00
scawful
8b659e991c Enhance project reference validation in Visual Studio scripts
- Updated batch and PowerShell scripts to check for proper references to YAZE.vcxproj in the solution file.
- Added verification for project configurations, providing user feedback on their status.
- Improved messaging for error states to guide users in ensuring correct project setup.
2025-09-28 00:20:37 -04:00
scawful
bec691da69 Refactor Visual Studio project configuration scripts for clarity and usability
- Updated batch and PowerShell scripts to improve the configuration process for Visual Studio projects.
- Enhanced user feedback by checking for existing solution files and verifying project references.
- Added help options in the PowerShell script to guide users on available parameters and usage examples.
- Improved messaging for success and error states to facilitate troubleshooting and user experience.
2025-09-28 00:11:21 -04:00