# Mainline Presets Configuration # Human- and machine-readable preset definitions # # Format: TOML # Usage: mainline --preset # # Built-in presets can be overridden by user presets in: # - ~/.config/mainline/presets.toml # - ./presets.toml (local override) # ============================================ # DATA SOURCE GALLERY # ============================================ [presets.gallery-sources] description = "Gallery: Headlines data source" source = "headlines" display = "pygame" camera = "feed" effects = [] camera_speed = 0.1 viewport_width = 80 viewport_height = 24 [presets.gallery-sources-poetry] description = "Gallery: Poetry data source" source = "poetry" display = "pygame" camera = "feed" effects = ["fade"] camera_speed = 0.1 viewport_width = 80 viewport_height = 24 [presets.gallery-sources-pipeline] description = "Gallery: Pipeline introspection" source = "pipeline-inspect" display = "pygame" camera = "scroll" effects = [] camera_speed = 0.3 viewport_width = 100 viewport_height = 35 [presets.gallery-sources-empty] description = "Gallery: Empty source (for border tests)" source = "empty" display = "terminal" camera = "feed" effects = ["border"] camera_speed = 0.1 viewport_width = 80 viewport_height = 24 # ============================================ # EFFECT GALLERY # ============================================ [presets.gallery-effect-noise] description = "Gallery: Noise effect" source = "headlines" display = "pygame" camera = "feed" effects = ["noise"] camera_speed = 0.1 viewport_width = 80 viewport_height = 24 [presets.gallery-effect-fade] description = "Gallery: Fade effect" source = "headlines" display = "pygame" camera = "feed" effects = ["fade"] camera_speed = 0.1 viewport_width = 80 viewport_height = 24 [presets.gallery-effect-glitch] description = "Gallery: Glitch effect" source = "headlines" display = "pygame" camera = "feed" effects = ["glitch"] camera_speed = 0.1 viewport_width = 80 viewport_height = 24 [presets.gallery-effect-firehose] description = "Gallery: Firehose effect" source = "headlines" display = "pygame" camera = "feed" effects = ["firehose"] camera_speed = 0.1 viewport_width = 80 viewport_height = 24 [presets.gallery-effect-hud] description = "Gallery: HUD effect" source = "headlines" display = "pygame" camera = "feed" effects = ["hud"] camera_speed = 0.1 viewport_width = 80 viewport_height = 24 [presets.gallery-effect-tint] description = "Gallery: Tint effect" source = "headlines" display = "pygame" camera = "feed" effects = ["tint"] camera_speed = 0.1 viewport_width = 80 viewport_height = 24 [presets.gallery-effect-border] description = "Gallery: Border effect" source = "headlines" display = "pygame" camera = "feed" effects = ["border"] camera_speed = 0.1 viewport_width = 80 viewport_height = 24 [presets.gallery-effect-crop] description = "Gallery: Crop effect" source = "headlines" display = "pygame" camera = "feed" effects = ["crop"] camera_speed = 0.1 viewport_width = 80 viewport_height = 24 # ============================================ # CAMERA GALLERY # ============================================ [presets.gallery-camera-feed] description = "Gallery: Feed camera (rapid single-item)" source = "headlines" display = "pygame" camera = "feed" effects = ["noise"] camera_speed = 1.0 viewport_width = 80 viewport_height = 24 [presets.gallery-camera-scroll] description = "Gallery: Scroll camera (smooth)" source = "headlines" display = "pygame" camera = "scroll" effects = ["noise"] camera_speed = 0.3 viewport_width = 80 viewport_height = 24 [presets.gallery-camera-horizontal] description = "Gallery: Horizontal camera" source = "headlines" display = "pygame" camera = "horizontal" effects = ["noise"] camera_speed = 0.5 viewport_width = 80 viewport_height = 24 [presets.gallery-camera-omni] description = "Gallery: Omni camera" source = "headlines" display = "pygame" camera = "omni" effects = ["noise"] camera_speed = 0.5 viewport_width = 80 viewport_height = 24 [presets.gallery-camera-floating] description = "Gallery: Floating camera" source = "headlines" display = "pygame" camera = "floating" effects = ["noise"] camera_speed = 1.0 viewport_width = 80 viewport_height = 24 [presets.gallery-camera-bounce] description = "Gallery: Bounce camera" source = "headlines" display = "pygame" camera = "bounce" effects = ["noise"] camera_speed = 1.0 viewport_width = 80 viewport_height = 24 # ============================================ # DISPLAY GALLERY # ============================================ [presets.gallery-display-terminal] description = "Gallery: Terminal display" source = "headlines" display = "terminal" camera = "feed" effects = ["noise"] camera_speed = 0.1 viewport_width = 80 viewport_height = 24 [presets.gallery-display-pygame] description = "Gallery: Pygame display" source = "headlines" display = "pygame" camera = "feed" effects = ["noise"] camera_speed = 0.1 viewport_width = 80 viewport_height = 24 [presets.gallery-display-websocket] description = "Gallery: WebSocket display" source = "headlines" display = "websocket" camera = "feed" effects = ["noise"] camera_speed = 0.1 viewport_width = 80 viewport_height = 24 [presets.gallery-display-multi] description = "Gallery: MultiDisplay (terminal + pygame)" source = "headlines" display = "multi:terminal,pygame" camera = "feed" effects = ["noise"] camera_speed = 0.1 viewport_width = 80 viewport_height = 24 # ============================================ # SENSOR CONFIGURATION # ============================================ [sensors.mic] enabled = false threshold_db = 50.0 [sensors.oscillator] enabled = false waveform = "sine" frequency = 1.0 # ============================================ # EFFECT CONFIGURATIONS # ============================================ [effect_configs.noise] enabled = true intensity = 1.0 [effect_configs.fade] enabled = true intensity = 1.0 [effect_configs.glitch] enabled = true intensity = 0.5 [effect_configs.firehose] enabled = true intensity = 1.0 [effect_configs.hud] enabled = true intensity = 1.0