Incremental/parallel tree construction#247
Conversation
94d2787 to
5217f4f
Compare
bc01085 to
4a81662
Compare
|
Looks like there's an issue with width computation and psuedoelements: With a 2-deep nested flex layout, with widths determined by the content sizes, adding a pseudo-element on hover breaks Example test file: align-bug.html Behavior with incremental enabled: https://github.com/user-attachments/assets/3fb691a8-dc37-40a1-bfa3-2908d58af767 |
4a81662 to
0e9b0c8
Compare
6e0083b to
d995e2a
Compare
|
@Aeledfyr That is really bizarre behaviour. Thanks for the reproduction! I think I've managed to track down the issue. This is a bit technical, but what was happening was that the "measure content width" stages of subsequent layout runs were "clobbering" the layout in order to measure the text (but were unable to correctly compute alignment as they didn't yet have the width to align to available at that stage). Normally the later "final layout" stage would overwrite that, but in this case that stage was hitting the cache and not running at all. The fix I've pushed is a bit of hack which runs the "measure content width" stage on a clone of the layout. I would have expected this to be slow, but in practice it doesn't seem to make much difference. So I've put it in for now, and we can clean it up later. |
582f6d4 to
09c4c67
Compare
Signed-off-by: Nico Burns <[email protected]>
Signed-off-by: Nico Burns <[email protected]>
Signed-off-by: Nico Burns <[email protected]>
Signed-off-by: Nico Burns <[email protected]>
Signed-off-by: Nico Burns <[email protected]>
Signed-off-by: Nico Burns <[email protected]>
Signed-off-by: Nico Burns <[email protected]>
Signed-off-by: Nico Burns <[email protected]>
Signed-off-by: Nico Burns <[email protected]>
Signed-off-by: Nico Burns <[email protected]>
Signed-off-by: Nico Burns <[email protected]>
Signed-off-by: Nico Burns <[email protected]>
Signed-off-by: Nico Burns <[email protected]>
in those nodes' layout_children.
Signed-off-by: Nico Burns <[email protected]>
due to not differentiating between the min-content and max-content sizes of inline boxes without the layout.
Signed-off-by: Nico Burns <[email protected]>
09c4c67 to
257c221
Compare
Objective
Greatly improve performance by:
Todo
Parley
parley::Layoutwhen reconstructing (usebuild_into)Bugs
Optimisations
Optimise style diffing (ptr comparisons)moved to issueLimit damage to formatting context where appropriatemoved to issueMake use of REPAINT damage (don't repaint if no damage)moved to issue