DINOv2 feature extractor running fully in the browser (WebAssembly, SIMD128, single thread). Pick two images, get their cosine similarity plus a per-patch heatmap of patch-to-CLS similarity.
github.com/espetro/dinov2.cpp · model: dinov2-cpp-core/dinov2-with-registers-small-gguf
Default is the ViT-S with registers GGUF fetched straight from Hugging Face: /resolve/ URLs send CORS headers, so the hosted demo works with no model committed. Register tokens give cleaner patch heatmaps. A relative model.gguf also works if you drop a GGUF next to index.html.
/resolve/
model.gguf
index.html
Inputs are capped at 1200 px before encoding; the engine rescales to its bounded recipe internally.