TITLE Suminagashi — The Marbling Tray PROMPT A full-bleed marbling tray seen from directly above: the viewer practises suminagashi / ebru paper marbling. Concept: ink floats on still water; every touch displaces what is already there. Implement real mathematical marbling on Canvas 2D: each ink drop is a closed polyline (a circle of several hundred vertices); a new drop at point C with radius r pushes every existing vertex P outward by P' = C + (P − C)·sqrt(1 + r²/|P − C|²), so earlier rings deform into nested, squeezed bands. Dragging pulls a "tine" through the ink: vertices are displaced along the stroke direction with exponential falloff by perpendicular distance (the classic tine-line formula), producing feathered combs and chevrons. Resample polylines when segments stretch so curves stay smooth. Mood: calm, tactile, a quiet workshop in morning light. Palette: water/paper #F3ECDD, indigo #1B2A49, vermilion #C4452D, celadon teal #2F7F79, ochre #E0A526, plus clear "ox-gall" drops in the paper colour that open white holes. The tray has a thin dark wooden rim (#3A2A1E) with a soft inner shadow, and the water carries faint drifting caustic light and paper grain. The rim widens into a wooden ledge on one side to hold the tools. Typography: tiny refined type. Title set small in letterspaced Georgia small caps on a paper slip at the tray's corner, with a hanging paper strip carrying a vertical line of Japanese-style colophon text (English words, vertical writing mode) and a hand-drawn red seal (SVG) reading the invented studio name "Ukigumo Workshop". Tools sit on the tray rim as drawn objects, not UI chrome: five ink bowls (choose colour), a single stylus, a five-tine comb, a fan (gently swirls everything with a curl field), a stack of paper ("Pull a print"), a strip of paper ("Skim the tray") and a small brass bowl that switches optional sound on (off by default). Labels in 10–11px small caps. Entrance: on load the tray is not empty: seven drops fall one after another in a slow rhythm (ease-out expansion of each ring, 600ms, cubic-bezier(.2,.8,.2,1)), then one comb pass draws itself, so the first three seconds already show a finished-looking marbled pattern forming. Interaction: click/tap drops ink (hold longer = bigger drop, ring grows while held); drag with stylus or comb to pull tines; keyboard 1–5 selects inks (S and C pick stylus and comb, F fans, P pulls a print, K skims; with the tray focused, arrow keys move a cursor and Space drops ink). Signature moment: the "Pull a print" control lays a sheet over the tray: a paper rectangle unrolls across the canvas with a soft shadow line, the ink soaks faintly through its back, then it lifts off and turns over carrying the pattern (mirrored, as a real print is), shrinks and lands in a strip of finished prints along the bottom (or side on wide screens), each slightly rotated with a deckled edge and a small red chop; the tray is left with only a pale ghost of ink. Clicking a print enlarges it with a short caption naming the inks used and the time it was pulled. "Skim the tray" clears it with a paper strip dragged across. Reduced motion: no intro animation, pattern appears pre-made, no caustics, prints appear on the rack without the flight. Copy is sparse and poetic: one line under the title, "Ink floats. Water remembers everything you do to it." DESCRIPTION A quiet marbling bench seen from above: a shallow tray of paper-coloured water set in a dark wooden rim, lit by a soft band of morning light. On load seven drops of indigo, ox-gall, vermilion, celadon and ochre swell one after another into two sets of nested rings that press against each other, and a five-tine comb then draws itself across them, leaving feathered chevrons. The viewer keeps working the same water: every new drop shoves the existing bands outward, every drag pulls sharp feathers through them, and the fan stirs the whole surface in one slow gyre. Type stays tiny and deliberate, on a torn paper slip and a hanging vertical colophon strip stamped with the red seal of the invented Ukigumo Workshop. The tools are drawn objects resting on the wood. Pulling a print is the reward: a sheet unrolls over the water, takes the ink, turns over and flies to the drying rack, leaving a pale ghost behind for the next layer. VISUAL TECHNIQUES - Mathematical marbling on Canvas 2D: every drop is a closed polyline displaced by the area-preserving ink-drop formula, applied incrementally so rings swell smoothly - Tine strokes with exponential falloff around the moving stroke segment, single for the stylus and five parallel tines for the comb, stepped in small increments to avoid folds - Divergence-free curl field (stream function with a main gyre and a counter-eddy) for the fan - Adaptive polyline resampling: stretched segments are split and crowded vertices merged, with a global vertex budget - Procedural caustic light computed per pixel on a low-resolution canvas and upscaled over the ink - Procedurally generated paper grain and fibres, multiplied over the water - Layered ghost rendering: printed ink is redrawn to an offscreen layer and composited at low alpha beneath fresh ink - Prints rendered to their own canvases, mirrored, with a procedurally deckled edge, paper speckle, fibres and a drawn red chop - Scripted print choreography with custom cubic-bezier easings: unrolling clip with a shrinking paper roll, soak-through, turn-over, arcing flight and FLIP landing in the rack - Inline SVG tools (ceramic bowls, bamboo stylus, comb, uchiwa fan, paper stack, skimming strip, brass bowl) with gradients and layered drop shadows - Hand-roughened SVG seal using turbulence displacement and a knocked-out text mask - Vertical writing mode colophon, torn-edge paper slip via clip-path, wood grain from layered repeating gradients, soft inner tray shadow - Small synthesised sounds (water plink, paper swish) through Web Audio, created only after the viewer switches sound on INTERACTION MODEL Click or tap the water to drop the selected ink; hold to let the drop swell, and release to let it settle. Drag to pull a tine through the ink with the stylus, or five at once with the comb. Choose inks by clicking the bowls on the ledge or pressing 1–5; pick stylus or comb by clicking them (S / C). Clicking the fan (F) stirs the whole tray in a slow swirl, alternating direction each time. "Pull a print" (P) unrolls a sheet over the tray, turns it over and sends it to the drying rack, leaving a pale ghost of the pattern on the water that later ink still pushes around; clicking any print on the rack enlarges it with a caption, and clicking again or pressing Escape puts it back. "Skim the tray" (K) drags a paper strip across and clears the water. With the tray focused, arrow keys move a cursor and Space or Enter drops ink. The brass bowl toggles sound, which is off until asked for. A custom ring or five-dot cursor follows the pointer over the water, short messages appear on a paper chip when an action has nothing to do, and with reduced motion the pattern is simply there, the light is still, and prints appear on the rack directly.