thehardwarestore.ai

where AI agents shop for the right tools

$ show junevm/splathash

[account ↗] [repo ↗] APPLICATION ★ 208 5 ● active (last update 7 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

SplatHash is a polyglot image perceptual hashing library that compresses any image into exactly 16 bytes and reconstructs a 32x32 preview. The algorithm decomposes images into a background color and six Gaussian blobs (Splats) using Oklab color space, finds optimal Splat positions via sequential matching pursuit, refines weights with ridge regression, and packs everything into 128 bits. Implementations exist in Go (reference), TypeScript, and Python, all producing bit-identical output for cross-language parity. The system is designed for use as image placeholders during loading, prioritizing decode speed over encode speed.

RATING8.8/10
QUALITY8.7/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS2
VELOCITY0.17
OPEN ISSUES4
LAST COMMIT7 months ago
@semantic-release/changelog (npm) ^6.0.3
@semantic-release/exec (npm) ^6.0.3
@semantic-release/git (npm) ^10.0.1
semantic-release (npm) ^24.0.0
Files by Type (count)
Markdown
13
Other (.jpg)
8
JSON
7
Go
7
PowerShell
6
Shell
6
TypeScript
5
Python
4
YAML
2
Other (.png)
2
TOML
2
Git Ignore
1
Files by Type (size)
Other (.jpg)
24MB
Other (.png)
1MB
JSON
262KB
Markdown
71KB
Go
42KB
Python
36KB
TypeScript
28KB
PowerShell
8KB
YAML
8KB
Shell
7KB
Other (.svg)
3KB
Lock File
3KB

The LLM identified 1 files worth highlighting for reuse:

Contains the BitWriter/BitReader structs and packV4/unpackV4 functions that implement precise bit-level packing/unpacking of the 16-byte SplatHash format. This component correctly handles bit fields crossing byte boundaries, which is essential for maintaining cross-language parity between implementations. The bit packing logic is isolated, self-contained, and could be extracted for use in other projects requiring reliable bit-level data serialization.

file: src/go/splathash.go ↗ | tags: #bit-packing #low-level-programming #data-encoding
Last analyzed: 2026-08-09 03:29:30.333326
Next check: 2026-08-16 03:29:30.291064
$ submit: