A Aurore e o borealis

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

A Aurore é o xfangfang/borealis (o seu ramo wiliwili) com outro nome, continuado para o PlayGuard e o PlayShelf. Tudo o que o borealis tem fica: as suas vistas, as suas plataformas, os seus controladores. Eis o que se junta e o que mudou.

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

De onde vem a Aurore
  1. natinusala/borealisA biblioteca original
  2. xfangfang/borealis · wiliwiliO seu ramo para o wiliwili, de onde parte a Aurore
  3. 45 commits de outros forksRetomados com os seus autores
  4. 21 commits do PlayGuardAs suas próprias correções ao borealis
  5. JigSawFr/AuroreCom outro nome, continuado

Num relance

Novo na Aurore

O que o borealis não tem

O Cadran vem ativado e uma chamada desliga-o; o resto está lá quando uma app o quiser.

Lado a lado

O que os dois têm, e como difere

O borealis à esquerda, tal como está o seu ramo wiliwili; a Aurore à direita.

Aspeto e disposição

borealis wiliwiliAurore
AspetoO seu, próximo do da SwitchCadran por predefinição; o aspeto do borealis a uma chamada
CoresUm tema claro e um escuro, fixados no códigoCada cor é uma chave de tema, mudada com a app em execução
DisposiçãoYoga 2.0.0Yoga 3.2.1, flexbox padrão, gap, flexWrap com o foco de uma linha para a outra
Cantos e gradientesUm só raio para todos os cantosUm raio por canto, gradientes horizontais, gradientes a partir do código
Realce do focoUm contorno que pulsaDesliza de uma vista para a outra, pode esbater-se ao fim de algum tempo
ImagensCarregadas na thread da interfaceDescodificáveis em segundo plano; imagens grandes demais recusadas antes da descodificação

Texto e entrada

borealis wiliwiliAurore
Traduções4 línguas: inglês, francês, russo, chinês simplificado15 línguas, para a biblioteca, o Cadran, as dicas e a acessibilidade
Mudar de línguaCarregada uma vez, no arranqueCom a app em execução, com loadTranslations()
PesquisasExceções na pesquisaSem exceções, seguras a partir de qualquer thread
Tipos de letra fora da SwitchTipos de letra ao estilo da Switch incluídosInter e PromptFont, tipos de letra livres; chinês, japonês e coreano do sistema
TecladoEnter, Esc, as setas e pouco maisCada botão do comando numa tecla, reatribuível
FocoUma caixa escondida podia ficar com eleAs vistas escondidas ou destruídas nunca o guardam

Compilação e plataformas

borealis wiliwiliAurore
LinguagemC++17C++20, RTTI e exceções ativos
Alvo CMakeborealisAurore::aurore, Aurore::test
OpçõesPLATFORM_*, USE_*, BRLS_*AURORE_*, predefinições, uma instalação relocalizável
Sistemas de compilaçãoCMake e xmakeSó CMake
PlataformasComputador, 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 da Switchlibpulsar ligada, com os sons desligadoslibpulsar removida
Abrir ligaçõesQualquer endereço, através de uma shellSó http e https, sem shell
LicençaApache 2.0O código do borealis em Apache 2.0; o Cadran em GPLv3, e por isso uma app feita com a Aurore

Correções

Corrigido pelo caminho

De outros forks do borealis, das correções do PlayGuard e do trabalho da própria Aurore.

  • O contador de bloqueio da entrada já não dá a volta.
  • Uma vista destruída é esquecida como foco; um foco perdido chega às molduras-mãe.
  • A navegação salta as molduras e os controlos de deslizar escondidos.
  • Comandos com SDL: fechados ao desligar, todos lidos de novo após voltarem a ligar, toques mais curtos do que um fotograma mantidos.
  • Cada lista reciclada verifica a sua própria largura; as vistas postas em fila enquanto a reserva de eliminação se esvazia são mantidas.
  • Os leitores de tipos de letra só leem dentro dos dados do tipo de letra.
  • O registo escreve cada linha de imediato.
  • Um botão desativado já não se pode clicar.

Retomado da família borealis

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

A mudança

O que uma app muda

A maioria das apps compila e funciona sem alterações depois de mudar os nomes. O guia dá cada linha e o que verificar no ecrã depois.

  • Os nomes: sem camada de compatibilidade, cada nome brls tem um nome Aurore; basta procurar e substituir.
  • A compilação: C++20, o alvo Aurore::aurore, as opções AURORE_*.
  • A licença: o Cadran é ligado a cada app, por isso uma app feita com a Aurore é GPLv3.

Migrar do borealis →

a-minha-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

Uma app para passar do borealis?

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