メインコンテンツまでスキップ

開発者テスト

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 リリースでトランスポート、コーデック、またはシェーダーの動作が変更された場合のループバック。