Commit Graph

500 Commits

Author SHA1 Message Date
e42c604bc3 Ported: Switch from recursion to iterative for backfilling colour regions.
- Paulb23
ee4a1c99a7
2023-02-21 13:11:37 +01:00
a79792ee67 Ported: Fix color region end key seach and start key order.
- Paulb23
6cdcdbc242
2023-02-21 13:08:49 +01:00
6ea9b581d7 Ported: Fix colour region continuation over blank lines, issue 41120
- Paulb23
5cf2cf8646
2023-02-21 12:53:41 +01:00
634bdfbb69 Ported: Changed line_edited_from(from) to lines_edit_from(from, to)
- Paulb23
907f9f2a84
2023-02-21 12:37:52 +01:00
0016b64316 Fix inconsistent overrides warning. 2023-02-21 01:34:30 +01:00
c356806ebf Ported: Extract Syntax highlighting from TextEdit and add EditorSyntaxHighlighter
- Extacted all syntax highlighting code from text edit
- Removed enable syntax highlighting from text edit
- Added line_edited_from signal to text_edit
- Renamed get/set_syntax_highlighting to get/set_syntax_highlighter
- Added EditorSyntaxHighligher
- Paulb23
bc4cee4458
2023-02-21 01:30:59 +01:00
0edf8fe956 Ported: Convert syntax highlighters into a resource
- Paulb23
2f1080be9b
2023-02-20 14:51:10 +01:00
Jóhannes Gunnar Þorsteinsson
d19c1fedfb Add independent spinbox arrow step precision
Backported from the `master` branch, with a property hint added.
2023-02-07 02:51:05 +01:00
db67fa53ea Ported: Add a theme usability setting which updates the touch area of UI elements (e.g: scrollbar) for the editor on touchscreen devices
- m4gr3d
8170b7ae1e
2023-02-07 02:50:11 +01:00
1f20512f8c Ported: Improve error messages and classref for occluders and portals
Misused functions would previously produce no error messages which was confusing for users.
- lawnjelly
5a0cb54b3a
2023-02-07 02:28:29 +01:00
3bd027f068 Ported: Add dumb theme item cache to Control
- YuriSizov, jordo
1647f4d85e
2023-02-07 02:11:52 +01:00
19baf2133a Ported: PopupMenu rework and enhancements
Many scrolling behaviour improvements and the ability to limit popup size.
- EricEzaM, rsubtil
6a5992c9f1
2023-02-07 01:59:27 +01:00
stmSi
a872971e46 Fixed: Save Branch as Scene not workking in Remote Tree (only work when u pause) 2023-02-07 01:08:29 +01:00
8c9d7bc567 Ported: Set touch input as handled only after _gui_call_input - necrashter
147de75e52
2023-01-16 14:46:29 +01:00
lawnjelly
85a4c5369b Faster queue free
Calling queue_free() for large numbers of siblings could previously be very slow, with the time taken rising exponentially with number of children. This looked partly due to ordered_remove from the child list and notifications.

This PR identifies objects that are nodes, and sorts the deletion queue so that children are deleted in reverse child order. This minimizes the costs of reordering.
2023-01-16 14:24:25 +01:00
Haoyu Qiu
dc27330752 Make CollisionShape selection box use shape AABB 2023-01-16 14:19:35 +01:00
OsakiTsukiko
536884aa68 Fix RichTextLabel discards appended BBCode text on window resize when using DynamicFont 2023-01-16 13:54:31 +01:00
Haoyu Qiu
71c28de437 Fix Tree overflow without scrolling being enabled 2023-01-16 13:53:12 +01:00
Hugo Locurcio
04338a5018 Tweak particles animation offset property hint to allow more precise values 2023-01-16 13:47:55 +01:00
2cd4e4d828 Renamed Set to RBSet. 2023-01-15 19:42:08 +01:00
1b0aac6028 Renamed Map to RBMap. 2023-01-15 19:12:50 +01:00
213f393293 Fix typos with codespell. 2022-12-22 19:51:25 +01:00
ce5e82d910 Ported: Include the follow-viewport-transform into CanvasLayer transform calculations
The follow-viewport-transform was missing from several calculations
3.x version of #59682
- Sauermann
608cbd8296
2022-12-22 19:06:10 +01:00
8aa456b4c4 Ported: Add Vector2/3 linking to more properties
- Camera2D.zoom
- CanvasLayer.scale
- ParallaxBackground.scroll_base_scale
- ParallaxLayer.motion_scale
- Polygon2D.texture_scale
- SpatialMaterial.uv1_scale
- SpatialMaterial.uv2_scale
- fire-forge and timothyqiu
0d602ce881
2022-12-22 18:52:47 +01:00
b8009c85f4 Ported: Add vector value linking - KoBeWi and timothyqiu
9499ebecee
2022-12-22 18:50:17 +01:00
Haoyu Qiu
1d2a560819 Make NavigationAgent target_location a property 2022-12-22 14:42:05 +01:00
Paweł Fertyk
845b70faad Fix get_visible_line_count in RichTextLabel with newlines
Fixed #59359.
2022-12-22 14:36:03 +01:00
kleonc
12e28bd557 AtlasTexture Fix calculating rects when flipping
(cherry picked from commit c3851b91db7a6dfd7170d6171109255ecb4a3809)
2022-12-22 14:31:21 +01:00
Paweł Fertyk
6ef3d20fb1 Fix BitMap.resize error spam
Fixes #70187.
2022-12-22 14:27:15 +01:00
Zak
b5c01b8703 Add uri property for LinkButton
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
(cherry picked from commit d73a9b56b08864b5e5ccf0df910190b064ff7463)
2022-12-22 14:23:04 +01:00
smix8
9225e78f68 Fix Navigation agent callback wild pointer crash
Fixes crash in sanitizer builds when callback agent or object are already freed.

(cherry picked from commit 194c1c44e0a20faa4463e3a41bb12cf93a71fc03)
2022-12-22 14:12:00 +01:00
Haoyu Qiu
520f6d19f6 Fix possible Tween leak on exit
(cherry picked from commit e173710963c3316833ac2e2c26ab3830551fd790)
2022-12-22 14:06:21 +01:00
Wilson E. Alvarez
f7d04cc052 Avoid compiling Editor checks in release builds for VisibilityNotifier2D 2022-12-22 14:00:42 +01:00
Wilson E. Alvarez
f95c511c7a Do not fire VisibilityNotifier screen_entered and screen_exited signals in the Editor 2022-12-22 13:54:25 +01:00
Haoyu Qiu
e75af6af1d Fix crash after executing ItemList.set_icon_scale
(cherry picked from commit 8d0fa193c344be8e1ec801b1a45341801b80a5f8)
2022-12-22 13:53:53 +01:00
lawnjelly
25c3232a77 VariantParser make readahead optional
It turns out some areas are independently moving / reading filepointers outside of the VariantParser, which can cause the readahead caching to get out of sync.

This PR makes the VariantParser readahead to be optional to allow for these use cases.
2022-12-22 13:52:51 +01:00
Hugo Locurcio
b1c99f29e3 Fix infinite loop when calling Control.popup_centered_minsize()
Co-authored-by: sriramun <sriramun2@gmail.com>
(cherry picked from commit 08e804b3b718862e92e6b296b914e3829e43717e)
2022-12-22 13:51:14 +01:00
Dawid Marzec
289b16fa7b Fix errors while deselecting all tree items; issue #65185
(cherry picked from commit d4d5df2314208a99c589456a75299a334672acd2)
2022-12-22 13:44:05 +01:00
c7809991b2 Fixed an another issue with touch gui input handling. 2022-12-12 18:30:35 +01:00
37961b1990 Fix regression in touch input handling. 2022-12-12 14:26:54 +01:00
smix8
4a9c859c6d Add detail to NavigationPolygon outline error msg
Adds additional information to the error msg when the convex partition fails due to invalid outline arrays.

