Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
27 changes: 14 additions & 13 deletions docs/design-system.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,17 +128,19 @@ Notion 正文 708)。**不存在"一个正确的宽度",只存在按内容

## Application icon

The PWA and browser icon is two overlapping pages with an offset rear outline and a detached diagonal fold,
without lettering or product marks. SVG sources live in `public/icons/`.
The palette resolves the light-theme tokens `--ran-gray-1000` (#171717),
`--ran-background-100` (#ffffff) and `--ran-gray-300` (#e6e6e6).
Exported application assets use these fixed values because launcher icons do not
inherit the page's CSS variables. The front page has two broad cutout lines; the staggered silhouette and open fold
remain legible at favicon size. Rounded corners and line caps match the interface.
The PWA and browser icon uses two offset angular bands around an open center.
The mark is abstract rather than a file illustration, with solid monochrome fills,
broad negative space and restrained rounded corners that match the interface.
SVG sources live in `public/icons/`.
The universal launcher icon resolves the light-theme tokens
`--ran-gray-1000` (#171717) and `--ran-background-100` (#ffffff).
Exported assets use these fixed values because launcher icons do not inherit
page CSS variables. There are no additional accent colors, gradients or shadows.
The same silhouette is used at every size, including the 16 px browser display.

The ordinary icon has a rounded background; the maskable variant has an opaque,
full-bleed background. All document content fits within the central 80%-diameter
safe circle, so platform masks can crop the background without clipping the page.
full-bleed background. The entire mark fits within the central 80%-diameter
safe circle, so platform masks can crop the background without clipping the mark.
The 32 px favicon, 180 px touch icon, 192/512 px PWA icons and 512 px maskable icon
are checked in. Regenerate PNG files from the SVG sources with:

Expand All @@ -152,18 +154,17 @@ Keep this functional icon separate from legal attribution and from page headers.
### Light and dark browser presentation

Browser favicons use `document-light.svg` / `document-dark.svg` and their 32 px
PNG fallbacks. Both share the document geometry. The light variant uses the
PNG fallbacks. Both share the abstract mark geometry. The light variant uses the
light background / foreground tokens; the dark variant resolves
`--ran-background-100` to #000000, `--ran-gray-1000` to #ededed and
`--ran-gray-300` to #292929. Regenerate these PNGs with the same command above.
`--ran-background-100` to #000000, `--ran-gray-1000` to #ededed. Regenerate these PNGs with the same command above.

`public/theme-presentation.js` follows the effective `data-ran-theme`, then the
stored choice, then the system preference. It updates the favicon, native
`color-scheme` and browser `theme-color` before page styles paint, and follows
runtime changes. A manual choice takes precedence over an opposite OS theme.
The helper is precached and treated as a deploy-coupled, revalidated asset.

The manifest and Apple touch icons retain the universal document design.
The manifest and Apple touch icons retain the universal monochrome design.
Manifest icon entries have no theme selector; publishing competing light/dark
entries at the same size would not establish a reliable selection rule.
The manifest's white startup background is a fallback; the page's browser color
Expand Down
66 changes: 43 additions & 23 deletions docs/media/ai-demos/README.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,73 @@
# AI assistant demos

**Experimental Beta.** The AI assistant is still being developed. It can misunderstand requests or produce incomplete or incorrect answers and edits. Review suggestions and check important results before relying on them. Capabilities and response times depend on your model and device.
**Experimental Beta.** AI answers and edits can be incomplete or incorrect. Check important results and review changes before relying on them.

These silent screen recordings use the English interface, English captions and fictional project information. They were recorded with the local Qwen3 4B model in a browser. Model preparation is left out; the prompts, replies, reviews and editor changes are recorded from the running application.
Four silent, English walkthroughs use fictional project information and the local Qwen3 4B model. Each follows a complete workflow at normal speed, with time to read replies, inspect suggestions and see the result in the editor. Requests and replies use the running app. The model is already loaded when each recording starts; response times vary by model and device.

To try a demo yourself, open a document, open **AI Assistant**, then load a local model or connect your AI service. Type the request shown below. Some changes require review before applying; you can cancel them or use the editor's **Undo** after applying.
To try these yourself, open a file, open **AI Assistant**, turn it on, then load an on-device model or connect your AI service. Type a request, inspect any proposed changes and apply only what you want. You can cancel a proposal or undo an applied change.

## Word: draft and insert
| Demo | Length | Shows |
| --------------------------------------------------------------------------------------------- | ------------ | -------------------------------------------------------------- |
| [Word](https://github.com/user-attachments/assets/8d1d6386-e33a-45f2-b968-b8695c8f7da9) | 1 min 43 sec | Draft, write by asking, review a summary, apply, undo and redo |
| [Excel](https://github.com/user-attachments/assets/5bb253d7-3cc5-4f31-989e-0c88dcb1615c) | 1 min 39 sec | Fill a column, calculate its total, sort and undo |
| [PowerPoint](https://github.com/user-attachments/assets/db3fc7a7-b54e-4147-a7ca-e7f16243618e) | 1 min 43 sec | Create a slide, review its content, duplicate and undo |
| [PDF](https://github.com/user-attachments/assets/f01c2da6-0669-4111-87c1-c4440f4a60e9) | 2 min 9 sec | Read a page, ask about its contents, review and cancel a note |

https://github.com/user-attachments/assets/89b21740-0c96-4b21-885f-27efa6e7fa53
## Word: draft, write and summarize

[Watch video](https://github.com/user-attachments/assets/89b21740-0c96-4b21-885f-27efa6e7fa53) · [Download MP4](word-ai.mp4) · [English captions](word-ai.vtt)
https://github.com/user-attachments/assets/8d1d6386-e33a-45f2-b968-b8695c8f7da9

Request: “Write a short project update about our spring launch. Include a heading and three concise bullet points. Mention the design review is complete, user testing is next, and launch is May 15.”
[Download MP4](word-ai.mp4) · [English captions](word-ai.vtt)

The assistant drafts a heading and three bullet points. **Write into document** inserts the formatted content into the Word document. The demo then uses **Undo** and **Redo** in the editor to show that the change is reversible.
Requests:

1. “Draft a launch update with a heading and three short bullets: design review done; user testing next; launch May 15.”
2. “Write the previous response into the document.”
3. Select the text, then ask: “Summarize the selected text in one sentence.”

## Excel: fill and calculate
The assistant drafts an update, then writes its heading and bullets into the actual Word file when asked. Read the proposed summary before applying it. **Undo** restores the original update; **Redo** reapplies the summary.

https://github.com/user-attachments/assets/18dbe96f-bb07-46e9-88f7-5a7a6370b630
## Excel: fill, calculate and sort

[Watch video](https://github.com/user-attachments/assets/18dbe96f-bb07-46e9-88f7-5a7a6370b630) · [Download MP4](excel-ai.mp4) · [English captions](excel-ai.vtt)
https://github.com/user-attachments/assets/5bb253d7-3cc5-4f31-989e-0c88dcb1615c

[Download MP4](excel-ai.mp4) · [English captions](excel-ai.vtt)

Requests:

1. “Fill cells A1:A10 with the numbers 1 through 10, one number per row.”
1. “Fill A1:A10 with the numbers 1 through 10.”
2. “Sum A1:A10 into B1.”
3. “Sort A1:A10 by A descending without header.”

Review the proposed cell changes and apply them. The assistant fills A1:A10 with the requested numbers, then puts their sum, **55**, in B1. The results appear in the actual worksheet.
Review and apply the proposed series. A1:A10 contains **1–10** and B1 shows **55**. The next request sorts the column from **10 to 1**. **Undo** restores the original order. The recorded values were checked directly in the worksheet.

## PowerPoint: create a slide
## PowerPoint: create and duplicate a slide

https://github.com/user-attachments/assets/3450551b-b557-4a0b-8a2a-5b05d2c458fe
https://github.com/user-attachments/assets/db3fc7a7-b54e-4147-a7ca-e7f16243618e

[Watch video](https://github.com/user-attachments/assets/3450551b-b557-4a0b-8a2a-5b05d2c458fe) · [Download MP4](pptx-ai.mp4) · [English captions](pptx-ai.vtt)
[Download MP4](pptx-ai.mp4) · [English captions](pptx-ai.vtt)

Request: “Create a slide titled ‘Spring launch’ with these three points: Design review complete; User testing next; Launch on May 15.”
Requests:

Review the proposed slide content and apply it. The new slide appears in the presentation. Answers about slides can be inaccurate with a small local model; check them against the presentation.
1. “Create one slide titled ‘Spring launch’ with these points: Design review complete; User testing next; Launch on May 15. After creating it, reply Done.”
2. “Duplicate current slide.”

## PDF: read and review a note
Inspect the proposed title and content, then apply them. Ask the assistant to duplicate the new slide. **Undo** removes the duplicate while preserving the first generated slide and the existing presentation. This demonstrates slide content and editing, not automatic slide design.

https://github.com/user-attachments/assets/e786a45c-f73a-48c0-8334-19544fa32c7e
## PDF: read, ask and review a note

[Watch video](https://github.com/user-attachments/assets/e786a45c-f73a-48c0-8334-19544fa32c7e) · [Download MP4](pdf-ai.mp4) · [English captions](pdf-ai.vtt)
https://github.com/user-attachments/assets/f01c2da6-0669-4111-87c1-c4440f4a60e9

[Download MP4](pdf-ai.mp4) · [English captions](pdf-ai.vtt)

Requests:

1. “Read the text on PDF page 1.”
2. “Add a note to page 1: Check the launch date.”
2. “What is the approved budget on this page?”
3. “Add a note to page 1: Check the launch date.”

The assistant reads the selectable text on page 1 and answers the budget question: **12,000 dollars**. It then prepares a page note for review. Read the proposal and select **Cancel** to leave the PDF unchanged.

## What to keep in mind

The assistant reads and displays the selectable text on page 1, then prepares a page note for review. The demo chooses **Cancel**, leaving the PDF unchanged. **Current limitation:** A page note can be saved even when the assistant’s follow-up reply fails. Check the note on the page before retrying to avoid adding it twice. A page note does **not** rewrite PDF body text. These features do not recognize text in scanned page images, and an answer about the current page is not a review of the entire PDF.
The local model can misunderstand requests or return unchanged text. A PDF page note may be saved even if the assistant’s follow-up reply fails; check the page before retrying to avoid duplicates. PDF assistance uses selectable text on the current page; it does not recognize scanned page images or rewrite PDF body text. Response times vary by model, document and device.
Binary file modified docs/media/ai-demos/excel-ai.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/media/ai-demos/excel-ai.mp4
Binary file not shown.
26 changes: 16 additions & 10 deletions docs/media/ai-demos/excel-ai.vtt
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
WEBVTT

00:00:00.000 --> 00:00:02.005
Excel - AI assistant. Experimental AI assistant.
00:00:00.000 --> 00:00:02.003
Excel - AI assistant. Experimental Beta. Normal speed.

00:00:02.005 --> 00:00:28.256
Ask for a number series. Experimental AI assistant.
00:00:02.003 --> 00:00:35.520
Ask for a number series. Experimental Beta. Normal speed.

00:00:28.256 --> 00:00:40.145
Review and apply. Experimental AI assistant.
00:00:35.520 --> 00:00:47.970
Review and apply. Experimental Beta. Normal speed.

00:00:40.145 --> 00:00:43.919
Calculate using the document. Experimental AI assistant.
00:00:47.970 --> 00:01:05.855
Calculate using the document. Experimental Beta. Normal speed.

00:00:43.919 --> 00:00:47.919
Result checked in the editor. Experimental AI assistant.
00:01:05.855 --> 00:01:25.532
Sort the column in descending order. Experimental Beta. Normal speed.

00:01:25.532 --> 00:01:34.619
Undo the sort. Experimental Beta. Normal speed.

00:01:34.619 --> 00:01:38.619
Result checked in the editor. Experimental Beta. Normal speed.
Binary file modified docs/media/ai-demos/pdf-ai.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/media/ai-demos/pdf-ai.mp4
Binary file not shown.
27 changes: 15 additions & 12 deletions docs/media/ai-demos/pdf-ai.vtt
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
WEBVTT

00:00:00.000 --> 00:00:02.001
PDF - AI assistant. Experimental AI assistant.
00:00:00.000 --> 00:00:02.004
PDF - AI assistant. Experimental Beta. Normal speed.

00:00:02.001 --> 00:00:29.017
Read the current PDF page. Experimental AI assistant.
00:00:02.004 --> 00:00:43.509
Read the current PDF page. Experimental Beta. Normal speed.

00:00:29.017 --> 00:00:58.587
Ask for a page note. Experimental AI assistant.
00:00:43.509 --> 00:01:18.455
Ask a question about the page. Experimental Beta. Normal speed.

00:00:58.587 --> 00:01:01.089
Review the proposed note. Experimental AI assistant.
00:01:18.455 --> 00:01:56.298
Ask for a page note. Experimental Beta. Normal speed.

00:01:01.089 --> 00:01:01.619
Cancel without changing the PDF. Experimental AI assistant.
00:01:56.298 --> 00:02:02.301
Review the proposed note. Experimental Beta. Normal speed.

00:01:01.619 --> 00:01:05.619
Cancelled - PDF unchanged. Experimental AI assistant.
00:02:02.301 --> 00:02:05.393
Cancel without changing the PDF. Experimental Beta. Normal speed.

00:02:05.393 --> 00:02:09.393
You stay in control - PDF unchanged. Experimental Beta. Normal speed.
Binary file modified docs/media/ai-demos/pptx-ai.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/media/ai-demos/pptx-ai.mp4
Binary file not shown.
20 changes: 13 additions & 7 deletions docs/media/ai-demos/pptx-ai.vtt
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
WEBVTT

00:00:00.000 --> 00:00:02.004
PowerPoint - AI assistant. Experimental AI assistant.
PowerPoint - AI assistant. Experimental Beta. Normal speed.

00:00:02.004 --> 00:00:33.981
Describe the slide. Experimental AI assistant.
00:00:02.004 --> 00:00:53.962
Describe the slide. Experimental Beta. Normal speed.

00:00:33.981 --> 00:00:53.390
Review the slide content. Experimental AI assistant.
00:00:53.962 --> 00:01:12.439
Review the slide content. Experimental Beta. Normal speed.

00:00:53.390 --> 00:00:57.390
Result checked in the editor. Experimental AI assistant.
00:01:12.439 --> 00:01:30.097
Duplicate the current slide by asking. Experimental Beta. Normal speed.

00:01:30.097 --> 00:01:39.191
Undo the duplicate. Experimental Beta. Normal speed.

00:01:39.191 --> 00:01:43.191
Result checked in the editor. Experimental Beta. Normal speed.
Binary file modified docs/media/ai-demos/word-ai.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/media/ai-demos/word-ai.mp4
Binary file not shown.
33 changes: 21 additions & 12 deletions docs/media/ai-demos/word-ai.vtt
Original file line number Diff line number Diff line change
@@ -1,19 +1,28 @@
WEBVTT

00:00:00.000 --> 00:00:02.003
Word - AI assistant. Experimental AI assistant.
00:00:00.000 --> 00:00:02.004
Word - AI assistant. Experimental Beta. Normal speed.

00:00:02.003 --> 00:00:16.787
Ask for a first draft. Experimental AI assistant.
00:00:02.004 --> 00:00:29.851
Ask for a first draft. Experimental Beta. Normal speed.

00:00:16.787 --> 00:00:19.838
Write the draft into the document. Experimental AI assistant.
00:00:29.851 --> 00:00:51.004
Ask the assistant to write the draft. Experimental Beta. Normal speed.

00:00:19.838 --> 00:00:21.865
Undo in the editor. Experimental AI assistant.
00:00:51.004 --> 00:01:14.796
Select text and ask for a summary. Experimental Beta. Normal speed.

00:00:21.865 --> 00:00:22.383
Redo the change. Experimental AI assistant.
00:01:14.796 --> 00:01:20.797
Review the summary before applying. Experimental Beta. Normal speed.

00:00:22.383 --> 00:00:26.383
Result checked in the editor. Experimental AI assistant.
00:01:20.797 --> 00:01:28.894
Apply the reviewed summary. Experimental Beta. Normal speed.

00:01:28.894 --> 00:01:35.991
Undo the summary. Experimental Beta. Normal speed.

00:01:35.991 --> 00:01:39.136
Redo the change. Experimental Beta. Normal speed.

00:01:39.136 --> 00:01:43.136
Result checked in the editor. Experimental Beta. Normal speed.
Loading
Loading