アーキテクチャ

使用言語
- Rust
- JavaScript
- TypeScript (Hono)
エディタ
使用したクレートやクラウド周りなど
- workers-rs
- Image
- Base64
- joycon webhid
- Cloudflare Pages
- Cloudflare Workers
- Cloudflare R2
- Cloudflare KV
自慢ポイント
- エディタはNeoVimのみ (Copilotによる補完は使ってない)
- R2から直接ではなくKVを噛ませる
- ランダム関数の自前実装 (線形合同法でseedは基準時からの差分時間)
- 画像の処理をwasm
- imgとcanvasを使ったimage url to base64
大変だったこと
- workers-rsでrandクレートが使用できなかった
- workers-rsがR2に対応してない
- Vimの操作に慣れること
- Rustのビルドがなかなか通らない
- リングコンからデータを取ってくる関係でフロントのフレームワークが使えない
- jsの記事が古いものが多い
- R2の画像をBase64に変換
- wasmにコンパイルする関係で、気にしないといけないことが多々あった
- 公式ドキュメント以外の情報がほとんどない。
おまけ
今回のハッカソンは、ビートセイバーを作ろうと思い事前開発である程度進めていたが、ジンバルロック問題にぶち当たり断念。

joycon webhid周りの話
https://zenn.dev/thirdlf/scraps/7b16070edc89e1
を指定するとき、R2と同じドメインでトンネル立てたらlocalhostでも検証できた。
と