# {py:mod}`simvx.ide.playtest` ```{py:module} simvx.ide.playtest ``` ```{autodoc2-docstring} simvx.ide.playtest :allowtitles: ``` ## Module Contents ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ide_screenshot ` - ```{autodoc2-docstring} simvx.ide.playtest.ide_screenshot :summary: ``` * - {py:obj}`ide_run ` - ```{autodoc2-docstring} simvx.ide.playtest.ide_run :summary: ``` * - {py:obj}`ide_find_widget ` - ```{autodoc2-docstring} simvx.ide.playtest.ide_find_widget :summary: ``` * - {py:obj}`ide_widget_centre ` - ```{autodoc2-docstring} simvx.ide.playtest.ide_widget_centre :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`log ` - ```{autodoc2-docstring} simvx.ide.playtest.log :summary: ``` ```` ### API ````{py:data} log :canonical: simvx.ide.playtest.log :value: > 'getLogger(...)' ```{autodoc2-docstring} simvx.ide.playtest.log ``` ```` ````{py:function} ide_screenshot(*, project_dir: str | None = None, frames: int = 90, width: int = 1400, height: int = 900, output_dir: str | pathlib.Path | None = None) -> tuple[str, str] :canonical: simvx.ide.playtest.ide_screenshot ```{autodoc2-docstring} simvx.ide.playtest.ide_screenshot ``` ```` ````{py:function} ide_run(steps: list, *, project_dir: str | None = None, extra_frames: int = 30, init_frames: int = 90, width: int = 1400, height: int = 900, speed: float = 50.0, output_dir: str | pathlib.Path | None = None, capture_every: int = 0) -> str :canonical: simvx.ide.playtest.ide_run ```{autodoc2-docstring} simvx.ide.playtest.ide_run ``` ```` ````{py:function} ide_find_widget(ui_tree: str, name: str) -> tuple[float, float, float, float] | None :canonical: simvx.ide.playtest.ide_find_widget ```{autodoc2-docstring} simvx.ide.playtest.ide_find_widget ``` ```` ````{py:function} ide_widget_centre(ui_tree: str, name: str) -> tuple[float, float] | None :canonical: simvx.ide.playtest.ide_widget_centre ```{autodoc2-docstring} simvx.ide.playtest.ide_widget_centre ``` ````