Skip to content

Instantly share code, notes, and snippets.

@neguse
Last active February 9, 2026 15:25
Show Gist options
  • Select an option

  • Save neguse/170b69cd86c2801879c53d2267435d08 to your computer and use it in GitHub Desktop.

Select an option

Save neguse/170b69cd86c2801879c53d2267435d08 to your computer and use it in GitHub Desktop.
Fluorite — FOSDEM 2026 発表まとめ by Claude

Fluorite — FOSDEM 2026 発表まとめ

Jamie Kerber (Very Good Ventures) / Joel Wynarska (Toyota Connected N.A.) — 25min + Q&A Flutter DevRoom — "Fluorite: Console-Grade Game Engine in Flutter"

登壇者

  • Jamie Kerber — Very Good Ventures コンサルティングシニアエンジニア。Fluoriteプロジェクトのリードエンジニア。当日の代理発表者。
  • Joel Wynarska — Toyota Connected North America プリンシパルエンジニア。Fluoriteプロジェクトの創設者・リード。当日不参加、ビデオメッセージで挨拶。

現状 — 組み込みFlutter

Toyota Connectedは IVIホーム画面(Wayland + Linux組み込み向けFlutterエンベッダー)を開発中。Yocto Linux上の Meta-Flutter プロジェクトの中核であり、車載Linux全般を支える。RAV4 2020 および 2026年モデル に搭載済み(プロダクション稼働)。

課題:2Dの静的インターフェースのみ → UI/UXの表現力が制限される

ゲームエンジン統合のユースケース

ユースケース 説明
インタラクティブ・マニュアル 車両機能の使い方を3Dイラスト付きステップバイステップで提示
ハードウェア状態可視化 車両3Dモデル上で故障箇所をピンポイント表示。セルフサービス修理案内と連携
環境マッピング 車外3Dマップを車内画面に投影、障害物回避の操縦支援
直感的コントロール エアコン・ワイパー等の設定を3Dオブジェクトで操作。実車に近い見た目

⚠ 発表者注記:「あくまで私個人の技術的推測であり、既存製品のロードマップを反映するものではない」

既存エンジンの評価 → 全て却下

flowchart TD
    Start[3Dが必要] --> Unity[Unity / Unreal]
    Start --> Godot[Godot]
    Start --> FGPU[Flutter GPU]
    
    Unity --> R1r["クローズドソース<br>Yocto非互換<br>高額ライセンス"]
    Godot --> R2r["Pi5で起動20秒超<br>リソース過剰"]
    FGPU --> R3r["iOSのみ安定<br>Linux非対応"]
    
    R1r --> R1[❌ 却下]
    R2r --> R2[❌ 却下]
    R3r --> R3[❌ 却下]
    
    R1 & R2 & R3 --> Build[手持ち技術で自前構築]
    Build --> Fluorite[✅ Fluorite]
Loading

Unity / Unreal Engine

観点 詳細
ソースコード クローズドソース。プロプライエタリなバイナリ(blob)をLinuxディストリビューションに含める必要がある
Yocto互換性 「プロプライエタリblobの同梱によりYocto互換性が失われる。ユースケースの大部分がそこにある(a massive chunk of our use cases)」と発言。Yoctoビルドシステム自体はプロプライエタリblobを技術的に組み込めるため、ここでの「互換性を失う」はビルドの可否ではなく、OSS前提で構築されたToyota Connected / meta-flutterのエコシステムにクローズドソースを持ち込めないというポリシー上の制約と考えられる
リソース消費 Flutterアプリにネイティブビューとして統合する場合、画面上の表示一つひとつに対してエンジン全体のインスタンスを個別に起動する必要がある。実験の結果、フレームレートの低下とパフォーマンス悪化を確認
ライセンス費用 年間数百万ドル規模
総評 「話にならない(non-starter)」と明言

Godot

観点 詳細
起動時間 Raspberry Pi 5で20秒超。組み込み用途では到底受け入れられない
リソース消費 さらに詳しくテストした結果、Unity/Unrealと同様にリソース消費が激しいことを確認
評価背景 「最近かなり採用が進んでいるエンジン」と認めた上で、組み込み用途では不適格と判断

Flutter GPU(Impeller)

観点 詳細
iOS 安定
Android 不安定
Linux 利用不可
macOS 利用不可
Windows 利用不可
API成熟度 「絶えず改善されてはいるものの、開発スピードには追いついていなかった」
総評 Linuxで動かない時点で選択肢から除外

解決策 — 手持ち技術の組み合わせ

