Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
547659e
Add deck and slide to the glossary
RedtRocks Oct 18, 2026
247e742
Record the deck and document formats and Glance skills
RedtRocks Oct 18, 2026
61a3ec0
Add the deck model, its operations and the design check
RedtRocks Oct 18, 2026
fb70ea6
Lay out and draw slides with the Wollo theme
RedtRocks Oct 18, 2026
03d129e
Read and write .gdeck files
RedtRocks Oct 18, 2026
ef29e8b
Open, edit and save decks in a tab
RedtRocks Oct 18, 2026
f403d77
Let AI apps create, edit, check and look at decks
RedtRocks Oct 18, 2026
3794028
Export decks to PDF, PowerPoint and pictures, and start new ones AI f…
RedtRocks Oct 18, 2026
734311b
Open .gdeck files with Glance from Explorer
RedtRocks Oct 18, 2026
6e9fa05
Start decks from five templates, in five themes
RedtRocks Oct 18, 2026
9492547
Give slides colour blocks, shapes and bigger type
RedtRocks Oct 18, 2026
21feb1e
Bundle the fonts the deck templates use
RedtRocks Oct 20, 2026
ef06a27
Add designed slides to the deck model
RedtRocks Oct 20, 2026
51a2ffd
Generate the deck templates' designs from the template boards
RedtRocks Oct 20, 2026
004dfe9
Start decks from the designed templates, and export them
RedtRocks Oct 20, 2026
cb32a5c
Let AI apps build decks from the templates' designs
RedtRocks Oct 20, 2026
61ea9b3
Describe the deck templates in the changelog, README and docs
RedtRocks Oct 20, 2026
cf6ff38
Add a workbook model with formulas, number formats and sheet operations
RedtRocks Oct 21, 2026
f1a9db2
Glance skills, request guidance and MCP prompts and resources
RedtRocks Oct 21, 2026
209b120
Guide Ask AI edits, plan before building, show limits and placeholders
RedtRocks Oct 21, 2026
d01cc87
Generate document looks from the document template boards
RedtRocks Oct 21, 2026
aa0e94e
Read and write .xlsx and .csv, and check workbooks
RedtRocks Oct 21, 2026
6334884
Outline screen, skills in Settings, and tests for the guide
RedtRocks Oct 21, 2026
fcbf21c
Draw document pages as HTML, add six more document boards
RedtRocks Oct 21, 2026
7ecb3b3
Describe guided AI requests and skills in the changelog, README and docs
RedtRocks Oct 21, 2026
8134a24
Add document operations, the document check and the .gdoc file
RedtRocks Oct 21, 2026
bcb8d35
Draw sheets and build spreadsheet templates from the boards
RedtRocks Oct 21, 2026
1b2a69b
Export documents to PDF and Word, and open .gdoc files
RedtRocks Oct 21, 2026
a11ba41
Make six spreadsheet templates live with formulas, rules and drop-downs
RedtRocks Oct 21, 2026
41153f1
Edit Glance documents: the editor, page strip, File > New documents a…
RedtRocks Oct 21, 2026
ae59d74
Make all twelve spreadsheet templates live, with a hidden Till sheet …
RedtRocks Oct 21, 2026
ed668e8
Repeat page art in Word headers, start typing in new blocks, edit fix…
RedtRocks Oct 21, 2026
00e6788
Let AI apps create, read, edit, check, render and export documents
RedtRocks Oct 21, 2026
b7017d8
Describe documents in the changelog, README and docs
RedtRocks Oct 21, 2026
2b0a2e6
Open, edit, save and export spreadsheets in a grid
RedtRocks Oct 21, 2026
0c0649b
Offer spreadsheets and their templates in File > New
RedtRocks Oct 21, 2026
81aee29
Let AI apps create, read, edit, check and draw spreadsheets
RedtRocks Oct 21, 2026
f80e3cd
Describe the spreadsheet tools to AI apps, and document spreadsheets
RedtRocks Oct 21, 2026
e7fd295
Fix typing, undo and titles in spreadsheets found in the browser
RedtRocks Oct 21, 2026
ed9b1c2
Merge guided AI branch (claude/guided-ai)
RedtRocks Oct 21, 2026
fb45eef
Merge Glance documents branch (claude/docs-gdoc)
RedtRocks Oct 21, 2026
b6a9fe9
Merge spreadsheets branch (claude/sheets-templates)
RedtRocks Oct 21, 2026
e20fbda
Guide documents and spreadsheets like decks
RedtRocks Oct 21, 2026
3bcf34a
Type into new documents straight away; New slides makes a blank deck
RedtRocks Oct 22, 2026
98b22c3
Spreadsheets: type straight away, Save works, Enter after Tab returns…
RedtRocks Oct 22, 2026
807a8fe
Escape keeps typed text in slides and documents; fix duplicate keys o…
RedtRocks Oct 22, 2026
6dbba70
Hand jobs Glance can't do to the Ask AI company's agent
RedtRocks Oct 22, 2026
255fc2a
Web version on phones: offer making slides, documents and spreadsheets
RedtRocks Oct 22, 2026
082b508
Merge the feature branch (hand-off to AI agents)
RedtRocks Oct 22, 2026
f9b10a4
Shrink a template's sample text when the real font wraps it onto more…
RedtRocks Oct 22, 2026
6ebb385
Documents move, join and undo like a word processor
RedtRocks Oct 22, 2026
b776559
Spreadsheets: Excel keys for moving, selecting and cutting
RedtRocks Oct 22, 2026
f251a18
Slides: arrow keys step through slides, clicking text puts the caret …
RedtRocks Oct 22, 2026
e7ac310
Tabs show a coloured kind icon and the name without its file type
RedtRocks Oct 22, 2026
a7726df
Spreadsheet toolbar and tab names without the file type
RedtRocks Oct 22, 2026
c675f29
Documents: type on the page with live bold, italic, underline and links
RedtRocks Oct 22, 2026
6740869
File > New: spreadsheet templates get their own tab; clickable things…
RedtRocks Oct 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ tests/ Vitest tests and fixtures
## Don'ts

