#1116 closed planned (done)

retrofit IterExplorer

Reported by: Ichthyostega Owned by:
Priority: nice Milestone: 2beta
Component: lumiera Keywords: design architecture sanity performance
Sub Tickets: #1276 Parent Tickets: #283, #964, #1114, #1115, #1119

Description (last modified by Ichthyostega)

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

Change history (6)

comment:1 by Ichthyostega, at 2017-11-17T19:41:24Z

blocking: 1115, 283, 964283, 964, 1114, 1115

comment:2 by Ichthyostega, at 2017-11-17T19:56:02Z

Description: modified (diff)

comment:3 by Ichthyostega, at 2017-12-09T04:00:18Z

blocking: 283, 964, 1114, 1115283, 964, 1114, 1115, 1119

comment:4 by Ichthyostega, at 2023-03-31T13:40:28Z

blockedby: 1276

comment:5 by Ichthyostega, at 2023-06-22T18:58:25Z

Resolution: done
Status: newclosed

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.

  • the original design and framework has been removed from the code base
  • the pipeline-based newer design, previously named TreeExplorer, now takes the grippy name IterExplorer

comment:6 by Undercover Agent, at 2025-12-25T00:00:00Z

blockedby: 1276
blocking: 283, 964, 1114, 1115, 1119
Parent Tickets: 283, 964, 1114, 1115, 1119
Sub Tickets: 1276

Migration MasterTickets ⟼ Subtickets-plugin

Note: See TracTickets for help on using tickets.