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

@@ -130,6 +130,7 @@ class Config:
script_fonts: dict[str, str] = field(default_factory=_get_platform_font_paths)
display: str = "pygame"
positioning: str = "mixed"
websocket: bool = False
websocket_port: int = 8765
theme: str = "green"
@@ -174,6 +175,7 @@ class Config:
kata_glyphs="ハミヒーウシナモニサワツオリアホテマケメエカキムユラセネスタヌヘ",
script_fonts=_get_platform_font_paths(),
display=_arg_value("--display", argv) or "terminal",
positioning=_arg_value("--positioning", argv) or "mixed",
websocket="--websocket" in argv,
websocket_port=_arg_int("--websocket-port", 8765, argv),
theme=_arg_value("--theme", argv) or "green",