| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-05-27 | Switch to N64 type alias | Laurenz | |
| 2021-05-26 | Add hash impls for all nodes | Martin Haug | |
| This prepares the incremental PR. Co-Authored-By: Laurenz <laurmaedje@gmail.com> | |||
| 2021-05-21 | Rename areas to regions | Laurenz | |
| 2021-05-17 | Tidy up layouting code | Laurenz | |
| 2021-05-17 | Move aspect ratio into stack | Laurenz | |
| 2021-05-17 | Rename expand to fixed and switch to bools | Laurenz | |
| 2021-04-03 | Fix multi-page paragraph bugs 🐞 | Laurenz | |
| 2021-04-03 | New paragraph layout 🚀 | Laurenz | |
| The previous paragraph layout algorithm had a couple of flaws: - It always produced line break opportunities between runs although on the textual level there might have been none. - It didn't handle trailing spacing correctly in some cases. - It wouldn't have been easily adaptable to Knuth-Plass style optimal line breaking because it was fundamentally structured first-fit run-by-run. The new paragraph layout algorithm fixes these flaws. It proceeds roughly in the following stages: 1. Collect all text in the paragraph. 2. Compute BiDi embedding levels. 3. Shape all runs, layout all children and store the resulting items in a reusable (possibly even cacheable) `ParLayout`. 3. Iterate over all line breaks in the concatenated text. 4. Construct lightweight `LineLayout` objects for full lines instead of runs. These mostly borrow from the `ParLayout` and only reshape the first and last run if necessary. The design allows to use Harfbuzz's UNSAFE_TO_BREAK mechanism to make reshaping more efficient. The size of a `LineLayout` can be measured without building the line's frame. 5. Build only the selected line's frames and stack them. | |||
| 2021-03-30 | Baseline alignment ⏏ | Laurenz | |
| 2021-03-25 | Refactor alignments & directions 📐 | Laurenz | |
| - Adds lang function - Refactors execution context - Adds StackChild and ParChild enums | |||
| 2021-03-20 | Square, circle and ellipse 🔵 | Laurenz | |
| 2021-03-19 | Scheduled maintenance 🔨 | Laurenz | |
| - New naming scheme - TextNode instead of NodeText - CallExpr instead of ExprCall - ... - Less glob imports - Removes Value::Args variant - Removes prelude - Renames Layouted to Fragment - Moves font into env - Moves shaping into layout - Moves frame into separate module | |||
| 2021-03-12 | Rename ChildAlign to LayoutAligns ✏ | Laurenz | |
| 2021-03-11 | Better expansion behaviour 🐪 | Laurenz | |
| This makes expansion behaviour inheritable by placing it into the area and passing it down during layouting instead of computing some approximation of what we want during execution. | |||
| 2021-01-20 | If expressions 🔀 | Laurenz | |
| 2021-01-13 | Unbounded pages 🌌 | Laurenz | |
| 2021-01-04 | Better value representations, type function 🌐 | Laurenz | |
| 2021-01-03 | Move and rename many things 🚛 | Laurenz | |
| 2020-10-13 | BoxAlign and Flow aliases ✏ | Laurenz | |
| 2020-10-13 | Rename geometric eval and apply to resolve ✏ | Laurenz | |
| 2020-10-12 | Naming and grammar ✔ | Laurenz | |
| 2020-10-12 | Less vecs in layouting ⚡ | Laurenz | |
| 2020-10-12 | Synchronous layout 🪀 | Laurenz | |
| 2020-10-11 | Evaluation benchmark 🔋 | Laurenz | |
| 2020-10-11 | Refactor stack layout again 🧣 | Laurenz | |
| 2020-10-11 | Rename LayoutItem to Layouted ✏ | Laurenz | |
| 2020-10-10 | Switch back to custom geometry types, unified with layout primitives 🏞 | Laurenz | |
| 2020-10-07 | Evaluation and node-based layouting 🚀 | Laurenz | |
| 2020-10-06 | Remove obsolete extra variable in stack layouter ❌ | Laurenz | |
| 2020-10-06 | Typesafe conversions in stack & line layouters 🍮 | Laurenz | |
| 2020-10-06 | Move multi-dir support in stack layouter 🍁 | Laurenz | |
| 2020-10-06 | Rename secondary/primary to main/cross ✏ | Laurenz | |
| 2020-10-05 | Streamline generic layouting primitives 🛫 | Laurenz | |
| 2020-10-05 | Move align out of BoxLayout 🍫 | Laurenz | |
| 2020-10-04 | Small improvements 🍪 | Laurenz | |
| 2020-10-04 | Remove unncessary wrappers and typedefs 🛑 | Laurenz | |
| 2020-10-03 | Port to kurbo 🎋 | Laurenz | |
| 2020-10-02 | Remove spans from token iterator 🧽 | Laurenz | |
| 2020-10-01 | Generalize layouting primitives 🛤 | Laurenz | |
| 2020-08-30 | Format everything with rustfmt! 💚 | Laurenz | |
| 2020-08-03 | Formatting, documentation and small improvements 🧽 | Laurenz | |
| 2020-08-02 | Refactor model into tree 🛒 | Laurenz | |
| 2020-08-02 | Layout elements and pure rust rendering 🥏 | Laurenz | |
| 2020-08-02 | Move binary into separate crate and tidy dependencies 🎭 | Laurenz | |
| 2020-08-02 | Refactor argument parsing 🔬 | Laurenz | |
| 2020-08-01 | Raw lengths 🚲 | Laurenz | |
| Replace unitless length with raw f64 and introduce length type with unit. | |||
| 2020-07-29 | Move, rename and switch some things (boring) 🚚 | Laurenz | |
| - Problems -> Diagnostics - Position -> Pos - offset_spans -> Offset trait - Size -> Length (and some more size types renamed) - Paper into its own module - scope::Parser -> parsing::CallParser - Create `Decorations` alias - Remove lots of double newlines - Switch from f32 to f64 | |||
| 2020-02-03 | Better Debug/Display and Derives 🧽 | Laurenz | |
| 2020-01-26 | Document everything 📜 | Laurenz | |
| 2020-01-19 | Move to non-fatal errors 🪂 [WIP] | Laurenz | |
| - Dynamic models instead of SyntaxTrees - No more ParseResult/LayoutResult - Errors and Decorations which are propagated to parent contexts - Models are finally clonable | |||
