retrofit IterExplorer
IterExplorer is a template and framework, which can be configured with various strategy templates
to perform different kinds of demand-driven evaluations. It was drafted 2012 during an initial attempt to get
the complexity involved in planning frame evaluation jobs under control. The root cause for breeding such
excessive complexity was determined to be the intermingling of otherwise unrelated topics and domains,
especially the timing constraints of job planning, the dependency structure of the actual computations
to be performed, and the flexible playback modes required while working on a film edit.
In its current form (2017), the solution for IterExplorer is not really convincing, yet it does serve
the job to create some kind of basic separation line, which allows to formulate the further technical
details into various separated clusters of dependent computations. The hope is, we'll encounter
similar computations again over time -- and when learning from past solutions, we might be able
to come up with increasingly better design solutions for dealing with this kind of complexity.
We should reap such possible improvements, and try to retrofit the IterExplorer
The original design inspired by the Monads from functional programming turned out to be hard to understand and impossible to adapt and evolve. In a second design attempt, the same ideas and were arranged around the Pipeline and Decorator patterns — and turned out as more viable, also leading to clearer code at usage site. Code built on top of the first design has now be recast to use the pipeline approach as well.
TreeExplorer, now takes the grippy nameIterExplorer