(cherry picked from commit f30ebacbe851bd207e1c55e82d04caf150a59690)
2022-12-12 12:13:36 +01:00
Phnix
6040a9b37c incorrect range value with min value and step
If the minimum value and the steps are greater than 0, the value will not be calculated correctly.

Co-Authored-By: Astral-Sheep <109028693+Astral-Sheep@users.noreply.github.com>
(cherry picked from commit fe1f8443a411c64eb8a2934512ab982f3df3d550)
2022-12-12 12:13:15 +01:00
Hugo Locurcio
7d1abdb3db Fix BackBufferCopy rect property appearing when not relevant in inspector
The `rect` property is only effective if `copy_mode` is Rect.
2022-12-11 19:18:17 +01:00
bruvzg
0c95c634bb Fix auto-translation and ignore control chars. 2022-12-11 19:14:14 +01:00
Haoyu Qiu
0a11c9e1bf Fix TreeItem.remove_child not updating Tree immediately 2022-12-11 19:13:20 +01:00
Silc Renew
c8a090fa42 Fix animation signal caches_cleared firing timing
(cherry picked from commit 962b6a3e8f9d91f92f2547e2da6ba8dbd5a661dc)
2022-12-11 19:12:37 +01:00
Haoyu Qiu
5e3a86aea6 Fix CanvasLayer visibility toggle can only run once per frame 2022-12-11 19:08:52 +01:00
Dawid Marzec
03ae12b069 Remove auto selecting the first file for FileDialog with Save file mode selected
(cherry picked from commit 5cd30be56d1d34d84bd423fb99f8fa03edbfe75e)
2022-12-11 19:04:39 +01:00
kobewi
43cb6e940a Remove error condition from get_global_transform()
(cherry picked from commit 2ff676a696a9cc1d77c0a8f4d5f31de8c7b5bc1a)
2022-12-11 19:02:12 +01:00
Markus Sauermann
fc7038b073 Update root order on layer change
When the layer of a CanvasLayer changes, the order of roots needs to be recalculated.

(cherry picked from commit 8d60e8b5d4120d9f9a4868bfb8f0059e733d6d5f)
2022-12-11 18:35:56 +01:00
Lyuma
6eb0adced6 Make Node editable_instance methods available to GDScript
(cherry picked from commit 7eb6ae279848e8300431cfe925be70fa7ffd7299)
2022-12-11 18:34:17 +01:00
Fredia Huya-Kouadio
4759ad6517 Fix the logic used to route InputEventScreenDrag events to Control nodes. 2022-12-11 18:30:58 +01:00
jbcolli2
6812b69c1e Changed normal of CylinderMesh to account for slanted side.
(cherry picked from commit 491ec622f641c28c919c9f8d1b0fbaad014e4714)
2022-11-30 19:23:53 +01:00
Rafał Mikrut
5d6b2de1f3 Fix exporting big templates
(cherry picked from commit 86fa3ba56015b0fb6f282277b37c211fe803c6f9)
2022-11-30 19:23:35 +01:00
Micky
a0c1c54db1 Fix ColorPicker always emitting color_changed on html submit
The color change was always emitted when the the modal was closed, even if it was exactly the same as before.

