Commit Graph

131 Commits

Author SHA1 Message Date
scawful
6c82f39aa6 feat: enhance CMake configuration for conditional AI test inclusion
- Updated CMakeLists.txt to conditionally include AI GUI controller tests and experimental AI test suites based on the YAZE_ENABLE_AI_RUNTIME flag.
- Added status messages to inform users when AI tests are skipped due to the runtime being disabled, improving clarity in the build process.
- This change ensures that tests related to AI features are only compiled and run when the appropriate runtime is enabled, enhancing modularity and build efficiency.
2025-11-16 22:17:31 -05:00
scawful
a5d98ad83c refactor: reorganize submodule structure and enhance CMake configuration
- Moved all third-party libraries (SDL, ImGui, Asar, etc.) from `src/lib/` and `third_party/` to a new `ext/` directory for better organization and clarity in dependency management.
- Updated CMake configuration to reflect the new paths, ensuring all targets and includes point to the `ext/` directory.
- Enhanced CMake presets to support new build options for AI and gRPC features, improving modularity and build flexibility.
- Added new feature flags for agent UI and remote automation, allowing for more granular control over build configurations.
- Updated documentation to reflect changes in the project structure and build options, ensuring clarity for contributors and users.
2025-11-16 18:27:37 -05:00
scawful
ef07dc0012 chore: update configuration files and enhance dependency management
- Added new entries to `.pre-commit-config.yaml`, `cmake-format.yaml`, and `.github/dependabot.yml` to improve code quality checks and dependency updates.
- Enhanced GitHub Actions workflows by adding new steps for testing and build retention.
- Introduced support for the nlohmann_json library in CMake, allowing for conditional inclusion based on the `YAZE_ENABLE_JSON` option.
- Updated CMake configurations to streamline SDL2 and gRPC integration, ensuring proper linking and target management.

Benefits:
- Improves code quality and consistency through automated checks and formatting.
- Enhances dependency management and build reliability across platforms.
- Provides flexibility for users to enable optional features, improving overall functionality.
2025-10-31 20:20:31 -04:00
scawful
283a21888e chore: refine protobuf linking logic for Windows builds
- Enhanced CMake configuration to conditionally apply /WHOLEARCHIVE linking for protobuf targets, ensuring only library targets are included.
- Updated linking logic across multiple components including `yaze`, `yaze_emu`, `z3ed`, and test suites to improve compatibility and prevent linker errors.

Benefits:
- Increases build stability and clarity by ensuring only relevant targets are linked, reducing potential conflicts during the build process.
2025-10-18 12:53:15 -04:00
scawful
51cf1681e5 chore: update protobuf linking strategy for Windows
- Adjusted CMake files to conditionally link protobuf using /WHOLEARCHIVE on Windows to include internal symbols while avoiding LNK1241 errors.
- Updated linking logic for `yaze`, `yaze_editor`, `yaze_emu`, `z3ed`, and test suites to ensure compatibility across platforms.

Benefits:
- Improves build stability and compatibility for Windows users by ensuring proper symbol inclusion without resource duplication issues.
2025-10-18 12:01:12 -04:00
scawful
b4d4195e47 chore: reintroduce /WHOLEARCHIVE linking for protobuf at executable level
- Added /WHOLEARCHIVE linking for protobuf in various CMake files to ensure internal symbols are included while preventing resource duplication.
- Updated linking options for `yaze`, `yaze_emu`, `z3ed`, and test suites to apply this option conditionally on Windows with MSVC.

Benefits:
- Ensures proper inclusion of protobuf symbols in executables, improving compatibility and functionality across platforms.
2025-10-18 01:54:58 -04:00
scawful
9f56728f80 chore: update gRPC version to v1.75.1 and remove /WHOLEARCHIVE linking
- Upgraded gRPC version from v1.68.0 to v1.75.1 for improved compatibility across all platforms.
- Removed /WHOLEARCHIVE linking for protobuf to prevent duplicate version resource errors in the dependency chain.
- Updated status messages to reflect the latest gRPC version and build optimizations.

Benefits:
- Enhances build stability and compatibility with modern toolchains.
- Simplifies linking process by avoiding unnecessary options that cause conflicts.
2025-10-17 22:57:27 -04:00
scawful
0b72b56594 refactor(cmake): enhance Protobuf target handling for MSVC
- Introduced YAZE_PROTOBUF_WHOLEARCHIVE_TARGETS to streamline linking of Protobuf targets, excluding "lite" variants.
- Updated CMake configurations across various components (yaze, yaze_core_lib, yaze_editor, yaze_net, yaze_agent, z3ed) to utilize the new whole-archive targets for MSVC builds.
- Improved test suite linking to ensure all Protobuf symbols are included during the build process.

