Whether to place first child at the start of the container or the last child at the end of the container, when the scrollable has not been scrolled and has no initial scroll offset.
For example, if the scrollDirection is Axis.vertical and there are enough items to overflow the container, then ViewportAnchor.start means that the top of the first item should be aligned with the top of the scrollable with the last item below the bottom, and ViewportAnchor.end means the bottom of the last item should be aligned with the bottom of the scrollable, with the first item above the top.
This also affects whether, when an item is added or removed, the displacement will be towards the first item or the last item. Continuing the earlier example, if a new item is inserted in the middle of the list, in the ViewportAnchor.start case the items after it (with greater indices, down to the item with the highest index) will be pushed down, while in the ViewportAnchor.end case the items before it (with lower indices, up to the item with the index 0) will be pushed up.
Subclasses may ignore this value if, for instance, they do not have a concept of an anchor, or have more complicated behavior (e.g. they would by default put the middle item in the middle of the container).