Godot Crimes
This document contains a list of issues in Godot that I consider code crimes.
Active Crimes
These crimes have not been addressed and are still issues in the Godot codebase.
is_polygon_clockwise
returns the opposite result@tool
script says function does not exist when it doesinverse
is an inferior version ofaffine_inverse
- Godot cannot determine the type of autoloads
- Float values NaN and INF are displayed as 0 in debugger and inspector
get_contact_local_position
returns global position- Cubemaps are not oriented consistently between rendering pipelines
- Godot always runs scripts in deserialized resources
- Godot doesn’t export dependencies
Solved Crimes
These crimes have been addressed and are no longer issues in the Godot codebase.
- Exported variables of inherited scenes are aliased, fixed for Godot 4.3
Pardoned Crimes
I no longer consider the following items as crimes.
- Lambdas do not capture local variables; Godot actually passes everything by value to the closure and it just so happens that the value of
Variant
variables is itself a reference. I think this design is less confusing than any alternative I can think of.