CHROMA STUDIO / GPU ARCHITECTURE EXPLORER

Inside the paint engine.

Four synchronized implementations. Follow each input sample from CPU pointer events through GPU brush motion, individual texture cells, material simulation, and final pixels. Rotate every stack, step through a stroke, or inspect a single cell.

SELF-CONTAINED · OFFLINE · 16 × 16 LAB GRID
001 / 288
Step: CPU · pointer eventStroke 1 / 3Dab 1 / 12Click a cell to inspect: (8, 8)Drag any model to orbit · pinch/wheel to zoom
David Li · Fluid Paint
Reference implementation · GPU bristles + projected fluid
REFERENCE
CPU ↑   GPU TEXTURE STACK ↓
X → Y ↗ Z ↑Drag to orbit · tap a grid cell
Chroma · Oil
Your GPU implementation · paint body, wet/dry + flow
ART-TOOL
CPU ↑   GPU TEXTURE STACK ↓
X → Y ↗ Z ↑Drag to orbit · tap a grid cell
Chroma · Watercolor V1
Current main branch · shared scratch + loose ordering
LEGACY
CPU ↑   GPU TEXTURE STACK ↓
X → Y ↗ Z ↑Drag to orbit · tap a grid cell
Chroma · Watercolor V2
feature/watercolor-v2 · explicit deposit transactions
REFACTOR
CPU ↑   GPU TEXTURE STACK ↓
X → Y ↗ Z ↑Drag to orbit · tap a grid cell

Pixel microscope

Select an engine and cell to compare its numeric channels and neighborhood

David Li · pixel (8, 8)

waterpigmentpressure / velocitycommitted

CPU ↔ GPU execution pipeline

About the models, accuracy and actual repositories

This is an interactive teaching model, not an execution trace, numerical replica, driver test or faithful reproduction of every shader. Its 16 × 16 cells are representative GPU texels, not screen-resolution pixels. The numerical values and timings are synthetic and normalized so you can see state transitions and architectural differences. The original algorithms and Chroma code establish the step ordering, GPU field roles and data flow. A real GPU trace would require in-app instrumentation, WebGL capture and reading live shader outputs.

David Li: brush.js and simulator.js. Chroma: GPU paint (oil and watercolor), V2 transactions, and GPU hair path.