feat(vida): ritmo também define a sensibilidade dos sensores

O servidor manda "ritmo calmo|normal|agitado" ao celular junto com o
humor, e o rosto ajusta limiares e quantos estímulos precisa:

- calmo: limiares 50% mais altos, 3 sustos seguidos para reagir, o dobro
  de sons e 4 movimentos para acordar, 3 disparos do PIR em 2 min;
- normal: reage a barulho alto e movimento forte, 2 movimentos ou os
  sons configurados para acordar;
- agitado: limiares 40% mais baixos, reage a qualquer som ou movimento
  (com reações variadas) e acorda no primeiro estímulo.

A madrugada silenciosa continua valendo por cima. Com o modo vida
desligado o celular volta ao "normal" (só os Ajustes).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
julio
2026-10-06 17:39:14 -03:00
co-authored by Claude Opus 5.5
parent dd40c730be
commit 9e09df40e2
6 changed files with 141 additions and 52 deletions
+5 -4
View File
@@ -10,10 +10,11 @@
const v = $derived(estado.vida);
let diarioAberto = $state(false);
// O ritmo também é a sensibilidade dos sensores no celular.
const RITMOS = [
{ valor: 'calmo', nome: 'Calmo' },
{ valor: 'normal', nome: 'Normal' },
{ valor: 'agitado', nome: 'Agitado' },
{ valor: 'calmo', nome: 'Calmo', descricao: 'Age pouco; só reage e acorda com vários sons ou movimentos seguidos' },
{ valor: 'normal', nome: 'Normal', descricao: 'Reage a barulho alto e movimento forte' },
{ valor: 'agitado', nome: 'Agitado', descricao: 'Age bastante e reage a qualquer som ou movimento' },
] as const;
const MOTIVOS: Record<string, string> = {
@@ -96,7 +97,7 @@
<Interruptor rotulo="Inventar figurinhas sozinho" checked={v.config.criar_emojis} onchange={(l) => configurarVida({ criar_emojis: l })} />
{/snippet}
</Linha>
<Linha icone={Gauge} cor="#ff9500" rotulo="Ritmo">
<Linha icone={Gauge} cor="#ff9500" rotulo="Ritmo" detalhe={RITMOS.find((r) => r.valor === v.config.ritmo)?.descricao ?? ''}>
{#snippet acessorio()}
<span class="segmentos" role="radiogroup" aria-label="Ritmo">
{#each RITMOS as r (r.valor)}