Commit Graph

108 Commits

Author SHA1 Message Date
Innei
3a64e62124 feat: enhance device detection and performance estimation in WebGLImageViewerEngine
- Added utility functions for detecting mobile, iOS, Android, and tablet devices, improving responsiveness based on device type.
- Implemented performance estimation methods to assess device capabilities, allowing for optimized loading strategies.
- Updated WebGLImageViewerEngine to utilize new device detection and performance estimation features, enhancing memory management and loading behavior for large images.
- Refactored image loading and texture creation processes to avoid blocking the main thread, improving overall user experience.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-06 15:49:52 +08:00
Innei
8f2abb330b feat: implement on-demand LOD management in WebGLImageViewerEngine
- Introduced a new strategy for managing Level of Detail (LOD) textures, allowing only the currently needed LOD to be retained, which optimizes memory usage.
- Updated the image loading method to accept ImageData, enhancing flexibility in image processing.
- Refactored texture creation and cleanup processes to support the new LOD management strategy, ensuring efficient memory handling.
- Removed preloading logic in favor of on-demand LOD creation to further reduce memory pressure.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-06 14:31:08 +08:00
Innei
08a58b4486 feat: enhance WebGLImageViewerEngine with drag optimization and tile management
- Introduced drag optimization features to improve performance during image dragging.
- Added methods for throttled tile updates and predictive loading based on drag direction.
- Enhanced tile priority calculation to ensure better loading of visible tiles.
- Adjusted tile loading strategies based on drag state and device type for improved responsiveness.
- Implemented cleanup and state management for drag events to maintain rendering quality.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-06 02:35:12 +08:00
Innei
0c9784acd7 feat: enhance DebugInfo component with collapsible sections and improved layout
- Introduced CollapsibleSection and StatusIndicator components for better organization of debug information.
- Updated DebugInfoComponent to support collapsible sections for transform, image, memory, and tiling information.
- Improved styling and layout for better readability and user interaction.
- Adjusted debug information display logic to handle null state and added quality and memory pressure indicators.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-06 01:58:31 +08:00
Innei
25521e2af6 feat: enhance ProgressiveImage and WebGLImageViewerEngine with memory management and tiled rendering
- Updated ProgressiveImage component to conditionally render high-resolution images based on the current image state.
- Enhanced DebugInfo component to include detailed memory usage statistics.
- Introduced a tiled rendering system in WebGLImageViewerEngine for efficient handling of large images, including memory management and cleanup strategies.
- Implemented logic to dynamically adjust loading strategies based on image size and device type.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-06 01:50:45 +08:00
Innei
26c93dbf9d backup
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-06 00:53:35 +08:00
Innei
b51d81bd47 chore: update package dependencies and versions
- Upgraded `eslint-config-hyoban` from 4.0.7 to 4.0.8.
- Updated AWS SDK packages `@aws-sdk/client-s3` and `@aws-sdk/s3-request-presigner` from 3.823.0 to 3.824.0.
- Bumped `@tanstack/react-query` from 5.80.2 to 5.80.5.
- Updated `@types/react-dom` from 19.1.5 to 19.1.6.
- Incremented `tsdown` version from 0.12.6 to 0.12.7.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-05 18:43:36 +08:00
Innei
f841d2ada2 feat: init 2025-06-05 13:27:09 +08:00