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