Aurore e borealis

Tutto ciò che fa borealis, e ciò che gli mancava

Aurore è xfangfang/borealis (il suo ramo wiliwili) rinominato e portato avanti per PlayGuard e PlayShelf. Tutto ciò che ha borealis resta: le sue viste, le sue piattaforme, i suoi driver. Ecco cosa si aggiunge e cosa è cambiato.

Confrontati: il main di Aurore e la punta di wiliwili di borealis, da cui parte Aurore. Nessuna versione di Aurore per ora.

Da dove viene Aurore
  1. natinusala/borealisLa libreria originale
  2. xfangfang/borealis · wiliwiliIl suo ramo per wiliwili, da cui parte Aurore
  3. 45 commit da altri forkRipresi con i loro autori
  4. 21 commit da PlayGuardLe sue patch a borealis
  5. JigSawFr/AuroreRinominato e portato avanti

In breve

Nuovo in Aurore

Ciò che borealis non ha

Cadran è attivo di serie e una chiamata lo spegne; il resto è lì quando un'app lo vuole.

Fianco a fianco

Ciò che hanno entrambi, e come cambia

borealis a sinistra, com'è il suo ramo wiliwili; Aurore a destra.

Aspetto e layout

borealis wiliwiliAurore
AspettoIl suo, vicino a quello della SwitchCadran di serie; l'aspetto di borealis a una chiamata
ColoriUn tema chiaro e uno scuro, fissati nel codiceOgni colore è una chiave di tema, cambiata mentre l'app è in esecuzione
LayoutYoga 2.0.0Yoga 3.2.1, flexbox standard, gap, flexWrap con il focus da una riga all'altra
Angoli e sfumatureUn solo raggio per tutti gli angoliUn raggio per angolo, sfumature orizzontali, sfumature dal codice
Evidenziazione del focusUn bordo che pulsaScivola da una vista all'altra, può sfumare dopo un po'
ImmaginiCaricate sul thread dell'interfacciaDecodificabili in background; le immagini troppo grandi rifiutate prima della decodifica

Testo e input

borealis wiliwiliAurore
Traduzioni4 lingue: inglese, francese, russo, cinese semplificato15 lingue, per la libreria, Cadran, i suggerimenti e l'accessibilità
Cambio di linguaCaricata una volta, all'avvioMentre l'app è in esecuzione, con loadTranslations()
RicercheEccezioni nella ricercaSenza eccezioni, sicure da qualsiasi thread
Font fuori dalla SwitchFont in stile Switch inclusiInter e PromptFont, font liberi; cinese, giapponese e coreano dal sistema
TastieraInvio, Esc, le frecce e poco altroOgni pulsante del controller su un tasto, riassegnabile
FocusUn box nascosto poteva prenderloLe viste nascoste o distrutte non lo tengono mai

Build e piattaforme

borealis wiliwiliAurore
LinguaggioC++17C++20, RTTI ed eccezioni attivi
Target CMakeborealisAurore::aurore, Aurore::test
OpzioniPLATFORM_*, USE_*, BRLS_*AURORE_*, preset, un'installazione rilocabile
Sistemi di buildCMake e xmakeSolo CMake
PiattaformeDesktop, Switch, PS Vita, PS4, Android, iOS, tvOSLe stesse, più il browser (Emscripten, WebGL 2)
Librerie incluseYoga 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
Suoni della Switchlibpulsar collegata, i suoi suoni spentilibpulsar rimossa
Aprire i linkQualsiasi indirizzo, tramite una shellSolo http e https, senza shell
LicenzaApache 2.0Il codice di borealis in Apache 2.0; Cadran in GPLv3, e così un'app fatta con Aurore

Correzioni

Corretto strada facendo

Da altri fork di borealis, dalle patch di PlayGuard e dal lavoro di Aurore stessa.

  • Il contatore di blocco dell'input non va più in overflow.
  • Una vista distrutta viene dimenticata come focus; un focus perso raggiunge i frame genitori.
  • La navigazione salta i frame e gli slider nascosti.
  • Controller con SDL: chiusi allo scollegamento, tutti riletti dopo una riconnessione, pressioni più brevi di un frame conservate.
  • Ogni lista riciclata controlla la propria larghezza; le viste accodate mentre si svuota il pool di eliminazione vengono conservate.
  • I parser dei font leggono solo dentro i dati del font.
  • Il logger scrive subito ogni riga.
  • Un pulsante disattivato non si può più cliccare.

Ripreso dalla famiglia borealis

I loro commit conservano l'autore e la riga cherry picked from; altri sono riscritti, con il merito nel commit.

Il passaggio

Cosa cambia un'app

La maggior parte delle app compila e funziona senza modifiche una volta rinominata. La guida dà ogni riga, e cosa controllare sullo schermo dopo.

  • I nomi: nessuno strato di compatibilità, ogni nome brls ha il suo nome Aurore; basta un cerca e sostituisci.
  • La build: C++20, il target Aurore::aurore, le opzioni AURORE_*.
  • La licenza: Cadran è collegato in ogni app, quindi un'app fatta con Aurore è GPLv3.

Migrare da borealis →

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

Il progetto

Documentato, testato, rilasciato

Un'app da portare via da borealis?

La guida la accompagna passo per passo: il sottomodulo, la build, le risorse, l'aspetto, i nomi.