TOUCH CONTROL CENTER v6.5

USO NORMAL
==========
Abra somente:

ABRIR_TOUCH_CONTROL_CENTER.bat

Na primeira vez:
- prepara Python portátil apenas para compilação;
- prepara .NET portátil apenas para compilação;
- compila o coletor invisível de sensores;
- gera o TouchControlCenter.exe.

Depois da primeira preparação:
o mesmo ABRIR_TOUCH_CONTROL_CENTER.bat abre diretamente o EXE.

O executável fica em:

APP\dist\TouchControlCenter.exe

Você NÃO precisa instalar Python ou .NET no Windows.

ESTRUTURA
=========
Na pasta principal existem somente:
- ABRIR_TOUCH_CONTROL_CENTER.bat
- LEIA-ME.txt
- APP

A pasta APP contém os arquivos internos do projeto.
Você não precisa mexer nela durante o uso normal.


HOTFIX v6.5.1
=============
Corrigida a compilação do coletor nativo de sensores:
- removido 'using' inválido do Computer;
- UpdateVisitor corrigido;
- fechamento do Computer feito com computer.Close();
- thread simplificada para evitar aviso de nulabilidade.

Se você tentou a v6.5:
1. Use esta pasta nova.
2. Execute ABRIR_TOUCH_CONTROL_CENTER.bat.
3. Não reutilize a pasta APP\_build antiga da v6.5.


HOTFIX v6.5.2
=============
O SensorHost não usa mais IVisitor, UpdateVisitor, Accept() ou Traverse().

Agora ele:
- chama hardware.Update() diretamente;
- percorre SubHardware recursivamente;
- lê os sensores diretamente da API pública do LibreHardwareMonitorLib.

Isso elimina o erro de compilação da etapa 6 mostrado na v6.5.1.


ATUALIZAÇÃO v6.5.3 — OTIMIZADA
===============================

CORREÇÃO DE COMPILAÇÃO
- Adicionado System.Collections.Generic para List<SensorDto>.
- Usings completos e explícitos no SensorHost.
- Cache bin/obj do SensorHost é apagado antes de compilar.

OTIMIZAÇÃO DE DESEMPENHO
- SensorHost monitora SOMENTE CPU e GPU.
- RAM, rede e discos continuam vindo diretamente do Windows.
- Placa-mãe, controladores, armazenamento e rede foram desativados no LHM interno.
- Sensores são atualizados a cada 1,5 segundo em vez de 750 ms.
- Thread do SensorHost roda com prioridade BelowNormal.
- Tipos de sensores irrelevantes são descartados antes da serialização.
- Backend atualizado aproximadamente a cada 1,5 s.
- Interface atualiza a cada 1,8 s.
- Spotify atualiza a cada 4 s em vez de 2,5 s.

O objetivo é reduzir CPU, memória e quantidade de chamadas sem deixar
o dashboard perceptivelmente lento.


ATUALIZAÇÃO v6.5.4 — GPU LOAD
=============================
- Corrigida a leitura de uso da GPU AMD RX 580.
- Primeiro tenta GPU Core / GPU Load.
- Se o driver não fornecer esse sensor, usa os engines 3D/D3D/Compute.
- Quando existem vários engines, mostra o maior percentual ativo,
  comportamento mais próximo do Gerenciador de Tarefas.


ATUALIZAÇÃO v6.5.5 — ENCERRAMENTO LIMPO
=======================================
- Ao fechar o Touch Control Center, o SensorHost também é encerrado.
- O backend chama /shutdown no coletor e depois termina o processo, se necessário.
- O SensorHost tem watchdog próprio.
- Se o dashboard fechar ou travar e ficar 30 segundos sem consultar o coletor,
  o SensorHost encerra sozinho.
- Isso evita o processo .NET ficar preso e bloquear exclusão de pastas antigas.


ATUALIZAÇÃO v6.5.6 — GPU LOAD SUAVIZADO + MEMORY CLOCK
======================================================
GPU LOAD
- Prioriza GPU Core / GPU Load real.
- Se o driver não expuser esse sensor, usa engines 3D/D3D/Compute.
- Não usa mais simplesmente o maior engine.
- Calcula RMS dos engines ativos e aplica média móvel exponencial.
- Isso reduz picos falsos do tipo 0% -> 70% -> 0%.

GPU MEMORY CLOCK
- Agora é lido explicitamente pelos sensores Clock:
  GPU Memory / Memory Clock / Memory.
- O card da página Sistema passa a mostrar o valor em MHz.


============================================================
TOUCH CONTROL CENTER v7.0 RC1
============================================================

BACKUP
A v6.5.6 foi preservada separadamente como versão estável de referência.

NOVOS RECURSOS
- Histórico de CPU/GPU/RAM ao tocar nos cards.
- Alertas configuráveis de temperatura, RAM e armazenamento.
- Controle de volume do Windows na Home.
- Perfis Minimal / Monitoramento / Música.
- Protetor de tela opcional.
- Logs locais e indicação de possível crash anterior.
- Onboarding simples na primeira execução.
- Estrutura de atualização automática preparada.
- Projeto de instalador/desinstalador via Inno Setup.
- Rascunhos de privacidade e licença para futura publicação.

OTIMIZAÇÃO
- Históricos ficam principalmente em memória.
- Persistência de histórico é reduzida.
- Recursos novos são carregados sob demanda.
- O coletor de hardware continua restrito a CPU/GPU.

ATUALIZAÇÃO AUTOMÁTICA
O endpoint ainda está apontando para example.com propositalmente.
Quando houver site oficial, trocar UPDATE_MANIFEST_URL no server.py para:
https://SEU-DOMINIO/version.json

INSTALADOR
A pasta INSTALLER contém TouchControlCenter.iss.
Ela gera instalador e desinstalador quando compilada com Inno Setup.

ASSINATURA DIGITAL
A assinatura do executável exige um certificado de code signing real.
O projeto não inclui certificado/chave privada.


ATUALIZAÇÃO v7.0 RC2
====================
- Removidos os botões MINIMAL / MONITORAMENTO / MÚSICA da Home.
- A navegação passa a ser exclusivamente pela barra inferior:
  HOME / MÚSICA / SISTEMA / AJUSTES.
- Controle de volume do Windows permanece no topo da Home.


============================================================
TOUCH CONTROL CENTER 1.0.0 — RELEASE
============================================================

Esta é a primeira versão pública estável do projeto.

PRINCIPAIS RECURSOS
- CPU/GPU: uso, temperatura, potência, clocks e VRAM.
- RAM, rede e armazenamento.
- Spotify: player, fila, playlists, dispositivos e Jam.
- Tema claro/escuro e cores personalizadas.
- Clima/localização.
- Histórico de CPU/GPU/RAM.
- Alertas configuráveis.
- Controle de volume do Windows.
- Protetor de tela.
- Inicialização com Windows, monitor preferido e tela cheia.
- Encerramento limpo do coletor nativo.

ATUALIZAÇÕES
O aplicativo consulta:
https://touch-control-center.pages.dev/version.json

IMPORTANTE
O executável final deve ser gerado no Windows usando
ABRIR_TOUCH_CONTROL_CENTER.bat / APP\PREPARAR_APP.bat.