Benefits:
- Enhances compatibility and maintainability of Protobuf linking, leading to a more robust build configuration.
2025-10-14 22:22:00 -04:00
scawful
6dbc30c11f refactor: Introduced a SessionCardRegistry and WindowDelegate for better session management in the editor.
Benefits:
- Streamlines the build process by allowing for multiple Protobuf targets, enhancing compatibility and maintainability.
- Improves session management capabilities within the editor, leading to a more organized and efficient user experience.
- Enhance Protobuf target handling in CMake configuration
- Updated CMake files to support multiple Protobuf targets, improving flexibility in linking.
- Adjusted target link libraries across various components (yaze, yaze_core_lib, yaze_editor, etc.) to utilize the new
2025-10-14 20:30:25 -04:00
scawful
e236ed93c3 refactor(ci): enhance caching and dependency management in workflows
- Added caching for ccache and CMake dependencies in CI and release workflows to improve build performance.
- Updated installation commands to include ccache across Linux, macOS, and Windows environments.
- Enhanced CMake configuration steps to utilize ccache for faster builds and added statistics reporting.

Benefits:
- Reduces build times and improves efficiency in CI processes, facilitating quicker feedback and integration.
2025-10-14 13:24:44 -04:00
scawful
8b5429d84e refactor(ci): enable EMU, Z3ED, and tools builds in CI and release workflows
- Updated CI and release workflows to enable building the emulator (YAZE_BUILD_EMU), Z3ED (YAZE_BUILD_Z3ED), and additional tools (YAZE_BUILD_TOOLS).
- Ensured consistent build configurations across different platforms to enhance testing and deployment capabilities.

Benefits:
- Improves the completeness of builds in CI and release processes, facilitating better testing and integration of all components.
2025-10-14 12:23:23 -04:00
scawful
9dbba877c3 Update test discovery 2025-10-14 11:38:12 -04:00
scawful
01d3e46e87 refactor(build): enhance CMake configurations for protobuf integration
- Updated CMake files to conditionally link against libprotobuf based on the YAZE_PROTOBUF_TARGET variable across various modules (core, net, agent, z3ed).
- Ensured consistent use of the static MSVC runtime to align with vcpkg static triplets.
- Improved clarity in build logs by adding status messages for whole-archive linking conditions.

Benefits:
- Enhances modularity and compatibility of the build system with protobuf.
- Streamlines the build process for different platforms by ensuring appropriate linking based on configuration options.
2025-10-14 09:01:12 -04:00
scawful
cafa50b355 refactor(build): enhance MSVC whole-archive linking for protobuf
- Updated CMake configurations across core, net, agent, and z3ed to conditionally apply /WHOLEARCHIVE linking for libprotobuf based on the compiler ID.
- Added status messages to indicate when /WHOLEARCHIVE linking is skipped for clang-cl, improving clarity in build logs.

Benefits:
- Improves compatibility and clarity in the build process for Windows environments using different compilers.
- Ensures that necessary symbols are included when using MSVC, enhancing build reliability.
2025-10-13 23:11:06 -04:00
scawful
cc427d037e fix(build): update protobuf linking for Windows in CMake files
- Modified CMake configurations across multiple files to use `$<TARGET_FILE:libprotobuf>` for whole-archive linking on Windows, ensuring all symbols are included correctly.
- This change enhances compatibility and reliability of the build process when using gRPC.

Benefits:
- Improves build stability on Windows platforms by ensuring proper linking of the protobuf library.
2025-10-13 14:26:06 -04:00
scawful
6edfedff18 chore(ci): update CMake configuration for Linux and macOS builds
- Modified CI configuration to use the D-Bus portal for file dialogs on Linux for improved reliability.
- Updated CMake commands in both CI and release workflows to include the NFD_PORTAL option.
- Removed OpenSSL from vcpkg.json to streamline dependencies.

Benefits:
- Enhances build reliability across different platforms.
- Simplifies dependency management in the project.
2025-10-13 10:29:47 -04:00
scawful
9c89ad5843 feat(palette): implement centralized PaletteManager for improved color management
- Introduced PaletteManager to handle all palette-related operations, including color modifications, undo/redo functionality, and batch processing.
- Updated PaletteEditor and PaletteGroupCard to utilize PaletteManager for managing palette states and modifications, streamlining the editing process.
- Enhanced user interface with confirmation popups for discard actions and error notifications for save failures.

