Danil Alexeev
32d1f518fa
Improve editor-only class checking
2026-03-25 17:07:39 +03:00
Rémi Verschelde
98868393cc
Style: Enforce #include validation hook
2026-03-18 10:41:59 +01:00
Rémi Verschelde
e33e98a26f
Style: Apply clang-format grouping rules
2026-03-17 20:11:01 +01:00
Rémi Verschelde
6d309c858e
Remove unused includes in modules with clangd-tidy
2026-03-16 16:40:39 +01:00
Thaddeus Crews
fcb7c06646
Merge pull request #109680 from ryevdokimov/preserve-children-transform
...
Add ability to transform parent nodes without affecting global transform of its children
2026-03-12 09:03:36 -05:00
Rémi Verschelde
e015e8bde4
Remove unused includes in core with clangd-tidy
2026-03-11 06:41:36 +01:00
Robert Yevdokimov
e8e3cf1fdb
Add ability to transform parent nodes without affecting global transform of its children
...
Revert
2026-03-07 09:23:50 -05:00
Rémi Verschelde
2dd1f4ef60
Decouple node.h from scene_tree.h, minimize its other includes
2026-03-05 13:54:46 +01:00
Rémi Verschelde
18edfa5245
Explicitly include scene_tree.h where used
...
Pre-requisite before removing `scene_tree.h` from `node.h`
which has cascading consequences on most of the codebase.
2026-03-05 10:43:25 +01:00
StarryWorm
3cb2d376f8
Get rid of all unnecessary class_db.h includers
2026-03-04 17:40:05 -05:00
Thaddeus Crews
66a96d92c6
Merge pull request #116749 from Jesusemora/testing-changes
...
Add automatic smoothing for CSG nodes
2026-03-04 14:32:27 -06:00
Jesusemora
6114c6a266
autosmooth
...
added properties
update inspector
UX improvements
and minor optimizations
deg_to_rad
moved methods
move variables
performance and cleanup
Faster
Compare the angles/smooth of faces instead of vertices, skipping for loop.
Using a LocalVector instead of Vector, this simplifies the code while making it faster, and I don't think we need COW.
all done and working
Optimizations and cleanup
Clarifying and expanding the description of autosmooth and smoothing_angle properties.
Optimizations to skip steps in the loops:
Split loops to be able to skip vertices better and replace division with multiplication.
Suggestions for future changes.
Skip loop if smoothing_angle is lower than 0.1, as a more performant alternative to default smoothing.
Do not compare vertices that belong to the same triangle.
Remove has_smooth. Use a check at the start of the loop instead. This allows us to skip faces.
Perform normalize() at the end of the loop as we don't need the normal of the vertex afterwards, as we use the normal of the face for smoothing. This way we skip normalizing flat faces.
If one vertex of a triangle is connected to the current vertex, the other 2 can never physically connect, so we skip them (break;). This isn't as reliable but it could add a slight performance increase.
I calculate a decrease of at least 80% of calculations in the for loops compared to the previous code.
Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com >
2026-03-04 15:30:33 -03:00
Rémi Verschelde
eabb9a63d4
Rename callable_method_pointer.h to callable_mp.h and include it explicitly
...
This allows removing it from `class_db.h`, significantly reducing the amount of files
that include it transitively.
Also includes some include cleanup in `control.h` and `rich_text_label.h` done while
ensure they don't depend on `callable_mp`.
2026-03-04 16:23:23 +01:00
Rémi Verschelde
765362b033
Explicitly include core/config/engine.h where used
2026-03-04 10:17:10 +01:00
Parritz
45b60c0351
Editor: Fix CSG gizmo selection inside CSGCombiners
2026-03-02 15:52:30 -06:00
StarryWorm
357fa00a4a
rm class_db.h from resource.h
2026-02-27 19:08:29 -05:00
Thaddeus Crews
e380a41752
Style: Add class_db.h includes explicitly
2026-02-26 15:50:28 -06:00
Rémi Verschelde
f0a448540e
Misc dependency improvements for files depending on rendering_server.h
...
On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 3s.
2026-02-25 20:17:27 +01:00
Rémi Verschelde
f5a290ac46
Move RenderingServer enums to a dedicated RenderingServerEnums (RSE) namespace
...
A number of headers in the codebase included `rendering_server.h` just for
some enum definitions. This means that any change to `rendering_server.h` or
one of its dependencies would trigger a massive incremental rebuild.
With this change, we decouple a number of classes from `rendering_server.h`,
greatly speeding up incremental rebuilds for that area.
On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 60s (from 2m57s).
2026-02-25 19:43:03 +01:00
Rémi Verschelde
1c12d2c36e
Tidy up includes in scene/main and scene/debugger
2026-02-19 15:09:29 +01:00
Lukas Tenbrink
c56c297cee
Remove geometry_3d include from rendering_server.h, to reduce compile time.
...
Change `Geometry3D` from class to namespace.
2026-01-27 18:12:38 +01:00
Thaddeus Crews
16a11ac88b
Merge pull request #111358 from Ivorforce/no-variant-hasher
...
Remove `VariantHasher` and `VariantComparator` in favour of specialising `HashMapHasherDefault` and `HashMapComparatorDefault`.
2025-10-10 10:26:12 -05:00
Lukas Tenbrink
d2ee378d1c
Remove VariantHasher and VariantComparator in favour of specializing HashMapHasherDefault and HashMapComparatorDefault.
2025-10-07 13:47:39 +02:00
Thaddeus Crews
b17aa3343a
Revert "SCons: Add CPPEXTPATH for external includes"
2025-10-06 13:09:22 -05:00
Aaron Franke
3d1c9fd5de
Move server files into their subfolders
2025-09-30 19:39:39 -07:00
Aaron Franke
9fbf5808a0
Rename server "free" functions to "free_rid" to match exposed API
2025-09-30 16:52:25 -07:00
Thaddeus Crews
4dec6af2c8
Merge pull request #108613 from Repiteo/scons/fix-defines
...
SCons: Ensure `CPPDEFINES` is properly utilized
2025-09-16 11:44:45 -05:00
Thaddeus Crews
33c257c081
Merge pull request #95414 from jsjtxietian/inside-tree
...
Fix `!is_inside_tree` in csg node when reloading a scene
2025-07-30 09:03:45 -05:00
Thaddeus Crews
61956f2e06
SCons: Ensure CPPDEFINES is properly utilized
2025-07-14 13:07:53 -05:00
smix8
c2f8e70aa0
Revert "Create more optimized CSGShape3D baked static mesh"
...
This reverts commit 28875459d9 .
2025-07-04 20:43:28 +02:00
A Thousand Ships
f11aff3841
Editor: Restructure editor code
...
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
smix8
28875459d9
Create more optimized CSGShape3D baked static mesh
...
Creates more optimized CSGShape3D baked static mesh by adding indices and cache optimization.
2025-06-13 21:43:28 +02:00
LuoZhihao
8ba4656ea3
Compile out editor-only logic within validate_property in games
2025-06-12 12:54:19 +08:00
Rémi Verschelde
61639d9574
Merge pull request #106996 from Ivorforce/no-oa-hashmap
...
Core: Remove `OAHashMap`, in favour of `AHashMap`
2025-06-05 13:12:34 +02:00
Jakub Marcowski
f3da6201f8
manifold: Update to 3.1.1
2025-06-01 10:13:46 +02:00
Lukas Tenbrink
963c20565b
Remove OAHashMap, in favour of AHashMap.
...
The two types had (mostly) the same decisions, but `AHashMap` is a faster implementation, and is more consistent with `HashMap`.
2025-05-31 15:50:10 +02:00
Thaddeus Crews
94282d88f9
Core: Use Math namespace for constants
2025-04-10 16:29:30 -05:00
Thaddeus Crews
ef3e8b1609
Merge pull request #102786 from Giganzo/top-toolbar-menu-button-styles
...
Fix MenuButton style in editor top menu bar
2025-04-10 10:18:10 -05:00
HolonProduction
02eab5e2c4
Editor: Improve capsule gizmos
2025-04-06 10:44:37 +02:00
Thaddeus Crews
1f56d96cf2
Merge pull request #104893 from Repiteo/scons/external-includes-alt
...
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:48:03 -05:00
Thaddeus Crews
f25fc34439
SCons: Add CPPEXTPATH for external includes
2025-04-02 07:29:08 -05:00
Yufeng Ying
4f4031a675
Replace size() == 0 with is_empty().
2025-04-02 19:18:43 +08:00
Michael Alexsander
556933306a
Allow to compile templates without navigation features
2025-04-01 11:53:35 -03:00
Rémi Verschelde
ab5a3521f9
Merge pull request #104561 from Calinou/doc-csgshape3d-deferred-updates
...
Document CSGShape3D updates being deferred until the next frame
2025-03-28 17:30:23 +01:00
Michael Alexsander
5ad414d046
Allow to compile templates without physics servers
2025-03-28 11:00:44 -03:00
Hugo Locurcio
38f43eb2ed
Document CSGShape3D updates being deferred until the next frame
...
This affects several methods that users can call, such as `get_meshes()`,
`bake_static_mesh()`, and `bake_collision_shape()`.
2025-03-24 19:36:52 +01:00
Rémi Verschelde
18cd665202
Merge pull request #104206 from KoBeWi/unshape
...
Unbind `CSGShape::_update_shape()` and make it public
2025-03-19 12:27:23 +01:00
kobewi
6f25babd6b
Remove empty constructors and destructors from editor/
2025-03-17 21:20:02 +01:00
kobewi
e64a07cc57
Unbind CSGShape::_update_shape() and make it public
2025-03-16 00:36:50 +01:00
kobewi
7cb2fb189a
Remove TOOLS_ENABLED checks from editor/
2025-03-14 18:13:16 +01:00