Arshes v1.12.0 リリースノート
#Arshes v1.12.0 has been released for the external test⚡️
Added a new camera filter feature : save your color gradng settings as presets and share them with others 📷 pic.twitter.com/hNFo9H9ziT— Arshes (@arshes_net) 2026年5月19日

Arshes v1.12.0がリリースされた。 v1.10.0のリリースノートで書いていたフィルター機能がようやくリリースされた。
Arshesにはv1.5.0で実装されたカラーグレーディング機能がある。
こんな感じの写真現像アプリでよくみるスライダーがあって、これによってカメラ映像の色味を変更できる。 エフェクトのシェーダーにはこれらのパラメータが適用された後のカメラ映像がテクスチャとして渡される。
フィルターというのはこのスライダーのパラメータ設定のことである。今回のリリースで、ユーザーはフィルターを作成・公開ができるようになり、自分や他人が公開したフィルターを使用することができる。
フィルターを使用する
カメラ起動中のボトムツールバーにフィルターボタンが追加された。
これを押すと以下のようにフィルターが選択できる。 画像はmonochromeフィルタをタップして反映したのでモノクロになっている。他人が公開したフィルターもここで選べるので、色々試して遊ぶとよさそう。
フィルターは結局のところカラーグレーディングのプリセットでしかないので、ロードしたフィルターをその場で調整しつつ使用することもできる。
フィルターを作成する
自分のフィルターの管理はサイドメニューのMy Filtersから行う。
フィルター編集画面はこんな感じで、既存のカメラ画面とほとんど同じだが、 エフェクトはカメラ画像を表示するだけのプレーンなもので固定されている。 名前、サムネイル、公開設定もここで変更する。
実装の話
フィルターの中身はパラメータの集合なんだが、これはJSONにしてJSONB型でdbに入れてしまっている。JSONの形式はJSON Schemeで宣言して、スキーマからSwiftとGoのコードを生成している。 JSON Schemeはデフォルト値や最小値/最大値を宣言できる。これをコードに反映することで、スキーマを(破壊的に)変更してもよしなにフォールバック・クランプされた状態で取り扱えるのが良い。コード生成は要件に沿うパッケージが見つからなかったのでAIに専用のコード生成器をGoで作らせた。こういう小さなツールは瞬時に生成できて、良い時代である。

所感
やりたいと思っていたフィルター機能がとりあえずリリースできてめでたい。 ひとまずはミニマムなスコープで出すことにしたが、他人のフィルターをお気に入りできるようにしたり、フィルター検索ができたりしてもよさそうである。
プラットフォームとしてはエフェクトとフィルターは2本の柱(?)であり、両方を大事にしたいと思っている。ゆくゆくはホーム画面に新作フィルターとかも表示したいと思っている。
一方で、いろいろ考えることもある:
- フィルター一覧からフィルターを選択したらエフェクトなしでカメラが起動する?
- カメラ起動した後にエフェクトやフィルターを選ぶという説もある?
- エフェクトとフィルターの組み合わせをプリセットとして保存する?
別方向の話題としては、Arshesを起動するときに
- 目当てのエフェクト・フィルターを使用して今すぐ写真を撮りたい
- 新しいコンテンツを見つけたい
- コンテンツの作成・管理を行いたい
という3つのユースケースがある。 今はアプリを起動すると2のための画面が表示される。
3のための画面は意図的にサイドメニューから遷移するようにしている。
1については今は体験が悪い。 写真を撮る人間だとわかると思うが、歩いていて撮るぞ!となったときに起動までに時間がかかるのは結構なストレスである。
エフェクトについてはお気に入り機能があるが、あんまりうまく機能していない。順番を決められないし、♡や☆だと「いいね」っぽいが、道具として使いたい人にとってはブックマークのようなものがあるべきなように思う。ニコ動のマイリスト機能が好きだったので、Arshesでもマイリストという名前の機能を作って、今あるお気に入りは粉砕するかもしれない。
1と2はどちらの比重が大きいのかわかってないが、個人的には新しいコンテンツにたどり着く確率を上げられるような構図にしたいなと思っている。 なんとなく、これらをフラットに並べるよりもレイヤーを分けるのが良さそうな気がしている。例えば2のためのコンテンツ一覧画面の上に「クイックメニュー」みたいなシートが頭を見せていて、タップすると前回使用したエフェクトやマイリストの最初の3つくらいが表示されて、さっとアクセスできる、みたいな。
次やること
無限に外部テストで開発し続けているので、いい加減さっさとストアに公開したいが、いくつかの機能が足りていない。
- ライブラリ機能
- 課金
- 日本語対応
- マイリスト機能
とりあえず強制アップデート機能を実装したら、さっさと無料でストアに公開し、課金周りが揃ったら強制アプデを実行する、とかでもいいのかもしれない。
それとは別にHasura Cloudがやっぱ面倒な感じになってきたので粉砕してフルで実装したAPIサーバーに移行するのが良さそうな気がしている。これは結構大きな話だがAIにかかれば意外と簡単に終わりそうではある。バックエンドのNeon dbは使いまわせるはずだが、サーバーをCloud Runで動かすならCloud SQLにする方が色々楽、みたいな話もあり…難しい!!!









