Skip to content

Latest commit

 

History

History
35 lines (24 loc) · 2.35 KB

File metadata and controls

35 lines (24 loc) · 2.35 KB

Contribution Guide

はじめに:設計思想

このクレートは 定義内の動作 のみを使用して実装することを目指しています。

リバースエンジニアリングなどの手法は強力ではありますが、リバースエンジニアリングによる動作(例えば非公開の内部で使われている関数をフックするなど)は、AviUtl2のバージョンアップ後に動作する保証がありません。 これはアップデートが起こる可能性が非常に低い場合(AviUtl1のように)や、古いバージョンから更新しないことが許容されている場合(任意のゲームのModdingなど)では問題ありませんが、 AviUtl2は現在このプラグインを設計している時点(2025/09/08)では、週に一回のペースで更新が行われています。 よって、リバースエンジニアリングに依存したプラグインは、古いバージョンのAviUtl2のみをサポートすることになり、これはコミュニティに対して有害であると考えています。 そのため、このクレートはAviUtl2 SDKで定義されている動作のみを実装することを目指しており、また定義外の動作を含むPRは拒否される可能性があります。

また、このクレートは現在最新のAviUtl2以外のバージョンは明示的に拒否しています。 なぜなら、

  • 古いバージョンでの動作確認が困難・面倒であるため
  • AviUtl2は頻繁に更新されており、もし古いバージョンで動かそうとすると領域外アクセスなどの問題が発生する可能性があるため

です。

コマンド集

  • rake format:コードをフォーマットします。

  • rake lint:コードのLintを行います。

  • rake test:テストを実行します。

  • rake install[debug | release]:AviUtl2のプラグインディレクトリにビルドしたDLLをコピーします。debugまたはreleaseを指定します。

  • rake debug_setup:AviUtl2の環境をデバッグ用にセットアップします。

  • rake release./releaseディレクトリにリリース用のビルドとドキュメントを出力します。