v1.11.0
Esta versión añade estimaciones de tiempo de finalización de HowLongToBeat a la vista de detalle del juego y refuerza los efectos Holo de las tarjetas para bibliotecas grandes: se corrige un interbloqueo en la caché de máscaras, todas las cachés Holo tienen límite LRU, y el desmontaje de WebKit es asíncrono y con rebote temporal, por lo que ya no congela la cuadrícula durante el desplazamiento. Desplazarse por una colección Holo de más de 50 tarjetas ahora es fluido. El asistente de configuración incorpora una vista previa Holo nativa en vivo que coincide con el efecto en la app, gestión de biblioteca con varias carpetas y reconciliación de eliminaciones, y un selector de región más nítido.
Nota: Los efectos Holo siguen en fase de pruebas beta. Son experimentales y podrían cambiar o refinarse en futuras versiones.
Destacados
- Tiempos de finalización de HowLongToBeat: La vista de detalle del juego muestra estimaciones Principal, Principal + Extras y Completista de HowLongToBeat, con coincidencia automática para ROMs con título y una hoja de búsqueda para selección manual.
- Pase de rendimiento Holo: La descomposición de máscaras Holo solo se ejecuta en el hover real, HoloSaliencyService ahora está protegido por un único lock (corrige un interbloqueo durante el desplazamiento), y todas las cachés Holo tienen límite LRU.
- Desplazamiento más fluido en la cuadrícula Holo: El estado de desplazamiento de la biblioteca solo se republica en cambios reales, las tarjetas ya no observan el servicio global de saliencia, y el desmontaje de WebKit es asíncrono y con rebote temporal para no interrumpir el gesto de desplazamiento.
- Asistente de configuración v2: Una HoloPreviewCard nativa en vivo en el selector de región, gestión de biblioteca con varias carpetas y reconciliación con la base de datos, bezel movido a Funcionalidades Opcionales, y un selector de región más nítido basado en Zelda OoT.
Cambios detallados
- Integración de HowLongToBeat —
ROMMetadataEntrygana campos HLTB (ID del juego, título coincidente, estimaciones de tiempo de finalización),HLTBWebSearchSheetpara selección manual,HowLongToBeatCardcon coincidencia automática y manual, e integración en la vista general de detalle del juego. - Corrección de interbloqueo en la saliencia Holo —
HoloSaliencyServiceahora usa un únicoOSAllocatedUnfairLockpara las entradas y el orden LRU; el diseño previo con dos locks podía interbloquearse durante el desplazamiento. - Cachés Holo con LRU —
HoloFoilTileCache(32),HoloPatternStore(64/32/32),HoloSaliencyService(100),HoloBumpRenderer(16);DetailBoxArtComponentscuantiza los tamaños de renderizado a cubos de 0.5pt para evitar la fragmentación. - Correcciones de retardo de desplazamiento Holo —
LibraryScrollState.isScrollingsolo se republica en cambios reales;HoloGameCardViewya no observaHoloSaliencyService(cada tarjeta usa@Statelocal para su propio progreso); la descomposición de máscaras se activa con un disparador de hover para no ejecutarse en todas las tarjetas visibles. - HoloWebCardView —
WKWebViewsolo se crea cuandoisActivees verdadero; el desmontaje usa unscheduleUnmountcon rebote temporal (0.35s, cancelable al volver a pasar el cursor) más undeinittotalmente asíncrono; todas las vistas web de las tarjetas comparten un únicoWKProcessPool;loadKeyusa cubos de cuadro cuantizados a 0.5pt para detener las recargas constantes. - HoloFoilLayers — enmascarado por luminancia para un efecto metálico más preciso.
- Asistente —
HoloPreviewCardahora usa el pipeline nativoHoloFoilLayers+HoloSheenEffect+HoloScratchLayer, consciente de la relación de aspecto y del hover; máscaras de héroe preempaquetadas para el selector de región; lista de biblioteca con varias carpetas y reconciliación con la base de datos; bezel movido a Funcionalidades Opcionales. - BoxArt —
BoxArtLayersya no resta el título del blob del héroe (la pista de título eliminaba una muesca con forma de título a resolución completa); el selector de región del asistente usa muestras de Zelda OoT US/EU/JP para ejercitar la variación de relación de aspecto. - Localización — tiempo total de juego, partidas, última partida y logros traducidos en en/es/pt/ja; entradas de funcionalidad de bezel localizadas; nuevas traducciones Holo.
- GameListRowView — se añade la acción
onPlaypara iniciar juegos. - GameCardView — escalado de imagen cambiado de
scaledToFitascaledToFillcon recorte para una presentación más ceñida de la carátula. - Versión de marketing subida a 1.11.0 y número de compilación a 34 en
project.yml, ambosInfo.plistydocs/_config.yml.