×

Arshes v1.3.0

概ね機能はそろってきた。審査に出したので近々外部テスターにも降ってくるはず。

v1.3.0 やったことメモ

  • アイコン変更

  • 利用規約周りの対応

  • API Server

    • Hasura Cloudでは足りないサーバーロジックを持たせてRemote Schemaとして使う
      • e.g. アカウント削除、複雑なmutation
    • Goで実装
    • FirebaseやGCPとの連携が楽なのでCloud Runを採用
    • 設定はTerraformで管理、デプロイはGitHub Actions(WIF)
  • Hasura Cloudの更新フローを整理した

  • Modules機能の実装

    • import Arshes;で使っていたビルトインのSlangモジュールのスコープがよくわからん感じになってきたのでdeprecatedにした
    • UGC Slangモジュールを作れるようにして、最初は公式ユーザー(= 私)が作ったのを使えるようにした
    • user <- shader <- shader_module_depency -> module_revision -> module -> user みたいな関係にして、dependency -> module_revisionの部分だけSET NULLし、それ以外はCASCADEするようにした
    • db仕草はまだよくわかっておらず、手探りでやっている
  • togglergbrgba Attributesを追加

  • Shader Spec UI

  • https://github.com/shivaduke28/arshes-cli MCPサーバー機能

    • arshes mcp すると MCPサーバーモードで立ち上がる
    • アプリからはこれまで通りWebSocketで接続するだけ
    • アプリはサーバーと接続したときに自身で使えるSlang APIを送るので、AI Agentに説明する必要がない
    • MCPからコンパイルリクエストを受け取るとコンパイル後にレンダリング結果をjpgにしてサーバーに返すので、スクショを見せたりする必要もない
  • uniform float microphone; でマイク入力が使えるようにした

v1.4.0でやりたいこと

  • ユーザーアイコン、サムネイル画像
    • Google Cloud Storageにアップロードするはず
    • 署名付きアップロードURLやらリサイズやら考えることがありそう
  • いいね数、使われた回数の可視化
    • dbのあり方がよくわかってないので調べる
    • 最近使ったシェーダー一覧画面でも似たようなことをやりたそう
  • UGC Slangモジュール
    • ガワはあるが、もう少しちゃんと考える必要がありそう
    • ユーザーはmoduleを作ったり削除したりする
    • moduleにはソースコードが含まれており、スナップショットをmodule_revisionとして保存できる
    • shaderからmoduleを使う場合、shader_module_dependencyが作られる
    • depdencyにはrevisionのコピーが含まれており、moduleやmodule_revisionを非公開化・削除しても動くことが保証される(のでdependency -> revisionの参照はSET NULL)
    • ほんまか〜〜??という気もするが、よくわかってないので、dbの勉強が必要そう
  • マネタイズ設計
    • サーバーなどでもろもろと金がかかるので、最低限回収できる程度には金をもらうようにしたい
    • なんか考えたり実装したりする必要がありそう

Continues

Continued by