Commit Graph

308 Commits

Author SHA1 Message Date
K. S. Ernest (iFire) Lee
fda444bb01 Add csg boolean operators using elalish/manifold.
Uses MeshGL64 for more floating point precision.

Co-Authored-By: 31 <31eee384@gmail.com>
Co-Authored-By: Claudio Z <120678869+cloudofoz@users.noreply.github.com>
2024-11-28 06:26:52 -08:00
Aaron Franke
562c666e3d
Rename internal Button icon to button_icon to match exposed methods 2024-10-29 16:23:03 -07:00
HolonProduction
9ea357af20 Editor: Improve cylinder gizmos 🌈 2024-10-11 18:38:36 +02:00
Rémi Verschelde
8493a39e91
Merge pull request #97479 from dustdfg/csg_redudant_3d_disabled_check
Remove redundant `_3D_DISABLED` check from csg module
2024-09-26 12:45:58 +02:00
Yevhen Babiichuk (DustDFG)
e3eb5ee607 Remove redudant _3D_DISABLED check from csg module
It even won't be considered for building so there is no any sense
for compile time checks

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-09-26 10:24:10 +03:00
Thaddeus Crews
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
A Thousand Ships
dd6443193c
[Editor] Expose more editor settings to documentation
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-09-12 15:34:49 +02:00
Rémi Verschelde
b6906b9677
Merge pull request #96389 from kitbdev/extract-main-screen
Extract EditorMainScreen from EditorNode
2024-09-11 12:34:46 +02:00
Zi Ye
a9e51c3aab Fixed CSG debug collision shapes being visible in editor. Also undid an old, incorrect fix which made debug collision visibility depend on CSG visibility. 2024-09-09 14:11:10 -05:00
kit
5e1c9d68aa Extract editor main screen 2024-09-09 11:06:18 -04:00
Rémi Verschelde
b39df869c7
Merge pull request #93252 from smix8/csg_bake
Add CSG options to bake to static mesh and collision shape
2024-08-19 16:04:59 +02:00
jsjtxietian
5e4dafb0d9 Fix CSGShape3D's _mesh_changed thread unsafe call to update_gizmos 2024-07-30 10:57:28 +08:00
Thaddeus Crews
cc6dd8d02c
Style: Optimize .svg files with svgo 2024-06-23 08:15:19 -05:00
smix8
6455810db8 Add CSG options to bake to static mesh and collision shape
Adds API to bake a CSG root node operation to either a static ArrayMesh or a ConcavePolygonShape3D physics collision shape. Adds menu options to the editor plugin when selecting a CSG root node to add baked sibling nodes.
2024-06-19 22:54:25 +02:00
31
649c87b957 Make CSG shape dirty after changing Snap, update doc
Update doc to mention that Snap only takes effect at the top level.

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-06-16 14:33:48 -07:00
kobewi
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
A Thousand Ships
a0dbdcc3ab
Replace find with contains/has where applicable
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
A Thousand Ships
86de59d60a
[Core] Add LocalVector::has for convenience 2024-05-06 18:03:37 +02:00
Aaron Franke
1bcbbe96c4
Organize existing code for editor plugins 2024-04-27 11:59:58 -07:00
Aaron Franke
c399424db9
Move 3D-only resources to their own folder 2024-02-26 05:23:04 -06:00
Rémi Verschelde
4859f8090f
Merge pull request #85455 from xiongyaohua/fix_CSGPolygon_not_following_Path3D
Notify CSGPolygon about transform changes in Path3D
2024-02-15 15:44:39 +01:00
A Thousand Ships
684752e75b
Replace error checks against size with is_empty 2024-02-09 12:50:15 +01:00
kobewi
0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Yaohua Xiong
0e344f0d0b Path3D notify transform change to CSGPolygon 2024-01-08 18:29:18 +08:00
Yuri Sizov
e18659c69d Merge pull request #82872 from jsjtxietian/require-editor-restart-when-csg-gizmo-color-changed
Prompt require editor restart to user when gizmo color changed
2023-12-19 20:32:20 +01:00
Yuri Sizov
714e27393a Merge pull request #84652 from timothyqiu/enum-pun
Avoid punning enum names in documentation
2023-12-19 13:01:10 +01:00
Rémi Verschelde
94edf0f9a1
Merge pull request #80326 from MewPurPur/no-exp-with-zero
Remove exp hint of a few properties
2023-12-04 22:57:09 +01:00
Haoyu Qiu
cc3984f359 Avoid punning enum names in documentation 2023-11-09 17:16:30 +08:00
Yuri Sizov
a8bcbff59f Merge pull request #82133 from MewPurPur/svg-tweaks
Optimize and tweak some SVGs, improve consistency between icons, and fix broken masks in light mode
2023-11-06 13:22:59 +01:00
MewPurPur
03d1830176 Optimize, tweak, improve consistency in SVG icons, and fix masks in light mode 2023-11-04 17:36:18 +02:00
smix8
0cba21f2da Fix CSGShape debug_collision_shape crash
Fixes CSGShape debug_collision_shape crash.
2023-11-02 11:23:47 +01:00
jsjtxietian
173e2c7f29 Hide CSGShape's debug_collision_shape when it is invisible 2023-10-30 14:53:09 +08:00
jsjtxietian
b0ccd5c84f Prompt require editor restart to user when gizmo color changed 2023-10-06 15:02:03 +08:00
A Thousand Ships
517e9f8aef [Modules] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-26 16:44:52 +02:00
MewPurPur
a40a2ff7d9 Improve the Torus icons 2023-09-20 15:42:37 +03:00
kobewi
015953a3d9 Add helper for 3D gizmos and unify box 2023-09-12 18:08:02 +02:00
pidogs
f476b74ecf
Make CSGShape follow curve's tilt in Path mode
Fixes #65634.
2023-08-17 12:01:29 +02:00
mandryskowski
378f835a9c
Clarify the behaviour of CSGMesh3D using ArrayMesh 2023-08-12 13:21:27 +02:00
MewPurPur
09270f9624 Remove exp hint of a few properties 2023-08-06 12:18:27 +03:00
kobewi
de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
Rémi Verschelde
81064cc239
Doctool: Remove version attribute from XML header
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
2023-07-06 10:08:21 +02:00
Rémi Verschelde
346f1ab86b
Bump version to 4.2-dev
Keep on waitin'
2023-07-05 22:07:03 +02:00
Rémi Verschelde
25b2f1780a
Style: Harmonize header includes in modules
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:

