godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
90.8k stars 21.13k forks source link

[TRACKER] inst2dict and dict2inst related issues #33348

Open Xrayez opened 5 years ago

Xrayez commented 5 years ago

Godot version: 3.2, 4.0+

Issue description: There are quite a bunch of old issues present with inst2dict and dict2inst that it's worth to add a tracker for it. I'm currently working on some of them.

## Issues
- [ ] #6533
- [x] #26188
- [ ] #30077
- [ ] #30572
- [x] #31045
- [x] #33015

Other issues

Orphan issues or which need more discussion.

Fixes

I think it would be best if these fixes could be reviewed in order so that smaller fixes can be rebased on top of bigger ones more easily if deemed satisfactory:

They could as well be targeted for 4.0 but see for yourself.

CC @vnen @bojidar-bg.

capnm commented 5 years ago

[?] Fix the accessibility of the online API docs (might be a more general issue).

The https://docs.godotengine.org/en/latest/search.html?q=inst2dict query currently returns only a link to unusable c# hints instead of https://docs.godotengine.org/en/latest/classes/class_@gdscript.html#class-gdscript-method-inst2dict

nhold commented 5 years ago

Can we add the following:

A class de-serialised with dict2inst fails if the class has moved it's path. A classes ability to be de-serialised should not be linked to it's path. I do get this might require a re-write to the entire gdscript language to force class names.

Xrayez commented 5 years ago

@capnm I think you could open an issue about this at godot-docs. It fails to search the class ref for some reason. I've stumbled upon this with other keywords if I recall correctly.

@nhold you could open a separate issue and/or proposal to discuss the best way to implement it first. But it feels like this could be solved relatively easy by writing global class name to dictionary along with script path. Edit: see possible implementation at #33360.

Anyways, added to Other issues section because they currently have no home.