mini_arcade_core.scenes.systems.builtins.capture_hotkeys

Reusable capture/replay hotkey system using action-map bindings.

Classes

CaptureContext

Structural context for capture hotkey systems.

CaptureHotkey

One hotkey toggle configuration.

SceneCaptureConfig

Scene-level capture controls configuration.

CaptureHotkeysConfig

Per-scene capture workflow configuration.

CaptureHotkeysSystem

Handles screenshot/replay/video commands in a reusable way.

Functions

action_map_from_scene_capture_config(...)

Build default capture action bindings from SceneCaptureConfig key hotkeys.

Module Contents

class mini_arcade_core.scenes.systems.builtins.capture_hotkeys.CaptureContext[source]

Bases: Protocol

Structural context for capture hotkey systems.

input_frame: object
commands: object
class mini_arcade_core.scenes.systems.builtins.capture_hotkeys.CaptureHotkey[source]

One hotkey toggle configuration.

enabled: bool = True
key: mini_arcade_core.backend.keys.Key | None = None
class mini_arcade_core.scenes.systems.builtins.capture_hotkeys.SceneCaptureConfig[source]

Scene-level capture controls configuration.

screenshot: CaptureHotkey
video_toggle: CaptureHotkey
replay_record_toggle: CaptureHotkey
replay_play_toggle: CaptureHotkey
screenshot_label: str | None = None
replay_file: str | None = None
replay_game_id: str = 'mini-arcade'
replay_initial_scene: str | None = None
replay_fps: int = 60
any_enabled() bool[source]

Return True if at least one capture feature is enabled.

with_scene_defaults(scene_id: str) SceneCaptureConfig[source]

Fill scene-derived defaults while preserving explicit overrides.

class mini_arcade_core.scenes.systems.builtins.capture_hotkeys.CaptureHotkeysConfig[source]

Per-scene capture workflow configuration.

screenshot_label: str | None = None
replay_file: str | None = None
replay_game_id: str = 'mini-arcade'
replay_initial_scene: str = 'unknown'
replay_fps: int = 60
action_toggle_video: str = 'capture_toggle_video'
action_toggle_replay_record: str = 'capture_toggle_replay_record'
action_toggle_replay_play: str = 'capture_toggle_replay_play'
action_screenshot: str = 'capture_screenshot'
classmethod from_scene_capture_config(cfg: SceneCaptureConfig) CaptureHotkeysConfig[source]

Build an action-driven capture config from the scene key config.

mini_arcade_core.scenes.systems.builtins.capture_hotkeys.action_map_from_scene_capture_config(scene_cfg: SceneCaptureConfig, *, hotkeys_cfg: CaptureHotkeysConfig | None = None) mini_arcade_core.scenes.systems.builtins.actions.ActionMap[source]

Build default capture action bindings from SceneCaptureConfig key hotkeys.

class mini_arcade_core.scenes.systems.builtins.capture_hotkeys.CaptureHotkeysSystem[source]

Bases: mini_arcade_core.scenes.systems.base_system.BaseSystem[CaptureContext]

Handles screenshot/replay/video commands in a reusable way.

services: mini_arcade_core.runtime.services.RuntimeServices
action_map: mini_arcade_core.scenes.systems.builtins.actions.ActionMap
cfg: CaptureHotkeysConfig
name: str = 'capture_hotkeys'
phase: int
order: int = 13
step(ctx: CaptureContext) None[source]

Perform a single step of the system within the given context.

Parameters:

ctx (TSystemContext) – The system context.