Skip to content

feat(ambiance): effets répartis sur plusieurs ampoules et rôles fins par ampoule #211

Description

@CCoupel

Contexte

Extension du milestone v10.0.0 — Éclairage ambiance, une fois le cœur livré et validé.

Cette issue a été re-scopée le 2026-09-02. Elle couvrait « couleurs par équipe + ciblage
ampoule par ampoule » ; son sous-ensemble minimal — une ampoule et une couleur par équipe — a
été remonté dans le cœur du milestone v10.0.0 sous #213
, à la demande de l'utilisateur : c'est
la capacité qui justifie le milestone.

Ne reste donc ici que ce qui est réellement avancé, et qui suppose de traiter l'ensemble des
ampoules comme une seule surface
plutôt que comme N cibles indépendantes.

Portée

  • Effets répartis sur plusieurs ampoules : balayage, propagation, comète parcourant la salle —
    l'équivalent pour la pièce de l'effet COMET que les buzzers rendent déjà de façon autonome
    (sendLEDSetComet, cmd/server/main.go:4586).
  • Rôles fins par ampoule au-delà de l'affectation à une équipe livrée par feat(ambiance): éclairage différencié par équipe #213 : ampoule
    d'accentuation, éclairage de fond, ampoule dédiée à l'animateur.
  • Dégradés et scènes multi-couleurs sur l'ensemble des ampoules.

Le point dur

Un effet réparti impose un ordre et un cadencement entre ampoules — soit exactement ce que la
coalescence « dernier état gagnant » de #205 écrase par construction, et pour de bonnes raisons
(protéger le débit vers le pont). Un effet de balayage ne peut donc pas être produit
par la même voie que les scènes d'événement : il lui faut un mécanisme distinct, ou une exécution
autonome côté ampoule.

C'est ce qui distingue cette issue de #213, et ce qui justifie qu'elle reste en extension : #213
écrit N états indépendants, ici il faut orchestrer une séquence dans le temps.

Prérequis mesuré

L'étalement entre ampoules mesuré par #206 (contracts/hue-bridge.md §8) conditionne la
faisabilité réelle : le pilote écrit ampoule par ampoule, à ~40 ms l'unité. Au-delà d'un certain
nombre d'ampoules, un effet réparti devient visiblement saccadé — et contre-productif.

À ré-examiner ici, et ici seulement : un groupe Hue géré par BuzzMaster pourrait servir un
effet qui met toutes les ampoules dans le même état. Le contrat (§2) l'a écarté du cœur parce que
#213 demande des couleurs différentes par équipe — mais un balayage n'est pas #213.

Dépendances

Milestone v10.0.0 livré, #213 en particulier (le modèle d'affectation des ampoules).

Note du 2026-09-03 — issue mise à jour après l'abandon du BLE au profit du pont Hue en REST
local. Les références au GATT et à l'absence de primitive de groupe étaient caduques.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogItem du backlog BuzzMasterenhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions