Flutter differs somewhat with its process:

The parent widget passes constraints down to its children.
Constraints include minimum and maximum values for height and width.

The child tries to decide its size. It repeats the same process with its own list of children:
    
      It informs its child of the child’s constraints.
      It asks its child what size it wishes to be.

The parent lays out the child.
    
      If the requested size fits in the constraints,
the parent uses that size.
      If the requested size doesn’t fit in the constraints,
the parent limits the height, width, or both to fit in
its constraints.

Flutter differs from SwiftUI because the parent component can override
the child’s desired size. The widget cannot have any size it wants.
It also cannot know or decide its position on screen as its parent
makes that decision.