Creative Technology Lab
Home Experiments ↗ Contact
Live App

Tile Reveal

An interactive mosaic tool that reveals images through a tile grid system with WebGPU compute, audio-reactive effects, beat detection, and microphone input.

WebGPU Compute Canvas 2D Web Audio API Beat Detection Zero Dependencies
Year 2026
Type Web App
Status ● Live
Tile Reveal / WebGPU Mosaic Image Reveal HAS Studio — 2026
001 Overview
Upload an image or video and paint to reveal it through a dynamic tile grid. Each tile tracks its own opacity, lifetime, and offset — computed in parallel on the GPU via a WebGPU compute shader. Tiles recover over time, spring back to position, and react to audio frequencies. Connect a microphone or load a track and watch the mosaic pulse with the beat.
002 How It Works
01
Tile Grid System
The canvas is divided into a grid of tiles based on the density slider. Each tile stores four values: opacity, life counter, X offset, and Y offset — packed into a Float32Array for GPU transfer.
02
WebGPU Compute
A WGSL compute shader dispatches 256-thread workgroups to update every tile in parallel. It handles opacity recovery (tiles fade back), life decrement, and spring forces that pull offsets back to zero.
03
Brush Interaction
Mouse and touch input reveal tiles within a circular or square brush radius. Cursor velocity drives tile offset — fast strokes scatter tiles in the direction of movement, creating a dynamic shift effect.
04
Audio Reactivity
Web Audio API splits frequencies into bass, mid, and high bands. Bass drives opacity pulses, mids add warm color tints, highs add cool overlays. Beat detection triggers auto-reveal bursts at random positions.
05
Canvas 2D Render
Each frame, tiles are drawn from a background canvas with offset-based source clipping. Audio-driven color overlays are composited per-tile, then a final opacity layer restores the background where tiles haven’t been revealed.
06
CPU Fallback
When WebGPU isn’t available, a JavaScript loop handles the same recovery and spring logic on the CPU. The app detects GPU errors at runtime and falls back transparently — same visuals, just fewer tiles.
003 Features
7 Control Sliders
Density, gap, brush size, recovery speed, tile life, shift intensity, and spring force — all adjustable in real time. Density rebuilds the entire grid on the fly.
Beat Auto-Reveal
Enable beat detection and the app auto-reveals random tile clusters on every bass hit. Burst count and radius scale with bass intensity for dynamic, music-driven reveals.
Microphone Input
Connect your microphone for live audio reactivity. Speak, clap, or play music near the mic — the tile grid responds to your environment in real time with frequency visualization.
Video Support
Upload MP4 or WebM files and reveal video frames through the tile grid. The background canvas updates every frame, so the revealed areas show live video playback.
Open it up