A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to List
...
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
A Thousand Ships
308dbb8c63
[Core] Add scalar versions of Vector*
min/max/clamp/snap(ped)
...
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
Yuri Rubinsky
56d843724e
Prevent expanding output port in visual shader expression
2024-04-19 11:49:10 +03:00
Yuri Rubinsky
ac77219d2b
Fix incorrect behavior at expanding an output port in visual shader node
2024-04-17 13:36:40 +03:00
Rémi Verschelde
429bf0281c
Merge pull request #89810 from Geometror/fix-79417
...
[VisualShader] Remove invalid graph connections when ports are removed
2024-04-08 18:42:30 +02:00
Hendrik Brucker
0b9b479ba7
[VisualShader] Remove invalid graph connections when ports are removed
...
Co-authored-by: EddieBreeg <eddiebreeg0@protonmail.com>
2024-04-08 15:31:27 +02:00
Hendrik Brucker
a81561cbd9
Add GraphFrame and integrate it in VisualShader
2024-04-04 15:11:00 +02:00
Zi Ye
d827b34ea8
Fixed undo/redo behaviour of color picker and added ability to cancel/confirm color selection.
2024-03-24 15:12:11 -05:00
Haoyu Qiu
8cd1ebbd6d
Fix unexpected auto translation of Tree content
2024-03-18 09:31:00 +08:00
Yuri Rubinsky
d9292ea51e
Fix possible crash when converting a node to other in visual shader
2024-03-08 21:28:05 +03:00
Rémi Verschelde
6399fae16d
Merge pull request #88951 from Geometror/vs-prop-ed-fixes
...
Make editing properties more intuitive in VisualShader
2024-03-05 14:55:21 +01:00
Hendrik Brucker
d32e0f808c
Make editing properties more intuitive in VisualShader
2024-03-05 13:27:33 +01:00
Hugo Locurcio
07c4baded7
Add percent (%
) sign to Remainder node name in visual shaders
...
This makes the node easier to search in the Create New Node dialog.
2024-02-28 20:39:12 +01:00
Muller-Castro
1638c1b28f
Add const lvalue ref to editor/* container parameters
2024-02-26 15:28:15 -03:00
Rémi Verschelde
42a15bcc49
Merge pull request #85477 from KoBeWi/submenus_that_shall_not_be_named
...
Add methods to add submenus without using names
2024-02-23 11:29:28 +01:00
Hendrik Brucker
02a33b67a8
Redesign the graph editor for visual shaders
2024-02-22 20:40:09 +01:00
kobewi
aeec3c1309
Add methods to add submenus without using names
2024-02-22 15:13:53 +01:00
kobewi
a031911c82
Use check_changed_settings_in_group() everywhere
2024-02-19 21:34:45 +01:00
Michael Alexsander
7b42c24550
Make auto translation inheritable
2024-02-15 16:51:19 -03:00
Rémi Verschelde
4a30fe5e7c
Merge pull request #86564 from Giwayume/feature/canvas-item-shader-custom-data
...
Support CUSTOM shader attributes in 2D
2024-02-08 10:53:24 +01:00
jsjtxietian
ff089f8cea
Check is the ref shader valid in visual shader's update_option_menu
2024-01-25 11:54:23 +08:00
Giwayume
bb83c4adec
Add custom shader attributes to Canvas Item Shaders
2024-01-23 14:36:39 -05:00
Hendrik Brucker
f59419bfe0
Add connection-related VisualShader operations
...
- Insert a node in a connection
- Drop an unconnected node on a connection to insert it
- Delete a connection
2024-01-19 11:38:59 +01:00
Yuri Sizov
95b27fe8c7
Reorganize code related to editor theming
...
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.
Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.
All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
kobewi
0e8f90f4c8
Update deferred calls to use Callables
2024-01-09 16:11:47 +01:00
Wilson E. Alvarez
80fb8db31f
Remove unnecessary assignments
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-12-13 11:06:26 -05:00
jsjtxietian
b7ba667dcf
Set some window in visual shader editor to be exclusive
2023-11-22 17:58:18 +08:00
100gold
0486d40f14
Add preprocessor pass on visual shader when showing generated code
2023-10-29 19:12:08 +03:00
Yuri Sizov
215e036600
Add bulk change guards to successive theme overrides in Editor and GUI
2023-10-19 18:14:14 +02:00
Haoyu Qiu
56f47cc129
Disable port name auto translation in Visual Shader editor
2023-10-13 11:07:05 +08:00
Rémi Verschelde
bc118b36ac
Merge pull request #82370 from YuriSizov/graphs-request-rename-close-delete-please
...
Rename close requests to delete requests in `GraphEdit`
2023-10-02 13:16:28 +02:00
Yuri Roubinski
4575cc0c6f
Implement drop-down list properties to the custom visual shader nodes
2023-09-29 10:55:05 +03:00
Yuri Sizov
378ab38b1f
Rename close requests to delete requests in GraphEdit
2023-09-26 16:41:39 +02:00
Rémi Verschelde
8ddf73c74d
Merge pull request #81939 from YuriSizov/gui-flat-and-depressed
...
Replace flat buttons with flat-styled buttons with a visible pressed state
2023-09-25 17:18:29 +02:00
DennisManaa
f248420a2b
made visual shader ports expandable by default if there is only one output port and it's of any vector type
...
Co-authored-by: QbieShay <cislaghi.ilaria@gmail.com>
2023-09-22 15:28:59 +02:00
Yuri Sizov
4bd569be95
Replace flat buttons with flat-styled buttons with a visible pressed state
2023-09-19 22:36:29 +02:00
A Thousand Ships
75ee58fd04
[Editor] Replace ERR_FAIL_COND
with ERR_FAIL_NULL
where applicable
2023-09-15 20:15:39 +02:00
Yuri Sizov
8ecc0c4f47
Fix accessing editor theme items throughout the UI
...
This also exposes `EditorInterface::get_editor_theme`.
2023-09-15 14:51:01 +02:00
Haoyu Qiu
b8b0339549
Improve undo action names
...
* Avoid concating strings manually for better i18n and easy l10n
* Use `vformat` when possible
* Use separate strings if the changing part is only a few hardcoded strings
* Don't put a period at the end of the name
2023-09-12 18:53:50 +08:00
Hendrik Brucker
5afe78bd9c
Clean up/refactor GraphNode and make it more flexible
...
Split GraphNode into GraphElement and GraphNode, add custom
titlebar, and adjust theming.
2023-09-07 17:29:06 +02:00
kobewi
6de34fde27
Add EditorStringNames singleton
2023-09-03 19:58:18 +02:00
Rémi Verschelde
0655a7d7d3
Merge pull request #80517 from YuriSizov/tsa-randomly-picked-you-for-mandatory-inspection-i-think-not
...
Avoid unnecessary inspector updates when loading or switching scenes
2023-08-28 12:05:06 +02:00
Rémi Verschelde
23db0240a2
Merge pull request #78996 from Tetane/create_shader_node_popup
...
Fix "Create Shader Node" window position when visual shader editor is floating
2023-08-21 08:20:42 +02:00
Yuri Sizov
2445414aa0
Avoid unnecessary inspector updates when loading or switching scenes
...
This should result in some noticeable performance improvements,
aside from fixing bugs due to conflicts in logic.
This also simplifies some related code identified while debugging.
2023-08-12 13:32:59 +02:00
Patrick
65b0989f68
Additional Visual Shader Nodes
...
* RotationByAxis Visual Shader Node added
* WorldPositionFromDepth Visual Shader Node added
* ScreenNormalWorldSpace Visual Shader Node added
2023-07-26 00:39:12 +02:00
Hendrik Brucker
a38fd09669
Clean up/refactor GraphEdit
2023-07-24 18:37:23 +02:00
Yuri Sizov
91258e52be
Merge pull request #79307 from Geometror/remove-graph-node-comment
...
Remove GraphNode's comment property and related functionality
2023-07-24 16:56:41 +02:00
Yuri Roubinski
01101134f4
Make the dragging connections more user-friendly in visual shaders
2023-07-20 15:00:19 +03:00
kobewi
de4a3fa151
Unify and streamline connecting to Resource changes
2023-07-17 19:35:57 +02:00
Hendrik Brucker
a29a680920
Extract StyleBoxFlat, StyleBoxTexture and StyleBoxLine in their own file
2023-07-17 13:25:00 +02:00