Replaced the text-based "1:1" and "@" icons in the XR menu panel with proper SVG icons #5077
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.
Summary
Replaced the text-based "1:1" and "@" icons in the XR menu panel with proper SVG icons for better visual consistency and user experience. The close button now uses a dedicated close icon, and the toggle button switches between view real size and replay icons.
Changes Made
Icon System Overhaul
Replaced text labels with proper SVG icons:
Close button: Dedicated close icon (X symbol)
Toggle button: Switches between view real size (1:1) and replay (reset) icons
Added SVG constants for better performance and maintainability
Implemented texture caching to prevent white squares on first load
Performance Improvements
Pre-rendered icon textures to avoid async loading issues
Static texture cache shared across all XR menu panel instances
Race condition fix with polling mechanism for async texture creation
Eliminated repeated texture creation on each icon toggle
Code Quality Enhancements
Configuration-driven design with centralized constants
Separation of concerns with dedicated methods for panel/button creation
Improved readability with clear method names and responsibilities
Type safety with proper TypeScript configurations
icon-change.mp4