- Add PipelineIntrospectionSource that renders live ASCII DAG with metrics - Add PipelineMetricsSensor exposing pipeline performance as sensor values - Add PipelineIntrospectionDemo controller with 3-phase animation: - Phase 1: Toggle effects one at a time (3s each) - Phase 2: LFO drives intensity default→max→min→default - Phase 3: All effects with shared LFO (infinite loop) - Add pipeline-inspect preset - Add get_frame_times() to Pipeline for sparkline data - Add tests for new components - Update mise.toml with pipeline-inspect preset task
107 lines
2.3 KiB
TOML
107 lines
2.3 KiB
TOML
# Mainline Presets Configuration
|
|
# Human- and machine-readable preset definitions
|
|
#
|
|
# Format: TOML
|
|
# Usage: mainline --preset <name>
|
|
#
|
|
# Built-in presets can be overridden by user presets in:
|
|
# - ~/.config/mainline/presets.toml
|
|
# - ./presets.toml (local override)
|
|
|
|
[presets.demo]
|
|
description = "Demo mode with effect cycling and camera modes"
|
|
source = "headlines"
|
|
display = "pygame"
|
|
camera = "vertical"
|
|
effects = ["noise", "fade", "glitch", "firehose", "hud"]
|
|
viewport_width = 80
|
|
viewport_height = 24
|
|
camera_speed = 1.0
|
|
firehose_enabled = true
|
|
|
|
[presets.poetry]
|
|
description = "Poetry feed with subtle effects"
|
|
source = "poetry"
|
|
display = "pygame"
|
|
camera = "vertical"
|
|
effects = ["fade", "hud"]
|
|
viewport_width = 80
|
|
viewport_height = 24
|
|
camera_speed = 0.5
|
|
firehose_enabled = false
|
|
|
|
[presets.websocket]
|
|
description = "WebSocket display mode"
|
|
source = "headlines"
|
|
display = "websocket"
|
|
camera = "vertical"
|
|
effects = ["noise", "fade", "glitch", "hud"]
|
|
viewport_width = 80
|
|
viewport_height = 24
|
|
camera_speed = 1.0
|
|
firehose_enabled = false
|
|
|
|
[presets.sixel]
|
|
description = "Sixel graphics display mode"
|
|
source = "headlines"
|
|
display = "sixel"
|
|
camera = "vertical"
|
|
effects = ["noise", "fade", "glitch", "hud"]
|
|
viewport_width = 80
|
|
viewport_height = 24
|
|
camera_speed = 1.0
|
|
firehose_enabled = false
|
|
|
|
[presets.firehose]
|
|
description = "High-speed firehose mode"
|
|
source = "headlines"
|
|
display = "pygame"
|
|
camera = "vertical"
|
|
effects = ["noise", "fade", "glitch", "firehose", "hud"]
|
|
viewport_width = 80
|
|
viewport_height = 24
|
|
camera_speed = 2.0
|
|
firehose_enabled = true
|
|
|
|
[presets.pipeline-inspect]
|
|
description = "Live pipeline introspection with DAG and performance metrics"
|
|
source = "pipeline-inspect"
|
|
display = "terminal"
|
|
camera = "vertical"
|
|
effects = ["hud"]
|
|
viewport_width = 100
|
|
viewport_height = 35
|
|
camera_speed = 0.3
|
|
firehose_enabled = false
|
|
|
|
# Sensor configuration (for future use with param bindings)
|
|
[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
|