In-editor API reference for GDExtension-defined classes is missing #78829
Description
Godot version
4.1.rc (c83f912)
System information
Mageia 9, Linux
Issue description
Doing some testing with @Riteo, we noticed that my PoC for in-editor API reference with descriptions for GDExtension was no longer working in latest master
(#75415).
After further testing, I noticed that even without #75415, the editor used to be able to show the skeleton of a GDExtension class' API (without descriptions), but in latest master
, this no longer works and it loads an empty page.
This appears to be a regression from #76431, reverting it (or at least the editor
changes) fixes it.
Testing with my Threen extension, trying to load its docs by Ctrl+clicking the Threen
symbol.
Current master
:
And indeed, the verbose logs show:
Class 'EditorPropertyNameProcessor' is not exposed, skipping.
Class 'FramebufferCacheRD' is not exposed, skipping.
Class 'GDScriptEditorTranslationParserPlugin' is not exposed, skipping.
Class 'GDScriptNativeClass' is not exposed, skipping.
Class 'GLTFDocumentExtensionPhysics' is not exposed, skipping.
Class 'GLTFDocumentExtensionTextureWebP' is not exposed, skipping.
Class 'GodotPhysicsServer2D' is not exposed, skipping.
Class 'GodotPhysicsServer3D' is not exposed, skipping.
Class 'IPUnix' is not exposed, skipping.
Class 'MovieWriterMJPEG' is not exposed, skipping.
Class 'MovieWriterPNGWAV' is not exposed, skipping.
Class 'ResourceFormatImporterSaver' is not exposed, skipping.
Class 'ResourceImporterMP3' is not exposed, skipping.
Class 'ResourceImporterOggVorbis' is not exposed, skipping.
Class 'SceneCacheInterface' is not exposed, skipping.
Class 'SceneRPCInterface' is not exposed, skipping.
Class 'SceneReplicationInterface' is not exposed, skipping.
>> Class 'Threen' belongs neither to core nor editor, skipping. <<
Class 'UniformSetCacheRD' is not exposed, skipping.
With #76431 reverted:
With #76431 reverted and #75415 rebased (using the classref branch for Threen):
That last part is just to give a glimpse of what's coming, this is not the expected behavior for 4.1.
I'll make a PR, just wrote this issue to document it properly.
Steps to reproduce
- Download https://github.com/akien-mga/threen/releases/tag/1.0-beta3 or compile it from source, or any GDExtension that registers a class
- Load it in a project
- Try to search the class in the "Search Help" dialog, or ctrl+click the matching class name in the script editor
Minimal reproduction project
See above.