Repository navigation
feat: Major optimizations and modernizations - #7
Merged
Merged
Conversation
- Modernized CMake build system (3.20+, FetchContent for kissfft) - Consolidated CI/CD workflows into single main.yml - Improved code quality with std::vector and modern C++ practices - Optimized Docker multi-stage build with .dockerignore - Added clang-format configuration and workflow - Added cache management workflow - Removed obsolete Find*.cmake files - Fixed memory management (automatic cleanup with vectors) - Fixed potential bug in m_AlbumNeedsUpload logic - Improved type safety with constexpr and static_cast Closes #optimization-request Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com>
MarcelRaschke
marked this pull request as ready for review
August 8, 2026 03:21
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
Owner
Author
|
@copilot, behebe bitte die Mergekonflikte in diesem Pull Request. |
Co-authored-by: MarcelRaschke <42359664+MarcelRaschke@users.noreply.github.com>
Co-authored-by: MarcelRaschke <42359664+MarcelRaschke@users.noreply.github.com>
Behoben. Der Mergekonflikt gegen |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
MarcelRaschke
added a commit
that referenced
this pull request
Aug 18, 2026
… Mixes) (#12) * Add Security Policy and static analysis workflows - Add SECURITY.md with vulnerability reporting guidelines - Add CodeQL workflow for C++ static analysis - Add clang-tidy workflow for code quality checks - Add cppcheck workflow for additional static analysis - Add Dependabot configuration for dependency scanning - Update README.md with security information and links Closes #security-policy Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add additional security workflows: SBOM, Fuzzing, Trivy - Add SBOM generation workflow with Syft (SPDX and CycloneDX) - Add Fuzzing workflow with AFL++ for kissfft library - Add Trivy vulnerability scanning workflow These workflows complement the existing CodeQL, clang-tidy, and cppcheck workflows for comprehensive security coverage. Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add CONTRIBUTING.md and optimize workflows - Add CONTRIBUTING.md with security guidelines, coding standards, and contribution rules - Add ISSUE_TEMPLATE for bug reports, feature requests, and security vulnerabilities - Add PULL_REQUEST_TEMPLATE.md for standardized PR descriptions - Add CODEOWNERS for repository ownership - Add labeler.yml for automatic issue/PR labeling - Optimize clang-tidy workflow with path filtering and CMake integration - Optimize cppcheck workflow with path filtering and artifact upload - Optimize fuzzing workflow with configurable time and manual dispatch - Add build.yml for Linux/Windows build testing - Add ci.yml for comprehensive CI pipeline Closes #contributing-guidelines Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add CODE_OF_CONDUCT.md, OWASP ZAP, and optimize all workflows - Add CODE_OF_CONDUCT.md based on Contributor Covenant - Add OWASP ZAP workflow for dynamic security analysis - Optimize all workflows with actions/cache for: - clang-tidy (CMake build cache) - cppcheck (cppcheck cache) - build.yml (CMake dependencies cache) - ci.yml (all tool caches) - fuzzing.yml (AFL++ corpus cache) - Adjust fuzzing duration to 600s (10 minutes) default - Add parallel fuzzing support with configurable cores - Add input validation for Fuzzing workflow - Add cache for Trivy and Syft in CI pipeline Closes #owasp-zap Closes #workflow-optimization Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add Snyk, SonarQube, Kodi-specific checks, and Dependency Policy - Add Snyk workflow for vulnerability scanning (requires SNYK_TOKEN secret) - Add SonarQube workflow for code quality analysis (requires SONAR_TOKEN) - Add sonar-project.properties for SonarQube configuration - Add kodi-addon-checks.yml for Kodi-specific validations: - Addon XML validation - Kodi API compatibility checks - Visualization-specific requirements - Thread safety checks - Performance considerations - Add DEPENDENCY_POLICY.md with: - Approved dependencies list - Dependency update process - Security requirements - License compatibility matrix - Maintenance schedule These additions provide comprehensive security and quality analysis for the visualization.matrix addon, tailored specifically for Kodi addons. Closes #snyk Closes #sonarqube Closes #kodi-checks Closes #dependency-policy Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add Semgrep, CHANGELOG.md, Docker builds, and auto-changelog workflow - Add Semgrep workflow for custom security rules with .semgrep.yml - Rules for memory safety (malloc, strcpy, sprintf) - Kodi-specific rules (deprecated APIs, required methods) - FFT-specific rules (input validation, power-of-two checks) - Modern C++ best practices (const references, nullptr, auto) - Add CHANGELOG.md following Keep a Changelog format - Add changelog.yml workflow for automatic CHANGELOG generation - Triggered on push to master/Matrix/Nexus - Triggered on tag pushes (v*) - Manual dispatch with version input - Dry-run mode for testing - Add Dockerfile for consistent build environments - Multi-stage build (builder + runtime) - Installs all build dependencies (CMake, g++, Mesa, clang-tidy, cppcheck) - Clones Kodi source for addon building - Supports multi-arch builds (amd64, arm64, arm/v7) - Add docker.yml workflow for Docker builds and security scanning - Builds Docker image with Buildx - Supports multi-platform builds - Scans images with Trivy - Pushes to GitHub Container Registry Closes #semgrep Closes #changelog Closes #docker-builds Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Fix album art framing to stay within screen bounds - Clamp m_albumX and m_albumY to [-1.0, 1.0] to prevent album art from extending beyond the screen edges in the Album preset. - Fix redundant m_AlbumNeedsUpload assignment (set to false after upload). - Resolves FIXME comment in RenderTo() for proper framing. Closes #N/A Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add Neon preset with vibrant grid-based visualization - Add new 'Neon' preset (labelId 30108) to g_presets list. - Create neon.frag.glsl shader with: - Pulsing neon grid background - Audio-reactive brightness and glow effects - Cyan/magenta color scheme - Uses only audio channel (no textures required). Closes #N/A Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add Odysseus preset: Dynamic matrix with π, Hermes, Helvetia, and Mythos² themes - New GLSL shader (odysseus.frag.glsl) combining: - Dynamic matrix grid with falling symbols (⛵ Odysseus, ✈ Hermes, ➕ Helvetia, π) - π-based noise and patterns - Odysseus' spiral path - Hermes' winged shapes - Helvetia's Swiss cross - Mythos² recursive matrix layers - Audio reactivity for all elements - Added preset to main.cpp (ID 30109) - Added localized string for Odysseus preset Closes #751c4c Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * feat: Major optimizations and modernizations (#7) * feat: Major optimizations and modernizations - Modernized CMake build system (3.20+, FetchContent for kissfft) - Consolidated CI/CD workflows into single main.yml - Improved code quality with std::vector and modern C++ practices - Optimized Docker multi-stage build with .dockerignore - Added clang-format configuration and workflow - Added cache management workflow - Removed obsolete Find*.cmake files - Fixed memory management (automatic cleanup with vectors) - Fixed potential bug in m_AlbumNeedsUpload logic - Improved type safety with constexpr and static_cast Closes #optimization-request Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * chore: remove trailing whitespace from merged shaders Co-authored-by: MarcelRaschke <42359664+MarcelRaschke@users.noreply.github.com> --------- Co-authored-by: Vibe Nuage Agent <vibe@mistral.ai> Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> * ✅ Fix FIXMEs, add unit tests, document shaders, and optimize performance (#6) - Fix FIXME 1: Clamp album position to prevent overflow over screen edges - Fix FIXME 2: Reset m_AlbumNeedsUpload after upload (only for album shader) - Add Google Test framework and unit tests for BlackmanWindow, LinearToDecibels, SmoothingOverTime - Add SHADERS.md with comprehensive documentation of all shaders, uniforms, and constants - Optimize performance: Only set m_AlbumNeedsUpload for album shader (channel[3] == 2) Closes #N/A Co-authored-by: Vibe Nuage Agent <vibe@mistral.ai> Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> * Add playlist website: Eurodance & French Touch Time Capsule (Extended Mixes) Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> --------- Co-authored-by: Vibe Code <vibe-code@mistral.ai> Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> Co-authored-by: Vibe Nuage Agent <vibe@mistral.ai> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
MarcelRaschke
added a commit
that referenced
this pull request
Aug 18, 2026
… Mixes) Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> Signed-off-by: Vibe Nuage Agent <vibe@mistral.ai> (#13) * Add Security Policy and static analysis workflows - Add SECURITY.md with vulnerability reporting guidelines - Add CodeQL workflow for C++ static analysis - Add clang-tidy workflow for code quality checks - Add cppcheck workflow for additional static analysis - Add Dependabot configuration for dependency scanning - Update README.md with security information and links Closes #security-policy Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add additional security workflows: SBOM, Fuzzing, Trivy - Add SBOM generation workflow with Syft (SPDX and CycloneDX) - Add Fuzzing workflow with AFL++ for kissfft library - Add Trivy vulnerability scanning workflow These workflows complement the existing CodeQL, clang-tidy, and cppcheck workflows for comprehensive security coverage. Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add CONTRIBUTING.md and optimize workflows - Add CONTRIBUTING.md with security guidelines, coding standards, and contribution rules - Add ISSUE_TEMPLATE for bug reports, feature requests, and security vulnerabilities - Add PULL_REQUEST_TEMPLATE.md for standardized PR descriptions - Add CODEOWNERS for repository ownership - Add labeler.yml for automatic issue/PR labeling - Optimize clang-tidy workflow with path filtering and CMake integration - Optimize cppcheck workflow with path filtering and artifact upload - Optimize fuzzing workflow with configurable time and manual dispatch - Add build.yml for Linux/Windows build testing - Add ci.yml for comprehensive CI pipeline Closes #contributing-guidelines Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add CODE_OF_CONDUCT.md, OWASP ZAP, and optimize all workflows - Add CODE_OF_CONDUCT.md based on Contributor Covenant - Add OWASP ZAP workflow for dynamic security analysis - Optimize all workflows with actions/cache for: - clang-tidy (CMake build cache) - cppcheck (cppcheck cache) - build.yml (CMake dependencies cache) - ci.yml (all tool caches) - fuzzing.yml (AFL++ corpus cache) - Adjust fuzzing duration to 600s (10 minutes) default - Add parallel fuzzing support with configurable cores - Add input validation for Fuzzing workflow - Add cache for Trivy and Syft in CI pipeline Closes #owasp-zap Closes #workflow-optimization Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add Snyk, SonarQube, Kodi-specific checks, and Dependency Policy - Add Snyk workflow for vulnerability scanning (requires SNYK_TOKEN secret) - Add SonarQube workflow for code quality analysis (requires SONAR_TOKEN) - Add sonar-project.properties for SonarQube configuration - Add kodi-addon-checks.yml for Kodi-specific validations: - Addon XML validation - Kodi API compatibility checks - Visualization-specific requirements - Thread safety checks - Performance considerations - Add DEPENDENCY_POLICY.md with: - Approved dependencies list - Dependency update process - Security requirements - License compatibility matrix - Maintenance schedule These additions provide comprehensive security and quality analysis for the visualization.matrix addon, tailored specifically for Kodi addons. Closes #snyk Closes #sonarqube Closes #kodi-checks Closes #dependency-policy Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add Semgrep, CHANGELOG.md, Docker builds, and auto-changelog workflow - Add Semgrep workflow for custom security rules with .semgrep.yml - Rules for memory safety (malloc, strcpy, sprintf) - Kodi-specific rules (deprecated APIs, required methods) - FFT-specific rules (input validation, power-of-two checks) - Modern C++ best practices (const references, nullptr, auto) - Add CHANGELOG.md following Keep a Changelog format - Add changelog.yml workflow for automatic CHANGELOG generation - Triggered on push to master/Matrix/Nexus - Triggered on tag pushes (v*) - Manual dispatch with version input - Dry-run mode for testing - Add Dockerfile for consistent build environments - Multi-stage build (builder + runtime) - Installs all build dependencies (CMake, g++, Mesa, clang-tidy, cppcheck) - Clones Kodi source for addon building - Supports multi-arch builds (amd64, arm64, arm/v7) - Add docker.yml workflow for Docker builds and security scanning - Builds Docker image with Buildx - Supports multi-platform builds - Scans images with Trivy - Pushes to GitHub Container Registry Closes #semgrep Closes #changelog Closes #docker-builds Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Fix album art framing to stay within screen bounds - Clamp m_albumX and m_albumY to [-1.0, 1.0] to prevent album art from extending beyond the screen edges in the Album preset. - Fix redundant m_AlbumNeedsUpload assignment (set to false after upload). - Resolves FIXME comment in RenderTo() for proper framing. Closes #N/A Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add Neon preset with vibrant grid-based visualization - Add new 'Neon' preset (labelId 30108) to g_presets list. - Create neon.frag.glsl shader with: - Pulsing neon grid background - Audio-reactive brightness and glow effects - Cyan/magenta color scheme - Uses only audio channel (no textures required). Closes #N/A Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add Odysseus preset: Dynamic matrix with π, Hermes, Helvetia, and Mythos² themes - New GLSL shader (odysseus.frag.glsl) combining: - Dynamic matrix grid with falling symbols (⛵ Odysseus, ✈ Hermes, ➕ Helvetia, π) - π-based noise and patterns - Odysseus' spiral path - Hermes' winged shapes - Helvetia's Swiss cross - Mythos² recursive matrix layers - Audio reactivity for all elements - Added preset to main.cpp (ID 30109) - Added localized string for Odysseus preset Closes #751c4c Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * feat: Major optimizations and modernizations (#7) * feat: Major optimizations and modernizations - Modernized CMake build system (3.20+, FetchContent for kissfft) - Consolidated CI/CD workflows into single main.yml - Improved code quality with std::vector and modern C++ practices - Optimized Docker multi-stage build with .dockerignore - Added clang-format configuration and workflow - Added cache management workflow - Removed obsolete Find*.cmake files - Fixed memory management (automatic cleanup with vectors) - Fixed potential bug in m_AlbumNeedsUpload logic - Improved type safety with constexpr and static_cast Closes #optimization-request Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * chore: remove trailing whitespace from merged shaders Co-authored-by: MarcelRaschke <42359664+MarcelRaschke@users.noreply.github.com> --------- Co-authored-by: Vibe Nuage Agent <vibe@mistral.ai> Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> * ✅ Fix FIXMEs, add unit tests, document shaders, and optimize performance (#6) - Fix FIXME 1: Clamp album position to prevent overflow over screen edges - Fix FIXME 2: Reset m_AlbumNeedsUpload after upload (only for album shader) - Add Google Test framework and unit tests for BlackmanWindow, LinearToDecibels, SmoothingOverTime - Add SHADERS.md with comprehensive documentation of all shaders, uniforms, and constants - Optimize performance: Only set m_AlbumNeedsUpload for album shader (channel[3] == 2) Closes #N/A Co-authored-by: Vibe Nuage Agent <vibe@mistral.ai> Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> * Add playlist website: Eurodance & French Touch Time Capsule (Extended Mixes) Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> Signed-off-by: Vibe Nuage Agent <vibe@mistral.ai> --------- Signed-off-by: Vibe Nuage Agent <vibe@mistral.ai> Co-authored-by: Vibe Code <vibe-code@mistral.ai> Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> Co-authored-by: Vibe Nuage Agent <vibe@mistral.ai> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
MarcelRaschke
added a commit
that referenced
this pull request
Aug 18, 2026
#15) * Add Security Policy and static analysis workflows - Add SECURITY.md with vulnerability reporting guidelines - Add CodeQL workflow for C++ static analysis - Add clang-tidy workflow for code quality checks - Add cppcheck workflow for additional static analysis - Add Dependabot configuration for dependency scanning - Update README.md with security information and links Closes #security-policy Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add additional security workflows: SBOM, Fuzzing, Trivy - Add SBOM generation workflow with Syft (SPDX and CycloneDX) - Add Fuzzing workflow with AFL++ for kissfft library - Add Trivy vulnerability scanning workflow These workflows complement the existing CodeQL, clang-tidy, and cppcheck workflows for comprehensive security coverage. Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add CONTRIBUTING.md and optimize workflows - Add CONTRIBUTING.md with security guidelines, coding standards, and contribution rules - Add ISSUE_TEMPLATE for bug reports, feature requests, and security vulnerabilities - Add PULL_REQUEST_TEMPLATE.md for standardized PR descriptions - Add CODEOWNERS for repository ownership - Add labeler.yml for automatic issue/PR labeling - Optimize clang-tidy workflow with path filtering and CMake integration - Optimize cppcheck workflow with path filtering and artifact upload - Optimize fuzzing workflow with configurable time and manual dispatch - Add build.yml for Linux/Windows build testing - Add ci.yml for comprehensive CI pipeline Closes #contributing-guidelines Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add CODE_OF_CONDUCT.md, OWASP ZAP, and optimize all workflows - Add CODE_OF_CONDUCT.md based on Contributor Covenant - Add OWASP ZAP workflow for dynamic security analysis - Optimize all workflows with actions/cache for: - clang-tidy (CMake build cache) - cppcheck (cppcheck cache) - build.yml (CMake dependencies cache) - ci.yml (all tool caches) - fuzzing.yml (AFL++ corpus cache) - Adjust fuzzing duration to 600s (10 minutes) default - Add parallel fuzzing support with configurable cores - Add input validation for Fuzzing workflow - Add cache for Trivy and Syft in CI pipeline Closes #owasp-zap Closes #workflow-optimization Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add Snyk, SonarQube, Kodi-specific checks, and Dependency Policy - Add Snyk workflow for vulnerability scanning (requires SNYK_TOKEN secret) - Add SonarQube workflow for code quality analysis (requires SONAR_TOKEN) - Add sonar-project.properties for SonarQube configuration - Add kodi-addon-checks.yml for Kodi-specific validations: - Addon XML validation - Kodi API compatibility checks - Visualization-specific requirements - Thread safety checks - Performance considerations - Add DEPENDENCY_POLICY.md with: - Approved dependencies list - Dependency update process - Security requirements - License compatibility matrix - Maintenance schedule These additions provide comprehensive security and quality analysis for the visualization.matrix addon, tailored specifically for Kodi addons. Closes #snyk Closes #sonarqube Closes #kodi-checks Closes #dependency-policy Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add Semgrep, CHANGELOG.md, Docker builds, and auto-changelog workflow - Add Semgrep workflow for custom security rules with .semgrep.yml - Rules for memory safety (malloc, strcpy, sprintf) - Kodi-specific rules (deprecated APIs, required methods) - FFT-specific rules (input validation, power-of-two checks) - Modern C++ best practices (const references, nullptr, auto) - Add CHANGELOG.md following Keep a Changelog format - Add changelog.yml workflow for automatic CHANGELOG generation - Triggered on push to master/Matrix/Nexus - Triggered on tag pushes (v*) - Manual dispatch with version input - Dry-run mode for testing - Add Dockerfile for consistent build environments - Multi-stage build (builder + runtime) - Installs all build dependencies (CMake, g++, Mesa, clang-tidy, cppcheck) - Clones Kodi source for addon building - Supports multi-arch builds (amd64, arm64, arm/v7) - Add docker.yml workflow for Docker builds and security scanning - Builds Docker image with Buildx - Supports multi-platform builds - Scans images with Trivy - Pushes to GitHub Container Registry Closes #semgrep Closes #changelog Closes #docker-builds Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Fix album art framing to stay within screen bounds - Clamp m_albumX and m_albumY to [-1.0, 1.0] to prevent album art from extending beyond the screen edges in the Album preset. - Fix redundant m_AlbumNeedsUpload assignment (set to false after upload). - Resolves FIXME comment in RenderTo() for proper framing. Closes #N/A Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add Neon preset with vibrant grid-based visualization - Add new 'Neon' preset (labelId 30108) to g_presets list. - Create neon.frag.glsl shader with: - Pulsing neon grid background - Audio-reactive brightness and glow effects - Cyan/magenta color scheme - Uses only audio channel (no textures required). Closes #N/A Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * Add Odysseus preset: Dynamic matrix with π, Hermes, Helvetia, and Mythos² themes - New GLSL shader (odysseus.frag.glsl) combining: - Dynamic matrix grid with falling symbols (⛵ Odysseus, ✈ Hermes, ➕ Helvetia, π) - π-based noise and patterns - Odysseus' spiral path - Hermes' winged shapes - Helvetia's Swiss cross - Mythos² recursive matrix layers - Audio reactivity for all elements - Added preset to main.cpp (ID 30109) - Added localized string for Odysseus preset Closes #751c4c Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * feat: Major optimizations and modernizations (#7) * feat: Major optimizations and modernizations - Modernized CMake build system (3.20+, FetchContent for kissfft) - Consolidated CI/CD workflows into single main.yml - Improved code quality with std::vector and modern C++ practices - Optimized Docker multi-stage build with .dockerignore - Added clang-format configuration and workflow - Added cache management workflow - Removed obsolete Find*.cmake files - Fixed memory management (automatic cleanup with vectors) - Fixed potential bug in m_AlbumNeedsUpload logic - Improved type safety with constexpr and static_cast Closes #optimization-request Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> * chore: remove trailing whitespace from merged shaders Co-authored-by: MarcelRaschke <42359664+MarcelRaschke@users.noreply.github.com> --------- Co-authored-by: Vibe Nuage Agent <vibe@mistral.ai> Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> * ✅ Fix FIXMEs, add unit tests, document shaders, and optimize performance (#6) - Fix FIXME 1: Clamp album position to prevent overflow over screen edges - Fix FIXME 2: Reset m_AlbumNeedsUpload after upload (only for album shader) - Add Google Test framework and unit tests for BlackmanWindow, LinearToDecibels, SmoothingOverTime - Add SHADERS.md with comprehensive documentation of all shaders, uniforms, and constants - Optimize performance: Only set m_AlbumNeedsUpload for album shader (channel[3] == 2) Closes #N/A Co-authored-by: Vibe Nuage Agent <vibe@mistral.ai> Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> * build: wire tests, coverage, static analysis, and Tracy options in CMake - CMake: activate the BUILD_TESTING path (was a no-op) via add_subdirectory(tests) so ctest actually runs the existing GoogleTest suite. - CMake: make ENABLE_COVERAGE use directory-scoped add_compile/add_link_options (--coverage -O0 -g) ordered before the test subdirectory so the test target inherits coverage flags too; guard against non-GCC/Clang toolchains. - CMake: replace the brittle clang-tidy target-property stub with proper CMAKE_CXX_CLANG_TIDY / CMAKE_CXX_CPPCHECK wiring that finds the tools and gracefully skips when absent (ENABLE_CLANG_TIDY / ENABLE_CPPCHECK). - CMake: add optional ENABLE_TRACY / TRACY_ON_DEMAND options that define TRACY_ENABLE/TRACY_ON_DEMAND and add the tracy include dir when the headers are present, and no-op otherwise. - tests/CMakeLists.txt: convert from a standalone project() to a proper subdirectory; fetch GoogleTest via FetchContent (no system GTest dependency) and register the test with add_test. - src/tracyprofiler.h: dependency-free instrumentation shim that pulls in Tracy zones when TRACY_ENABLE is defined and the headers exist, else expands to no-ops, so sources can be instrumented unconditionally. - .github/workflows/code-coverage.yml: new gcov/lcov CI workflow that builds with BUILD_TESTING+ENABLE_COVERAGE, runs ctest, captures/filters lcov, and uploads an HTML coverage report. Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> --------- Co-authored-by: Vibe Code <vibe-code@mistral.ai> Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> Co-authored-by: Vibe Nuage Agent <vibe@mistral.ai> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Major Optimizations and Modernizations
Summary
This PR implements comprehensive optimizations and modernizations for the visualization.matrix addon:
🔧 Build System Modernization
🚀 CI/CD Workflow Consolidation
main.yml) replacing ci.yml, build.yml, and docker.yml💎 Code Quality Improvements
🐳 Docker Optimization
🎨 Additional Improvements
Testing
Verification
Breaking Changes
None - all changes are backward compatible.
Related Issues
Implements optimization request for build system, workflows, code quality, and Docker.