Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Parameters

Every setting a design element can carry, by the key a design stores it under. A parameter that Ink/Stitch also has keeps Ink/Stitch’s key, meaning and default, so files move between the two tools unchanged (compatibility contract). Where StitchCraft reads or sews one otherwise, its entry says how, and below is how reading any value differs.

StitchCraft never falls back to a default in silence. A value it cannot use is an error that says what is accepted (SC-E0101); a value outside its range is clamped, with a warning (SC-W0102); a key it does not know is kept unchanged, with a warning (SC-W0105).

Writing values

Designs store every value as text, the same way for every host:

  • Lengths are millimetres. They may carry a unit right after the number: 2.5, 2.5mm, 0.1in and 7pt are all accepted, and 2.5 mm is not.
  • Angles are degrees (45, 45° or 45deg), turned into the range from −180 (exclusive) to 180.
  • Percentages may end in %.
  • On or off is true or false, in any case. yes, y, t and 1 are on too, and no, n, f, 0 and off off. on is an error, since Ink/Stitch reads it as off.
  • Lists (several lengths, numbers or angles) are separated by spaces: 2.5 1.2. A comma separates nothing and is no decimal point, so 2.5,1.2 and 3,5 are errors that say so. An angle in a list may end with one comma (0, 90), as older files write a fill’s underlay angles.
  • Seeds are a number or any text. Elements given the same seed vary alike; empty means “derive it from the element”, so every element differs but every run is the same.
  • Empty text, or spaces alone, is not set: the parameter takes its default, as in Ink/Stitch. Spaces, tabs and line ends round a value are left out, as Ink/Stitch strips them.

An element reads only the settings its stitch type uses, and only those its other settings show: a running stitch reads no zigzag spacing, and no length variation while random stitch length is off. A setting it does not read is kept with the element, unchecked, and changes nothing.

Programs that store values as JSON (and the JSON Schema that describes them) use numbers, true/false, strings and arrays instead, and null for an empty value.

Where reading differs from Ink/Stitch

  • DEV-PRM-001. A value StitchCraft cannot read refuses its element (SC-E0101), and the rest of the design is sewn. Ink/Stitch sews such a value as the parameter’s default, or a toggle as off, without a word: it sews 3,5 for running_stitch_length_mm as 2.5 mm stitches, and a toggle of on as off. A toggle reads yes, y, true, t and 1 as on here, as Ink/Stitch does, and only their opposites and off as off. StitchCraft reads a tab, or several spaces, between a list’s values as one space, where Ink/Stitch sews a list with a tab between values as its default, and a fill’s underlay angles with 2 spaces between them too. It also reads a unit right after a number, mm, in or pt after a length, a degree sign or deg after an angle and a percent sign after a percentage, where Ink/Stitch sews the default.
  • DEV-PRM-002. Every number a parameter takes keeps to a range of StitchCraft’s, given in the parameter’s reference entry. A value outside it is clamped into it, with SC-W0102. Ink/Stitch sets a floor for most of its numbers and few ceilings, so many of these ranges are narrower than its own: repeats has no ceiling there and stops at 100 here.
  • DEV-PRM-003. An optional length below 0 is read as not set, as 0 is, and SC-W0102 says so. Ink/Stitch reads it as a length and sews what that gives: with a min_jump_stitch_length_mm below 0, it ties off, jumps and ties in between every 2 groups of stitches.
  • DEV-PRM-004. A list takes at most 16 values and a pair 2, and no value may be longer than 4,096 bytes: more refuses the element (SC-E0101), whose message quotes the start of a long value. Ink/Stitch reads a list of any length, takes the first 2 values of a longer pair, and reads text of any length.

Groups

GroupParametersApplies to
Common parameters16every stitch type
Stroke parameters1Running stitch, Ripple stitch, Zigzag stitch, Manual stitch
Running parameters4Running stitch, Ripple stitch
Repeat parameters2Running stitch, Ripple stitch, Zigzag stitch, Manual stitch
Zigzag stroke parameters3Zigzag stitch
Satin parameters34Satin column, E-stitch, S-stitch, Zigzag satin
Pull parameters2Satin column, E-stitch, S-stitch, Zigzag satin, Tatami fill
Fill parameters2Tatami fill, Circular fill, Contour fill, Cross stitch, Guided fill, Linear gradient fill, Meander fill, Tartan fill, Legacy fill
Tatami parameters15Tatami fill

Every parameter

