開発者テスト
TSMP ランタイム コードを変更する場合、ネットワーク動作を追加する場合、またはコーデックを追加する場合には、このチェックリストを使用してください。
テストでは次の 2 つのことを個別にカバーする必要があります。
- Unity インポートと UdonSharp コンパイルの健全性。
- 実際のテクスチャ パスを介したランタイム フレームの動作。
静的チェック
プロジェクト ファイルが利用可能な場所で Unity C# ビルドを実行します。
dotnet build .\K13A.TSMP.Core.csproj --no-restore
dotnet build .\K13A.TSMP.Core.Editor.csproj --no-restore
これらのチェックは Unity インポートや UdonSharp コンパイルに代わるものではありませんが、多くの C# リファレンスの問題を早期に検出します。
統一性チェック
- Unity はスクリプトを欠落することなくインポートします。
- UdonSharp コンパイルは成功しました。
TSMPSetupはコーデックを更新できます。Apply Setupはバインディングを割り当てます。- サンプル プレハブ参照は引き続き有効です。
- エンコーダーとデコーダーのインスペクターは、予想される診断を表示します。
- Luma4 が [コーデック] タブに表示されます。
ランタイムスモークテスト
1.TSMPController.prefabを配置します。
2. TSMPNetworkGameObjectToggleを追加します。
3. セットアップを適用します。
4. ローカル対話の切り替えをすぐに確認します。
5. ループバック遅延後のデコードされた RPC トグルを確認します。
6. TSMPNetworkTransformSyncを追加します。
7. ペイロード バイトとメッセージ数がゼロでないことを確認します。
8. デコーダが値を適用していることを確認します。
このテストは、高帯域幅のポーズ データが導入される前の最小限のエンドツーエンド パスを証明します。
プロトコルのテスト
- 有効なフレーム ヘッダーは CRC 検証に合格します。
- 変更されたヘッダー バイトは CRC 検証に失敗します。
- 空の
VariableStateメッセージはカウントされません。 - RPC 専用フレームはエンコードされます。
- ペイロード コピー/FEC 参照は再導入されません。
- ペイロード容量の境界により、サイズ超過のフレームが拒否されます。
コーデックのテスト
- ヘッダー領域は正しくデコードされます。
- ペイロード容量は実際の書き込み可能なデータと一致します。
- ペイロードの開始行がデコーダー シェーダーの期待と一致します。
- コーデック オプション バイトはヘッダーに残ります。
- 未使用の出力領域はクリアまたは無視されます。
- デコードは、ターゲット キャプチャ パスを介したテクスチャ転送後に機能します。
回帰チェックリスト
リリースする前に、次のテストを行ってください。
- コアと Luma4 のデフォルトのインストール。
- 編集時のエンコーディング。
- Unity Play モードのエンコードとデコード。
- VRChat ランタイムをアップロードしました。
- OBS/Spout リリースでトランスポート、コーデック、またはシェーダーの動作が変更された場合のループバック。