Add Godot ClassDB API introspection#553
Conversation
2868be5 to
63f513d
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
dsarno
left a comment
There was a problem hiding this comment.
Reviewed with the branch checked out locally: ruff clean, 880 unit + 290 integration tests pass, and all 15 CI checks (including the Godot 4.3 canary) are green. I also verified the new ClassDB calls (class_get_property_default_value, is_class_enum_bitfield, class_get_integer_constant_enum, get_global_class_list) all exist in Godot 4.3, so the version floor is intact.
Overall this is solid — it follows the AGENTS.md tool-change checklist end to end, the VariantSerializer/FuzzySuggestions extractions are behavior-preserving, and the error UX (typo suggestions, script-class redirect to script_manage) is thoughtful. Five non-blocking comments inline.
Smaller follow-up candidates, not blocking: VariantSerializer is missing TYPE_PACKED_VECTOR4_ARRAY in its array branch (pre-existing, but cheap to fix while extracting; the type exists in 4.3+), and handlers/_property_errors.gd still carries its own similarity ranker that could move to FuzzySuggestions later.
Generated by Claude Code
|
Thanks for the review.
|
|
Thank you @Clubhouse1661 — this is a great addition! Version-correct ClassDB introspection straight from the running editor closes a real gap, and the execution here was a pleasure to review: the tool + resource forms follow the repo conventions exactly, the error UX (typo suggestions, the Generated by Claude Code |
Fixes #552
Summary
Adds version-correct Godot API introspection backed by the running editor’s
ClassDB.api_manage(op="get_class")godot://class/{class_name}class_namelookups, invalid sections, and negative limitsresource_manage(op="get_info")withhint_string, property defaults, and property class names while keeping the Resource-onlyis_abstractfieldTesting
ruff check src testsapi9/9,resource41/41,node131/131 passed