1. Installation
  2. Quick Start
  3. Managing Scripts
  4. Running Scripts
  5. Controlling Script Bindings
  6. Modifying Script Contexts
  7. Shared Contexts
  8. Script ID Mapping
  9. Script Systems
  10. Examples
  11. Scripting Reference
  12. Introduction
  13. Constructing Arbitrary Types
  14. Core Bindings
    1. Globals
    2. Functions
      1. construct
      2. system_builder
    3. Types
      1. World
        1. get_type_by_name
        2. get_resource
        3. remove_resource
        4. insert_children
        5. exit
        6. get_parent
        7. despawn
        8. query
        9. register_new_component
        10. spawn
        11. despawn_descendants
        12. has_component
        13. get_schedule_by_name
        14. has_resource
        15. has_entity
        16. add_default_component
        17. add_system
        18. despawn_recursive
        19. get_component
        20. get_children
        21. push_children
        22. insert_component
        23. remove_component
      2. ReflectReference
        1. functions
        2. variant_name
        3. len
        4. map_get
        5. insert
        6. display_value
        7. display_ref
        8. iter
        9. remove
        10. push
        11. clear
        12. pop
      3. ScriptComponentRegistration
        1. short_name
        2. type_name
      4. ScriptQueryBuilder
        1. build
        2. without
        3. component
        4. with
      5. ScriptQueryResult
        1. components
        2. entity
      6. ScriptResourceRegistration
        1. type_name
        2. short_name
      7. ScriptTypeRegistration
        1. short_name
        2. type_name
      8. ScriptSystemBuilder
        1. before
        2. query
        3. resource
        4. exclusive
        5. after
      9. ReflectSchedule
        1. get_system_by_name
        2. systems
        3. render_dot
      10. ReflectSystem
        1. path
        2. identifier
      11. Name
        1. eq
        2. clone
      12. ComponentId
        1. assert_receiver_is_total_eq
        2. new
        3. index
        4. eq
        5. clone
      13. ComponentTicks
        1. is_added
        2. set_changed
        3. clone
        4. new
        5. is_changed
      14. Tick
        1. assert_receiver_is_total_eq
        2. new
        3. clone
        4. set
        5. get
        6. is_newer_than
        7. eq
      15. Entity
        1. index
        2. from_raw
        3. eq
        4. generation
        5. from_bits
        6. to_bits
        7. clone
      16. EntityHash
        1. clone
      17. Identifier
        1. to_bits
        2. masked_high
        3. from_bits
        4. clone
        5. low
        6. eq
      18. RemovedComponentEntity
        1. clone
      19. Children
        1. swap
      20. Parent
        1. eq
        2. assert_receiver_is_total_eq
        3. get
      21. HierarchyEvent
        1. eq
        2. assert_receiver_is_total_eq
        3. clone
      22. ButtonState
        1. clone
        2. is_pressed
        3. eq
        4. assert_receiver_is_total_eq
      23. AxisSettings
        1. set_livezone_lowerbound
        2. set_deadzone_upperbound
        3. livezone_lowerbound
        4. set_livezone_upperbound
        5. set_deadzone_lowerbound
        6. clamp
        7. threshold
        8. eq
        9. deadzone_lowerbound
        10. livezone_upperbound
        11. deadzone_upperbound
        12. clone
        13. filter
        14. set_threshold
      24. ButtonAxisSettings
        1. filter
        2. clone
      25. ButtonSettings
        1. set_press_threshold
        2. is_pressed
        3. is_released
        4. set_release_threshold
        5. press_threshold
        6. eq
        7. clone
        8. release_threshold
      26. Gamepad
        1. product_id
        2. left_stick
        3. right_stick
        4. pressed
        5. just_pressed
        6. vendor_id
        7. just_released
        8. dpad
      27. GamepadAxis
        1. assert_receiver_is_total_eq
        2. clone
        3. eq
      28. GamepadAxisChangedEvent
        1. new
        2. clone
        3. eq
      29. GamepadButton
        1. eq
        2. clone
        3. assert_receiver_is_total_eq
      30. GamepadButtonChangedEvent
        1. new
        2. eq
        3. clone
      31. GamepadButtonStateChangedEvent
        1. assert_receiver_is_total_eq
        2. clone
        3. eq
        4. new
      32. GamepadConnection
        1. clone
        2. eq
      33. GamepadConnectionEvent
        1. connected
        2. disconnected
        3. new
        4. clone
        5. eq
      34. GamepadEvent
        1. clone
        2. eq
      35. GamepadInput
        1. eq
        2. clone
        3. assert_receiver_is_total_eq
      36. GamepadRumbleIntensity
        1. clone
        2. weak_motor
        3. eq
        4. strong_motor
      37. GamepadRumbleRequest
        1. gamepad
        2. clone
      38. GamepadSettings
        1. clone
      39. RawGamepadAxisChangedEvent
        1. eq
        2. new
        3. clone
      40. RawGamepadButtonChangedEvent
        1. new
        2. eq
        3. clone
      41. RawGamepadEvent
        1. clone
        2. eq
      42. DoubleTapGesture
        1. eq
        2. clone
      43. PanGesture
        1. clone
        2. eq
      44. PinchGesture
        1. clone
        2. eq
      45. RotationGesture
        1. clone
        2. eq
      46. Key
        1. assert_receiver_is_total_eq
        2. eq
        3. clone
      47. KeyCode
        1. clone
        2. eq
        3. assert_receiver_is_total_eq
      48. KeyboardFocusLost
        1. eq
        2. clone
        3. assert_receiver_is_total_eq
      49. KeyboardInput
        1. assert_receiver_is_total_eq
        2. eq
        3. clone
      50. NativeKey
        1. clone
        2. eq
        3. assert_receiver_is_total_eq
      51. NativeKeyCode
        1. eq
        2. assert_receiver_is_total_eq
        3. clone
      52. AccumulatedMouseMotion
        1. clone
        2. eq
      53. AccumulatedMouseScroll
        1. clone
        2. eq
      54. MouseButton
        1. eq
        2. assert_receiver_is_total_eq
        3. clone
      55. MouseButtonInput
        1. assert_receiver_is_total_eq
        2. clone
        3. eq
      56. MouseMotion
        1. eq
        2. clone
      57. MouseScrollUnit
        1. eq
        2. assert_receiver_is_total_eq
        3. clone
      58. MouseWheel
        1. clone
        2. eq
      59. ForceTouch
        1. clone
        2. eq
      60. TouchInput
        1. eq
        2. clone
      61. TouchPhase
        1. clone
        2. eq
        3. assert_receiver_is_total_eq
      62. AspectRatio
        1. is_landscape
        2. is_square
        3. clone
        4. is_portrait
        5. ratio
        6. inverse
        7. eq
      63. Aabb2d
        1. bounding_circle
        2. clone
        3. closest_point
        4. new
      64. BoundingCircle
        1. closest_point
        2. radius
        3. clone
        4. aabb_2d
        5. new
      65. Aabb3d
        1. clone
        2. bounding_sphere
      66. BoundingSphere
        1. aabb_3d
        2. radius
        3. clone
      67. AabbCast2d
        1. from_ray
        2. aabb_collision_at
        3. clone
        4. new
      68. BoundingCircleCast
        1. new
        2. circle_collision_at
        3. from_ray
        4. clone
      69. RayCast2d
        1. clone
        2. from_ray
        3. circle_intersection_at
        4. new
        5. direction_recip
        6. aabb_intersection_at
      70. AabbCast3d
        1. aabb_collision_at
        2. clone
        3. from_ray
      71. BoundingSphereCast
        1. sphere_collision_at
        2. from_ray
        3. clone
      72. RayCast3d
        1. sphere_intersection_at
        2. clone
        3. aabb_intersection_at
        4. from_ray
        5. direction_recip
      73. CompassOctant
        1. eq
        2. assert_receiver_is_total_eq
        3. clone
      74. CompassQuadrant
        1. clone
        2. assert_receiver_is_total_eq
        3. eq
      75. EaseFunction
        1. eq
        2. clone
      76. Interval
        1. clone
        2. contains
        3. eq
        4. has_finite_start
        5. is_bounded
        6. length
        7. start
        8. has_finite_end
        9. end
        10. contains_interval
        11. clamp
      77. Dir2
        1. from_xy_unchecked
        2. rotation_from_x
        3. rotation_to_y
        4. rotation_from
        5. rotation_to
        6. slerp
        7. neg
        8. as_vec2
        9. eq
        10. clone
        11. rotation_from_y
        12. fast_renormalize
        13. rotation_to_x
        14. mul
        15. new_unchecked
      78. Dir3
        1. mul
        2. clone
        3. fast_renormalize
        4. from_xyz_unchecked
        5. new_unchecked
        6. neg
        7. as_vec3
        8. eq
        9. slerp
      79. Dir3A
        1. new_unchecked
        2. neg
        3. eq
        4. as_vec3a
        5. slerp
        6. mul
        7. clone
        8. from_xyz_unchecked
        9. fast_renormalize
      80. FloatOrd
        1. neg
        2. le
        3. eq
        4. lt
        5. ge
        6. gt
        7. clone
      81. Isometry2d
        1. eq
        2. new
        3. from_xy
        4. mul-2
        5. inverse_mul
        6. clone
        7. inverse_transform_point
        8. mul
        9. transform_point
        10. mul-1
        11. inverse
        12. from_rotation
        13. from_translation
      82. Isometry3d
        1. clone
        2. from_xyz
        3. mul
        4. from_rotation
        5. mul-2
        6. inverse_mul
        7. inverse
        8. eq
        9. mul-1
        10. mul-3
      83. Annulus
        1. eq
        2. new
        3. closest_point
        4. thickness
        5. diameter
        6. clone
      84. Arc2d
        1. new
        2. is_minor
        3. sagitta
        4. half_chord_length
        5. length
        6. clone
        7. from_radians
        8. from_degrees
        9. midpoint
        10. apothem
        11. eq
        12. left_endpoint
        13. chord_length
        14. angle
        15. from_turns
        16. chord_midpoint
        17. right_endpoint
        18. is_major
      85. Capsule2d
        1. clone
        2. eq
        3. to_inner_rectangle
        4. new
      86. Circle
        1. eq
        2. new
        3. closest_point
        4. clone
        5. diameter
      87. CircularSector
        1. from_radians
        2. half_chord_length
        3. sagitta
        4. chord_length
        5. angle
        6. from_degrees
        7. eq
        8. radius
        9. arc_length
        10. chord_midpoint
        11. clone
        12. half_angle
        13. new
        14. from_turns
        15. apothem
      88. CircularSegment
        1. arc_length
        2. apothem
        3. radius
        4. new
        5. angle
        6. chord_length
        7. eq
        8. sagitta
        9. from_degrees
        10. half_chord_length
        11. from_radians
        12. clone
        13. half_angle
        14. from_turns
        15. chord_midpoint
      89. Ellipse
        1. eq
        2. eccentricity
        3. semi_minor
        4. from_size
        5. semi_major
        6. focal_length
        7. new
        8. clone
      90. Line2d
        1. eq
        2. clone
      91. Plane2d
        1. clone
        2. new
        3. eq
      92. Rectangle
        1. from_length
        2. clone
        3. from_corners
        4. size
        5. closest_point
        6. from_size
        7. new
        8. eq
      93. RegularPolygon
        1. clone
        2. external_angle_radians
        3. external_angle_degrees
        4. new
        5. internal_angle_radians
        6. eq
        7. inradius
        8. circumradius
        9. internal_angle_degrees
        10. side_length
      94. Rhombus
        1. inradius
        2. from_side
        3. side
        4. clone
        5. eq
        6. circumradius
        7. new
        8. from_inradius
        9. closest_point
      95. Segment2d
        1. new
        2. clone
        3. point2
        4. eq
        5. point1
      96. Triangle2d
        1. clone
        2. reverse
        3. eq
        4. is_acute
        5. is_degenerate
        6. is_obtuse
        7. reversed
        8. new
      97. Capsule3d
        1. eq
        2. clone
        3. to_cylinder
        4. new
      98. Cone
        1. new
        2. clone
        3. base
        4. eq
        5. slant_height
        6. base_area
        7. lateral_area
      99. ConicalFrustum
        1. eq
        2. clone
      100. Cuboid
        1. clone
        2. closest_point
        3. new
        4. eq
        5. from_length
        6. from_size
        7. from_corners
        8. size
      101. Cylinder
        1. base_area
        2. base
        3. clone
        4. new
        5. eq
        6. lateral_area
      102. InfinitePlane3d
        1. eq
        2. isometry_into_xy
        3. isometry_from_xy
        4. clone
      103. Line3d
        1. clone
        2. eq
      104. Plane3d
        1. clone
        2. eq
        3. new
      105. Segment3d
        1. eq
        2. point1
        3. new
        4. clone
        5. point2
      106. Sphere
        1. eq
        2. clone
        3. new
        4. diameter
        5. closest_point
      107. Tetrahedron
        1. eq
        2. new
        3. signed_volume
        4. centroid
        5. clone
      108. Torus
        1. outer_radius
        2. clone
        3. eq
        4. inner_radius
        5. new
      109. Triangle3d
        1. reversed
        2. centroid
        3. is_acute
        4. reverse
        5. is_obtuse
        6. circumcenter
        7. clone
        8. new
        9. eq
        10. is_degenerate
      110. Ray2d
        1. new
        2. clone
        3. get_point
        4. eq
        5. intersect_plane
      111. Ray3d
        1. clone
        2. new
        3. intersect_plane
        4. eq
        5. get_point
      112. IRect
        1. is_empty
        2. center
        3. from_corners
        4. assert_receiver_is_total_eq
        5. inflate
        6. union_point
        7. size
        8. new
        9. half_size
        10. from_center_size
        11. intersect
        12. as_urect
        13. width
        14. from_center_half_size
        15. union
        16. as_rect
        17. eq
        18. height
        19. clone
        20. contains
      113. Rect
        1. new
        2. from_center_half_size
        3. size
        4. normalize
        5. eq
        6. from_center_size
        7. as_irect
        8. union_point
        9. contains
        10. is_empty
        11. union
        12. half_size
        13. intersect
        14. from_corners
        15. height
        16. as_urect
        17. clone
        18. center
        19. width
        20. inflate
      114. URect
        1. new
        2. clone
        3. contains
        4. assert_receiver_is_total_eq
        5. from_corners
        6. from_center_half_size
        7. eq
        8. center
        9. width
        10. as_irect
        11. is_empty
        12. union_point
        13. union
        14. inflate
        15. height
        16. half_size
        17. as_rect
        18. intersect
        19. size
        20. from_center_size
      115. Rot2
        1. angle_between
        2. angle_to
        3. is_finite
        4. slerp
        5. length
        6. as_turn_fraction
        7. degrees
        8. inverse
        9. length_squared
        10. length_recip
        11. is_nan
        12. eq
        13. mul
        14. from_sin_cos
        15. is_normalized
        16. sin_cos
        17. as_degrees
        18. mul-2
        19. clone
        20. nlerp
        21. is_near_identity
        22. mul-1
        23. as_radians
        24. normalize
        25. turn_fraction
        26. radians
        27. fast_renormalize
      116. Fixed
        1. clone
      117. Real
        1. clone
      118. Stopwatch
        1. eq
        2. reset
        3. is_paused
        4. clone
        5. elapsed_secs
        6. assert_receiver_is_total_eq
        7. elapsed_secs_f64
        8. new
        9. elapsed
        10. set_elapsed
        11. pause
        12. unpause
      119. Timer
        1. elapsed_secs
        2. assert_receiver_is_total_eq
        3. fraction_remaining
        4. elapsed_secs_f64
        5. mode
        6. reset
        7. clone
        8. paused
        9. set_elapsed
        10. set_mode
        11. set_duration
        12. fraction
        13. times_finished_this_tick
        14. remaining
        15. pause
        16. duration
        17. just_finished
        18. finished
        19. elapsed
        20. eq
        21. from_seconds
        22. new
        23. unpause
        24. remaining_secs
      120. TimerMode
        1. assert_receiver_is_total_eq
        2. clone
        3. eq
      121. Virtual
        1. clone
      122. GlobalTransform
        1. mul-1
        2. to_isometry
        3. translation_vec3a
        4. compute_transform
        5. mul
        6. radius_vec3a
        7. affine
        8. left
        9. compute_matrix
        10. transform_point
        11. from_scale
        12. from_rotation
        13. forward
        14. mul_transform
        15. clone
        16. mul-2
        17. from_translation
        18. from_xyz
        19. scale
        20. right
        21. translation
        22. back
        23. rotation
        24. reparented_to
        25. eq
        26. from_isometry
        27. down
        28. up
      123. Transform
        1. rotate_local_z
        2. local_z
        3. to_isometry
        4. from_scale
        5. rotate_x
        6. mul-1
        7. from_xyz
        8. forward
        9. rotate_local_x
        10. rotate
        11. rotate_local_axis
        12. translate_around
        13. local_y
        14. compute_affine
        15. rotate_local_y
        16. right
        17. rotate_z
        18. clone
        19. from_matrix
        20. eq
        21. down
        22. with_rotation
        23. up
        24. with_scale
        25. transform_point
        26. from_translation
        27. from_isometry
        28. from_rotation
        29. is_finite
        30. with_translation
        31. mul_transform
        32. rotate_y
        33. mul
        34. rotate_around
        35. left
        36. mul-2
        37. rotate_axis
        38. compute_matrix
        39. local_x
        40. back
        41. rotate_local
      124. Duration
        1. as_micros
        2. from_secs_f32
        3. as_secs_f64
        4. new
        5. add
        6. from_secs_f64
        7. as_secs
        8. as_nanos
        9. subsec_micros
        10. eq
        11. from_millis
        12. mul
        13. saturating_add
        14. is_zero
        15. as_secs_f32
        16. clone
        17. saturating_sub
        18. subsec_millis
        19. subsec_nanos
        20. div
        21. sub
        22. from_nanos
        23. div_f64
        24. from_micros
        25. mul_f32
        26. as_millis
        27. from_secs
        28. saturating_mul
        29. abs_diff
        30. div_duration_f32
        31. div_duration_f64
        32. assert_receiver_is_total_eq
        33. div_f32
        34. mul_f64
      125. Instant
        1. assert_receiver_is_total_eq
        2. clone
        3. duration_since
        4. elapsed
        5. eq
        6. saturating_duration_since
        7. add
        8. now
        9. sub
        10. sub-1
      126. RangeFull
        1. assert_receiver_is_total_eq
        2. clone
        3. eq
      127. AtomicBool
        1. into_inner
        2. new
      128. AtomicI16
        1. new
        2. into_inner
      129. AtomicI32
        1. new
        2. into_inner
      130. AtomicI64
        1. into_inner
        2. new
      131. AtomicI8
        1. new
        2. into_inner
      132. AtomicIsize
        1. new
        2. into_inner
      133. AtomicU16
        1. into_inner
        2. new
      134. AtomicU32
        1. new
        2. into_inner
      135. AtomicU64
        1. into_inner
        2. new
      136. AtomicU8
        1. new
        2. into_inner
      137. AtomicUsize
        1. new
        2. into_inner
      138. Affine2
        1. clone
        2. is_finite
        3. inverse
        4. from_scale
        5. is_nan
        6. from_cols
        7. mul-1
        8. mul-2
        9. from_angle_translation
        10. from_angle
        11. eq
        12. from_mat2
        13. transform_point2
        14. to_cols_array
        15. transform_vector2
        16. to_cols_array_2d
        17. from_mat3a
        18. from_translation
        19. abs_diff_eq
        20. mul
        21. from_mat2_translation
        22. from_mat3
        23. from_scale_angle_translation
      139. Affine3A
        1. from_axis_angle
        2. to_cols_array_2d
        3. transform_point3a
        4. from_mat3
        5. look_to_lh
        6. mul
        7. from_quat
        8. from_mat3_translation
        9. from_rotation_x
        10. look_at_rh
        11. transform_vector3
        12. from_translation
        13. from_scale_rotation_translation
        14. is_finite
        15. look_to_rh
        16. transform_vector3a
        17. abs_diff_eq
        18. from_rotation_z
        19. eq
        20. transform_point3
        21. clone
        22. from_rotation_translation
        23. from_rotation_y
        24. inverse
        25. from_mat4
        26. mul-1
        27. look_at_lh
        28. is_nan
        29. from_cols
        30. from_scale
        31. to_cols_array
      140. BVec2
        1. assert_receiver_is_total_eq
        2. splat
        3. new
        4. test
        5. clone
        6. from_array
        7. all
        8. any
        9. set
        10. bitmask
        11. eq
      141. BVec3
        1. assert_receiver_is_total_eq
        2. any
        3. clone
        4. set
        5. splat
        6. from_array
        7. test
        8. eq
        9. bitmask
        10. new
        11. all
      142. BVec3A
        1. eq
        2. all
        3. new
        4. clone
        5. test
        6. set
        7. from_array
        8. splat
        9. any
        10. bitmask
      143. BVec4
        1. splat
        2. all
        3. bitmask
        4. new
        5. assert_receiver_is_total_eq
        6. set
        7. from_array
        8. clone
        9. any
        10. eq
        11. test
      144. BVec4A
        1. splat
        2. any
        3. test
        4. set
        5. all
        6. new
        7. eq
        8. clone
        9. bitmask
        10. from_array
      145. DAffine2
        1. from_mat2
        2. clone
        3. to_cols_array
        4. mul-1
        5. from_angle
        6. abs_diff_eq
        7. from_scale_angle_translation
        8. is_nan
        9. from_translation
        10. mul
        11. from_angle_translation
        12. transform_vector2
        13. from_cols
        14. to_cols_array_2d
        15. is_finite
        16. eq
        17. from_mat3
        18. transform_point2
        19. from_mat2_translation
        20. inverse
        21. from_scale
      146. DAffine3
        1. look_to_lh
        2. transform_vector3
        3. from_mat3_translation
        4. look_at_lh
        5. mul
        6. inverse
        7. from_mat3
        8. abs_diff_eq
        9. from_translation
        10. to_cols_array_2d
        11. from_rotation_x
        12. from_rotation_translation
        13. is_finite
        14. from_scale
        15. from_quat
        16. is_nan
        17. clone
        18. from_mat4
        19. from_cols
        20. transform_point3
        21. look_to_rh
        22. mul-1
        23. to_cols_array
        24. from_rotation_z
        25. from_rotation_y
        26. look_at_rh
        27. eq
        28. from_scale_rotation_translation
        29. from_axis_angle
      147. DMat2
        1. abs
        2. is_finite
        3. mul_mat2
        4. sub
        5. from_angle
        6. clone
        7. transpose
        8. from_mat3_minor
        9. determinant
        10. to_cols_array
        11. mul_vec2
        12. from_cols
        13. eq
        14. mul-1
        15. inverse
        16. mul
        17. is_nan
        18. div
        19. as_mat2
        20. col
        21. sub_mat2
        22. mul-2
        23. row
        24. from_mat3
        25. mul_scalar
        26. div_scalar
        27. add_mat2
        28. neg
        29. to_cols_array_2d
        30. from_scale_angle
        31. add
        32. abs_diff_eq
        33. from_diagonal
      148. DMat3
        1. from_angle
        2. inverse
        3. to_cols_array
        4. transform_point2
        5. neg
        6. determinant
        7. abs_diff_eq
        8. transform_vector2
        9. from_quat
        10. mul-1
        11. from_diagonal
        12. from_rotation_z
        13. is_nan
        14. from_scale_angle_translation
        15. mul_mat3
        16. div
        17. col
        18. mul_scalar
        19. eq
        20. sub_mat3
        21. mul-3
        22. mul_vec3
        23. clone
        24. abs
        25. to_cols_array_2d
        26. div_scalar
        27. from_axis_angle
        28. from_mat4_minor
        29. add
        30. add_mat3
        31. to_euler
        32. row
        33. from_rotation_y
        34. from_mat2
        35. sub
        36. from_mat4
        37. as_mat3
        38. from_translation
        39. from_cols
        40. transpose
        41. is_finite
        42. mul
        43. mul-2
        44. from_rotation_x
        45. from_euler
        46. from_scale
      149. DMat4
        1. from_rotation_translation
        2. perspective_infinite_reverse_rh
        3. mul_mat4
        4. col
        5. to_cols_array
        6. mul
        7. orthographic_rh
        8. abs_diff_eq
        9. mul-3
        10. determinant
        11. div
        12. to_euler
        13. div_scalar
        14. is_nan
        15. add_mat4
        16. sub_mat4
        17. orthographic_lh
        18. from_translation
        19. to_cols_array_2d
        20. transpose
        21. abs
        22. mul-2
        23. perspective_rh_gl
        24. from_mat3
        25. from_rotation_y
        26. look_at_rh
        27. from_quat
        28. clone
        29. perspective_infinite_rh
        30. look_at_lh
        31. is_finite
        32. eq
        33. from_axis_angle
        34. mul-1
        35. from_euler
        36. project_point3
        37. look_to_lh
        38. from_diagonal
        39. look_to_rh
        40. sub
        41. neg
        42. as_mat4
        43. from_scale
        44. from_scale_rotation_translation
        45. mul_vec4
        46. mul_scalar
        47. from_cols
        48. from_rotation_x
        49. orthographic_rh_gl
        50. transform_point3
        51. inverse
        52. from_rotation_z
        53. row
        54. perspective_rh
        55. perspective_infinite_lh
        56. perspective_infinite_reverse_lh
        57. transform_vector3
        58. add
        59. perspective_lh
      150. DQuat
        1. is_normalized
        2. mul_vec3
        3. is_near_identity
        4. from_rotation_x
        5. mul-2
        6. mul
        7. neg
        8. to_scaled_axis
        9. slerp
        10. from_axis_angle
        11. from_affine3
        12. from_rotation_arc_2d
        13. abs_diff_eq
        14. rotate_towards
        15. inverse
        16. sub
        17. clone
        18. from_vec4
        19. to_euler
        20. add
        21. from_mat3
        22. angle_between
        23. length
        24. as_quat
        25. from_scaled_axis
        26. from_mat4
        27. lerp
        28. is_nan
        29. conjugate
        30. mul_quat
        31. from_rotation_y
        32. length_recip
        33. from_xyzw
        34. is_finite
        35. from_rotation_z
        36. xyz
        37. from_rotation_arc_colinear
        38. eq
        39. dot
        40. from_array
        41. div
        42. from_rotation_arc
        43. length_squared
        44. from_euler
        45. mul-1
        46. normalize
        47. to_array
      151. DVec2
        1. add-1
        2. cmplt
        3. is_nan_mask
        4. refract
        5. angle_to
        6. move_towards
        7. perp_dot
        8. to_angle
        9. dot_into_vec
        10. with_y
        11. normalize
        12. clamp
        13. with_x
        14. clamp_length_max
        15. mul-2
        16. as_ivec2
        17. sub
        18. sub-1
        19. is_finite_mask
        20. perp
        21. to_array
        22. mul-1
        23. reject_from
        24. distance_squared
        25. trunc
        26. distance
        27. eq
        28. splat
        29. fract_gl
        30. length
        31. project_onto_normalized
        32. copysign
        33. normalize_or_zero
        34. div_euclid
        35. rotate
        36. powf
        37. as_uvec2
        38. min
        39. cmpge
        40. midpoint
        41. cmple
        42. add
        43. sub-2
        44. from_angle
        45. signum
        46. project_onto
        47. reject_from_normalized
        48. cmpne
        49. recip
        50. rem-2
        51. abs
        52. is_finite
        53. max_element
        54. ceil
        55. div-2
        56. min_element
        57. rem
        58. lerp
        59. extend
        60. from_array
        61. floor
        62. abs_diff_eq
        63. is_nan
        64. fract
        65. rem_euclid
        66. rem-1
        67. max
        68. element_sum
        69. dot
        70. neg
        71. select
        72. div
        73. new
        74. clone
        75. as_u64vec2
        76. cmpeq
        77. length_recip
        78. add-2
        79. angle_between
        80. as_vec2
        81. exp
        82. is_negative_bitmask
        83. mul_add
        84. cmpgt
        85. as_i64vec2
        86. div-1
        87. is_normalized
        88. length_squared
        89. clamp_length_min
        90. clamp_length
        91. round
        92. reflect
        93. rotate_towards
        94. normalize_or
        95. element_product
        96. mul
      152. DVec3
        1. as_i64vec3
        2. to_array
        3. div-1
        4. abs_diff_eq
        5. is_nan_mask
        6. mul_add
        7. reflect
        8. copysign
        9. normalize
        10. exp
        11. move_towards
        12. distance_squared
        13. mul-2
        14. mul
        15. is_finite
        16. cmple
        17. lerp
        18. length_recip
        19. dot
        20. div-2
        21. max_element
        22. as_ivec3
        23. fract_gl
        24. ceil
        25. length_squared
        26. element_sum
        27. rem
        28. div
        29. is_nan
        30. length
        31. splat
        32. cmpne
        33. cmplt
        34. sub-2
        35. truncate
        36. as_vec3
        37. new
        38. clamp_length
        39. normalize_or_zero
        40. clone
        41. neg
        42. any_orthogonal_vector
        43. cmpeq
        44. rem_euclid
        45. as_vec3a
        46. distance
        47. trunc
        48. clamp
        49. project_onto_normalized
        50. round
        51. dot_into_vec
        52. from_array
        53. add
        54. add-1
        55. with_y
        56. fract
        57. reject_from
        58. max
        59. sub
        60. signum
        61. floor
        62. element_product
        63. with_z
        64. extend
        65. is_negative_bitmask
        66. rem-2
        67. midpoint
        68. abs
        69. reject_from_normalized
        70. any_orthonormal_vector
        71. sub-1
        72. min
        73. refract
        74. rem-1
        75. clamp_length_min
        76. cmpge
        77. as_uvec3
        78. recip
        79. angle_between
        80. clamp_length_max
        81. is_normalized
        82. cmpgt
        83. is_finite_mask
        84. powf
        85. add-2
        86. with_x
        87. select
        88. div_euclid
        89. as_u64vec3
        90. cross
        91. mul-1
        92. project_onto
        93. eq
        94. min_element
        95. normalize_or
      153. DVec4
        1. distance_squared
        2. from_array
        3. cmpge
        4. rem
        5. element_product
        6. mul-2
        7. element_sum
        8. clamp_length_min
        9. trunc
        10. neg
        11. length_recip
        12. copysign
        13. move_towards
        14. floor
        15. ceil
        16. signum
        17. mul_add
        18. sub-1
        19. mul
        20. cmple
        21. add
        22. refract
        23. with_z
        24. as_u64vec4
        25. max_element
        26. div_euclid
        27. to_array
        28. select
        29. normalize_or_zero
        30. eq
        31. min
        32. abs_diff_eq
        33. fract
        34. max
        35. div-2
        36. truncate
        37. round
        38. mul-1
        39. clone
        40. reject_from
        41. is_finite_mask
        42. as_i64vec4
        43. is_finite
        44. dot
        45. as_vec4
        46. clamp_length_max
        47. is_nan_mask
        48. with_w
        49. with_y
        50. rem-1
        51. rem-2
        52. as_ivec4
        53. exp
        54. abs
        55. dot_into_vec
        56. length_squared
        57. add-2
        58. div-1
        59. with_x
        60. clamp
        61. midpoint
        62. recip
        63. rem_euclid
        64. min_element
        65. cmpeq
        66. clamp_length
        67. distance
        68. fract_gl
        69. splat
        70. div
        71. normalize_or
        72. cmpgt
        73. is_negative_bitmask
        74. project_onto_normalized
        75. add-1
        76. lerp
        77. reflect
        78. cmpne
        79. is_nan
        80. reject_from_normalized
        81. powf
        82. new
        83. length
        84. normalize
        85. sub-2
        86. project_onto
        87. cmplt
        88. sub
        89. is_normalized
        90. as_uvec4
      154. EulerRot
        1. clone
        2. assert_receiver_is_total_eq
        3. eq
      155. I64Vec2
        1. wrapping_div
        2. dot
        3. is_negative_bitmask
        4. with_x
        5. dot_into_vec
        6. wrapping_add_unsigned
        7. cmpne
        8. rem_euclid
        9. sub-2
        10. wrapping_sub
        11. signum
        12. min
        13. extend
        14. as_ivec2
        15. div-1
        16. abs
        17. splat
        18. saturating_mul
        19. saturating_add
        20. length_squared
        21. div_euclid
        22. max_element
        23. add
        24. as_u64vec2
        25. with_y
        26. element_sum
        27. cmple
        28. max
        29. as_uvec2
        30. saturating_sub
        31. mul-1
        32. add-2
        33. perp_dot
        34. select
        35. rem
        36. from_array
        37. cmpeq
        38. distance_squared
        39. wrapping_mul
        40. div-2
        41. element_product
        42. div
        43. saturating_add_unsigned
        44. clone
        45. as_vec2
        46. sub-1
        47. to_array
        48. cmpgt
        49. sub
        50. add-1
        51. eq
        52. new
        53. cmplt
        54. rotate
        55. cmpge
        56. clamp
        57. as_dvec2
        58. assert_receiver_is_total_eq
        59. perp
        60. rem-2
        61. mul
        62. mul-2
        63. wrapping_add
        64. wrapping_sub_unsigned
        65. neg
        66. rem-1
        67. saturating_sub_unsigned
        68. saturating_div
        69. min_element
      156. I64Vec3
        1. cmpeq
        2. neg
        3. to_array
        4. wrapping_add_unsigned
        5. truncate
        6. rem-1
        7. eq
        8. as_vec3
        9. is_negative_bitmask
        10. max_element
        11. sub-1
        12. clone
        13. mul-2
        14. rem_euclid
        15. splat
        16. saturating_sub
        17. as_uvec3
        18. max
        19. sub-2
        20. abs
        21. mul-1
        22. add
        23. cmpgt
        24. add-1
        25. new
        26. with_x
        27. saturating_sub_unsigned
        28. saturating_add_unsigned
        29. wrapping_sub
        30. dot_into_vec
        31. distance_squared
        32. signum
        33. from_array
        34. wrapping_sub_unsigned
        35. div-1
        36. mul
        37. wrapping_mul
        38. rem
        39. as_ivec3
        40. wrapping_div
        41. cmplt
        42. saturating_div
        43. length_squared
        44. div
        45. dot
        46. element_product
        47. with_z
        48. cmpge
        49. cmpne
        50. cross
        51. with_y
        52. min_element
        53. assert_receiver_is_total_eq
        54. rem-2
        55. select
        56. element_sum
        57. add-2
        58. saturating_mul
        59. as_dvec3
        60. extend
        61. as_vec3a
        62. div_euclid
        63. div-2
        64. sub
        65. saturating_add
        66. cmple
        67. wrapping_add
        68. min
        69. as_u64vec3
        70. clamp
      157. I64Vec4
        1. assert_receiver_is_total_eq
        2. with_z
        3. with_x
        4. clamp
        5. from_array
        6. cmpne
        7. min_element
        8. as_u64vec4
        9. rem_euclid
        10. neg
        11. cmpgt
        12. div_euclid
        13. add-2
        14. dot_into_vec
        15. cmpge
        16. splat
        17. dot
        18. wrapping_add
        19. sub
        20. element_product
        21. signum
        22. saturating_add
        23. add
        24. with_y
        25. sub-2
        26. div-1
        27. rem
        28. as_dvec4
        29. wrapping_sub
        30. abs
        31. to_array
        32. min
        33. new
        34. max_element
        35. rem-2
        36. clone
        37. cmpeq
        38. mul-1
        39. as_uvec4
        40. is_negative_bitmask
        41. select
        42. with_w
        43. wrapping_sub_unsigned
        44. sub-1
        45. mul
        46. mul-2
        47. eq
        48. add-1
        49. saturating_mul
        50. saturating_div
        51. cmplt
        52. max
        53. element_sum
        54. wrapping_div
        55. truncate
        56. saturating_sub
        57. wrapping_add_unsigned
        58. wrapping_mul
        59. div
        60. as_vec4
        61. distance_squared
        62. div-2
        63. saturating_add_unsigned
        64. saturating_sub_unsigned
        65. length_squared
        66. cmple
        67. rem-1
        68. as_ivec4
      158. IVec2
        1. with_y
        2. cmple
        3. as_uvec2
        4. eq
        5. clone
        6. mul
        7. rem-2
        8. saturating_mul
        9. assert_receiver_is_total_eq
        10. abs
        11. signum
        12. clamp
        13. wrapping_div
        14. cmplt
        15. wrapping_add
        16. div-2
        17. saturating_sub_unsigned
        18. rem_euclid
        19. extend
        20. div_euclid
        21. rem
        22. rotate
        23. length_squared
        24. splat
        25. dot
        26. sub
        27. from_array
        28. saturating_div
        29. perp
        30. neg
        31. wrapping_add_unsigned
        32. mul-1
        33. with_x
        34. is_negative_bitmask
        35. sub-2
        36. max
        37. to_array
        38. wrapping_sub_unsigned
        39. wrapping_mul
        40. element_sum
        41. add
        42. add-1
        43. saturating_add
        44. saturating_add_unsigned
        45. perp_dot
        46. rem-1
        47. add-2
        48. element_product
        49. distance_squared
        50. div
        51. min
        52. select
        53. cmpgt
        54. as_dvec2
        55. mul-2
        56. new
        57. cmpeq
        58. as_u64vec2
        59. wrapping_sub
        60. max_element
        61. as_i64vec2
        62. sub-1
        63. min_element
        64. saturating_sub
        65. div-1
        66. cmpge
        67. cmpne
        68. as_vec2
        69. dot_into_vec
      159. IVec3
        1. cmpne
        2. neg
        3. add
        4. element_sum
        5. new
        6. wrapping_sub
        7. assert_receiver_is_total_eq
        8. rem-2
        9. cmplt
        10. cmpge
        11. rem_euclid
        12. eq
        13. div_euclid
        14. with_z
        15. add-1
        16. dot
        17. as_i64vec3
        18. element_product
        19. dot_into_vec
        20. clone
        21. max_element
        22. sub
        23. mul-1
        24. select
        25. sub-2
        26. truncate
        27. cross
        28. rem
        29. saturating_mul
        30. mul-2
        31. to_array
        32. extend
        33. wrapping_add_unsigned
        34. cmpeq
        35. saturating_sub_unsigned
        36. signum
        37. as_vec3a
        38. is_negative_bitmask
        39. saturating_add_unsigned
        40. div-2
        41. splat
        42. div
        43. cmple
        44. as_u64vec3
        45. with_x
        46. sub-1
        47. wrapping_sub_unsigned
        48. min
        49. distance_squared
        50. add-2
        51. wrapping_div
        52. as_dvec3
        53. saturating_div
        54. rem-1
        55. as_vec3
        56. clamp
        57. abs
        58. saturating_sub
        59. wrapping_mul
        60. min_element
        61. from_array
        62. saturating_add
        63. mul
        64. cmpgt
        65. length_squared
        66. as_uvec3
        67. max
        68. wrapping_add
        69. div-1
        70. with_y
      160. IVec4
        1. add
        2. with_z
        3. cmple
        4. div-1
        5. with_y
        6. signum
        7. wrapping_div
        8. cmpeq
        9. add-1
        10. cmpgt
        11. wrapping_add_unsigned
        12. max_element
        13. mul-1
        14. truncate
        15. max
        16. saturating_add
        17. clamp
        18. rem-1
        19. wrapping_sub
        20. new
        21. is_negative_bitmask
        22. add-2
        23. wrapping_sub_unsigned
        24. div-2
        25. length_squared
        26. as_vec4
        27. sub-2
        28. cmpge
        29. select
        30. as_i64vec4
        31. eq
        32. min
        33. abs
        34. wrapping_mul
        35. cmpne
        36. splat
        37. rem-2
        38. saturating_sub_unsigned
        39. from_array
        40. distance_squared
        41. saturating_sub
        42. dot_into_vec
        43. cmplt
        44. clone
        45. div
        46. sub-1
        47. as_dvec4
        48. as_uvec4
        49. element_product
        50. neg
        51. with_w
        52. rem_euclid
        53. to_array
        54. assert_receiver_is_total_eq
        55. sub
        56. min_element
        57. as_u64vec4
        58. saturating_div
        59. saturating_add_unsigned
        60. saturating_mul
        61. dot
        62. mul
        63. div_euclid
        64. rem
        65. wrapping_add
        66. element_sum
        67. with_x
        68. mul-2
      161. Mat2
        1. div_scalar
        2. from_mat3a_minor
        3. is_nan
        4. eq
        5. abs_diff_eq
        6. from_angle
        7. mul-2
        8. abs
        9. from_mat3
        10. is_finite
        11. from_cols
        12. as_dmat2
        13. to_cols_array_2d
        14. col
        15. mul-1
        16. to_cols_array
        17. from_mat3_minor
        18. determinant
        19. from_diagonal
        20. sub_mat2
        21. from_mat3a
        22. add_mat2
        23. from_scale_angle
        24. mul_scalar
        25. inverse
        26. mul_mat2
        27. div
        28. mul
        29. clone
        30. add
        31. transpose
        32. row
        33. mul_vec2
        34. neg
        35. sub
      162. Mat3
        1. from_rotation_x
        2. mul-4
        3. inverse
        4. add
        5. to_cols_array_2d
        6. from_translation
        7. abs_diff_eq
        8. row
        9. from_scale
        10. from_diagonal
        11. from_mat4_minor
        12. to_euler
        13. sub
        14. mul_mat3
        15. from_rotation_z
        16. abs
        17. as_dmat3
        18. mul-1
        19. from_euler
        20. is_finite
        21. mul_vec3a
        22. from_angle
        23. transpose
        24. from_rotation_y
        25. mul_vec3
        26. sub_mat3
        27. div_scalar
        28. from_scale_angle_translation
        29. mul_scalar
        30. eq
        31. neg
        32. div
        33. mul
        34. from_quat
        35. transform_vector2
        36. determinant
        37. from_mat2
        38. clone
        39. add_mat3
        40. mul-2
        41. col
        42. transform_point2
        43. to_cols_array
        44. mul-3
        45. from_cols
        46. from_axis_angle
        47. from_mat4
        48. is_nan
      163. Mat3A
        1. from_quat
        2. inverse
        3. from_mat4_minor
        4. div_scalar
        5. mul_vec3a
        6. from_mat2
        7. is_finite
        8. from_rotation_y
        9. determinant
        10. mul_scalar
        11. from_cols
        12. mul-4
        13. from_rotation_z
        14. from_euler
        15. from_diagonal
        16. row
        17. from_rotation_x
        18. to_cols_array_2d
        19. from_axis_angle
        20. from_translation
        21. is_nan
        22. add
        23. mul-2
        24. transpose
        25. transform_point2
        26. mul-1
        27. to_cols_array
        28. neg
        29. div
        30. transform_vector2
        31. mul
        32. mul-3
        33. add_mat3
        34. to_euler
        35. from_scale
        36. mul_vec3
        37. from_mat4
        38. from_scale_angle_translation
        39. sub
        40. col
        41. abs_diff_eq
        42. abs
        43. from_angle
        44. clone
        45. eq
        46. sub_mat3
        47. as_dmat3
        48. mul_mat3
      164. Mat4
        1. mul-1
        2. as_dmat4
        3. project_point3
        4. from_translation
        5. transpose
        6. from_euler
        7. perspective_infinite_lh
        8. row
        9. look_to_lh
        10. mul-2
        11. sub
        12. orthographic_rh_gl
        13. from_rotation_translation
        14. perspective_infinite_rh
        15. from_mat3a
        16. to_cols_array
        17. look_to_rh
        18. orthographic_lh
        19. perspective_rh_gl
        20. is_nan
        21. transform_vector3a
        22. transform_vector3
        23. from_cols
        24. transform_point3a
        25. eq
        26. from_rotation_y
        27. from_scale_rotation_translation
        28. project_point3a
        29. sub_mat4
        30. perspective_rh
        31. inverse
        32. col
        33. perspective_infinite_reverse_rh
        34. div
        35. mul_mat4
        36. orthographic_rh
        37. look_at_rh
        38. from_axis_angle
        39. div_scalar
        40. add_mat4
        41. mul_scalar
        42. from_scale
        43. mul-3
        44. mul
        45. from_rotation_z
        46. determinant
        47. clone
        48. to_cols_array_2d
        49. perspective_lh
        50. look_at_lh
        51. mul_vec4
        52. from_quat
        53. transform_point3
        54. abs
        55. from_diagonal
        56. perspective_infinite_reverse_lh
        57. neg
        58. add
        59. abs_diff_eq
        60. is_finite
        61. from_rotation_x
        62. to_euler
        63. from_mat3
      165. Quat
        1. length
        2. from_mat4
        3. slerp
        4. from_rotation_x
        5. mul_vec3a
        6. xyz
        7. from_euler
        8. neg
        9. from_rotation_arc_colinear
        10. from_mat3a
        11. as_dquat
        12. div
        13. from_array
        14. angle_between
        15. to_array
        16. sub
        17. from_rotation_y
        18. mul-1
        19. is_normalized
        20. clone
        21. mul-2
        22. eq
        23. mul-3
        24. from_rotation_z
        25. normalize
        26. mul_vec3
        27. from_affine3
        28. to_euler
        29. abs_diff_eq
        30. from_axis_angle
        31. from_rotation_arc
        32. length_squared
        33. is_finite
        34. conjugate
        35. lerp
        36. add
        37. from_scaled_axis
        38. from_mat3
        39. to_scaled_axis
        40. length_recip
        41. from_rotation_arc_2d
        42. mul_quat
        43. from_vec4
        44. rotate_towards
        45. is_nan
        46. mul
        47. is_near_identity
        48. dot
        49. from_xyzw
        50. inverse
      166. U64Vec2
        1. eq
        2. rem-1
        3. rem-2
        4. saturating_sub
        5. sub-1
        6. as_ivec2
        7. cmpge
        8. wrapping_sub
        9. as_uvec2
        10. saturating_add_signed
        11. dot_into_vec
        12. min_element
        13. min
        14. wrapping_div
        15. mul
        16. from_array
        17. element_product
        18. add-2
        19. as_i64vec2
        20. with_x
        21. rem
        22. max
        23. cmpgt
        24. saturating_add
        25. add
        26. dot
        27. length_squared
        28. new
        29. select
        30. mul-1
        31. div
        32. cmpne
        33. max_element
        34. to_array
        35. splat
        36. as_dvec2
        37. cmple
        38. with_y
        39. cmplt
        40. wrapping_add
        41. clamp
        42. sub-2
        43. saturating_mul
        44. cmpeq
        45. clone
        46. saturating_div
        47. element_sum
        48. wrapping_mul
        49. div-2
        50. mul-2
        51. as_vec2
        52. sub
        53. extend
        54. wrapping_add_signed
        55. add-1
        56. assert_receiver_is_total_eq
        57. div-1
      167. U64Vec3
        1. cmpgt
        2. mul
        3. with_y
        4. rem-1
        5. as_vec3a
        6. saturating_add_signed
        7. sub-1
        8. with_z
        9. eq
        10. saturating_add
        11. div-2
        12. cmpne
        13. div-1
        14. saturating_div
        15. as_ivec3
        16. wrapping_div
        17. splat
        18. mul-1
        19. max
        20. clamp
        21. select
        22. rem-2
        23. wrapping_add_signed
        24. assert_receiver_is_total_eq
        25. max_element
        26. length_squared
        27. dot_into_vec
        28. wrapping_mul
        29. sub-2
        30. saturating_mul
        31. min
        32. min_element
        33. with_x
        34. add-2
        35. cross
        36. to_array
        37. element_sum
        38. wrapping_sub
        39. cmplt
        40. as_vec3
        41. cmpge
        42. truncate
        43. cmple
        44. new
        45. as_uvec3
        46. add
        47. extend
        48. saturating_sub
        49. rem
        50. div
        51. as_i64vec3
        52. as_dvec3
        53. element_product
        54. cmpeq
        55. sub
        56. dot
        57. clone
        58. mul-2
        59. add-1
        60. wrapping_add
        61. from_array
      168. U64Vec4
        1. wrapping_div
        2. dot
        3. as_i64vec4
        4. wrapping_mul
        5. dot_into_vec
        6. min_element
        7. mul-2
        8. rem-2
        9. as_uvec4
        10. mul
        11. add
        12. rem-1
        13. splat
        14. to_array
        15. min
        16. with_z
        17. sub-1
        18. as_ivec4
        19. rem
        20. wrapping_add
        21. with_y
        22. wrapping_sub
        23. element_product
        24. new
        25. as_dvec4
        26. truncate
        27. assert_receiver_is_total_eq
        28. select
        29. length_squared
        30. saturating_add
        31. saturating_add_signed
        32. sub
        33. saturating_div
        34. clamp
        35. clone
        36. max
        37. div
        38. with_w
        39. saturating_sub
        40. cmpeq
        41. from_array
        42. max_element
        43. sub-2
        44. as_vec4
        45. with_x
        46. cmpge
        47. cmpne
        48. div-2
        49. eq
        50. element_sum
        51. cmpgt
        52. mul-1
        53. cmplt
        54. add-2
        55. wrapping_add_signed
        56. div-1
        57. cmple
        58. saturating_mul
        59. add-1
      169. UVec2
        1. element_product
        2. min
        3. extend
        4. splat
        5. length_squared
        6. as_vec2
        7. with_x
        8. rem-2
        9. rem-1
        10. new
        11. rem
        12. saturating_div
        13. as_i64vec2
        14. max_element
        15. clamp
        16. wrapping_add
        17. clone
        18. sub-1
        19. element_sum
        20. saturating_mul
        21. as_u64vec2
        22. assert_receiver_is_total_eq
        23. as_dvec2
        24. dot_into_vec
        25. wrapping_sub
        26. with_y
        27. min_element
        28. from_array
        29. saturating_sub
        30. div-1
        31. mul-1
        32. cmpeq
        33. div-2
        34. select
        35. div
        36. mul-2
        37. wrapping_mul
        38. cmpgt
        39. cmple
        40. add-1
        41. wrapping_add_signed
        42. wrapping_div
        43. as_ivec2
        44. add-2
        45. cmpne
        46. sub
        47. saturating_add
        48. sub-2
        49. max
        50. saturating_add_signed
        51. eq
        52. mul
        53. add
        54. to_array
        55. cmplt
        56. dot
        57. cmpge
      170. UVec3
        1. element_sum
        2. splat
        3. with_y
        4. truncate
        5. cmplt
        6. clamp
        7. rem-1
        8. as_vec3a
        9. min
        10. wrapping_mul
        11. sub
        12. cmpge
        13. from_array
        14. cmpne
        15. assert_receiver_is_total_eq
        16. wrapping_sub
        17. wrapping_add_signed
        18. saturating_add
        19. wrapping_add
        20. add
        21. to_array
        22. as_i64vec3
        23. cmple
        24. saturating_div
        25. saturating_mul
        26. max_element
        27. eq
        28. as_u64vec3
        29. max
        30. element_product
        31. div-1
        32. cross
        33. wrapping_div
        34. mul
        35. min_element
        36. extend
        37. new
        38. add-2
        39. select
        40. dot
        41. as_vec3
        42. mul-1
        43. with_z
        44. with_x
        45. cmpeq
        46. div-2
        47. length_squared
        48. as_ivec3
        49. add-1
        50. rem
        51. dot_into_vec
        52. as_dvec3
        53. saturating_add_signed
        54. mul-2
        55. sub-1
        56. saturating_sub
        57. sub-2
        58. div
        59. clone
        60. rem-2
        61. cmpgt
      171. UVec4
        1. mul
        2. element_sum
        3. splat
        4. wrapping_add
        5. select
        6. with_w
        7. cmplt
        8. as_i64vec4
        9. mul-1
        10. min
        11. dot
        12. to_array
        13. with_y
        14. as_dvec4
        15. sub
        16. div
        17. assert_receiver_is_total_eq
        18. saturating_mul
        19. rem
        20. cmpeq
        21. truncate
        22. as_u64vec4
        23. wrapping_add_signed
        24. add-1
        25. cmpgt
        26. with_x
        27. max
        28. clamp
        29. add-2
        30. wrapping_sub
        31. sub-2
        32. eq
        33. mul-2
        34. saturating_div
        35. cmpge
        36. cmple
        37. wrapping_mul
        38. div-1
        39. div-2
        40. dot_into_vec
        41. min_element
        42. as_vec4
        43. from_array
        44. saturating_sub
        45. rem-1
        46. rem-2
        47. length_squared
        48. cmpne
        49. add
        50. saturating_add
        51. element_product
        52. saturating_add_signed
        53. clone
        54. new
        55. max_element
        56. sub-1
        57. as_ivec4
        58. with_z
        59. wrapping_div
      172. Vec2
        1. fract_gl
        2. new
        3. from_array
        4. rem-1
        5. trunc
        6. normalize_or
        7. as_ivec2
        8. clamp_length_min
        9. abs
        10. is_finite_mask
        11. is_negative_bitmask
        12. is_nan_mask
        13. element_sum
        14. div-2
        15. cmpne
        16. length_recip
        17. cmpgt
        18. element_product
        19. max_element
        20. floor
        21. rem_euclid
        22. with_y
        23. reflect
        24. project_onto_normalized
        25. lerp
        26. dot
        27. min
        28. refract
        29. cmpeq
        30. copysign
        31. normalize
        32. sub-2
        33. abs_diff_eq
        34. cmpge
        35. angle_between
        36. powf
        37. as_u64vec2
        38. mul-2
        39. as_i64vec2
        40. as_dvec2
        41. with_x
        42. div
        43. add-2
        44. max
        45. extend
        46. neg
        47. rem-2
        48. rem
        49. normalize_or_zero
        50. angle_to
        51. clamp_length_max
        52. mul_add
        53. div_euclid
        54. clamp
        55. reject_from
        56. reject_from_normalized
        57. is_normalized
        58. cmple
        59. add-1
        60. from_angle
        61. clone
        62. length
        63. min_element
        64. project_onto
        65. sub
        66. is_finite
        67. select
        68. cmplt
        69. as_uvec2
        70. to_array
        71. dot_into_vec
        72. perp
        73. eq
        74. signum
        75. exp
        76. recip
        77. distance_squared
        78. perp_dot
        79. to_angle
        80. sub-1
        81. length_squared
        82. mul-1
        83. div-1
        84. move_towards
        85. clamp_length
        86. splat
        87. ceil
        88. is_nan
        89. mul
        90. round
        91. rotate
        92. distance
        93. add
        94. midpoint
        95. rotate_towards
        96. fract
      173. Vec3
        1. cross
        2. clone
        3. reflect
        4. rem_euclid
        5. with_y
        6. any_orthonormal_vector
        7. with_z
        8. max
        9. element_sum
        10. as_i64vec3
        11. sub
        12. abs
        13. any_orthogonal_vector
        14. normalize
        15. clamp
        16. refract
        17. with_x
        18. ceil
        19. mul-1
        20. angle_between
        21. min_element
        22. distance
        23. is_negative_bitmask
        24. normalize_or
        25. exp
        26. clamp_length_max
        27. length_recip
        28. floor
        29. splat
        30. extend
        31. cmple
        32. normalize_or_zero
        33. is_normalized
        34. add-2
        35. copysign
        36. element_product
        37. length_squared
        38. reject_from
        39. signum
        40. as_u64vec3
        41. sub-1
        42. project_onto
        43. trunc
        44. fract
        45. is_nan_mask
        46. add-1
        47. as_dvec3
        48. mul_add
        49. div_euclid
        50. div-2
        51. fract_gl
        52. mul
        53. div
        54. lerp
        55. dot
        56. to_array
        57. as_ivec3
        58. abs_diff_eq
        59. cmpne
        60. rem
        61. max_element
        62. length
        63. dot_into_vec
        64. round
        65. project_onto_normalized
        66. cmplt
        67. reject_from_normalized
        68. rem-1
        69. truncate
        70. eq
        71. is_nan
        72. clamp_length_min
        73. midpoint
        74. is_finite_mask
        75. distance_squared
        76. powf
        77. cmpgt
        78. move_towards
        79. div-1
        80. rem-2
        81. from_array
        82. select
        83. as_uvec3
        84. is_finite
        85. clamp_length
        86. mul-2
        87. neg
        88. cmpeq
        89. new
        90. add
        91. min
        92. cmpge
        93. recip
        94. sub-2
      174. Vec3A
        1. round
        2. clamp_length_max
        3. with_z
        4. div
        5. min_element
        6. trunc
        7. element_product
        8. from_vec4
        9. select
        10. distance
        11. length_recip
        12. clamp
        13. add-2
        14. rem-1
        15. cross
        16. sub-1
        17. move_towards
        18. reject_from_normalized
        19. clamp_length
        20. cmplt
        21. project_onto
        22. max_element
        23. splat
        24. refract
        25. normalize_or
        26. signum
        27. abs
        28. rem_euclid
        29. cmpeq
        30. div-1
        31. from_array
        32. distance_squared
        33. cmpge
        34. normalize_or_zero
        35. sub
        36. is_nan
        37. powf
        38. is_nan_mask
        39. dot_into_vec
        40. new
        41. truncate
        42. rem-2
        43. as_i64vec3
        44. copysign
        45. as_ivec3
        46. clamp_length_min
        47. as_dvec3
        48. fract_gl
        49. midpoint
        50. recip
        51. mul
        52. max
        53. floor
        54. fract
        55. clone
        56. lerp
        57. as_u64vec3
        58. add-1
        59. mul-1
        60. is_finite_mask
        61. cmpne
        62. is_normalized
        63. reject_from
        64. project_onto_normalized
        65. as_uvec3
        66. add
        67. ceil
        68. div_euclid
        69. mul_add
        70. length_squared
        71. reflect
        72. mul-2
        73. extend
        74. is_negative_bitmask
        75. rem
        76. cmple
        77. min
        78. dot
        79. is_finite
        80. length
        81. element_sum
        82. abs_diff_eq
        83. cmpgt
        84. any_orthonormal_vector
        85. any_orthogonal_vector
        86. normalize
        87. eq
        88. angle_between
        89. with_y
        90. neg
        91. to_array
        92. div-2
        93. sub-2
        94. with_x
        95. exp
      175. Vec4
        1. cmplt
        2. add
        3. with_w
        4. as_u64vec4
        5. div
        6. add-2
        7. reject_from_normalized
        8. refract
        9. mul-2
        10. cmpge
        11. neg
        12. normalize_or
        13. mul-1
        14. clamp
        15. sub-2
        16. cmpne
        17. round
        18. clone
        19. is_finite_mask
        20. as_dvec4
        21. is_normalized
        22. normalize
        23. element_product
        24. fract_gl
        25. lerp
        26. mul
        27. signum
        28. length_recip
        29. move_towards
        30. project_onto
        31. new
        32. recip
        33. abs_diff_eq
        34. element_sum
        35. midpoint
        36. from_array
        37. with_z
        38. is_finite
        39. div_euclid
        40. cmple
        41. copysign
        42. floor
        43. is_negative_bitmask
        44. ceil
        45. div-1
        46. trunc
        47. is_nan_mask
        48. add-1
        49. mul_add
        50. dot
        51. eq
        52. rem_euclid
        53. reflect
        54. with_y
        55. powf
        56. exp
        57. clamp_length_max
        58. sub-1
        59. div-2
        60. max
        61. to_array
        62. cmpgt
        63. clamp_length_min
        64. dot_into_vec
        65. splat
        66. truncate
        67. normalize_or_zero
        68. select
        69. sub
        70. rem-1
        71. is_nan
        72. min_element
        73. distance_squared
        74. distance
        75. rem-2
        76. as_ivec4
        77. project_onto_normalized
        78. clamp_length
        79. length_squared
        80. max_element
        81. rem
        82. fract
        83. min
        84. abs
        85. as_i64vec4
        86. length
        87. as_uvec4
        88. cmpeq
        89. with_x
        90. reject_from
      176. SmolStr
        1. len
        2. is_empty
        3. eq
        4. clone
        5. to_string
        6. is_heap_allocated
      177. Uuid
        1. get_version_num
        2. as_u128
        3. nil
        4. max
        5. new_v4
        6. from_u64_pair
        7. from_bytes_le
        8. as_u64_pair
        9. from_u128
        10. eq
        11. from_bytes
        12. clone
        13. get_node_id
        14. to_bytes_le
        15. assert_receiver_is_total_eq
        16. from_u128_le
        17. into_bytes
        18. is_nil
        19. encode_buffer
        20. is_max
        21. to_u128_le
      178. DynamicFunctionMut
      179. FunctionCallContext
      180. PathBuf
      181. String
      182. Focus
      183. ActiveAnimation
      184. AnimationClip
      185. AnimationEvent
      186. AnimationEventTarget
      187. AnimationPlayer
      188. AnimationTarget
      189. AnimationTargetId
      190. RepeatAnimation
      191. TimedAnimationEvent
      192. AnimationGraph
      193. AnimationGraphHandle
      194. ThreadedAnimationGraph
      195. ThreadedAnimationGraphs
      196. AnimationTransition
      197. AnimationTransitions
      198. AssetIndex
      199. AssetPath
      200. RenderAssetUsages
      201. DefaultSpatialScale
      202. GlobalVolume
      203. PlaybackMode
      204. PlaybackSettings
      205. SpatialListener
      206. SpatialScale
      207. Volume
      208. Color
      209. Hsla
      210. Hsva
      211. Hwba
      212. Laba
      213. Lcha
      214. LinearRgba
      215. Oklaba
      216. Oklcha
      217. Srgba
      218. Xyza
      219. Bloom
      220. BloomCompositeMode
      221. BloomPrefilter
      222. ContrastAdaptiveSharpening
      223. Camera2d
      224. Camera3d
      225. Camera3dDepthLoadOp
      226. Camera3dDepthTextureUsage
      227. ScreenSpaceTransmissionQuality
      228. DepthOfField
      229. DepthOfFieldMode
      230. Fxaa
      231. Sensitivity
      232. OrderIndependentTransparencySettings
      233. ChromaticAberration
      234. DeferredPrepass
      235. DepthPrepass
      236. MotionVectorPrepass
      237. NormalPrepass
      238. Smaa
      239. SmaaPreset
      240. DebandDither
      241. Tonemapping
      242. SystemIdMarker
      243. OnAdd
      244. OnInsert
      245. OnRemove
      246. OnReplace
      247. AabbGizmoConfigGroup
      248. GizmoConfig
      249. GizmoConfigStore
      250. GizmoLineJoint
      251. GizmoLineStyle
      252. LightGizmoColor
      253. LightGizmoConfigGroup
      254. GltfExtras
      255. GltfMaterialExtras
      256. GltfMaterialName
      257. GltfMeshExtras
      258. GltfSceneExtras
      259. Image
      260. Affine3
      261. Indices
      262. Mesh
      263. MeshMorphWeights
      264. MorphWeights
      265. SkinnedMesh
      266. Namespace
      267. ScriptValue
      268. FunctionArgInfo
      269. FunctionInfo
      270. FunctionReturnInfo
      271. InteropError
      272. CascadesVisibleEntities
      273. CubemapVisibleEntities
      274. VisibleMeshEntities
      275. ClusterConfig
      276. ClusterFarZMode
      277. ClusterZConfig
      278. DistanceFog
      279. FogFalloff
      280. Cascade
      281. CascadeShadowConfig
      282. Cascades
      283. DirectionalLightShadowMap
      284. NotShadowCaster
      285. NotShadowReceiver
      286. PointLightShadowMap
      287. ShadowFilteringMethod
      288. AmbientLight
      289. DirectionalLight
      290. PointLight
      291. SpotLight
      292. LightProbe
      293. EnvironmentMapLight
      294. IrradianceVolume
      295. DefaultOpaqueRendererMethod
      296. OpaqueRendererMethod
      297. ParallaxMappingMethod
      298. StandardMaterial
      299. UvChannel
      300. ScreenSpaceAmbientOcclusion
      301. ScreenSpaceAmbientOcclusionQualityLevel
      302. ScreenSpaceReflections
      303. VolumetricFog
      304. VolumetricLight
      305. PickingBehavior
      306. PickingPlugin
      307. HitData
      308. RayId
      309. PickingInteraction
      310. PointerInputPlugin
      311. PointerId
      312. PointerInteraction
      313. PointerLocation
      314. PointerPress
      315. AlphaMode
      316. Camera
      317. CameraMainTextureUsages
      318. CameraRenderGraph
      319. Exposure
      320. MipBias
      321. RenderTarget
      322. SubCameraView
      323. TemporalJitter
      324. Viewport
      325. ClearColor
      326. ClearColorConfig
      327. ManualTextureViewHandle
      328. OrthographicProjection
      329. PerspectiveProjection
      330. Projection
      331. ScalingMode
      332. GlobalsUniform
      333. Mesh2d
      334. Mesh3d
      335. Aabb
      336. CascadesFrusta
      337. CubemapFrusta
      338. Frustum
      339. ShaderStorageBuffer
      340. SyncToRenderWorld
      341. ColorGrading
      342. ColorGradingGlobal
      343. ColorGradingSection
      344. Msaa
      345. InheritedVisibility
      346. NoFrustumCulling
      347. ViewVisibility
      348. Visibility
      349. VisibleEntities
      350. VisibilityRange
      351. RenderLayers
      352. Screenshot
      353. ScreenshotCaptured
      354. DynamicSceneRoot
      355. SceneRoot
      356. SpriteSource
      357. ColorMaterial
      358. AlphaMode2d
      359. Anchor
      360. Sprite
      361. SpriteImageMode
      362. TextureAtlas
      363. TextureAtlasLayout
      364. BorderRect
      365. SliceScaleMode
      366. TextureSlicer
      367. ReflectableScheduleLabel
      368. TextBounds
      369. GlyphAtlasInfo
      370. GlyphAtlasLocation
      371. PositionedGlyph
      372. TextLayoutInfo
      373. Text2d
      374. ComputedTextBlock
      375. FontSmoothing
      376. JustifyText
      377. LineBreak
      378. TextColor
      379. TextEntity
      380. TextFont
      381. TextLayout
      382. TextSpan
      383. UiScale
      384. FocusPolicy
      385. Interaction
      386. RelativeCursorPosition
      387. UiRect
      388. Val
      389. ContentSize
      390. AlignContent
      391. AlignItems
      392. AlignSelf
      393. BackgroundColor
      394. BorderColor
      395. BorderRadius
      396. CalculatedClip
      397. ComputedNode
      398. Display
      399. FlexDirection
      400. FlexWrap
      401. GridAutoFlow
      402. GridPlacement
      403. GridTrack
      404. GridTrackRepetition
      405. JustifyContent
      406. JustifyItems
      407. JustifySelf
      408. MaxTrackSizingFunction
      409. MinTrackSizingFunction
      410. Node
      411. Outline
      412. Overflow
      413. OverflowAxis
      414. OverflowClipBox
      415. OverflowClipMargin
      416. PositionType
      417. RepeatedGridTrack
      418. ResolvedBorderRadius
      419. ScrollPosition
      420. TargetCamera
      421. UiAntiAlias
      422. UiBoxShadowSamples
      423. ZIndex
      424. Button
      425. ImageNode
      426. ImageNodeSize
      427. NodeImageMode
      428. Label
      429. Text
      430. TextNodeFlags
      431. AppLifecycle
      432. CursorEntered
      433. CursorLeft
      434. CursorMoved
      435. FileDragAndDrop
      436. Ime
      437. RequestRedraw
      438. WindowBackendScaleFactorChanged
      439. WindowCloseRequested
      440. WindowClosed
      441. WindowClosing
      442. WindowCreated
      443. WindowDestroyed
      444. WindowEvent
      445. WindowFocused
      446. WindowMoved
      447. WindowOccluded
      448. WindowResized
      449. WindowScaleFactorChanged
      450. WindowThemeChanged
      451. Monitor
      452. VideoMode
      453. SystemCursorIcon
      454. CompositeAlphaMode
      455. CursorGrabMode
      456. CursorOptions
      457. EnabledButtons
      458. InternalWindowState
      459. MonitorSelection
      460. PresentMode
      461. PrimaryWindow
      462. Window
      463. WindowLevel
      464. WindowMode
      465. WindowPosition
      466. WindowRef
      467. WindowResizeConstraints
      468. WindowResolution
      469. WindowTheme
      470. CursorIcon
      471. CustomCursor
      472. bool
      473. char
      474. TypeId
      475. NonZeroI16
      476. NonZeroU16
      477. NonZeroU32
      478. f32
      479. f64
      480. i128
      481. i16
      482. i32
      483. i64
      484. i8
      485. isize
      486. NodeIndex
      487. u128
      488. u16
      489. u32
      490. u64
      491. u8
      492. usize
      493. Cow
      494. Arc
      495. Vec<String>
      496. Vec<TimedAnimationEvent>
      497. Vec<AnimationTransition>
      498. Vec<Entity>
      499. Vec<URect>
      500. Vec<ScriptQueryResult>
      501. Vec<ReflectReference>
      502. Vec<FunctionArgInfo>
      503. Vec<FunctionInfo>
      504. Vec<Cascade>
      505. Vec<ReflectSystem>
      506. Vec<PositionedGlyph>
      507. Vec<GridTrack>
      508. Vec<RepeatedGridTrack>
      509. Vec<VideoMode>
      510. Vec<f32>
      511. Vec<NodeIndex>
      512. Vec<u16>
      513. Vec<u32>
      514. Vec<u64>
      515. Handle<()>
      516. Handle<AnimationClip>
      517. Handle<AnimationGraph>
      518. Handle<Image>
      519. Handle<Mesh>
      520. Handle<StandardMaterial>
      521. Handle<ShaderStorageBuffer>
      522. Handle<ColorMaterial>
      523. Handle<TextureAtlasLayout>
      524. AssetId<()>
      525. AssetId<AnimationClip>
      526. AssetId<AnimationGraph>
      527. AssetId<Image>
      528. AssetId<Mesh>
      529. AssetId<StandardMaterial>
      530. AssetId<ShaderStorageBuffer>
      531. AssetId<ColorMaterial>
      532. AssetId<TextureAtlasLayout>
      533. Axis<GamepadInput>
      534. ButtonInput<GamepadButton>
      535. MeshMaterial3d<StandardMaterial>
      536. MeshMaterial2d<ColorMaterial>
      537. Time<()>
      538. Time<Fixed>
      539. Time<Real>
      540. Time<Virtual>
      541. Range
      542. Range
      543. Option<[u8; 6]>
      544. Option<String>
      545. Option<SpatialScale>
      546. Option<Color>
      547. Option<Entity>
      548. Option<ForceTouch>
      549. Option<CompassOctant>
      550. Option<Rect>
      551. Option<Indices>
      552. Option<ReflectReference>
      553. Option<ScriptValue>
      554. Option<SubCameraView>
      555. Option<Viewport>
      556. Option<TextureAtlas>
      557. Option<ReflectSchedule>
      558. Option<ReflectSystem>
      559. Option<Instant>
      560. Option<WindowTheme>
      561. Option<bool>
      562. Option<char>
      563. Option<NonZeroI16>
      564. Option<NonZeroU16>
      565. Option<NonZeroU32>
      566. Option<f32>
      567. Option<f64>
      568. Option<DVec2>
      569. Option<Vec2>
      570. Option<Vec3>
      571. Option<NodeIndex>
      572. Option<u16>
      573. Option<u32>
      574. Option<usize>
      575. SmallVec<TypeId(0xe3153e2bb9b95f2ec7db0e6cd7fafcef)>
      576. SmallVec<TypeId(0xca4424050e7a74e1740c7c5e2c2bd34d)>
      577. SmallVec<TypeId(0xa4ba851152396acbf20abdd3b310e381)>
      578. SmallVec<TypeId(0xc02b4f0291ef0aad60339b7367f351ef)>
      579. Vec<(bevy_ecs::entity::Entity, bevy_picking::backend::HitData)>
      580. Vec<Range>
      581. HashSet<GamepadButton>
      582. Option<(u8, u8)>
      583. Option<(usize, usize)>
      584. Option<Cow>
      585. Option<Vec<String>>
      586. Option<Handle<Image>>
      587. Option<Handle<Mesh>>
      588. Result<(), InteropError>
      589. Result<String, InteropError>
      590. Result<Entity, InteropError>
      591. Result<DynamicFunctionMut, InteropError>
      592. Result<ScriptComponentRegistration, ScriptResourceRegistration>
      593. Result<ScriptComponentRegistration, InteropError>
      594. Result<ScriptQueryBuilder, InteropError>
      595. Result<ReflectReference, InteropError>
      596. Result<ScriptSystemBuilder, InteropError>
      597. Result<ScriptValue, InteropError>
      598. Result<ReflectSystem, InteropError>
      599. Result<bool, InteropError>
      600. HashMap<AnimationTargetId, u64>
      601. HashMap<GamepadAxis, AxisSettings>
      602. HashMap<GamepadButton, ButtonAxisSettings>
      603. HashMap<GamepadButton, ButtonSettings>
      604. HashMap<GamepadInput, f32>
      605. HashMap<NodeIndex, ActiveAnimation>
      606. HashMap<NodeIndex, f32>
      607. Result<Vec<Entity>, InteropError>
      608. Result<Vec<ScriptQueryResult>, InteropError>
      609. Result<Vec<FunctionInfo>, InteropError>
      610. Result<Vec<ReflectSystem>, InteropError>
      611. Result<Option<String>, InteropError>
      612. Result<Option<Entity>, InteropError>
      613. Result<Option<ReflectReference>, InteropError>
      614. Result<Option<ScriptValue>, InteropError>
      615. Result<Option<ReflectSchedule>, InteropError>
      616. Result<Option<ReflectSystem>, InteropError>
      617. Result<Option<usize>, InteropError>
      618. DiGraph
      619. HashMap<String, ScriptValue>
      620. HashMap<AnimationEventTarget, Vec<TimedAnimationEvent>>
      621. HashMap<AssetId<AnimationGraph>, ThreadedAnimationGraph>
      622. HashMap<Entity, Vec<Cascade>>
      623. Result<ScriptTypeRegistration, Result<ScriptComponentRegistration, ScriptResourceRegistration>>
      624. Option<Result<ScriptTypeRegistration, Result<ScriptComponentRegistration, ScriptResourceRegistration>>>
      625. Result<Option<Result<ScriptTypeRegistration, Result<ScriptComponentRegistration, ScriptResourceRegistration>>>, InteropError>
  15. Core Callbacks
  16. Developing BMS
  17. Introduction
    1. Setup
  18. New Languages
    1. Evaluating Feasibility
    2. Necessary Features