A Aurore e o borealis

Tudo o que o borealis faz, e o que faltava nele

A Aurore é o xfangfang/borealis (seu branch wiliwili) renomeado e continuado para o PlayGuard e o PlayShelf. Tudo o que o borealis tem continua: suas views, suas plataformas, seus drivers. Veja o que vem a mais e o que mudou.

Comparados: o main da Aurore e a ponta do wiliwili do borealis, de onde a Aurore parte. Ainda não há versão da Aurore.

De onde vem a Aurore
  1. natinusala/borealisA biblioteca original
  2. xfangfang/borealis · wiliwiliSeu branch para o wiliwili, de onde a Aurore parte
  3. 45 commits de outros forksTrazidos com seus autores
  4. 21 commits do PlayGuardSeus próprios patches no borealis
  5. JigSawFr/AuroreRenomeado e continuado

Num relance

Novo na Aurore

O que o borealis não tem

O Cadran vem ligado e uma chamada o desliga; o resto fica à disposição quando um app quiser.

Lado a lado

O que os dois têm, e como difere

O borealis à esquerda, como está seu branch wiliwili; a Aurore à direita.

Visual e layout

borealis wiliwiliAurore
VisualO seu, próximo ao do SwitchCadran por padrão; o visual do borealis a uma chamada
CoresUm tema claro e um escuro, fixados no códigoCada cor é uma chave de tema, trocada com o app rodando
LayoutYoga 2.0.0Yoga 3.2.1, flexbox padrão, gap, flexWrap com o foco de uma linha para outra
Cantos e degradêsUm só raio para todos os cantosUm raio por canto, degradês horizontais, degradês a partir do código
Destaque do focoUma borda que pulsaDesliza de uma view para outra, pode sumir depois de um tempo
ImagensCarregadas na thread da interfaceDecodificáveis em segundo plano; imagens grandes demais recusadas antes da decodificação

Texto e entrada

borealis wiliwiliAurore
Traduções4 idiomas: inglês, francês, russo, chinês simplificado15 idiomas, para a biblioteca, o Cadran, as dicas e a acessibilidade
Trocar de idiomaCarregado uma vez, na inicializaçãoCom o app rodando, com loadTranslations()
BuscasExceções na buscaSem exceções, seguras a partir de qualquer thread
Fontes fora do SwitchFontes no estilo do Switch incluídasInter e PromptFont, fontes livres; chinês, japonês e coreano do sistema
TecladoEnter, Esc, as setas e pouco maisCada botão do controle numa tecla, remapeável
FocoUma caixa oculta podia pegá-loViews ocultas ou destruídas nunca ficam com ele

Compilação e plataformas

borealis wiliwiliAurore
LinguagemC++17C++20, RTTI e exceções ligados
Target do CMakeborealisAurore::aurore, Aurore::test
OpçõesPLATFORM_*, USE_*, BRLS_*AURORE_*, presets, uma instalação realocável
Sistemas de buildCMake e xmakeSó CMake
PlataformasDesktop, Switch, PS Vita, PS4, Android, iOS, tvOSAs mesmas, e o navegador (Emscripten, WebGL 2)
Bibliotecas incluídasYoga 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
Sons do Switchlibpulsar vinculada, com os sons desligadoslibpulsar removida
Abrir linksQualquer endereço, por um shellSó http e https, sem shell
LicençaApache 2.0O código do borealis em Apache 2.0; o Cadran em GPLv3, e portanto um app feito com a Aurore

Correções

Corrigido pelo caminho

De outros forks do borealis, dos patches do PlayGuard e do trabalho da própria Aurore.

  • O contador de bloqueio de entrada não dá mais a volta.
  • Uma view destruída é esquecida como foco; um foco perdido chega aos frames pais.
  • A navegação pula frames e sliders ocultos.
  • Controles com SDL: fechados ao desconectar, todos lidos de novo após reconectar, toques mais curtos que um quadro mantidos.
  • Cada lista reciclada verifica a própria largura; views enfileiradas enquanto o pool de exclusão esvazia são mantidas.
  • Os leitores de fontes só leem dentro dos dados da fonte.
  • O logger grava cada linha na hora.
  • Um botão desativado não pode mais ser clicado.

Trazido da família borealis

Seus commits mantêm o autor e a linha cherry picked from; outros são reescritos, com o crédito no commit.

A migração

O que um app muda

A maioria dos apps compila e roda sem mudanças depois de renomeada. O guia traz cada linha, e o que conferir na tela depois.

  • Os nomes: sem camada de compatibilidade, cada nome brls tem um nome Aurore; um localizar e substituir resolve.
  • A compilação: C++20, o target Aurore::aurore, as opções AURORE_*.
  • A licença: o Cadran é vinculado a cada app, então um app feito com a Aurore é GPLv3.

Migrar do borealis →

meu-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

O projeto

Documentado, testado, publicado

Um app para migrar do borealis?

O guia leva passo a passo: o submódulo, a compilação, os recursos, o visual, os nomes.