Documentation Style Guide
Purpose
Keep documentation accurate, concise, and verifiable against code.
Usage
| Step |
Action |
Reference |
| Scope review |
Read all Markdown files in the target docs area before editing. |
docs/index.md |
| Implementation verification |
Verify behavior claims against modules/gaussian_splatting/ before publishing. |
modules/gaussian_splatting/register_types.cpp:69 |
| Style application |
Prefer direct task-based writing and compact tables for inventories. |
docs/style/documentation-style-guide.md |
| Evidence capture |
Add file:line references for implementation claims. |
modules/gaussian_splatting/register_types.cpp:75 |
| Link validation |
Run repository link checks after docs edits. |
scripts/docs/check_links.py:133 |
API
| Rule area |
Rule |
Source |
| Class names |
Document class names only when they are registered with GDREGISTER_CLASS or GDREGISTER_ABSTRACT_CLASS. |
modules/gaussian_splatting/register_types.cpp:75 |
| Singleton names |
Document singleton names exactly as registered. |
modules/gaussian_splatting/register_types.cpp:101 |
| Method/property exposure |
Document methods/properties only when exposed in _bind_methods() and ADD_PROPERTY. |
modules/gaussian_splatting/nodes/gaussian_splat_node_3d.cpp:84 |
| Loader API exposure |
Document loader methods only when bound through ClassDB::bind_method. |
modules/gaussian_splatting/io/ply_loader.cpp:60 |
| C++ docs source |
Keep C++ API docs aligned with Doxygen input patterns. |
docs/Doxyfile:14 |
| GDScript docs source |
Keep function docs in ## comments directly above func signatures. |
scripts/extract_gdscript_docs.py:34 |
| Link paths |
Use relative paths that resolve from the source file directory and stay inside repository boundaries. |
scripts/docs/check_links.py:99 |
Examples
rg -n "GDREGISTER_CLASS\(|GDREGISTER_ABSTRACT_CLASS\(" modules/gaussian_splatting/register_types.cpp
python3 scripts/docs/check_links.py docs/style
Troubleshooting
| Symptom |
Cause |
Action |
| Documented class/singleton does not exist |
Registration changed. |
Re-audit register_types.cpp before publishing. |
| Documented method is missing at runtime |
Binding removed or renamed. |
Re-check _bind_methods() and property bindings. |
| Heading anchor link fails |
Anchor text does not match checker slug normalization. |
Rename heading or update anchor target. |
| Relative link is reported missing |
Path resolved from wrong source directory. |
Recompute path relative to the current document and rerun checker. |