Visualization Pipeline Loops
From K-3D
When property A is dependent on property B (written B -> A), reading the value of A returns the internal value of B.
This lookup process may be arbitrarily-long, e.g. reading the value of A when C -> B -> A returns the internal value of C.
If the set of dependencies are cyclic, reading the value of a property returns its internal value, e.g:
- Reading A when A -> A returns the internal value of A.
- Reading A when A -> B -> A returns the internal value of A.
- Reading A when A -> C -> B -> A returns the internal value of A.
- Reading B when A -> C -> B -> A returns the internal value of B.
- Reading C when A -> C -> B -> A returns the internal value of C.
- And-so-on ...
Note that as of this writing there is little reason to deliberately introduce a loop in the pipeline; the main reason we specify well-defined behavior for loops is to prevent crashes / infinite loops in the case where a loop is accidentally introduced by a user.