Files
carinha-control-panel/docs/DASHBOARD.md
T

3.4 KiB

Dashboard Carinha — 05/10/2026

Objetivo: unificar todas as páginas de operação em tema escuro/ciano com navegação lateral. A tela do celular continua em tela cheia.

Revisão

  • Navegação repetida em cinco páginas, com nomes e estilos diferentes.
  • Conversar copiava grande parte do CSS de câmera, incluindo regras sem elementos correspondentes.
  • Braço possuía duas camadas de CSS e tema claro divergente.
  • Treinamento misturava rotina, geração e biblioteca de reações.
  • Chave/modelo Gemini só eram configuráveis fora da interface.
  • Biblioteca permitia prévia e feedback, mas não edição, duplicação, desativação ou desfazer.

Organização

Visão geral, Câmera e rosto, Conversar, Emojis, Treinamento, Servos, Braço, API. Shell, tipografia, campos, botões, navegação e estados compartilhados. Regras específicas de câmera e braço ficam separadas.

Emojis: biblioteca com busca, prévia, mostrar/parar no celular, edição de metadados e emoji pronto, criação manual, duplicar, ativar/desativar e excluir com desfazer persistente. SVG gerado é preservado; mudar para emoji é uma ação explícita. Desativar impede a escolha automática pela conversa.

API: visualizar estado sem revelar a chave, trocar chave/modelo Gemini, testar conexão. Chaves ficam em arquivo privado no servidor, nunca nas respostas HTTP ou Git. Não adicionar provedores que não possuem integração.

Calibrações, bancos e serviço existentes preservados. Nenhum movimento de motor é disparado ao abrir telas. Validação: testes de API/reversibilidade e navegação responsiva de todas as telas, sem erros JS; fluxos atuais de conversa, câmera e servos mantidos.

Entrega e verificações

Oito páginas usam o mesmo menu lateral e o mesmo tema. Removidos os blocos de CSS genérico repetidos, a navegação inline e o CSS de câmera que havia sido copiado para Conversar. A biblioteca foi separada de Treinamento. Exemplares de SVG continuam intactos. O feedback também participa do desfazer.

45 testes Python passaram, incluindo migração de banco antigo, recuperação de SVG e histórico persistente, confidencialidade da chave, API, conversa, treinamento e controles dos servos. Testes de navegador verificaram oito páginas com menu ativo, largura de 390 px sem rolagem horizontal e ausência de erros JavaScript. Criar, prévia de emoji dentro dos olhos sem íris branca, excluir, desfazer e parar passaram em servidor de teste separado. No Orange Pi, as oito rotas publicadas foram verificadas, acesso ao arquivo privado retornou 404 e o teste real do Gemini respondeu em 0,77 s. Não foi realizado teste físico de motores.

Backup prévio de HTML/JS/Python e banco de treinamento: /opt/carinha-pc/backup-dashboard-20261005. Configurações dos servos e do braço não foram alteradas. Para voltar ao código anterior de treinamento, também é necessário restaurar o banco anterior, pois a migração acrescenta colunas; restauração do backup do banco perde as alterações feitas após esse backup.

Duplicações intencionais: carinha.html também é embutido no APK para fallback sem servidor; tabelas de gestos no renderer/servidor representam o protocolo existente. Não foram removidas durante o redesenho.

A tela API cobre o provedor integrado Gemini e aponta para a opção local Qwen. DeepSeek não foi integrado nesta reformulação. O painel continua destinado à rede local, sem login de usuários.