summaryrefslogtreecommitdiff
path: root/docs/roadmap.md
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-07-03 17:32:29 +0200
committerLaurenz <laurmaedje@gmail.com>2023-07-03 17:32:29 +0200
commit615b1eacc7fbb7c5f5d9c8e5beddd7a2bdd8c932 (patch)
treed4723500dbad241438c6714ccfebf77386fd234e /docs/roadmap.md
parent19345f76576623951d61b83dc3435628a0b48f65 (diff)
Move roadmap into this repository
Diffstat (limited to 'docs/roadmap.md')
-rw-r--r--docs/roadmap.md145
1 files changed, 145 insertions, 0 deletions
diff --git a/docs/roadmap.md b/docs/roadmap.md
new file mode 100644
index 00000000..ac28f01e
--- /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