Despite a lot of great work from Pedro to try to improve the Label text
reshaping logic and fix subsequent regressions, we found ourselves still
chasing more edge cases, such as #73736 (which got reverted already due
to it causing yet another regression).
In parallel, it seems like the crash scenario that #71553 was addressing
got solved differently in the master branch, so it appears like this
change is no longer necessary at all (at least not urgently), so we
decided to revert to the previous known "ok" state of Label.
- Revert #71553 "Prevent infinite cascade of re-layout after label text reshaping"
This reverts commit ed8c5cd52f.
- Revert #72387 "Enhance label sizing algorithm"
This reverts commit 5131b81a4d.
- Revert #73234 "Fix blank non-autowrapping labels"
This reverts commit 3ccabee9ae.
- Revert #73343 "Make label sizing algorithm more robust"
This reverts commit 4f7f1ef60b.
- Revert #73426 "Fix width determination of non-trimmed, non-wrapped labels"
This reverts commit 73b6c0b972.
In other words, exclude trimmable labels from the special logic used for non-wrapping ones, since they are not expected to dictate their width authoritatively.
* Remove unused `EditorPropertyMember` and related hints, previouly used by
VisualScript. Such logic should be implemented in the VS module itself.
* As the above broke compatibility with the VS module, clean up the other
hacks that were still in core in support of VisualScript.
* `PROPERTY_USAGE_INTERNATIONALIZED` was only used in Object's
`get_translatable_strings()`, which is a legacy function not used anywhere.
So both are removed.
* Reordered some usage flags after the above removal to minimize the diff.
* General clean up.
Fixes#30203.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on.
Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency.
Just a few comments have also been changed to say "redraw".
In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
Also updates the documentation of both `visible_characters` and `visible_ratio` to, better describe what they do and improve consistency between the two Classes.
Add "generate_mipmap" font import option.
Add some missing features to the Sprite3D.
Move BiDi override code from Control to TextServer.
Add functions to access TextServer font cache textures.
Add MSDF related flags and shader to the standard material.
Change standard material cache to use HashMap instead of Vector.
Fix "Fill" alignment processing wrong side of the text if overrun trim was applied.
Improve "Fill" alignment to avoid adding excessive subsequent spaces or elongations.
Add font detection to the overrun, to correctly add ellipsis (was using last glyph font, which doesn't necessary have dot character).
Improve line breaking to avoid adding excessive subsequent soft break points for languages without word separator.
Port missing overrun/justification code to the Fallback text server.
Fix inferred text direction detection by controls.
Add tests for "Fill" alignment and line breaking glyph flags.