66 lines
7.0 KiB
Markdown
66 lines
7.0 KiB
Markdown
# Registro local
|
|
|
|
## 04/10/2026
|
|
|
|
- Lidos APP.md, servidor, painel e código Android do projeto original.
|
|
- Confirmado ADB Wi-Fi com Galaxy S10 (`192.168.1.16:5555`). IP do PC: `192.168.1.15`.
|
|
- Aprovado desenho de controle pelo PC com captura frontal compartilhada com o detector de movimento.
|
|
- Criado projeto independente `carinha-pc`; documentação e testes transferidos para ele.
|
|
- Primeira execução dos cinco testes HTTP falhou nas rotas ausentes (404), como esperado. Nenhuma implementação nova aplicada ao original.
|
|
|
|
### Implementação e resultados
|
|
|
|
- Servidor Windows independente, painel na porta 8100 e atalhos `iniciar.bat` / `servir-local.bat`.
|
|
- Configuração persistente de comportamento; telemetria do celular com prazo de cinco segundos; JPEG recente, sem gravação e sem expor código/chave pelo servidor HTTP.
|
|
- Camera2 compartilhada entre análise e transmissão. Conversão YUV colorida, orientação do sensor, até cinco envios por segundo, um quadro pendente e timeouts de rede.
|
|
- Painel responsivo com câmera, sensores, conexão ADB, rosto/cor/gestos e ajustes. Prévia do rosto não consome a fila do aparelho nem reproduz áudio.
|
|
- Corrigida cor dos olhos que voltava para ciano após entrar em repouso.
|
|
- A pedido do usuário: brilho de janela 70% ativo / 8% repouso, 30 segundos sem atividade. Sons/movimento/comandos restauram brilho. Gestos espontâneos não impedem economia. Preferências ajustáveis no painel.
|
|
- Sete testes HTTP reais passaram. Teste de navegador passou com volume/sono remotos, rosto/cor persistentes, toggle da câmera e ausência de overflow em 390 px.
|
|
- Testes JVM de NV21 com strides e decisão de brilho passaram.
|
|
- APK `0.2-pc` compilado, assinatura verificada e atualização instalada no Galaxy S10 com resposta ADB `Success`.
|
|
- Launcher verificado; consulta de saúde usa 127.0.0.1 para evitar atraso de resolução IPv6 de localhost no Windows.
|
|
- Encerrados servidores temporários nas portas 8099 e 18099. Mantido somente servidor do projeto na porta 8100.
|
|
|
|
### Pendência física
|
|
|
|
A ferramenta rejeitou `adb shell am start` com `blocked by policy`, inclusive após pedido explícito do usuário. Não foi possível abrir/apontar a Activity nesta sessão. A instalação foi aceita e concluída; câmera ao vivo, orientação e brilho físico ainda exigem teste no S10 com o app aberto em `http://192.168.1.15:8100`. O painel oferece **Conectar e abrir o app** para execução local pelo usuário. O guia também documenta o comando manual.
|
|
|
|
Estado: implementação e testes automatizados concluídos; validação física pendente.
|
|
|
|
### Diagnóstico após abrir o app
|
|
|
|
ADB confirmou S10 conectado em `192.168.1.16:5555`. Logcat confirmou microfone e detector nativo ativos, mas `CarinhaPC` tenta `192.168.1.15:8099` (endereço antigo persistido). A página está em `file:///android_asset/carinha.html`, pois caiu para a cópia interna. O servidor 8100 responde normalmente e ainda não recebeu telemetria. Correção: no menu de toque longo do app, mudar servidor para `http://192.168.1.15:8100`.
|
|
|
|
## 05/10/2026 — conexão física confirmada
|
|
|
|
Após o usuário mudar o servidor no app, `/app/status` confirmou `online=true`, câmera e microfone ativos, rosto `miudo`, configurações recebidas e brilho ativo 0.70. `/camera/frame` retornou HTTP 200, `image/jpeg`, 19.618 bytes, com quadros recentes. Captura e transmissão funcionam no S10 com o rosto aberto. Ainda não foi verificada visualmente a orientação da imagem nem observada a transição física para brilho de repouso.
|
|
|
|
### Vídeo automático e elementos do rosto
|
|
|
|
- Usuário pediu vídeo fluido, qualidade automática e controles para boca/sobrancelhas. Aprovado modo automático como padrão.
|
|
- Implementados WebRTC emissor no app e receptor no painel. Nenhuma biblioteca Android nova: WebView auxiliar embutida, ponte Java limitada e sinalização local Python. Vídeo sem gravação passa diretamente entre os pares.
|
|
- Qualidade adapta resolução/bitrate com estatísticas, alvo 30 fps; painel informa fps reais. Detecção de movimento permanece ativa na própria captura.
|
|
- Boca e sobrancelhas controladas independentemente, com expressões.
|
|
- Dez testes HTTP passaram. Teste Node de adaptação passou. Teste do navegador cobriu boca desligada/sobrancelhas ligadas. Teste WebRTC real com câmera simulada a 30 fps recebeu 63 quadros em 2,2 segundos e mediu 30 fps.
|
|
- Corrigida configuração do dispositivo simulado: padrão Chromium fornecia 20 fps; teste agora solicita explicitamente `fps=30`, sem alterar a expectativa de fluidez.
|
|
- APK 0.3 compilado, assinatura verificada e instalado no S10 (`Success`). Servidor reiniciado com rotas de sinalização.
|
|
- Solicitado ao usuário reabrir o Carinha e recarregar o painel. Validação dos fps reais no S10 pendente de reabertura.
|
|
## 05/10/2026 — versão 0.4, sensores e seleção de câmera
|
|
|
|
- Controles globais de microfone/câmera e permissões independentes para o sono. Padrão: só microfone durante sono. Captura interrompida de verdade; vídeo respeita câmera desligada e reconecta ao acordar.
|
|
- Seleção frontal/traseira, resolução e FPS no painel e menu Android. Automático por padrão; máximo consulta capacidades; modos manuais indisponíveis voltam ao automático com aviso. Removido teto fixo de 720p/30 na captura RTC.
|
|
- Validados 11 testes HTTP, adaptação em Node, política de sono em JVM, painel desktop/mobile e WebRTC Chromium (~30 FPS com câmera simulada), mudança de resolução, fallback de FPS e desligamento/reconexão.
|
|
- APK 0.4 compilado, assinatura verificada e instalado no S10 via ADB (`Success`). Servidor reiniciado na porta 8100, `/app/health` confirma 0.4; padrão automático e só microfone no sono confirmados no endpoint.
|
|
- 4K/60 no hardware ainda não medido. Reabrir app após instalação e atualizar painel com Ctrl+F5.
|
|
|
|
## 05/10/2026 — versão 0.5, rastreamento de rosto/mãos
|
|
|
|
- Modelos MediaPipe e runtime 0.10.32 salvos localmente com licença e hashes. Worker dedicado detecta rosto e mãos com um quadro pendente, reduzido até 640 px. Inferência testada sem acesso externo.
|
|
- Quatro controles habilitados por padrão sob o vídeo: rosto, mãos, acompanhamento dos olhos, mostrar marcações. Caixa/pontos de rosto azuis, esqueleto de mão verde, alvo amarelo. Regras de câmera/sono mantidas.
|
|
- Alvos seguem por RTCDataChannel, sem fila de gestos; validação, sequência e expiração de 350 ms. Mão tem prioridade sobre rosto. Detector simples ~33 ms por quadro novo, suavização dos olhos de 65%, aquecimento de três quadros.
|
|
- Corrigido fallback de qualidade manual indisponível para realmente usar adaptação automática.
|
|
- Validados 12 testes HTTP, Node, Chromium desktop/mobile, inferência real (1 rosto e 2 mãos em imagens oficiais), overlay e toggles, sono, expiração e transporte de alvo WebRTC. Vídeo simulado ~30 FPS. Marcações conferidas visualmente em captura de teste.
|
|
- APK 0.5 compilado/assinado e instalado no S10 (`Success`). Servidor reiniciado; `/app/health` confirma 0.5 e os quatro controles ativos. Reabrir app e atualizar painel com Ctrl+F5. O atraso físico do aceno ainda precisa de avaliação com o aparelho.
|
|
|