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.1inand7ptare all accepted, and2.5 mmis not. - Angles are degrees (
45,45°or45deg), turned into the range from −180 (exclusive) to 180. - Percentages may end in
%. - On or off is
trueorfalse, in any case.yes,y,tand1are on too, andno,n,f,0andoffoff.onis 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, so2.5,1.2and3,5are 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
| Group | Parameters | Applies to |
|---|---|---|
| Common parameters | 16 | every stitch type |
| Stroke parameters | 1 | Running stitch, Ripple stitch, Zigzag stitch, Manual stitch |
| Running parameters | 4 | Running stitch, Ripple stitch |
| Repeat parameters | 2 | Running stitch, Ripple stitch, Zigzag stitch, Manual stitch |
| Zigzag stroke parameters | 3 | Zigzag stitch |
| Satin parameters | 34 | Satin column, E-stitch, S-stitch, Zigzag satin |
| Pull parameters | 2 | Satin column, E-stitch, S-stitch, Zigzag satin, Tatami fill |
| Fill parameters | 2 | Tatami fill, Circular fill, Contour fill, Cross stitch, Guided fill, Linear gradient fill, Meander fill, Tartan fill, Legacy fill |
| Tatami parameters | 15 | Tatami fill |
Every parameter
| Key | Label | Group |
|---|---|---|
angle | Angle | Tatami parameters |
bean_stitch_repeats | Bean stitch | Repeat parameters |
center_walk_underlay | Centre walk underlay | Satin parameters |
center_walk_underlay_position | Centre walk position | Satin parameters |
center_walk_underlay_repeats | Centre walk repeats | Satin parameters |
center_walk_underlay_stitch_length_mm | Centre walk stitch length | Satin parameters |
center_walk_underlay_stitch_tolerance_mm | Centre walk tolerance | Satin parameters |
contour_underlay | Contour underlay | Satin parameters |
contour_underlay_inset_mm | Contour inset | Satin parameters |
contour_underlay_inset_percent | Contour inset (% of width) | Satin parameters |
contour_underlay_stitch_length_mm | Contour stitch length | Satin parameters |
contour_underlay_stitch_tolerance_mm | Contour tolerance | Satin parameters |
enable_random_stitch_length | Random stitch length | Running parameters |
end_at_nearest_point | End at nearest point | Satin parameters |
end_row_spacing_mm | End row spacing | Tatami parameters |
expand_mm | Expand | Tatami parameters |
fill | Sew the fill | Fill parameters |
fill_method | Fill method | Fill parameters |
fill_underlay | Underlay | Tatami parameters |
fill_underlay_angle | Underlay angle | Tatami parameters |
fill_underlay_inset_mm | Underlay inset | Tatami parameters |
fill_underlay_max_stitch_length_mm | Underlay longest stitch | Tatami parameters |
fill_underlay_row_spacing_mm | Underlay row spacing | Tatami parameters |
fill_underlay_skip_last | Skip last underlay stitch | Tatami parameters |
force_lock_stitches | Always lock | Common parameters |
gap_fill_rows | Gap-filling rows | Tatami parameters |
lock_custom_end | Custom end lock | Common parameters |
lock_custom_start | Custom start lock | Common parameters |
lock_end | End lock | Common parameters |
lock_end_scale_mm | End lock size | Common parameters |
lock_end_scale_percent | End lock scale | Common parameters |
lock_start | Start lock | Common parameters |
lock_start_scale_mm | Start lock size | Common parameters |
lock_start_scale_percent | Start lock scale | Common parameters |
max_stitch_length_mm | Longest stitch | Common parameters |
min_jump_stitch_length_mm | Shortest jump | Common parameters |
min_random_split_length_mm | Shortest split stitch | Satin parameters |
min_stitch_length_mm | Shortest stitch | Common parameters |
pull_compensation_mm | Pull compensation | Pull parameters |
pull_compensation_percent | Pull compensation (%) | Pull parameters |
push_compensation_mm | Push compensation | Satin parameters |
random_seed | Random seed | Common parameters |
random_split_jitter_percent | Split jitter | Satin parameters |
random_split_phase | Random split phase | Satin parameters |
random_stitch_length_jitter_percent | Length variation | Running parameters |
random_width_decrease_percent | Random width decrease | Satin parameters |
random_width_increase_percent | Random width increase | Satin parameters |
random_zigzag_spacing_percent | Random zigzag spacing | Satin parameters |
repeats | Repeats | Repeat parameters |
reverse_rails | Reverse rails | Satin parameters |
row_spacing_mm | Row spacing | Tatami parameters |
running_stitch_length_mm | Stitch length | Running parameters |
running_stitch_position | Running stitch position | Satin parameters |
running_stitch_tolerance_mm | Curve tolerance | Running parameters |
satin_column | Satin column | Satin parameters |
satin_method | Method | Satin parameters |
short_stitch_distance_mm | Short stitch distance | Satin parameters |
short_stitch_inset | Short stitch inset | Satin parameters |
skip_last | Skip last stitch | Tatami parameters |
split_method | Split method | Satin parameters |
split_staggers | Staggers | Satin parameters |
staggers | Staggers | Tatami parameters |
start_at_nearest_point | Start at nearest point | Satin parameters |
stop_after | Stop after | Common parameters |
stroke_method | Method | Stroke parameters |
stroke_pull_compensation_mm | Pull compensation | Zigzag stroke parameters |
swap_satin_rails | Swap rails | Satin parameters |
ties | Lock stitches | Common parameters |
trim_after | Trim after | Common parameters |
underlay_underpath | Underlay underpath | Tatami parameters |
underpath | Underpath | Tatami parameters |
zigzag_angle | Zigzag angle | Zigzag stroke parameters |
zigzag_spacing_mm | Zigzag spacing | Zigzag stroke parameters |
zigzag_spacing_mm | Zigzag spacing | Satin parameters |
zigzag_underlay | Zigzag underlay | Satin parameters |
zigzag_underlay_inset_mm | Zigzag underlay inset | Satin parameters |
zigzag_underlay_inset_percent | Zigzag underlay inset (% of width) | Satin parameters |
zigzag_underlay_max_stitch_length_mm | Zigzag underlay longest stitch | Satin parameters |
zigzag_underlay_spacing_mm | Zigzag underlay spacing | Satin parameters |