# {py:mod}`simvx.core.scene_step` ```{py:module} simvx.core.scene_step ``` ```{autodoc2-docstring} simvx.core.scene_step :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ScenePhases ` - ```{autodoc2-docstring} simvx.core.scene_step.ScenePhases :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`step_scene_logic ` - ```{autodoc2-docstring} simvx.core.scene_step.step_scene_logic :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.core.scene_step.__all__ :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.core.scene_step.__all__ :value: > ['ScenePhases', 'step_scene_logic'] ```{autodoc2-docstring} simvx.core.scene_step.__all__ ``` ```` `````{py:class} ScenePhases :canonical: simvx.core.scene_step.ScenePhases ```{autodoc2-docstring} simvx.core.scene_step.ScenePhases ``` ````{py:attribute} node_walk :canonical: simvx.core.scene_step.ScenePhases.node_walk :type: collections.abc.Callable[[simvx.core.node.Node | None, float, str], None] | None :value: > None ```{autodoc2-docstring} simvx.core.scene_step.ScenePhases.node_walk ``` ```` ````{py:attribute} ui_events :canonical: simvx.core.scene_step.ScenePhases.ui_events :type: collections.abc.Callable[[], None] | None :value: > None ```{autodoc2-docstring} simvx.core.scene_step.ScenePhases.ui_events ``` ```` ````{py:attribute} on_phase :canonical: simvx.core.scene_step.ScenePhases.on_phase :type: collections.abc.Callable[[str, str], None] | None :value: > None ```{autodoc2-docstring} simvx.core.scene_step.ScenePhases.on_phase ``` ```` ````` ````{py:function} step_scene_logic(tree: simvx.core.scene_tree.SceneTree, dt: float, *, time_scale: float = 1.0, phases: simvx.core.scene_step.ScenePhases | None = None) -> None :canonical: simvx.core.scene_step.step_scene_logic ```{autodoc2-docstring} simvx.core.scene_step.step_scene_logic ``` ````