Saving and Opening
The design file
File → Save and Save As… write a .tenon file. Older saves use
.tenon.yaml; both open.
The format is YAML, and it is meant to be read:
stock:
T: 6.35
SHEET_W: 1150.0
SHEET_L: 590.0
MATERIAL: Baltic birch ply
TOOL: 3.2
CLR: 0.2
items:
- product: project_box
quantity: 3
params:
L: 310.0
W: 210.0
H: 110.0
LID: slots
HANDLE: 'yes'
Parameters, not geometry. Opening the file rebuilds every part from these
numbers, which is why a design survives a change of material: edit T, and the
joinery is regenerated to suit.
It also means designs diff usefully. A commit that changes a box's height shows as one changed line, and two versions of a job can be compared without opening either.
Recent files
The app keeps a recent-files list, so the design you were working on last is one click away. That list is the only thing Tenon stores locally on your behalf — everything else about a design is in the design file.
Where files are read and written
Saving, opening and exporting are done by Tenon's local server, not by the window. You choose the path in the file dialog and the server does the writing.
This is invisible in normal use — the app and its server are the same machine.
It only matters if you point TENON_API_URL at a server on another host, in
which case the paths you choose are interpreted on that machine, and
save/open/export will not do what you expect. Running against a remote server is
not a supported setup for that reason.
Keeping designs with a project
A design references its artwork and fonts by path, resolved against the design's
own directory. Keeping the .tenon file, its SVGs and its fonts in one folder
makes the whole job portable — copy the folder, and it opens anywhere.