-
Notifications
You must be signed in to change notification settings - Fork 49k
Closed
Description
This is spill-over from #7707 that I don't plan on doing in the initial batch.
- Fix text node merging edge case... Search forward to find the next sibling, swap out the end of the text node to the sum of the previous value of the siblings. This trick lets us avoid back-references.
- Have tag include children updated so that you can recalculate all children if needed. E.g. coroutines. Alternatively, pass the nearest host or coroutine down the tree so that it can be quickly flagged as child changed and insert/moves can be avoided to be added to the side-effect list for coroutines. The second option is probably better.
- Possibly use two side-effect lists so that two passes are not needed and forward order is possible.
- Remove the notion of
output
? Unnecessary extra traversal and requires duck typing to know which is terminal. - Reconsider if we need backpointers. There are several optimizations that are possible with them but uses more memory.