SATIN project
Status
| Field | Value |
|---|---|
| Extension(s) | .satin |
| Common ecosystem | Satin Studio |
| Format family | Editable project package |
| Satin Studio status | Planned |
| Open / import | No |
| Export | No |
| Confidence | Product direction. |
What it is
A future .satin package should preserve the editable source project: objects, assets, threads, operations, proofs, worksheets, and export history.
Satin Studio direction
Hosted saved projects are available today; file-based .satin import/export is planned.
Versions and variants
The .satin package format is not finalized. When introduced, it should be explicitly versioned so projects can migrate safely.
File identification notes
Future package format, not finalized.
Observed structure notes
.satinis not finalized. It should be versioned from its first release and should include a manifest separate from project JSON.- Expected package members are project source JSON, assets, optional previews/exports, and migration metadata. Do not treat exported machine files as the canonical source inside the package.
Structure sketch
.satin is planned, not finalized. The public shape should be versioned from the first release.
struct SatinPackage<'a> {
manifest_json: &'a [u8], // package version and compatibility metadata
project_json: &'a [u8], // EmbroideryProject source data
assets: &'a [SatinAsset<'a>], // artwork, fonts, imported files, previews
optional_exports: &'a [SatinExport<'a>],
}
struct SatinAsset<'a> {
path: &'a str,
media_type: &'a str,
bytes: &'a [u8],
}
struct SatinExport<'a> {
path: &'a str,
format: &'a str,
bytes: &'a [u8],
}
What we still need
Project package specification and migration strategy.