SIGN IN SIGN UP

refactor: match/case + dunders + rotation fix for portrait content

- PmRegistry: singleton with __getitem__, __contains__, __iter__;
  PmEntry.__str__ returns model_name
- match/case dispatch: LED effects, IPC router, rainbow phase,
  overlay metrics, display mode panels, handler types, pkg manager
- _image_rotation: reads overlay dims — portrait content from dir
  switch skips pixel rotation (fixes double-rotate on zt masks)
- Cloud theme: decode video at overlay dims, not canvas size
  (fixes landscape frames after mask apply at rotation=90)
- 13 new tests covering dunders + rotation + cloud theme target

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
L
Lexonight1 committed
76e6765a5d90e47b1a6e5bb2aa28111ca1eb88a4
Parent: adf7209