← All projects

CabinFever

in-progress

A Next.js/TypeScript marbling simulation testing particle, field, boundary, and hybrid models for paint on water.

SimulationGraphicsFluid DynamicsNext.jsTypeScript
Live, simplified demo: drifting metaballs, no raking yet. The marbling algorithm is still in progress.

Overview

CabinFever is a marbling simulation that runs in the browser. It models what happens when paint is dropped onto water: the way droplets float on the surface, spread, and pull into one another to form the swirling, organic patterns of traditional paper marbling.

How it’s built

  • A Next.js + TypeScript app, with Storybook for isolating the simulation components.
  • A deliberate bake-off. The same marbling problem is attacked through many prototype approaches (Eulerian density fields, particle systems, SDF and Voronoi boundaries, metaball pools, and hybrids), each in its own branch.
  • A design spec and refactor plan that fold the winning ideas back into a shared rendering core.

Status

In active development. I’m chasing the balance between physical plausibility and results that simply look good, and consolidating the strongest prototype into the main app. The marbling algorithm itself is still a work in progress.