- Don't bump the version, tag, or run the Release workflow unless the maintainer asks. Releases are cut by the maintainer once all in-progress work has merged. When asked, the version lives in `package.json`, `package-lock.json` (two fields at the top), `src-tauri/tauri.conf.json`, `src-tauri/Cargo.toml` and `src-tauri/Cargo.lock`; the Release workflow fails if the tag doesn't match or `CHANGELOG.md` lacks `## New in <version>`.
- Don't hand-edit generated files: `package-lock.json` and `Cargo.lock` (use npm and cargo), the per-format site pages under `site/*-viewer/` and `site/sitemap.xml` (regenerate with `node scripts/build-format-pages.mjs`), and `packaging/` manifests produced by `scripts/packaging.ts`.
- Don't hand-edit generated files: `package-lock.json` and `Cargo.lock` (use npm and cargo), the per-format site pages under `site/*-viewer/` and `site/sitemap.xml` (regenerate with `node scripts/build-format-pages.mjs`), `packaging/` manifests produced by `scripts/packaging.ts`, and the deck templates' designs in `src/deck/designs/` (regenerate with `node scripts/build-templates.mjs <boards folder>`; the boards are listed in `scripts/templates.config.json`), the document looks in `src/doc/designs/` (regenerate with `node scripts/build-doc-templates.mjs <boards folder>`; the boards are listed in `scripts/doc-templates.config.json`), and the spreadsheet templates in `src/sheet/templates/` (edit `scripts/sheet-templates/*.json`, then run `node scripts/build-sheet-templates.mjs <boards folder>`).
- Don't change `.github/workflows/` to make a check pass; fix the cause.
- Don't commit build output (`dist/`, `dist-web/`, `src-tauri/target/`).

Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ What changed in each version of Glance, newest first. Downloads for every versio

## New in 0.7.1

