From ebe919220d8b8f2966c15d73df82f20f38f4f9d5 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Fri, 10 Feb 2023 10:58:19 +0100 Subject: [PATCH] Fix flow bugs --- library/src/layout/flow.rs | 129 +++++++++++++++---------------- library/src/layout/mod.rs | 26 ++++++- library/src/layout/par.rs | 31 +++++++- src/doc.rs | 1 + tests/ref/bugs/columns-1.png | Bin 0 -> 1322 bytes tests/ref/bugs/flow-1.png | Bin 0 -> 9726 bytes tests/ref/bugs/flow-2.png | Bin 0 -> 5600 bytes tests/ref/bugs/flow-3.png | Bin 0 -> 1600 bytes tests/ref/layout/grid-3.png | Bin 44418 -> 44308 bytes tests/ref/layout/grid-5.png | Bin 3699 -> 3673 bytes tests/typ/bugs/columns-1.typ | 12 +++ tests/typ/bugs/flow-1.typ | 11 +++ tests/typ/bugs/flow-2.typ | 10 +++ tests/typ/bugs/flow-3.typ | 12 +++ tests/typ/layout/flow-orphan.typ | 2 +- tests/typ/layout/grid-5.typ | 1 + 16 files changed, 161 insertions(+), 74 deletions(-) create mode 100644 tests/ref/bugs/columns-1.png create mode 100644 tests/ref/bugs/flow-1.png create mode 100644 tests/ref/bugs/flow-2.png create mode 100644 tests/ref/bugs/flow-3.png create mode 100644 tests/typ/bugs/columns-1.typ create mode 100644 tests/typ/bugs/flow-1.typ create mode 100644 tests/typ/bugs/flow-2.typ create mode 100644 tests/typ/bugs/flow-3.typ diff --git a/library/src/layout/flow.rs b/library/src/layout/flow.rs index 4a8bed85e..61188f9ca 100644 --- a/library/src/layout/flow.rs +++ b/library/src/layout/flow.rs @@ -9,7 +9,7 @@ use crate::prelude::*; /// the contents of boxes. #[capable(Layout)] #[derive(Hash)] -pub struct FlowNode(pub StyleVec, pub bool); +pub struct FlowNode(pub StyleVec); #[node] impl FlowNode {} @@ -21,12 +21,12 @@ impl Layout for FlowNode { styles: StyleChain, regions: Regions, ) -> SourceResult { - let mut layouter = FlowLayouter::new(regions, self.1); + let mut layouter = FlowLayouter::new(regions); for (child, map) in self.0.iter() { let styles = styles.chain(&map); if let Some(&node) = child.to::() { - layouter.layout_spacing(node.amount, styles); + layouter.layout_spacing(node, styles); } else if let Some(node) = child.to::() { let barrier = Style::Barrier(child.id()); let styles = styles.chain_one(&barrier); @@ -34,7 +34,7 @@ impl Layout for FlowNode { } else if child.has::() { layouter.layout_block(vt, child, styles)?; } else if child.is::() { - layouter.finish_region(false); + layouter.finish_region(); } else { panic!("unexpected flow child: {child:?}"); } @@ -53,8 +53,6 @@ impl Debug for FlowNode { /// Performs flow layout. struct FlowLayouter<'a> { - /// Whether this is a root page-level flow. - root: bool, /// The regions to layout children into. regions: Regions<'a>, /// Whether the flow should expand to fill the region. @@ -73,13 +71,11 @@ struct FlowLayouter<'a> { /// A prepared item in a flow layout. #[derive(Debug)] enum FlowItem { - /// Absolute spacing between other items. - Absolute(Abs), - /// Leading between paragraph lines. - Leading(Abs), + /// Spacing between other items and whether it is weak. + Absolute(Abs, bool), /// Fractional spacing between other items. Fractional(Fr), - /// A frame for a layouted block and how to align it. + /// A frame for a layouted block, how to align it, and whether it is sticky. Frame(Frame, Axes, bool), /// An absolutely placed frame. Placed(Frame), @@ -87,7 +83,7 @@ enum FlowItem { impl<'a> FlowLayouter<'a> { /// Create a new flow layouter. - fn new(mut regions: Regions<'a>, root: bool) -> Self { + fn new(mut regions: Regions<'a>) -> Self { let expand = regions.expand; let full = regions.first; @@ -95,7 +91,6 @@ impl<'a> FlowLayouter<'a> { regions.expand.y = false; Self { - root, regions, expand, full, @@ -106,11 +101,12 @@ impl<'a> FlowLayouter<'a> { } /// Layout vertical spacing. - fn layout_spacing(&mut self, spacing: Spacing, styles: StyleChain) { - self.layout_item(match spacing { - Spacing::Relative(v) => { - FlowItem::Absolute(v.resolve(styles).relative_to(self.full.y)) - } + fn layout_spacing(&mut self, node: VNode, styles: StyleChain) { + self.layout_item(match node.amount { + Spacing::Relative(v) => FlowItem::Absolute( + v.resolve(styles).relative_to(self.full.y), + node.weakness > 0, + ), Spacing::Fractional(v) => FlowItem::Fractional(v), }); } @@ -125,25 +121,42 @@ impl<'a> FlowLayouter<'a> { let aligns = styles.get(AlignNode::ALIGNS).resolve(styles); let leading = styles.get(ParNode::LEADING); let consecutive = self.last_was_par; - let fragment = par.layout( - vt, - styles, - consecutive, - self.regions.first.x, - self.regions.base, - self.regions.expand.x, - )?; + let frames = par + .layout( + vt, + styles, + consecutive, + self.regions.first.x, + self.regions.base, + self.regions.expand.x, + )? + .into_frames(); - let len = fragment.len(); - for (i, frame) in fragment.into_iter().enumerate() { + let mut sticky = self.items.len(); + for (i, item) in self.items.iter().enumerate().rev() { + match *item { + FlowItem::Absolute(_, _) => {} + FlowItem::Frame(.., true) => sticky = i, + _ => break, + } + } + + if let [first, ..] = frames.as_slice() { + if !self.regions.first.y.fits(first.height()) && !self.regions.in_last() { + let carry: Vec<_> = self.items.drain(sticky..).collect(); + self.finish_region(); + for item in carry { + self.layout_item(item); + } + } + } + + for (i, frame) in frames.into_iter().enumerate() { if i > 0 { - self.layout_item(FlowItem::Leading(leading)); + self.layout_item(FlowItem::Absolute(leading, true)); } - // Prevent widows and orphans. - let border = (i == 0 && len >= 2) || i + 2 == len; - let sticky = self.root && !frame.is_empty() && border; - self.layout_item(FlowItem::Frame(frame, aligns, sticky)); + self.layout_item(FlowItem::Frame(frame, aligns, false)); } self.last_was_par = true; @@ -186,15 +199,12 @@ impl<'a> FlowLayouter<'a> { /// Layout a finished frame. fn layout_item(&mut self, item: FlowItem) { match item { - FlowItem::Absolute(v) | FlowItem::Leading(v) => self.regions.first.y -= v, + FlowItem::Absolute(v, _) => self.regions.first.y -= v, FlowItem::Fractional(_) => {} FlowItem::Frame(ref frame, ..) => { let size = frame.size(); - if !self.regions.first.y.fits(size.y) - && !self.regions.in_last() - && self.items.iter().any(|item| !matches!(item, FlowItem::Leading(_))) - { - self.finish_region(true); + if !self.regions.first.y.fits(size.y) && !self.regions.in_last() { + self.finish_region(); } self.regions.first.y -= size.y; @@ -206,34 +216,22 @@ impl<'a> FlowLayouter<'a> { } /// Finish the frame for one region. - fn finish_region(&mut self, something_follows: bool) { - let mut end = self.items.len(); - if something_follows { - for (i, item) in self.items.iter().enumerate().rev() { - match *item { - FlowItem::Absolute(_) - | FlowItem::Leading(_) - | FlowItem::Fractional(_) => {} - FlowItem::Frame(.., true) => end = i, - _ => break, - } - } - if end == 0 { - return; - } - } - - let carry: Vec<_> = self.items.drain(end..).collect(); - - while let Some(FlowItem::Leading(_)) = self.items.last() { + fn finish_region(&mut self) { + // Trim weak spacing. + while self + .items + .last() + .map_or(false, |item| matches!(item, FlowItem::Absolute(_, true))) + { self.items.pop(); } + // Determine the used size. let mut fr = Fr::zero(); let mut used = Size::zero(); for item in &self.items { match *item { - FlowItem::Absolute(v) | FlowItem::Leading(v) => used.y += v, + FlowItem::Absolute(v, _) => used.y += v, FlowItem::Fractional(v) => fr += v, FlowItem::Frame(ref frame, ..) => { let size = frame.size(); @@ -247,6 +245,7 @@ impl<'a> FlowLayouter<'a> { // Determine the size of the flow in this region depending on whether // the region expands. let mut size = self.expand.select(self.full, used); + size.y.set_min(self.full.y); // Account for fractional spacing in the size calculation. let remaining = self.full.y - used.y; @@ -262,7 +261,7 @@ impl<'a> FlowLayouter<'a> { // Place all frames. for item in self.items.drain(..) { match item { - FlowItem::Absolute(v) | FlowItem::Leading(v) => { + FlowItem::Absolute(v, _) => { offset += v; } FlowItem::Fractional(v) => { @@ -286,21 +285,17 @@ impl<'a> FlowLayouter<'a> { self.finished.push(output); self.regions.next(); self.full = self.regions.first; - - for item in carry { - self.layout_item(item); - } } /// Finish layouting and return the resulting fragment. fn finish(mut self) -> Fragment { if self.expand.y { while !self.regions.backlog.is_empty() { - self.finish_region(false); + self.finish_region(); } } - self.finish_region(false); + self.finish_region(); Fragment::frames(self.finished) } } diff --git a/library/src/layout/mod.rs b/library/src/layout/mod.rs index 61fcfd449..7f395545b 100644 --- a/library/src/layout/mod.rs +++ b/library/src/layout/mod.rs @@ -148,7 +148,7 @@ impl Layout for Content { pub trait Inline: Layout {} /// A sequence of regions to layout into. -#[derive(Debug, Copy, Clone, Hash)] +#[derive(Copy, Clone, Hash)] pub struct Regions<'a> { /// The (remaining) size of the first region. pub first: Size, @@ -247,6 +247,26 @@ impl<'a> Regions<'a> { } } +impl Debug for Regions<'_> { + fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { + f.write_str("Regions ")?; + let mut list = f.debug_list(); + let mut prev = self.first.y; + list.entry(&self.first); + for &height in self.backlog { + list.entry(&Size::new(self.first.x, height)); + prev = height; + } + if let Some(last) = self.last { + if last != prev { + list.entry(&Size::new(self.first.x, last)); + } + list.entry(&(..)); + } + list.finish() + } +} + /// Realize into a node that is capable of root-level layout. fn realize_root<'a>( vt: &mut Vt, @@ -280,7 +300,7 @@ fn realize_block<'a>( builder.accept(content, styles)?; builder.interrupt_par()?; let (children, shared) = builder.flow.0.finish(); - Ok((FlowNode(children, false).pack(), shared)) + Ok((FlowNode(children).pack(), shared)) } /// Builds a document or a flow node from content. @@ -468,7 +488,7 @@ impl<'a, 'v, 't> Builder<'a, 'v, 't> { let (flow, shared) = mem::take(&mut self.flow).0.finish(); let styles = if shared == StyleChain::default() { styles.unwrap() } else { shared }; - let page = PageNode(FlowNode(flow, true).pack()).pack(); + let page = PageNode(FlowNode(flow).pack()).pack(); let stored = self.scratch.content.alloc(page); self.accept(stored, styles)?; } diff --git a/library/src/layout/par.rs b/library/src/layout/par.rs index a629853a6..dbf2c936d 100644 --- a/library/src/layout/par.rs +++ b/library/src/layout/par.rs @@ -1127,11 +1127,36 @@ fn finalize( } // Stack the lines into one frame per region. - lines + let mut frames: Vec = lines .iter() .map(|line| commit(vt, p, line, base, width)) - .collect::>() - .map(Fragment::frames) + .collect::>()?; + + // Prevent orphans. + let leading = p.styles.get(ParNode::LEADING); + if frames.len() >= 2 && !frames[1].is_empty() { + let second = frames.remove(1); + let first = &mut frames[0]; + merge(first, second, leading); + } + + // Prevent widows. + let len = frames.len(); + if len >= 2 && !frames[len - 2].is_empty() { + let second = frames.pop().unwrap(); + let first = frames.last_mut().unwrap(); + merge(first, second, leading); + } + + Ok(Fragment::frames(frames)) +} + +/// Merge two line frames +fn merge(first: &mut Frame, second: Frame, leading: Abs) { + let offset = first.height() + leading; + let total = offset + second.height(); + first.push_frame(Point::with_y(offset), second); + first.size_mut().y = total; } /// Commit to a line and build its frame. diff --git a/src/doc.rs b/src/doc.rs index d399162f4..988520c5e 100644 --- a/src/doc.rs +++ b/src/doc.rs @@ -347,6 +347,7 @@ impl Frame { impl Debug for Frame { fn fmt(&self, f: &mut Formatter) -> fmt::Result { + f.write_str("Frame ")?; f.debug_list() .entries(self.elements.iter().map(|(_, element)| element)) .finish() diff --git a/tests/ref/bugs/columns-1.png b/tests/ref/bugs/columns-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ecb3d4177e8c892d5a53f0eca3d6e096b957b986 GIT binary patch literal 1322 zcmeAS@N?(olHy`uVBq!ia0y~yU}OQZ7jOUxhVwIhXE89aeDrj245_&F_ExP=XsQhR zhxhYNv$|C7Y}7M(*Ejz3*`yZV1y!J2J*7Mh0$w0$zn?W?Wowm-B~RI6^9?$6l*jz3JE zP4MuJS!VC#`a^Hxwx6E!I=d%Kc;vh2`|AstJ!?B;WO_fme)7EcV%Q$LLcwQZ)tg_O z7fzPc>vPL+Yc9VLD50c&Y;Wb}^~FA)+$*@x-m{%_*@^j~=#-j*9Xl_`CyMh`eV;K^ zREpyy_wgTAGRMo3OAP+Jyx`!m=XS)I&+ZaFktsdbRx2-T{4itfn~Y*lJG0VLd~32N zz5DQcdxy*h{XB~Zxu5pd`v16FwrPs)Yu&zFMrh}T7{!Ha?A4!fzl@Xk+j64&BcGt< ztSsl6rvWEyyyE}-`xJ55Hr-<7p_!@}VTKfvhpr0#>WR5_Ytr(3i@##786Wf3U%qu| z&P212q;rYdN^3snoi|}WSP+r#*b?&o+lJya#RLDgJ{9m|>R|e?EU!g%>C&ayM!j*@ zBKQ_^9Y|xa+$C6Z>ZRApYMu51Z2|iN+l2DhE&*OY1?Fv5I+V#Oa&j?4*^H(SJA$&d zUKLoyxJSL3;Yp_3jYl6Ve)S#E6#Y5(s=zbG#Mn#1d@f&JxJsN{$=$!Or(9&%!P;ZdVH=M+x@M{t$2PZ?^HlaiQ zTpZT#XNMTflefFn8SuJn_g&ekZpQ3uT0Uqse0livH-pIRPa>U?`=dD(WgX6b_!P!a z$egCI;``c?&NmwvGi2j_-rN!J#`vL~;x(S;Z1;>ptGTA(*W!w;=FZQ|ddd6T!|dJe zgrhIFc1ohf%0Xv~n-!{2(nhP#?GOlyf9sHWOJ+*jnN`MmEq>EaUu{X6e)_4@@5!g~ zIJ}(Gu1bElTqyhh!{-;94`!cRW7Vi=VmoP8w5>wXo{Z%ieIyAcw;z2y@3U`l_>+4pf|b&fN zmNee&nv!{8Ki{p_EKMJ#n<{3k7v?xLdE>qB?z?*I->`6&Ur$?O6Y_Ju({BI=euD#0Km$~+m{rhKe6F2wu zC{CQNR9xI#b9}{aU>MzDwXWs<&7Hn{t(EpC&x6yCy}H+Q-gQ@)mC&CRb0?9d7d oq(qOExq*!dT-xv)?wM%MaBD|8Pk^Xv3aAkDboFyt=akR{0LLO$l>h($ literal 0 HcmV?d00001 diff --git a/tests/ref/bugs/flow-1.png b/tests/ref/bugs/flow-1.png new file mode 100644 index 0000000000000000000000000000000000000000..2c5013c4750ba4d0faabcf78e4fc3c3a1bdf6751 GIT binary patch literal 9726 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 P#xCU->IxNdu#o=+e)cIp literal 0 HcmV?d00001 diff --git a/tests/ref/bugs/flow-2.png b/tests/ref/bugs/flow-2.png new file mode 100644 index 0000000000000000000000000000000000000000..7661cf8f5d279d4263f3767df2cad0f89afa08a9 GIT binary patch literal 5600 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 literal 0 HcmV?d00001 diff --git a/tests/ref/bugs/flow-3.png b/tests/ref/bugs/flow-3.png new file mode 100644 index 0000000000000000000000000000000000000000..e12d5e12a7112246d6d35a4bbf253f8c5c8c18ec GIT binary patch literal 1600 zcmZ{ldo&XY9LJ|LOQy+E9>XRfuTWVivy50C)4XNKgi1pmi)2i?@AlvhPl@+hy{J@=k-?;qWBKIePB|9!uI{Lb%t)!ES&EUhFB006*tN3C4| z013&T{u=0~02&sr^aB7uDLZQ`eC)u?P~5TO?kZBV^y7~a7|9eMF8H#^yLb_T8Ob}? z>R^hwoBB4%I^gn|J%Jisp%W^hZU+duSM_9fw*^Ouym9O!I4+SV13ucl*&0J$vH@ct zO9qpbDN%P{Pt%^yh?m>zCP(757ZZ?^+(QpijHFZ01G91QcWi+}HvA8K4#s(2 z0Eb&_PwEKtdWJZ*oBsRU0iq1Pn5@82KapI5j9+;F$Z_$~K<+vV0>GD#*;=k_7>6j3 zVPoEBTjA>jDpP^|eP3b(_NJh?67P0q=h*4;Ay;72UQUS+iqk&&$Mve|@aeFQ6I>FO zqg@5_$xlZbcaLry+p{Gt1Z_54DxR# zN2tGseTKyz`HjcOJf zQJktly-ydHKX)W(byqid%RmYZ0n*D3Q_v=@Ey#O{#{INZ;6*y>N~u*dKH;b*wQxYG z{DLO5F(P3W;v~<+*$>NmeTxLh#A3sO2gRE)Tmn5tIc3EbH?YTG)t^ejsXWIVu_qEy zX0LYKPP$Z}$2V^tDuJeWh(qCm&V(byq zqQP;qtE?FGGwunU#I)&q9=H8JL{ohh=mNQ+9FVy{HhldS7aR-%pAH2n4n0)opEn$& zzbK2pDbELscb4Be*|J|8i~G?#M}v*(ElZ+qd%Gk2^4b|>W#PnNBJ!27h_@S;cfye4 zDUochsy2YNN^T*r}^kBp= zyio!gL`D6FI~%C%%WNmN@J{GFVyt3F>k-m84+3i11Sxu>71Sv)-mK6&wz5Ig`;jap zWdBxHYPWZyGD>~Av-W{K70=2@7;;9m>!&Y@Hlt|Xv&gzdN26s$(ZW~MniqYe|9&S| zB39&2L{V5f!_z;0|D4O;GaV!Zya~x?P!7tOQe^5~)UQb%AhGRhl2t5x+P_jBevYvw z3zP%M4s;od40&O_cn}g@t@ZFnn+Lx~rFkh$iS4>8xR%|Onz?P1Y8%Kbk{g??2N(2) z`@$Pb3jNo-^cf(D!xD$x@o6MVAreyhcr4O5Cm1%qJp7u^U)x5}*AW}xN4o+4$HZ8wP+)|he1EEyePBu>;# zx-LQ$VT`&E1fkcc!Sj=_KVDtagOJ*$zFL&zAV&w@m?@LDugq)=QYbd2YOLA1O+9VM z6SEHXa?37MXhkwFNHnrEctO^_9kb4UNlQH0+-2{K$+c>wcKOitI`(|ldp36diE62@ z@VaE)fag4ut6GRq5K827dDmu_btrcxbUr^-v?sV2mf`@zXf7#K+u2Qu)WrI Y{jX`T!#G-(qWzNo1UF~jd;kCd literal 0 HcmV?d00001 diff --git a/tests/ref/layout/grid-3.png b/tests/ref/layout/grid-3.png index 1bb762928f44bf2d5a8c02b134a0d394367b2d04..d9562e9a5e7be496e617dc582eabb7955304428e 100644 GIT binary patch literal 44308 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 z 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 @P7(u$*ypiz4Ga%N_ym|c^bo?KY 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 Rn#5O6$f+Jrkv)6${{XOmHH!cM literal 44418 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 n?N^X>|9>Rncz$! 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 F{sKAPM!o<5 diff --git a/tests/typ/bugs/columns-1.typ b/tests/typ/bugs/columns-1.typ new file mode 100644 index 000000000..96a4d0e5e --- /dev/null +++ b/tests/typ/bugs/columns-1.typ @@ -0,0 +1,12 @@ +// The well-known columns bug. + +--- +#set page(height: 70pt) + +Hallo +#columns(2)[ + = A + Text + = B + Text +] diff --git a/tests/typ/bugs/flow-1.typ b/tests/typ/bugs/flow-1.typ new file mode 100644 index 000000000..425a0ce8e --- /dev/null +++ b/tests/typ/bugs/flow-1.typ @@ -0,0 +1,11 @@ +// In this bug, the first line of the second paragraph was on its page alone an +// the rest moved down. The reason was that the second block resulted in +// overlarge frames because the region wasn't finished properly. + +--- +#set page(height: 70pt) +#block[This file tests a bug where an almost empty page occurs.] +#block[ + The text in this second block was torn apart and split up for + some reason beyond my knowledge. +] diff --git a/tests/typ/bugs/flow-2.typ b/tests/typ/bugs/flow-2.typ new file mode 100644 index 000000000..5ffffd583 --- /dev/null +++ b/tests/typ/bugs/flow-2.typ @@ -0,0 +1,10 @@ +// In this bug, the first part of the paragraph moved down to the second page +// because trailing leading wasn't trimmed, resulting in an overlarge frame. + +--- +#set page(height: 60pt) +#v(19pt) +#block[ + But, soft! what light through yonder window breaks? + It is the east, and Juliet is the sun. +] diff --git a/tests/typ/bugs/flow-3.typ b/tests/typ/bugs/flow-3.typ new file mode 100644 index 000000000..71af1914c --- /dev/null +++ b/tests/typ/bugs/flow-3.typ @@ -0,0 +1,12 @@ +// In this bug, there was a bit of space below the heading because weak spacing +// directly before a layout-induced column or page break wasn't trimmed. + +--- +#set page(height: 60pt) +#rect(inset: 0pt, columns(2)[ + Text + #v(12pt) + Hi + #v(10pt, weak: true) + At column break. +]) diff --git a/tests/typ/layout/flow-orphan.typ b/tests/typ/layout/flow-orphan.typ index a51da2b22..482fd145d 100644 --- a/tests/typ/layout/flow-orphan.typ +++ b/tests/typ/layout/flow-orphan.typ @@ -1,4 +1,4 @@ -// Test that a heading doesn't become an orphan. +// Test that lines and headings doesn't become orphan. --- #set page(height: 100pt) diff --git a/tests/typ/layout/grid-5.typ b/tests/typ/layout/grid-5.typ index db7c525ab..64385f61d 100644 --- a/tests/typ/layout/grid-5.typ +++ b/tests/typ/layout/grid-5.typ @@ -22,6 +22,7 @@ #align(bottom)[ Bottom \ Bottom \ + #v(0pt) Top ] ],