feat: Add gallery presets, MultiDisplay support, and viewport tests

- Add ~20 gallery presets covering sources, effects, cameras, displays
- Add MultiDisplay support with --display multi:terminal,pygame syntax
- Fix ViewportFilterStage to recompute layout on viewport_width change
- Add benchmark.py module for hook-based performance testing
- Add viewport resize tests to test_viewport_filter_performance.py
This commit is contained in:
2026-03-17 01:24:15 -07:00
parent 57de835ae0
commit 05d261273e
8 changed files with 453 additions and 128 deletions

View File

@@ -30,11 +30,11 @@ class TestMain:
patch("engine.app.run_pipeline_mode") as mock_run,
):
mock_config.PIPELINE_DIAGRAM = False
mock_config.PRESET = "border-test"
mock_config.PRESET = "gallery-sources"
mock_config.PIPELINE_MODE = False
sys.argv = ["mainline.py"]
main()
mock_run.assert_called_once_with("border-test")
mock_run.assert_called_once_with("gallery-sources")
def test_main_exits_on_unknown_preset(self):
"""main() exits with error for unknown preset."""
@@ -120,11 +120,11 @@ class TestRunPipelineMode:
mock_create.return_value = mock_display
try:
run_pipeline_mode("border-test")
run_pipeline_mode("gallery-display-terminal")
except (KeyboardInterrupt, SystemExit):
pass
# Verify display was created with 'terminal' (preset display for border-test)
# Verify display was created with 'terminal' (preset display)
mock_create.assert_called_once_with("terminal")
def test_run_pipeline_mode_respects_display_cli_flag(self):