Skip to main content

CSD

Status

FieldValue
Extension(s).csd
Common ecosystemSinger / Poem / legacy consumer workflows
Format familyLegacy machine file
Satin Studio statusResearching
Open / importNo
ExportNo
ConfidenceLow.

What it is

CSD is a legacy consumer embroidery format encountered in older design collections and conversion lists.

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

Brand, version, and byte behavior are uncertain.

Observed structure notes

  • CSD has been observed with an eight-byte identifier followed by encoded thread and stitch data. Some readers derive a decode table from the first identifier byte or a fixed 0x0C seed.
  • Observed layout after decoding: 16 RGB thread entries, two unknown bytes, a 14-entry color order table, then three-byte stitch records.
  • In observed stitch records, byte 0 carries sign and control bits, byte 1 is Y magnitude, and byte 2 is X magnitude. Byte 0 values 0xF8, 0x87, or 0x91 terminate the stream in observed readers.

Structure sketch

CSD is still uncertain, but observed encrypted/encoded files fit this high-level shape:

struct CsdCandidate<'a> {
identifier: [u8; 8],
encoded_threads: [u8; 16 * 3], // 16 RGB entries after decoding
unknown: [u8; 2],
color_order: [u8; 14],
records: &'a [CsdRecord], // decoded three-byte records
}

struct CsdRecord {
control_and_sign: u8, // bit 0x20 negates x; bit 0x40 negates y
y: u8,
x: u8,
}

What we still need

Sample files with provenance.