Skip to main content

STC / STX

Status

FieldValue
Extension(s).stc, .stx
Common ecosystemUnknown stitch/container leads
Format familyUnknown
Satin Studio statusResearching
Open / importNo
ExportNo
ConfidenceLow.

What it is

STC and STX appear in some embroidery conversion contexts but collide with other domains.

Satin Studio direction

Research lead only.

Versions and variants

This entry is tracked as a format lead, but Satin Studio does not yet have a public version or dialect matrix for it. Real sample files with machine/software provenance are needed before support can be planned safely.

File identification notes

Unknown.

Observed structure notes

  • Observed STC readers skip 0x28 bytes of text-like design/stitch-count header, then read three-byte records.
  • Observed STC records use signed X, signed Y, and a control byte. Control 0x01 stitches, 0x00 jumps, 25 ends, and other values are treated as needle changes by subtracting 2.
  • Observed STX files begin with STX, contain little-endian offsets near the start, and point to an EXP-style stitch stream.

Structure sketch

STC and STX have separate observed shapes:

struct StcCandidate<'a> {
text_header: [u8; 0x28],
records: &'a [StcRecord],
}

struct StcRecord {
dx: i8,
dy: i8,
control: u8, // 0x01 stitch, 0x00 jump, 25 end, otherwise needle = control - 2
}

struct StxCandidate<'a> {
signature: [u8; 3], // observed b"STX"
header_rest: [u8; 0x09],
color_start_offset: u32,
unknown_block_offset: u32,
stitch_start_offset: u32,
exp_stitch_stream: &'a [u8],
}

What we still need

Samples with provenance and strong file signatures.