Skip to content

RajwanYair/ExplorerLens.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,054 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

ExplorerLens.io β€” GPU-Accelerated Thumbnail Generator

ExplorerLens.io β€” GPU-Accelerated Windows Shell Extension

High-performance Windows Shell extension for 200+ file formats

ExplorerLens.io generates thumbnails for images, videos, documents, 3D models, fonts, archives, and more using DirectX 11/12 GPU acceleration and multi-threaded processing. The project root directory is ExplorerLens.io, and this repository is the production codebase for the Explorer extension, engine, and manager UI.

Build Code Quality CodeQL Latest Release Downloads Platform C++20 MSVC License Tests Warnings Roadmap

Type Windows Shell Extension (IThumbnailProvider COM in-process DLL)
GPU DirectX 11 device + compute shaders Β· GPU resize Β· HDR tone-map Β· CPU GDI+ fallback
Platform Windows 10 1809+ / Windows 11 (x64) Β· macOS/Linux: planned Phase 5
Formats 200+ extensions β€” HEIC, AVIF, JXL, WebP, RAW, PDF, CBZ, CBR, EPUB, glTF, DDS, EXR, MP4, MP3, TTF …
Cameras 100+ RAW formats β€” Canon (CR2/CR3), Nikon (NEF), Sony (ARW), Fujifilm, Adobe DNG, Olympus, Hasselblad …
Language C++20 Β· MSVC v145 Β· Visual Studio 18 2026 BuildTools
Build CMake 4.3 Β· Ninja Β· vcpkg / local external libs
Tests 4,744 unit tests Β· 5 benchmarks Β· 100% pass rate
Install One-click MSI or winget install ExplorerLens.ExplorerLens or regsvr32 LENSShell.dll
🏷️ GitHub Topics (live on this repo)

windows-shell-extension Β  thumbnail-provider Β  ithumbnailprovider Β  windows-explorer-extension Β  file-preview Β  gpu-acceleration Β  directx Β  cpp20 Β  heic Β  avif Β  jpeg-xl Β  raw-image Β  webp Β  windows-11 Β  comic-book Β  image-decoder Β  thumbnail-cache Β  com-server Β  pdf-viewer Β  msvc

More keyword tags for discoverability: ithumbnailprovider Β· iextractimage Β· com-dll Β· directx11 Β· directx12 Β· vulkan-compute Β· hlsl Β· libraw Β· libheif Β· libjxl Β· libavif Β· mupdf Β· libwebp Β· dav1d Β· cbz-reader Β· cbr-reader Β· manga-viewer Β· epub-reader Β· archive-viewer Β· 3d-model-viewer Β· gltf Β· stl-viewer Β· dicom Β· openexr Β· hdr Β· font-preview Β· video-thumbnail Β· audio-waveform Β· wic Β· simd Β· avx2 Β· zero-copy Β· lru-cache Β· windows-registry Β· regsvr32 Β· shell-handler


πŸ“š Documentation

Getting Started:

Project Organization:

Development:

Server & Ops:

  • LensServer β€” Lightweight REST thumbnail server (port 8765)
  • Dockerfile β€” Windows Container 2-stage build image

✨ Features

Supported Formats (200+ file extensions via 25 specialized decoders)

Core Image Formats (βœ… Fully Supported)

  • Standard: .jpg, .jpeg, .png, .bmp, .gif, .tiff, .tif
  • Modern: .webp (WebP), .avif (AV1 Image), .jxl (JPEG XL) βœ…
  • Mobile: .heif, .heic, .hif, .avci, .avcs (Apple HEIC/HEIF) βœ…
  • Implementation: JXL via libjxl 0.11.1 | HEIF via libheif 1.19.5 (with WIC fallback on Windows 11)

Archives & Comic Books (βœ… Fully Supported)

  • Comic Books: .cbz, .cbr, .cb7, .cbt
  • E-Books: .epub, .mobi, .azw, .azw3, .fb2
  • Archives: .zip, .rar, .7z, .tar, .gz, .bz2, .xz

