From 615b1eacc7fbb7c5f5d9c8e5beddd7a2bdd8c932 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Mon, 3 Jul 2023 17:32:29 +0200 Subject: [PATCH] Move roadmap into this repository --- crates/typst-docs/src/lib.rs | 1 + docs/roadmap.md | 145 +++++++++++++++++++++++++++++++++++ 2 files changed, 146 insertions(+) create mode 100644 docs/roadmap.md diff --git a/crates/typst-docs/src/lib.rs b/crates/typst-docs/src/lib.rs index d7f816d23..1aabebf02 100644 --- a/crates/typst-docs/src/lib.rs +++ b/crates/typst-docs/src/lib.rs @@ -59,6 +59,7 @@ pub fn provide(resolver: &dyn Resolver) -> Vec { guides_pages(resolver), packages_page(resolver), markdown_page(resolver, "/docs/", "changelog.md"), + markdown_page(resolver, "/docs/", "roadmap.md"), markdown_page(resolver, "/docs/", "community.md"), ] } diff --git a/docs/roadmap.md b/docs/roadmap.md new file mode 100644 index 000000000..ac28f01e8 --- /dev/null +++ b/docs/roadmap.md @@ -0,0 +1,145 @@ +--- +description: What we have planned for Typst. +--- + +# Roadmap +This page lists planned features for the Typst language, compiler, library and +web app. Since priorities and development realities change, this roadmap is not +set in stone. Features that are listed here will not necessarily be implemented +and features that will be implemented might be missing here. As for bug fixes, +this roadmap will only list larger, more fundamental ones. + +Are you missing something on the roadmap? Typst relies on your feedback as a +user to plan for and prioritize new features. Get started by filing a new issue +on [GitHub](https://github.com/typst/typst/issues) or discuss your feature +request with the [community]($community). + +## Language and Compiler { #language-and-compiler } +- **Structure and Styling** + - Fix show rule recursion + - Fix show-set order + - Fix show-set where both show and set affect the same kind of element + (to set properties on elements that match a selector) + - Ancestry selectors (e.g., within) + - Custom elements (that work with set and show rules) + - Possibly a capability system, e.g. to make your own element referenceable +- **Layout** + - Floating layout + - Rework layout engine to a more flexible model that has first-class support + for both "normal" text layout and more canvas-like layout + - Unified layout primitives across normal content and math + - Named alignment to synchronize alignment across different layout hierarchies + - Chained layout regions + - Page adjustment from within flow + - Advanced page break optimization + - Grid-based typesetting + - Layout with collision +- **Export** + - Implement emoji export + - Implement transparency + - Fix SVG export issues + - HTML export + - EPUB export + - Tagged PDF for Accessibility + - PDF/A and PDF/X support +- **Text and Fonts** + - Font fallback warnings + - Fix SVG font fallback + - Proper foundations for i18n + - Bold, italic, and smallcaps synthesis + - Variable fonts support + - Ruby and Warichu + - Kashida justification +- **Scripting** + - More fields and methods on primitives + - Import renaming with as + - Allow expressions as dictionary keys + - Make types first-class values and bring methods and functions closer + together + - Function hoisting if possible + - Get values of set rules + - Doc comments + - Type hints + - WebAssembly integration + - Query from CLI +- **Visualization** + - Arrows + - Gradients + - Better path drawing + - Color management +- **Tooling** + - Autoformatter + - Linter + - Documentation generator +- **Development** + - Benchmarking + - Better contributor documentation + +## Library { #library } +- **Customization** + - Integrate CSL (Citation Style Language) + - Bibliography and citation customization + - Outline customization + - Table stroke customization + - Themes for raw text and more/custom syntaxes +- **Numbering** + - Relative counters, e.g. for figure numbering per section + - Improve equation numbering + - Fix issues with numbering patterns + - Enum continuation +- **Layout** + - Row span and column span in table + - Balanced columns + - Drop caps + - End notes, maybe margin notes +- **Math** + - Fix syntactic quirks + - Fix font handling + - Provide more primitives + - Smarter automatic delimiter sizing + - Augmented matrices + - Big fractions +- **Other** + - Plotting + +## Web App { #web-app } +- **Editing** + - Smarter & more action buttons + - Basic, built-in image editor (cropping, etc.) + - Color Picker + - Symbol picker + - GUI inspector for editing function calls + - Preview autocomplete entry + - Cursor in preview + - Inline documentation + - More export options + - Preview in a separate window +- **Writing** + - Spell check + - Word count + - Structure view + - Pomodoro + - Text completion by LLM +- **Collaboration** + - Chat-like comments + - Change tracking + - Version history + - Git integration +- **Project management** + - Drag-and-drop for projects + - Thumbnails for projects + - Template generation by LLM + - LaTeX, Word, Markdown import +- **Settings** + - Keyboard shortcuts configuration + - Better project settings + - System Theme setting + - Avatar Cropping +- **Other** + - Offline PWA + - Single sign-on + - Two-Factor Authentication + - Advanced search in projects + - Private packages in teams + - On-Premise deployment + - Mobile improvements