Benefits:
- Centralizes palette management, improving consistency and reducing code duplication across editors.
- Enhances user experience by providing clear feedback on unsaved changes and simplifying color operations.
2025-10-12 21:42:13 -04:00
scawful
c54a7dfa8d refactor(cmake): update test configuration for GUI targets
- Removed experimental test option and modular build option from CMakeLists.txt to simplify configuration.
- Added a definition for YAZE_GUI_TEST_TARGET in the test CMakeLists.txt to mark GUI test targets.
- Updated yaze_test.cc to conditionally register E2E tests only for GUI test targets, enhancing clarity in test registration.

Benefits:
- Streamlined CMake configuration for testing.
- Improved organization of test registration logic for GUI targets.
2025-10-11 23:05:04 -04:00
scawful
47cd835e31 refactor(cmake): streamline GUI test suite configuration
- Updated CMakeLists.txt to always include GUI test sources when tests are built, removing the conditional check for YAZE_ENABLE_UI_TESTS.
- Added a headless test entry for the entire GUI suite, ensuring consistent execution without a GUI.

Benefits:
- Simplified configuration for GUI tests, enhancing clarity and usability.
- Improved test execution flexibility by allowing headless operation.
2025-10-11 22:02:47 -04:00
scawful
d91dddfbe0 refactor(cmake): simplify ImGui test engine integration and feature flags
- Updated CMake configuration to always include the ImGui Test Engine when tests are enabled, removing conditional checks for UI tests.
- Simplified feature flag management by enabling JSON and gRPC by default, with a minimal build option to disable only the most expensive features.
- Enhanced status messages to provide clearer feedback on build configurations and feature availability.

Benefits:
- Streamlined integration of the ImGui Test Engine for testing purposes.
- Improved clarity in feature flag settings, making it easier to manage build configurations.
2025-10-11 21:44:01 -04:00
scawful
65acd6a941 chore(cmake): add JSON include directory to test configuration
- Included the JSON library directory in the test CMake configuration to support JSON functionalities in tests.
- This addition enhances the testing environment by providing necessary dependencies for JSON handling.

Benefits:
- Improved testing capabilities by integrating JSON support.
- Streamlined CMake configuration for better modularity in test setups.
2025-10-11 12:39:47 -04:00
scawful
18986e3656 refactor(cmake): update include paths and defer test support linkage
- Updated include paths in several source files to reflect the new directory structure, ensuring consistency across the project.
- Deferred the linkage of the yaze_test_support library to the test.cmake file for better dependency management and ordering.

Benefits:
- Improved organization of include paths for better maintainability.
- Enhanced modularity by managing test dependencies separately.
2025-10-11 12:19:51 -04:00
scawful
1f56ff2fb8 chore(cmake): update test CMake configuration to include additional directories and libraries
- Added new include directories for ImGui and SDL to the test CMake configuration, enhancing the testing environment.
- Updated the linkage to include ImGui and SDL targets, ensuring proper integration for GUI tests.

Benefits:
- Improved support for GUI testing by integrating necessary libraries.
- Streamlined the CMake configuration for better modularity in test setups.
2025-10-11 12:06:28 -04:00
scawful
f54949bdd8 feat(build-system): enhance CMake configuration and introduce new utility files
- Refactored CMakeLists.txt to streamline project configuration and improve readability.
- Introduced new utility functions in `utils.cmake` for setting compiler flags and managing dependencies.
- Added `dependencies.cmake` to centralize third-party dependency management, enhancing modularity.
- Updated CI workflows to include new build options and improved logging for better feedback during configuration.
- Implemented precompiled headers in various libraries to speed up compilation times.

