ここにはこのリポジトリへのコントリビューション方法を記述します。
- シンプルかつミニマムに。小さな機能を積み重ねよう
- 未来の自分と開発者を救うために、ドキュメントは丁寧に。
- Issueから始めよ!自分が作るものを書き出そう。
- どのような修正・機能追加のパッチを制作するのか、issueに記述してください。
- このリポジトリをフォークし、実装してテストコードを記述してください。テストはすべての関数、メソッドに対して網羅的に行われている必要があります。
- あなたのコードが既存のコードスタイルとマッチしているか確認してください。
- すべてのテストコードがパスし、フォーマッタがかけられていることを確認してください。
- プルリクエストを送信してください。
-
NOTE: You can install poetry using
pip install poetry
orpip3 install poetry
depending on your system.
- このリポジトリをクローンしてください。
poetry install
で依存関係をインストールします。poetry shell
で仮想環境に入ります (conda環境ですでに仮想環境にいる場合は無視して次のステップに進んでください。)make test-full
ですべてのコードが正常に動作するか、確かめてください。- (Optional) demosのコードを実行し、自身の環境で意図した通りの動作をすることを確認してください。
開発する際の基本的な方針や手順を示します。
全く新しい種類の情報を扱う際はabcの内部に抽象クラスを設定し、インターフェイスを策定してください。
現在はController
とVideoCapture
クラスの抽象クラス、そしてその抽象ラッパークラスが用意されています。
画像入力処理(視覚)に関する機能を実装する場合はvisionディレクトリ下に作成してください。
抽象VideoCaptureクラスを継承して制作します。read
メソッドで画像のnumpy配列を返すようにしてください。
またラッパークラスを作る際はVideoCaptureWrapper
抽象クラスを継承し、visions/wrappers
下に制作してください。画像に前処理を加える場合はFrameWrapper
クラスを利用すると便利です。
VRChatへ操作情報を送る処理を実装します。controller
ディレクトリに作成してください。
抽象Controllerクラスを継承して制作します。 command
メソッドでVRChatに操作を送るように実装してください。ラッパークラスはwrappers
フォルダに作成してください。
osc
のInputControllerといった、大本から異なるコントローラーを制作する場合は内部にフォルダを作ってそこに実装してください。