ドキュメント改善:ComponentInformationまわりの記載について #1141
whiteflare
started this conversation in
General
Replies: 2 comments 2 replies
-
とりあえずactivenessについてはisActiveやenabledを指しており、残すかどうかとは独立しています。 xmldocについては今手元で草案を書いてるのでそれを更新したらまた意見をいただきたいです。 |
Beta Was this translation helpful? Give feedback.
0 replies
-
とりあえずAvatar Optimizerの動作の説明を少し追加しました |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
話題としては以下のドキュメントに関する改善提案です。
https://vpm.anatawa12.com/avatar-optimizer/ja/docs/developers/make-your-components-compatible-with-aao/
https://github.com/anatawa12/AvatarOptimizer/blob/master/API-Editor/ComponentInformation.cs
自分が内容を全て把握できている自信がないためdiscussionで起票させていただきます。
これらのドキュメントが対象とするのは「独自コンポーネントを作成した他の作者、ただしAAOの内部処理には詳しくない」と思うのですが、想定している対象にとっては説明が足りていないのではと考えています。
(正確には、そういった立場である自分があまりドキュメントを理解できなかったため、理解を深めると同時にドキュメント側の改善も行えないかと画策しています)
例えば、MarkEntrypoint のXMLDOCを見るに、
AvatarOptimizer/API-Editor/ComponentInformation.cs
Line 111 in 98728ed
EntryPoint についての説明は「effects to non-avatar」と記載されていて、「non-avatar」の説明が無いためそれ以上理解できませんでした。
また「意味する」は「AAOが、~のように処理する」と解釈しましたが、具体的にAAOが何を行うかが明確ではなく、その結果 MarkEndpoint をどのような場合に呼び出せば良いかが伝わらないと思っています。
提案としては、次のような内容にするのが良いと思います。
この内容に続いて、Renderer や PhysBone の例を列挙していくことになると思います。
// disable な Renderer であっても MarkEntryPoint しているという点が理解しきれないでいます。MarkEntryPoint はしておいて別の仕組みで要不要を判定して削除しているのではと推測していますが、そうではないとすると上記の提案内容には間違いがあるのかもしれません。
同様の問題が MarkHeavyBehaviour や MarkBehaviour にもあり、これらを呼び出した結果 AvatarOptimizer がどのように扱うかの情報が記載されていないため理解できないでいます。
AvatarOptimizer/API-Editor/ComponentInformation.cs
Lines 146 to 147 in 98728ed
実際、削除されないことを期待して MarkBehaviour を呼び出しましたが、XMLDOCの記載に反してコンポーネントは削除されました。
activeness 自体は変更されなくなったのかもしれませんが、結果的には不要コンポーネントとして削除されたものと思います。
AvatarOptimizer の処理が何段階かに分かれていて、ただし何段階に分かれているかの情報がないため、activeness まわりの情報が伝わらなくなってしまったのではと推測しています。
Beta Was this translation helpful? Give feedback.
All reactions