Optional. If the file doesn't exist at all, it's treated as
{ "page": { "width_mm": 215.9, "height_mm": 279.4, "background_color": "#FFFFFF", "margin_mm": zero }, "base_pdf": "base.pdf" }.
If the file exists but a key is missing, that key falls back to its own
default independently - an existing file missing base_pdf gets null
(a generated canvas), not "base.pdf".
{
"version": 1,
"name": "Product Info Sheet",
"description": "One-page info sheet for a single catalog item.",
"notes": "Margins leave room for a printed border.",
"page": {
"width_mm": 215.9,
"height_mm": 279.4,
"background_color": "#FFFFFF",
"margin_mm": { "top": 10, "right": 10, "bottom": 10, "left": 10 }
},
"base_pdf": "base.pdf"
}
| Key | Type | Meaning |
|---|---|---|
version |
int | Unused by the app; freeform. |
name |
string | The project's display name. Default "" (falls back to the folder name). |
description |
string | Short public-facing summary. Default "". |
notes |
string | Free-form author notes. Default "". |
page.width_mm / page.height_mm |
number | Canvas size. Ignored if base_pdf is non-null. |
page.background_color |
string | Hex color. Ignored if base_pdf is non-null. |
page.margin_mm |
object | { top, right, bottom, left }, mm. Editor guide only. |
base_pdf |
string or null | Path to the canvas PDF, or null to synthesize one from page.*. |
Despite the .ypf extension, this is plain JSON - the same content shape as any other
project file.