diff --git a/doc/classes/PhysicsServer2DExtension.xml b/doc/classes/PhysicsServer2DExtension.xml
index 8d9a1713373..815fc742d15 100644
--- a/doc/classes/PhysicsServer2DExtension.xml
+++ b/doc/classes/PhysicsServer2DExtension.xml
@@ -17,6 +17,7 @@
+ Overridable version of [method PhysicsServer2D.area_add_shape].
@@ -24,6 +25,7 @@
+ Overridable version of [method PhysicsServer2D.area_attach_canvas_instance_id].
@@ -31,41 +33,48 @@
+ Overridable version of [method PhysicsServer2D.area_attach_object_instance_id].
+ Overridable version of [method PhysicsServer2D.area_clear_shapes].
+ Overridable version of [method PhysicsServer2D.area_create].
+ Overridable version of [method PhysicsServer2D.area_get_canvas_instance_id].
+ Overridable version of [method PhysicsServer2D.area_get_collision_layer].
+ Overridable version of [method PhysicsServer2D.area_get_collision_mask].
+ Overridable version of [method PhysicsServer2D.area_get_object_instance_id].
@@ -73,6 +82,7 @@
+ Overridable version of [method PhysicsServer2D.area_get_param].
@@ -80,12 +90,14 @@
+ Overridable version of [method PhysicsServer2D.area_get_shape].
+ Overridable version of [method PhysicsServer2D.area_get_shape_count].
@@ -93,18 +105,21 @@
+ Overridable version of [method PhysicsServer2D.area_get_shape_transform].
+ Overridable version of [method PhysicsServer2D.area_get_space].
+ Overridable version of [method PhysicsServer2D.area_get_transform].
@@ -112,6 +127,7 @@
+ Overridable version of [method PhysicsServer2D.area_remove_shape].
@@ -119,6 +135,7 @@
+ Overridable version of [method PhysicsServer2D.area_set_area_monitor_callback].
@@ -126,6 +143,7 @@
+ Overridable version of [method PhysicsServer2D.area_set_collision_layer].
@@ -133,6 +151,7 @@
+ Overridable version of [method PhysicsServer2D.area_set_collision_mask].
@@ -140,6 +159,7 @@
+ Overridable version of [method PhysicsServer2D.area_set_monitor_callback].
@@ -147,6 +167,7 @@
+ Overridable version of [method PhysicsServer2D.area_set_monitorable].
@@ -155,6 +176,7 @@
+ Overridable version of [method PhysicsServer2D.area_set_param].
@@ -162,6 +184,8 @@
+ If set to [code]true[/code], allows the area with the given [RID] to detect mouse inputs when the mouse cursor is hovering on it.
+ Overridable version of [PhysicsServer2D]'s internal [code]area_set_pickable[/code] method. Corresponds to [member PhysicsBody2D.input_pickable].
@@ -170,6 +194,7 @@
+ Overridable version of [method PhysicsServer2D.area_set_shape].
@@ -178,6 +203,7 @@
+ Overridable version of [method PhysicsServer2D.area_set_shape_disabled].
@@ -186,6 +212,7 @@
+ Overridable version of [method PhysicsServer2D.area_set_shape_transform].
@@ -193,6 +220,7 @@
+ Overridable version of [method PhysicsServer2D.area_set_space].
@@ -200,6 +228,7 @@
+ Overridable version of [method PhysicsServer2D.area_set_transform].
@@ -207,6 +236,7 @@
+ Overridable version of [method PhysicsServer2D.body_add_collision_exception].
@@ -214,6 +244,7 @@
+ Overridable version of [method PhysicsServer2D.body_add_constant_central_force].
@@ -222,6 +253,7 @@
+ Overridable version of [method PhysicsServer2D.body_add_constant_force].
@@ -229,6 +261,7 @@
+ Overridable version of [method PhysicsServer2D.body_add_constant_torque].
@@ -238,6 +271,7 @@
+ Overridable version of [method PhysicsServer2D.body_add_shape].
@@ -245,6 +279,7 @@
+ Overridable version of [method PhysicsServer2D.body_apply_central_force].
@@ -252,6 +287,7 @@
+ Overridable version of [method PhysicsServer2D.body_apply_central_impulse].
@@ -260,6 +296,7 @@
+ Overridable version of [method PhysicsServer2D.body_apply_force].
@@ -268,6 +305,7 @@
+ Overridable version of [method PhysicsServer2D.body_apply_impulse].
@@ -275,6 +313,7 @@
+ Overridable version of [method PhysicsServer2D.body_apply_torque].
@@ -282,6 +321,7 @@
+ Overridable version of [method PhysicsServer2D.body_apply_torque_impulse].
@@ -289,6 +329,7 @@
+ Overridable version of [method PhysicsServer2D.body_attach_canvas_instance_id].
@@ -296,12 +337,14 @@
+ Overridable version of [method PhysicsServer2D.body_attach_object_instance_id].
+ Overridable version of [method PhysicsServer2D.body_clear_shapes].
@@ -315,89 +358,107 @@
+ Given a [param body], a [param shape], and their respective parameters, this method should return [code]true[/code] if a collision between the two would occur, with additional details passed in [param results].
+ Overridable version of [PhysicsServer2D]'s internal [code]shape_collide[/code] method. Corresponds to [method PhysicsDirectSpaceState2D.collide_shape].
+ Overridable version of [method PhysicsServer2D.body_create].
+ Overridable version of [method PhysicsServer2D.body_get_canvas_instance_id].
+ Returns the [RID]s of all bodies added as collision exceptions for the given [param body]. See also [method _body_add_collision_exception] and [method _body_remove_collision_exception].
+ Overridable version of [PhysicsServer2D]'s internal [code]body_get_collision_exceptions[/code] method. Corresponds to [method PhysicsBody2D.get_collision_exceptions].
+ Overridable version of [method PhysicsServer2D.body_get_collision_layer].
+ Overridable version of [method PhysicsServer2D.body_get_collision_mask].
+ Overridable version of [method PhysicsServer2D.body_get_collision_priority].
+ Overridable version of [method PhysicsServer2D.body_get_constant_force].
+ Overridable version of [method PhysicsServer2D.body_get_constant_torque].
+ Overridable version of [PhysicsServer2D]'s internal [code]body_get_contacts_reported_depth_threshold[/code] method.
+ [b]Note:[/b] This method is currently unused by Godot's default physics implementation.
+ Overridable version of [method PhysicsServer2D.body_get_continuous_collision_detection_mode].
+ Overridable version of [method PhysicsServer2D.body_get_direct_state].
+ Overridable version of [method PhysicsServer2D.body_get_max_contacts_reported].
+ Overridable version of [method PhysicsServer2D.body_get_mode].
+ Overridable version of [method PhysicsServer2D.body_get_object_instance_id].
@@ -405,6 +466,7 @@
+ Overridable version of [method PhysicsServer2D.body_get_param].
@@ -412,12 +474,14 @@
+ Overridable version of [method PhysicsServer2D.body_get_shape].
+ Overridable version of [method PhysicsServer2D.body_get_shape_count].
@@ -425,12 +489,14 @@
+ Overridable version of [method PhysicsServer2D.body_get_shape_transform].
+ Overridable version of [method PhysicsServer2D.body_get_space].
@@ -438,12 +504,14 @@
+ Overridable version of [method PhysicsServer2D.body_get_state].
+ Overridable version of [method PhysicsServer2D.body_is_omitting_force_integration].
@@ -451,6 +519,7 @@
+ Overridable version of [method PhysicsServer2D.body_remove_collision_exception].
@@ -458,12 +527,14 @@
+ Overridable version of [method PhysicsServer2D.body_remove_shape].
+ Overridable version of [method PhysicsServer2D.body_reset_mass_properties].
@@ -471,6 +542,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_axis_velocity].
@@ -478,6 +550,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_collision_layer].
@@ -485,6 +558,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_collision_mask].
@@ -492,6 +566,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_collision_priority].
@@ -499,6 +574,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_constant_force].
@@ -506,6 +582,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_constant_torque].
@@ -513,6 +590,8 @@
+ Overridable version of [PhysicsServer2D]'s internal [code]body_set_contacts_reported_depth_threshold[/code] method.
+ [b]Note:[/b] This method is currently unused by Godot's default physics implementation.
@@ -520,6 +599,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_continuous_collision_detection_mode].
@@ -528,6 +608,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_force_integration_callback].
@@ -535,6 +616,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_max_contacts_reported].
@@ -542,6 +624,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_mode].
@@ -549,6 +632,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_omit_force_integration].
@@ -557,6 +641,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_param].
@@ -564,6 +649,8 @@
+ If set to [code]true[/code], allows the body with the given [RID] to detect mouse inputs when the mouse cursor is hovering on it.
+ Overridable version of [PhysicsServer2D]'s internal [code]body_set_pickable[/code] method. Corresponds to [member PhysicsBody2D.input_pickable].
@@ -572,6 +659,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_shape].
@@ -581,6 +669,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_shape_as_one_way_collision].
@@ -589,6 +678,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_shape_disabled].
@@ -597,6 +687,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_shape_transform].
@@ -604,6 +695,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_space].
@@ -612,6 +704,7 @@
+ Overridable version of [method PhysicsServer2D.body_set_state].
@@ -619,6 +712,8 @@
+ Assigns the [param body] to call the given [param callable] during the synchronization phase of the loop, before [method _step] is called. See also [method _sync].
+ Overridable version of [PhysicsServer2D]'s internal [code]body_set_state_sync_callback[/code] method.
@@ -631,26 +726,31 @@
+ Overridable version of [method PhysicsServer2D.body_test_motion]. Unlike the exposed implementation, this method does not receive all of the arguments inside a [PhysicsTestMotionParameters2D].
+ Overridable version of [method PhysicsServer2D.capsule_shape_create].
+ Overridable version of [method PhysicsServer2D.circle_shape_create].
+ Overridable version of [method PhysicsServer2D.concave_polygon_shape_create].
+ Overridable version of [method PhysicsServer2D.convex_polygon_shape_create].
@@ -658,6 +758,7 @@
+ Overridable version of [method PhysicsServer2D.damped_spring_joint_get_param].
@@ -666,54 +767,69 @@
+ Overridable version of [method PhysicsServer2D.damped_spring_joint_set_param].
+ Called to indicate that the physics server has stopped synchronizing. It is in the loop's iteration/physics phase, and can access physics objects even if running on a separate thread. See also [method _sync].
+ Overridable version of [PhysicsServer2D]'s internal [code]end_sync[/code] method.
+ Called when the main loop finalizes to shut down the physics server. See also [method MainLoop._finalize] and [method _init].
+ Overridable version of [PhysicsServer2D]'s internal [code]finish[/code] method.
+ Called every physics step before [method _step] to process all remaining queries.
+ Overridable version of [PhysicsServer2D]'s internal [code]flush_queries[/code] method.
+ Overridable version of [method PhysicsServer2D.free_rid].
+ Overridable version of [method PhysicsServer2D.get_process_info].
+ Called when the main loop is initialized and creates a new instance of this physics server. See also [method MainLoop._initialize] and [method _finish].
+ Overridable version of [PhysicsServer2D]'s internal [code]init[/code] method.
+ Overridable method that should return [code]true[/code] when the physics server is processing queries. See also [method _flush_queries].
+ Overridable version of [PhysicsServer2D]'s internal [code]is_flushing_queries[/code] method.
+ Overridable version of [method PhysicsServer2D.joint_clear].
+ Overridable version of [method PhysicsServer2D.joint_create].
@@ -721,6 +837,7 @@
+ Overridable version of [method PhysicsServer2D.joint_disable_collisions_between_bodies].
@@ -728,18 +845,21 @@
+ Overridable version of [method PhysicsServer2D.joint_get_param].
+ Overridable version of [method PhysicsServer2D.joint_get_type].
+ Overridable version of [method PhysicsServer2D.joint_is_disabled_collisions_between_bodies].
@@ -750,6 +870,7 @@
+ Overridable version of [method PhysicsServer2D.joint_make_damped_spring].
@@ -761,6 +882,7 @@
+ Overridable version of [method PhysicsServer2D.joint_make_groove].
@@ -770,6 +892,7 @@
+ Overridable version of [method PhysicsServer2D.joint_make_pin].
@@ -778,6 +901,7 @@
+ Overridable version of [method PhysicsServer2D.joint_set_param].
@@ -785,6 +909,7 @@
+ Overridable version of [method PhysicsServer2D.pin_joint_get_flag].
@@ -792,6 +917,7 @@
+ Overridable version of [method PhysicsServer2D.pin_joint_get_param].
@@ -800,6 +926,7 @@
+ Overridable version of [method PhysicsServer2D.pin_joint_set_flag].
@@ -808,27 +935,32 @@
+ Overridable version of [method PhysicsServer2D.pin_joint_set_param].
+ Overridable version of [method PhysicsServer2D.rectangle_shape_create].
+ Overridable version of [method PhysicsServer2D.segment_shape_create].
+ Overridable version of [method PhysicsServer2D.separation_ray_shape_create].
+ Overridable version of [method PhysicsServer2D.set_active].
@@ -843,24 +975,30 @@
+ Given two shapes and their parameters, should return [code]true[/code] if a collision between the two would occur, with additional details passed in [param results].
+ Overridable version of [PhysicsServer2D]'s internal [code]shape_collide[/code] method. Corresponds to [method PhysicsDirectSpaceState2D.collide_shape].
+ Should return the custom solver bias of the given [param shape], which defines how much bodies are forced to separate on contact when this shape is involved.
+ Overridable version of [PhysicsServer2D]'s internal [code]shape_get_custom_solver_bias[/code] method. Corresponds to [member Shape2D.custom_solver_bias].
+ Overridable version of [method PhysicsServer2D.shape_get_data].
+ Overridable version of [method PhysicsServer2D.shape_get_type].
@@ -868,6 +1006,8 @@
+ Should set the custom solver bias for the given [param shape]. It defines how much bodies are forced to separate on contact.
+ Overridable version of [PhysicsServer2D]'s internal [code]shape_get_custom_solver_bias[/code] method. Corresponds to [member Shape2D.custom_solver_bias].
@@ -875,29 +1015,36 @@
+ Overridable version of [method PhysicsServer2D.shape_set_data].
+ Overridable version of [method PhysicsServer2D.space_create].
+ Should return how many contacts have occurred during the last physics step in the given [param space]. See also [method _space_get_contacts] and [method _space_set_debug_contacts].
+ Overridable version of [PhysicsServer2D]'s internal [code]space_get_contact_count[/code] method.
+ Should return the positions of all contacts that have occurred during the last physics step in the given [param space]. See also [method _space_get_contact_count] and [method _space_set_debug_contacts].
+ Overridable version of [PhysicsServer2D]'s internal [code]space_get_contacts[/code] method.
+ Overridable version of [method PhysicsServer2D.space_get_direct_state].
@@ -905,12 +1052,14 @@
+ Overridable version of [method PhysicsServer2D.space_get_param].
+ Overridable version of [method PhysicsServer2D.space_is_active].
@@ -918,6 +1067,7 @@
+ Overridable version of [method PhysicsServer2D.space_set_active].
@@ -925,6 +1075,8 @@
+ Used internally to allow the given [param space] to store contact points, up to [param max_contacts]. This is automatically set for the main [World2D]'s space when [member SceneTree.debug_collisions_hint] is [code]true[/code], or by checking "Visible Collision Shapes" in the editor. Only works in debug builds.
+ Overridable version of [PhysicsServer2D]'s internal [code]space_set_debug_contacts[/code] method.
@@ -933,34 +1085,42 @@
+ Overridable version of [method PhysicsServer2D.space_set_param].
+ Called every physics step to process the physics simulation. [param step] is the time elapsed since the last physics step, in seconds. It is usually the same as [method Node.get_physics_process_delta_time].
+ Overridable version of [PhysicsServer2D]'s internal [code skip-lint]step[/code] method.
+ Called to indicate that the physics server is synchronizing and cannot access physics states if running on a separate thread. See also [method _end_sync].
+ Overridable version of [PhysicsServer2D]'s internal [code]sync[/code] method.
+ Overridable version of [method PhysicsServer2D.world_boundary_shape_create].
+ Returns [code]true[/code] if the body with the given [RID] is being excluded from [method _body_test_motion]. See also [method Object.get_instance_id].
+ Returns [code]true[/code] if the object with the given instance ID is being excluded from [method _body_test_motion]. See also [method Object.get_instance_id].