| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-10-31 | Reorganize modules | Laurenz | |
| Instead of separating functionality into layout and library, everything lives in the library now. This way, related things live side by side and there are no duplicate file names in the two directories. | |||
| 2021-10-26 | Simplify node construction | Laurenz | |
| 2021-10-26 | Fr in stack and par | Laurenz | |
| 2021-10-23 | Simplify decorations | Laurenz | |
| 2021-10-23 | Introduce page / block / inline levels | Laurenz | |
| 2021-10-10 | Rename `State` to `Style` and move it into its own module | Laurenz | |
| 2021-09-27 | Refactor line reordering from callback to iterator | Laurenz | |
| 2021-09-27 | Fix panic due to bad alignments in stack function | Laurenz | |
| 2021-09-27 | Fix paragraph constraints | Laurenz | |
| Co-Authored-By: Martin <mhaug@live.de> | |||
| 2021-09-26 | Simplify decoration handling | Laurenz | |
| 2021-09-26 | More useful `Debug` impls | Laurenz | |
| 2021-09-25 | Prevent paragraph from overflowing due to trailing linebreak | Laurenz | |
| 2021-09-10 | Reimplement `Debug` for layout nodes | Laurenz | |
| 2021-08-24 | Switch from state to decorations for underline/strikethrough/overline | Laurenz | |
| 2021-08-23 | Links! (#43) | Martin | |
| Co-authored-by: Laurenz <laurmaedje@gmail.com> | |||
| 2021-08-21 | Shorter/clearer field name for geometry types | Laurenz | |
| Size { width, height } => Size { w, h } Spec { horizontal, vertical } => Spec { x, y } Gen { cross, main } => Gen { inline, block } | |||
| 2021-08-21 | Prune derives | Laurenz | |
| 2021-08-17 | Library functions behave more imperatively | Laurenz | |
| - Templates scope state changes - State-modifying function operate in place instead of returning a template - Internal template representation contains actual owned nodes instead of a pointer to a syntax tree + an expression map - No more wide calls | |||
| 2021-08-17 | Make percentages for h and v relative to area instead of font size | Laurenz | |
| 2021-07-29 | Refactor state | Laurenz | |
| 2021-07-29 | Move EcoString and OptionExt into util | Laurenz | |
| 2021-07-25 | Merge font and par state into text state | Laurenz | |
| 2021-07-25 | Move and refactor | Laurenz | |
| 2021-07-10 | Reference-count complex values | Laurenz | |
| Rename some nodes types | |||
| 2021-07-10 | Eco string 🌱 | Laurenz | |
| 2021-07-08 | Add lots of Eq impls | Laurenz | |
| 2021-06-30 | Make clippy a bit happier | Laurenz | |
| 2021-06-29 | Put incremental compilation behind feature | Martin Haug | |
| 2021-06-27 | Code review: Reverse temperature | Martin Haug | |
| 2021-06-27 | Code review, new stack test | Martin Haug | |
| 2021-06-27 | Apply suggestions from code review | Martin | |
| Co-authored-by: Laurenz <laurmaedje@gmail.com> | |||
| 2021-06-27 | Testing for incremental | Martin Haug | |
| Also, constraint bugfixes. | |||
| 2021-06-18 | Ref count the frames | Martin | |
| 2021-06-17 | Constraints (#31) | Martin | |
| 2021-06-15 | Refactor grid row layout | Laurenz | |
| 2021-06-13 | Refactor column resolving | Laurenz | |
| 2021-06-11 | Push some nodes directly into the stack | Laurenz | |
| 2021-06-11 | Remove props in favor of using state for everything | Laurenz | |
| 2021-06-10 | Text decorations | Martin Haug | |
| 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 | Convert font units to lengths earlier | Laurenz | |
| 2021-05-17 | Tidy up layouting code | Laurenz | |
| 2021-05-17 | Rename expand to fixed and switch to bools | Laurenz | |
| 2021-04-07 | Refactor and comment ♻ | Laurenz | |
| 2021-04-05 | Reshaping with unsafe-to-break ⚡ | Laurenz | |
| Co-Authored-By: Martin <mhaug@live.de> | |||
| 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-30 | Refactor ♻ | Laurenz | |
