Closed akien-mga closed 2 years ago
Too tedious for me, but Godspeed to whoever fixes instance
as instantiate
where used as a verb.
Sprite.set_region(val) -> Sprite.set_region_enabled(val) Sprite.is_region() -> Sprite.is_region_enabled()
TileMap.set_y_sort_mode(val) -> TileMap.set_y_sort_enabled(val) TileMap.is_y_sort_mode_enabled() -> TileMap.is_y_sort_enabled()
rect_min_size Control.set_custom_minimum_size(value) -> Control.set_rect_min_size(value) Control.get_custom_minimum_size() -> Control.get_rect_min_size
There are many more in Control class the get/set should all have the same name as the variable it is annoying to check the docks every time when you know the variable name.
The TileMap
class has a bunch of getter and setter methods that don't agree with their respective properties. In fact I'd suggest renaming most getters and setters in that class, so they agree with their properties as well as the naming in other classes.
Animation.track_remove_key_at_position should be Animation.track_remove_key_at_time
Methods
OS
: execute
should be split in two different methods, one blocking and the other non-blocking.
e.g. names: execute
/exec_process
(blocking) and spawn_process
(non-blocking) #19302LineEdit has a parameter new_text on "text_changed" but TextEdit does not.
https://github.com/godotengine/godot/blob/master/scene/gui/text_edit.cpp#L6104 https://github.com/godotengine/godot/blob/master/scene/gui/line_edit.cpp#L1466
I would like if VBoxContainer/HBoxContainer/GridContainer is renamed to simple VBox/HBox/Grid...
And later it will be renamed again because it is too short like pos->position :D
They are a bit long you are right.
I noticed that Godot currenly has two different naming conventions in its method names.
Sometimes, it follows a common convention that can be found in APIs of such languages like C# or Java, like [action][object]()
form: i.e.)
Mesh.GetBlendShapeName()
AnimationPlayer.GetCurrentAnimation()
Button.GetButtonIcon()
However, in other places, it follows a different convention of [prefix][action][object]()
, like:
Mesh.SurfaceGetFormat()
AnimationTreePlayer.NodeGetInputCount()
CollisionObject.ShapeOwnerGetOwner()
They are just a few examples out of many.
If we can afford to do sweeping compatibility breaking changes sometime in future, I'd like to see they can be renamed to follow a single, well defined naming convention (hopefully the former, as it's more often used both inside and outside Godot).
However, in other places, it follows a different convention of
[prefix][action][object]()
, like:
Mesh.SurfaceGetFormat()
AnimationTreePlayer.NodeGetInputCount()
CollisionObject.ShapeOwnerGetOwner()
I didn't double check all usages, but from what I've seen this style of method naming, though a bit awkward, also follows a specific convention. For example the shape_owner_get
methods:
doc/classes/CollisionObject.xml
101: <method name="shape_owner_get_owner" qualifiers="const">
110: <method name="shape_owner_get_shape" qualifiers="const">
121: <method name="shape_owner_get_shape_count" qualifiers="const">
130: <method name="shape_owner_get_shape_index" qualifiers="const">
141: <method name="shape_owner_get_transform" qualifiers="const">
The "prefix" refers to the first argument, and the part after get
is what you'll actually be getting in that prefix. For example, shape_owner_get_shape_index(owner_id, shape_id)
is conceptually similar to a get_shape_owner(owner_id)->get_shape_index(shape_id)
, but there's no ShapeOwner
exposed to the scripting API, hence this "shortcut".
Same story for the surface_get
methods:
doc/classes/ArrayMesh.xml
88: <method name="surface_get_array_index_len" qualifiers="const">
97: <method name="surface_get_array_len" qualifiers="const">
106: <method name="surface_get_arrays" qualifiers="const">
114: <method name="surface_get_blend_shape_arrays" qualifiers="const">
122: <method name="surface_get_format" qualifiers="const">
131: <method name="surface_get_material" qualifiers="const">
140: <method name="surface_get_name" qualifiers="const">
148: <method name="surface_get_primitive_type" qualifiers="const">
doc/classes/VisualServer.xml
2363: <method name="mesh_surface_get_aabb" qualifiers="const">
2374: <method name="mesh_surface_get_array" qualifiers="const">
2385: <method name="mesh_surface_get_array_index_len" qualifiers="const">
2396: <method name="mesh_surface_get_array_len" qualifiers="const">
2407: <method name="mesh_surface_get_arrays" qualifiers="const">
2418: <method name="mesh_surface_get_blend_shape_arrays" qualifiers="const">
2429: <method name="mesh_surface_get_format" qualifiers="const">
2440: <method name="mesh_surface_get_index_array" qualifiers="const">
2451: <method name="mesh_surface_get_material" qualifiers="const">
2462: <method name="mesh_surface_get_primitive_type" qualifiers="const">
2473: <method name="mesh_surface_get_skeleton_aabb" qualifiers="const">
Or the *node_get
methods in ATP:
doc/classes/AnimationTreePlayer.xml
35: <method name="animation_node_get_animation" qualifiers="const">
44: <method name="animation_node_get_master_animation" qualifiers="const">
53: <method name="animation_node_get_position" qualifiers="const">
109: <method name="blend2_node_get_amount" qualifiers="const">
146: <method name="blend3_node_get_amount" qualifiers="const">
172: <method name="blend4_node_get_amount" qualifiers="const">
225: <method name="mix_node_get_amount" qualifiers="const">
255: <method name="node_get_input_count" qualifiers="const">
264: <method name="node_get_input_source" qualifiers="const">
275: <method name="node_get_position" qualifiers="const">
284: <method name="node_get_type" qualifiers="const">
315: <method name="oneshot_node_get_autorestart_delay" qualifiers="const">
324: <method name="oneshot_node_get_autorestart_random_delay" qualifiers="const">
333: <method name="oneshot_node_get_fadein_time" qualifiers="const">
342: <method name="oneshot_node_get_fadeout_time" qualifiers="const">
478: <method name="timescale_node_get_scale" qualifiers="const">
523: <method name="transition_node_get_current" qualifiers="const">
532: <method name="transition_node_get_input_count" qualifiers="const">
541: <method name="transition_node_get_xfade_time" qualifiers="const">
I've updated the OP with most of the suggestions given so far.
I would like if VBoxContainer/HBoxContainer/GridContainer is renamed to simple VBox/HBox/Grid
I'm not convinced, in Godot we try to give everything explicit names, and for example Grid
doesn't tell me that it's a Container. For VBox
and HBox
one could argue that boxes are containers by definition, but since we have BoxContainer
which is not the same as Container
, I think the verbosity is still warranted.
LineEdit has a parameter new_text on "text_changed" but TextEdit does not.
I don't think it would be useful to add new_text
to TextEdit. On LineEdit, it simply contains the whole text of the LineEdit, not the text that changed, so I'd even argue that it should not be there in LineEdit's text_changed
. Yet, it's more common that you want to use the full text of a LineEdit on input, than to do things with the full text of a multiline TextEdit when a new character is pressed.
@akien-mga
I didn't double check all usages, but from what I've seen this style of method naming, though a bit awkward, also follows a specific convention
I'm aware of the fact that it's a naming convention of its own. But it's still not something commonly used outside Godot, and also a bit confusing because sometimes the same word like BlendShape
is used in methods which follow two different naming convention.
Personally, I'd like to see them all renamed GetPrefix*
and SetPrefix*
for consistency, but maybe other people might have different opnions about it.
The methods changed in #16757. The argument order makes more sense, but it breaks API compatibility between 3.0 and 3.1 (#19648).
I'll raise #9128 again: translation
in 3D vs position
in 2D is an odd dissimilarity.
It was raised ages before 3.0 but was closed after 3.0 went out due to... 3.0 being out.
OS.execute
should use posix_spawn
.
Another one might be renaming "margin" to "offset" for control nodes. Since margins are negative on the right side, this misleads people, especially when comparing with StyleBoxes
@groud I feel offset is too generic though, margins used to be the correct word because they were not negatively oriented on right side when first introduced
@groud I feel offset is too generic though, margins were a good term (and werent negative when first introduced)
Well, margin is misleading now that they are negative. Offset is generic, but makes more sense. I don't think it's a problem that they are generic since it is in the context of control nodes. Anyway I'm open to better suggestions. I just wanted to drop this idea here since such property name change has already been suggested. See here for example.
The size of boxes/cubes is named inconsistently. BoxShape for collisions uses extents. CubeMesh has a size property with x, y and z, which are each half the extents. CSGBox has a Width, Height and Depth property which are defined like the x, y and z size in CubeMesh.
In addition to the size property, sometimes "Cube" is used and sometimes "Box" is used. It would make sense to use "Box" for everything since x, y and z for CubeMesh can be set independently and it is thus also a box.
Since we have e.g. HTML5 and UWP as targets, which aren't exactly operating systems, I propose renaming OS to Platform (PlatformWindows, PlatformUnix,...). Makes sense with the OS/Display split too.
From this #20228, Label.clip_text
is not necessary anymore. I believe it's the same for Button.clip_text.
Camera2D currently has two different properties both named offset
(Regular offset and the one split up in V and H) that are two totally different things, this is really confusing.
Methods
-
Dictionary
: erase_checked
should be removed (this method is not exposed to scripts).- Dictionary
: erase
should be changed to return bool
to determine whether the pair with the specified key was removed or not (see erase_checked
implementation).
@neikeq This could be done now IMO, changing Dictionary.erase
's return value from void
to bool
shouldn't break any project.
@akien-mga but it would break GDNative API compatibility, isn't it?
@akien-mga Wouldn't that break forward compatibility? Are we allowed to make changes that potentially make 3.1 scripts not work in older versions like 3.0?
@neikeq Yes, 3.1 scripts are already incompatible with 3.0 (class_name
, tons of API changes with new optional parameters or brand new properties/methods, new classes, etc.). We only take care of backward compatibility, not forward.
Oh, I see! If that's the case I will make those changes now.
If I can have one added to the list, the LineEdit and TextEdit control nodes would really benefit from having consistent APIs with each other so they can be used (mostly) interchangeably. Right now it feels like a mess trying to work with them together, to the point where looking at one node gets me confused about the other.
@eska014 In addition, the scons
option is already platform
. It makes sense to be consistent.
The project settings display/window/size/test_width
and test_height
should be renamed to window_width
and window_height
. We should also consider renaming the width
and height
settings, maybe render_width
and render_height
.
Camera's near and far properties have different names than its setters/getters ( eg set_znear/set_zfar). This should be changed ?
znear
and zfar
are confusing. It doesn't have anything to do with the Z axis in the world space. It could be changed to clip_near
and clip_far
since they control clipping planes, or just near
and far
.
Yeah, there are two ways to solve this problem.
We should get rid (or seriously discuss) binary resource extensions.. (RES_BASE_EXTENSION)
gdscript_function.cpp
and gdscript_functions.cpp
are very similarly named, I keep getting them mixed up. Worth renaming? @vnen
I changed https://github.com/godotengine/godot/pull/21425 to rename "decimals" to "step_decimals" but keep "decimals" as an alias. Assuming it's merged, we can remove "decimals" in the next compatibility breakage, if not, just renaming.
@mysticfall In my opinion it's better to not have the word "get" in method names when unnecessary. Classes like Vector3 only contain get in one place, "get_axis", which is necessary because there's already an enum called axis. Actually the best thing is properties:
Sometimes you want a property to be able to be both get and set, but control access. In C#, properties allow you to do this and control access just by reading and assigning as if it was a field, which is nice.
var thing = CollisionObject.ShapeOwner;
CollisionObject.ShapeOwner = thing;
However, in GDScript, properties are not a thing (?). This could be possible if properties were added to GDScript. We could also have a method name without the word get. You can't overload methods so we must have "set". Most methods return something so it's better to have an implicit get-ness than set-ness: Since GDScript has properties I suggest using them more often. Note that I couldn't find any documentation on this. I did find documentation on how to do it inside of GDScript with setget
but what about adding via C++?
In a nutshell, I agree that it's not good to have "get" in inconsistent places, but the ideal solution in my opinion is not really a possible at the moment in GDScript properties, or we could remove "get" and keep "set".
@aaronfranke GDScript does have properties in a way, since engine classes can define a getter and setter (or only a getter) and expose to GDScript as properties. That said, I'm against removing get
and set
from the methods because 1) it makes the name clearer and 2) it makes a distinction between getter and setter. For instance Mesh.SurfaceFormat()
sounds like a method that "formats the surface", and not one that "gets the format". Also, most (if not all) of those can be ignored and used as properties instead anyway.
Now, I don't care that much about gdscript_function.cpp
and gdscript_functions.cpp
. One has the GDScriptFunction class, the other contains the definition of the GDScript functions, it's always clear to me which is which (though I'm used to it). It's also not a breaking change, so it doesn't need to be here.
Yes, GDScript has properties. C# properties are generated from the ClassDB, which is where GDScript gets them from.
There's a few methods for RigidBody
and it's related classes whose parameters should be swapped for consistency:
RigidBody.add_force(force, position)
to add_force(position, force)
PhysicsDirectBodyState.add_force(force, position)
to add_force(position, force)
PhysicsServer.body_add_force(force, position)
to add_force(position, force)
@TGRCdev I would vastly prefer changing apply_impulse
to (force, position) rather than changing add_force
to (position, force). Position of the force is an optional parameter so it should go at the end. But all forces and impulses must have a force vector.
@aaronfranke Fair point. In that case, the list of required swaps is:
RigidBody.apply_impulse(position, impulse)
to apply_impulse(impulse, position)
RigidBody2D.add_force(position, force)
to add_force(force, position)
RigidBody2D.apply_impulse(position, impulse)
to apply_impulse(impulse, position)
PhysicsDirectBodyState.apply_impulse(position, impulse)
to apply_impulse(impulse, position)
Physics2DDirectBodyState.add_force(position, force)
to add_force(force, position)
Physics2DDirectBodyState.apply_impulse(position, impulse)
to apply_impulse(impulse, position)
PhysicsServer.body_apply_impulse(position, impulse)
to body_apply_impulse(impulse, position)
Physics2DServer.body_add_force(position, force)
to body_add_force(force, position)
Physics2DServer.body_apply_impulse(position, impulse)
to body_apply_impulse(impulse, position)
@aaronfranke I agree that using Get-
or Set-
prefixes is sort of a 'Javaism' which is better be avoided in C#.
My main concern was the usage of 'domain prefix' as in the case like shape_owner_get_shape
or node_get_input_count
, so if we can reimplement them as proper C# properties without Get-
or Set-
prefixes, it'd be even better.
On a side note, I always thought it rather odd that properties in Godot's C# API have matching set of getters and setters, like for example, Node.Name
and Node.GetName()
/Node.SetName()
.
It feels rather redundant to me, but if there's any reason why we keep such a convention, I suppose we would get both NodeInputCount
and GetNodeInputCount()
/SetNodeInputCount()
anyway, if we are to rename node_get_input_count
as suggested.
Guys, please keep discussions on the C# API and usual conventions outside this issue, which is focused on the Godot API. The Godot API (C++, C and GDScript) will not be adapted for C#'s sake, unless it's also an improvement for other languages.
@akien-mga I don't think it's C# specific thing that discussing if node_get_input_count
could be renamed to something like get_node_input_count
.
No, I mean anything C# specific should not be in this issue. There can be another issue for C#-specific compatibility breakages if need be (though there already are several of those IINM).
How about renaming Spatial to Node3D? I always found it weird.
@KoBeWi The naming scheme that Godot currently uses is "Thing2D" for 2D stuff and just "Thing" for 3D stuff, so it's fairly consistent with the rest of the 2D code. Of course then the logical thing to call "Spatial" would be "Node" following the pattern of removing "2D", but that name is already taken of course.
This issue is meant to keep track of awkwardly named or deprecated methods, properties and signals that we would like to rename next time we have the opportunity.
This can't be done lightly as it breaks compatibility for users using their old names, so any such change has to be done:
To properly deprecate methods, properties and signals, we need #4397 implemented.
A :tada: reaction added by @akien-mga or @Calinou means the suggestion in the comment was incorporated into this post.
Classes
~- [ ]
OS*
could be renamed toPlatform*
https://github.com/godotengine/godot/issues/16863#issuecomment-403253127~ (See https://github.com/godotengine/godot/pull/47789#issuecomment-854149653) ~- [ ]Label
: Consider renaming toTextLabel
https://github.com/godotengine/godot/issues/16863#issuecomment-502517425~ (see https://github.com/godotengine/godot/pull/40124#issuecomment-751741421)PHashTranslation
should be renamed to ~CompressedTranslation
~OptimizedTranslation
(matching its header) PR:#45234ResourceFormat*
: review all classes inheritingResourceFormatLoader
,ResourceFormatSaver
andImageFormatLoader
to check that they follow the same naming convention (both class and filename)ShortCut
should be renamed toShortcut
https://github.com/godotengine/godot/issues/16863#issuecomment-685236980 #41926TCP_Server
andIP_Unix
should be renamed toTCPServer
andIPUnix
PR:#37700Viewport
should be looked over, it is very complex and could likely be simplified https://github.com/godotengine/godot/issues/16863#issuecomment-631789777Methods
@GDScript
(and several other places):instance
when used as a verb/action should beinstantiate
https://github.com/godotengine/godot/issues/16863#issuecomment-367061984 PR:#49693@GDscript
:decimals
should be renamed tostep_decimals
#21425@GDscript
:stepify
should be renamed tosnapped
for consistency with vectors https://github.com/godotengine/godot/issues/16863#issuecomment-655258916 PR:#44586AcceptDialog
andConfirmationDialog
:get_ok
andget_cancel
should beget_ok_button
andget_cancel_button
(matchingWindowDialog.get_close_button
) https://github.com/godotengine/godot/issues/16863#issuecomment-421071469 PR:#44389AnimatedSprite2D
andAnimatedSprite3D
:stop
should bepause
https://github.com/godotengine/godot/issues/31168 PR:#44369Animation
:track_remove_key_at_position
should betrack_remove_key_at_time
PR:#44372AnimationPlayer
:play_backwards
could be removed https://github.com/godotengine/godot/issues/16863#issuecomment-490298187 PR:#44345Area
:set_audio_bus
andget_audio_bus
should be renamed toset_audio_bus_name
andget_audio_bus_name
to match the related property and theirArea2D
counterparts #29670 PR:#44260Array
(some changes also apply to PackedArrays) https://github.com/godotengine/godot/issues/16863#issuecomment-441376010:remove
toremove_at
(remove by index) to avoid ambiguityerase
toremove_value
(remove by value) to avoid ambiguityinvert
toreverse
to use more established naming PR:#46991duplicate
toclone
to use more established naming~ (See https://github.com/godotengine/godot/pull/46996#issuecomment-854195903)empty
tois_empty
to clearly indicate it's a boolean check and not an operation emptying the array PR:#44401Camera
:set_znear
andset_zfar
should be renamed to match thenear
andfar
properties https://github.com/godotengine/godot/issues/16863#issuecomment-412810788 PR:#44434Control
: Discrepancy between property names and their setter/getter names https://github.com/godotengine/godot/issues/16863#issuecomment-381420942 PR:#47248CollisionShape
:make_convex_from_brothers
should bemake_convex_from_siblings
https://github.com/godotengine/godot/issues/16863#issuecomment-493794313 PR:#41044EditorInterface
:get_editor_viewport
could beget_editor_main_screen
https://github.com/godotengine/godot/issues/16863#issuecomment-634258502 + 2 following comments PR:#44524GridMap
:set_cell_item
(3int
s) should be replaced by a version withVector3i
#39958InputMap
:load_from_globals
should beload_from_project_settings
https://github.com/godotengine/godot/issues/16863#issuecomment-426457888 PR:#43661ItemList
:unselect
andunselect_all
should bedeselect
anddeselect_all
, matching other classes with similar methods. There's alsodeselect_items
inFileDialog
, harmonize this #28558 PR:#44569JSON
:print
should be rename to something else https://github.com/godotengine/godot/issues/16863#issuecomment-557657413 + the following 6 comments PR:~#44574~ #44806KinematicBody
andKinematicBody2D
: The API grew organically and is becoming quite convoluted, a refactor/reorder of some method arguments might be welcome (see e.g. #16757 #19648).MainLoop
:_iteration
should be renamed to_physics_process
,_idle
should be_process
. Non virtual methods should be unexposed, andinput_text
does nothing and should be removed #30096 PR:#44593 ~- [ ]Mesh
:surface_get_material
->get_surface_material
andsurface_set_material
->set_surface_material
https://github.com/godotengine/godot/issues/16863#issuecomment-652067884~ See https://github.com/godotengine/godot/issues/16863#issuecomment-747269154Node
:get_index
andget_position_in_parent
are synonyms, one should be removed #21802 #37556Node
:is_a_parent_of
should be replaced byis_ancestor_of
oris_descendant_of
https://github.com/godotengine/godot/issues/16863#issuecomment-564532042Node
:set_as_toplevel
could beset_as_top_level
, but its behavior may also need tweaking https://github.com/godotengine/godot/issues/16863#issuecomment-498428024 https://github.com/godotengine/godot/issues/24154 #42451Node2D
andNode3D
: Inconsistency with object-local translation code https://github.com/godotengine/godot/issues/16863#issuecomment-530519327 ~- [ ]OptionButton
:get_selected_id
might be obsolete after #21837~ See https://github.com/godotengine/godot/issues/16863#issuecomment-747413919OS
:can_draw
would be better suited in theEngine
singletonOS
:execute
should be split in two different methods, one blocking and the other non-blocking. e.g. names:execute
/exec_process
(blocking) andspawn_process
(non-blocking) #19302 PR:#44514add_force
andapply_impulse
methods need harmonization of their arguments order https://github.com/godotengine/godot/issues/16863#issuecomment-416791048 #37350Quat
: Consider deprecating set methods https://github.com/godotengine/godot/issues/16863#issuecomment-515892880Rect2
: Renameclip
tointersection
for consistency withAABB
. https://github.com/godotengine/godot/issues/16863#issuecomment-655299536 PRs: #44521 #44582RichTextLabel
:set_use_bbcode
andset_bbcode
should be renamed toset_use_fixed_bbcode
andset_fixed_bbcode
. Warnings should be thrown if bbcode is modified by another function #19118Skeleton
:set_bone_global_pose
should be renamed toset_bone_skeleton_pose
(same for the getter).get_bone_transform
should also be renamed, or dropped if unnecessary #19551Sprite
,Sprite3D
:set_region
andis_region
should be renamed toset_region_enabled
andis_region_enabled
https://github.com/godotengine/godot/issues/16863#issuecomment-380225780 PR:#47001String
:ord_at
considered unclear, proposal to rename it tounicode_at
#15519 PR: #43790String:
right
behaviour is unintuitive and mostly duplicate ofsubstr
https://github.com/godotengine/godot/issues/16863#issuecomment-419635744 PR: ~#47434~ #36180String
: Renamehttp_escape
touri_encode
,http_unescape
touri_decode
https://github.com/godotengine/godot/issues/16863#issuecomment-503491938 PR:#43978String
: Renameempty
tois_empty
PR: #44401Texture2D
:get_data
should beget_image
https://github.com/godotengine/godot/issues/16863#issuecomment-652064475 PR: #47435TileMap
:set_y_sort_mode
andis_y_sort_mode_enabled
should be renamed toset_y_sort_enabled
andis_y_sort_enabled
https://github.com/godotengine/godot/issues/16863#issuecomment-380250110 #38635TileMap
: Discrepancy between property names and their setter/getter names https://github.com/godotengine/godot/issues/16863#issuecomment-382545668TileMap
:set_cell
(2int
s) andset_cellv
(Vector2
) should be replaced by a version withVector2i
#39976Tree
:get_selected
should be renamed to something likeget_active
https://github.com/godotengine/godot/issues/16863#issuecomment-425712040Tween
: Many methods returnbool
for no reason, should be changed tovoid
https://github.com/godotengine/godot/issues/16863#issuecomment-420286639 #36844UndoRedo
:is_commiting_action
has a typo, should be "committing"VisualServer
:sync
anddraw
bindings should be deprecated in favour of the existingforce_sync
andforce_draw
#15892Vector2
:tangent
is considered ambiguous/inaccurate, it should beperpendicular
https://github.com/godotengine/godot/issues/16863#issuecomment-618294043 PR: #39685 or #44149XRPositionalTracker
:get_type
->get_tracker_type
andget_name
->get_tracker_name
https://github.com/godotengine/godot/issues/16863#issuecomment-571283702 https://github.com/godotengine/godot/issues/15763#issuecomment-568908661 #36382 https://github.com/godotengine/godot/issues/16863#issuecomment-494437342Properties
BoxShape
,CubeMesh
andCSGBox
: their dimension properties are inconsistent, andCubeMesh
should maybe be renamed toBoxMesh
https://github.com/godotengine/godot/issues/16863#issuecomment-403253127 PR:#44091 and #44183Camera2D
:offset
andoffset_h
/offset_v
are confusingly named as they refer to completely different things. It should likely be harmonized withCamera
too which hash_offset
andv_offset
https://github.com/godotengine/godot/issues/16863#issuecomment-407133383 #7489 PR:#44232Camera2D
:limit_
values could be changed to aRect2i
or similar https://github.com/godotengine/godot/issues/16863#issuecomment-595585595Control:
Renamemargin
tooffset
now that they can be negative? https://github.com/godotengine/godot/issues/16863#issuecomment-401824810 PR:#44605Control:
rect_rotation
is in degrees, so it should be renamed torect_rotation_degrees
to matchNode2D
'srotation_degrees
, and a newrect_rotation
property should be added which uses radians. PR:#44607 ~- [ ]CPUParticles2D
: Renamenormalmap
tonormal_map
for consistency https://github.com/godotengine/godot/issues/16863#issuecomment-615254863~ Removed as part of #43052Engine
: Renameiterations_per_second
tophysics_fps
to match the project setting of the same name https://github.com/godotengine/godot/issues/16863#issuecomment-554682554 https://github.com/godotengine/godot/pull/41956ImageTexture
:lossy_quality
should be changed to an enum (low, mid, high, etc.) instead of a float ratio interpreted as arbitrary plateaus (same inImage::compress()
) https://github.com/godotengine/godot/pull/21167#issuecomment-414234160LightOccluder2D
:light_mask
->occluder_light_mask
https://github.com/godotengine/godot/issues/16863#issuecomment-571283702 https://github.com/godotengine/godot/issues/15763#issuecomment-568908661 https://github.com/godotengine/godot/pull/36382Label
andButton
:clip_text
is not necessary anymore, as all Controls haverect/clip_content
#20228LineEdit
:cursor_*
properties should be renamed tocaret_*
#16116 PR:#47448LineEdit
andTextEdit
: Their respective APIs could be homogenized as far as possible https://github.com/godotengine/godot/issues/16863#issuecomment-409058538 #20611Node2D
,Spatial
: inconsistency betweenposition
(2D) andtranslation
(3D) #9128 PR:#44198NoiseTexture
: Renameas_normalmap
toas_normal_map
for consistency https://github.com/godotengine/godot/issues/16863#issuecomment-615254863 PR:#44614RayCast
: Renamecast_to
totarget_position
https://github.com/godotengine/godot/issues/16863#issuecomment-676512989RayCast
and others: Changedisabled
properties toenabled
ones https://github.com/godotengine/godot/issues/16863#issuecomment-511037393 + the following 2 comments PR:#44141Resource
:resource_name
is not used, should be dropped #13358TileMap
:collision_friction
property should be renamed tofriction
#18191Signals
CanvasItem
:hide
should be renamed tohidden
PR:#44189Tabs
:tab_close
andtab_hover
should be spelledtab_closed
andtab_hovered
PR:#44188Tree
:item_activated
(label double-click) anditem_double_clicked
(icon double-click), names don't properly convey what they do #16839: PR:#44185XRController
:button_release
should be spelledbutton_released
(likebutton_pressed
) PR:#44184Enums
ArrayMesh
:ArrayType
enum is a duplicate, delete it https://github.com/godotengine/godot/issues/16863#issuecomment-571283702 https://github.com/godotengine/godot/issues/15763#issuecomment-568908661 https://github.com/godotengine/godot/pull/36382CPUParticles
:Flags
enum ->ParticleFlags
https://github.com/godotengine/godot/issues/16863#issuecomment-571283702 https://github.com/godotengine/godot/issues/15763#issuecomment-568908661 https://github.com/godotengine/godot/pull/36382Mesh
:BlendShapeMode
enum is only used byArrayMesh
, so give toArrayMesh
https://github.com/godotengine/godot/issues/16863#issuecomment-571283702 https://github.com/godotengine/godot/issues/15763#issuecomment-568908661 https://github.com/godotengine/godot/pull/36382Viewport
:ClearMode
andUpdateMode
enums should use the same suffixes (#19404) PR:#44267XRPositionalTracker
:TRACKER_LEFT_HAND
->TRACKER_HAND_LEFT
etc https://github.com/godotengine/godot/issues/16863#issuecomment-494437342 PR:#44261ButtonList
enum toMouseButton
https://github.com/godotengine/godot/issues/16863#issuecomment-612792875 PR:#38054Constants
PROPERTY_USAGE_STORE_IF_NONZERO
andPROPERTY_USAGE_STORE_IF_NONONE
should be fully dropped, also from GDNative #37693Theme items
ItemList
,LineEdit
,RichTextLabel
,TextEdit
andTree
:font_color_selected
should be renamed tofont_selected_color
to match other_color
properties. #30018 PR:#44194Objects
CapsuleShape
should be vertical by default #36488Shading language
WORLD_MATRIX
is actually a model-view matrix and should be renamed. @reduz suggests to replace it (andCAMERA_MATRIX
, which is a view matrix) by actual view and model matrices, e.g.CANVAS_MATRIX
andITEM_MATRIX
.Project settings
display/window/size/test_width
andtest_height
should be renamed towindow_width
andwindow_height
. We should also consider renaming thewidth
andheight
settings, mayberender_width
andrender_height
. https://github.com/godotengine/godot/issues/16863#issuecomment-412308210 PR:#47522File formats
RES_BASE_EXTENSION
) https://github.com/godotengine/godot/issues/16863#issuecomment-413620204