Diffusion Atlas

Tier: comparative tool (alpha). Object: generative trajectories and compositional fidelity across diffusion image models.

github.com/vector-lab-tools/diffusionatlas · All tools

Diffusion Atlas reads diffusion image models as vector processes rather than black-box generators. Where Manifold Atlas reads the static manifold of a frozen embedding model and LLMbench compares generated prose across language models, Diffusion Atlas reads the generative trajectory of a denoising model, the path through latent space that produces an image, and combines that geometric reading with scored compositional evaluation.

Why Diffusion Atlas

Two surfaces that current diffusion tools keep apart get unified in one instrument:

The unification is theoretical, not cosmetic. Atlas operations expose where in latent space a model decides; Bench shows what those decisions cost in compositional fidelity. Together they let critical theorists treat diffusion outputs as traces of a vector logic rather than finished pictures.

Operations

Four operations are live, organised across two top-level tabs:

Atlas

Bench

Across all four operations: shuffle and increment seed modes with per-mode dice animations; collapsible Deep Dive with CSV / JSON / PDF export (PDF groups per layer, each layer’s camera roll, latent geometry, and image-stats tables together newest-first); cross-backend comparison; click-to-modal on result images.

Backend strategy

Hybrid. Hosted providers (Replicate by default, Fal alongside) and a local FastAPI + diffusers backend that mirrors the Vectorscope architecture. The local backend exposes /health (with nativeWidth / nativeHeight reporting), /generate, streaming /trajectory, and /score. Native-resolution auto-snap reads dimensions from the loaded model. Denoise Trajectory requires the local backend (per-step latent access); Guidance Sweep, Latent Neighbourhood, and Compositional Bench are hosted-capable. The dispatcher returns typed errors normalised to UI: auth (401), payment_required (402, with billing link), rate_limit (429), capability (422). Backend pre-flight refuses unsupported resolutions with HTTP 422 plus diagnostic.

Theoretical background

Diffusion Atlas extends the vector turn argument from text to image. The manifold framing migrates more cleanly to diffusion than it does to autoregressive text, and the asymmetry is itself an argument the lab wants to develop.

Cross-tool triangulation: Diffusion Atlas (latent vector logic) sits beside Vectorscope (token vector logic) as the two regimes of the vector turn the lab can currently inspect. The pair sets up a comparative argument about where vector logic differs between modalities.

Stack

Next.js 16, React 19, TypeScript 5, Tailwind, sharing the editorial design system and tab grouping with Manifold Atlas. Visualisation through Three.js (trajectory paths) and Plotly (sweep, scatter, leaderboard). Local backend in Python 3.11, FastAPI, diffusers, and torch (mps / cuda), mirroring Vectorscope. IndexedDB caching for latents and image blobs, with separate counters and LRU eviction at a configurable cap.

Status

Alpha, v0.3.13. M1 (app shell + hosted generation), M2 (local FastAPI + Denoise Trajectory), M3 (Guidance Sweep, Latent Neighbourhood), and M4 (Compositional Bench with CLIP scoring) are all shipped. v0.3.13 lifts a generic stacking primitive (useLayerStack + LayerStackPanel) so Sweep, Neighbourhood, and Bench can adopt the same layer model as Trajectory in roughly twenty lines each, and pulls Sweep and Neighbourhood onto the contact-sheet aesthetic via shared ContactSheetFrame and SprocketRow primitives. Step Inspector is now a click-to-open modal with thumbnail, RGB histogram, and Play / Stop animation. Per-operation state persists in IDB (op_state store, structured-cloned latents survive) with a per-operation Reset. Backend hardening: EulerDiscreteScheduler pinned after DPM++ 2M produced sporadic NaN on MPS, scheduler reset on every forward to dodge the step_index leak. Up next on the 0.3.x track: Clippy / Hackerman easter eggs, object-detection-based Bench scoring, Library run loader, attention-map visualisation, h-space steering.

Siblings

Manifold Atlas reads the static geometry of language-model embeddings; Diffusion Atlas reads the generative geometry of image models. LLMbench is the prose-surface counterpart for language-model output. Vectorscope opens single language-model internals in the way Diffusion Atlas’s local backend opens single diffusion-model internals. Manifoldscope and Theoryscope round out the lab.