Projects

Every node, wire and setting, saved as a single .dna file you can open, share and pick up again later.

New, open, save

Everything you build lives in a project. File > Save Project... (Cmd+S) asks where the .dna file goes. There is no setup wizard and no folder scaffold: save anywhere, and the folder you save into becomes the project's home.

The dialog opens on every save, prefilled with untitled.dna. Saving does not remember where you last put the file, so pick the same path again or you will end up with copies.

File > Open Project... (Cmd+O) loads a .dna file into the active tab, replacing what is in it. To keep the current project open, make a new tab first.

Multiple projects in tabs

Several projects can be open at once, each with its own tab in the title bar at the top of the window. Click a tab to switch to it. The active tab carries an accent underline.

Hovering a tab, or the active tab itself, shows a small × that closes that project. The last remaining tab has none, because the app always keeps one open.

A tab is labelled Untitled 1, Untitled 2 and so on for its whole life. Saving does not rename it and neither does opening a file, so the label tells you nothing about which project a tab holds.

A Restricted badge means the project is running with capability-bearing nodes disabled, and a banner in the window says the same. That is the normal state for any project you open: only a path you have explicitly trusted, or a graph you have not saved yet, runs unrestricted. See Trust & Permissions.

The unsaved-changes dot

The tab bar paints a dot beside the name for work that exists only in memory. It appears the moment an edit changes the graph, including an edit made inside a floating subgraph editor rather than the main canvas, and clears on save and on load. Merely scrubbing the timeline or clicking around does not raise it.

The dot only ever goes up until you save: undoing back to what is on disk leaves it showing. That is deliberate, because the same flag decides whether the rotating backup runs, and a tab wrongly reading clean is the failure that costs work. See Autosave & recovery.

The project root ($PROJECT)

The folder holding the .dna file is the project root, and asset paths are stored against it as $PROJECT/…. An image beside the project file is $PROJECT/textures/wall.png rather than a long absolute path. Move the folder to another machine, or hand it to a collaborator, and $PROJECT resolves to wherever the file now is.

The rewrite is not universal. It runs at save and at load, over the path parameter of the Image, Video, Gaussian Splat, Model 3D and Export nodes only. Every other node holding a file path keeps the absolute path you gave it and does not travel: Audio File, JSON Import, CSV Import and File IO are all in that group.

See also