PgBiel
3ef2137619
flush orphans and pending headers at the same time (broken)
...
Goal is to ensure pending headers are flushed before a region break, else non-repeating headers will appear more than once
Must not be called while laying out headers, however, so it's broken
2025-04-30 01:49:43 -03:00
PgBiel
ab852a5151
some additional docs
2025-04-30 01:46:47 -03:00
PgBiel
71ae276071
add Deref to Repeatable
...
honestly, all the unwrapping was just generating noise.
2025-04-20 15:20:07 -03:00
PgBiel
6e21eae3eb
mark headers as short-lived during resolve
2025-04-20 13:13:20 -03:00
PgBiel
5e572a56f3
rename a few Current fields
2025-04-19 21:16:18 -03:00
PgBiel
9b5c77a3a3
move per-region state to Current
2025-04-19 20:42:41 -03:00
PgBiel
e9e37a313a
allow breaking apart consecutive subheaders on pathological cases
...
- at the end of grid
- right before footer
2025-04-17 03:00:03 -03:00
PgBiel
e0bfe90e12
restore orphan snapshot after pending header relayout
2025-04-11 14:35:50 -03:00
PgBiel
f6bc7f8d45
use exclusively snapshots for pending header orphan prevention
...
- delete current_header_rows
2025-04-11 14:16:49 -03:00
PgBiel
e4bbe471a7
set snapshot when laying out new headers
...
- Still need to detect when this doesn't make sense, e.g. in the last region, or right before a footer...
2025-04-09 14:55:41 -03:00
PgBiel
f81560af47
fix wrong region skipping
2025-04-09 14:20:11 -03:00
PgBiel
cefa7fc72c
separate layout_active_headers and new_headers
...
- Active headers will push empty regions when skipping regions, whereas new_headers may be called from a non-empty region, so we need to finish the region in full. The code separation also makes it all clearer.
2025-04-09 14:00:58 -03:00
PgBiel
fe957e804a
a dangerous missing plus
2025-04-08 19:17:53 -03:00
PgBiel
9331ae8e4b
fix measuring range
...
that was stupid.
fixes header which never fits.
2025-04-08 00:00:50 -03:00
PgBiel
3361b3714d
use different disambiguators when skipping region
2025-04-07 23:49:32 -03:00
PgBiel
f3ae293042
proper region progress check for headers
2025-04-07 21:34:22 -03:00
PgBiel
05d4af43b6
only match consecutive conflicting headers
2025-04-07 21:20:53 -03:00
PgBiel
c90ec3c4da
listen to clippy
2025-04-06 15:24:21 -03:00
PgBiel
0c6fae92f0
fix orphan prevention
...
- Include new headers at the start as part of the region's header rows
- Check if header rows are all rows
2025-04-06 14:14:16 -03:00
PgBiel
e73c561f16
fix header height and rows state calculations
...
- remove non-repeating header height on pending flush
- use lrows
- reset current region dataon orphan prevention row wipe
2025-04-06 13:37:17 -03:00
PgBiel
75403f86a9
flush pending headers as soon as possible
...
- dont wait until the end of the region, as a header can start and end in the same region (i.e. never repeat).
2025-04-06 04:00:23 -03:00
PgBiel
054b3b89d1
remove bump repeating headers
...
this has been done on pending header layout now
2025-04-06 03:45:18 -03:00
PgBiel
27557ee155
fix accidental error dropping in pending header layout
2025-04-06 03:44:09 -03:00
PgBiel
59dc458188
fix line layout with missing header bottoms
2025-04-06 03:42:30 -03:00
PgBiel
d172eccfd9
store height of each repeating header
...
So we can update in the middle of the region
2025-04-06 02:01:32 -03:00
PgBiel
ecc93297f8
initial attempt on repeating header height
...
- Faulty, as we have to update it when pushing new pending headers too
- Need to have a vector associating a height to each row...
2025-04-06 00:06:40 -03:00
PgBiel
f21dc8b7e2
a footer todo
2025-04-06 00:05:25 -03:00
PgBiel
1301b901b7
count header rows in each region
...
- Currently also includes non-repeatable header row heights, which will lead to bugs on rowspans; needs fix
2025-04-05 01:14:17 -03:00
PgBiel
e586cffa6c
finish region adjustments
...
- flush pending headers
- properly layout headers at region start
2025-04-04 22:02:09 -03:00
PgBiel
63055c8c83
use headers to layout enum on layout_headers
...
- This will allow us to tell layout_headers to just layout headers that are already repeating, plus pending headers which are waiting for layout.
2025-04-04 21:31:13 -03:00
PgBiel
af35e287af
finish layout_headers refactor
...
- Subtract footer height in it already
- Still need to fix finish region
2025-04-04 21:24:20 -03:00
PgBiel
0143d0775b
begin refactoring layout_headers
...
- May have to include ALL headers when skipping a region...
- Approach too naive
2025-04-04 21:24:20 -03:00
PgBiel
6029e6f3bb
begin placing new headers
...
Considerations:
- Need to change layout headers algorithm to
1. Place those headers
2. But in a new region, also place other repeating headers
3. Keep footer height up-to-date without much intervention
2025-04-04 21:24:20 -03:00
PgBiel
4bd3abf44d
initial multi heading progress
...
pending headers change
2025-04-04 21:23:38 -03:00
Michael Färber
5c876535cc
Move CellGrid
from typst-layout
to typst-library
( #5585 )
2025-01-06 15:20:28 +00:00
Laurenz
0228462ba1
Bump Rust to 1.83 ( #5534 )
2024-12-05 15:57:01 +00:00
Laurenz
be7cfc85d0
Split out four new crates ( #5302 )
2024-10-27 18:04:55 +00:00