要素 技術 由来
既存資産 IVIホーム画面 / ivi-homescreen(Wayland向けFlutterエンベッダー) Toyota Connected(GitHub公開
開発中 Flutter SDL3 Embedder(クロスプラットフォームI/O) Toyota Connected(発表者が "working on" と言及、未公開)
追加 Filament(PBR 3Dレンダラー) Google OSS
= 結果 Fluorite(Flutter完全統合ゲームエンジン) ソースリポジトリ未公開

技術アーキテクチャ

block-beta
    columns 2
    Dart["Dart API — 開発者向け高レベルAPI"]:2
    Flutter["Flutter — UI / 状態管理"]
    Filament["Filament — PBR 3D / Vulkan"]
    ECS["C++ ECS Core"]
    SDL3["SDL3 Embedder — I/O"]
    GPU["GPU (Vulkan 1.1+)"]:2
Loading
レイヤー 技術 備考
ECS Core C++ 低レベル最適化、メモリ/処理の精密制御。組み込み・低スペックHW向け
開発者API Dart Unity/Unreal/Godot風のクリーンな高レベルAPI。知識100%移転可能
3D Rendering Filament (PBR) 物理ベースレンダリング、Vulkan駆動、完全GPU加速
UI Framework Flutter 状態管理(Provider/RiverPod/Bloc)、レイアウトシステム、ホットリロード
I/O SDL3 Embedder 組み込み・デスクトップ・モバイル間のクロスプラットフォーム入出力

実装済み機能

機能 詳細
ECS + シーングラフ エンティティにコンポーネント(Transform, Collider, Model, Renderable, BehaviorScript)を付与。階層的シーングラフで複雑なネスト構造を表現
モデル定義タッチトリガーゾーン 3Dアーティストがモデル上のクリッカブル領域を定義 → 開発者がイベントを接続。並行作業を可能にする。デモ:タイヤをタップで空気圧調整
3D ↔ Flutter UI 同期 ゲーム状態とFlutterウィジェットがリアルタイム同期。デモ:UIスライダーがタイヤ空気圧インジケータのサイズを制御
PBRレンダリング Filamentによる高品質な物理ベース3D。組み込み向け最適化済み。カスタマイズ可能なシェーダー/レンダリングパイプライン
ホットリロード Flutterのホットリロードがそのまま動作。コード保存→1秒未満でシーン反映。Unity/Godotより桁違いに高速と主張
Flutterウィジェット統合 Fluoriteビューは単一Flutterウィジェット。アプリ内の任意位置に配置可能。マルチビュー対応、ビュー間で状態共有

対応フォーマット

Blender互換。既存ゲームプロジェクトから数分〜数秒でアセット移行可能と主張。

glTF GLB KTX HDR GLSL superset

プラットフォームサポート

SDL3の「プラットフォーム非依存な性質」により、以下をサポートすると発言:

プラットフォーム 発表での説明
組み込みLinux 「Yocto含む」と明言。主要ターゲット
iOS / Android モバイル対応
Windows / macOS / Linux デスクトップ。「全主要デスクトップOS」
ゲームコンソール 「SDL3のおかげで対応できる」。SDL3がツーリングを提供し、FlutterとFilamentのプラットフォーム非依存な性質と合わせて「近い将来届けられる」と発言
WebAssembly / WebGPU Q&Aで「まだ検討していない」と回答。現在はデスクトップOSに集中

ロードマップ

優先度 項目 状態 詳細
1 Jolt物理エンジン統合 次の優先事項 エンティティにphysicsコンポーネントとして付与。剛体・軟体、各種コライダー設定
2 CLI / GUIツール 計画中 デザイナーと開発者の両方を支援するクリエイティブワークフロー
3 SDL3 Dart APIパッケージ公開 計画中 SDL3のDartバインディングを単独パッケージとして公開
4 コラボレーション募集 FOSDEM発表の主目的 外部チームからの開発リソースのコミットメント。共通ロードマップ策定。Webサイト近日公開

Q&A セッション

Q: WebAssembly / WebGPUでFlutter Webアプリにも対応可能か? まだ検討していない。現在はWindows, 一部Linuxディストリビューション, macOSの最新版に集中。GitHubリポジトリ公開後にissueとして歓迎する。

Q: レンダリングはCPUかGPUか? 完全にGPU加速。Vulkanで駆動。プラットフォームのフルGPUアクセラレーションを利用。

Q: アクセシビリティ対応は? API策定中。Flutterのセマンティックツリーを活用し、Fluorite Viewウィジェットがセマンティクスサブツリーにノードを提供する方式を検討中。

Q: IVIシステムのUIテストプロセスは? 自分の担当範囲外で回答不可。別チームの責任。ただしトヨタの厳格な品質基準を通過しないと車両には搭載されない。

Q: 車両以外のボード(ロボティクス等)への移植、センサーデータ(点群、LiDAR)のレンダリングは? 非常に面白いユースケース。自分たちで実験するかは不明だが、そういった体験を可能にしたい。ボード互換性はLinux + Vulkan 1.1以上で基本的に動作するはず。現在Raspberry Pi 5でテスト中。

連絡先

  • 戦略・方向性・コラボレーション — Joel Wynarska(Toyota Connected North America)
  • 技術的質問 — Jamie Kerber(発表時に提示)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment