Element builder is a mechanism to handling the building process of
element.
Each builder focuses on only 1 element type.
Each builder specifies prerequisites element types so that while
building the Pure graph, we can order the builders appropriately.
Each builder has 5 passes. NOTE: not all elements require 5-pass
building process. But this should give enough flexibility on how
elements can be processed.
NOTE: we aim to have the first pass to be relatively simple: just build
the basic element, index it and put it in the element tree based on its
path. Since this common task is required by many other builder processes,
the first pass will be run first and separately from other passes.
Also note that as of right now we will run build pass 2-5 of each element
consecutively so there is no opportunity to interleave build passes of
different elements. That definitely seems more flexible, but also incur
a fair amount of complexity we don't see the need for right now.
Element builder is a mechanism to handling the building process of element.
NOTE: we aim to have the first pass to be relatively simple: just build the basic element, index it and put it in the element tree based on its path. Since this common task is required by many other builder processes, the first pass will be run first and separately from other passes.
Also note that as of right now we will run build pass 2-5 of each element consecutively so there is no opportunity to
interleave
build passes of different elements. That definitely seems more flexible, but also incur a fair amount of complexity we don't see the need for right now.