Benefits:
- Improved maintainability and clarity of the build system.
- Enhanced build performance through precompiled headers.
- Streamlined dependency management for easier integration of third-party libraries.
2025-10-11 02:44:17 -04:00
scawful
cbcf1e40be refactor: Update Performance Header Includes and Add Emulator Test Suite
- Refactored header includes for Performance Profiler and Dashboard to reflect new directory structure under `app/gfx/performance/`.
- Introduced a new `EmulatorTestSuite` class to validate core emulator components, including APU, SPC700, and debugging features.
- Enhanced test suite with detailed test cases for APU handshake, SPC700 cycle accuracy, breakpoint management, and audio backend functionality.
- Removed outdated `test_dungeon_objects.cc` file from the test suite to streamline testing focus.
2025-10-10 10:07:35 -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
418695188a refactor: Migrate DungeonEditor to V2 and update related components
- Replaced the deprecated DungeonEditor with DungeonEditorV2, implementing a card-based architecture for improved UI management.
- Updated CMakeLists.txt to reflect changes in source file organization, including renaming dungeon_editor files to their V2 counterparts.
- Refactored DungeonCanvasViewer to support per-room layer visibility settings and updated related methods for rendering and layer management.
- Enhanced testing framework to accommodate the new DungeonEditorV2 structure, including updates to smoke tests and integration tests.
- Removed legacy dungeon_editor files to streamline the codebase and prevent confusion with the new implementation.
2025-10-09 18:00:27 -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
a881c0f8e1 feat: Refactor Emulator to Accept ROM Parameter and Enhance Logging
- Updated Emulator::Run method to accept a Rom* parameter, improving flexibility in ROM handling.
- Refactored texture creation and ROM data initialization to utilize the new parameter.
- Enhanced logging in Snes class to provide detailed information during initialization, reset, and frame processing, aiding in debugging and performance monitoring.
- Introduced cycle tracking in Apu and Spc700 classes for accurate synchronization and debugging.
- Added unit tests for APU DSP functionality and IPL ROM handshake to ensure reliability and correctness of audio processing.
2025-10-06 11:41:33 -04:00
scawful
f6ad6e971f refactor: Update CMake Configuration and Implement Canvas Automation Tests
- Updated CMakeLists.txt to include additional proto files for canvas automation, enhancing the build process for gRPC services.
- Refactored file_util.cc to use the core namespace for feature flags, improving code clarity and consistency.
- Added new unit tests for CanvasAutomationAPI, covering various functionalities such as coordinate conversion, tile operations, and selection management, ensuring robust testing for canvas automation features.
2025-10-05 23:44:38 -04:00
scawful
af2b698dbd refactor: Enhance OverworldEditor with Dynamic Context Menu and Tile Selector Widget
- Replaced static context menu setup in OverworldEditor with dynamic configuration based on the current map state, improving usability and responsiveness.
- Introduced TileSelectorWidget for better tile selection management, allowing for a more intuitive user experience when selecting tiles.
- Updated canvas controls to include zoom in and zoom out functionalities, enhancing the editor's navigation capabilities.
- Cleaned up legacy context menu code and improved overall organization for better maintainability and clarity.
2025-10-05 22:53:33 -04:00
scawful
b21aeeb663 feat: Enhance Dungeon Rendering with Size Adjustments and Testing Initialization
- Added InitializeForTesting method in Rom class to facilitate testing setup.
- Updated DungeonCanvasViewer to adjust object and sprite sizes from 16x16 to 8x8, improving rendering accuracy.
- Modified rendering logic for various dungeon objects (chests, doors, walls, pots) to reflect new size calculations.
- Adjusted object position calculations in ObjectRenderer to align with the new size metrics, ensuring consistent rendering across the application.
- Updated integration tests to verify the new initialization method for ROM objects.
2025-10-05 17:27:32 -04:00
scawful
2c74f08f4c feat: Add support for test discovery and organization in CMake configuration 2025-10-04 16:37:13 -04:00
scawful
867fa820ba feat: Add job configuration to build presets and link yaze_test_support in test CMakeLists 2025-10-04 16:30:12 -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
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
38ece34894 feat: Organize and enhance test structure with new tools and integration tests
- Added a new `tools` directory to house various utility tools, including the `overworld_golden_data_extractor`, `extract_vanilla_values`, and `rom_patch_utility`.
- Introduced comprehensive integration tests for dungeon and overworld functionalities, ensuring compatibility with existing ROM data.
- Refactored existing test files to improve organization and maintainability, moving deprecated tests to a dedicated directory.
- Updated CMake configuration to include new tools and tests, enhancing the build process for development and CI environments.
- Improved test coverage for dungeon object rendering and room integration, validating core functionalities against expected behaviors.
2025-10-04 12:21:18 -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
c2dd6498e2 feat: Implement object encoding/decoding for dungeon objects and add unit tests 2025-10-04 00:03:40 -04:00
scawful
5123b0ee5f feat: Update CMake presets and test discovery to enhance test categorization and labeling 2025-10-03 22:08:07 -04:00
scawful
2c45453dd0 Implement recording functionality in agent test commands
- Added RecordingState structure to manage recording session details.
- Implemented SaveRecordingState and LoadRecordingState functions to handle recording state persistence.
- Enhanced HandleTestRecordCommand to support starting and stopping recording sessions with various options.
- Integrated gRPC calls for starting and stopping recordings in GuiAutomationClient.
- Updated ProposalRegistry to include sandbox directory and ROM path in ProposalMetadata.
- Implemented JSON parsing for Tile16Proposal to handle proposal creation from JSON input.
- Updated CMakeLists.txt to ensure proper linking of emulator targets.
2025-10-03 21:16:08 -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
90ddc3d50c Refactor CLI Service Structure and Enhance AI Integration
- Restructured CLI service source files to improve organization, moving files into dedicated directories for better maintainability.
- Introduced new AI service components, including `AIService`, `MockAIService`, and `GeminiAIService`, to facilitate natural language command generation.
- Implemented `PolicyEvaluator` and `ProposalRegistry` for enhanced proposal management and policy enforcement in AI workflows.
- Updated CMake configurations to reflect new file paths and ensure proper linking of the restructured components.
- Enhanced test suite with new test workflow generation capabilities, improving the robustness of automated testing.

