Pattern Library
Pattern definitions separate a reusable source from the way one object uses it. The controls remain a source-build preview until a published release includes them. The guide below describes current behavior and its limits.
Create a pattern from vector artwork
- In Design, select the vector artwork you want to use as a motif source.
- Open Pattern Library in the Paint inspector.
- Optionally enter a name, then choose Create from Selection.
Varve copies the selected artwork and its supported dependencies into a pattern definition. It leaves the original artwork in the document. The new definition is a separate source; changing the original selection later does not update it. Choose Edit source motifs on a vector definition to open a draft with a repeated preview and per-motif Translation X, Translation Y, and Rotation controls. Click or drag a motif in any visible repeat copy, including a dimmed neighbor, to select and move the same source motif. A drag can cross the tile boundary; it updates the canonical source instead of creating a second motif. The motif list supports arrow-key nudging. Done commits the shared source in one history step after it is confirmed, and Cancel drops the draft without undoing unrelated work.
This compact editor works on top-level copied motifs. It does not yet edit path points, nested children, text content, paint, or raster pixels, and it is not a full canvas tool session.
Create or import another source
- New pattern creates a checkerboard definition with a saved procedural recipe.
- Import tile accepts PNG, JPEG, WebP, GIF, and AVIF files. Imports are limited to 64 MB and 64 megapixels, and the image data is embedded in the document.
- Replace source on a library entry changes its shared source to an imported raster tile. Every linked fill sees the replacement; make one fill unique first to isolate that change.
- The library shows each source kind, cell dimensions, and current use count. Search filters by name.
- Edit definition settings changes the shared name, cell size, gap, mirror state, and grid/half-drop/brick arrangement for every linked fill.
- Export source tile downloads one SVG cell with embedded source artwork or image.
- Export repeating supertile downloads a rectangular SVG period for Grid and the conventional Half-drop or Brick arrangement, including mirror parity. Custom stagger fractions are refused when a finite rectangular period is not supported.
Importing a tile does not make its pixels editable as vector artwork. A repeating preview does not guarantee that the source edges meet seamlessly. Raster definitions include seam inspection with whole-pixel horizontal and vertical offsets. Applying an offset cyclically moves the existing texels into a new embedded PNG; it changes the tile phase, not its content, and cannot synthesize a missing edge or repair a discontinuity. Offsets are limited to tiles up to 16 megapixels.
Apply a definition and place its fill
- Select one or more target objects.
- In Pattern Library, use the apply control on the definition you want.
- Select a target and open its pattern fill controls to adjust that fill.
The available numeric placement fields are:
- Tile width and Tile height scale this fill’s tile.
- Phase across and Phase down shift this fill’s repeat origin.
- Pattern alignment anchors the repeat to the object or document/page origin.
- Rotation turns the field about the selected alignment origin.
For a definition linked from the library, its source and repeat geometry are shared; the placement fields above belong to the selected fill. The library’s definition settings edit the shared repeat arrangement. Half-drop offsets columns vertically; brick shifts rows horizontally. Document/page alignment shares a phase across adjacent objects; PDF currently warns and omits this mode because its pattern path remains object-aligned.
Make one use unique
Select one object that uses a library pattern, then choose its Make unique action in the Pattern Library row. Varve creates a separate definition identity for that selected object’s use. Other uses continue to reference the original definition. This lets you make subsequent source-motif changes independent of the other uses.
A definition in use cannot be deleted from the library. Detaching a linked Paint is a separate operation; pattern-definition deletion does not silently remove its uses.
Save and reopen
Pattern definitions are stored in the document model. Raster imports reference embedded document assets; vector definitions retain copied scene data; procedural definitions keep their recipe. The document codec includes the required pattern dependencies when encoding and decoding a document. Do not remove referenced embedded assets manually from a file.
The current authoring UI supports renaming definitions and replacing a definition source with an imported raster tile. Replacement affects every linked use. Raster seam inspection can cyclically offset existing pixels and apply the result as a new embedded PNG; it does not synthesize seamless edges or provide wraparound painting. Finite expansion is not available. Those operations are not implied by the repeat preview.
Export status
Export Tile downloads the source cell as an SVG wrapper with its tile image embedded. The copied vector preview stays an SVG image, but its motif objects are not independently editable in the exported file. Export Supertile includes the full rectangular period for Grid and conventional Half-drop or Brick settings, with a clip at the supertile boundary; unsupported custom stagger fractions are rejected. Applied-fill SVG emits reusable vector pattern definitions for linked grid patterns on supported closed shapes. Unsupported arrangements, sources, stacks, blends, and alignment use an export-resolution raster fallback with a warning. PDF supports an axis-aligned grid with positive gaps; PDF/X-1a omits transparent tiles or non-opaque fills with a warning. Shifted arrangements, mirror, phase, and rotation are omitted from PDF with a warning. If a visible pattern has no resolved tile source, PDF and PDF/X export stops before writing an incomplete file; replace or reimport that tile first. Check the output limits in the export guide.
See the pattern feature status for the current capability summary and limitations. General file output is covered in Export & Code Generation.