About Rosemaling

What this simulator is, how it works, and how to use it.

What is this?

Rosemaling is a physically based painting simulator. Ordinary painting apps store display colors (RGB) and blend them with arithmetic; that is why mixing blue and yellow in them gives grey. Rosemaling instead stores which real pigments, and how much of each, sit at every point of the canvas, and computes what that physical film of paint looks like — so blue + yellow makes green, thin paint glazes, thick paint hides, and a painting can be re-lit or examined like a real object.

Everything runs on your device, in the browser. After one visit it works fully offline and can be installed to a home screen; no image or document ever leaves your machine.

How it works

Every texel of the canvas holds pigment amounts — quantities of up to eight real paints plus a clear-medium channel — not a color. Appearance is computed from that state each frame:

Using the Paint page

Getting paint onto the brush

  1. Pick a palette (classical oils or a Golden acrylic line) — or press Edit palette… to assign any paint from any library to the eight wells.
  2. Click a well to arm a squirt, then tap the palette (or canvas) to drop a glob of paint.
  3. Stroke through the glob to load the brush — like a real palette. Strokes on the palette surface mix paint exactly as on the canvas.

Painting

Layers and drying

Looking at the painting

Documents

The other pages

The Mixing lab is the physics workbench: pick two or three real paints, sweep the mixing ratio, and compare spectral Kubelka–Munk mixing against Mixbox and naive RGB interpolation, with the underlying spectra and a virtual drawdown card. The Feel bench is a development tool that replays a deterministic stroke set under different feel parameters so brush tuning is comparative rather than vibes.

Accuracy & provenance

Rosemaling prefers measured data and says so when it doesn't have it. Each pigment's spectra are labeled by provenance (measured / derived / assumed, per spectral range); technical views display a reliability warning when the materials on screen lean on assumed data outside their measured range. The simulation is a model, not a metrological instrument: Kubelka–Munk is an approximation, some scattering coefficients are derived under stated assumptions, and feel parameters are tuned by hand. Where spectral data could not be found, plausibility wins over false precision — and the UI tells you.

Credits, copyright & licensing

Rosemaling is a personal, non-commercial project. The source code is © its authors, all rights reserved; no open-source license is granted at this time. The simulator is built on generously shared measurement data — full provenance, exact sources, and terms for every dataset are recorded in the repository (data/*/SOURCE.md).

"Golden" and other paint names are trademarks of their respective owners and are used here to identify the measured materials; no affiliation or endorsement is implied. Simulated renderings are approximations of the named paints, not color-accurate specifications. If you are a rights holder of any dataset above and want a correction, please open an issue on the repository.