Files, documents and sources
Your project folder is the workspace. Zero reads and writes the files that are already there, under the names and in the places you put them — it does not import your work into a store of its own.
Documents
Documents is the text side of the workspace: the tree lists the text files in your project, plus the folders that hold them and any empty folders you have made yourself. Folders that contain only images stay out of the way here — the Files tab of the bottom browser shows everything.
There is no "document" object to create. A document is a file at a path; renaming it renames the file, moving it moves the file.
From the tree you can create files and folders, rename, duplicate, move by dragging, and delete. Opening a file gives it a tab.
Editing
The editor is a full code editor with syntax highlighting for the file's type.
- Save writes the file. Unsaved changes are marked on the tab, so a document you have edited is visible without opening it.
- Preview renders the file instead of showing its source — Markdown as formatted text, CSV as a table.
- Line numbers can be switched off, and the setting sticks across files.
- Change format rewrites the extension, for when a
.txtshould have been a.md. Save first — the change is a rename, so it waits for unsaved edits.
Ctrl+S saves the editor you are in, not the last one you opened, which matters once two editors are open side by side.
Page view
Markdown has a second way to be read: the book icon in the document toolbar turns the preview into pages — paginated, with real page geometry, for reading a long document or printing one.
Inside it you can choose one page or a two-page spread, and either scroll through or flip. Flipping gives you Prev/Next, the arrow and page keys, and a page counter. Export PDF in the desktop application, Print… in a browser.
Page geometry comes from the document's own frontmatter, one setting per line:
---
page.size: A4
page.orientation: portrait
page.margin: 22mm
---
A line Zero cannot read spoils only that one setting, not the document.
Page view also resolves transclusion: ![[other-file.md]] pulls that file in
at that point, so a long document can be assembled from parts. A missing file, a
loop, or nesting too deep shows as a message at the point of inclusion rather
than failing the whole document.
Two things are not there yet: code is not syntax-highlighted in page view, and
page.header, page.footer and page.numbers are read but not yet drawn.
Editing outside Zero
Zero watches the project folder, so a file changed by another editor, by a
git pull, or by a script updates in place. You do not need to reload.
The case worth knowing: if a file changed on disk after you opened it and you then save, Zero stops rather than overwriting the newer version, and tells you. Nothing is lost silently.
The document assistant
Every open document has an assistant beside it — a chat about the file in front of you. The chat remembers which document it was about, so you can come back later and ask "what did we decide about this one".
Assets
An asset is a file that the project needs to refer to — an image used somewhere, a reference PDF, a generated video. It gets an identity that survives the file being moved or renamed.
Identity is deliberately separate from location: the record lives in the project, the bytes live wherever they live. That is what lets a file be relinked instead of re-imported when it moves.
Both ways of bringing a file in live in Settings → Assets:
- Import a copy — the file is copied into the project folder. Zero warns you if the same content is already there.
- Reference in place — the file is registered where it already is, and no bytes are copied. Right for a large video or a folder of reference art you do not want duplicated.
Files already sitting in your project folder do not need importing at all. They become assets on their own the moment something needs them to be — tagging one in the Details panel is enough.
Deleting an asset removes the project's record of it, not the file on disk. Clearing out the actual files is a separate, deliberate act.
Looking at them
Opening an image gives you a viewer with zoom and pan: the wheel zooms at the
pointer, dragging pans, and a double-click switches between fitting the window
and actual size. The toolbar above has the same four actions, and the bare
+, -, 0 and 1 keys do it from the keyboard — the usual Ctrl combinations
are left alone, because they belong to the interface zoom.
Fitting never enlarges a small image past its real size. Arrow keys pan while the image overflows the window and move through the folder when it does not.
On a touch screen, two fingers pinch to zoom around their midpoint, one finger pans, and a double tap is fit ↔ actual size.
The Details panel's preview is deliberately small — a clipped thumbnail for images, the first part of a long text. Open in window in its header gives you the full viewer.
Sources
A source is an external folder attached to the project under a short name — your reference library, a shared drive of footage, another repository. Its contents show up in the References tab of the bottom browser and can be used as assets, while the folder itself stays where it is and is not copied.
Sources are configured in Settings → Sources. Two layers, because a project is often shared and a disk layout is not:
- The project registry travels with the project. Paths here may contain
environment variables, so
%MEDIA%\refsresolves per machine. - A local override applies to your machine only and wins over the shared path. Nobody else sees it.
Each row shows the configured path, the path it actually resolved to, and the override if you have one.
When a file cannot be found
An asset whose file is missing — the source folder is not mounted, someone moved it, a path is wrong on this machine — is marked broken rather than deleted. The record stays, so nothing is lost while you sort it out.
Two ways out:
- Fix the source, if a whole folder moved. One correction repairs everything that came from it.
- Point the single asset at its file with a path override, shared or local to your machine.
See Troubleshooting for the project health view, which lists everything currently broken in one place.