--- title: "Roadmap da UI por função" version: snapshot-2026-10-06 engineGeneration: astra-current language: C# status: source-reviewed runtimeVerified: false platformEvidence: [] url: https://astraengine.com.br/pt-br/snapshot-2026-10-06/ui/roadmap/ --- # Roadmap da UI por função Estado atual, lacunas e critérios para ampliar imagem, layout, interação e HUD sem prometer suporte ausente. ## Como ler Revisão de código e relatórios até 06/10/2026. **Presente no código** é diferente de **validado neste APK/aparelho**. O tutorial do HUD recebe evidência de compilação separada; esta edição das docs não acrescenta um novo aceite físico. Não há datas prometidas para os itens pendentes. Os IDs R vêm do plano de UI universal da Astra, e não representam uma porcentagem de conclusão. ## R0: identidade, dados e persistência **Parcial.** Documento AEUI 5 com leitura 1–4, IDs locais estáveis, recurso registrado e instância runtime por Canvas. Identidade de mundo/lease evita misturar nós de sessões distintas. Falta completar separação de pintura/hit/foco/semântica, PropertyId de UI e bindings persistentes entre documentos. Aceite futuro: referência sobreviver a salvar/reabrir/duplicar, com diagnóstico de alvo removido. ## R1: autoria integrada **Parcial.** Hierarquia projeta Canvas/elementos; seleção abre Inspector contextual; criação, rename, reorder, duplicate/remove, Undo e fonte compartilhada presentes. Faltam drag-and-drop entre fontes, gizmos completos de layout, prévia autoral simultânea de todos os Canvas e overrides por instância. Aceite: criar/editar a UI na cena com contexto claro e sem alterar outra fonte por engano. ## R2: Image, skins e recursos **Parcial.** Image lê recurso do projeto, Tinta e Esticar/Conter/Cobrir, com atlas. Atlas atual: uma página **2048 × 2048**, até **64 fontes**, cada imagem até **1024 × 1024 RGBA8**; documentos até **1024 nodes**, e **64 leases por mundo**. Não entregue: nine-slice, sprite sheets, múltiplas páginas/fences e skins completos. Aceite: bordas preservadas em vários tamanhos, paginação sem colisão e erro explícito para recurso ausente. HUD inteiro/vazio já pode usar duas Images sobrepostas. ## R3: input, captura e foco **Parcial.** Captura por device/pointer, até 32 por documento; cancelar ao remover/desabilitar/trocar fonte. Não entregue: foco/navegação geral, modal scopes, hit mask de Image e semântica/acessibilidade completa. Aceite: pressionar/arrastar/cancelar múltiplos controles sem ativar a cena por baixo, em aparelho. ## R4: controles e receptores **Parcial.** Joystick, ActionButton e LookArea autorados; receptor Character/motor dinâmico, câmera e espaço de movimento. Pareamento geral de hardware/player, buffers e restante do aceite multitouch precisam de fechamento. Os subpacotes de criação de Character/motor têm relatórios próprios; sua presença não conclui toda R4. ## R5: layout responsivo **Parcial.** Âncoras/bordas, HBox/VBox/Grid, medidas, pesos, padding e espaçamento presentes. Não declarar CanvasScaler, breakpoints, wrap/virtualização ou safe area automática como prontos. Aceite: HUD legível em viewport pequeno/tablet com área segura e mudança de resolução, sem offsets compensatórios ocultos. ## R6: texto Text e escrita de strings presentes; pipeline avançado de fontes, shaping/localização, rich text e comportamento completo de overflow continuam no planejamento. Aceite: idioma/tamanho distintos preservarem medição e legibilidade. ## R7: bindings e coleções **Pendente no fluxo geral.** O HUD atual usa Behavior C# para ligar PlayerHealth às Images. Não há vínculo automático "campo vida → corações" exposto como propriedade entregue. Próximo trabalho: contratos persistentes, mudanças observáveis e coleções. Aceite: fonte de dados mudar e o elemento atualizar sem binding quebrado após reload. ## R8: inventário Grid organiza filhos autorados. Inventário completo, slots tipados, drag/drop, stacks e transações continuam pendentes. Não tratar a existência de Grid como um sistema de inventário. ## R9: apresentação Tela e plano Mundo/objeto presentes. RenderTexture, superfície curva, ligação a osso e composição geral de viewports/players continuam pendentes. Aceite: desenho e hit concordarem com apresentação, transformações, oclusão e viewport. ## R10: animação **Parcial.** Duas poses XY/escala uniforme/alpha, curvas, delay, autoplay, loop e ida/volta; estados Normal/Pressionado/Desabilitado e ações ordenadas. Faltam timeline/keyframes, sprite animation, rotação/escala por eixo, callbacks de término, pause/resume dedicado e política completa de reduced motion. Aceite: cancelamento/reload/destruição liberarem estado e eventos corretamente. ## R11: templates e exportação Os exemplos públicos de docs são receitas e scripts autorados. Biblioteca completa de templates, exportação e importação com fidelidade de todas as funções permanece no planejamento. Não presumir que um exemplo histórico já seja modelo distribuído no APK. ## R12: acesso, diagnóstico e performance Diagnóstico básico e limites existem. Fechamento inclui acessibilidade, profiler/telemetria de UI, orçamento de imagens, grandes coleções e aceite físico. Medição de CPU em host não mede GPU/Android. ## Referências estudadas [Godot 4.5 TextureRect](https://docs.godotengine.org/en/4.5/classes/class_texturerect.html) separa textura e ajuste ao retângulo; a Astra usa os três modos de Image descritos, sem presumir todos os modos Godot. [Unity uGUI 2.0 Image](https://docs.unity3d.com/Packages/com.unity.ugui@2.0/manual/script-Image.html) e [Godot 4.5 TextureProgressBar](https://docs.godotengine.org/en/4.5/classes/class_textureprogressbar.html) oferecem recursos de preenchimento que não autorizam inventar fillAmount na Astra. Nosso exemplo usa imagens inteiro/vazio ou Progress para barra contínua.