This commit significantly advances the architecture of the z3ed system, laying the groundwork for more sophisticated AI-driven features and streamlined development processes.
2025-10-03 09:54:27 -04:00
scawful
56c2132b78 fix: Increase stack size for Windows executables and improve test discovery settings 2025-10-02 20:58:44 -04:00
scawful
04a4d04f4e feat(cli): Enhance CLI with resource catalog and sandbox management
- Added resource catalog for introspecting CLI resources, including schemas for palettes, ROMs, patches, overworlds, dungeons, and agents.
- Implemented serialization methods for resource schemas in both JSON and YAML formats.
- Introduced RomSandboxManager to manage sandboxed ROM copies, allowing for safe experimentation with ROM modifications.
- Updated ModernCLI to include new commands for palette management and enhanced help output.
- Added unit tests for resource catalog serialization and schema validation.
2025-10-01 14:34:58 -04:00
scawful
36ad718099 Refactor OverworldEditor copy functionality to use selected points
- Updated the `Copy` method in `OverworldEditor` to utilize selected points instead of tiles for copying tile16 IDs to the clipboard, enhancing the selection mechanism.
- Improved the logic for determining the width and height of the selection based on the selected points, ensuring accurate tile copying.
- Adjusted the `DrawSelectRect` method in `Canvas` to correctly calculate local map indices, refining the tile selection process.
- Added a new configuration option in `Canvas` to control clamping behavior for local maps, providing more flexibility in canvas settings.
2025-09-30 19:52:27 -04:00
scawful
5cc5c08122 Add Overworld accessors and enhance testing framework
- Introduced new methods in `Controller`, `EditorManager`, and `OverworldEditor` to access the `Overworld` instance, improving modularity and interaction with the overworld data.
- Added `GetTile` method in `Overworld` to retrieve tile data based on coordinates, enhancing functionality for tile manipulation.
- Implemented a new testing framework with automated GUI tests, including `CanvasSelectionTest` and `FrameworkSmokeTest`, to validate user interactions and ensure robustness.
- Updated `CMakeLists.txt` to include new test files and dependencies, streamlining the build process for testing.
- Refactored logging behavior to ensure proper file handling during logging operations, improving reliability in logging outputs.
2025-09-30 19:32:34 -04:00
scawful
ec42054da2 Enhance CMake configuration for improved stack management and utility separation
- Increased stack size for Windows builds to prevent stack overflow during asset loading and testing.
- Added separate executable for rom_patch_utility to enhance modularity and maintainability.
- Updated target link libraries for both extract_vanilla_values and rom_patch_utility to ensure proper dependencies are included.
- Added conditional checks to prevent building development-only utilities in CI environments.
2025-09-29 15:38:27 -04:00
scawful
1d69729972 Refactor extract_vanilla_values target linking in CMakeLists.txt
- Removed conditional linking of yaze_c library for extract_vanilla_values, clarifying that it operates as a standalone utility.
- Updated comments to reflect the core ROM functionality requirements for the utility, enhancing code clarity.
2025-09-28 23:56:24 -04:00
scawful
c8cafe30e1 Remove Visual Studio project files and filters for YAZE
- Deleted `YAZE.sln`, `YAZE.vcxproj`, and `YAZE.vcxproj.filters` to streamline the project structure and transition to a CMake-based build system.
- This change enhances maintainability and simplifies the build process by relying solely on CMake for project configuration and management.
2025-09-28 19:34:55 -04:00