Num relance
borealis: 4, Aurore: 15
catálogos de tradução, mudados com a app em execução
borealis: C++17, Aurore: C++20
a norma da linguagem, com RTTI e exceções
borealis: Yoga 2, Aurore: Yoga 3
flexbox padrão do CSS, com
gapeflexWrapborealis: 7, Aurore: 8
plataformas: o navegador junta-se às sete
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.
Cadran, um aspeto próprio
Ativado por predefinição: uma barra de ícones, cartões, folhas e diálogos, cerca de sessenta ícones vetoriais.
setCadran(false)mantém o aspeto do borealis.Temas em ficheiros
Ficheiros e pastas
.theme: uma paleta a partir de uma cor de destaque, predefinições, nove estações e festas, imagens, decorações. O contraste de cada tema é verificado.Estilos e ligação de dados
Atributos
focus:,pressed:,disabled:ehover:, transições animadas, valores ligados a partir do XML combind.Acessibilidade
Uma função, uma etiqueta e um valor para cada vista, um anúncio do foco em 15 línguas, dois temas de alto contraste, uma escala de texto, movimento reduzido.
Texto em todas as escritas
Emoji a cores, hebraico e árabe da direita para a esquerda, FreeType como opção, um tipo de letra por etiqueta, texto que encolhe para caber, medidas em cache.
Uma bancada de testes
Sem ecrã, com um relógio simulado: comando, teclado, toque e rato por chamada, capturas comparadas com referências, e alvos de fuzzing.
Inspetor, recarga, profiler
F12 ou L3+R3 abre a árvore, o modelo de caixa e as chaves do tema por cima da app; o XML e os temas recarregam ao guardar; um benchmark deteta regressões.
Densidade e ecrãs pequenos
Medidas confortáveis, compactas ou densas em
dp, atributoscompact:para ecrãs estreitos, uma predefinição para ecrã pequeno numa chamada.
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 wiliwili | Aurore | |
|---|---|---|
| Aspeto | O seu, próximo do da Switch | Cadran por predefinição; o aspeto do borealis a uma chamada |
| Cores | Um tema claro e um escuro, fixados no código | Cada cor é uma chave de tema, mudada com a app em execução |
| Disposição | Yoga 2.0.0 | Yoga 3.2.1, flexbox padrão, gap, flexWrap com o foco de uma linha para a outra |
| Cantos e gradientes | Um só raio para todos os cantos | Um raio por canto, gradientes horizontais, gradientes a partir do código |
| Realce do foco | Um contorno que pulsa | Desliza de uma vista para a outra, pode esbater-se ao fim de algum tempo |
| Imagens | Carregadas na thread da interface | Descodificáveis em segundo plano; imagens grandes demais recusadas antes da descodificação |
Texto e entrada
| borealis wiliwili | Aurore | |
|---|---|---|
| Traduções | 4 línguas: inglês, francês, russo, chinês simplificado | 15 línguas, para a biblioteca, o Cadran, as dicas e a acessibilidade |
| Mudar de língua | Carregada uma vez, no arranque | Com a app em execução, com loadTranslations() |
| Pesquisas | Exceções na pesquisa | Sem exceções, seguras a partir de qualquer thread |
| Tipos de letra fora da Switch | Tipos de letra ao estilo da Switch incluídos | Inter e PromptFont, tipos de letra livres; chinês, japonês e coreano do sistema |
| Teclado | Enter, Esc, as setas e pouco mais | Cada botão do comando numa tecla, reatribuível |
| Foco | Uma caixa escondida podia ficar com ele | As vistas escondidas ou destruídas nunca o guardam |
Compilação e plataformas
| borealis wiliwili | Aurore | |
|---|---|---|
| Linguagem | C++17 | C++20, RTTI e exceções ativos |
| Alvo CMake | borealis | Aurore::aurore, Aurore::test |
| Opções | PLATFORM_*, USE_*, BRLS_* | AURORE_*, predefinições, uma instalação relocalizável |
| Sistemas de compilação | CMake e xmake | Só CMake |
| Plataformas | Computador, Switch, PS Vita, PS4, Android, iOS, tvOS | As mesmas, e o navegador (Emscripten, WebGL 2) |
| Bibliotecas incluídas | Yoga 2.0.0, SDL 2.28.5, tinyxml2 9.0.0, nlohmann/json 3.11, glad 0.1.27 | Yoga 3.2.1, SDL 2.32.10, tinyxml2 11.0.0, nlohmann/json 3.12.0, glad 2.0.8 |
| Sons da Switch | libpulsar ligada, com os sons desligados | libpulsar removida |
| Abrir ligações | Qualquer endereço, através de uma shell | Só http e https, sem shell |
| Licença | Apache 2.0 | O 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
brlstem um nome Aurore; basta procurar e substituir. - A compilação: C++20, o alvo
Aurore::aurore, as opçõesAURORE_*. - A licença: o Cadran é ligado a cada app, por isso uma app feita com a Aurore é GPLv3.
#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
Documentação
18 guias e uma referência da API neste site, onde o borealis tem o seu README e uma wiki.
Integração contínua
Além das compilações do borealis: a formatação, a demo com ASan e UBSan, os testes, a documentação; ações fixadas no seu commit.
Versões
Conventional Commits e release-please, um registo de alterações,
AURORE_VERSION_AT_LEASTno código.Contribuir e segurança
CONTRIBUTING.mdpara contribuir,SECURITY.mdpara comunicar vulnerabilidades em privado.O modelo
No repositório,
template/: uma app mínima para o computador e a Switch.Avisos
Os avisos de terceiros incluídos em cada app; ferramentas verificam-nos, juntamente com as versões das bibliotecas incluídas.
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.