The rendering Rect
This is the optimization technique: since we are using Rectangle class for internal calculations, and Unity uses Rects to render components,
To avoid constant conversions from Rectangle to Rect, we are converting only when needed (when coordinates or size change)
We update this variable on change

C# | Visual Basic | Visual C++ |
public Rect RenderingRect { get; internal set; }
Public Property RenderingRect As Rect Get Friend Set
public: property Rect RenderingRect { Rect get (); internal: void set (Rect value); }