- **When Glance can't make it, Claude or ChatGPT can.** If you ask for something Glance's tools can't make, such as animated charts or a video, Glance asks the company you use in Ask AI to make it, shows **Asking Claude…** with a Stop button, and opens the new file in a tab with a **Made by Claude** bar: **Keep** saves it next to the original, **Edit with Glance AI** carries on in Glance. **Do more with Claude…** does the same whenever you like. Files you opened yourself are only sent after you say yes. Files you download from claude.ai, chatgpt.com and the other AI websites in the sidebar open in Glance too (they're still saved in Downloads), and **Do more on claude.ai…** opens a new chat there with your request filled in.
- **Documents.** **File → New** now makes documents too: 14 designed templates such as a job application pack, a school report, a club newsletter, an invoice and quote, a lab report and a wedding pack. Type straight onto the page, with bold, italic, underline and links showing as you type (the buttons above the page, or Ctrl+B, Ctrl+I, Ctrl+U and Ctrl+K), add headings, lists, tables and pictures, and long text flows onto new pages without shrinking. Invoice totals work themselves out. Documents save as .gdoc files and export to PDF, Word and pictures, and a Word file can be converted into one (Glance says what it leaves out). AI apps can write and edit documents, and every AI change can be kept or undone.
- **Slide templates that look designed.** **File → New** offers 18 templates for school, work, events, personal projects and clubs, such as a book report, a quarterly review, a charity run and a club newsletter, each with six hand-made slides. Pick one to see all its slides, then use it as it is and type over the sample words, or ask the AI to make it about your own subject. Longer words shrink to fit, and the slides export to PDF, PowerPoint and pictures looking the same. AI apps can use the templates' slides too, in any order and as often as they like.
- **The AI plans first and gets guided.** Ask the AI to make slides and it first shows a plan you can change: reorder, rename, remove or add slides, answer its questions, pick a look and how many words, then **Make My Slides**, or **Just make it** to skip. When a deck is open, what you type in Ask AI reaches the AI with the slides you picked, each text box's size limit and Glance's design rules, so a change like "make this punchier" stays in place and in the template's look; the box suggests a few starts too. Facts the AI doesn't know are left as placeholders like [date], highlighted on the slide, and a counter shows how much fits while you type in a text box.
- **Plans and guided changes for documents and spreadsheets.** New documents and spreadsheets made with the AI start with the same plan, where you pick one of the document or spreadsheet templates as the look. With a document or spreadsheet open, Ask AI gets the text box or block you picked, or the cells you selected with their formulas and rules.
- **Skills.** Glance's design and writing guidance for slides, documents, spreadsheets and edits now ships as skills (in the same shape as Claude's Agent Skills). Turn each on or off, add your own, or install them for Claude Code and Codex in **Settings → AI apps**. AI apps get them through Glance too, with ready-made prompts for making and editing files.
- **Spreadsheets you can edit.** Glance now opens .xlsx and .csv files in a grid you can type in, with sheet tabs, frozen rows, a formula bar and formulas that work themselves out as you go. A toolbar above the grid has number formats, fonts, bold, colours, borders, alignment, sort, filter, a chart button and Sum, as in Excel. Add and delete rows and columns, undo and redo, and save as .xlsx or .csv, or export to PDF and pictures. Drop-downs, tick boxes, coloured rules and charts work too. **File → New** has 12 spreadsheet templates, such as a budget, a shop's stock list and a wedding guest list; use one as it is or ask the AI to make it about your own subject. AI apps and the Ask AI sidebar can make, read, change and check spreadsheets as well.
- **Tidier tabs.** Tabs show a file's name without its type, with a coloured icon for slides, documents and spreadsheets and a dot until changes are saved. Hover a tab for its full name.
- **Safer with untrusted files and websites.** Websites shown in the Ask AI sidebar can no longer reach the files on your PC. A 3D model that wants textures from the web now asks first, and a comic book (.cbz) page too large to be real warns you before it opens.

## New in 0.7.0
Expand Down
38 changes: 36 additions & 2 deletions CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,20 @@ A free, open-source reader and light editor for documents, images, 3D models and
## Documents

