The file viewer & supported formats
Short answer: Build Perch has a read-only, in-app viewer that opens 75+ file types (code, text, Office documents, PDFs, images, audio, and video) without leaving the app. The AI can also create and edit Word, Excel, PowerPoint, PDF, HTML, and SVG files directly in your workspace.
How do I preview a file without leaving the app?
Right-click any file in the Files panel and choose Preview, or just double-click it; both open the same in-app viewer. It’s read-only by design: for anything you want to edit, the right-click Open with OS item hands the file off to its normal app (Word, Excel, VS Code, and so on).
Which file types can it open?
It reads 75+ file types, rendered natively where it can: markdown, dozens of programming and config languages with syntax highlighting, JSON, CSV/TSV tables, images, audio, and video. Office and document formats render through a converter rather than the original app (Excel/xlsx-family spreadsheets, Word .docx, PowerPoint .pptx, and PDFs), plus HTML and SVG in a sandboxed preview with a toggle between the rendered page and its source. For those converted formats, a caveat banner in the viewer reminds you that fonts, layout, and pagination can differ slightly from opening the file in its native app; everything else (markdown, code, CSV, JSON, images, audio, video) renders faithfully. If a folder holds several HTML/SVG mockups, the viewer adds prev/next navigation so you can flip between them without closing the dialog.
What can the AI create and edit?
From chat, the AI can generate real Word (.docx), Excel (.xlsx), PowerPoint (.pptx), PDF, HTML/webpage, and SVG files straight into your workspace. It edits all of those in place except PDF. Office edits are surgical, preserving themes, styles, charts, and slide masters rather than rebuilding the file from scratch, and there’s a template engine for filling existing Word/Excel/PowerPoint templates with data.
What if a file type isn’t supported?
Unrecognized extensions show a “preview not available” message with a pointer to Open with OS instead of a blank or broken viewer; the file itself isn’t touched, the app just doesn’t have a renderer for it.