Professional Formats (βœ… RAW Photos & Modern Formats)

  • RAW Photos: .cr2, .cr3, .nef, .arw, .orf, .dng, .rw2, .raf, .pef, .dcr, .mrw, .x3f and 100+ more camera formats (βœ… LibRaw 0.21.3)
    • Features: Embedded JPEG thumbnail extraction (< 10ms), full RAW decode with demosaicing, EXIF orientation support, auto white balance
    • Cameras: Canon, Nikon, Sony, Olympus, Panasonic, Fujifilm, Pentax, Adobe DNG, Leica, Samsung, Hasselblad, Phase One, Sigma
  • Modern Images: .jxl (JPEG XL) via libjxl 0.11.1, .heif/.heic (HEIF/HEIC) via libheif 1.19.5 + WIC fallback
    • JXL Features: Next-gen format support, better compression than WebP, wide color gamut
    • HEIF Features: Apple iPhone photos (iOS 11+), HDR support, 16-bit depth, wide color
  • Design: .psd, .psb (Photoshop), .svg (vector graphics)
  • HDR: .exr (OpenEXR), .hdr (Radiance RGBE)
  • Texture: .dds (DirectX textures)
  • Legacy: .tga (Targa), .ico (icons), .jp2 (JPEG2000)

Video & Audio (βœ… Media Foundation)

  • Video: .mp4, .mkv, .avi, .webm, .mov, .wmv, .flv, .mpg, .mpeg, .ts, .mts, .m2ts, .3gp, .vob, .ogv (22 extensions)
  • Audio: .mp3, .flac, .m4a, .ogg, .wma, .wav, .opus - extracts album art or generates waveform

Documents & Fonts (βœ… Shell API + GDI+)

  • Documents: .pdf, .docx, .xlsx, .pptx, .epub (Office/Edge required for Office formats)
  • Fonts: .ttf, .otf, .ttc - renders font preview

3D Models (βœ… Built-in parser)

  • Models: .obj, .stl, .gltf, .glb - orthographic preview rendering

Vector Graphics (βœ… GDI+ renderer)

  • SVG: .svg, .svgz - rasterizes vector graphics to thumbnail

Special Formats (βœ… Native decoders)

  • QOI: .qoi (Quite OK Image - fastest decode format)
  • ICO: .ico, .cur (Windows icons/cursors)
  • TGA: .tga (Targa)
  • PPM: .ppm, .pgm, .pbm, .pnm, .pam, .pfm (Netpbm formats)
  • DDS: .dds (DirectX textures)
  • HDR: .hdr, .pic (Radiance RGBE)

Legend: βœ… = Production ready | ⚠️ = Requires external dependency | πŸ“‹ = Planned

Performance

  • ⚑ GPU Accelerated - DirectX 11 hardware rendering
  • πŸš€ Smart Caching - Instant display of cached thumbnails
  • πŸ“¦ Multi-Format - Single extension for all formats
  • 🎯 Low Memory - Efficient resource usage

πŸš€ Quick Start

Requirements

  • Windows 10 1809+ or Windows 11 (64-bit)
  • Visual Studio 18 2026 BuildTools (MSVC v145 toolset)
  • Administrator privileges for installation

Build

REM Open "x64 Native Tools Command Prompt for VS 2026"
cd ExplorerLens
RUN-BUILD.bat

See Build Quick Reference for detailed instructions.

Install

REM Register DLL (as Administrator)
cd x64\Release
regsvr32 LENSShell.dll

Configure

Run LENSManager.exe to enable/disable file format categories.


πŸ—οΈ Architecture

System Components

ExplorerLens System Architecture

Thumbnail Generation Data Flow

Thumbnail Generation Data Flow

Build Pipeline

ExplorerLens Build Pipeline

GPU Render Priority: D3D11 β†’ D3D12 β†’ Vulkan Compute β†’ GDI+ (software)

COM interfaces implemented: IThumbnailProvider, IInitializeWithStream, IPropertyStore, IPropertyStoreCapabilities, IExtractImage2, IPersistFile, IQueryInfo

CLSID: {9E6ECB90-5A61-42BD-B851-D3297D9C7F39}

Project Directory Layout