**Document**:
One opened file, shown in its own tab. It is a *PDF document*, an *image document*, or a *model document*.
One opened file, shown in its own tab. It is a *PDF document*, an *image document*, a *model document*, or a *deck*.
_Avoid_: File (on-disk only), tab (UI only)

**Page**:
One page of a PDF document or of a multi-page TIFF. Pages can be reordered, rotated, deleted, and dragged between documents.
_Avoid_: Slide, sheet
_Avoid_: Slide (that belongs to a deck), sheet

**Deck**:
A document Glance creates and edits as a set of slides, which people or AI apps build, rearrange and restyle, and export as PowerPoint, PDF or images. A PowerPoint file that is only viewed is not a deck until it is converted.
_Avoid_: Presentation, slideshow, PPT

**Slide**:
One part of a deck: a layout with its content filled in. Slides can be added, reordered, restyled, hidden and deleted.
_Avoid_: Page (that belongs to page-based documents), card

**Frame**:
One still image of an animated GIF. Frames are shown for inspection and export but can't be reordered or edited.
Expand Down Expand Up @@ -58,6 +66,32 @@ A new image composed from several images arranged on a layout.
**Quartz Filter**:
An appearance filter applied at export time (Black & White, Sepia, Reduce File Size, and so on).

## Creating

**Template**:
A finished deck or document, with sample content, that a person or an AI app starts from. A deck template is a set of designs; its look (like "Confetti") names their style, which a theme doesn't change.
_Avoid_: Blank, starter, preset

**Design**:
One hand-made slide of a template: its art and its text boxes. A slide made from it is a designed slide; its slots are the design's text boxes, not a layout's, and a deck can use a design as often as it likes.
_Avoid_: Master, slide layout

**Theme**:
The fonts, colours, sizes and spacing a deck or document uses. Switching theme restyles every slide at once.
_Avoid_: Style, skin, look (that means the app's own Wollo or Windows look)

**Brand Kit**:
A person's own logo, colours, fonts and tone, which every template and theme can use.
_Avoid_: Brand, style guide

**Skill**:
Know-how for one kind of work, such as slide design or writing a resume, that Glance gives to whichever AI is helping.
_Avoid_: Prompt, plugin

**Check**:
An automatic review of a file, such as design, spelling or accessibility, that lists what to fix.
_Avoid_: Lint, validation

## Inspection

**Inspector**:
Expand Down
1 change: 1 addition & 0 deletions PRIVACY.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Glance doesn't collect, store or send any personal information. There is no acco
- Once a day, unless you turn off **Settings → Count this install**, Glance tells [Umami](https://umami.is) that a copy is in use. It sends the version number, whether the copy came from the Microsoft Store, a Flatpak or GitHub, and what any web request carries (the app's language, and the country worked out from your IP address, which isn't stored). It has no install ID, nothing about you, and never a file name or anything you open, so it only adds up to a number of copies in use. The Microsoft Store version does this too.
- Sharing a file through the Windows share sheet sends it only to the app you pick.
- AI apps you connect (Settings → AI apps) can use Glance's tools on your files. Glance itself sends nothing; the AI app sends what it reads through Glance (page images, text, file names) to its AI provider, under that provider's terms. Turn AI access off in Settings → AI apps at any time.
- Ask AI sends your files to the AI company you picked only when you hand a job off to it (**Do more with <company>…**, or when Glance can't make something and asks that company's agent). Files Glance just made go with the request; a file you opened yourself is sent only after you say yes, once for each file. Turn automatic hand-offs off in **Settings → AI apps → Ask Claude or ChatGPT when Glance can't do it**. Files you download from an AI website in the sidebar are saved in your Downloads folder; Glance never types into or reads those websites.

## The website

Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,9 @@ Click a group to open it. Everything listed works today.

- **Ask AI sidebar:** chat with Claude, ChatGPT, Gemini, GitHub Copilot, Qwen, Kimi, Mistral, Meta's Muse or OpenCode about the open file (the whole page or a selected area), signed in with your own account or an API key, or use the company's website in the sidebar. Chats are kept per document
- **AI edits:** type or say what to change and the AI rewrites a PDF's text in place, in the document's own font, with Keep and Undo for each change
- **Slide decks:** start from 18 designed templates for school, work, events, personal projects and clubs, type over the sample words on the slide, or have the AI plan one about your subject (change the plan, then build), with edits guided by Glance's design skills; export to PDF, PowerPoint or pictures
- **Documents:** letters, CVs, reports, newsletters, invoices and certificates from 14 designed templates, typed into on the page; text flows across pages; export to PDF, Word or pictures, and convert Word files into Glance documents
- **Spreadsheets:** open and edit .xlsx and .csv in a grid with live formulas, sheet tabs, frozen panes, sort, filter, drop-downs, tick boxes, coloured rules and charts; start from 12 templates or have the AI make one; save as .xlsx or .csv, or export to PDF or pictures
- **AI apps:** Claude Code, Claude Desktop, Codex, Antigravity, Muse Code, Cursor, VS Code and any MCP app can view any format, read text with OCR, convert, combine, split and redact files, and see and control what's open in Glance. One-click setup in Settings → AI apps ([how it works](docs/AI-APPS.md))

</details>
Expand Down
31 changes: 30 additions & 1 deletion docs/AI-APPS.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,27 @@ On Linux, the .deb and .rpm install `/usr/bin/glance-mcp`. The Flatpak's command
| `glance_edit_text` | Changes or deletes text in an open PDF or image in the same style; the words after it move along |
| `glance_add_text` | Writes new text after or before a paragraph, or at a point, in the page's own style |
| `glance_erase` | Removes a paragraph or an area by covering it with its background |
| `glance_templates` | Lists the designed deck and document templates and each slide design's text slots, with sample text and how many characters fit |
| `glance_create` | Makes a deck from layouts, or from a template's designs in any order, and opens it in Glance |
| `glance_deck_outline`, `glance_deck_edit` | Read a deck and change it: add, move, restyle and fill slides, as one step you can undo |
| `glance_deck_check`, `glance_deck_render` | List what to fix in a deck, and look at its slides as pictures |
| `glance_doc_outline`, `glance_doc_edit` | Read a document (sections, text boxes with how many characters fit, table rows, blocks) and change it as one step you can keep or undo |
| `glance_doc_check`, `glance_doc_render` | List what to fix in a document, and look at its pages as pictures |
| `glance_word_replace` | Replaces text in a Word file, writing a new file |
| `glance_create` with kind `spreadsheet` | Makes a workbook, empty or from one of the spreadsheet templates `glance_templates` lists, and opens it in Glance |
| `glance_sheet_read` | Reads a spreadsheet: its sheets, tables and headers, drop-downs and rules, charts, the user's selection and the cells with their values and formulas |
| `glance_sheet_edit` | Changes a spreadsheet: cells, formulas, rows, columns, sheets, formats, rules, drop-downs, charts, sort, filter and frozen panes, as one step you can undo |
| `glance_sheet_check`, `glance_sheet_render` | List formula errors and broken rules in a spreadsheet, and look at a sheet as a picture |
| `glance_export` | Saves a deck as PDF, PowerPoint or PNG pictures, a document as PDF, Word or PNG pictures, or a spreadsheet as .xlsx, .csv, PDF or PNG |
| `glance_plan` | Shows the AI's plan for a new file on Glance's Outline screen, for you to change before it builds |

### Skills and prompts

Glance gives every AI app the same design and writing guidance ([ADR 0019](adr/0019-skills-given-to-any-agent.md)). Its skills (src/skills: `slide-design`, `document-writing`, `spreadsheet-building` and `editing`, each a `SKILL.md` in the shape of Claude's Agent Skills, with examples) are MCP resources at `skill://glance/<name>/SKILL.md`, and the server's instructions tell agents to read the matching one first. Four MCP prompts start the work with the right tools, rules and skills: `create-deck`, `create-document`, `create-spreadsheet` and `edit-file`.

Settings → AI apps lists the skills with an on/off switch, opens the skills folder where you can add your own (a folder with a `SKILL.md`; it replaces Glance's skill of the same name), and can install the skills that are on for Claude Code (`~/.claude/skills/glance-*`) with a note in Codex's `~/.codex/AGENTS.md`, so they are there before the first tool call. Glance never downloads skills.

In the Ask AI sidebar, a request about an open deck, document or spreadsheet reaches the agent with a `<glance-context>` block: the file and tab, what is selected, the template and each slot's maxChars, the tools to use, the check, render and fix loop, the placeholder rule and the skills that fit (src/core/ai/guide.ts).

The four editing tools add markup to the open document, so you can see, undo or keep each change before saving ([ADR 0015](adr/0015-ai-edits-as-matching-markup.md)).

Expand All @@ -54,10 +75,18 @@ Turn **Let AI apps use Glance** off in Settings → AI apps to refuse all reques

## How it works

AI apps start `glance-mcp.exe` and talk JSON-RPC over its standard input and output. `glance-mcp` (src-tauri/mcp-bridge, a few hundred kilobytes) answers the handshake and the tool list itself and relays tool calls to the Glance app over a loopback connection that only your Windows user can open: Glance listens on a random local port and writes the port and a secret token to `%LOCALAPPDATA%\io.github.redtrocks.glance\mcp-endpoint`; `glance-mcp` must present the token.
AI apps start `glance-mcp.exe` and talk JSON-RPC over its standard input and output. `glance-mcp` (src-tauri/mcp-bridge, a few hundred kilobytes) answers the handshake, the tool and prompt lists and Glance's own skills itself and relays tool calls to the Glance app over a loopback connection that only your Windows user can open: Glance listens on a random local port and writes the port and a secret token to `%LOCALAPPDATA%\io.github.redtrocks.glance\mcp-endpoint`; `glance-mcp` must present the token.

You never need to open Glance for an AI app: when a tool is first used and Glance isn't running, `glance-mcp` starts it with its window hidden, and if you quit Glance, the next tool call starts it again. Glance quits again a few seconds after the last AI app disconnects, unless a tool or you showed the window. The tools run in Glance itself (src/state/mcpTools.ts), with the same decoders, PDF engine, OCR and redaction as the app ([ADR 0014](adr/0014-ai-apps-through-mcp.md)).

## Handing off from Ask AI

The Ask AI sidebar works the other way round: Glance asks the AI company's own agent (Claude through claude-agent-acp, ChatGPT through codex-acp, or whichever company you picked) for what its tools can't make ([ADR 0020](adr/0020-hand-off-to-the-company-agent.md)). It happens when the in-app AI says the rest of a request is beyond Glance's tools, when you ask for a kind of file Glance can't make (a video, audio, an animated GIF, a web page, an SVG, a 3D model or an e-book), or when you tap **Do more with <company>…**.

Glance starts a separate session of that agent, without Glance's tools, gives it your request, the file's path and an empty folder under Glance's app data (`hand-off\<date>`), and opens the file it writes there in a new tab with a **Made by <company>** bar. **Keep** moves the file next to the original (or into Downloads); **Edit with Glance AI** goes back to the chat. Files Glance just made are sent as they are; a file you opened yourself is sent only after you say yes, once per file. Turn this off in **Settings → AI apps → Ask Claude or ChatGPT when Glance can't do it**.

In the website view, files you download from the site are saved in Downloads and open in Glance with an **Opened from <site>** bar (**Settings → AI apps → Open files made on AI websites in Glance**, on by default). **Do more on <site>…** opens the site's new chat with your request filled in, where the site supports it (claude.ai, chatgpt.com, chat.mistral.ai); you press send. Glance never types into or reads the sites. Neither feature is in the browser version.

## Privacy

Glance sends nothing anywhere. An AI app you connect, however, sends what it reads through Glance (page images, text, file names) to its AI provider, like anything else it reads on your PC.
Loading
Loading