(cherry picked from commit 544727ac1ea7616c9f44116360d038cfcda5f763)
2022-11-30 19:10:54 +01:00
Haoyu Qiu
095d8c1fef Fix crash of queue_free() when main loop is not SceneTree
(cherry picked from commit 3b08d0e85233a594b016ae27e06b5f21536a6176)
2022-11-30 18:59:25 +01:00
Hugo Locurcio
cbcd6bad4a Improve collision exception error messages for easier understanding 2022-11-30 14:37:35 +01:00
4b3c8aed30 Now ColorSelectorButton can work both in toggle mode, and in normal mode. 2022-11-17 23:04:16 +01:00
f72fa755e0 Added a new ColorSelectorButton. Same idea as the ColorPickerButton, except left clicking it emits a pressed signal, right clicking it opens a color picker. 2022-11-17 17:42:07 +01:00
arkology
76909c0d83 AtlasTexture in radial modes of TextureProgress 2022-11-13 00:52:54 +01:00
kleonc
d7ddaf619a Add ShapeCast2D/3D::get_collider_rid method 2022-11-13 00:50:18 +01:00
Sam Briels
799a6e334f fix: emit target_reached signal after updating state 2022-11-13 00:41:37 +01:00
bruvzg
4b2281058a Improve font glyph cache packing shelf best height fit heuristic, delay font texture update, until texture is accessed. 2022-11-13 00:35:55 +01:00
Haoyu Qiu
34260f2bff Fix get_path() error when calling get_node() 2022-11-13 00:35:22 +01:00
Michael Alexsander
b85570c541 Expose various color themes for Button 2022-11-13 00:30:18 +01:00
Micky
6ca2dc959b Rename set_indexed & get_child's params to be clearer
3.x backport of #67300 and #64463.
2022-11-13 00:27:45 +01:00
Haoyu Qiu
177d20aeef Remove leading spaces from enumerator name hints 2022-11-13 00:26:34 +01:00
kobewi
335b7e6cde Hide text of RichTextLabel if BBCode is enabled 2022-11-13 00:24:35 +01:00
9beaa6b80c Fix cpuparticles 3d. 2022-10-08 18:04:15 +02:00
Waridley
16285d52a6 Support multiline strings in buttons 2022-10-08 17:06:51 +02:00
Haoyu Qiu
30a24e864f Fix NavigationObstacle not estimating radius 2022-10-08 17:04:48 +02:00
Haoyu Qiu
dbd2b16a35 Fix NavigationObstacle not registering to default navigation map 2022-10-08 17:04:14 +02:00
lawnjelly
98c32bb3e7 Improve signal already connected error message
The signal already connected message is improved to provide the names of the objects involved.
2022-10-08 16:34:51 +02:00
kobewi
903c9932e5 Don't store frame of playing AnimatedSprite 2022-10-08 16:33:38 +02:00
kobewi
b97535aead Fix crash when playing Tween right after finishing
(cherry picked from commit 1a462bc84e095125661efb5a0254f36e73197cd9)
2022-10-08 16:23:45 +02:00
67b7c1689f Fix compile. 2022-10-08 16:15:55 +02:00
lawnjelly
cd68b6e1e2 CPUParticles initialize data on set_amount
Fills particle data with zeroes on resize using set_amount(), to prevent garbage data including Nans being sent to VisualServer, which can corrupt the spatial partitioning.
2022-10-08 16:13:50 +02:00
kleonc
4da6c31ba9 SpriteBase3D Fix drawing AtlasTextures with vertical margins differently than in 2D 2022-10-08 16:09:18 +02:00
92af14b0b0 Ported: Move duplicated drawing code from Sprite3D/AnimatedSprite3D to SpriteBase3D
- kleonc
0bf2b8e813
2022-10-08 16:08:49 +02:00
93eb41c69e Ported: added options for sorting transparent objects
- QbieShay, akien-mga, clayjohn
acdcbefa4e
2022-09-17 10:54:57 +02:00
64f5bd2339 Ported: Bind Physics Interpolation functions in VisualServer
To allow maximum flexibility in the initial rollout, VisualServer functions were not bound in order to prevent compatibility issues if the API changed.

These functions are now bound to allow direct use from the VisualServer.
- lawnjelly
96a1b86717
2022-09-17 10:22:26 +02:00
lawnjelly
0859d5b60f Portals - Show RayCast debug helper
Switches the raycast helper to global portal_mode, allowing it to show when portals are active.
2022-09-17 00:06:15 +02:00
lawnjelly
dae57cd077 Low priority redraw request for AnimatedSprite
Prevents animated sprite from creating continuous redraws in vital_redraws_only mode.
2022-09-17 00:05:36 +02:00
Abhinav Chennubhotla
cbdc659738 Fix code folding icon color not matching defined color
Cherrypick of #58457 in master

