-
Notifications
You must be signed in to change notification settings - Fork 210
Labels
breaking-changeIssues and PRs that are breaking to fix/merge.Issues and PRs that are breaking to fix/merge.bugc: bindingsComponent: GDNative bindings (mod api)Component: GDNative bindings (mod api)c: coreComponent: core (mod core_types, object, log, init, ...)Component: core (mod core_types, object, log, init, ...)
Milestone
Description
Symbols are often accessible from a large number of modules.
Example Vector3
(a manually declared type):
Example Node
(a GDNative auto-generated type):
This is confusing as to which symbol is "the right one" and adds redundancy without benefit. It can also make auto-complete in IDEs harder to use and leads to inconsistent use
statements.
Goals:
- For each symbol, work out one canonical module (e.g.
Vector3
->core_types
orcore_types::geom
) - Remove all non-canonical, non-prelude modules, in particular:
- Ones existing only due to file structure, as in
gdnative::api::node::Node
- Nested ones inside
prelude
- Ones existing only due to file structure, as in
- Review
prelude
(possibly out of scope)
This may break use
statements in client code and will thus target v0.10.
Waridley
Metadata
Metadata
Assignees
Labels
breaking-changeIssues and PRs that are breaking to fix/merge.Issues and PRs that are breaking to fix/merge.bugc: bindingsComponent: GDNative bindings (mod api)Component: GDNative bindings (mod api)c: coreComponent: core (mod core_types, object, log, init, ...)Component: core (mod core_types, object, log, init, ...)