"""Choisit l'implémentation d'overlay selon la plateforme. Convention des trois frontières (`moteur/`, `interface/`, `systeme/`) : **un module plat par plateforme** — `interface/cocoa.py`, `systeme/macos.py`, `moteur/mlx.py`. On ne passe à un sous-paquet que le jour où une plateforme exige réellement plusieurs fichiers. Sans cette règle écrite, la couche Windows aurait eu à deviner lequel des deux motifs imiter. """ import sys def classe_overlay_pour(plateforme=None): """Rend la CLASSE d'overlay (pas une instance : Cocoa exige `alloc().init()`).""" plateforme = plateforme or sys.platform if plateforme.startswith("darwin"): from interface.cocoa import PulseWindow return PulseWindow raise NotImplementedError(f"Aucune interface pour : {plateforme}")