Aurore en borealis

Alles wat borealis doet, en wat het miste

Aurore is xfangfang/borealis (de branch wiliwili), hernoemd en voortgezet voor PlayGuard en PlayShelf. Alles wat borealis heeft, blijft: de views, de platformen, de drivers. Dit komt erbij, en dit is veranderd.

Vergeleken: de main van Aurore en de top van wiliwili bij borealis, waar Aurore begint. Nog geen release van Aurore.

Waar Aurore vandaan komt
  1. natinusala/borealisDe oorspronkelijke bibliotheek
  2. xfangfang/borealis · wiliwiliDe branch voor wiliwili, waar Aurore begint
  3. 45 commits uit andere forksOvergenomen met hun auteurs
  4. 21 commits van PlayGuardZijn eigen patches op borealis
  5. JigSawFr/AuroreHernoemd en voortgezet

In één oogopslag

Nieuw in Aurore

Wat borealis niet heeft

Cadran staat standaard aan en één aanroep zet het uit; de rest is er wanneer een app het wil.

Naast elkaar

Wat beide hebben, en hoe het verschilt

Links borealis, zoals de branch wiliwili nu is; rechts Aurore.

Look en lay-out

borealis wiliwiliAurore
LookEen eigen, dicht bij die van de SwitchStandaard Cadran; de look van borealis één aanroep verderop
KleurenEen licht en een donker thema, vastgelegd in codeElke kleur een themasleutel, gewisseld terwijl de app draait
Lay-outYoga 2.0.0Yoga 3.2.1, standaard flexbox, gap, flexWrap met focus over de regels heen
Hoeken en verlopenEén straal voor alle hoekenEen straal per hoek, horizontale verlopen, verlopen vanuit code
FocusmarkeringEen pulserende randGlijdt van view naar view, kan na een tijdje vervagen
AfbeeldingenGeladen op de thread van de interfaceTe decoderen op de achtergrond; te grote afbeeldingen geweigerd vóór het decoderen

Tekst en invoer

borealis wiliwiliAurore
Vertalingen4 talen: Engels, Frans, Russisch, vereenvoudigd Chinees15 talen, voor de bibliotheek, Cadran, de hints en de toegankelijkheid
Van taal wisselenEén keer geladen, bij de startTerwijl de app draait, met loadTranslations()
OpzoekenExceptions bij het opzoekenZonder exceptions, veilig vanuit elke thread
Lettertypen buiten de SwitchLettertypen in Switch-stijl meegeleverdInter en PromptFont, vrije lettertypen; Chinees, Japans en Koreaans van het systeem
ToetsenbordEnter, Escape, de pijlen en weinig meerElke knop van de controller op een toets, opnieuw toe te wijzen
FocusEen verborgen box kon hem krijgenVerborgen en vernietigde views houden hem nooit vast

Build en platformen

borealis wiliwiliAurore
TaalC++17C++20, RTTI en exceptions aan
CMake-targetborealisAurore::aurore, Aurore::test
OptiesPLATFORM_*, USE_*, BRLS_*AURORE_*, presets, een verplaatsbare installatie
BuildsystemenCMake en xmakeAlleen CMake
PlatformenDesktop, Switch, PS Vita, PS4, Android, iOS, tvOSDezelfde, plus de browser (Emscripten, WebGL 2)
Meegeleverde bibliothekenYoga 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
Geluiden op de Switchlibpulsar gelinkt, de geluiden uitlibpulsar verwijderd
Links openenElk adres, via een shellAlleen http en https, zonder shell
LicentieApache 2.0De code van borealis onder Apache 2.0; Cadran onder GPLv3, en daarmee een app gebouwd met Aurore

Correcties

Onderweg opgelost

Uit andere forks van borealis, uit de patches van PlayGuard en uit het eigen werk aan Aurore.

  • De teller van de invoerblokkade loopt niet meer over.
  • Een vernietigde view wordt als focus vergeten; een verloren focus bereikt de bovenliggende frames.
  • De navigatie slaat verborgen frames en schuifregelaars over.
  • Controllers onder SDL: gesloten bij loskoppelen, allemaal opnieuw gelezen na het verbinden, drukken korter dan een frame behouden.
  • Elke recyclende lijst controleert zijn eigen breedte; views die in de wachtrij komen terwijl de verwijderpool leegloopt, blijven bewaard.
  • De lettertype-parsers lezen alleen binnen de gegevens van het lettertype.
  • De logger schrijft elke regel meteen weg.
  • Een uitgeschakelde knop is niet meer aan te klikken.

Overgenomen uit de borealis-familie

Hun commits houden hun auteur en hun regel cherry picked from; andere zijn herschreven, met vermelding in de commit.

Overstappen

Wat een app verandert

De meeste apps bouwen en draaien na het hernoemen ongewijzigd. De handleiding geeft elke regel, en wat je daarna op het scherm bekijkt.

  • De namen: geen compatibiliteitslaag, elke brls-naam heeft een Aurore-naam; zoeken en vervangen volstaat.
  • De build: C++20, het target Aurore::aurore, de opties AURORE_*.
  • De licentie: Cadran wordt in elke app gelinkt, dus een app gebouwd met Aurore valt onder GPLv3.

Overstappen van borealis →

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

Het project

Gedocumenteerd, getest, uitgebracht

Een app overzetten van borealis?

De handleiding neemt het stap voor stap door: de submodule, de build, de resources, de look, de namen.