File tools that remember where you left off

A list of recent files that you cannot click into anything useful is a list, not a history. The Files Editor's Recent panel used to be exactly that: it named files, and a click landed you in whatever tool happened to be open, or at a pick-a-tool prompt. It is now History, and it keeps the promise the name makes.
History remembers the tool, not just the file
Every file records the tool it was last used in — written when it joins a tool and again on every run — so a PDF you annotated once goes back to Annotate. Files that have never been through a tool keep the old fallback, and that memory is exactly what separates History from My files, which stays the neutral file manager it always was.
Three ways into every tool
Beside the drop zone, each tool now offers From my files — the History panel acting as a hand-in list, narrowed to what this tool accepts — and From the asset library, the shared picker narrowed to the tool's modality, so an image tool asks the library for images and nothing else. Local picks are saved through to the library on the way in, so they arrive carrying the id the run endpoint needs. Every pick is still checked against the tool's extension list before it joins the inputs.
Rows that show you what you are about to convert
Input and result rows carry the same thumbnail the file grid uses — the picture itself, or the first rendered page. The thumbnail logic is shared, so a file shown in three places is fetched once at one dpi, and anything that cannot be drawn falls back to a file-type label rather than a broken-image icon. When the library reports no extension, the type is derived from the name, so results stop all being labelled “FILE”.
Office conversions, and the one that had to be built by hand
LibreOffice now ships in the runtime image, which turns on five of the six Office conversions in a default deployment. PDF conversions name the matching import filter, because left to itself LibreOffice opens every PDF in Draw — which can only export to drawing formats.
PDF to XLSX was the exception, and it could never have worked that way: Calc has no PDF importer at all, so the tile sat permanently greyed out behind its own capability gate. It is now built directly — a hand-written OOXML writer using nothing but the standard library, and a table-extraction pass that pulls ruled tables into real rows and columns, falling back to text down column A when there is no table to find. It works with or without a converter installed, and it honours a page range like the other PDF tools.
Fonts that survive the round trip
TXT to PDF embeds real fonts rather than hoping the reader has one, so the document you open is the document you converted.
Why History and My files are different things
It would be simpler to have one file list. It would also be worse.
My files is a neutral file manager: everything you have, arranged for finding a thing by name. History is ordered by what you were doing and remembers the tool each file was last used in. They answer different questions — where is that contract versus what was I in the middle of — and collapsing them into one list makes both answers harder to get.
The tool memory is stored per file and updated when a file joins a tool and on every run, so it reflects actual use rather than intent.
The conversion table, honestly
Office conversions run through LibreOffice, which ships in the runtime image. That covers five of the six directions in a default deployment.
PDF conversions have to name the matching import filter, because left to itself LibreOffice opens every PDF in Draw — which can only export to drawing formats. Naming the filter is what makes PDF-to-DOCX pick an application that can actually produce the target.
PDF-to-XLSX could never work that way at all: Calc has no PDF importer. That one is built directly, with a hand-written OOXML writer using nothing but the standard library, and a table-extraction pass that pulls ruled tables into real rows and columns. When no ruled table is found it falls back to text down column A — which is honest rather than clever, and far more useful than a confident grid of misaligned cells.
What a good conversion actually preserves
The unglamorous details are where conversions usually fail:
- Page ranges. PDF-to-XLSX honours a page range like the other PDF tools, so a 200-page report does not have to be converted whole to get the table on page 14.
- Fonts. TXT-to-PDF embeds real fonts rather than assuming the reader has one, so the document you open is the document you converted.
- Type labels. When the library reports no extension, the type is derived from the file name, so results stop being labelled “FILE”.
- Thumbnails. Input and result rows show the picture or the first rendered page, fetched once at one dpi and shared across every place the file appears, with a type label as fallback rather than a broken-image icon.
Where converted files go
Into the shared asset library, which is the same library Grafy Code pulls from, Video Edit renders into, and the canvas can question. A PDF you OCR here can be ingested as a knowledge graph without a download-and-reupload round trip.
Frequently asked questions
Which Office conversions actually work?
Five of the six directions run through LibreOffice in a default deployment. The sixth, PDF-to-XLSX, is built natively instead — Calc has no PDF import filter, so delegating it was never possible. It works with or without a converter installed.
How good is the PDF-to-Excel table extraction?
It pulls ruled tables into real rows and columns. Where a table has no ruling lines, it falls back to placing text down column A rather than guessing at a grid — a deliberate choice, because a wrong grid takes longer to fix than a plain column.
Can I convert only part of a PDF?
Yes. PDF tools take a page range, including the natively-built XLSX conversion. That is usually what you want on a long document, and it keeps the output small enough to check.
What happens if I pick a file a tool cannot accept?
Every pick is checked against the tool's extension list before it joins the inputs, whether it came from the drop zone, from History or from the asset library. The library picker is also narrowed to the tool's modality up front — an image tool asks for images only — so most mismatches never arise.
Do files picked from my computer get saved anywhere?
Local picks are saved through to the shared asset library on the way in, so they arrive carrying the id the run endpoint needs. The practical benefit is that a file you dragged in once is available to every other surface afterwards without uploading it again.
Open the Files Editor, or read the Files walkthrough first.