graph TD
    ROOT["πŸ“ <b>ExplorerLens.io</b>"]

    ROOT --> SHELL["πŸ”Œ <b>LENSShell/</b><br/>COM Shell Extension DLL"]
    ROOT --> MGR["πŸ–₯️ <b>LENSManager/</b><br/>WTL Admin GUI"]
    ROOT --> ENG["βš™οΈ <b>Engine/</b><br/>Core Decode + Render Library"]
    ROOT --> BS["πŸ”¨ <b>build-scripts/</b><br/>PowerShell Build Automation"]
    ROOT --> EXT["πŸ“¦ <b>external/</b><br/>Statically Linked Libraries"]
    ROOT --> DOCS["πŸ“š <b>docs/</b><br/>Architecture &amp; Guides"]
    ROOT --> SDK["🧩 <b>SDK/</b><br/>Plugin SDK · C ABI"]
    ROOT --> PKG["πŸ“‹ <b>packaging/</b><br/>MSI Β· MSIX Β· Inno Setup"]
    ROOT --> SLN["πŸ“„ <b>LENSShell.sln</b><br/>Visual Studio 18 2026 Solution"]

    ENG --> CORE["πŸ—οΈ <b>Core/</b><br/>Pipeline Β· Detection Β· SIMD"]
    ENG --> DEC["πŸ–ΌοΈ <b>Decoders/</b><br/>25+ Format Decoders"]
    ENG --> GPU["⚑ <b>GPU/</b><br/>D3D11 · D3D12 · Vulkan"]
    ENG --> CACHE["πŸ’Ύ <b>Cache/</b><br/>Multi-tier Caching"]
    ENG --> MEM["🧠 <b>Memory/</b><br/>BitmapPool · Pressure Ctrl"]
    ENG --> PLUGIN["πŸ”© <b>Plugin/</b><br/>Plugin Ecosystem Β· Sandbox"]
    ENG --> AI["πŸ€– <b>AI/</b><br/>Smart Crop Β· IQA Β· Scene"]
    ENG --> TESTS["βœ… <b>Tests/</b><br/>4,483 Unit Tests Β· 5 Benchmarks"]

    style ROOT fill:#1e3a5f,color:#fff,stroke:#4a9eff,stroke-width:2px
    style ENG  fill:#1b4332,color:#fff,stroke:#40916c,stroke-width:2px
    style SHELL fill:#2d2d2d,color:#fff,stroke:#888
    style MGR   fill:#2d2d2d,color:#fff,stroke:#888
    style BS    fill:#2d2d2d,color:#fff,stroke:#888
    style EXT   fill:#2d2d2d,color:#fff,stroke:#888
    style DOCS  fill:#2d2d2d,color:#fff,stroke:#888
    style SDK   fill:#2d2d2d,color:#fff,stroke:#888
    style PKG   fill:#2d2d2d,color:#fff,stroke:#888
    style SLN   fill:#2d2d2d,color:#fff,stroke:#888
    style CORE   fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
    style DEC    fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
    style GPU    fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
    style CACHE  fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
    style MEM    fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
    style PLUGIN fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
    style AI     fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
    style TESTS  fill:#1a3d2b,color:#d8f3dc,stroke:#52b788
Loading

🀝 Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

How to Help

  • πŸ› Report bugs and issues
  • πŸ’‘ Suggest features
  • πŸ”§ Submit pull requests
  • πŸ“ Improve documentation
  • πŸ§ͺ Write tests

πŸ“Š Status

Current Version: 32.3.0 "Fomalhaut-T" Build Status: 0 errors / 0 warnings Test Status: 4,483 unit tests, 5 benchmarks (100% pass rate) Codename: Fomalhaut-T β€” Annotation, HDR Tone Mapping & Format Detection

See CHANGELOG.md for the complete development history.


πŸ”§ Troubleshooting

Thumbnails Not Appearing

REM Restart Windows Explorer
taskkill /f /im explorer.exe && start explorer.exe

REM Clear Windows thumbnail cache
del /f /s /q "%LocalAppData%\Microsoft\Windows\Explorer\thumbcache_*.db"

Check DLL Registration

reg query "HKCR\CLSID\{9E6ECB90-5A61-42BD-B851-D3297D9C7F39}\InprocServer32"

See Troubleshooting Guide for more troubleshooting.


πŸ“¦ External Libraries

Compression: zlib 1.3.1, LZ4 1.10.0, zstd 1.5.7, LZMA 26.00, minizip-ng 4.0.10 Images: libwebp 1.5.0, libavif 1.3.0 (dav1d 1.5.1), libjxl 0.11.1, LibRaw 0.21.3 Archives: UnRAR 7.2.1, minizip-ng 4.0.10 Video: Windows Media Foundation (system API) Rendering: DirectX 11, GDI+


πŸ“„ License

MIT License - See LICENSE for details.


πŸ”— Links

  • Repository: Internal project repository
  • Issues: Use project issue tracker configured for this workspace
  • Discussions: Use team discussion channel

Built with ❀️ using C++20, DirectX 11/12, and Vulkan β€” Windows Shell Extension for 200+ formats

Last Updated: March 29, 2026 (v25.0.0 "Rigel")

About

IThumbnailProvider COM shell extension: GPU-accelerated thumbnails for 200+ formats (HEIC, AVIF, JXL, WebP, RAW, PDF, CBZ, glTF, DDS, EXR). C++20, DirectX 11/12, Vulkan. Windows 10/11 x64.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors