# {py:mod}`simvx.core.helpers` ```{py:module} simvx.core.helpers ``` ```{autodoc2-docstring} simvx.core.helpers :allowtitles: ``` ## Module Contents ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`mat4_from_trs ` - ```{autodoc2-docstring} simvx.core.helpers.mat4_from_trs :summary: ``` * - {py:obj}`mat4_to_bytes ` - ```{autodoc2-docstring} simvx.core.helpers.mat4_to_bytes :summary: ``` * - {py:obj}`parallel ` - ```{autodoc2-docstring} simvx.core.helpers.parallel :summary: ``` * - {py:obj}`wait ` - ```{autodoc2-docstring} simvx.core.helpers.wait :summary: ``` * - {py:obj}`wait_until ` - ```{autodoc2-docstring} simvx.core.helpers.wait_until :summary: ``` * - {py:obj}`wait_signal ` - ```{autodoc2-docstring} simvx.core.helpers.wait_signal :summary: ``` * - {py:obj}`next_frame ` - ```{autodoc2-docstring} simvx.core.helpers.next_frame :summary: ``` * - {py:obj}`ease_in_quad ` - ```{autodoc2-docstring} simvx.core.helpers.ease_in_quad :summary: ``` * - {py:obj}`ease_out_quad ` - ```{autodoc2-docstring} simvx.core.helpers.ease_out_quad :summary: ``` * - {py:obj}`ease_in_out_quad ` - ```{autodoc2-docstring} simvx.core.helpers.ease_in_out_quad :summary: ``` * - {py:obj}`ease_in_cubic ` - ```{autodoc2-docstring} simvx.core.helpers.ease_in_cubic :summary: ``` * - {py:obj}`ease_out_cubic ` - ```{autodoc2-docstring} simvx.core.helpers.ease_out_cubic :summary: ``` * - {py:obj}`screen_to_ray ` - ```{autodoc2-docstring} simvx.core.helpers.screen_to_ray :summary: ``` * - {py:obj}`ray_intersect_sphere ` - ```{autodoc2-docstring} simvx.core.helpers.ray_intersect_sphere :summary: ``` ```` ### API ````{py:function} mat4_from_trs(pos: tuple[float, float, float] | numpy.ndarray, rot, scl: tuple[float, float, float] | numpy.ndarray) -> numpy.ndarray :canonical: simvx.core.helpers.mat4_from_trs ```{autodoc2-docstring} simvx.core.helpers.mat4_from_trs ``` ```` ````{py:function} mat4_to_bytes(m: numpy.ndarray) -> bytes :canonical: simvx.core.helpers.mat4_to_bytes ```{autodoc2-docstring} simvx.core.helpers.mat4_to_bytes ``` ```` ````{py:function} parallel(*coroutines: simvx.core.descriptors.Coroutine) -> simvx.core.descriptors.Coroutine :canonical: simvx.core.helpers.parallel ```{autodoc2-docstring} simvx.core.helpers.parallel ``` ```` ````{py:function} wait(seconds: float) -> simvx.core.descriptors.Coroutine :canonical: simvx.core.helpers.wait ```{autodoc2-docstring} simvx.core.helpers.wait ``` ```` ````{py:function} wait_until(condition: collections.abc.Callable[[], bool]) -> simvx.core.descriptors.Coroutine :canonical: simvx.core.helpers.wait_until ```{autodoc2-docstring} simvx.core.helpers.wait_until ``` ```` ````{py:function} wait_signal(signal: simvx.core.descriptors.Signal) -> simvx.core.descriptors.Coroutine :canonical: simvx.core.helpers.wait_signal ```{autodoc2-docstring} simvx.core.helpers.wait_signal ``` ```` ````{py:function} next_frame() -> simvx.core.descriptors.Coroutine :canonical: simvx.core.helpers.next_frame ```{autodoc2-docstring} simvx.core.helpers.next_frame ``` ```` ````{py:function} ease_in_quad(t) :canonical: simvx.core.helpers.ease_in_quad ```{autodoc2-docstring} simvx.core.helpers.ease_in_quad ``` ```` ````{py:function} ease_out_quad(t) :canonical: simvx.core.helpers.ease_out_quad ```{autodoc2-docstring} simvx.core.helpers.ease_out_quad ``` ```` ````{py:function} ease_in_out_quad(t) :canonical: simvx.core.helpers.ease_in_out_quad ```{autodoc2-docstring} simvx.core.helpers.ease_in_out_quad ``` ```` ````{py:function} ease_in_cubic(t) :canonical: simvx.core.helpers.ease_in_cubic ```{autodoc2-docstring} simvx.core.helpers.ease_in_cubic ``` ```` ````{py:function} ease_out_cubic(t) :canonical: simvx.core.helpers.ease_out_cubic ```{autodoc2-docstring} simvx.core.helpers.ease_out_cubic ``` ```` ````{py:function} screen_to_ray(screen_pos, screen_size, view, proj) :canonical: simvx.core.helpers.screen_to_ray ```{autodoc2-docstring} simvx.core.helpers.screen_to_ray ``` ```` ````{py:function} ray_intersect_sphere(origin, direction, center, radius: float) :canonical: simvx.core.helpers.ray_intersect_sphere ```{autodoc2-docstring} simvx.core.helpers.ray_intersect_sphere ``` ````