Tactility は ESP32 ボード向けのオペレーティングシステムです。実行時にアプリを読み込むため、このパッケージでビルドしたゲームは、すでに Tactility が動いているデバイスに Wi-Fi、SD カード、または App Hub 経由でインストールでき、ほかのアプリと同じようにホーム画面から開けます。ファームウェアを書き込み直す必要はなく、デバイスのほかの機能もそのまま残ります。
このパッケージは、エディターのビルドメニューに 2 つのプラットフォームを追加します。Tactility デバイス用のアプリと、Tactility シミュレーターです。どちらかを選んでビルドすると、エディターがアセットを内包したアプリを生成します。
提供するもの
| Deki のプロバイダー | 実装 |
|---|---|
| ディスプレイ | Tactility のパネルドライバー(直接描画) |
| 入力 | Tactility のタッチドライバーとキーボードドライバー |
| ファイル | アプリ自身のアセットディレクトリと、保存データ用のフォルダー |
2 つのブートコンポーネント TactilityDisplaySetup と TactilityInputSetup がこれらを立ち上げるので、ほかのプラットフォーム向けに書いたゲームも変更なしで動作します。T-Deck のような物理キーボードは、通常のキー入力として届きます。
パネルへ直接描画
ほとんどの Tactility アプリは LVGL で描画します。Deki のゲームはすでに完成したフレームを持っているため、このパッケージはゲームが開いている間は LVGL を使わず、フレームを自分でパネルへ送ります。その際に内部 RAM の小さな帯状のバッファーを経由し、パネルが必要とする場合はそこでカラーフォーマットの変換も行います。PSRAM から直接フレームを読み取れるパネルでは、このコピーは省略されます。
動作環境
ESP32-S3 と ESP32-P4。 アプリのコードは開いたときに RAM に読み込まれますが、PSRAM 上のコードを実行できるのはこの 2 つのチップだけです。これはチップの制限であり、Tactility の制限ではありません。
状況
実験的です。シミュレーター向けのビルドは最初から最後まで動作します。エディターがアプリをビルドし、x86-64 Linux 上で動いている Tactility シミュレーターにインストールすると、Apps メニューに表示されます。デバイス向けのビルドは次のステップです。同じソースを使うので、残っているのはビルドそのものだけです。
ソースと README は GitHub にあり、Apache 2.0 ライセンスで公開されています。Tactility の SDK は、どのライセンスのアプリも認めています。
