Aurore と borealis

borealis にできることすべてと、足りなかったもの

Aurore は xfangfang/borealis(wiliwili ブランチ)を改名し、PlayGuard と PlayShelf のために引き継いだものです。borealis にあるものはすべて残ります:ビュー、プラットフォーム、ドライバー。ここでは、その上に加わったものと変わったものを紹介します。

比較対象:Aurore の main と、Aurore の出発点である borealis の wiliwili の先端。Aurore はまだリリースされていません。

Aurore の系譜
  1. natinusala/borealis元のライブラリ
  2. xfangfang/borealis · wiliwiliwiliwili 用のブランチ。Aurore はここから始まります
  3. ほかのフォークから 45 コミット作者ごと取り込み
  4. PlayGuard から 21 コミットPlayGuard 独自の borealis パッチ
  5. JigSawFr/Aurore改名して引き継ぎ

ひと目で

Aurore の新機能

borealis にないもの

Cadran は最初から有効で、1 回の呼び出しでオフにできます。ほかはアプリが必要なときに使えます。

並べて比較

どちらにもあるもの、その違い

左は現在の wiliwili ブランチの borealis、右は Aurore です。

見た目とレイアウト

borealis wiliwiliAurore
見た目独自のもの。Switch に近いデフォルトは Cadran。borealis の見た目にも 1 回の呼び出しで
色ライトとダークのテーマ。コードで固定すべての色がテーマキー。アプリの実行中に切り替え
レイアウトYoga 2.0.0Yoga 3.2.1、標準の flexbox、gap、行をまたいでフォーカスが動く flexWrap
角とグラデーションすべての角に同じ半径角ごとの半径、横方向のグラデーション、コードからのグラデーション
フォーカスのハイライト脈打つ枠ビューからビューへ滑らかに移動し、しばらくすると薄れることも
画像UI スレッドで読み込みバックグラウンドでのデコードも可能。大きすぎる画像はデコード前に拒否

テキストと入力

borealis wiliwiliAurore
翻訳4 言語:英語、フランス語、ロシア語、簡体字中国語15 言語。ライブラリ、Cadran、ヒント、アクセシビリティに
言語の切り替え起動時に一度だけ読み込みアプリの実行中に、loadTranslations() で
文字列の検索検索で例外を使用例外なし。どのスレッドからでも安全
Switch 以外のフォントSwitch 風のフォントを同梱フリーフォントの Inter と PromptFont。中国語・日本語・韓国語はシステムのフォント
キーボードEnter、Escape、矢印キーくらいコントローラーのすべてのボタンをキーに。割り当て変更も可能
フォーカス非表示のボックスが受け取ることがあった非表示や破棄済みのビューは決して保持しない

ビルドとプラットフォーム

borealis wiliwiliAurore
言語C++17C++20。RTTI と例外は有効
CMake ターゲットborealisAurore::aurore, Aurore::test
オプションPLATFORM_*, USE_*, BRLS_*AURORE_*、プリセット、再配置可能なインストール
ビルドシステムCMake と xmakeCMake のみ
プラットフォームデスクトップ、Switch、PS Vita、PS4、Android、iOS、tvOS同じものに加えてブラウザー(Emscripten、WebGL 2)
同梱ライブラリYoga 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
Switch のサウンドlibpulsar をリンク。ただしサウンドはオフlibpulsar を削除
リンクを開くどんなアドレスでも、シェル経由でhttp と https のみ、シェルなしで
ライセンスApache 2.0borealis のコードは Apache 2.0。Cadran は GPLv3 で、Aurore で作ったアプリも同様

修正

その途中で直したもの

borealis のほかのフォーク、PlayGuard のパッチ、そして Aurore 自身の作業から。

  • 入力ブロックのカウンターがあふれて一周しなくなりました。
  • 破棄されたビューはフォーカスとして忘れられ、失われたフォーカスは親フレームに届きます。
  • ナビゲーションが非表示のフレームとスライダーを飛ばします。
  • SDL のコントローラー:抜くと閉じ、再接続後はすべて読み直し、1 フレームより短い押下も失いません。
  • 各リサイクルリストが自分の幅を確認。削除プールを空にする間にキューに入ったビューも保持されます。
  • フォントのパーサーはフォント自身のデータの内側だけを読みます。
  • ロガーが 1 行ごとにすぐ書き出します。
  • 無効なボタンはクリックできなくなりました。

borealis ファミリーから取り込み

それらのコミットは作者と cherry picked from の行を保ちます。ほかはコミットにクレジットを記して書き直しました。

移行

アプリが変えること

ほとんどのアプリは、名前を変えればそのままビルドして動きます。ガイドにはすべての行と、その後画面で確認することを載せています。

  • 名前:互換レイヤーはありません。brls のすべての名前に Aurore の名前があり、検索と置換で済みます。
  • ビルド:C++20、Aurore::aurore ターゲット、AURORE_* オプション。
  • ライセンス:Cadran はすべてのアプリにリンクされるため、Aurore で作ったアプリは GPLv3 です。

borealis からの移行 →

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

プロジェクト

ドキュメント、テスト、リリース

borealis からアプリを移しますか?

ガイドが一歩ずつ案内します:サブモジュール、ビルド、リソース、見た目、名前。