diff options
| author | +merlan #flirora <uruwi@protonmail.com> | 2024-11-29 04:20:35 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-29 09:20:35 +0000 |
| commit | 9ce40cb91fd5c6d088c30cc99c3e41e618e6c6fc (patch) | |
| tree | 83810e01c6b75cd043e722206bc31259fc58a0be /docs/dev/architecture.md | |
| parent | 89d96c623dc882fcdbff02e201bcfb27e6bbfd2a (diff) | |
architecture.md: Update crate list (#5487)
Diffstat (limited to 'docs/dev/architecture.md')
| -rw-r--r-- | docs/dev/architecture.md | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/docs/dev/architecture.md b/docs/dev/architecture.md index d5bbba2e..bbae0679 100644 --- a/docs/dev/architecture.md +++ b/docs/dev/architecture.md @@ -11,12 +11,20 @@ Let's start with a broad overview of the directories in this repository: and library. - `crates/typst-cli`: Typst's command line interface. This is a relatively small layer on top of the compiler and the exporters. +- `crates/typst-eval`: The interpreter for the Typst language. - `crates/typst-ide`: Exposes IDE functionality. +- `crates/typst-kit`: Contains various default implementation of + functionality used in `typst-cli`. +- `crates/typst-layout`: Typst's layout engine. +- `crates/typst-library`: Typst's standard library. - `crates/typst-macros`: Procedural macros for the compiler. - `crates/typst-pdf`: The PDF exporter. +- `crates/typst-realize`: Typst's realization subsystem. - `crates/typst-render`: A renderer for Typst frames. - `crates/typst-svg`: The SVG exporter. - `crates/typst-syntax`: Home to the parser and syntax tree definition. +- `crates/typst-timing`: Performance timing for Typst. +- `crates/typst-utils`: Utilities for Typst. - `docs`: Generates the content of the official [documentation][docs] from markdown files and the inline Rust documentation. Only generates the content and structure, not the concrete @@ -30,8 +38,8 @@ The source-to-PDF compilation process of a Typst file proceeds in four phases. 1. **Parsing:** Turns a source string into a syntax tree. 2. **Evaluation:** Turns a syntax tree and its dependencies into content. -4. **Layout:** Layouts content into frames. -5. **Export:** Turns frames into an output format like PDF or a raster graphic. +3. **Layout:** Layouts content into frames. +4. **Export:** Turns frames into an output format like PDF or a raster graphic. The Typst compiler is _incremental:_ Recompiling a document that was compiled previously is much faster than compiling from scratch. Most of the hard work is |