Caused by reusing icons from the main editor in the code editor. These
icons were converted based on the main editor theme and not the code
editor theme.

    - Create new icons for use specifically in the code editor
    - Add these icons to the exceptions when converting dark theme icons
    to light theme automatically
    - Change the default value of the code folding color to match previous
    color
    - Code folding icon is now pure white by default to correctly match
    the color defined in settings
2022-09-16 23:38:34 +02:00
lawnjelly
2b70218bd1 Fix uninitialized data reads in Input
Found by Valgrind.
2022-09-16 23:35:56 +02:00
lawnjelly
264627d11b FlowContainer fix uninitialized data
This uninitialized data was finding its way into the renderer.
2022-09-16 23:31:58 +02:00
Maxim Kulkin
4237a6501f Add GraphNode 'selected' and 'unselected' signals, simplify GraphEdit
Backport of the fix from master to 3.x
2022-09-16 23:29:52 +02:00
kobewi
b5b6d14d37 Fix Viewport size change not updating textures
(cherry picked from commit 3a4a4aeadec36324da394238cf0f86dbac345e93)
2022-09-16 23:13:40 +02:00
98039d80f6 Fix include. 2022-09-16 23:12:05 +02:00
kobewi
65e1217d59 Allow to change the Stop shortcut used at runtime
(cherry picked from commit 409613ba7ba50e6cc985c61f6dcc482bac68746e)
2022-09-16 22:59:29 +02:00
Micky
9086bef38d Cast between float and ints in SceneTreeTween.tween_property()
(cherry picked from commit 2b18a4002c8e500597bc8f5d605f9be8d1b22236)
2022-09-16 22:55:03 +02:00
6a317fbe15 Fix build. 2022-09-16 22:42:11 +02:00
Atlinx
561aab3227 Remove HDR warning if on low end 2022-09-16 22:34:05 +02:00
kobewi
8474965b10 Hide prefix/suffix on SpinBox focus 2022-09-16 22:33:27 +02:00
Michael Alexsander
bce30062a5 Fix some corner cases in the Menu/OptionButton item auto-highlight 2022-09-16 22:04:23 +02:00
Michael Alexsander
7fd1e3b8ac Fix crash when pressing up on an empty PopupMenu 2022-09-16 22:01:53 +02:00
Yuri Sizov
211cd1e46a Remove Inspector tooltip hack that never actually worked 2022-09-16 21:57:00 +02:00
Michael Alexsander
db8e21638a Fix ItemList selection visual when the scrollbar visibility changes
(cherry picked from commit e298144a41338d80b5f0090ce8f28aef888c13dd)
2022-09-16 21:18:10 +02:00
b6dc768e74 Fix build. 2022-09-16 19:47:02 +02:00
Marcin Nowak
a697c239b8 Backport panning strength parameters from 4.0 2022-09-16 19:44:55 +02:00
bruvzg
876bac58ce Fix color modulation of the grayscale glyphs in font with mixed color / grayscale data. 2022-09-16 19:40:51 +02:00
Michael Alexsander
62fdf73348 Expose set/get_tab_button_icon() to scripting 2022-09-16 19:39:10 +02:00
Olivier Bombardier
3c72fdfb0d Fix has_filter of AnimationNode not being called in scripts 2022-09-16 19:38:38 +02:00
Michael Alexsander
a557f22f1d Make Menu/OptionButton item auto-highlight behave better 2022-09-16 13:16:42 +02:00
Yuri Sizov
494dc2f957 Backport fixes to documentation for paths, curves and navigation servers 2022-09-16 13:07:20 +02:00
27316923d3 Moved ThreadPool to core. Also it can change it's thread count now when it has time for it. 2022-09-10 04:16:50 +02:00
4025ab2824 Fix build when 3d is off. 2022-09-02 20:56:04 +02:00
b72cc00ee1 Small fixes to the World override system. Still needs work though. 2022-08-30 19:22:22 +02:00
9bdb8b6bce Now only one override is allowed per World, as there is really no reason to have support for more than one per world pair. This fixes lots of issues with the system. 2022-08-30 15:47:22 +02:00
ae0316ff59 Fix more issues with World overrides. 2022-08-30 14:31:23 +02:00
66f2357d01 Now Cameras use Worlds directly instead of Viewports. 2022-08-30 14:08:27 +02:00
786e20b159 Work on fixing the remaining issues / error messages with World overrides. 2022-08-30 12:28:05 +02:00
338cc9c93d Don't apply World override in the editor. 2022-08-30 01:48:19 +02:00
9b3714a274 Now CanvasItems work with World overrides aswell. 2022-08-30 01:40:03 +02:00
dd2fa3e6e3 Move Cameras into the new 3d world on override. 2022-08-30 00:06:56 +02:00
4303dfb5c0 More work on World override support. 2022-08-29 22:55:48 +02:00
49af677ca8 Work on the ability for overriding Worlds. 2022-08-29 20:56:17 +02:00
00c25ed930 Bit more reorder. 2022-08-29 19:51:17 +02:00
3894452760 Reordered World. 2022-08-29 19:48:01 +02:00
68b21dc61f Move World2D and World3D related things to World from Viewport. 2022-08-29 19:40:17 +02:00
f44f9f5c13 Reordered Viewport. 2022-08-29 18:47:49 +02:00
aba4e9db3c Added a new World class and made Viewport inherit from it. 2022-08-29 18:40:38 +02:00
b886d14cf5 Added _3d postfix to the end of the World3D related getters and setters in Viewport. 2022-08-29 17:54:41 +02:00
24a1580dbf Renamed the files aswell. 2022-08-29 17:33:10 +02:00
e4ae7f2ebc Renamed Environment to Environment3D, and WorldEnvironment to WorldEnvironment3D. 2022-08-29 17:21:40 +02:00
2aee6ab0bb Renamed World to World3D. 2022-08-29 16:49:00 +02:00
ad72b82a89 Fix an another include. 2022-08-28 17:02:41 +02:00
e558e0f700 Fix build when the new skeleton 3d module is disabled. 2022-08-28 16:01:50 +02:00
dc28777321 Moved Skeleton and it's related classes to a module. 2022-08-28 15:46:12 +02:00
b9f3d3b26a Moved Skeleton2D and it's related classes into a module. 2022-08-28 13:57:25 +02:00
a1865fd1af Now Camera2Ds handle being current properly, and also more intuituvely. 2022-08-24 18:11:10 +02:00
a21352637e Fix infinite loop when reparenting bones in the bone editor. Also fixed issues with bones sometimes returning incorrect children. 2022-08-19 23:46:14 +02:00
e2d42db711 Also renamed the files. 2022-08-19 21:24:36 +02:00
cffe742085 Renamed the VisualServer to RenderringServer like in Godot4, as I think it's a lot better name for it. I did not yet rename the files. 2022-08-19 20:50:20 +02:00
58da70524b Ported: Add support for multiple virtual keyboard types - brianwinterpixel
ce24b48e50
2022-08-19 16:18:53 +02:00
0438da9841 Ported: [3.x] Add ShapeCast and ShapeCast2D nodes - PrecisionRender
47a62e28ac
2022-08-19 03:12:32 +02:00
1b503ad711 Revert "Fix mouse_over not dropped when mouse leaves window"
This reverts commit 33a2d5e20b.
2022-08-19 02:48:36 +02:00
45c65911b5 Ported: Allow negative scale in Particles and CPUParticles
This can be used to make 2D particles look more 3D-y with thoughtful use
of scale curve animation.
- Calinou
c4a3560884
2022-08-19 02:42:33 +02:00
Marcel Admiraal
33a2d5e20b Fix mouse_over not dropped when mouse leaves window 2022-08-19 02:20:03 +02:00
kleonc
859a38b56e Make Mesh::generate_triangle_mesh() handle PRIMITIVE_TRIANGLE_STRIP and PRIMITIVE_TRIANGLE_FAN 2022-08-19 02:19:37 +02:00
Hugo Locurcio
c751d9dc17 Add an use_hdr property to GradientTexture to allow storing HDR colors
This is disabled by default to save some memory and preserve the existing
behavior of clamping colors.
2022-08-19 02:18:16 +02:00
Hugo Locurcio
089135783e Hide triplanar sharpness when triplanar is disabled in SpatialMaterial
The Triplanar Sharpness property has no effect when Triplanar
is disabled.
2022-08-19 02:17:26 +02:00
685f3cb495 Ported: remove redundant check preventing checkbox theme style to apply hover_pressed. - Piralein
36ff8962cc
2022-08-19 02:17:05 +02:00
Hugo Locurcio
1ce49593aa Use interleaved gradient noise for distance fade
This provides better visuals and performance compared to the previous
ordered dither.
2022-08-19 02:14:27 +02:00
9d0c889583 Added a few small networking related helper methods to Node. Made the rpc macros in Entity use them. 2022-08-19 00:36:24 +02:00
1dc5d84196 Moved visibility rpcs (vrpc) from Entity to Node. Also added an unreliable variant. 2022-08-19 00:04:38 +02:00
44948a6f7a Removed rsets. 2022-08-18 23:04:57 +02:00
521934ff55 Ported from Godot4: New and improved IK system for Skeleton2D
This PR and commit adds a new IK system for 2D with the Skeleton2D node
that adds several new IK solvers, a way to control bones in a Skeleton2D
node similar to that in Skeleton3D. It also adds additional changes
and functionality.
This work was sponsored by GSoC 2020 and TwistedTwigleg.
Full list of changes:
* Adds a SkeletonModifier2D resource
  * This resource is the base where all IK code is written and executed
  * Has a function for clamping angles, since it is so commonly used
  * Modifiers are unique when duplicated so it works with instancing
