feat(presets): Add upstream-default preset and enhance demo preset

- Add upstream-default preset matching upstream mainline behavior:
  - Terminal display (not pygame)
  - No message overlay
  - Classic effects: noise, fade, glitch, firehose
  - Mixed positioning mode

- Enhance demo preset to showcase sideline features:
  - Hotswappable effects via effect plugins
  - LFO sensor modulation (oscillator sensor)
  - Mixed positioning mode
  - Message overlay with ntfy integration
  - Includes hud effect for visual feedback

- Update all presets to use mixed positioning mode
- Update completion script for --positioning flag

Usage:
  python -m mainline --preset upstream-default --display terminal
  python -m mainline --preset demo --display pygame
This commit is contained in:
2026-03-21 18:16:02 -07:00
parent 33df254409
commit 901717b86b
8 changed files with 219 additions and 4 deletions

View File

@@ -265,6 +265,12 @@ def run_pipeline_mode_direct():
)
display = DisplayRegistry.create(display_name)
# Set positioning mode
if "--positioning" in sys.argv:
idx = sys.argv.index("--positioning")
if idx + 1 < len(sys.argv):
params.positioning = sys.argv[idx + 1]
if not display:
print(f" \033[38;5;196mFailed to create display: {display_name}\033[0m")
sys.exit(1)