Versioning
The picture is the API. Within a major version, a seed with the same options always draws the same robot. Store a seed, shape and palette index, and you get the same robot through every 2.x release. The robots in seedkin/botling are the robots of botling 1.2.0, seed for seed (ADR 0009).
Major and minor
- Major: anything that changes an existing seed's robot, at any size: art, palette colours, the order or length of any parts list, the 40px switch, which parts move when animated, and the output of
traits,gridandsmallGrid. - Minor: new holiday palettes, opt-in options and exports (seeds never pick them), smaller SVG markup that draws the same picture, and motion timing.
Don't compare or cache robots by their SVG string across versions; the markup can change while the picture stays put. ADR 0006 has the full list. Snapshot tests guard it.
Preview styles
A new style starts in Preview, marked with a badge in these docs and on the site. Until it's marked stable, the avatar a seed draws can change in a minor version as the art settles, so pin the minor (~2.2.0) if you store seeds and need the same picture back. Botling is stable.
From botling 1.x
The botling package stays at 1.2.0 on npm and won't change. Move to seedkin by changing the import from 'botling' to 'seedkin/botling': the exports are the same and every seed draws the same robot. The changelog lists every release of both.