Laurenz
1003d320d4
Rename expand to fixed and switch to bools
2021-05-17 15:00:29 +02:00
Laurenz
76fc4cca62
Refactor alignments & directions 📐
...
- Adds lang function
- Refactors execution context
- Adds StackChild and ParChild enums
2021-03-25 21:32:33 +01:00
Laurenz
898728f260
Square, circle and ellipse 🔵
2021-03-20 20:19:30 +01:00
Laurenz
264a7dedd4
Scheduled maintenance 🔨
...
- 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-19 17:57:31 +01:00
Laurenz
584a43277d
Rename ChildAlign to LayoutAligns ✏
2021-03-12 14:12:30 +01:00
Laurenz
c1b1dbcc09
Better expansion behaviour 🐪
...
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-03-11 10:48:29 +01:00
Laurenz
b2b8d37ce0
Rename run to line and add some explanatory comments ✏
...
The name run was a relict of the time where a line consisted of a set of runs with same alignment. While these runs still exist conceptually, they are all stored flatly together in what was now renamed from `run` to `line`.
2021-03-09 17:25:25 +01:00
Laurenz
06ca740d01
Split evaluation and execution 🔪
2021-02-09 19:46:57 +01:00
Martin Haug
a6cae89b47
Generalize child of NodeBackground 🍼
2021-02-06 12:54:44 +01:00
Martin Haug
80e076814d
Merge rect
and box
🦚
2021-02-06 12:30:44 +01:00
Martin Haug
8469bad748
Add rectangle function 🎛
2021-02-04 21:30:18 +01:00
Laurenz
d763f0f5a6
Split state and scopes, less ref-counting 🔀
2021-01-15 16:53:02 +01:00
Laurenz
272a4c2289
Unbounded pages 🌌
2021-01-13 23:19:44 +01:00
Laurenz
1b53e27f27
Some minor improvements ♻
2021-01-13 21:33:22 +01:00
Laurenz
aae67bd572
Move and rename many things 🚛
2021-01-03 00:12:09 +01:00
Laurenz
21857064db
Export alpha channel into PDF 🧊
2020-11-28 00:04:40 +01:00
Laurenz
475ca7a62e
Basic environment and resource loader 🏞
2020-11-27 22:35:42 +01:00
Laurenz
bc997b7c33
Export images in PDF 🖼
2020-11-27 20:01:54 +01:00
Laurenz
11e44516fa
Merge some modules 🥞
2020-11-25 16:56:29 +01:00
Laurenz
761931405c
Use newly stabilized intra doc links ↩
2020-11-24 16:12:41 +01:00
Laurenz
f105663037
Basic image support 🖼
...
- [image] function
- Image rendering in tests
- Supports JPEG and PNG
- No PDF export so far
2020-11-20 16:36:22 +01:00
Laurenz
91e5120693
BoxAlign and Flow aliases ✏
2020-10-13 13:51:58 +02:00
Laurenz
1a70cb6a33
Naming and grammar ✔
2020-10-12 18:01:22 +02:00
Laurenz
5243878d81
Less vecs in layouting ⚡
2020-10-12 17:29:01 +02:00
Laurenz
38157b0e0c
Synchronous layout 🪀
2020-10-12 17:10:01 +02:00
Laurenz
d3bc4ec073
Refactor layouting base 🪁
2020-10-11 22:38:30 +02:00
Laurenz
f04ad0ffa5
Rename LayoutItem to Layouted ✏
2020-10-11 13:08:27 +02:00
Laurenz
92c01da360
Switch back to custom geometry types, unified with layout primitives 🏞
2020-10-10 22:19:36 +02:00
Laurenz
d2e220245d
Move deco, pass and feedback into diagnostics module ↩
2020-10-07 18:24:47 +02:00
Laurenz
537545e7f8
Evaluation and node-based layouting 🚀
2020-10-07 17:07:44 +02:00
Laurenz
985fe28166
Fix bug in line layouter ✔
2020-10-06 14:44:58 +02:00
Laurenz
c6a6870978
Rename secondary/primary to main/cross ✏
2020-10-06 13:13:18 +02:00
Laurenz
5a7a32a9ba
Streamline generic layouting primitives 🛫
2020-10-05 16:44:35 +02:00
Laurenz
fa3e2920c0
Remove @ syntax in diagnostics macros 🗑
2020-10-05 15:45:45 +02:00
Laurenz
d1c07260c0
Move align out of BoxLayout 🍫
2020-10-05 13:39:33 +02:00
Laurenz
335fa2d118
Small improvements 🍪
2020-10-04 23:31:35 +02:00
Laurenz
c1dd872b34
Remove unncessary wrappers and typedefs 🛑
2020-10-04 19:57:39 +02:00
Laurenz
0f7c70fd93
Separate state and constraints 🧶
2020-10-04 19:06:20 +02:00
Laurenz
6672f8f7df
Remove Typesetter in favor of typeset function 🎯
2020-10-04 18:18:55 +02:00
Laurenz
262a8fa36a
Refactor and move shaping out of the layout module ⛳
2020-10-04 18:01:56 +02:00
Laurenz
0fc25d732d
Port to kurbo 🎋
2020-10-03 13:23:59 +02:00
Laurenz
730715c064
Rename text layouting to shaping ✏
2020-10-03 11:09:32 +02:00
Laurenz
f8770d2b2a
Generalize layouting primitives 🛤
2020-10-01 15:35:09 +02:00
Laurenz
e676ab53dd
Rename compute to eval ✏
2020-10-01 15:13:04 +02:00
Laurenz
7c12f0c07f
Flatten compute module
2020-10-01 15:10:35 +02:00
Laurenz
7fcad452b8
Reorganize ast types 🏕
2020-10-01 15:03:37 +02:00
Laurenz
bc1b4216a8
Reorganize syntax types into two modules 📦
2020-09-30 12:45:33 +02:00
Laurenz
181f756a9e
Format everything with rustfmt! 💚
2020-08-30 22:18:55 +02:00
Laurenz
77dac270a8
Make compute functions possible 💻
...
Ships with the amazing new `rgb` function!
2020-08-19 20:49:01 +02:00
Laurenz
30f16bbf64
Add Value type and replace dyn-nodes with call-exprs 🏗
...
- In addition to syntax trees there are now `Value`s, which syntax trees can be evaluated into (e.g. the tree is `5+5` and the value is `10`)
- Parsing is completely pure, function calls are not parsed into nodes, but into simple call expressions, which are resolved later
- Functions aren't dynamic nodes anymore, but simply functions which receive their arguments as a table and the layouting context
- Functions may return any `Value`
- Layouting is powered by functions which return the new `Commands` value, which informs the layouting engine what to do
- When a function returns a non-`Commands` value, the layouter simply dumps the value into the document in monospace
2020-08-16 22:39:21 +02:00