We need to rethink the algorithm here. Best is probably:
Scan do deepest part of DataFrame Tree
Climb back up tree, checking at each node, if sub processors can process something
When get to a place there is a phase change, create an ast that is async rendering, and in different possible formats.
That should make the individual ones have much less work to do to scan. Instead, most of the work is moved to the hl algorithm.
It should also make testing much easier.
Definately still have each sub-processor do as much of a tree of operations as possible!
And the awkeward processor - have it more flat - so you can test each operation individually, and then not worry about anything else. Should make testing much easier, Ben style.
We need to rethink the algorithm here. Best is probably:
That should make the individual ones have much less work to do to scan. Instead, most of the work is moved to the hl algorithm. It should also make testing much easier.
Definately still have each sub-processor do as much of a tree of operations as possible!
And the awkeward processor - have it more flat - so you can test each operation individually, and then not worry about anything else. Should make testing much easier, Ben style.