Skip to main content

SATIN project

Status

FieldValue
Extension(s).satin
Common ecosystemSatin Studio
Format familyEditable project package
Satin Studio statusPlanned
Open / importNo
ExportNo
ConfidenceProduct 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

  • .satin is 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.