Downright / Themes

Six themes. One document.

This page uses the app's theme engine. Pick a theme and the whole page changes with it.

Type in the window. Switch themes while you type. Nothing here is a screenshot.

sample.md
# Renderer handoff: the file stays readable​This is the working note for the renderer refactor. The page is a reviewsurface for a file people and coding agents change together: the source staysplain, the document stays legible, and every decision has a place to land.​**Inline** · **bold** · _italic_ · ~~deprecated~~ · `RenderedDocument`​**Links** · [open the issue](https://github.com/ezzy1630/Downright/issues) · [[Renderer]] · <https://downright.cc> · note[^1]​**Math** · $e^{i\pi}+1=0$ · $\sqrt{x^2+y^2}$ · `$PATH`​| Surface | State | Proof ||---|---|---|| `Parse` | **stable** | immutable block index || `Decorate` | **measured** | one pass per keystroke || `Review` | **visible** | word-level change marks |​> [!NOTE]> Native: prose, source, state, and media in one surface.​- [x] Parse once and decorate from ranges- [x] Keep raw bytes available for review- [ ] Move the image store off the main actor​**Syntax** · comments, keywords, types, strings, numbers, and calls:​```swift@MainActor func render(_ source: String) -> RenderedDocument {    let index = parser.blockIndex(for: source)    let image = cache.image(for: index)    return decorator.apply(image, ranges: index.ranges)}```​**Math**​$$\mathop{\mathrm{parse}}(bytes) \longrightarrow \mathop{\mathrm{decorate}}(surface)$$​**Mermaid**​```mermaidflowchart LR    A[MD] --> B{?}    B -->|no| C[Keep]    B -->|yes| D[Render]```​## Review anchors​The document map draws from this same structure, so every altitude has a floor to stand on.​### Source​The handoff stays source-first while the rendered surface stays native.​### State​Links, callouts, tasks, and math retain their local state as the page grows.​### Finish​This note stays useful after the agent leaves because its structure remains visible.​[^1]: Footnotes resolve locally without moving the reader away from the line.

Renderer handoff: the file stays readable

This is the working note for the renderer refactor. The page is a review

surface for a file people and coding agents change together: the source stays

plain, the document stays legible, and every decision has a place to land.

Inline · bold · italic · deprecated · RenderedDocument

Links · open the issue · Renderer · https://downright.cc · note1

Math · eiπ+1=0 · x2+y2 · $PATH

SurfaceStateProof
Parsestableimmutable block index
Decoratemeasuredone pass per keystroke
Reviewvisibleword-level change marks

Parse once and decorate from ranges

Keep raw bytes available for review

Move the image store off the main actor

Syntax · comments, keywords, types, strings, numbers, and calls:

swift@MainActor func render(_ source: String) -> RenderedDocument {
    let index = parser.blockIndex(for: source)
    let image = cache.image(for: index)
    return decorator.apply(image, ranges: index.ranges)
}

Math

parse(bytes) ⟶ decorate(surface)

Mermaid

Review anchors

The document map draws from this same structure, so every altitude has a floor to stand on.

Source

The handoff stays source-first while the rendered surface stays native.

State

Links, callouts, tasks, and math retain their local state as the page grows.

Finish

This note stays useful after the agent leaves because its structure remains visible.

Line 1, Column 1Markdown— wpm· type to measureparse —· on first keystrokeframe floor 16 ms

The same values, straight from the app's theme files.

Paper Light#f7f4ee#fffdfa#292522#685f56
Warm Dark#171614#24211e#e3ddd5#aca297
Nord#2e3440#3b4252#d8dee9#aeb8c8
Solarized Light#fdf6e3#eee8d5#526b72#526b72
High Contrast#ffffff#f2f2f2#000000#2a2a2a
Systemsystem:textBackgroundsystem:controlBackgroundsystem:labelsystem:secondaryLabel
Keyboard shortcuts
⌘KCommand palette
⌘⇧EFlip the window to its source
SpaceQuick Look the focused file card
1–5Structural zoom level
← → ↑ ↓Divider, zoom, rail, palette
EscClose whatever opened