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
Laurenz
2467cd6272
Refactor function parsing ♻
2020-08-04 13:48:07 +02:00
Laurenz
ed4fdcb0ad
Par nodes 🧳
2020-08-04 11:46:04 +02:00
Laurenz
dbfb3d2ced
Formatting, documentation and small improvements 🧽
2020-08-03 16:04:55 +02:00
Laurenz
266d457292
Refactor model into tree 🛒
2020-08-02 22:05:49 +02:00
Laurenz
cbbc46215f
Layout elements and pure rust rendering 🥏
2020-08-02 21:17:42 +02:00
Laurenz
d5ff97f42e
Move binary into separate crate and tidy dependencies 🎭
2020-08-02 16:56:14 +02:00
Laurenz
533374db14
Refactor argument parsing 🔬
2020-08-02 16:31:34 +02:00
Laurenz
659248d52f
Raw lengths 🚲
...
Replace unitless length with raw f64 and introduce length type with unit.
2020-08-01 19:15:55 +02:00
Laurenz
06dbac6efd
Port font handling to fontdock and ttf-parser 🛳
...
- Use fontdock for indexing fonts and querying
- Typst binary now automatically indexes and uses system fonts in addition to a fixed font folder!
- Removes subsetting support for now (was half-finished anyways, plan is to use harfbuzz for subsetting in the future)
- Adds font width configuration support
2020-08-01 00:10:54 +02:00
Laurenz
bbcdeb128c
Move, rename and switch some things (boring) 🚚
...
- 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-07-29 18:09:51 +02:00
Laurenz
751812f451
Serialize layouts with serde 🔠
2020-02-04 21:36:29 +01:00
Laurenz
e63ce52ae0
Merge `Parsed` and `Layouted` types into `Pass` with `Feedback` 🌝 🎢 🌚
2020-02-04 19:22:23 +01:00
Laurenz
3150fd5643
Better Debug/Display and Derives 🧽
2020-02-03 12:22:02 +01:00
Laurenz
20fb4e7c37
Document everything 📜
2020-01-26 15:51:13 +01:00
Laurenz
0a087cd28b
Reorganize modules 🧱
2020-01-24 16:23:57 +01:00
Laurenz
03fddaf3ae
Non-fatal argument parsing 🌋
2020-01-24 12:44:04 +01:00
Laurenz
78da2bdd5d
Decoupled function parser 🔗 [WIP]
2020-01-21 17:09:31 +01:00
Laurenz
95e6b078fe
Move to non-fatal errors 🪂 [WIP]
...
- Dynamic models instead of SyntaxTrees
- No more ParseResult/LayoutResult
- Errors and Decorations which are propagated to parent contexts
- Models are finally clonable
2020-01-19 21:53:24 +01:00
Laurenz
a93b1ab003
Formatting 🛀
2020-01-06 12:50:20 +01:00
Laurenz
7b84f3b553
Adopt new font loading engine ⚙
2020-01-04 22:43:26 +01:00
Laurenz
269f069a4d
Simple line layouter 🧾
2019-12-30 22:28:56 +01:00
Laurenz
3677e4a97d
Fix padding-top bug 🏗
2019-12-15 00:30:00 +01:00
Laurenz
665b4d2aca
More consistent library code and functions 🎄
2019-12-13 23:59:01 +01:00
Laurenz
f549914ff8
Refine and rename layouting types 🛀
2019-12-12 23:33:26 +01:00
Laurenz
ff107cf3e7
Tidying up 🧹
2019-12-12 22:19:38 +01:00
Laurenz
a791ef1628
Pretty good stack layouter ✈
2019-12-11 22:06:54 +01:00
Laurenz
d34707a6ae
Not too shabby stack layouter 🚆
2019-12-11 17:34:25 +01:00
Laurenz
92586d3e68
Progressing stack layouter 🚊
2019-12-10 11:37:12 +01:00
Laurenz
7e98022435
Bad stack layouter 🚑
2019-12-09 13:29:04 +01:00
Laurenz
64f938b449
Improve testers ♻
2019-12-08 11:36:18 +01:00
Laurenz
f5b104d0da
Rename crate `typst` -> `typstc` ✏
2019-12-05 20:29:55 +01:00
Laurenz
72a9631b03
Move arg parser into `FuncArgs` and create (incomplete) consistent map 🧭
2019-12-05 19:48:37 +01:00
Laurenz
f72b1505be
Unify error types ♾
2019-12-04 20:20:02 +01:00
Laurenz
9fb31defd0
Expand functionality of function! macro 🛰
2019-12-04 19:35:28 +01:00
Laurenz
ace57c3420
First half of stack update 🌓
2019-12-01 19:18:38 +01:00
Laurenz
5782b82770
Refactor layouting base ♻
2019-11-30 18:54:46 +01:00
Laurenz
b13ed627ff
Better error reporting 🚨
2019-11-30 14:10:35 +01:00
Laurenz
6ff60bc368
Fix secondary non-origin alignment 🚧
2019-11-22 20:15:00 +01:00
Laurenz
4ab7ec6a9a
Specify both axis with align function ➕
2019-11-22 15:54:39 +01:00
Laurenz
ebff8eb038
Fix spacing bugs 🚧
2019-11-21 17:50:51 +01:00
Laurenz
f24e9b44e0
Refined expansion model 🔛
2019-11-20 17:31:52 +01:00
Laurenz
f8233a4cb1
Refactor stack layouter to layout eagerly 🛫
2019-11-18 19:36:50 +01:00
Laurenz
1a6fb48bc5
Page style modification functions 📜
...
- `page.size`
- `page.margins`
2019-11-18 15:10:11 +01:00
Laurenz
14259c7d09
Fix alignment bugs ✔
2019-11-17 20:57:50 +01:00
Laurenz
f6cb4d725e
Update standard library functions 🎁
2019-11-17 15:16:37 +01:00
Laurenz
4d0bdc4ca4
Axes updating for flex layouter 📐
2019-11-17 14:51:31 +01:00
Laurenz
467d7203ee
Remove top-level stack layouter from tree layouter 🗑
2019-11-17 11:53:59 +01:00
Laurenz
ac4d501945
Move generalization/specialization methods 🚚
2019-11-16 11:10:53 +01:00
Laurenz
261ef9e33a
Generalize tree layouter 🌲
2019-11-16 10:37:30 +01:00
Laurenz
9473ae61e9
Generalize stack layouter 🎲
2019-11-15 13:05:25 +01:00
Laurenz
cff325b520
Add spacing functions 🔛
2019-10-22 21:40:37 +02:00
Laurenz
991e879e1d
Extend stack layouts from vertical to horizontal flows ➡
2019-10-17 19:21:47 +02:00
Laurenz
e87a34a4d0
Rearrange layouting contexts ♻
2019-10-16 22:32:40 +02:00
Laurenz
58693486f9
Allow center alignment 📐
2019-10-16 21:58:22 +02:00
Laurenz
f2f05e07b0
Implement space extension (multipage) ➕
2019-10-16 21:31:14 +02:00
Laurenz
a3c667895e
Refactor the main layouter ♻
2019-10-15 18:15:36 +02:00
Laurenz
c768b8b61f
Refactor stack and flex layouter ♻
2019-10-14 21:04:12 +02:00
Laurenz
5e41672a91
Refactor and refine PDF exporter ♻
2019-10-14 18:07:18 +02:00
Laurenz
7c0899b537
Run rustfmt 🚿
2019-10-13 13:10:21 +02:00