There are a number of events that currently trigger a full invalidation & subsequent rebuild of the document's layout tree.
Some examples:
Instead of rebuilding the whole dang layout tree, we should figure out how to rebuild only the affected part of the tree.
Here's an example that toggles the CSS display
of an element on a 300ms interval timer:
<div id="foo">foo</div>
<div id="bar">bar</div>
<script>
window.setInterval(function() {
bar.style.display = bar.style.display == "none" ? "block" : "none";
}, 300);
</script>
What currently happens:
display
property triggers a full layout tree invalidation.What should happen:
display
property causes us to mark the parent as "needs layout tree rebuild" (or some other ancestor, I'm not sure if it's okay to always just restart from the parent. Automatic table fixup might have issues here)There's a lot more nuance to this of course, but that's the general idea: dirty bits and partial rebuilds.
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too