v1.11.0
Esta versão adiciona estimativas de tempo de conclusão do HowLongToBeat à visualização de detalhes do jogo e reforça os efeitos Holo dos cards para bibliotecas grandes: um deadlock no cache de máscaras é corrigido, todos os caches Holo têm limite LRU, e a desmontagem do WebKit é assíncrona e debounced, então não congela mais a grade durante a rolagem. Rolar por uma coleção Holo com mais de 50 cards agora é fluido. O assistente de configuração ganha uma visualização Holo nativa ao vivo que corresponde ao efeito no app, gerenciamento de biblioteca com várias pastas e reconciliação de remoções, e um seletor de região mais nítido.
Observação: Os efeitos Holo ainda estão em testes beta. São experimentais e podem mudar ou ser refinados em versões futuras.
Destaques
- Tempos de conclusão do HowLongToBeat: A visualização de detalhes do jogo mostra estimativas Principal, Principal + Extras e Completista do HowLongToBeat, com correspondência automática para ROMs com título e uma folha de busca para seleção manual.
- Passe de desempenho Holo: A decomposição de máscaras Holo só executa no hover real, o HoloSaliencyService agora é protegido por um único lock (corrige um deadlock durante a rolagem), e todos os caches Holo têm limite LRU.
- Rolagem mais fluida na grade Holo: O estado de rolagem da biblioteca só é republicado em mudanças reais, os cards não observam mais o serviço global de saliência, e a desmontagem do WebKit é assíncrona e debounced para não interromper o gesto de rolagem.
- Assistente de configuração v2: Uma HoloPreviewCard nativa ao vivo no seletor de região, gerenciamento de biblioteca com várias pastas e reconciliação com o banco de dados, bezel movido para Recursos Opcionais, e um seletor de região mais nítido baseado em Zelda OoT.
Mudanças detalhadas
- Integração HowLongToBeat —
ROMMetadataEntryganha campos HLTB (ID do jogo, título correspondente, estimativas de tempo de conclusão),HLTBWebSearchSheetpara seleção manual,HowLongToBeatCardcom correspondência automática e manual, e integração na visão geral da visualização de detalhes do jogo. - Correção de deadlock na saliência Holo —
HoloSaliencyServiceagora usa um únicoOSAllocatedUnfairLockpara as entradas e a ordem LRU; o design anterior com dois locks podia travar durante a rolagem. - Caches Holo com LRU —
HoloFoilTileCache(32),HoloPatternStore(64/32/32),HoloSaliencyService(100),HoloBumpRenderer(16);DetailBoxArtComponentsquantiza os tamanhos de renderização em blocos de 0.5pt para evitar fragmentação. - Correções de lag de rolagem Holo —
LibraryScrollState.isScrollingsó é republicado em mudanças reais;HoloGameCardViewnão observa maisHoloSaliencyService(cada card usa@Statelocal para seu próprio progresso); a decomposição de máscaras é gatilhada por hover para não executar em todos os cards visíveis. - HoloWebCardView —
WKWebViewsó é criado quandoisActiveé verdadeiro; a desmontagem usa umscheduleUnmountcom debounce (0.35s, cancelável ao passar o cursor de novo) mais umdeinittotalmente assíncrono; todas as webviews dos cards compartilham um únicoWKProcessPool;loadKeyusa blocos de quadro quantizados a 0.5pt para parar as recargas constantes. - HoloFoilLayers — mascaramento por luminância para um efeito metálico mais preciso.
- Assistente —
HoloPreviewCardagora usa o pipeline nativoHoloFoilLayers+HoloSheenEffect+HoloScratchLayer, ciente da proporção de tela e do hover; máscaras de herói pré-incluídas para o seletor de região; lista de biblioteca com várias pastas e reconciliação com o banco de dados; bezel movido para Recursos Opcionais. - BoxArt —
BoxArtLayersnão subtrai mais o título do blob do herói (a dica de título removia um entalhe em forma de título em resolução total); o seletor de região do assistente usa amostras de Zelda OoT US/EU/JP para exercitar a variação de proporção de tela. - Localização — tempo total de jogo, partidas, última partida e conquistas traduzidos em en/es/pt/ja; entradas de funcionalidade de bezel localizadas; novas traduções Holo.
- GameListRowView — ação
onPlayadicionada para iniciar jogos. - GameCardView — dimensionamento de imagem alterado de
scaledToFitparascaledToFillcom recorte para uma apresentação mais ajustada da capa. - Versão de marketing atualizada para 1.11.0 e número de build para 34 em
project.yml, ambos osInfo.plistedocs/_config.yml.