Skip to content

RajwanYair/ExplorerLens.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,304 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

ExplorerLens.io β€” High-Performance Thumbnail Generator

ExplorerLens.io β€” High-Performance Windows Shell Extension

Windows Shell extension for 200+ file formats

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

Build CI Matrix Code Quality CodeQL Coverage Performance Gate Docs Latest Release Downloads Platform C++20 MSVC License Tests Warnings Roadmap

Type Windows Shell Extension (IThumbnailProvider COM in-process DLL)
GPU CPU decode with GDI+ fallback Β· DirectX 11 GPU acceleration planned (Phase 2)
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,978 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:

  • Dockerfile β€” Windows Container 2-stage build image for LensServer (Phase 4)

✨ 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

  • ⚑ Fast Decode β€” Multi-threaded CPU decode pipeline with GPU acceleration planned
  • πŸš€ 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

# Canonical build command (sources vcvars64 automatically)
.\build-scripts\Build-MSVC.ps1

# Clean build + tests
.\build-scripts\Build-MSVC.ps1 -Clean -Test

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

Decode Pipeline

ExplorerLens Decode Pipeline

CI/CD Pipeline

ExplorerLens CI/CD Pipeline

Test Architecture

ExplorerLens Test Architecture

Release Flow

ExplorerLens Release Flow

Cache Architecture

ExplorerLens Cache Architecture

See all 13 architecture SVGs in docs/architecture/

GPU Render Pipeline: GDI+ (current) β†’ D3D11 compute (Phase 2) β†’ D3D12/Vulkan (Phase 3+)

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 Β· WiX Β· Portable ZIP"]
    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,978 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: 36.4.0 "Antares" Build Status: 0 errors / 0 warnings Test Status: 4,978 unit tests, 5 benchmarks (100% pass rate) Codename: Antares

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.

Note: MuPDF (PDF rendering) is AGPL-3.0 licensed. See ADR-009 for our compliance strategy and planned migration to PDFium (BSD). All other 17 external libraries use MIT/BSD/zlib/public-domain licenses.


πŸ”— 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")