* Adds a SkeletonModifierStack2D resource
  * This resource manages a series of SkeletonModification2Ds
  * This is what the Skeleton2D directly interfaces with to make IK possible
* Adds SkeletonModifier2D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in its own file
  * There is also a SkeletonModifier2D resource that acts as a stack for using multiple stacks together
* Adds a PhysicalBone2D node
  * Works similar to the PhysicalBone3D node, but uses a RigidBody2D node
* Changes to Skeleton2D listed below:
  * Skeleton2D now holds a single SkeletonModificationStack2D for IK
  * Skeleton2D now has a local_pose_override, which overrides the Bone2D position similar to how the overrides work in Skeleton3D
* Changes to Bone2D listed below:
  * The default_length property has been changed to length. Length is the length of the bone to its child bone node
  * New bone_angle property, which is the angle the bone has to its first child bone node
  * Bone2D caches its transform when not modified by IK for IK interpolation purposes
  * Bone2D draws its own editor gizmo, though this is stated to change in the future
* Changes to CanvasItemEditor listed below:
  * Bone2D gizmo drawing code removed
  * The 2D IK code is removed. Now Bone2D is the only bone system for 2D
* Transform2D now has a looking_at function for rotating to face a position
* Two new node notifications: NOTIFICATION_EDITOR_PRE_SAVE and NOTIFICATION_EDITOR_POST_SAVE
  * These notifications only are called in the editor right before and after saving a scene
  * Needed for not saving the IK position when executing IK in the editor
* Documentation for all the changes listed above.
- TwistedTwigleg
8aa3c2f091
2022-08-18 18:47:30 +02:00
6be9bf5dfe Cleaned up and added the skeleton modification stack implementations to the build. Also smaller fixes. 2022-08-18 15:41:28 +02:00
4c4e19223e Added _theme_ infix to the theme helper methods in Control. 2022-08-17 20:57:16 +02:00