CSD
Status
| Field | Value |
|---|---|
| Extension(s) | .csd |
| Common ecosystem | Singer / Poem / legacy consumer workflows |
| Format family | Legacy machine file |
| Satin Studio status | Reference only |
| Open / import | No |
| Export | No |
| Confidence | Low. |
What it is
CSD is a legacy consumer embroidery format encountered in older design collections and conversion lists.
Satin Studio behavior
Satin Studio documents this format for identification and inspection. It does not open or export the file.
Versions and variants
Satin Studio checks the file signature and dialect rather than trusting the extension. An unrecognized version remains unopened, with the original file preserved for inspection.
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
0x0Cseed. - 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, or0x91terminate 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,
}
Compatibility evidence
The notes above help identify and inspect the format; they do not imply import or export support. Keep the original file and record the machine and software that produced it.