ZIP bundles
Status
| Field | Value |
|---|---|
| Extension(s) | .zip |
| Common ecosystem | Design seller and export packages |
| Format family | Bundle/container |
| Satin Studio status | Planned |
| Open / import | No |
| Export | No |
| Confidence | High for distribution role. |
What it is
ZIP files commonly bundle many machine formats, thread charts, previews, and worksheets.
Satin Studio direction
Future import can inspect bundles and choose the best source file. Future export can package machine files, charts, and worksheets.
Versions and variants
ZIP itself is standard, but embroidery ZIP bundles vary by seller. Satin Studio should treat bundle layout as a package dialect, not as one universal convention.
File identification notes
Standard ZIP archive.
Observed structure notes
- ZIP local file headers begin with
50 4B 03 04; central-directory records and an end-of-central-directory record describe the archive index. - Embroidery ZIP bundles are package conventions on top of ZIP. The archive parser only identifies files; Satin Studio still needs rules for choosing source files, sidecars, previews, and worksheets.
- ZIP entries may use compression, data descriptors, ZIP64 extensions, and UTF-8 filename flags. Safe bundle import must reject path traversal and absolute paths before extraction.
Structure sketch
ZIP bundles are containers. Satin Studio should inspect entries and choose the best supported source file.
struct ZipBundle<'a> {
local_files: &'a [ZipLocalFile<'a>],
central_directory: &'a [u8],
end_of_central_directory: &'a [u8],
}
struct ZipLocalFile<'a> {
signature: [u8; 4], // 50 4B 03 04
file_name: &'a str,
compressed_payload: &'a [u8],
}
What we still need
Bundle inspection UI and safe archive handling.