Saved styles, export and import
Keeping more than one look, switching between them, and moving one to another machine or another person.
Pressing Apply gives you one current look. The style library is how you keep several and move between them.
A saved style is a complete, self-contained description of the look: the base settings, every per-file-type override, and the full text of any SVG you uploaded. It carries no theme, no project and no camera — which is the point. Any theme can be worn with any 3D style, and neither knows about the other.
The library bar#
It runs across the top of the Nodes tab.
The picker lists your styles. Default is the built-in factory look and is always first; it can't be changed or deleted.
A small dot beside the picker, tooltip Unsaved edits, means the current draft no longer matches the style that's selected.
Name a style… is the text box. Type a name and press Save as — or just press Enter — and the current look is stored. Save as is disabled while the box is empty.
Update bakes the current edits into the selected style. It only appears for styles you made, and only lights up when there is something to bake.
Delete is the bin icon. It appears only for your own styles, and it does not ask twice.
Important
Delete does more than remove a row. It immediately switches you to Default, which applies the factory look to the live graph and overwrites your saved working style in the same move. There is no confirmation and no undo. If the style you're deleting is the one you're wearing, export it first.
Export and Import are the download and upload icons.
Switching styles applies immediately#
This is the one place the editor breaks its own rule. Everywhere else, nothing reaches the graph until Apply. Choosing a different style in the picker applies it to the live graph on the spot.
Your unsaved work isn't lost when you do. The editor parks the draft you were in the middle of under the style you're leaving, and restores whatever draft was parked under the one you're arriving at. Switch away and switch back and your half-finished experiment is still there.
Note
Your saved styles follow you between projects. Parked drafts do not — they're stored per project. So the library is the same everywhere, and unsaved work stays with the project you left it in.
Two more behaviours worth expecting:
Two styles can share a name. Nothing checks. Save as always creates a new entry, so saving twice under the same name gives you two identical-looking rows, told apart only by their order. There is no overwrite prompt — Update is the button for changing a style in place.
There is no rename. To rename a style, save it again under the new name and delete the old one.
Reset doesn't change the picker. Pressing Reset restores the factory look in the draft but leaves the selected style where it was, so the bar can read My Look with an unsaved-edits dot while the preview shows plain grey. Nothing is broken; the selection is a label, not a lock.
Exporting#
The download icon writes a JSON file named after the style — my-look.semantix-3d-style.json — to
your Downloads folder.
It exports what you can currently see, including unsaved edits. You don't have to Update or Save as first. The tooltip says so, and it's deliberate: what you're looking at is what you share.
The file is plain, readable JSON:
{
"format": "semantix-3d-style",
"version": 1,
"label": "My Look",
"doc": {
"version": 1,
"base": { "shape": {}, "material": {}, "geometry": {}, "gradient": {}, "node": {} },
"overrides": {}
}
}base is the look for every file. overrides is keyed by file type — ext:ts, name:dockerfile —
and holds only the differences. Any SVG you uploaded, for a shape or a glyph, is embedded in full,
which is what makes the file portable and also what makes a style built on a large SVG a large file.
Importing#
The upload icon takes a .json file, adds it to your library as a new style, and switches to it
immediately — so the graph changes as soon as the file is read. It's always an addition; importing
never overwrites a style you already have.
A file with no name in it lands as Imported style.
Anything the importer can't read produces one message — That file isn't a Semantix 3D style. — whether the JSON is corrupt, from another application, or written against a newer version than this build understands. There is no preview step and no undo, so an import you didn't want is fixed by deleting the style it created and switching back.
Two conveniences that aren't obvious: a hand-written style document imports fine without the
outer wrapper, so a document an agent produced can be saved to a .json file and imported
directly. And older styles keep working — anything added to the format since a style was saved
is filled in from the factory defaults on the way in, so an old export doesn't come back looking
broken or falsely marked as edited.