Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

バグ分類のガイドライン

This page describes the typical workflow of the bug triage team aka bugsquad when handling issues and pull requests on Godot's GitHub repository. It is bound to evolve together with the bugsquad, so do not hesitate to propose modifications to the following guidelines.

問題管理

GitHubは課題を管理するためのさまざまな機能を提案します:

  • 定義済みリストから1つまたは複数のラベルを設定する

  • 定義済みの一覧からマイルストーンを1つ設定する

  • プロジェクト・ダッシュボードで問題を追跡する

  • Godotエンジン組織メンバーの間で1人の貢献者を「担当者」として定義します

GitHubのGodotエンジン組織には現在、限られた数の貢献者しかいないため当面は譲受人を広範囲に使用しません。すべての寄稿者は問題があればそれをissueチケットに記載したり、他の開発者と解決するための最善の方法を話し合った後で関連しているなら、どのような問題でも解決することを歓迎します。

For the time being, we do not use the project dashboard feature either.

可能な限り、ラベル(および関連する場合はマイルストーン)をissueとpull requestの両方に割り当てます。

ラベル

現在、Godotリポジトリでは以下のラベルが定義されています:

カテゴリ:

  • Archived: 他の問題の重複、または無効です。 このような問題も解決されるでしょう。

  • Breaks compat: describes something that can only be fixed by breaking compatibility with existing projects.

  • Bug:正しく動作していないものを示します。

  • Cherrypick: describes something that can be backported to a stable branch after being merged in the master branch.

  • Confirmed:バグ報告者以外の少なくとも1人の貢献者によって確認されています(通常はバグ報告用)。 このラベルの目的は、作業対象を選択するときに、どの問題がまだ再現可能であるかを開発者に知らせることです。 したがって、問題を再現できるプラットフォームとGodotのバージョンまたはコミットに関するコメントを追加することをお勧めします。 開発者が1年後に問題を見ると、Confirmedラベルはもう関係ないかもしれません。

  • Crash: describes a bug that causes the engine to crash. This label is only used for "hard" crashes, not freezes.

  • Discussion:問題は合意に達しておらず、トピックに対処するために何をすべきかを正確に定義するために、さらなる議論が必要です。

  • Documentation: ドキュメントに関連する問題。主に APIドキュメントの機能強化を要求します。ReadTheDocs ドキュメントに関連する問題は、 godot-docsリポジトリに提出する必要があります。

  • Enhancement: 既存の機能に対して提案された拡張機能について説明します。

  • Feature proposal: describes a wish for a new feature to be implemented. Note that the main Godot repository no longer accepts feature requests. Please use godot-proposals instead.

  • For PR meeting: the issue needs to be discussed in a pull request meeting. These meetings are public and are held on the Godot Contributors Chat.

  • Good first issue: the issue is assumed to be an easy one to fix, which makes it a great fit for new contributors who want to become familiar with the code base. It should be removed while an active PR is available, that resolves this issue.

  • High priority: the issue is particularly important as it can prevent people from releasing their projects or cause data loss.

  • Needs testing: 問題/プルリクエストを完全にテストできなかったため、さらにテストを行う必要があります。これは、異なるハードウェア/ソフトウェア構成でテストする必要があること、または再現する手順が明確でないことを意味します。

  • Needs work: the pull request needs additional work before it can be merged.

  • Performance: issues that directly impact engine or editor performance. Can also be used for pull requests that improve performance or add low-end-friendly options. Should not be coupled with Usability.

  • Production: Relates to the production team.

  • Regression: the bug appeared after a stable release not exhibiting the bug was released.

  • Salvageable: the pull request can't be merged due to design issues or merge conflicts and its author is not active anymore. However, it can still be picked up by an external contributor to bring it to a mergeable state. To do so, you need to open a new pull request based on the original pull request.

  • Tracker:他の問題を追跡するために使用される問題(プラグインシステムに関連するすべての問題のような)。

  • Usability: issues that directly impact user usability. Should not be coupled with Performance.

The categories are used for general triage of the issues. They can be combined in some way when relevant, e.g. an issue can be labelled Enhancement and Usability at the same time if it's an issue to improve usability. Or Feature proposal and Discussion if it's a non-consensual feature request, or one that is not precise enough to be worked on. At least one of the categories Bug, Enhancement or Discussion is used to describe an issue or pull request.

