| id |
ticket |
title |
status |
created |
updated |
decisions |
tags |
| PLN-0006 |
perf-host-debug-overlay-isolation |
PR/Plan - [PERF] Host Debug Overlay Isolation |
open |
2026-04-10 |
2026-04-10 |
|
|
PR/Plan - [PERF] Host Debug Overlay Isolation
Briefing
Implementação do isolamento total do overlay de debug no Host Desktop (prometeu-host-desktop-winit), removendo o acoplamento com o runtime e o pipeline de gfx emulado.
Decisions de Origem
DEC-0007: [PERF] Host Debug Overlay Isolation.
DEC-0005: [PERF] Push-based Telemetry Model (base para extração de dados).
Alvo
crates/host/prometeu-host-desktop-winit: Implementação da camada nativa de HUD.
crates/runtime: Exposição de campos de telemetria via API.
docs/specs/runtime: Atualização das especificações de debug e portabilidade.
Escopo
- Spec Work:
- Atualizar
docs/specs/runtime/10-debug-inspection-and-profiling.md para remover menções ao HUD emulado.
- Atualizar
docs/specs/runtime/11-portability-and-cross-platform-execution.md para reforçar a separação de responsabilidades (Host-side HUD).
- Code Work:
- Expansão da API de telemetria no runtime para incluir todos os dados necessários (Cycles, Memory, Logs).
- Remoção do código de desenho de texto legado no
runner.rs.
- Integração de biblioteca nativa (ex:
egui ou composição via pixels) para renderização do novo overlay no Host.
- Implementação do toggle via tecla F1 no
HostRunner.
Fora de Escopo
- Implementação de overlay visual em outros hosts (mobile, handheld).
- Alterações na lógica de emulação central (loop de execução).
Plano de Execucao
- Fase 1: Especificações (Spec)
- Revisar e atualizar os arquivos de especificação (
10-debug e 11-portability).
- Fase 2: Runtime Telemetry API (Code)
- Garantir que todos os campos de telemetria estejam expostos via atômicos/push-based conforme
DEC-0005.
- Fase 3: Host HUD Implementation (Code)
- Integrar o novo motor de HUD no
prometeu-host-desktop-winit.
- Conectar os dados da API de telemetria à visualização do HUD.
- Fase 4: Cleanup (Code)
- Remover hotspots de formatação de strings e draw calls do overlay antigo no Host.
Criterios de Aceite
- O overlay de debug é ativado/desativado via tecla F1.
- O overlay utiliza fontes TrueType (monospaced) nítidas e fundo semi-transparente.
- O framebuffer emulado não contém pixels do HUD (composição nativa pós-upscaling).
- O custo de ciclos do runtime é idêntico com o overlay ligado ou desligado.
Tests / Validacao
- Verificação Visual: Confirmar a qualidade das fontes e a transparência do novo HUD.
- Benchmarking: Comparar os ciclos consumidos por frame com e sem o HUD ativo para provar isolamento.
- Teste de Regressão: Garantir que o F1 toggle não afeta a estabilidade do loop de emulação.
Riscos
- Overhead no Host: A renderização nativa (ex:
egui) pode introduzir overhead no Host Desktop em máquinas muito fracas (geralmente aceitável em Desktop).
- Sincronização de Telemetria: Pequeno atraso visual entre o frame renderizado e os dados exibidos se a coleta for puramente assíncrona (aceitável para telemetria de debug).