Commit Graph

72 Commits

Author SHA1 Message Date
scawful
4d60899ba4 chore: add Linux build presets and CI configurations
- Introduced new CMake presets for Linux release and AI builds, enhancing cross-platform support.
- Updated CI workflows to include Linux build configurations, ensuring consistent build processes across platforms.
- Added a new release packaging script to streamline artifact creation for different operating systems.

Benefits:
- Improves build flexibility and reliability for Linux users.
- Simplifies the release process by automating artifact packaging and checksum generation.
2025-10-21 14:34:01 -04:00
scawful
a715912948 feat(tests): improve Ollama server management in agent test suite
- Enhanced the Ollama server startup process with additional logging for better diagnostics.
- Increased the maximum wait time for the server to start from 30 to 60 seconds for CI environments.
- Added checks to ensure the Ollama process remains alive during startup.
- Included a check for the availability of the curl command, which is required for health checks.

Benefits:
- Improves reliability and feedback during the Ollama server integration tests, facilitating easier troubleshooting.
2025-10-14 12:56:26 -04:00
scawful
8cdb1d6bbb feat(tests): enhance Ollama server integration in agent test suite
- Added functionality to start and manage the Ollama server within the agent test suite.
- Implemented checks for the availability of the Ollama model and provided user feedback for setup.
- Updated usage instructions to include environment variables for configuring the Ollama model.

Benefits:
- Improves the testing framework by allowing dynamic management of the Ollama server and model, enhancing test coverage and flexibility.
2025-10-14 12:25:04 -04:00
scawful
530b4e8f76 refactor(build): improve auto-discovery of GUI library sources in build_cleaner.py
- Enhanced the discover_cmake_libraries function to identify decomposed libraries and handle special cases for source variables.
- Updated gui_library.cmake to utilize auto-maintenance markers, streamlining the management of source lists for GUI components.
- Commented out hardcoded CMake source blocks, allowing for dynamic discovery of source files.

Benefits:
- Simplifies the maintenance of GUI library sources by automating updates and reducing manual configuration.
- Improves clarity and efficiency in the build process for GUI components.
2025-10-13 20:25:00 -04:00
scawful
99424fa2b2 refactor(build): enhance build_cleaner.py for auto-discovery of CMake libraries
- Updated the discover_cmake_libraries function to support new marker comments for auto-maintenance.
- Improved variable extraction logic to handle decomposed libraries and subdirectory detection.
- Removed hardcoded CMake source blocks in favor of auto-discovery, streamlining the management of graphics library sources.

Benefits:
- Simplifies the maintenance of CMake files by automating source list updates.
- Enhances build efficiency and clarity by reducing manual configuration requirements.
2025-10-13 20:09:48 -04:00
scawful
defbdce4a2 chore(scripts): remove deprecated agent and release scripts
- Deleted the `agent.sh` script, which provided background agent functionality for YAZE, as it is no longer needed.
- Removed the `create_release.sh` script used for creating release tags, streamlining the release process.
- Eliminated the `test_apu_boot.sh` script for APU/SPC700 boot sequence testing, as it is outdated.

Benefits:
- Cleans up the scripts directory by removing unused and deprecated scripts, improving project maintainability.
2025-10-13 12:26:53 -04:00
scawful
8b0fd46580 refactor(build): enhance build_cleaner.py with .gitignore support and auto-discovery
- Added support for .gitignore patterns to the build_cleaner script, allowing it to respect ignored files during maintenance tasks.
- Implemented auto-discovery of CMake libraries marked for auto-maintenance, improving the automation of source list updates.
- Introduced functions for extracting includes and symbols from source files to suggest missing headers based on usage.
- Updated README to reflect new features and usage instructions.

Benefits:
- Streamlines the build process by automating maintenance tasks and ensuring proper header management.
- Enhances code organization and maintainability by integrating with existing project structures.
2025-10-13 12:18:10 -04:00
scawful
dc9b9d5d10 move zelda3 directory to src from app 2025-10-12 22:01:52 -04:00
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