トピック:

  • 2D: relates to 2D-specific issues. Should be coupled with one of the labels below, and should not be coupled with 3D.

  • 3D: relates to 3D-specific issues. Should be coupled with one of the labels below, and should not be coupled with 2D.

  • Animation: relates to the Animation system, editors and importers.

  • Assetlib:アセットライブラリの問題に関連します。

  • Audio:オーディオ機能(低レベルと高レベル)に関連しています。

  • Buildsystem:SConsビルドシステムまたはコンパイラの特殊性にリンクされたビルドの問題に関連します。

  • Codestyle: relates to the programming style used within the codebase.

  • Core: anything related to the core engine. Specific topics are split off separately as they crop up.

  • Dotnet: relates to the C# / Dotnet bindings.

  • Editor:エディタの問題(主にUI)に関連します。

  • Export: relates to the export system and templates.

  • GDExtension: relates to the GDExtension system for native extensions.

  • GDScript:GDScript に関連します。

  • GUI: relates to GUI (Control) nodes or to Nodes that compose user interfaces.

  • Import: relates to the resource import system.

  • Input: relates to the input system.

  • Multiplayer: relates to multiplayer (high-level networking) systems.

  • Navigation: relates to the navigation system (including A* and navmeshes).

  • Network: relates to (lot-level) networking.

  • Particles: particles, particle systems and their editors.

  • Physics:物理エンジン(2D/3D)に関連します。

  • Plugin:プラグインの書き込み中に発生した問題に関連しています。

  • Porting: relates to some specific platforms or exporting projects.

  • Rendering:2Dおよび3Dレンダリングエンジンに関連します。

  • Shaders: relates to the Godot shader language or visual shaders.

  • Tests: relates to unit tests.

  • Thirdparty: relates to third-party libraries used in Godot.

  • XR: relates to Augmented Reality or Virtual Reality.

通常、問題は1つのトピックにのみ対応しますが、2つの案に当てはまる問題を見つけることは考えられません。 一般的な考え方は、すべてのトピックの背後に専門の貢献者チームがあるため、チームのトピックでラベル付けされた問題に集中できるということです。

プラットフォーム:

Android, iOS, Linux, macOS, Web, Windows

デフォルトでは、特定の問題がすべてのプラットフォームに適用されると想定されています。プラットフォームラベルのいずれかが使用された場合、それは排他的であり、以前の前提はもはや存在しません(AndroidとLinuxのみのバグの場合は、この2つのプラットフォームを選択してください。)。

Documentation labels

In the documentation repository, we use the following labels:

  • Archived: 他の問題の重複、または無効です。 このような問題も解決されるでしょう。

  • Bug: Incorrect information in an existing page. Not to be used for missing information.

  • Cherrypick: describes something that can be backported to a stable branch after being merged in the master branch.

  • Dependencies: describes pull requests that update a dependency file.

  • Discussion:問題は合意に達しておらず、トピックに対処するために何をすべきかを正確に定義するために、さらなる議論が必要です。

  • Enhancememnt: new information to be added in an existing page.

  • Good first issue: the issue is assumed to be an easy one to fix, which makes it a great fit for new contributors who want to become familiar with the code base. It should be removed while an active PR is available, that resolves this issue.

  • Needs work: the pull request needs additional work before it can be merged.

  • Python: Pull requests that update Python code.

  • Salvageable: the pull request can't be merged due to design issues or merge conflicts and its author is not active anymore. However, it can still be picked up by an external contributor to bring it to a mergeable state. To do so, you need to open a new pull request based on the original pull request.

  • Tracker:他の問題を追跡するために使用される問題(プラグインシステムに関連するすべての問題のような)。

Area:

  • About: Issues and PRs related to the About section of the documentation and other general articles.

  • Class reference: the issue is about the class reference, not a documentation page.

  • Community: Issues and PRs related to the Community section of the documentation.

  • Contributing: Issues and PRs related to the Contributing/Development section of the documentation.

  • Getting started: Issues and PRs related to the Getting Started section of the documentation.

  • Manual: Issues and PRs related to the Manual/Tutorials section of the documentation.

Content:

  • Images: Issues and PRs involving outdated or incorrect images in articles.

  • New page: Issues and PRs related to creation of new documentation pages for new or undocumented features.

  • Organization: Issues and PRs related to reorganizing the content.

  • Proofreading: Issues and PRs related to proofreading the documentation.

  • Redirect: Issues and PRs involving moving content and adding a redirect rule on the backend.

  • Website: Issues related to adding website features and fixing bugs, whether on the front or back-end,

Topic:

The available topics describe the same content as the topics in the main repository.

マイルス トーン

Milestones correspond to planned future versions of Godot for which there is an existing roadmap. Issues that fit in the said roadmap should be filed under the corresponding milestone; if they don't correspond to any current roadmap, they should be left without milestone. As a rule of thumb, an issue corresponds to a given milestone if it concerns a feature that is new in the milestone, or a critical bug that can't be accepted in any future stable release, or anything that Juan wants to work on right now. :)

貢献者は、割り当てられたマイルストーンに関係なく、問題を自由に選択できます。 緊急とみなされなかったため、マイルストーンのないバグの修正が提案された場合、それでも大歓迎です。