Saving and loading
- Projects are saved as
.pplfiles (a text format) - The default location is
projects/inside the distribution folder. Keeping theprojects/<name>/<name>.ppllayout plays best with the asset-copy feature - Every save keeps one backup generation (
.ppl.bak), so a crash mid-save never loses the previous state - From the command line,
PixPipeline.exe --open path\to\project.ppllaunches the app with the project already open (a bare.pplpath works too, which enables double-click launching via Explorer file association)
Auto-backups and save history
- Unsaved work is backed up to
user_data/backups/every 5 minutes by default. The original.pplis never overwritten; a new generation is created only when the content changed - When you overwrite-save, the previous
.pplis also kept in the save history - The interval and retention counts are configurable under "Settings > Storage"
- The backup folder itself can be opened, moved, or reset from "Settings > Storage". When moving, you choose between migrating the existing history or leaving it behind
- Only an empty folder or an existing PixPipeline backup folder can be selected as the destination — regular project folders are rejected for safety
- The header's "Project backups" dialog lists auto-saves, save history, and crash recovery snapshots

- Open as restored copy: opens as a new unsaved tab; the original file and backups are untouched
- Restore to original: replaces the original
.pplwith the selected generation (close any tab that has the project open first) - The pre-restore original is also kept in the save history if enabled
- Generations beyond the retention limit are deleted oldest-first, per project and per kind
- External assets (images referenced outside the
.ppl) are not copied by the backup system — keep assets inside the project folder
Safe Open for shared or purchased projects
- A
.pplof external origin — downloaded, AI-generated, or modified outside the app — opens in Safe Open mode the first time - You can still view and edit the graph, and preview nodes that do not touch files
- File reads, exports, and external font processing are paused; a protection banner at the top summarizes what the project wants to access
- Review the requested paths and destinations, then choose "Trust" to allow exactly that file content and scope
- If you later change the project so it requests more access, a fresh confirmation is required after saving
- A "verified key" signature badge does not mean the publisher's identity was verified, and it grants no file permissions
- If a project from an untrusted source lists absolute paths or unexpected export destinations, do not approve it
Safe Open is not a restriction on selling, sharing, or AI-generating projects. It keeps every node and setting intact and merely holds potentially dangerous resource operations until you confirm them.
Recovering a broken project
- If a
.pplfails to open, the error dialog explains why. If a.bakbackup is found, its location is shown — rename its extension to.pplto get back to the last saved state - After a crash, a recovery snapshot (.ppl) may be saved to
user_data/recovery/. Open it as a restored copy from the "Project backups" dialog to resume work
Importing external assets
- With "Copy referenced files into the project" enabled, images picked in
Image Load and similar nodes are copied to
projects/<project>/assets/images/and referenced by relative paths - After copying, the whole project folder can be moved or shared and assets still resolve
- Unsaved projects cannot copy assets — save first
Folder layout (distribution)
| Folder | Contents | Survives updates? |
|---|---|---|
app/ |
The application and official libraries | replaced |
ai/ |
AI integration bundle (catalog, manual, security/signature specs, skills) | replaced |
user_data/ |
Settings, palettes, user libraries, logs | kept |
projects/ |
Projects and export destinations | kept |
Updating means replacing app/ and ai/ with the new zip's contents while
leaving user_data/ and projects/ in place.