Skip to content

In-editor API reference for GDExtension-defined classes is missing #78829

Closed
@akien-mga

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:

image

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:

image

With #76431 reverted and #75415 rebased (using the classref branch for Threen):

image

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

Minimal reproduction project

See above.

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions