Artnips
8 discoverable artnips. Fields and ranges are shown for a 1000×1000 canvas.
Brush Stroke
id = 2
Draft brush dab implementation — superseded by future BrushDabStroke (id=20). Kept so any dev paintings with id=2 remain parseable.
8 fields
| Field | Type | Range | Description |
|---|---|---|---|
| startSize | number | 5..100 | Diameter of each dab at the start of the stroke. |
| endSize | number | 5..100 | Diameter of each dab at the end of the stroke. |
| lineDistanceWidth | number | 20..300 | Horizontal distance between stroke grid columns. |
| lineDistanceHeight | number | 20..300 | Vertical distance between stroke grid rows. |
| startPositionOffset | point | -150..150 | XY offset of the stroke start point from the grid cell center. |
| endPositionOffset | point | -150..150 | XY offset of the stroke end point from the grid cell center. |
| color | color | — | Color of the brush dabs. |
| colorTransitionDirection | number | -1..1 | Color transition across rows: 1 = forward, -1 = reverse, 0 = no transition. |
Any Circle
id = 3
A circle at a random position and size. Large radii frequently extend off-screen — intentional; see InScreenCircle for the on-screen variant.
3 fields
| Field | Type | Range | Description |
|---|---|---|---|
| center | point | x 0..1000 / y 0..1000 | Center position of the circle. |
| radius | number | 5..500 | Radius of the circle. Large values frequently extend off-screen. |
| color | color | — | Fill color of the circle. |
In-Screen Circle
id = 4
A circle guaranteed to fit fully within the canvas bounds.
3 fields
| Field | Type | Range | Description |
|---|---|---|---|
| center | point | x 0..1000 / y 0..1000 | Center position of the circle (clamped so the circle stays within canvas bounds). |
| radius | number | 5..500 | Radius of the circle. Always chosen so the full circle fits within the canvas. |
| color | color | — | Fill color of the circle. |
Rain
id = 1
A grid of parallel lines drawn across the canvas at a random angle and spacing.
7 fields
| Field | Type | Range | Description |
|---|---|---|---|
| vectorLength | number | 20..300 | Length of each rain line in pixels. |
| vectorAngle | number | 0..360 | Angle of the rain lines in degrees. |
| lineDistanceWidth | number | 20..300 | Horizontal gap between rain line columns. |
| lineDistanceHeight | number | 20..300 | Vertical gap between rain line rows. |
| start | point | -150..0 | Starting offset for the top-left anchor of the rain grid. |
| color | color | — | Color of the rain lines. |
| colorTransitionDirection | number | -1..1 | Color transition across rows: 1 = forward, -1 = reverse, 0 = no transition. |
Rings
id = 5
Concentric rings radiating from a random center. Rings are drawn as polylines; large radii extend off-canvas, creating partial arcs at the edges.
6 fields
| Field | Type | Range | Description |
|---|---|---|---|
| center | point | x 0..1000 / y 0..1000 | Center point from which all rings radiate. |
| ringCount | number | 2..14 | How many concentric rings to draw. |
| innerRadius | number | 10..250 | Radius of the innermost ring. |
| spacing | number | 10..80 | Distance in pixels between consecutive rings. |
| color | color | — | Starting color of the rings. |
| colorTransitionDirection | number | -1..1 | Color transition across rings: 1 = forward, -1 = reverse, 0 = no transition. |
Hatching
id = 6
Parallel lines drawn across the canvas at a fixed angle. Each line gets a random stroke-width between weightMin and weightMax, controlled by a seed.
8 fields
| Field | Type | Range | Description |
|---|---|---|---|
| angle | number | 0..180 | Angle of the hatch lines in degrees (0 = horizontal). |
| spacing | number | 8..80 | Distance in pixels between adjacent hatch lines. |
| lineCount | number | 5..60 | How many hatch lines to draw. |
| weightMin | number | 1..8 | Minimum stroke width for hatch lines. |
| weightMax | number | 1..16 | Maximum stroke width for hatch lines. |
| color | color | — | Starting color of the hatch lines. |
| colorTransitionDirection | number | -1..1 | Color transition across lines: 1 = forward, -1 = reverse, 0 = no transition. |
| seed | number | 0..2147483647 | Seed for per-line random stroke-width variation. |
Polygons
id = 7
Filled n-gons scattered across the canvas. Count, size range, and spread are tunable; the exact placement and rotation of each shape is determined by the seed.
9 fields
| Field | Type | Range | Description |
|---|---|---|---|
| count | number | 3..30 | How many polygons to scatter across the canvas. |
| sidesMin | number | 3..8 | Minimum number of sides per polygon. |
| sidesMax | number | 3..12 | Maximum number of sides per polygon. |
| radiusMin | number | 10..80 | Minimum radius of each polygon in pixels. |
| radiusMax | number | 20..333.3333333333333 | Maximum radius of each polygon in pixels. |
| spread | number | 20..100 | How widely polygons are scattered, as a percentage of canvas size. |
| color | color | — | Starting fill color of the polygons. |
| colorTransitionDirection | number | -1..1 | Color transition across shapes: 1 = forward, -1 = reverse, 0 = no transition. |
| seed | number | 0..2147483647 | Seed controlling the exact placement, size, and rotation of each polygon. |
Ellipses
id = 8
Filled axis-aligned ellipses scattered across the canvas. Count, radius ranges, and spread are tunable; exact placement and proportions are seed-determined.
9 fields
| Field | Type | Range | Description |
|---|---|---|---|
| count | number | 3..30 | How many ellipses to scatter across the canvas. |
| rxMin | number | 5..60 | Minimum horizontal radius of each ellipse. |
| rxMax | number | 20..333.3333333333333 | Maximum horizontal radius of each ellipse. |
| ryMin | number | 5..60 | Minimum vertical radius of each ellipse. |
| ryMax | number | 20..333.3333333333333 | Maximum vertical radius of each ellipse. |
| spread | number | 20..100 | How widely ellipses are scattered, as a percentage of canvas size. |
| color | color | — | Starting fill color of the ellipses. |
| colorTransitionDirection | number | -1..1 | Color transition across shapes: 1 = forward, -1 = reverse, 0 = no transition. |
| seed | number | 0..2147483647 | Seed controlling the exact placement and proportions of each ellipse. |
Waves
id = 9
Wavy lines spanning the canvas at any angle. Each wave starts and ends at a canvas wall; amplitude and wavelength are tunable.
8 fields
| Field | Type | Range | Description |
|---|---|---|---|
| lineCount | number | 1..20 | How many wave lines to draw. |
| angle | number | 0..360 | Direction the waves run in degrees (0 = horizontal, 90 = vertical). |
| amplitude | number | 5..120 | Height of each wave's peaks and troughs in pixels. |
| wavelength | number | 40..1000 | Distance in pixels between repeating wave peaks. |
| strokeWeight | number | 1..6 | Stroke width of the wave lines. |
| color | color | — | Starting color of the waves. |
| colorTransitionDirection | number | -1..1 | Color transition across lines: 1 = forward, -1 = reverse, 0 = no transition. |
| seed | number | 0..2147483647 | Seed for per-line random phase offsets. |