bevy: Tracking issue: deny missing docs, one crate at a time
Docs are great! However, it’s easy to let them atrophy.
As Bevy grows and stabilizes, we want to be able to turn on #![warn(missing_docs)]
(which will cause CI to fail if violated). This is helpful because it helpful for new users and contributors, and ensures that our code base’s documentation state doesn’t regress.
However, not everything is stable or well documented enough to do so already. We should turn this on one crate at a time, once it hits 100% coverage. If there’s a crate
Let’s check the current doc coverage.
- Set the following environment variable (on Windows, I used the
$Env:
syntax):RUSTDOCFLAGS="-Z unstable-options --show-coverage"
- Run
cargo +nightly doc --workspace --all-features --no-deps
Run on 2023-03-14: Crate | Docs Coverage
-
bevy_a11y
| 100.0% -
bevy_animation
| 100.0% -
bevy_utils
| 53.3% -
bevy_tasks
| 100.0% (#3509) -
bevy_derive
| 33% -
bevy_macro_utils
| 28.6% -
bevy_math
| 100.0% (#3503 | #4591) -
bevy_app
| 100.0% (#3539) -
bevy_ecs_macros
| 40.0% -
bevy_dynamic_plugin
| 42.9% -
bevy_window
| 97.8% (#4333) -
bevy_crevice
| 100% (Not our problem) -
bevy_log
| 100.0% -
bevy_transform
| 100.0% -
bevy_core
| 100.0% -
bevy_reflect
| 61.7% -
bevy_input
| 90.6% (Claimed by @KDecay) -
bevy_gilrs
| 0% -
bevy_diagnostic
| 50% -
bevy_winit
| 56% -
bevy_audio
| 100.0% -
bevy_scene
| 22.1% -
bevy_asset
| 100.0% (https://github.com/bevyengine/bevy/pull/3536) -
bevy_core_pipeline
| 3.4% -
bevy_gltf
|16.7% -
bevy_sprite
| 30.8% -
bevy_ecs
| 79.5% -
bevy_dylib
| 100% (warning not yet enabled) (#3515) -
bevy_text
| 35.8% -
errors
| 66.7% -
bevy_internal
| 100.0% (#3514) -
bevy_pbr
| 37.4% -
bevy_ui
| 74.8% -
bevy_render
| 48.2% -
bevy_core_pipeline
| 22.3% -
bevy_derive
| 57.1% -
bevy_encase_derive
| 0% -
bevy_hierarchy
| 100% -
bevy_log
| 100% -
bevy_mikktspace
| 90% -
bevy_ptr
| 100% -
bevy_reflect_derive
| 88.9% -
bevy_render_macros
| 25% -
bevy_time
| 78.8% -
bevy_utils_macros
| 0%
About this issue
- Original URL
- State: open
- Created 3 years ago
- Reactions: 2
- Comments: 26 (22 by maintainers)
Commits related to this issue
- Added missing docs to bevy_internal and added warn on missing docs (#3514) # Objective This contributes documentation that should cover the entirety of bevy_internal as requested in #3492 ## Sol... — committed to bevyengine/bevy by deleted user 2 years ago
- Updated bevy_dylib documentation and added missing_doc warning. (#3515) This PR is part of the issue #3492. # Objective - Add and update the bevy_dylib documentation to achieve a 100% documentati... — committed to bevyengine/bevy by deleted user 2 years ago
- Remove Bytes, FromBytes, Labels, EntityLabels. Document rest of bevy_core and enable warning on missing docs. (#3521) This PR is part of the issue #3492. # Objective - Clean up dead code in `b... — committed to bevyengine/bevy by james7132 2 years ago
- Complete inline documentation for bevy_audio (#3510) # Objective Part of #3492 - Complete inline documentation of `bevy_audio` ## Solution - Added inline documentation to all public parts ... — committed to bevyengine/bevy by NiklasEi 2 years ago
- Bevy app docs (#3539) # Objective Achieve 100% documentation coverage for bevy_app crate. See #3492 ## Solution - Add #![warn(missing_docs)] to crate root - Add doc comments to public ite... — committed to bevyengine/bevy by dbearden 2 years ago
- Bevy app docs (#3539) # Objective Achieve 100% documentation coverage for bevy_app crate. See #3492 ## Solution - Add #![warn(missing_docs)] to crate root - Add doc comments to public ite... — committed to bevyengine/bevy by dbearden 2 years ago
- Partially document bevy_ui (#3526) # Objective Updated the docs for bevy_ui as requested by #3492 ## Solution I have documented the parts I understand. anchors.rs is not in use and should b... — committed to bevyengine/bevy by deleted user 2 years ago
- Added docs for bevy_transform (#3516) # Objective bevy_transform needed documentation and warn(missing_docs) as requested by #3492 ## Solution warn(missing_docs) was activated and documenta... — committed to bevyengine/bevy by deleted user 2 years ago
- Document bevy_tasks and enable #![warn(missing_docs)] (#3509) This PR is part of the issue #3492. # Objective - Add and update the bevy_tasks documentation to achieve a 100% documentation cove... — committed to bevyengine/bevy by james7132 2 years ago
- Add crate level docs to bevy_log and enable #![warn(missing_docs)] (#3520) This PR is part of the issue #3492. # Objective - Add crate level docs to the bevy_log documentation to achieve a 100%... — committed to bevyengine/bevy by james7132 2 years ago
- Squashed commit of the following: commit 9a7852db0f22eb41f259a1afbb4926eb73863a10 Author: devjobe <contact@devjobe.com> Date: Tue Feb 8 23:18:11 2022 +0000 Fix SetSpriteTextureBindGroup to use... — committed to jleflang/bevy by jleflang 2 years ago
- Document `bevy_math` (#4591) # Objective - Part of #3492 ## Solution - Document the `bevy_math` crate and add the `#![warn(missing_docs)]` lint. — committed to bevyengine/bevy by deleted user 2 years ago
- Document `bevy_math` (#4591) # Objective - Part of #3492 ## Solution - Document the `bevy_math` crate and add the `#![warn(missing_docs)]` lint. — committed to exjam/bevy by deleted user 2 years ago
- Add documentation comments to `bevy_window` (#4333) # Objective - Add documentation comments and `#![warn(missing_docs)]` to `bevy_window`. - Part of #3492 — committed to bevyengine/bevy by x-52 2 years ago
- Add documentation comments to `bevy_window` (#4333) # Objective - Add documentation comments and `#![warn(missing_docs)]` to `bevy_window`. - Part of #3492 — committed to bevyengine/bevy by x-52 2 years ago
- Squashed commit of the following: commit 114d169dcec0e426e7815f184c0f85e67713c95b Author: Robert Swain <robert.swain@gmail.com> Date: Tue Jun 21 20:50:06 2022 +0000 Callable PBR functions (#49... — committed to robtfm/bevy by robtfm 2 years ago
- Add documentation comments to `bevy_window` (#4333) # Objective - Add documentation comments and `#![warn(missing_docs)]` to `bevy_window`. - Part of #3492 — committed to james7132/bevy by x-52 2 years ago
- Add documentation comments to `bevy_window` (#4333) # Objective - Add documentation comments and `#![warn(missing_docs)]` to `bevy_window`. - Part of #3492 — committed to james7132/bevy by x-52 2 years ago
- Document remaining members of bevy_utils (#6897) # Objective Partially address #3492. ## Solution Document the remaining undocumented members of `bevy_utils` and set `warn(missing_docs)` on the... — committed to bevyengine/bevy by james7132 2 years ago
- Document remaining members of bevy_utils (#6897) # Objective Partially address #3492. ## Solution Document the remaining undocumented members of `bevy_utils` and set `warn(missing_docs)` on the... — committed to alradish/bevy by james7132 2 years ago
For the people with ongoing doc PRs (@Sheepyhead, @james7132, @KDecay, @NiklasEi I think?), could you check your PR with the clippy lint
clippy::doc_markdown
?It should be enabled soon, there was a first pass to fix issues but it’s not yet finished, check #3457 for more details. It could be painful to re-introduce issues.
As I started taking a shot a completing the docs for some of the crates, I thought it would be good to have some updated info on the global documentation progress. I only added PR links for those that added the
warn(missing_doc)
attribute once a crate doc was complete. Here’s what I got:I’m going to document the bevy_math crate and will link the PR here once I’m done.
My plan is to get to renderer documentation (bevy_render, bevy_core_pipeline, bevy_pbr) sometime soon. I have a couple of open PRs I want to resolve first though.
Taking the first crate on the list currently missing documentation,
bevy_core_pipeline
, my best judgement (based mostly on those who originally checked in the code in its present location) is that those most familiar with the code, and thus best situated to add the requested documentation, are the following: @cart –crates/bevy_core_pipeline/src/blit/mod.rs
crates/bevy_core_pipeline/src/clear_color.rs
crates/bevy_core_pipeline/src/core_2d/camera_2d.rs
crates/bevy_core_pipeline/src/core_2d/main_pass_2d_node.rs
crates/bevy_core_pipeline/src/core_2d/mod.rs
crates/bevy_core_pipeline/src/core_3d/camera_3d.rs
crates/bevy_core_pipeline/src/core_3d/main_opaque_pass_3d_node.rs
crates/bevy_core_pipeline/src/core_3d/main_transparent_pass_3d_node.rs
crates/bevy_core_pipeline/src/core_3d/mod.rs
crates/bevy_core_pipeline/src/lib.rs
crates/bevy_core_pipeline/src/msaa_writeback.rs
@JMS55 –crates/bevy_core_pipeline/src/bloom/mod.rs
crates/bevy_core_pipeline/src/bloom/settings.rs
crates/bevy_core_pipeline/src/taa/mod.rs
@Elabajaba –crates/bevy_core_pipeline/src/contrast_adaptive_sharpening/mod.rs
crates/bevy_core_pipeline/src/contrast_adaptive_sharpening/node.rs
@jakobhellermann –crates/bevy_core_pipeline/src/fullscreen_vertex_shader/mod.rs
crates/bevy_core_pipeline/src/tonemapping/mod.rs
crates/bevy_core_pipeline/src/tonemapping/node.rs
crates/bevy_core_pipeline/src/upscaling/mod.rs
crates/bevy_core_pipeline/src/upscaling/node.rs
@DGriffin91 –crates/bevy_core_pipeline/src/fxaa/mod.rs
crates/bevy_core_pipeline/src/fxaa/node.rs
@IceSentry –crates/bevy_core_pipeline/src/prepass/mod.rs
crates/bevy_core_pipeline/src/prepass/node.rs
My apologies if any my guesses were wrong.
I’m documenting
bevy_window
.@alice-i-cecile could you update the issue description?
I’m going to take care of
bevy_input
.I’ll take a look at bevy_ui but I make no promises, I think there are parts of this crate I cannot explain yet
I’ll be adding the warning to bevy_internal and adding missing docs
I’m going to add the warning to
bevy_dylib
and update the documentation if needed.