Smart Color en détail

Comment une jauge transforme l'usage en couleur. Pour les réglages, voir Smart Color.

Le mode à seuils

  • util >= critical (défaut 85%) -> rouge
  • util >= warning (défaut 60%) -> orange
  • sinon -> vert

Utilisé quand Smart Color est coupé, et pour le pool Extra Credits, qui n'a pas de fenêtre de temps.

Le mode Smart

Trois signaux de risque, combinés via max() pour que le pire l'emporte :

  • Absolu : votre proximité avec la limite, sur une rampe douce entre deux bornes du profil. 98% utilisé donne toujours rouge.
  • Projection : ce rythme va-t-il dépasser ? u / e (utilisation sur fraction écoulée) au-dessus de 1 veut dire oui. Atténué en début de fenêtre, pour qu'un burst à 5% utilisé / 1% écoulé n'alarme pas.
  • Pacing : de combien vous dépassez le rythme linéaire, au-delà de votre marge de pacing.

La santé de projection atténue le signal absolu quand votre rythme projette une fin sous la limite. Exemple : 72% utilisé à 4h12 d'une fenêtre de 5 heures, pacing tranquille. La santé de projection vaut environ 0.53, l'absolu tombe à 0.25, la jauge reste verte : vous finirez autour de 86%. À 98% utilisé avec 30 min restantes, elle vaut 1 et la jauge passe au rouge.

Paramètres des profils

PatientÉquilibréVigilant
Confiance (k)358
Saturation projection160%140%120%
Bornes absolues55% - 105%50% - 100%45% - 90%

k : la vitesse à laquelle le rythme devient fiable. Saturation : la fin projetée qui vaut risque maximal. Bornes : début et fin de la rampe absolue.

Du score à la couleur

Quatre ancres mappent le score sur les couleurs de jauge de votre thème : normal de 0 à 0.30, attention à 0.55, critique de 0.85 à 1. Entre deux ancres, les couleurs se mélangent en HSB plutôt qu'en sRGB linéaire : un risque moyen donne un jaune-vert net.

Cas limites

  • Au-delà de 100% : rouge dans les deux modes, pacing Chaud.
  • Pas de date de reset : signal absolu uniquement. Le pacing affiche un glyphe sparkles à la place de l'icône de zone, sans track.
  • OpenAI Codex : utilise la durée de fenêtre déclarée par le serveur, donc un plan uniquement hebdo suit sa propre horloge.
  • Thème custom : pas de sélecteur Attention, cette zone garde donc l'orange par défaut (#FF9500).
  • Reduce Motion : les transitions de couleur restent, les animations spring sont réduites.
Formules exactes et matrice de validation : docs/design/COLORING.md.