@@ -479,6 +479,86 @@ Currently, ``UNSAFE_*`` warnings do not cover all cases that unsafe lines cover.
479479Common unsafe operations and their safe counterparts
480480----------------------------------------------------
481481
482+ Global scope methods
483+ ~~~~~~~~~~~~~~~~~~~~
484+
485+ The following global scope methods are not statically typed, but they have
486+ typed counterparts available. These methods return statically typed values:
487+
488+ +------------------------------------------------------+-------------------------------------------------------------------------------------+
489+ | Method | Statically typed equivalents |
490+ +======================================================+=====================================================================================+
491+ | :ref: `abs()<class_@GlobalScope_method_abs> ` | | :ref: `absf() <class_@GlobalScope_method_absf >`, |
492+ | | :ref: `absi() <class_@GlobalScope_method_absi >` |
493+ | | | :ref: `Vector2.abs() <class_Vector2_method_abs >`, |
494+ | | :ref: `Vector2i.abs() <class_Vector2i_method_abs >` |
495+ | | | :ref: `Vector3.abs() <class_Vector3_method_abs >`, |
496+ | | :ref: `Vector3i.abs() <class_Vector3i_method_abs >` |
497+ | | | :ref: `Vector4.abs() <class_Vector4_method_abs >`, |
498+ | | :ref: `Vector4i.abs() <class_Vector4i_method_abs >` |
499+ +------------------------------------------------------+-------------------------------------------------------------------------------------+
500+ | :ref: `ceil() <class_@GlobalScope_method_ceil >` | | :ref: `ceilf() <class_@GlobalScope_method_ceilf >`, |
501+ | | :ref: `ceili() <class_@GlobalScope_method_ceili >` |
502+ | | | :ref: `Vector2.ceil() <class_Vector2_method_ceil >` |
503+ | | | :ref: `Vector3.ceil() <class_Vector3_method_ceil >` |
504+ | | | :ref: `Vector4.ceil() <class_Vector4_method_ceil >` |
505+ +------------------------------------------------------+-------------------------------------------------------------------------------------+
506+ | :ref: `clamp() <class_@GlobalScope_method_clamp >` | | :ref: `clampf() <class_@GlobalScope_method_clampf >`, |
507+ | | :ref: `clampi() <class_@GlobalScope_method_clampi >` |
508+ | | | :ref: `Vector2.clamp() <class_Vector2_method_clamp >`, |
509+ | | :ref: `Vector2i.clamp() <class_Vector2i_method_clamp >` |
510+ | | | :ref: `Vector3.clamp() <class_Vector3_method_clamp >`, |
511+ | | :ref: `Vector3i.clamp() <class_Vector3i_method_clamp >` |
512+ | | | :ref: `Vector4.clamp() <class_Vector4_method_clamp >`, |
513+ | | :ref: `Vector4i.clamp() <class_Vector4i_method_clamp >` |
514+ | | | :ref: `Color.clamp() <class_Color_method_clamp >` |
515+ | | | (untyped ``clamp() `` does not work on Color) |
516+ +------------------------------------------------------+-------------------------------------------------------------------------------------+
517+ | :ref: `floor() <class_@GlobalScope_method_floor >` | | :ref: `floorf() <class_@GlobalScope_method_floorf >`, |
518+ | | :ref: `floori() <class_@GlobalScope_method_floori >` |
519+ | | | :ref: `Vector2.floor() <class_Vector2_method_floor >` |
520+ | | | :ref: `Vector3.floor() <class_Vector3_method_floor >` |
521+ | | | :ref: `Vector4.floor() <class_Vector4_method_floor >` |
522+ +------------------------------------------------------+-------------------------------------------------------------------------------------+
523+ | :ref: `lerp() <class_@GlobalScope_method_lerp >` | | :ref: `lerpf() <class_@GlobalScope_method_lerpf >` |
524+ | | | :ref: `Vector2.lerp() <class_Vector2_method_lerp >` |
525+ | | | :ref: `Vector3.lerp() <class_Vector3_method_lerp >` |
526+ | | | :ref: `Vector4.lerp() <class_Vector4_method_lerp >` |
527+ | | | :ref: `Color.lerp() <class_Color_method_lerp >` |
528+ | | | :ref: `Quaternion.slerp() <class_Quaternion_method_slerp >` |
529+ | | | :ref: `Basis.slerp() <class_Basis_method_slerp >` |
530+ | | | :ref: `Transform2D.interpolate_with() <class_Transform2D_method_interpolate_with >` |
531+ | | | :ref: `Transform3D.interpolate_with() <class_Transform3D_method_interpolate_with >` |
532+ +------------------------------------------------------+-------------------------------------------------------------------------------------+
533+ | :ref: `round() <class_@GlobalScope_method_round >` | | :ref: `roundf() <class_@GlobalScope_method_roundf >`, |
534+ | | :ref: `roundi() <class_@GlobalScope_method_roundi >` |
535+ | | | :ref: `Vector2.round() <class_Vector2_method_round >` |
536+ | | | :ref: `Vector3.round() <class_Vector3_method_round >` |
537+ | | | :ref: `Vector4.round() <class_Vector4_method_round >` |
538+ +------------------------------------------------------+-------------------------------------------------------------------------------------+
539+ | :ref: `sign() <class_@GlobalScope_method_sign >` | | :ref: `signf() <class_@GlobalScope_method_signf >` |
540+ | | | :ref: `signi() <class_@GlobalScope_method_signi >` |
541+ | | | :ref: `Vector2.sign() <class_Vector2_method_sign >`, |
542+ | | :ref: `Vector2i.sign() <class_Vector2i_method_sign >` |
543+ | | | :ref: `Vector3.sign() <class_Vector3_method_sign >`, |
544+ | | :ref: `Vector3i.sign() <class_Vector3i_method_sign >` |
545+ | | | :ref: `Vector4.sign() <class_Vector4_method_sign >`, |
546+ | | :ref: `Vector4i.sign() <class_Vector4i_method_sign >` |
547+ +------------------------------------------------------+-------------------------------------------------------------------------------------+
548+ | :ref: `snapped() <class_@GlobalScope_method_snapped >` | | :ref: `snappedf() <class_@GlobalScope_method_snappedf >` |
549+ | | | :ref: `snappedi() <class_@GlobalScope_method_snappedi >` |
550+ | | | :ref: `Vector2.snapped() <class_Vector2_method_snapped >`, |
551+ | | :ref: `Vector2i.snapped() <class_Vector2i_method_snapped >` |
552+ | | | :ref: `Vector3.snapped() <class_Vector3_method_snapped >`, |
553+ | | :ref: `Vector3i.snapped() <class_Vector3i_method_snapped >` |
554+ | | | :ref: `Vector4.snapped() <class_Vector4_method_snapped >`, |
555+ | | :ref: `Vector4i.snapped() <class_Vector4i_method_snapped >` |
556+ +------------------------------------------------------+-------------------------------------------------------------------------------------+
557+
558+ When using static typing, use the typed global scope methods whenever possible.
559+ This ensures you have safe lines and benefit from typed instructions for
560+ better performance.
561+
482562``UNSAFE_PROPERTY_ACCESS `` and ``UNSAFE_METHOD_ACCESS `` warnings
483563~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
484564
0 commit comments