diff --git a/core/variant_call.cpp b/core/variant_call.cpp
index 404468a7b4f..f1b2a1547d2 100644
--- a/core/variant_call.cpp
+++ b/core/variant_call.cpp
@@ -1296,10 +1296,16 @@ Variant Variant::construct(const Variant::Type p_type, const Variant **p_args, i
// math types
case VECTOR2:
return Vector2();
+ case VECTOR2I:
+ return Vector2i();
case RECT2:
return Rect2();
+ case RECT2I:
+ return Rect2i();
case VECTOR3:
return Vector3();
+ case VECTOR3I:
+ return Vector3i();
case TRANSFORM2D:
return Transform2D();
case PLANE:
diff --git a/doc/classes/Rect2i.xml b/doc/classes/Rect2i.xml
index 2e8be384c13..f3a7ba04766 100644
--- a/doc/classes/Rect2i.xml
+++ b/doc/classes/Rect2i.xml
@@ -46,7 +46,129 @@
Constructs a new [Rect2i] from [Rect2]. The floating point coordinates will be truncated.
+
+
+
+
+ Returns a [Rect2i] with equivalent position and area, modified so that the top-left corner is the origin and [code]width[/code] and [code]height[/code] are positive.
+
+
+
+
+
+
+
+
+ Returns the intersection of this [Rect2i] and b.
+
+
+
+
+
+
+
+
+ Returns [code]true[/code] if this [Rect2i] completely encloses another one.
+
+
+
+
+
+
+
+
+ Returns this [Rect2i] expanded to include a given point.
+
+
+
+
+
+
+ Returns the area of the [Rect2i].
+
+
+
+
+
+
+
+
+ Returns a copy of the [Rect2i] grown a given amount of units towards all the sides.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a copy of the [Rect2i] grown a given amount of units towards each direction individually.
+
+
+
+
+
+
+
+
+
+
+ Returns a copy of the [Rect2i] grown a given amount of units towards the [enum Margin] direction.
+
+
+
+
+
+
+ Returns [code]true[/code] if the [Rect2i] is flat or empty.
+
+
+
+
+
+
+
+
+ Returns [code]true[/code] if the [Rect2i] contains a point.
+
+
+
+
+
+
+
+
+ Returns [code]true[/code] if the [Rect2i] overlaps with [code]b[/code] (i.e. they have at least one point in common).
+ If [code]include_borders[/code] is [code]true[/code], they will also be considered overlapping if their borders touch, even without intersection.
+
+
+
+
+
+
+
+
+ Returns a larger [Rect2i] that contains this [Rect2i] and [code]b[/code].
+
+
+
+
+ Ending corner.
+
+
+ Position (starting corner).
+
+
+ Size from position to end.
+
+
diff --git a/doc/classes/Vector2i.xml b/doc/classes/Vector2i.xml
index a516eb01dd3..71c7aaa4e5c 100644
--- a/doc/classes/Vector2i.xml
+++ b/doc/classes/Vector2i.xml
@@ -31,7 +31,36 @@
Constructs a new [Vector2i] from [Vector2]. The floating point coordinates will be truncated.
+
+
+
+
+ Returns a new vector with all components in absolute values (i.e. positive).
+
+
+
+
+
+
+ Returns the ratio of [member x] to [member y].
+
+
+
+
+
+
+ Returns the vector with each component set to one or negative one, depending on the signs of the components.
+
+
+
+
+ The vector's X component. Also accessible by using the index position [code][0][/code].
+
+
+ The vector's Y component. Also accessible by using the index position [code][1][/code].
+
+
Enumerated value for the X axis.
diff --git a/doc/classes/Vector3i.xml b/doc/classes/Vector3i.xml
index 4f5a658b895..c5aa3d03472 100644
--- a/doc/classes/Vector3i.xml
+++ b/doc/classes/Vector3i.xml
@@ -33,7 +33,39 @@
Constructs a new [Vector3i] from [Vector3]. The floating point coordinates will be truncated.
+
+
+
+
+ Returns the axis of the vector's largest value. See [code]AXIS_*[/code] constants.
+
+
+
+
+
+
+ Returns the axis of the vector's smallest value. See [code]AXIS_*[/code] constants.
+
+
+
+
+
+
+ Returns the vector with each component set to one or negative one, depending on the signs of the components.
+
+
+
+
+ The vector's X component. Also accessible by using the index position [code][0][/code].
+
+
+ The vector's Y component. Also accessible by using the index position [code][1][/code].
+
+
+ The vector's Z component. Also accessible by using the index position [code][2][/code].
+
+
Enumerated value for the X axis.