Includes from the platform port or module ("local" includes) should be listed
first in their own block using relative paths, before Godot's "core" includes
which use "absolute" (project folder relative) paths, and finally thirdparty
includes.

Includes in `#ifdef`s come after their relevant section, i.e. the overall
structure is:

- Local includes
  * Conditional local includes
- Core includes
  * Conditional core includes
- Thirdparty includes
  * Conditional thirdparty includes
2023-06-15 14:35:45 +02:00
VolTer
1f4c5a702c Optimize CSG icons and more 2023-05-29 11:26:10 +02:00
Evan Todd
da7e54ec17 Fix CSGPolygon3D in path mode disappearing at runtime. 2023-05-15 16:52:39 -07:00
Ninni Pipping
71ee65dc57 Enable shadow warnings and fix raised errors 2023-05-11 16:00:59 +02:00
Ricardo Buring
3f17a81f87 Add debug collision shape to CSG with collision 2023-05-03 08:41:37 +02:00
Justin Wash
1ac2c537da Fix infinite loop in Build2DFaces::_find_edge_intersections 2023-04-27 18:11:25 -05:00
K. S. Ernest (iFire) Lee
eaa84bc682
Fix CSG edge case causing intersection line to hit on common edge of 2 triangles.
The previous implementation assumed that the intersection entered or exited a
shape when it hit right on the common edge of 2 triangles. However, there is
also a case where it just "skirts" the other shape on the outside.

To fix this, we added code to check the intersection distance and if the
normals of the faces are pointed in the same direction as the intersection or
not (e.g. inner product > 0). This handles the case where the intersection
line hits the common edge of 2 triangles and skirts the other shape on the
outside.

Extended code to cover a third case.

Fixes #58637.

Co-authored-by: OldBelge <StevenGeens@users.noreply.github.com>
2023-04-27 11:39:29 +02:00
Yuri Sizov
391eccca76 Validate code tags in documentation for potential params
Adds a check to make_rst to look for matches
between the text inside of the [code][/code] tag
and known param identifiers.
Fixes most of what was revealed.
2023-04-26 21:36:04 +02:00