SVG
Status
| Field | Value |
|---|---|
| Extension(s) | .svg |
| Common ecosystem | Web/vector artwork |
| Format family | Artwork input |
| Satin Studio status | Available now |
| Open / import | Yes |
| Export | No |
| Confidence | High; implemented as artwork import. |
What it is
SVG is vector artwork, not a machine stitch file. It can contain paths, shapes, colors, and text candidates that Satin Studio turns into project artwork before compiling stitches.
Satin Studio direction
Satin Studio imports SVG as artwork/project elements. Raw uploaded SVG is not injected into the page DOM.
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
Text/XML SVG document.
Observed structure notes
- SVG is XML. Public structure starts at the document element and attributes, not byte records.
- Embroidery import should normalize supported paths/shapes/text candidates into project assets, while rejecting script, external references, and unsupported features that would be unsafe or nondeterministic.
- Safe SVG import should treat the file as data: parse geometry and style, ignore script/event behavior, reject external resource loads, and normalize transforms before embroidery planning.
- Text in SVG is not equivalent to Satin Studio live text unless the font, layout, shaping, and coordinate facts can be reproduced deterministically.
Structure sketch
SVG is XML artwork. Satin Studio parses it as source artwork and must not inject raw uploaded SVG into the DOM.
struct SvgArtwork<'a> {
xml_document: &'a str,
view_box: Option<[f32; 4]>,
elements: &'a [SvgElement<'a>],
}
enum SvgElement<'a> {
Path { d: &'a str, style: Option<&'a str> },
Shape { kind: &'a str, attributes: &'a str },
Text { content: &'a str, attributes: &'a str },
Unsupported { name: &'a str },
}
What we still need
More unsupported-feature reporting and artwork cleanup workflows.