Aurore y borealis

Todo lo que hace borealis, y lo que le faltaba

Aurore es xfangfang/borealis (su rama wiliwili) renombrado y continuado para PlayGuard y PlayShelf. Todo lo que tiene borealis se queda: sus vistas, sus plataformas, sus controladores. Esto es lo que se suma y lo que ha cambiado.

Comparados: el main de Aurore y la punta de wiliwili de borealis, de donde parte Aurore. Aún no hay versión de Aurore.

De dónde viene Aurore
  1. natinusala/borealisLa biblioteca original
  2. xfangfang/borealis · wiliwiliSu rama para wiliwili, de donde parte Aurore
  3. 45 commits de otros forksTomados con sus autores
  4. 21 commits de PlayGuardSus propios parches de borealis
  5. JigSawFr/AuroreRenombrado y continuado

De un vistazo

Nuevo en Aurore

Lo que borealis no tiene

Cadran viene activado y una llamada lo desactiva; el resto está ahí cuando una app lo quiera.

Lado a lado

Lo que tienen los dos, y en qué difiere

borealis a la izquierda, tal como está su rama wiliwili; Aurore a la derecha.

Aspecto y maquetación

borealis wiliwiliAurore
AspectoEl suyo, cercano al de la SwitchCadran por defecto; el aspecto de borealis a una llamada
ColoresUn tema claro y uno oscuro, fijados en el códigoCada color es una clave de tema, cambiada con la app en marcha
MaquetaciónYoga 2.0.0Yoga 3.2.1, flexbox estándar, gap, flexWrap con el foco de una línea a otra
Esquinas y degradadosUn solo radio para todas las esquinasUn radio por esquina, degradados horizontales, degradados desde el código
Resaltado del focoUn borde que lateSe desliza de una vista a otra, puede desvanecerse al rato
ImágenesCargadas en el hilo de la interfazDecodificables en segundo plano; las imágenes demasiado grandes, rechazadas antes de decodificar

Texto y entrada

borealis wiliwiliAurore
Traducciones4 idiomas: inglés, francés, ruso, chino simplificado15 idiomas, para la biblioteca, Cadran, las ayudas y la accesibilidad
Cambiar de idiomaCargado una vez, al inicioCon la app en marcha, con loadTranslations()
BúsquedasExcepciones en la búsquedaSin excepciones, seguras desde cualquier hilo
Fuentes fuera de la SwitchFuentes al estilo de la Switch incluidasInter y PromptFont, fuentes libres; chino, japonés y coreano del sistema
TecladoEnter, Esc, las flechas y poco másCada botón del control en una tecla, reasignable
FocoUna caja oculta podía tomarloLas vistas ocultas o destruidas nunca lo retienen

Compilación y plataformas

borealis wiliwiliAurore
LenguajeC++17C++20, RTTI y excepciones activados
Objetivo de CMakeborealisAurore::aurore, Aurore::test
OpcionesPLATFORM_*, USE_*, BRLS_*AURORE_*, ajustes predefinidos, una instalación reubicable
Sistemas de compilaciónCMake y xmakeSolo CMake
PlataformasComputadora, Switch, PS Vita, PS4, Android, iOS, tvOSLas mismas, y el navegador (Emscripten, WebGL 2)
Bibliotecas incluidasYoga 2.0.0, SDL 2.28.5, tinyxml2 9.0.0, nlohmann/json 3.11, glad 0.1.27Yoga 3.2.1, SDL 2.32.10, tinyxml2 11.0.0, nlohmann/json 3.12.0, glad 2.0.8
Sonidos de la Switchlibpulsar enlazada, con sus sonidos apagadoslibpulsar eliminada
Abrir enlacesCualquier dirección, a través de un shellSolo http y https, sin shell
LicenciaApache 2.0El código de borealis, Apache 2.0; Cadran, GPLv3, y por tanto una app hecha con Aurore

Correcciones

Corregido por el camino

De otros forks de borealis, de los parches de PlayGuard y del propio trabajo de Aurore.

  • El contador de bloqueo de la entrada ya no se desborda.
  • Una vista destruida se olvida como foco; un foco perdido llega a los marcos padres.
  • La navegación salta los marcos y deslizadores ocultos.
  • Controles con SDL: cerrados al desconectarlos, todos leídos de nuevo tras reconectar, pulsaciones más cortas que un cuadro conservadas.
  • Cada lista reciclada comprueba su propio ancho; las vistas en cola mientras se vacía la reserva de borrado se conservan.
  • Los lectores de fuentes solo leen dentro de los datos de la fuente.
  • El registro escribe cada línea al momento.
  • Un botón desactivado ya no se puede pulsar.

Tomado de la familia borealis

Sus commits conservan su autor y su línea cherry picked from; otros se reescriben, con el crédito en el commit.

Pasarse

Lo que cambia una app

La mayoría de las apps compilan y funcionan sin cambios una vez renombradas. La guía da cada línea y lo que hay que revisar en pantalla después.

  • Los nombres: sin capa de compatibilidad, cada nombre brls tiene uno de Aurore; basta con buscar y reemplazar.
  • La compilación: C++20, el objetivo Aurore::aurore, las opciones AURORE_*.
  • La licencia: Cadran se enlaza en cada app, así que una app hecha con Aurore es GPLv3.

Migrar desde borealis →

mi-app: borealis → Aurore
#include <borealis.hpp>#include <aurore.hpp>brls::Application::init();aurore::Application::init();BRLS_BIND(brls::Button, button, "go");AURORE_BIND(aurore::Button, button, "go");<brls:Box axis="column"><aurore:Box axis="column">textColor="@theme/brls/text"textColor="@theme/aurore/text"target_link_libraries(app borealis)target_link_libraries(app PRIVATE Aurore::aurore)cmake -DPLATFORM_DESKTOP=ON -DUSE_SDL2=ONcmake -DAURORE_PLATFORM=DESKTOP -DAURORE_WINDOW=SDL2BRLS_LANG=fr ./appAURORE_LANG=fr ./app

El proyecto

Documentado, probado, publicado

¿Una app que pasar de borealis?

La guía la lleva paso a paso: el submódulo, la compilación, los recursos, el aspecto, los nombres.