First upload, 18 controller version

This commit is contained in:
2026-04-14 15:23:56 +02:00
commit 8c55001a1c
3810 changed files with 764061 additions and 0 deletions

24
app/ui/preview_modes.py Normal file
View File

@@ -0,0 +1,24 @@
from __future__ import annotations
PREVIEW_MODE_TILE = "tile"
PREVIEW_MODE_TECHNICAL = "technical"
PREVIEW_MODE_LEDS = "leds"
PREVIEW_MODES = (PREVIEW_MODE_TILE, PREVIEW_MODE_TECHNICAL, PREVIEW_MODE_LEDS)
def normalize_preview_mode(mode: str | None) -> str:
normalized = str(mode or PREVIEW_MODE_TILE).strip().lower()
return normalized if normalized in PREVIEW_MODES else PREVIEW_MODE_TILE
def preview_mode_flags(mode: str) -> dict[str, bool]:
preview_mode = normalize_preview_mode(mode)
return {
"show_fill": preview_mode in {PREVIEW_MODE_TILE, PREVIEW_MODE_TECHNICAL},
"show_labels": preview_mode in {PREVIEW_MODE_TILE, PREVIEW_MODE_TECHNICAL},
"show_leds": preview_mode in {PREVIEW_MODE_TECHNICAL, PREVIEW_MODE_LEDS},
"show_guides": preview_mode == PREVIEW_MODE_TECHNICAL,
"show_direction": preview_mode == PREVIEW_MODE_TECHNICAL,
"show_overlay_title": preview_mode == PREVIEW_MODE_TECHNICAL,
"show_technical_meta": preview_mode == PREVIEW_MODE_TECHNICAL,
}