Vibary.ai
← All particles

Mask Erode

A cover eaten inward from its edges, the material leaving as grains on the draught.

revealboldtechnical150 particles · light · canvas-2d · automatic · finite
Variant

The canvas in this preview is the file shown here. The surrounding demo shell only provides context and is not part of the copied code.

343 lines · react only
import { useEffect, useRef } from "react";

/**
 * Vibary · Mask Erode
 *
 * A cover eaten away from its edges, the material leaving as grains on
 * the draught that is eating it.
 *

About this effect

For content that has been withheld and is now released — an unlocked report, a redacted field, a result that has finished computing. Only cells currently on the boundary may be removed: the cover is an occupancy grid with a frontier list beside it, and taking a cell off pushes its still-solid neighbours onto that frontier, so the erosion is always the edge advancing inward and cannot punch a hole in the middle. That is the whole difference between eaten and faded, and it is measurable — at a quarter removed this rule leaves zero interior holes where dissolving cells at random leaves 78 and the cover has already become lace. Two details keep the advance from looking mechanical: each cell carries a toughness from a stable hash of its position, so the edge is chewed rather than a smooth inward offset of the outline, and the chance of a cell going is weighted along the draught, so the cover is eaten from the windward side first and the reveal has a direction with no sweep line anywhere in the code. Removal and emission are the same event — one cell leaves the grid and exactly one grain appears where it was, so the material is the cover moving rather than an illustration of it.

Unlocking a gated reportRevealing a redacted valueScratch-card style revealResult that has finished computing

Related effects