Felucca(FM-1 用カスタムファームウェア)の 240×240 LCD の画面を、ブラウザにリアルタイムで ピクセル単位で同じに映すためのウェブページです。デモや動画撮影に使います。
状態: 計画段階。実装はまだありません。設計と工程は PLAN.md を参照。 Felucca v1.5 と同時に公開する予定です(対応ファームウェアは v1.5 以降)。
- フレームバッファは送りません。 送るのは UI の状態です(
ui、選択トラックのパラメータ、 ステップ、トランスポート、LED、スコープの軌跡など)。差分だけを送ります。 - ブラウザ側では、Felucca の UI の C コード(
ui*.c、gfx.c、icons.c、生成フォント・アイコン・ パレット)をそのまま WebAssembly にコンパイルして、受け取った状態から同じ描画を行います。 描画コードが同一なので、同じ状態からは同じピクセルが出ます。 - 通信は USB-MIDI の SysEx(Web エディタと同じ
F0 7D 46 4C …系、新しい MIRROR コマンド)。 - ファームウェアと WASM はビルドハッシュで照合し、一致しないときは描画しません(近似表示はしない)。
- MVP: 画面のミラー表示
- LED と鍵盤・ボタン・ノブの表示、Web からの操作(任意)
- デモ動画: 整数倍拡大、クリーン表示、録画、状態ストリームの記録と後からのフレーム正確な再レンダリング
その後は、同じ受信・描画のコア(C)を使って、スマホ(Android の Chrome、iPhone はアプリ)や M5Stack 系の小さな画面でも表示できるようにする予定です。
GPL-3.0-only(LICENSE)。Felucca のソースコード(GPL-3.0-only)を再利用します。 WASM に埋め込まれるフォント(Inter Tight, SIL OFL 1.1)とアイコンフォント(Fukiai, MIT)は それぞれのライセンスに従います。