Start with a seed, not an image
The current hero on compez.art does not begin from a finished composition. It begins from a seed. That seed chooses a palette and a set of parameters: scale, frequency, rotation, vortex strength, density and a number of smaller decisions.
The important part is reproducible variation. Randomness is useful only when it is constrained enough that the result still belongs to the same visual family.
Build a direction field
At every point in the image, the system computes an angle. The current field is a combination of several sinusoidal components: horizontal, vertical and diagonal relationships are mixed together, then a weak local vortex perturbs the result.
The coefficients are deliberately unequal. Equal weights tend to feel synthetic in the wrong way — too balanced, too obviously procedural. Slight imbalance creates hierarchy.
Trace the field, then edit with constraints
Hundreds of paths enter the field from different edges and move through it step by step. The implementation samples the direction again at the midpoint of each step before committing the next position. That small correction makes long paths feel smoother and less mechanically jagged.
The traces are not all equal. A small percentage become heavier structural lines, many are hairlines, and others sit between those extremes. Short fragments are added separately. This produces more visual scale than a field made from one uniform stroke width.
- long paths create the main flow;
- short paths create local texture;
- rare heavy paths create hierarchy;
- small flecks prevent large quiet regions from feeling digitally empty.
Separate the image from the motion
The static field and animated particles are rendered on separate canvases. That decision matters. The static layer can be rendered at a higher device-pixel ratio for sharpness, while the motion layer can stay lighter and update every frame.
The moving particles follow the same field, but each has its own speed, width, life and tail length. Pointer interaction does not pull everything toward the cursor. Instead, nearby particles bend toward a tangent around it. The result is a disturbance rather than a magnet.
The algorithm is not the composition
The formula is only the beginning. Most of the visual identity comes from decisions around density, palette, line hierarchy, empty space and the probability of rare structures.
This is the same reason I do not think of generative art as “press random and keep the good one.” The system is the work. Individual outputs are evidence of what the system can become.
The exact implementation changes from project to project. The current compez.art field is one concrete example of that approach; older works such as Superboard and Orbitime use different visual grammars, but the broader interest in repetition, constraint and emergence remains.