KeyLabelGroup
angleAngleTatami parameters
bean_stitch_repeatsBean stitchRepeat parameters
center_walk_underlayCentre walk underlaySatin parameters
center_walk_underlay_positionCentre walk positionSatin parameters
center_walk_underlay_repeatsCentre walk repeatsSatin parameters
center_walk_underlay_stitch_length_mmCentre walk stitch lengthSatin parameters
center_walk_underlay_stitch_tolerance_mmCentre walk toleranceSatin parameters
contour_underlayContour underlaySatin parameters
contour_underlay_inset_mmContour insetSatin parameters
contour_underlay_inset_percentContour inset (% of width)Satin parameters
contour_underlay_stitch_length_mmContour stitch lengthSatin parameters
contour_underlay_stitch_tolerance_mmContour toleranceSatin parameters
enable_random_stitch_lengthRandom stitch lengthRunning parameters
end_at_nearest_pointEnd at nearest pointSatin parameters
end_row_spacing_mmEnd row spacingTatami parameters
expand_mmExpandTatami parameters
fillSew the fillFill parameters
fill_methodFill methodFill parameters
fill_underlayUnderlayTatami parameters
fill_underlay_angleUnderlay angleTatami parameters
fill_underlay_inset_mmUnderlay insetTatami parameters
fill_underlay_max_stitch_length_mmUnderlay longest stitchTatami parameters
fill_underlay_row_spacing_mmUnderlay row spacingTatami parameters
fill_underlay_skip_lastSkip last underlay stitchTatami parameters
force_lock_stitchesAlways lockCommon parameters
gap_fill_rowsGap-filling rowsTatami parameters
lock_custom_endCustom end lockCommon parameters
lock_custom_startCustom start lockCommon parameters
lock_endEnd lockCommon parameters
lock_end_scale_mmEnd lock sizeCommon parameters
lock_end_scale_percentEnd lock scaleCommon parameters
lock_startStart lockCommon parameters
lock_start_scale_mmStart lock sizeCommon parameters
lock_start_scale_percentStart lock scaleCommon parameters
max_stitch_length_mmLongest stitchCommon parameters
min_jump_stitch_length_mmShortest jumpCommon parameters
min_random_split_length_mmShortest split stitchSatin parameters
min_stitch_length_mmShortest stitchCommon parameters
pull_compensation_mmPull compensationPull parameters
pull_compensation_percentPull compensation (%)Pull parameters
push_compensation_mmPush compensationSatin parameters
random_seedRandom seedCommon parameters
random_split_jitter_percentSplit jitterSatin parameters
random_split_phaseRandom split phaseSatin parameters
random_stitch_length_jitter_percentLength variationRunning parameters
random_width_decrease_percentRandom width decreaseSatin parameters
random_width_increase_percentRandom width increaseSatin parameters
random_zigzag_spacing_percentRandom zigzag spacingSatin parameters
repeatsRepeatsRepeat parameters
reverse_railsReverse railsSatin parameters
row_spacing_mmRow spacingTatami parameters
running_stitch_length_mmStitch lengthRunning parameters
running_stitch_positionRunning stitch positionSatin parameters
running_stitch_tolerance_mmCurve toleranceRunning parameters
satin_columnSatin columnSatin parameters
satin_methodMethodSatin parameters
short_stitch_distance_mmShort stitch distanceSatin parameters
short_stitch_insetShort stitch insetSatin parameters
skip_lastSkip last stitchTatami parameters
split_methodSplit methodSatin parameters
split_staggersStaggersSatin parameters
staggersStaggersTatami parameters
start_at_nearest_pointStart at nearest pointSatin parameters
stop_afterStop afterCommon parameters
stroke_methodMethodStroke parameters
stroke_pull_compensation_mmPull compensationZigzag stroke parameters
swap_satin_railsSwap railsSatin parameters
tiesLock stitchesCommon parameters
trim_afterTrim afterCommon parameters
underlay_underpathUnderlay underpathTatami parameters
underpathUnderpathTatami parameters
zigzag_angleZigzag angleZigzag stroke parameters
zigzag_spacing_mmZigzag spacingZigzag stroke parameters
zigzag_spacing_mmZigzag spacingSatin parameters
zigzag_underlayZigzag underlaySatin parameters
zigzag_underlay_inset_mmZigzag underlay insetSatin parameters
zigzag_underlay_inset_percentZigzag underlay inset (% of width)Satin parameters
zigzag_underlay_max_stitch_length_mmZigzag underlay longest stitchSatin parameters
zigzag_underlay_spacing_mmZigzag underlay spacingSatin parameters