What a session holds
A .wdge file is a JSON document (current schema v7) capturing everything
needed to reproduce a measurement:
- references to the scan and the loaded
.acvcurve — both a path and a security-scoped bookmark, so the files still resolve after they move - the wedge quad, the per-cell UV positions, the per-cell nudges, and the final measured point positions in image-pixel space
- Steps / Cols / Rows, the cell-order axis and step-0 corner, and the image rotation
- Blur, Edge, Radius, smoothing mode and window, and the Display flavour
- the Method, Paper and Notes text
- where the geometry came from — untouched, auto-detected, or manually adjusted
Opening a session puts all of that back, including re-reading the scan and re-applying the curve.
Saving
| Action | Behaviour |
|---|---|
Save Session (⌘S, toolbar button, File menu) |
Writes back to the open .wdge in place, no panel |
Save Session As… (⇧⌘S, or the chevron beside the toolbar button) |
Always asks for a location — and the file you pick becomes the one ⌘S writes to from then on |
The first ⌘S after a launch — or after opening a different image — has no
file to write back to, so it asks too. After a save, a Session saved ·
just now pill appears at the right end of the toolbar and counts up.
Opening
- Open Session in the toolbar, or File → Open Session… (
⇧⌘O). - The toolbar button is a pull-down: your five most recent sessions, the current one checkmarked, unreachable ones dimmed and marked “(missing)”, then Browse… and Clear Recents. The list is re-validated each time you open it, and an entry that fails to load is dropped with an explanation rather than left to fail again.
- File → Open Recent Session ▸ is the same list in the menu bar.
- Dragging a
.wdgefile onto the canvas restores it.
Closing a session
File → Close Session empties the canvas for the next scan without emptying your setup. Reading a new wedge used to mean opening a different image over the top of the last one — which leaves the previous session’s measurements to be cleared by hand — or relaunching the app, and neither gets you to the state you actually want: a blank canvas that still knows this is a 21-step wedge read column-major from the bottom right, with your correction curve loaded and your smoothing settings intact.
| Cleared | Kept |
|---|---|
| The image and its bookmark, rotation, zoom | Steps / Cols / Rows |
| Every measured point, the quad and its per-cell tables | The cell-order axis and step-0 corner |
| The detection result and the canvas read-outs | The loaded .acv and its bookmark |
| The derived adjusted curve | Method and Paper |
| The Notes comment | Blur / Edge / Radius / Smoothing |
The .wdge link — so the next ⌘S asks where to put the file |
It asks first — Save / Don’t Save / Cancel — whenever there are
measurements that are not in a .wdge file yet, which includes a session
recovered from the autosave; a session already saved and untouched closes
without a prompt, and cancelling the save panel cancels the close rather
than discarding the work you just asked to keep. The silent autosave goes
with the session, so the next launch opens on the empty shell instead of
resurrecting the wedge you closed. Saved .wdge files are untouched and
still in Open Recent Session.
There is no key equivalent on purpose: ⌘W is Close Window, and the two are
one keystroke and one wrong assumption apart. The window stays open.
There is also no File → New Window: every window renders the same app-wide session, so a second one only ever showed the wedge already open in the first. Close Session is what starts the next scan empty.
Autosave and restore
Independently of all that, the live session is written to a silent autosave blob in the app’s Application Support folder, debounced to 500 ms after the last change, and restored on the next launch. You can quit mid-measurement and pick up where you left off without ever having saved.
Two deliberate details:
- A restored autosave does not claim a session file. The first
⌘Safter a launch asks for a location, so a recovered working state can never silently overwrite the.wdgeyou last saved. - If the restore fails — file moved, permission revoked, schema mismatch — the app starts empty instead of nagging, and drops the unusable blob.
Older sessions are migrated forward on open (v2 through v6 → v7), filling in fields that did not exist yet: cell order defaults to column-major from the top-left, rotation to none, and the Method / Paper / Notes text to empty.
File formats at a glance
| Format | Direction | Notes |
|---|---|---|
| PNG, JPEG, TIFF, GIF, BMP, HEIC/HEIF | Read | Scans |
| DNG, NEF, CR2/CR3, ARW, ORF, RAF, RW2 | Read | Camera RAW, decoded with sharpening off |
.acv |
Read + write | Photoshop curve, Version 4 |
.wdge |
Read + write | Session, JSON schema v7 |
.icc |
Write | Grayscale v2 profiles for soft-proofing |
| Write | Analysis report | |
| CSV | Write | Per-step table |
.txt |
Write | Adjusted values, tab-separated |
Privacy
Everything happens on your Mac. The app reads the files you open, writes the files you export, and stores its own preferences and autosave in its sandboxed container. Nothing is uploaded. Help → Privacy Policy has the full statement, and Help → Acknowledgments lists the third-party components.