Much activity in Tinderbox, whether internal to the app or as the result of user interaction, involves reading data from attributes or writing data to them. Most often, this involves attributes in the note currently selected (visibly or with focus during automation).
However, sometimes it is necessary to interact with an attribute of another, different note. In aTbRef this is referred to as 'offset' addressing, i.e. the target is set elsewhere than current focus. Why might an offset be needed? Some examples are:
- addressing notes in the outline hierarchy, e.g. a notes parent, child or sibling. In many cases these use designators. So:
$Color = $Color(parent);
- addressing notes at a given path, e.g. when looping though a list of stored paths in automation. So:
$Color = $Color(/path/to/some/note);
- addressing the location of a stored value being used as a global constant, as in the pattern of using a single note to store values needed during automation. So:
$Color = $Color("Config-note");
Regardless the terms 'offset addressing', offset referencing' and 'attribute referencing' all mean the same thing, i.e. addressing—or read or write—the attribute is a non-current note.