Files
claude a5ca432396
Build and Deploy Verso / deploy (push) Successful in 13m35s
Fix heading bleeding and smooth_pdf_transition translation
Two fixes:

1. Heading style bleeding (Typst): the HeadingTitle external token approach
   was unreliable — even with contextual:true and canShift(), body text was
   being styled as headings. Remove HeadingTitle from the grammar entirely.
   Instead, a ViewPlugin (headingLinePlugin in languages/typst/index.ts)
   walks the syntax tree, finds HeadingMark nodes, and decorates the rest of
   the line with tok-heading class + bold. This is unconditionally correct
   because it is based on the syntax tree rather than the LR tokenizer state.

2. smooth_pdf_transition raw key shown in all locales: the key was in the
   JSON locale files but missing from extracted-translations.json, which is
   the allowlist the webpack translation loader uses to decide what to bundle.
   Add it there so all locales (including fr, es, de already added) resolve
   to their translated strings.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 14:22:16 +00:00

1.8 KiB

Verso — Next Alpha Roadmap

Ideas and features deferred from the current alpha.


Next alpha (post-current)

Typst editing experience (inspired by Collabst)

  • typst.ts WASM preview — Run the Typst compiler in the browser via WebAssembly (typst.ts). This would give instant, sub-second preview without a server round-trip, and would eliminate the entire class of race conditions in the CLSI watcher (files written → typst compiles → resolver missed). Could coexist with the CLSI watcher for PDF export while using the WASM path for live preview.

  • Tinymist LSP integration — Wire up Tinymist (the Typst language server) behind a WebSocket proxy. Would give Typst files first-class autocomplete, hover docs, go-to-definition, and inline error diagnostics — the main editing comfort gap vs. a native editor.

Editor UX for non-LaTeX formats (.typ, .qmd, .md)

  • Visual/rich-text editing mode — A toggle between raw source and a rendered-in-place view for .typ, .qmd, and .md files (similar to Overleaf's rich-text mode for LaTeX). Users who don't know Typst or Markdown syntax should be able to edit content without seeing markup. CodeMirror 6 already supports this pattern via a custom NodeView layer or a separate Prosemirror bridge.

  • Toolbar / insertion shortcuts — A formatting toolbar and keyboard shortcuts for common operations, adapted per file type:

    • All formats: bold, italic, underline, headings, bullet/numbered lists, inline code, links.
    • Quarto / Markdown: insert image, insert table, insert code block with language tag.
    • Quarto RevealJS: insert slide divider (---), insert speaker notes (::: notes), insert columns layout, insert video embed (using Quarto's {{< video >}} shortcode).