An AI-native editor
for research.

Edit Markdown, LaTeX or code files locally with all changes tracked in Sundial.
Supports local agents like Claude Code, Codex and Cursor.
One-click sharing to work with your team.

No card required. Free forever for .edu addresses.

Used by researchers at

The editor at work.

This is the real app during a revision pass. You ask in chat, the agent edits the doc, and the change lands as a signed suggestion to keep or undo.

paper.md Edit Aa ···
<!-- R2.1: quantify the speedup claim -->
## Results
Our sparse decoder matches the dense
baseline within 0.2 points on all
four benchmarks (Tay et al., 2022).
Decoding is substantially faster
on long inputs.
Decoding is 3.1x faster at 32k
tokens (Table 2).
Claude Opus 5 Keep Undo ✓ Kept · in history
The routing score is s = q·k / √d,
where d is the head dimension.
We ablate the distance bias
in Appendix B. Priya
### Decoding throughput by
context length
| Context | Dense | Sparse |
| 8k | 41 tok/s | 118 tok/s |
| 32k | 12 tok/s | 37 tok/s |
Sparse Attention Decoding for
Long-Context Transformers
Priya Raghavan   Jonas Weber   Mei Chen
Department of Computer Science
Abstract

Attention dominates the cost of long-context inference. We introduce a sparse decoding scheme that routes each query to a small, learned subset of keys, matching dense-attention quality on all four benchmarks we evaluate while decoding 3.1x faster at 32k tokens. The gain grows with context length and requires no retraining of the base model.

1  Introduction

Per-token decoding cost grows linearly in context length, and attention quickly dominates as contexts reach tens of thousands of tokens. Prior work prunes heads or compresses the KV cache, trading quality for speed. We instead learn a routing function over the scores

(1)sij = qi⊤kj / √d

which the decoder evaluates on a small routed subset of keys in place of the dense score matrix. Routing adds under 2% overhead and is trained jointly with a learned distance bias.

2  Related work

Efficient attention spans fixed sparse patterns, low-rank approximation, and cache eviction. Sliding-window and block-sparse layouts fix the pattern in advance, while eviction policies discard keys the model may later need. Learned routing instead adapts the pattern per query at decode time, keeping the full cache addressable.

1 / 9 Preview · live
paper.md · 214 lines · Edited just now

Writing, without the friction.

Errors fix themselves while you type, completion knows your whole library, and a photo of a whiteboard becomes a table.

Never chase a broken reference again.

The agent watches as you type. When a link breaks, a number drifts out of sync with its table, or a typo slips in, it repairs the mistake right away, usually before you notice the problem. These fixes are applied live rather than proposed, but each is attributed like any other edit, so you can undo any of them.

It reads the whole project, not just the open file.

paper.md
39## Results
40The decay rate follows the envelope
41shown in Figure 3, with the
42relaxation time set per mode.
43Decoding is 3.1x faster at 32k
44tokens (Table 2), and the gain
45grows with context length.
watching · everything checks outpaper.md · 96 lines

Citations and autocomplete, one keystroke.

Start a citation and search your library without leaving the line. Sundial stays synced with Zotero and writes the reference entry itself, and the same completion knows every heading, figure, and term in your project.

A citation that matches nothing in your library gets flagged.

related-work.md
31Glacier retreat accelerated in the
32first decades of the century @zemp2019
Cite · searching your library Zotero
↩zemp2019 · Global glacier mass changes 2006–2016 · Zemp et al.
2hugonnet2021 · Accelerated global glacier mass loss · Hugonnet et al.
3marzeion2014 · Attribution of glacier mass change · Marzeion et al.
✓ zemp2019 added to references.md · synced from Zotero

From sketch to document.

Drop in a whiteboard photo, a table screenshot, or a hand-drawn figure. It comes back rebuilt in the doc, a table as a table, a figure as a figure, checked and waiting as a suggestion.

Dictating a change works too; you review the diff.

results.md
whiteboard.jpg · 2.1 MB
61### Ablation over routing depth
62
63| Depth | F1 | Latency |
64| ----- | ---- | ------- |
65| 2 | 81.4 | 12 ms |
66| 4 | 83.1 | 19 ms |
✓ checked · in the doc as a suggestion to review

Hand off a whole pass, then review it in one sweep.

Every AI edit is signed and reviewable, whether it was proposed as a suggestion or applied live. Keep or undo, one by one or in batches; history records who wrote what and when, human or model, down to the single edit.

✓Inline diffs sit in the text itself, so there is no chat transcript to cross-reference.
✓Review a big pass in one sweep, filtered by author or by file.
✓Or leave a margin comment: @agent answers on the thread, with the revision attached as a suggestion.
✓Undo one edit from last Tuesday without touching anything else.
conclusion.md
Claude Opus 5 made 2 suggestions in this file

Our method achieves significant improvements over strong baselines across a wide variety of settings improves macro-F1 by 2.4 points on all four benchmarks at equal parameter count. The gain holds across all three seeds.

Claude Opus 5 · made 1 claim precise

It is important to note that much further work will be needed to fully explore We leave to future work scaling past 7B parameters and multilingual pretraining.

Claude Opus 5 · cut 1 filler phrase
conclusion.md · 96 lines · Edited now

An editor that checks your work.

Citations are read against the papers behind them, and your numbers stay consistent across files. Every finding arrives as a suggestion.

Does the source say what you say it says?

Each citation is read against the paper behind it, so when a claim drifts past what its source supports, you hear about it first. When a result changes, every file that repeats it (abstract, tables, conclusion) stays flagged until they agree.

Reviewer 2 runs these checks. Now you run them first.

related-work.md

Alpine glaciers have lost half their ice since 2000 (Zemp et al., 2019).

Citation check overclaims the source
Zemp et al. report a 17% volume loss for 2000 to 2014. Nothing in your library supports "half since 2000".
Zemp et al. 2019 · read from your Zotero library
reads the paper, not the abstract

A full editor underneath.

The suggestion flow sits on top of a serious editor. The day you need any of this, it is already there.

Papers and code on a real computer.

Documents render a live preview, Jupyter notebooks run inside them, and plain Markdown covers everything else. The agent executes, checks, and fixes its own errors in a sandbox.

paper.mdchecked ✓
analysis.ipynb14/14 cells pass
draft.mdlive · 3 editors

Unlimited collaborators, live.

Share a project with a private invite or a public link. Coauthors edit live, comment threads stay pinned to the text, and the free plan never caps seats.

youediting §4
Priya2 comments on the intro
Jonasreading the PDF

Claude Code and Codex join the doc.

Point your local agent at the workspace. It edits the same document through the same signed-suggestion review flow.

youediting intro
Claude Code3 suggestions in methods.md
Agentfixing citations

100+ models, swappable mid-chat.

Frontier or open source, pick per task. Review works the same no matter who writes.

✳ Claude Opus 5✓
GPT-5.5
Gemini 3 Pro
+ 100 more…
The Sundial agent mascot typing on a laptop

An editor you can hand real work to.

Bring your work as-is. Two-way GitHub sync means your collaborators do not have to change anything.