Getty Ritter 049c16b8c6 readme | 11 months ago | |
---|---|---|
src | 11 months ago | |
tools | 11 months ago | |
.gitignore | 2 years ago | |
Cargo.lock | 11 months ago | |
Cargo.toml | 11 months ago | |
README.md | 11 months ago |
thyme
is a tool for creating cross-stitch patterns from PNG files of pixel art.
Right now, there are four tools under development:
thyme-from-png
takes a PNG file as well as a YAML file that describes the color palette and packs them together into a .thyme
file.svg-from-thyme
takes a .thyme
file and converts it into an SVG file representing the pattern.svg-from-png
takes the same information as thyme-from-png
but produces the SVG file directly.thyme-editor
is a GTK4-based GUI editor to create, view, and edit .thyme
files.A thyme file is a zip file. If unzipped, it will contain the following files:
THYME_VERSION
: the file format version, currently 0
. This may eventually be able to foster backwards-compatibility.dimensions.json
: a JSON array with two numeric values, corresponding to the width and the height.metadata.json
: a JSON object with free-form keys and string values. This is currently unused, but will be used to include metadata including pattern name, author, modified dates, and so forth.palette.json
: a JSON array containing objects representing color definitions. Right now, each color has three fields: name
(a human-readable color name), symbol
(a single-character string representing a symbol to use in a rendered chart), and color
(a three-element array representing the RGB representation of a color.) This is subject to change in future versions.payload.json
: a JSON array whose length should be equal to width * height
. Each element is either null
(which means there is no stitch present) or a two-element array containing two numbers: the first number represents the stitch type (right now, full or half) and the second is an index into the palette
array.The details of this file format are subject to change.