text:
Script editor code folding color is influenced by main theme base color

Godot version
3.4.2 stable
System information
Windows 10
Issue description
Code folding color is influenced by main theme color. It's hard to see difference when change the code folding color. But when you change the main theme color, the arrow color changes.
Use a  main dark color

Use a main light color

Change Code Folding Color doesn't do anything

Steps to reproduce
Use a light theme and a dark theme code editor theme. Change code folding color settings in editor settings.
Minimal reproduction project
No response

Tested 45eaa2daf1e3d2571a9f31a3421911262ec82f51 (3.4.2-stable) on Ubuntu 21.10
I'm able to reproduce the issue if I change the Text Editor -> Theme -> Color Theme setting from 'Adaptive' to 'Custom'. This prevents the code editor from changing its background to match the rest of the application.
The color actually does change very slightly, but the color itself is incorrect.

I'll try fixing this if I get the go ahead from one of the maintainers.

I'll try fixing this if I get the go ahead from one of the maintainers.

Sure, feel free to use a fixed color instead. Make sure it still adapts to the automatic light/dark theme switch in the Adaptive theme (called Default in the master branch).

source: gharchive/issue

authors: Calinou PhoenixFlame101 yikescloud

repo: godotengine/godot

license: MIT

license_type: permissive

license_source: github-api


text:
Program crashed with signal 11

Godot version
4.0.1.stable
System information
Ubuntu, Vulkan (Mobile)
Issue description
Godot crashed with this error message:
Vulkan API 1.3.244 - Forward Mobile - Using Vulkan Device #0: AMD - AMD Radeon R4 Graphics (RADV STONEY)

<some usual output>

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.1.stable.official (cacf49999e3fb37281d66cc591ca8bebc5712d4d)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x3bcf0) [0x7ff6e7c3bcf0] (??:0)
[2] /opt/godot/Godot.x86_64() [0x45e12f9] (??:0)
[3] /opt/godot/Godot.x86_64() [0x45e42dd] (??:0)
[4] /opt/godot/Godot.x86_64() [0x34814c4] (??:0)
[5] /opt/godot/Godot.x86_64() [0x34817c0] (??:0)
[6] /opt/godot/Godot.x86_64() [0xf94918] (??:0)
[7] /opt/godot/Godot.x86_64() [0xf956aa] (??:0)
[8] /opt/godot/Godot.x86_64() [0x45957e8] (??:0)
[9] /opt/godot/Godot.x86_64() [0x43ce154] (??:0)
[10] /opt/godot/Godot.x86_64() [0x4b8cb65] (??:0)
[11] /opt/godot/Godot.x86_64() [0x45e3027] (??:0)
[12] /opt/godot/Godot.x86_64() [0x2bd9148] (??:0)
[13] /opt/godot/Godot.x86_64() [0xec1566] (??:0)
[14] /opt/godot/Godot.x86_64() [0xe03993] (??:0)
[15] /lib/x86_64-linux-gnu/libc.so.6(+0x23510) [0x7ff6e7c23510] (??:0)
[16] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x7ff6e7c235c9] (??:0)
[17] /opt/godot/Godot.x86_64() [0xe23a0e] (??:0)
-- END OF BACKTRACE --
================================================================
./godot.sh: строка 1:  6114 Аварийный останов         (образ памяти сброшен на диск) /opt/godot/Godot.x86_64 --path ~/GodotProjects/$1/ --editor

I run Godot from command line because 4.0.1 (and 4.0) is not available in snap store
Also there is Ubuntu window about crash:
ExecutablePath
    /opt/godot/Godot.x86_64
ProblemType
    Crash
Title
    Godot.x86_64 crashed with SIGABRT
ApportVersion
    2.23.1-0ubuntu3
Architecture:
    amd64
CasperMD5CheckResult
    unknown
CoreDump
    (binary data)
CrashCounter
    1
CurrentDesktop
    ubuntu:GNOME
Date
    Sat Apr 1 18:52:40 2023
Disassembly
    => 0x7ff6e7c9926b <__GI___pthread_kill+283>:    mov %eax, %r12d
    ...6e <...+286>:    neg %r12d
    ...71 <...+289>:    cmp $0xfffff000,%eax
    ...76 <...+294>:    mov $0x0,%eax
    ...7b <...+299>:    cmovbe %eax,%r12d
    ...7f <...+303>:    jmp 0x7ff6e7c921fc <__GI___pthread_kill+172>
    ...84 <...+308>:    nopl 0x0(%rax)
    ...88 <...+312>:    mov %r13,%rdi
    ...8b <...+315>:    call 0x7ff6e7c8cb60 <__GI___lll_lock_wait_private>
    ...90 <...+320>:    jmp 0x7ff6e7c921c8 <__GI___pthread_kill+120>
    ...95 <...+325>:    nopl (%rax)
    ...98 <...+328>:    mov %r13,%rdi
    ...9b <...+331>:    call 0x7ff6e7c8cc20 <__GI___lll_lock_wait_private>
    ...a0 <...+336>:    jmp 0x7ff6e7c921e5 <__GI___pthread_kill+149>
    ...a5 <...+341>:    call 0x7ff6e7d2f620 <__stack_chk_fail>
    ...aa:    nopw 0x0(%rax,%rax,1)
# (sorry if typed something wrong, there is no "Copy" button in this window)
DistroRelease
    Ubuntu 22.10
InstallationDate
    Installed on 2023-01-10 (81 days ago)
InstallationMedia
    Ubuntu 22.04.1 LTS "Jammy Jellyfish" - Release amd64 (20220809.1)
JournalErrors
    april 01 18:52:45 <user> systemd[1806]: update-notifier-crash.service: Failed with result 'exit-code'.
    april 01 18:52:45 <user> systemd[1806]: Failed to start Notification regarding a crash report.
ProcCmdLine
    ...
ProcCwd
    /home/<user>/GodotProjects/<project name>
ProcEnviron
    SHELL=/bin/bash
    LANGUAGE=ru
    # LC-* skipped
    TERM=xterm-256color
    XDG_RUNTIME_DIR=<set>
    PATH=(custom, user)
ProcMaps
    00400000-00406000 r--p 00000000 08:05 2785204    /opt/godot/Godot.x86_64
    # (next 4 blocks groupped to 1)
    00406000-07281000 rw-p 06905000 08:05 2785204    /opt/godot/Godot.x86_64
    ...
    0842a000-22a39000 rw-p 00000000 00:00 0 [heap]
    ...
    ... /dev/dri/renderD128
    ...
    ... /memfd:pulseaudio (deleted)
    ...
ProcStatus
    Name: Godot.x86_64
    Umask: 0002
    State: S (sleeping)
    Tgid: 6114
    Ngid: 0
    Pid: 6114
    PPid: 6112
    TracerPid: 0
    Uid: 1000 1000 1000 1000
    Gid: 1000 1000 1000 1000
    FDSize: 64
    Groups: 4 24 27 30 46 122 134 135 1000
    ...
    CoreDumping: 1
    THP_enabled: 1
    Threads: 19
    SigQ: 2/29272
    Speculation_Store_Bypass: thread vulnerable
    SpeculationIndirectBranch: conditional enabled
    Cpus_allowed: f
    ...
ProcVersionSignature
    Ubuntu 5.19.0-38.39-generic 5.19.17
Registers
    rax 0x0 0
    rbx 0x17e2 6114
    rcx 0x7ff6e7c9226b ...
    rdx 0x6
    rsi (and rdi) 0x17e2
    rbp 0x6
    rsp 0x7ffc42d7fa10
    r8 0x1cd29310
    r9 0x7ffc42d7f930
    r10 0x8
    r11 0x246
    r12 0x16
    r13 0x7ffc42d7fb80
    r14 0x12
    r15 0x2102b920
    rip 0x7ff6e7c9226b
    eflags 0x246 [PF ZF IF]
    cs 0x33
    ss 0x2b
    ds (es, fs and gs) 0x0
Signal
    6
Stacktrace
    #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
    ... (no symbol table info available)
    # 20 0x00007ff6e7c23510 in __libc_start_call_main (main=main@entry=0xe02800,argv=argv@entry=...) at ../sysdeps/nptl/libc_start_call_main.h:58
        self, result = <optimized out>
        unwind_buf = {...}
        not_first_call = <optimized out>
StacktraceAddressSignature
    /opt/godot/Godot.x86_64:6:/usr/lib/x86_64-linux-gnu/libc.so.6+19c46:/usr/lib/...libc.so...:/opt/godot/Godot.x86_64+abb566
StacktraceTop
    ?? () # repeated 4 times (5 with this)
Tags
    kinetic
ThreadStacktrace
    .
    Thread 19 (...):
    #0 __futex_abstimed_wait_common64 (prvate=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0xc5882f8) at ./nptl/futex-internal.c:57
    ...
    Thread 18 (...):
    #0 __futext_abstimed_wait_common64 (private=-1143935744, cancel=true, abstime=0x7ff6ce7fddc0, op=137, expected=0, futex_word=0x1d228d74) at ./nptl/futex-internal.c:57
Uname
    Linux 5.19.0-38-generic x86_64
UnreportableReason
    Возможно, этот пакет установлен неправильно (maybe this packet installed wrong)
UpgradeStatus
    Upgraded to kinetic on 2023-03-30 (2 days ago)
UserGroups
    adm cdrom dip lpadmin lxd plugdev sambashare sudo
separator

Godot already crashed 1 time, before this crash, but I didn't report it.
Steps to reproduce

Open Godot editor
(not sure if related, but Godot didn't crash before editor change) Change editor to external (Sublime text) because of #74548
(not sure if related) Connect to Godot language server from Sublime text
(not sure if related) Unfocus Godot window for ~2 hours

Minimal reproduction project
N/A

Related to https://github.com/godotengine/godot/issues/75117.

I updated Godot to 4.0.2 (not debug build) and Godot crashed with cmd $GODOT_PATH --path $PROJECT_PATH with error below in stdout/err and then ...handle_crash: Program crashed with signal 11
Then I downloaded debug build, ran project with same command and got:
ERROR: Condition "_first != nullptr" is true.
   at: ~List (./core/templates/self_list.h:106)

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.stable.custom_build (92bee43adba8d2401ef40e2480e53087bcb1eaf1)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x3bcf0) [0x7fc7a943bcf0] (??:0)
[2] /opt/godot/Godot.x86_64(+0xf47315) [0x557f80e78315] (/opt/godot/./core/string/string_name.h:126)
[3] /opt/godot/Godot.x86_64(+0x5288ca4) [0x557f851b9ca4] (/opt/godot/core/object/object.cpp:793)
[4] /opt/godot/Godot.x86_64(+0x528b50e) [0x557f851bc50e] (/opt/godot/core/object/object.cpp:197)
[5] /opt/godot/Godot.x86_64(+0xb8169d) [0x557f80ab269d] (/opt/godot/./core/os/memory.h:105)
[6] /opt/godot/Godot.x86_64(+0x4f3297f) [0x557f84e6397f] (/opt/godot/./core/object/ref_counted.h:221)
[7] /opt/godot/Godot.x86_64(+0xbc6049) [0x557f80af7049] (/opt/godot/./core/os/memory.h:112)
[8] /opt/godot/Godot.x86_64(+0xb3cdb8) [0x557f80a6ddb8] (/opt/godot/platform/linuxbsd/godot_linuxbsd.cpp:77)
[9] /lib/x86_64-linux-gnu/libc.so.6(+0x23510) [0x7fc7a9423510] (??:0)
[10] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x7fc7a94235c9] (??:0)
[11] /opt/godot/Godot.x86_64(+0xb49d2e) [0x557f80a7ad2e] (??:?)
-- END OF BACKTRACE --
================================================================

I get a very similar looking crash sometimes after importing large files, especially blender files.
ERROR: Condition "!data.tree" is true. Returning: nullptr
   at: get_tree (./scene/main/node.h:329)

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.1.stable.arch_linux
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /usr/lib/libc.so.6(+0x38f50) [0x7f3919569f50] (??:0)
[2] /usr/bin/godot(+0x2cb8bb7) [0x559690554bb7] (??:?)
[3] /usr/bin/godot(+0x2ecd6b6) [0x5596907696b6] (??:?)
[4] /usr/bin/godot(+0x2ecece6) [0x55969076ace6] (??:?)
[5] /usr/bin/godot(+0x474f478) [0x559691feb478] (??:?)
[6] /usr/bin/godot(+0x2c2bf8e) [0x5596904c7f8e] (??:?)
[7] /usr/bin/godot(+0x2c2bfaf) [0x5596904c7faf] (??:?)
[8] /usr/bin/godot(+0x2c2bfaf) [0x5596904c7faf] (??:?)
[9] /usr/bin/godot(+0x2c2bfaf) [0x5596904c7faf] (??:?)
[10] /usr/bin/godot(+0x2c2bfaf) [0x5596904c7faf] (??:?)
[11] /usr/bin/godot(+0x2c2bfaf) [0x5596904c7faf] (??:?)
[12] /usr/bin/godot(+0x2c2bfaf) [0x5596904c7faf] (??:?)
[13] /usr/bin/godot(+0x2c2bfaf) [0x5596904c7faf] (??:?)
[14] /usr/bin/godot(+0x2c2bfaf) [0x5596904c7faf] (??:?)
[15] /usr/bin/godot(+0x2c2bfaf) [0x5596904c7faf] (??:?)
[16] /usr/bin/godot(+0x2c2bfaf) [0x5596904c7faf] (??:?)
[17] /usr/bin/godot(+0x2c2bfaf) [0x5596904c7faf] (??:?)
[18] /usr/bin/godot(+0x1ce08c6) [0x55968f57c8c6] (??:?)
[19] /usr/bin/godot(+0x1ce2a6a) [0x55968f57ea6a] (??:?)
[20] /usr/bin/godot(+0x1cfcace) [0x55968f598ace] (??:?)
[21] /usr/bin/godot(+0x47d2ae2) [0x55969206eae2] (??:?)
[22] /usr/bin/godot(+0x1be5ffe) [0x55968f481ffe] (??:?)
[23] /usr/bin/godot(+0x1be8a5b) [0x55968f484a5b] (??:?)
[24] /usr/bin/godot(+0x1be9fbe) [0x55968f485fbe] (??:?)
[25] /usr/bin/godot(+0x474f478) [0x559691feb478] (??:?)
[26] /usr/bin/godot(+0x2c3afd6) [0x5596904d6fd6] (??:?)
[27] /usr/bin/godot(+0x2c8c0ce) [0x5596905280ce] (??:?)
[28] /usr/bin/godot(+0xf3c8d4) [0x55968e7d88d4] (??:?)
[29] /usr/bin/godot(+0xee2553) [0x55968e77e553] (??:?)
[30] /usr/lib/libc.so.6(+0x23790) [0x7f3919554790] (??:0)
[31] /usr/lib/libc.so.6(__libc_start_main+0x8a) [0x7f391955484a] (??:0)
[32] /usr/bin/godot(+0xef0d65) [0x55968e78cd65] (??:?)
-- END OF BACKTRACE --
================================================================

Godot 4.0 (debug) editor crashed (but may be unrelated). Here is Ubuntu crash handler important info (there is no Copy button in this window):
ProblemType
    Crash
Title
    Godot.x86_64 assert failure: corrupted double-linked list
AssertionMessage
    corrupted double-linked list
ProcCmdline
    /opt/godot/Godot.x86_64 --path $PROJECT_PATH --editor
Signal
    6
Stacktrace
    #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
        ret = 0
        old_mask = {__val = {1}}
    #1 __pthread_kill_internal (signo=6, threadid=<optimiez out>) at ./nptl/pthread_kill.c:78
        No locals
    #2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
        No locals
    ...
    #10 0x... in hb_buffer_destroy(buffer=<optimized out>) at thirdparty/harfbuzz/src/hb-buffer.cc:841
        No locals
    #11 0x... in TextServerAdvanced::ShapedTextDataAdvanced::~ShapedTextDataAdvanced (this=0x7f...ab0, __in_chrg=<optimized out>) at modules/text_server_adv/text_server_adv.h:523
        No locals
    #12 memdelete<TextServerAdvanced::ShapedTextDataAdvanced> (p_class=0x7f...ab0) at ./core/os/memory.h:109
        No locals
    #13 TextServerAdvanced::_free_rid (this=0x..., p_rid=...) at modules/text_server_adv/text_server_adv.cpp:399
        sd = 0x7f...ab0
        _thread_safe_method_ = {lock = {_M_device = 0x..., _M_owns = true}}
    #14 0x... in TextParagraph::~TextParagraph (this=0x..., __in_chrg=<optimized out>) at scenes/res
    [...]
StacktraceTop
    __libc_message ...
    malloc_printerr ...
    unlink_chunk ...
    _int_free ...
    __GI___libc_free ...
ThreadStacktrace
    .
    Thread 23 (Thread 0x... (LWP 175247)):
        #0 __memcpy_ssse3() at ../sysdeps/x86_64/multiarch/memmove-ssse3.S:221
            No locals
        #1 0x... in memcpy(__len=__src=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34
            No locals
        #2 StringBuilder::as_sting(this=this@entry=0x...) at core/string/string_builder.cpp:76
            s = @0x...: {_cowdata = {_ptr = 0x... U"\tWOOD,"}, static_null = 0 U'\000',
            i = 41
            buffer = <optimized out>
            current_position = 392260
            godot_string_elem = 18
            c_string_elem = 23
            final_string = {_cowdata = {_ptr = 0x... U"\x1867b4f0\x55ad\x1f829c70\x55ad\x628a6900..."}, static_null = 0 U'\000', static invalid_node_name_characters = {_cowdata = {_ptr = 0x... U". : @ / \" %"}, static_null = 0 U'\000', static invalid_node_name_characters = <same as static member of an already seen type>}}
        #3 0x... in TextEdit::get_text(this=<optimized out>) at scene/gui/text_edit.cpp:3400
            ret_text = {string_length = 1048501, strings = {write = {<No data fields>}, _cowdata = {_ptr = 0x...}}, c_strings = {write = {<No data fields>}, _cowdata = ...}}
            text_size = <optimized out>
        #4 0x... in ScriptTextEditor::get_functions (this=0x...) at editor/plugins/script_text_editor.cpp:114
            te = <optimized out>
            text = ...
            fnc = {_data = 0x...}
        #5 0x... in ScriptEditor::_update_members_overview (this=0x...) at editor/plugins/script_editor_plugin.cpp:1848
            se = 0x... (same address as in text[_cowdata[_ptr]] in #4)
            functions = {write = <No data fields}, _cowdata = {_ptr = 0x... <__dynamic_cast+122>}}
            path = ...
            built_in = <optimized out>
            name = ...
        #6 0x... in ScriptEditor::_update_script_names (this=0x...) at editor/plugins/script_editor_plugin.cpp:2141
            used = {static MIN_CAPACITY_INDEX = 2, static MAX_OCCUPANCY = 0.75
        [...]

Another backtrace
ERROR: Condition "_first != nullptr" is true.
   at: ~List (./core/templates/self_list.h:106)
ERROR: 1 RID allocations of type 'N5GLES37TextureE' were leaked at exit.
ERROR: 1 RID allocations of type 'N18RendererCanvasCull4ItemE' were leaked at exit.

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.stable.custom_build (92bee43adba8d2401ef40e2480e53087bcb1eaf1)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x3bcf0) [0x7f72a343bcf0] (??:0)
[2] godot(+0xf47315) [0x561e13e90315] (/opt/godot/./core/string/string_name.h:126)
[3] godot(+0x5288ca4) [0x561e181d1ca4] (/opt/godot/core/object/object.cpp:793)
[4] godot(+0x528b50e) [0x561e181d450e] (/opt/godot/core/object/object.cpp:197)
[5] godot(+0xb8169d) [0x561e13aca69d] (/opt/godot/./core/os/memory.h:105)
[6] godot(+0x4f3297f) [0x561e17e7b97f] (/opt/godot/./core/object/ref_counted.h:221)
[7] godot(+0xbc6049) [0x561e13b0f049] (/opt/godot/./core/os/memory.h:112)
[8] godot(+0xb3cdb8) [0x561e13a85db8] (/opt/godot/platform/linuxbsd/godot_linuxbsd.cpp:77)
[9] /lib/x86_64-linux-gnu/libc.so.6(+0x23510) [0x7f72a3423510] (??:0)
[10] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x7f72a34235c9] (??:0)
[11] godot(+0xb49d2e) [0x561e13a92d2e] (??:?)
-- END OF BACKTRACE --
================================================================

Program crashed with signal 11, but other backtrace
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.stable.custom_build (92bee43adba8d2401ef40e2480e53087bcb1eaf1)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x3bcf0) [0x7f9f55c3bcf0] (??:0)
[2] godot(+0x4ff9a9d) [0x560970246a9d] (/opt/godot/core/variant/variant_call.cpp:1161 (discriminator 6))
[3] godot(+0x10da432) [0x56096c327432] (/opt/godot/./core/variant/variant.h:301)
[4] godot(+0xf47080) [0x56096c194080] (/opt/godot/modules/gdscript/gdscript.cpp:1826)
[5] godot(+0x2f9f1c4) [0x56096e1ec1c4] (/opt/godot/./core/variant/variant.h:301)
[6] godot(+0x368dbc8) [0x56096e8dabc8] (/opt/godot/./scene/main/canvas_item.h:45)
[7] godot(+0x5288c48) [0x5609704d5c48] (/opt/godot/core/object/object.cpp:792)
[8] godot(+0x2fd0db2) [0x56096e21ddb2] (/opt/godot/scene/main/scene_tree.cpp:874)
[9] godot(+0x2fd6e20) [0x56096e223e20] (/opt/godot/scene/main/scene_tree.cpp:429)
[10] godot(+0xbb12d7) [0x56096bdfe2d7] (/opt/godot/main/main.cpp:3123)
[11] godot(+0xb4c761) [0x56096bd99761] (/opt/godot/platform/linuxbsd/os_linuxbsd.cpp:880)
[12] godot(+0xb3cdb1) [0x56096bd89db1] (/opt/godot/platform/linuxbsd/godot_linuxbsd.cpp:75)
[13] /lib/x86_64-linux-gnu/libc.so.6(+0x23510) [0x7f9f55c23510] (??:0)
[14] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x7f9f55c235c9] (??:0)
[15] godot(+0xb49d2e) [0x56096bd96d2e] (??:?)
-- END OF BACKTRACE --

Im seeing similar issues when trying to compile a project in a Github Action using ubuntu:
  savepack: end
  reimport: end
  ERROR: 2 RID allocations of type 'P11GodotBody2D' were leaked at exit.
  ERROR: 4 RID allocations of type 'P11GodotArea2D' were leaked at exit.
  ERROR: 4 RID allocations of type 'P12GodotShape2D' were leaked at exit.
  ERROR: Condition "_first != nullptr" is true.
     at: ~List (./core/templates/self_list.h:106)
  ERROR: 98 RID allocations of type 'N18RendererCanvasCull4ItemE' were leaked at exit.
  ERROR: 3 RID allocations of type 'N18RendererCanvasCull6CanvasE' were leaked at exit.
  ERROR: 28 RID allocations of type 'PN13RendererDummy14TextureStorage12DummyTextureE' were leaked at exit.
  ERROR: 62 RID allocations of type 'PN18TextServerAdvanced22ShapedTextDataAdvancedE' were leaked at exit.
  ERROR: 1 RID allocations of type 'PN18TextServerAdvanced12FontAdvancedE' were leaked at exit.

  ================================================================
  handle_crash: Program crashed with signal 11
  Engine version: Godot Engine v4.0.2.stable.official (7a0977ce2c558fe6219f0a14f8bd4d05aea8f019)
  Dumping the backtrace.
  [1] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7f29981f0520] (??:0)
  [2] /home/runner/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64() [0x112245f] (??:0)
  [3] /home/runner/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64() [0x45788b8] (??:0)
  [4] /home/runner/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64() [0xeda5ca] (??:0)
  [5] /home/runner/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64() [0x1d2bdf5] (??:0)
  [6] /home/runner/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64() [0x41fdce2] (??:0)
  [7] /home/runner/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64() [0x41fd250] (??:0)
  [8] /home/runner/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64() [0x41fd286] (??:0)
  [9] /home/runner/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64() [0x426d5cc] (??:0)
  [10] /home/runner/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64() [0xe09ff8] (??:0)
  [11] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7f29981d7d90] (??:0)
  [12] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7f29981d7e40] (??:0)
  [13] /home/runner/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64() [0xe29b3e] (??:0)
  -- END OF BACKTRACE --
  ================================================================

Here is backtrace from release 4.0.2 version (yes, it's full backtrace)
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.2.stable.official (7a0977ce2c558fe6219f0a14f8bd4d05aea8f019)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x3bcf0) [0x7f50a6e3bcf0] (??:0)
-- END OF BACKTRACE --
================================================================

After doing more testing to try and get my action to work, it turned out to be a faulty plugin.
I had:

Aseprite Wizard
TODO Manager

Excluding the Addons folder fixed it in the action for me.

Got similar:
ERROR: Attempted to free invalid ID: 0
   at: _free_internal (drivers/vulkan/rendering_device_vulkan.cpp:8394)
ERROR: Attempted to free invalid ID: 0
   at: _free_internal (drivers/vulkan/rendering_device_vulkan.cpp:8394)
ERROR: Attempted to free invalid ID: 0
   at: _free_internal (drivers/vulkan/rendering_device_vulkan.cpp:8394)
ERROR: Attempted to free invalid ID: 0
   at: _free_internal (drivers/vulkan/rendering_device_vulkan.cpp:8394)
ERROR: Attempted to free invalid ID: 0
   at: _free_internal (drivers/vulkan/rendering_device_vulkan.cpp:8394)
ERROR: Condition "!shader" is true.
   at: shader_free (servers/rendering/renderer_rd/storage_rd/material_storage.cpp:2453)
ERROR: Condition "!material" is true.
   at: material_free (servers/rendering/renderer_rd/storage_rd/material_storage.cpp:2686)
ERROR: 2 RID allocations of type 'N18RendererCanvasCull4ItemE' were leaked at exit.

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.2.stable.official (7a0977ce2c558fe6219f0a14f8bd4d05aea8f019)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7f78aa748520] (??:0)
[2] /home/core/godot_stable/brickswall/Godot2.x86_64() [0x2bbeabb] (??:0)
[3] /home/core/godot_stable/brickswall/Godot2.x86_64() [0x2c4a312] (??:0)
[4] /home/core/godot_stable/brickswall/Godot2.x86_64() [0x2c3d3f9] (??:0)
[5] /home/core/godot_stable/brickswall/Godot2.x86_64() [0x26d0a0e] (??:0)
[6] /home/core/godot_stable/brickswall/Godot2.x86_64() [0xb5f831] (??:0)
[7] /home/core/godot_stable/brickswall/Godot2.x86_64() [0xaca764] (??:0)
[8] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7f78aa72fd90] (??:0)
[9] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7f78aa72fe40] (??:0)
[10] /home/core/godot_stable/brickswall/Godot2.x86_64() [0xae331e] (??:0)
-- END OF BACKTRACE --
================================================================
Aborted (core dumped)

It's only when I try to close the window (i.e. i press ALT+F4), interesting fact, i sometimes reload the current scene, and if i see ERROR: 2 RID this means that i reloaded the scene 2 times, this number is always the number how many times i reloaded my scene

Similar on Manjaro with Godot 4.1.
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.1.stable.official (970459615f6b2b4151742ec6d7ef8559f87fd5c5)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /usr/lib/libc.so.6(+0x39ab0) [0x7f4929acbab0] (??:0)
[2] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x47c0a51] (??:0)
[3] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x12ec53a] (??:0)
[4] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x2d19fa0] (??:0)
[5] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x47c0a54] (??:0)
[6] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x12ec53a] (??:0)
[7] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x2d19fa0] (??:0)
[8] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x47c0a54] (??:0)
[9] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x12ec53a] (??:0)
[10] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x2d19fa0] (??:0)
[11] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x47c0a54] (??:0)
[12] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x12ec53a] (??:0)
[13] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x2d19fa0] (??:0)
[14] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x47c0a54] (??:0)
[15] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x12ec53a] (??:0)
[16] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x2d19fa0] (??:0)
[17] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x47c0a54] (??:0)
[18] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x12ec53a] (??:0)
[19] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x2d19fa0] (??:0)
[20] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x47c0a54] (??:0)
[21] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x12ec53a] (??:0)
[22] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x2a11432] (??:0)
[23] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x1dea1f6] (??:0)
[24] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x1deb399] (??:0)
[25] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x1deac19] (??:0)
[26] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x46186a2] (??:0)
[27] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x4837731] (??:0)
[28] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x10fdedf] (??:0)
[29] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x3000aa2] (??:0)
[30] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x2d33fc0] (??:0)
[31] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x2d79e29] (??:0)
[32] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x2d7d51c] (??:0)
[33] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x2da47d5] (??:0)
[34] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0xeb6250] (??:0)
[35] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x45ba1b3] (??:0)
[36] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0x45bb40e] (??:0)
[37] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0xeb68ff] (??:0)
[38] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0xe45aa3] (??:0)
[39] /usr/lib/libc.so.6(+0x23850) [0x7f4929ab5850] (??:0)
[40] /usr/lib/libc.so.6(__libc_start_main+0x8a) [0x7f4929ab590a] (??:0)
[41] /home/user/.local/share/Steam/steamapps/common/Godot Engine/godot.x11.opt.tools.64() [0xe76cee] (??:0)
-- END OF BACKTRACE --
================================================================

Note that I faced some "Load Error" (which I cba to type out, since you made that error popup readonly with seemingly no way to copy the message) during startup.
There are also some leftover errors from our migration from 3.5, but they don't appear to be related. Providing an excerpt anyway:
ERROR: Attempt to disconnect a nonexistent connection from 'Skeleton3D:<Skeleton3D#2424005789782>'. Signal: 'bone_pose_changed', callable: 'BoneAttachment3D::on_bone_pose_update'.
   at: _disconnect (core/object/object.cpp:1349)
SCRIPT ERROR: Parse Error: Identifier "Geometry" not declared in the current scope.
          at: GDScript::reload (res://levels/fog_of_war3_d.gd:162)
SCRIPT ERROR: Parse Error: Invalid argument for "add_child()" function: argument 1 should be "Node" but is "ImmediateMesh".
          at: GDScript::reload (res://levels/fog_of_war3_d.gd:185)
SCRIPT ERROR: Parse Error: Identifier "Geometry" not declared in the current scope.
          at: GDScript::reload (res://levels/fog_of_war3_d.gd:136)
ERROR: Condition "!is_inside_tree()" is true. Returning: Transform3D()
   at: get_global_transform (scene/3d/node_3d.cpp:324)
ERROR: Condition "!is_inside_tree()" is true. Returning: Transform3D()
   at: get_global_transform (scene/3d/node_3d.cpp:324)
ERROR: Signal 'bone_pose_changed' is already connected to given callable 'BoneAttachment3D::on_bone_pose_update' in that object.
   at: connect (core/object/object.cpp:1292)
ERROR: Signal 'bone_pose_changed' is already connected to given callable 'BoneAttachment3D::on_bone_pose_update' in that object.
   at: connect (core/object/object.cpp:1292)
ERROR: Signal 'bone_pose_changed' is already connected to given callable 'BoneAttachment3D::on_bone_pose_update' in that object.
   at: connect (core/object/object.cpp:1292)
ERROR: Navigation map synchronization error. Attempted to update a navigation region with a navigation mesh that uses a different `cell_size` than the `cell_size` set on the navigation map.
   at: update_polygons (modules/navigation/nav_region.cpp:118)
ERROR: Navigation map synchronization error. Attempted to update a navigation region with a navigation mesh that uses a different `cell_height` than the `cell_height` set on the navigation map.
   at: update_polygons (modules/navigation/nav_region.cpp:122)

Godot 4.1.1.stable backtrace (release build)
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.1.1.stable.official (bd6af8e0ea69167dd0627f3bd54f9105bda0f8b5)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x3c4b0) [0x7efd05c3c4b0] (??:0)
[2] /usr/bin/godot() [0x4ff9eae] (??:0)
[3] /usr/bin/godot() [0x2354c98] (??:0)
[4] /usr/bin/godot() [0x236a7bd] (??:0)
[5] /usr/bin/godot() [0x47d7128] (??:0)
[6] /usr/bin/godot() [0x2a24aa7] (??:0)
[7] /usr/bin/godot() [0x1deb2e3] (??:0)
[8] /usr/bin/godot() [0x483b9d1] (??:0)
[9] /usr/bin/godot() [0x300320b] (??:0)
[10] /usr/bin/godot() [0x3003da5] (??:0)
[11] /usr/bin/godot() [0x2d365f0] (??:0)
[12] /usr/bin/godot() [0x2d7bd68] (??:0)
[13] /usr/bin/godot() [0x2d7f9ec] (??:0)
[14] /usr/bin/godot() [0x2da6ca5] (??:0)
[15] /usr/bin/godot() [0xeb6b10] (??:0)
[16] /usr/bin/godot() [0x45be723] (??:0)
[17] /usr/bin/godot() [0x45bf97e] (??:0)
[18] /usr/bin/godot() [0xeb71bf] (??:0)
[19] /usr/bin/godot() [0xe46433] (??:0)
[20] /lib/x86_64-linux-gnu/libc.so.6(+0x23a90) [0x7efd05c23a90] (??:0)
[21] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x7efd05c23b49] (??:0)
[22] /usr/bin/godot() [0xe777ae] (??:0)
-- END OF BACKTRACE --
================================================================

Full output without backtrace:
Godot Engine v4.1.1.stable.official.bd6af8e0e - https://godotengine.org
OpenGL API 4.5 (Core Profile) Mesa 23.3~git2308150600.210fe9~oibaf~l (git-210fe9f 2023-08-15 lunar-oibaf-ppa) - Compatibility - Using Device: AMD - AMD Radeon R4 Graphics (stoney, LLVM 15.0.7, DRM 3.49, 6.2.0-26-generic)

ERROR: Error opening file '/home/werryx/GodotProjects/WCK/icon.svg'.
   at: load_image (core/io/image_loader.cpp:90)
Editing project: /home/werryx/GodotProjects/TanksBattle
Godot Engine v4.1.1.stable.official.bd6af8e0e - https://godotengine.org
OpenGL API 4.5 (Core Profile) Mesa 23.3~git2308150600.210fe9~oibaf~l (git-210fe9f 2023-08-15 lunar-oibaf-ppa) - Compatibility - Using Device: AMD - AMD Radeon R4 Graphics (stoney, LLVM 15.0.7, DRM 3.49, 6.2.0-26-generic)

ERROR: Condition "!texture_allocs_cache.has(p_id)" is true.
   at: texture_free_data (drivers/gles3/storage/utilities.h:111)
ERROR: Cubemap Arrays are not supported in the GL Compatibility backend.
   at: texture_2d_layered_initialize (drivers/gles3/storage/texture_storage.cpp:763)
ERROR: Attempting to use an uninitialized RID
   at: get_or_null (./core/templates/rid_owner.h:199)
ERROR: Condition "!t" is true.
   at: texture_free (drivers/gles3/storage/texture_storage.cpp:705)
ERROR: GLTF: Can't import file 'tank4', required extension 'KHR_draco_mesh_compression' is not supported. Are you missing a GLTFDocumentExtension plugin?
   at: _parse_gltf_extensions (modules/gltf/gltf_document.cpp:7474)
ERROR: Condition "err != OK" is true. Returning: ERR_PARSE_ERROR
   at: _parse_gltf_state (modules/gltf/gltf_document.cpp:7331)
ERROR: Condition "err != OK" is true. Returning: err
   at: _parse (modules/gltf/gltf_document.cpp:7012)
ERROR: Condition "err != OK" is true. Returning: err
   at: append_from_file (modules/gltf/gltf_document.cpp:7440)
ERROR: Error importing 'res://assets/models/tank4.glb'.
   at: _reimport_file (editor/editor_file_system.cpp:2044)
Blender 3.6.1 (hash 8bda729ef4dc built 2023-07-17 23:31:33)
Read prefs: "/home/werryx/.config/blender/3.6/config/userpref.blend"
Traceback (most recent call last):
  File "/snap/blender/3822/3.6/scripts/modules/addon_utils.py", line 333, in enable
    mod = __import__(module_name)
ModuleNotFoundError: No module named 'io_scene_godot'
Read blend: "<path>.blend"
11:41:17 | INFO: Draco mesh compression is available, use library at /snap/blender/3822/3.6/python/lib/python3.10/site-packages/libextern_draco.so
11:41:19 | INFO: Starting glTF 2.0 export
11:41:19 | INFO: Extracting primitive: Cube.001
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cube.002
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cube.003
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cube.004
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: NurbsPath.001
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cylinder.008
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cylinder.009
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cylinder.010
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cylinder.011
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cylinder.012
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cylinder.013
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cylinder.014
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cube.005
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: NurbsPath.002
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cylinder.015
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cylinder.016
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cylinder.017
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cylinder.018
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cylinder.019
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cylinder.020
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:20 | INFO: Extracting primitive: Cylinder.021
Error: Tangent space can only be computed for tris/quads, aborting
11:41:20 | WARNING: Could not calculate tangents. Please try to triangulate the mesh first.
11:41:20 | INFO: Primitives created: 1
11:41:21 | INFO: Finished glTF 2.0 export in 1.543672800064087 s

Blender quit
WARNING: Glow is not supported when using the GL Compatibility backend yet. Support will be added in a future release.
     at: environment_set_glow (servers/rendering/storage/environment_storage.cpp:387)
ERROR: Path to node is invalid: 'viewport'.
   at: _setup_local_to_scene (scene/main/viewport.cpp:177)
ERROR: Viewport Texture must be set to use it.
   at: get_height (scene/main/viewport.cpp:133)
ERROR: Viewport Texture must be set to use it.
   at: get_width (scene/main/viewport.cpp:123)
ERROR: Path to node is invalid: 'viewport'.
   at: _setup_local_to_scene (scene/main/viewport.cpp:177)
ERROR: GLTF: Can't import file 'tank4', required extension 'KHR_draco_mesh_compression' is not supported. Are you missing a GLTFDocumentExtension plugin?
   at: _parse_gltf_extensions (modules/gltf/gltf_document.cpp:7474)
ERROR: Condition "err != OK" is true. Returning: ERR_PARSE_ERROR
   at: _parse_gltf_state (modules/gltf/gltf_document.cpp:7331)
ERROR: Condition "err != OK" is true. Returning: err
   at: _parse (modules/gltf/gltf_document.cpp:7012)
ERROR: Condition "err != OK" is true. Returning: err
   at: append_from_file (modules/gltf/gltf_document.cpp:7440)
ERROR: Error importing 'res://assets/models/tank4.glb'.
   at: _reimport_file (editor/editor_file_system.cpp:2044)
ERROR: Attempt to disconnect a nonexistent connection from 'tank4:<Node3D#2405668298767>'. Signal: 'replacing_by', callable: 'EditorNode::set_edited_scene'.
   at: _disconnect (core/object/object.cpp:1351)
ERROR: GLTF: Can't import file 'tank4', required extension 'KHR_draco_mesh_compression' is not supported. Are you missing a GLTFDocumentExtension plugin?
   at: _parse_gltf_extensions (modules/gltf/gltf_document.cpp:7474)
ERROR: Condition "err != OK" is true. Returning: ERR_PARSE_ERROR
   at: _parse_gltf_state (modules/gltf/gltf_document.cpp:7331)
ERROR: Condition "err != OK" is true. Returning: err
   at: _parse (modules/gltf/gltf_document.cpp:7012)
ERROR: Condition "err != OK" is true. Returning: err
   at: append_from_file (modules/gltf/gltf_document.cpp:7440)
ERROR: Error importing 'res://assets/models/tank4.glb'.
   at: _reimport_file (editor/editor_file_system.cpp:2044)
ERROR: Attempt to disconnect a nonexistent connection from 'tank4:<Node3D#2440833332691>'. Signal: 'replacing_by', callable: 'EditorNode::set_edited_scene'.
   at: _disconnect (core/object/object.cpp:1351)
res://assets/textures/tank4_albedo.png: Texture detected as used in 3D. Enabling mipmap generation and setting the texture compression mode to VRAM Compressed (S3TC/ETC/BPTC).
res://assets/textures/tank4_orm.png: Texture detected as used in 3D. Enabling mipmap generation and setting the texture compression mode to VRAM Compressed (S3TC/ETC/BPTC).
WARNING: Failed to load cached shader, recompiling.
     at: _load_from_cache (drivers/gles3/shader_gles3.cpp:577)
ERROR: GLTF: Can't import file 'tank4', required extension 'KHR_draco_mesh_compression' is not supported. Are you missing a GLTFDocumentExtension plugin?
   at: _parse_gltf_extensions (modules/gltf/gltf_document.cpp:7474)
ERROR: Condition "err != OK" is true. Returning: ERR_PARSE_ERROR
   at: _parse_gltf_state (modules/gltf/gltf_document.cpp:7331)
ERROR: Condition "err != OK" is true. Returning: err
   at: _parse (modules/gltf/gltf_document.cpp:7012)
ERROR: Condition "err != OK" is true. Returning: err
   at: append_from_file (modules/gltf/gltf_document.cpp:7440)
ERROR: Error importing 'res://assets/models/tank4.glb'.
   at: _reimport_file (editor/editor_file_system.cpp:2044)
ERROR: Attempt to disconnect a nonexistent connection from 'tank4:<Node3D#7978421921861>'. Signal: 'replacing_by', callable: 'EditorNode::set_edited_scene'.
   at: _disconnect (core/object/object.cpp:1351)
ERROR: GLTF: Can't import file 'tank4', required extension 'KHR_draco_mesh_compression' is not supported. Are you missing a GLTFDocumentExtension plugin?
   at: _parse_gltf_extensions (modules/gltf/gltf_document.cpp:7474)
ERROR: Condition "err != OK" is true. Returning: ERR_PARSE_ERROR
   at: _parse_gltf_state (modules/gltf/gltf_document.cpp:7331)
ERROR: Condition "err != OK" is true. Returning: err
   at: _parse (modules/gltf/gltf_document.cpp:7012)
ERROR: Condition "err != OK" is true. Returning: err
   at: append_from_file (modules/gltf/gltf_document.cpp:7440)
ERROR: Error importing 'res://assets/models/tank4.glb'.
   at: _reimport_file (editor/editor_file_system.cpp:2044)
ERROR: Attempt to disconnect a nonexistent connection from 'tank4:<Node3D#11297945088662>'. Signal: 'replacing_by', callable: 'EditorNode::set_edited_scene'.
   at: _disconnect (core/object/object.cpp:1351)
ERROR: GLTF: Can't import file 'tank4', required extension 'KHR_draco_mesh_compression' is not supported. Are you missing a GLTFDocumentExtension plugin?
   at: _parse_gltf_extensions (modules/gltf/gltf_document.cpp:7474)
ERROR: Condition "err != OK" is true. Returning: ERR_PARSE_ERROR
   at: _parse_gltf_state (modules/gltf/gltf_document.cpp:7331)
ERROR: Condition "err != OK" is true. Returning: err
   at: _parse (modules/gltf/gltf_document.cpp:7012)
ERROR: Condition "err != OK" is true. Returning: err
   at: append_from_file (modules/gltf/gltf_document.cpp:7440)
ERROR: Error importing 'res://assets/models/tank4.glb'.
   at: _reimport_file (editor/editor_file_system.cpp:2044)
ERROR: Attempt to disconnect a nonexistent connection from 'tank4:<Node3D#11995894064950>'. Signal: 'replacing_by', callable: 'EditorNode::set_edited_scene'.
   at: _disconnect (core/object/object.cpp:1351)

===...

@werryxgames The backtraces you're posting don't contain debugging symbols, which mean they're unfortunately not useful. You need to compile the engine with debug_symbols=yes, then run it until you can reproduce the crash.

Happens on Godot 4.2.1 (built from source) when closing the application:
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.2.1.stable.custom_build (b09f793f564a6c95dc76acc654b390e68441bd01)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x42910) [0x7ff248c42910] (??:0)
[2] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x3e39666) [0x55af4ff59666] (/home/user/projects/godot_engine/servers/rendering/renderer_scene_cull.cpp:4074 (discriminator 1))
[3] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x3080fed) [0x55af4f1a0fed] (/home/user/projects/godot_engine/./core/string/string_name.h:192 (discriminator 1))
[4] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x3245460) [0x55af4f365460] (/home/user/projects/godot_engine/./core/os/memory.h:112)
[5] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x2f9a008) [0x55af4f0ba008] (/home/user/projects/godot_engine/./core/os/memory.h:112)
[6] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x422bc61) [0x55af5034bc61] (/home/user/projects/godot_engine/./core/os/memory.h:112)
[7] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x597040) [0x55af4c6b7040] (/home/user/projects/godot_engine/./core/variant/variant.h:302)
[8] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x3149b04) [0x55af4f269b04] (/home/user/projects/godot_engine/./core/templates/cowdata.h:415)
[9] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x3144ae0) [0x55af4f264ae0] (/home/user/projects/godot_engine/./core/os/memory.h:112)
[10] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x422bc61) [0x55af5034bc61] (/home/user/projects/godot_engine/./core/os/memory.h:112)
[11] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x597040) [0x55af4c6b7040] (/home/user/projects/godot_engine/./core/variant/variant.h:302)
[12] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x3149b04) [0x55af4f269b04] (/home/user/projects/godot_engine/./core/templates/cowdata.h:415)
[13] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x3144ae0) [0x55af4f264ae0] (/home/user/projects/godot_engine/./core/os/memory.h:112)
[14] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x422bc61) [0x55af5034bc61] (/home/user/projects/godot_engine/./core/os/memory.h:112)
[15] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x7ba8fa) [0x55af4c8da8fa] (/home/user/projects/godot_engine/./core/variant/variant.h:302)
[16] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x7adb0d) [0x55af4c8cdb0d] (/home/user/projects/godot_engine/./core/templates/hash_map.h:255)
[17] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x807e21) [0x55af4c927e21] (/home/user/projects/godot_engine/./core/os/memory.h:112)
[18] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x9074e8) [0x55af4ca274e8] (/home/user/projects/godot_engine/./core/os/memory.h:112)
[19] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x5f9f0b) [0x55af4c719f0b] (/home/user/projects/godot_engine/modules/register_module_types.gen.cpp:240)
[20] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x5d0c6b) [0x55af4c6f0c6b] (/home/user/projects/godot_engine/main/main.cpp:3819)
[21] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x552142) [0x55af4c672142] (/home/user/projects/godot_engine/platform/linuxbsd/godot_linuxbsd.cpp:78)
[22] /lib/x86_64-linux-gnu/libc.so.6(+0x280d0) [0x7ff248c280d0] (??:0)
[23] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x7ff248c28189] (??:0)
[24] /home/user/projects/godot_engine/bin/godot.linuxbsd.editor.x86_64(+0x55ffe5) [0x55af4c67ffe5] (??:?)
-- END OF BACKTRACE --
================================================================

This might not be specific to linux. Linux catches it and report it as segfault, but windows might just be executing compromised code blindly. I checked my project that causes the crash on windows, and it does print a lot of nul characters just before terminating. Their might be a large amount of users to who this is happening but have not noticed it.

Me too. I run my code in Mac air m1.
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.2.1.stable.mono.official (b09f793f564a6c95dc76acc654b390e68441bd01)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] invoke_previous_action(sigaction*, int, __siginfo*, void*, bool)
[2] 2   libsystem_platform.dylib            0x00000001836a9a24 _sigtramp + 56
[3] Object* ClassDB::creator<mono_bind::GodotSharp>()
[4] 4   ???                                 0x0000000281051a00 0x0 + 10754529792
[5] 5   ???                                 0x00000002810518f8 0x0 + 10754529528
[6] 6   ???                                 0x00000002810515bc 0x0 + 10754528700
[7] 7   ???                                 0x0000000281e0042c 0x0 + 10768876588
[8] 8   ???                                 0x000000028106d9cc 0x0 + 10754644428
[9] 9   ???                                 0x0000000281ddd650 0x0 + 10768733776
[10] 10  ???                                 0x0000000281f65a9c 0x0 + 10770340508
[11] 11  ???                                 0x00000002826b2230 0x0 + 10777993776
[12] 12  ???                                 0x00000002826eea44 0x0 + 10778241604
[13] 13  ???                                 0x00000002826b1c98 0x0 + 10777992344
[14] 14  ???                                 0x00000002825c5cb8 0x0 + 10777025720
[15] 15  ???                                 0x000000028103032c 0x0 + 10754392876
[16] Object::get_instance_id() const
[17] JSON::get_data() const
[18] VariantInitializer<Vector>::init(Variant*)
[19] Object* ClassDB::creator()
[20] Object::get_instance_id() const
[21] JSON::get_data() const
[22] CallableCustomExtension::default_compare_less(CallableCustom const*, CallableCustom const*)
[23] CallableCustomExtension::default_compare_less(CallableCustom const*, CallableCustom const*)
[24] Node::get_index(bool) const
[25] RendererCompositorRD::_create_current()
[26] void rx::mtl::GetMatrixUniformMetal(unsigned int, unsigned int*, unsigned int const*, bool)
[27] RendererCompositorRD::_create_current()

Closing, as this issue has become a flurry of unrelated reports with no reproduction steps whatsoever.
Please open a new issue with:

A minimal reproduction project and detailed reproduction steps.
A crash backtrace made using a build with debug symbols. Currently, there are no official builds with debug symbols, so you'll have to compile from source with the debug_symbols=yes SCons option.


text:
Script editor incorrectly placing @warning_ignore when clicikng [Ignore] link on multi-line expression

Godot version
4.0.3
System information
Windows 11
Issue description
The editor gives a button/link [Ignore] preceding warnings to insert a suppression annotation for the developer on the line above. However, this insertion doesn't take code syntax into account and will blindly insert the annotation above the detected line, only giving it correct indentation. Multi-line expressions are unable to handle this, and the entire area of code lights up with errors. Code sample provided in reproduction steps. Manually moving the warning above the full expression successfully suppresses the warning.
I expect one of two things:

The editor insert the suppression mechanism in a safe place
The suppression mechanism not interrupt expressions

I imagine 1 is the easiest solution to take, as annotations are code and they need to be placed in valid locations according to their function. But I'd like to take a moment to state that something like 2 would be amazing. Many languages implement arbitrary warning suppression via directives. E.g. a lot of the C family of languages uses #pragma to instruct the compiler to hold off on specific warnings in the file until otherwise stated. I don't know how possible that is for an interpreted language vs a compiled one, it's really not my domain, but it would be amazing if it were possible.
Side-note, I found myself trying to suppress this warning after running into #74397 on a nameless script
Steps to reproduce
Sample code to reproduce:
func instance_func():
    @warning_ignore("static_called_on_instance")
    print([
        0,
        static_func() # fails
    ])
    print([
        static_func(), # fails
        0
    ])
    print([0, static_func()]) # works
    print([static_func(), # works
        0
    ])
    return 0 + \
        static_func() # fails

static func static_func() -> int:
    return 0

Paste this in a script and click the [Ignore] text in the warnings list beneath the text editor

Minimal reproduction project
N/A. Reproduction just takes the given snippet in a fresh project.

Related to / duplicate of #39460.

authors: JSchrepp dalexeev


text:
Godot colour discolouration in editor

Godot version
4.1.1
System information
Windows 7
Issue description
From an existing project used Quit to Project List and editor was distorted with colour on loading new project.

The project itself ran fine as normal. Just in the Editor was it discoloured.
Steps to reproduce
This has happened once before. Load Godot editor. Select project. Click on project to edit. editor loads with unusual colour gradients in each window.
Minimal reproduction project
N/A

Note that Vulkan support is notoriously buggy on Windows 7, regardless of GPU vendor. I suggest using the Compatibility rendering method, upgrading to Windows 10 or later or switching to Linux.

Sauermann,
Win 7
Intel i5 3.40GHz
16 GB RAM
NVIDIA GeForce GTX 760

authors: Calinou GhoulFool


text:
Incorrect 2D SubViewport scaling behavior

Godot version
4.2.dev5
System information
Windows 11, AMD 7950x, RTX 4090
Issue description
All 2D SubViewports behave normally in-editor, but in-game act as if they are using the canvas_items stretch mode in Project Settings; they do not respect the resolution set in size_2d_override. There is no apparent way to change this behavior. I am trying to make a game that has a pixel-perfect low-resolution game-view with high-resolution pillarbox art. This appears to be impossible to do with Viewports currently, and is an important inconsistency as this behavior is desired for many pixel art games.
https://github.com/godotengine/godot/assets/43023911/03a78f13-36d7-4514-bee6-3412e1f28e6f
Steps to reproduce
Use a SubViewportContainer with stretch enabled and a SubViewport with the size_2d_override set to a low resolution and size_2d_override_stretch enabled. The SubViewport resolution will appear different when the game is run than it does in the editor.
Minimal reproduction project
subviewport problem.zip

Please remove the .godot folder when submitting MRPs, also your script does a bunch of redundant stuff which makes it very hard to understand what you want to do. What I'm seeing is that the behavior between the editor and the game is not inconsistent, because your script increases the viewport container's size at runtime. If you were to do that in the editor, you get the same result.
I managed to do what you want (I think) using Sprite2D, try this:
subviewport_problem.zip
The integer scaling solution on the project settings is applied only to the root Window, the related properties are in base Window, they had practically nothing to do with the your project.
Something is indeed wrong with size2d override not being respected properly in a ViewportContainer, not sure whether it's intended or not.

Here is a more minimal project that demonstrates the problem, then. I will update the OP.
subviewport problem.zip
Thank you for including a workaround solution, but I don't think it is a good enough replacement. ViewportTexture doesn't allow for the straightforward use of mouse inputs or sound, which is a major drawback.

This is an issue related to the forward_plus renderer.
I experienced the same.
It doesn't appear with the compatibility renderer.

authors: Cyangmou Jordyfel uzkbwza


text:
3D mesh gets abnormal trembling on android devices powered by MediaTek Dimensity and Huawei Kirin processors.

Tested versions
4.2.1 stable
System information
android - godot4.2.1 - gles (MediaTek Dimensity and Huawei Kirin processors)
Issue description
I have an Android application exported using Godot, which employs OpenGL (compatibility) rendering. The app runs smoothly on devices equipped with Qualcomm processors. However, issues arise when running on devices powered by MediaTek Dimensity and Huawei Kirin processors specifically concerning animations involving mesh binding to 3D skeletons. As demonstrated in the video below, during playback, the mesh models exhibit abnormal trembling when they should be smoothly animating along with their bound 3D skeletons. For comparison, you can observe the correct, jitter-free animation on a device with a Qualcomm processor.
Switching to Vulkan (mobile) rendering resolves the problem on MediaTek Dimensity-based devices, resulting in normal operation. Unfortunately, adopting Vulkan (mobile) causes the application to crash outright and become unrunnable on Huawei Kirin processor-equipped devices.
Steps to reproduce
1, Make mesh and animations by binding skeleton3D in blender3.6.
2, open the blend file in godot4.2.1 and save the mesh and skeleton3D animation using node Animationplayer.
3, before output to android, close the shader cache to avoid another bug on shder cache on  some android hardwares.
4, switch the renderer(mobile) to gl_compatibility,
5, build the android apk file and run in MediaTek Dimensity devices.
6, play the Animationplayer and the abnormal trembling shows.
Minimal reproduction project (MRP)
bugReportProject.zip
https://github.com/godotengine/godot/assets/59926550/687220a8-a500-4a4e-99df-5416079aa8d7

This is likely a precision issue in the mesh skinning shader, which could be alleviated by adding highp in the right location (at a performance cost).

This is likely a precision issue in the mesh skinning shader, which could be alleviated by adding highp qualifiers in the right location (at a performance cost). I'm surprised this occurs on non-Qualcomm GPUs though; usually, it's the opposite.

Thanks, can you tell me more details on how to adding highp qualifiers in the right location ?

@dsyze In this file https://github.com/godotengine/godot/blob/master/drivers/gles3/shaders/skeleton.glsl You would replace all the places where it says mediump with highp. And then below, in the body of the shader, when a new variable is defined you would add highp as well (e.g. highp vec3 instead of just vec3)

@dsyze In this file https://github.com/godotengine/godot/blob/master/drivers/gles3/shaders/skeleton.glsl You would replace all the places where it says mediump with highp. And then below, in the body of the shader, when a new variable is defined you would add highp as well (e.g. highp vec3 instead of just vec3)

Thank you, sir! I will try.

@dsyze In this file https://github.com/godotengine/godot/blob/master/drivers/gles3/shaders/skeleton.glsl You would replace all the places where it says mediump with highp. And then below, in the body of the shader, when a new variable is defined you would add highp as well (e.g. highp vec3 instead of just vec3)

Unfortunately, the issue persists even after using the recompiled editor and the Android export template.

@dsyze In this file https://github.com/godotengine/godot/blob/master/drivers/gles3/shaders/skeleton.glsl You would replace all the places where it says mediump with highp. And then below, in the body of the shader, when a new variable is defined you would add highp as well (e.g. highp vec3 instead of just vec3)

Unfortunately, the issue persists even after using the recompiled editor and the Android export template.

Could you share the updated version of the skeleton.glsl file you used so I can verify you changed all the necessary places?
Also, to confirm, you recompiled the editor and the android export template right?

@dsyze In this file https://github.com/godotengine/godot/blob/master/drivers/gles3/shaders/skeleton.glsl You would replace all the places where it says mediump with highp. And then below, in the body of the shader, when a new variable is defined you would add highp as well (e.g. highp vec3 instead of just vec3)

Unfortunately, the issue persists even after using the recompiled editor and the Android export template.

Could you share the updated version of the skeleton.glsl file you used so I can verify you changed all the necessary places?
Also, to confirm, you recompiled the editor and the android export template right?

skeleton.zip
Thanks a lot.

@dsyze In this file https://github.com/godotengine/godot/blob/master/drivers/gles3/shaders/skeleton.glsl You would replace all the places where it says mediump with highp. And then below, in the body of the shader, when a new variable is defined you would add highp as well (e.g. highp vec3 instead of just vec3)

Unfortunately, the issue persists even after using the recompiled editor and the Android export template.

Could you share the updated version of the skeleton.glsl file you used so I can verify you changed all the necessary places?
Also, to confirm, you recompiled the editor and the android export template right?

I found out that the method "Engine.set_max_fps() " does not work on MediaTek Dimensity devices too. Perhaps they are related. This method can work normally on Qualcomm devices and desktop Android emulators.

I found out that the method "Engine.set_max_fps() " does not work on MediaTek Dimensity devices too. Perhaps they are related. This method can work normally on Qualcomm devices and desktop Android emulators.

What value are you using for Engine.max_fps? (Note that you can set this directly as a property; no need to use the setter method). Values above the display refresh rate will not be obeyed by Godot, because Android forces V-Sync.

I found out that the method "Engine.set_max_fps() " does not work on MediaTek Dimensity devices too. Perhaps they are related. This method can work normally on Qualcomm devices and desktop Android emulators.

What value are you using for Engine.max_fps? (Note that you can set this directly as a property; no need to use the setter method). Values above the display refresh rate will not be obeyed by Godot, because Android forces V-Sync. This prevents FPS from exceeding the display refresh rate by design.

I tried to limit the frame rate to 40, but it still runs at the highest refresh rate of the screen on devices with the MediaTek Dimensity devices.

I found out that the method "Engine.set_max_fps() " does not work on MediaTek Dimensity devices too. Perhaps they are related. This method can work normally on Qualcomm devices and desktop Android emulators.

What value are you using for Engine.max_fps? (Note that you can set this directly as a property; no need to use the setter method). Values above the display refresh rate will not be obeyed by Godot, because Android forces V-Sync. This prevents FPS from exceeding the display refresh rate by design.

Sir, I have solved this problem. Previously, I had overlooked the Android build template. I only applied the compiled export template as a custom one in the export options, instead of replacing the main template in the Godot editor settings. The most significant impact should be the Android build template installed for the project, which I had previously ignored. Now, after organizing my thoughts, this issue has been perfectly resolved. Thanks for your work and help. May God bless you.

@dsyze In this file https://github.com/godotengine/godot/blob/master/drivers/gles3/shaders/skeleton.glsl You would replace all the places where it says mediump with highp. And then below, in the body of the shader, when a new variable is defined you would add highp as well (e.g. highp vec3 instead of just vec3)

Sir, I have solved this problem. Previously, I had overlooked the Android build template. I only applied the compiled export template as a custom one in the export options, instead of replacing the main template in the Godot editor settings. The most significant impact should be the Android build template installed for the project, which I had previously ignored. Now, after organizing my thoughts, this issue has been perfectly resolved. Thank you for your work and help. May God bless you.

@dsyze Thank you for following up!
I can reproduce this issue on my device with a Mali G710 GPU.

@dsyze Thank you for following up!
I can reproduce this issue on my device with a Mali G710 GPU.

This issue also occurs on iOS devices. I am using Godot 4.3 RC2.

@dsyze Thank you for following up!
I can reproduce this issue on my device with a Mali G710 GPU.

I am pleased to inform you that the identical issue on iOS devices can be resolved using the same approach. Following my tests, it appears to work flawlessly, and, in fact, it doesn't significantly affect performance. The device I used for testing is an iPad 6th generation (2018 model) equipped with the A10 processor. And it is by godot-4.3rc after recompiled.

That's amazing! I'm glad to hear that it is working well

authors: Calinou clayjohn dsyze


text:
[Reminder] Fix the projector

Need to fix the projector ^^

What projector? Archiving as this is an old issue and doesn't really say much.

authors: akien-mga sezit


text:
Correct macOS Free and Available Memory

Code used is taken right out of Apple's official top(1) utility for macOS. Observing Apple's code at a first glance, it makes no sense why vmstat.free_count * pagesize would not be correct as that appears to be exactly what they are using to calculate free memory. However, I must be missing something, because vmstat.free_count * pagesize does not match the "unused memory" value shown when running top(1). It shows way less than that...
Instead, the correct value shown in top(1) corresponds to the value provided from how top(1) calculates used memory, while subtracting that from total memory. Makes no sense, I know. But this code is correct now and actually matches what is shown in top(1), which can be verified easily from testing if you like.
Edit:
I forgot how to squash commits, so please be patient with me while I try to figure that one out.
Edit 2:
I also have a system information utility I wrote which uses the same code underneath for RAM usage stats, as the code used in this pull request, in case you wanted something quick and easy to test and compare with top(1):
git clone https://github.com/time-killer-games/sysinfo $HOME/sysinfo && $HOME/sysinfo/build.sh

In this outdated screenshot you can see what free RAM used to look like back when I based it on vmstat.free_count * pagesize like you guys currently do:

As you can see vmstat.free_count * pagesize is a lot smaller than what the actual free memory should reasonably be with only one app opened in the entire desktop. I highly doubt 260.39 MB free out of 8 GB of memory total is accurate given how little resources it takes to run that app.

Some interesting points were brought up in my pull request on fastfetch we might want to consider:
https://github.com/fastfetch-cli/fastfetch/pull/1463#issuecomment-2561707658

top(1) is a part of the single unix specification

Which specification? I didn't find that in the list of standard POSIX commands

so it is more standardized in how it calculates these types of things, and in a way that will be cross-platform

It's not standardized. There is no standard to calcuate used memory bytes. In fact, it's also hard to define what is used (and free) memory. An Apple employee said that free memory is generally a nonsense value.
Note: the free memory is not memory physically not used at all (which is the value of free_count). For example, kernel usually caches loaded files to improve performance of future use, whose memory should not be considered as used because the memory can be dropped at any time.
Linux provides the standard free memory size, called MemAvailable, which defines free memory as the amount of memory that is available for a new workload, without pushing the system into swap. I doubt the accuracy of the value. For modern system supports memory compression, as the memory usage grows, much more cold memory data can be compressed. However before compression, I don't think there is a way to know how much memory can be actually saved by compressing. Therefore, as the author of MemAvailable said, it's still an estimation.
As there is no standard to calcuate used memory, you can't say a calcuation method is wrong, as long as it make sense somehow. Even Apple programs top and activity monitor can't agree with each other. top is available on some *nix platforms doesn't mean it is right.

Also wanted you to consider my response to them:
https://github.com/fastfetch-cli/fastfetch/pull/1463#issuecomment-2561937701

I wanted to mention, how most platforms detect free memory is very different from how macOS does it and their official API's for doing this do in fact match what top shows for free memory even though macOS does not. As a result of most people using the official API's for this on their systems, programs like Godot, Redot, and even fastfetch are reporting the same thing for free memory that top is showing for unused memory on all platforms except macOS, I know this from my own testing. So I would say it would be better if macOS were consistent with other platforms and matched what top shows for unused memory. I even tested recently what fastfetch does on more obscure platforms like Solaris/illumos and it shows the same thing top does. Same also goes for used memory, most platforms besides macOS all these software are matching what top is showing.

I'll leave it up to you all if this approach is correct or not.

source: gharchive/pull-request


text:
[DOCS] Add documentation for Performance

MONITOR_MAX is left undocumented (wasn't sure how to deal with that), as well as RENDER_USAGE_VIDEO_MEM_TOTAL which is apparently always 0:
int RasterizerStorageGLES3::get_render_info(VS::RenderInfo p_info) {

switch (p_info) {
[...]
case VS::INFO_USAGE_VIDEO_MEM_TOTAL:
    return 0; //no idea

I considered documenting it with "no idea", but...  maybe not :)

Looks good to me!

Great. Are we good to merge?

authors: Nallebeorn NathanLovato cbscribe


text:
Files list: Add "New Folder.." popup when nothing under mouse cursor

Small issue: currently, if there is nothing under mouse cursor in project's file list panel, when you try to right mouse button click - nothing happens.
After this patch, when you RMB on empty space in files list panel, you will see a popup with "New Folder.." item.
Screenshot: https://i.imgur.com/xvvNpbh.png

Please use git rebase origin master to get rid of the unnecessary merge commit in the PR (PR workflow).

Could you rebase to squash the commits into one? See above link for the detailed procedure.

@akien-mga sorry, trying to. will let you know here when I succeed :)

@akien-mga had to create new PR - https://github.com/godotengine/godot/pull/13105, hopefully now its fine.

authors: Krakean akien-mga


text:
Made Node.print_tree() print prettily

I found the output of print_tree() to be slightly obstuse to read for more than a few nodes. So I tweaked print_tree() to give a nicer output. This is extremely useful where objects are loaded dynamically and you need to see the whole project structure.
Example tree:
 '-root
    |-game
    |  |-LevelManager
    |  '-CharacterManager
    |     '-Player
    |        |-PlayerPhysics
    |        |  |-HeadCollision
    |        |  |-TorsoCollision
    |        |  '-PlayerGeometry
    |        |     |-Cylinder
    |        |     |-Cylinder_001
    |        |     |-Cylinder_002
    |        |     |-AnimationPlayer
    |        |     '-CameraTilt
    |        |        |-SpotLight
    |        |        '-Camera
    |        '-PreviewLight
    '-HUD
       |-Menu
       |  |-Label
       |  '-Camera2D
       '-SplashScreen
          '-Camera2D

I did want to use the box drawing characters, but for some reason they weren't printing.
Reasons why you may not want to include this pull request:

You can no longer copy/paste from print_tree() to the get_node() function.

Maybe having print_tree with a kind of "pretty printer" option to support both the default that allows copy/paste and this version?

Why not name this Node.pretty_print_tree()?

That is one way to solve the conflict, but I would prefer fewer options then pretty printing - otherwise you get an expansion of features and no-one who understands them. If you've ever used ROS or OpenCV you'll see why I want to avoid feature explosion.
For example: who would bother to type "true" or "false" to separate between pretty and not pretty printing when this is a debug function used very seldom. The extra functionality of printing prettily is worth less (to me) than the additional mental load of having an option.

when this is a debug function used very seldom

How about #ifdef DEBUG_ENABLED it so it works only in debug build?

@sdfgeoff I still disagree with entirely replacing how this outputs, even in debug builds. I would rather it be an option. My concern is as you said, that this new output can't just be pasted into get_node(), so why not make it an option so that people can choose between output that can be pasted into get_node(), or output that looks prettier?

In any case, this breaks compatibility because the expected output changes completely, so it'd probably be better to add as new function.

However, this output is what I would expect from a function called "print_tree" The existing behavior is what I would expect from "print_children(recursive=true)" if such a function exists.
Another alternative is to make this version print the full path as well, but I think that coupled with the indents, this would make things too long.
So, a quick poll (I'll only have time to work on it tomorrow anyway):
 for making it pretty_print_tree()
 for making it print_tree(pretty=false)
 for renaming existing print_tree() into print_children(recursive=True) (unlikely to be accepted as it would be an API change, but I'll put it here anyway)

Well, the response was rather clear. I've updated it so it's print_tree_pretty(). I've gone for that word order so that it sorts in alphabetical order without issues.
Documentation is also added. I added small examples to the docs to make it clearer what the output of two nearly identical functions is without the user having to run them.

I'm a bit confused on your pick. You suggested all the way pretty_print_tree() but implemented print_tree_pretty() for better function sorting?
Afaik, the usual way to say it is pretty_print rather than print_pretty.
Just to make sure about your decision :grin:

I did implement it as pretty_tree_print first, and then when generating the docs, noticed that there were several other functions that appeared in-between "print_tree" and "pretty_print_tree". I decided that I would rather that they were grouped when sorted by name so that a person looking at the documentation can make a direct comparison between them.

If conflicts are solved, this should be ready to merge

I'll resolve this tomorrow.

Cherry picked into 3.0.3

authors: LikeLakers2 Noshyaar Sslaxx hpvb reduz sdfgeoff silverkorn vnen


text:
Give up finding item if started at beginning

When the current item is -1, then the loop will infinitely repeat,
constantly setting i to zero and never exiting.
Fixes #30366

Thanks!

authors: akien-mga creikey


text:
[4.0] [iOS] Option to use storyboards for launch screens

Same as #40173 for master

This PR gives developer an option to use .storyboard file instead of simple images for iOS application's launch screen.
Default value for this setting is false so it wouldn't break existing projects export.
By default storyboard uses the same values (background, image, scaling) used for Godot's logo screen. But user can specify specific parameters if required.
Should fix #39325 as well as future warnings or errors regarding incorrect launch image sizes.
Also removes current warnings about LaunchImage deprecation.

Thanks!

authors: akien-mga naithar


text:
Add create_from_arrays method to SurfaceTool

I've decided to fix https://github.com/godotengine/godot/issues/22874#issuecomment-523227239 and added a bunch of methods that accept arrays to SurfaceTool. They are:
add_colors
add_normals
add_tangents
add_uvs
add_uvs2
add_vertices
add_indices

They all(except add_tangents which accept simple Array) accept PackedArray's like:
extends Node3D

@onready var mesh_instance = $MeshInstance3D

func _ready():
	var st = SurfaceTool.new()

	var colors = PackedColorArray()
	colors.append(Color.red)
	colors.append(Color.blue)
	colors.append(Color.lime)

	var vertices = PackedVector3Array()
	vertices.append(Vector3(-0.5, 0, 0))
	vertices.append(Vector3(0, 1, 0))
	vertices.append(Vector3(0.5, 0, 0))

	st.begin(Mesh.PRIMITIVE_TRIANGLES)

	st.add_colors(colors)
	st.add_vertices(vertices)

	mesh_instance.mesh = st.commit()

And produces correct results:

We discussed this in a PR review meeting today and the consensus was that a bulk update solution more similar to the create_from_arrays suggested in https://github.com/godotengine/godot/issues/22874 would be a nice UX. Might need some more discussion with @clayjohn and @reduz to settle on the exact UX and implement that?

Ok, I would rewrite it soon.

PR meeting: there should be an existing function (create_vertex_array_from_triangle_arrays ) that mostly covers this (and that maybe needs to be exposed to scripting)

Plz expose the above mentioned function

Maybe later in a new PR. create_vertex_array_from_triangle_arrays is a static function + I'm not sure how to handle LocalVector which is accepted by this method so it's not so trivial as it seems.

Yep, of course I meant in a new PR ;)

authors: Chaosus Zireael07 akien-mga mhilbrunner


text:
Rework how the 3D editor viewport's resolution scale is changed

Removed the Half Resolution per-viewport setting in favor of an editor setting that applies to all 3D viewports in all projects.
Use an automatic rendering scale by default that's set to 100% on loDPI displays and 50% on hiDPI displays (editor scale >= 1.667).
Add 25% and 33% scaling options in the Editor Settings. This is useful for low-end hardware with hiDPI displays (such as 4K laptops).

The rendering scale is updated when the editor setting changes, so no restart is required to apply rendering scale changes (as before).
This pull request can be remade for the 3.2 branch if we agree on this one.
This closes https://github.com/godotengine/godot-proposals/issues/2125.

I agree with this PR but it looks that the main concern is about hiDPI displays,
I have a laptops that has 3000x2000 resolution and an Nvidia 940m. I use to connect an external FullHD monitor, and always I am facing that 1920x1080 is too much for my laptop with the viewport at 100% but 50% looks very bad.
Therefore I would like to have the 75% option, in my case there is no use case either 33% nor 25%.
On the other hand I like a lot how Unreal has a 0-100% parameter that you can tweak according to your need.
Why we don't expose to the viewport the project-settings option "Shrink":
Under display/window/stretch/shrink
Or maybe a 0-100% viewport resolution scale

Therefore I would like to have the 75% option, in my case there is no use case either 33% nor 25% because I set a low resolution in my system.

A 75% option requires linear filtering to look correct, and this option isn't available yet in Godot.

authors: Calinou alexfreyre


text:
Fix swapped front/rear view

Fixes #45668

Given the orientation of Left and Right views, I guess it makes sense for Front and Back to be swapped yeah.
Works well for a character set up this way to face forward (Z-):

Thanks!

Cherry-picked for 3.2.4.

So this does appear to be technically correct, but it's the opposite of how blender behaves.  I guess blender is technically wrong, since "front" views the back.  My expectation is that hitting 1 on the numpad will result in X being to the right.  I wonder if we keep the correct naming but swap the key binds so that numpad 1 becomes the rear view?

authors: MrMinimal akien-mga jitspoe


text:
Fix unnecessary scrolling in TextEdit

Fixes #45770.
TextEdit control: When left mouse is pressed to place the cursor, do not immediately adjust the viewport when cursor_set_line is called, but afterwards on cursor_set_column (effectively when the cursor reached its final position).

Thanks!

Cherry-picked for 3.2.4.

authors: akien-mga revilo


text:
Add use_asan option for MSVC to enable AddressSanitizer

Exposes AddressSanitizer support in MSVC compiler. Can be installed via individual components in the Visual Studio 2019 Installer.
See https://devblogs.microsoft.com/cppblog/address-sanitizer-for-msvc-now-generally-available/ and https://docs.microsoft.com/en-us/cpp/sanitizers/asan?view=msvc-160.
Disabled by default. Compile the engine with scons use_asan=yes similarly to Linux builds (especially useful with scons tests=yes use_asan=yes).
Example output on Windows so you can see it works:
PS D:\src\godot\gd4> ./bin/godot.windows.tools.64.s.exe --test --source-file="*test_array*"
[doctest] doctest version is "2.4.4"
[doctest] run with "--help" for options
=================================================================
==8148==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x127ef8a007d4 at pc 0x7ff74da49771 bp 0x00acaa5fd950 sp 0x00acaa5fd958
READ of size 4 at 0x127ef8a007d4 thread T0
    #0 0x7ff74da49770 in TestArray::_DOCTEST_ANON_FUNC_314 D:\src\godot\gd4\tests\test_array.h:130
    #1 0x7ff74de67c0a in doctest::Context::run(void) D:\src\godot\gd4\thirdparty\doctest\doctest.h:6291
    #2 0x7ff74da277f8 in test_main(int, char **const) D:\src\godot\gd4\tests\test_main.cpp:139
    #3 0x7ff74d9d1548 in Main::test_entrypoint(int, char **const, bool &) D:\src\godot\gd4\main\main.cpp:481
    #4 0x7ff74d9024bb in widechar_main(int, wchar_t **) D:\src\godot\gd4\platform\windows\godot_windows.cpp:149
    #5 0x7ff74d902962 in _main(void) D:\src\godot\gd4\platform\windows\godot_windows.cpp:185
    #6 0x7ff74d9029d1 in main D:\src\godot\gd4\platform\windows\godot_windows.cpp:199
    #7 0x7ff7575035e7 in __scrt_common_main_seh d:\agent\_work\63\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
    #8 0x7fff24887c23  (C:\WINDOWS\System32\KERNEL32.DLL+0x180017c23)
    #9 0x7fff24e4d720  (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18006d720)

0x127ef8a007d4 is located 4 bytes to the right of 400-byte region [0x127ef8a00640,0x127ef8a007d0)
freed by thread T0 here:
    #0 0x7ff74d9cf722 in operator delete[](void *) D:\agent\_work\63\s\src\vctools\crt\asan\llvm\compiler-rt\lib\asan\asan_new_delete.cc:163
    #1 0x7ff74da496e9 in TestArray::_DOCTEST_ANON_FUNC_314 D:\src\godot\gd4\tests\test_array.h:129
    #2 0x7ff74de67c0a in doctest::Context::run(void) D:\src\godot\gd4\thirdparty\doctest\doctest.h:6291
    #3 0x7ff74da277f8 in test_main(int, char **const) D:\src\godot\gd4\tests\test_main.cpp:139
    #4 0x7ff74d9d1548 in Main::test_entrypoint(int, char **const, bool &) D:\src\godot\gd4\main\main.cpp:481
    #5 0x7ff74d9024bb in widechar_main(int, wchar_t **) D:\src\godot\gd4\platform\windows\godot_windows.cpp:149
    #6 0x7ff74d902962 in _main(void) D:\src\godot\gd4\platform\windows\godot_windows.cpp:185
    #7 0x7ff74d9029d1 in main D:\src\godot\gd4\platform\windows\godot_windows.cpp:199
    #8 0x7ff7575035e7 in __scrt_common_main_seh d:\agent\_work\63\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
    #9 0x7fff24887c23  (C:\WINDOWS\System32\KERNEL32.DLL+0x180017c23)
    #10 0x7fff24e4d720  (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18006d720)

previously allocated by thread T0 here:
    #0 0x7ff74d9cf202 in operator new[](unsigned __int64) D:\agent\_work\63\s\src\vctools\crt\asan\llvm\compiler-rt\lib\asan\asan_new_delete.cc:102
    #1 0x7ff74da496b4 in TestArray::_DOCTEST_ANON_FUNC_314 D:\src\godot\gd4\tests\test_array.h:128
    #2 0x7ff74de67c0a in doctest::Context::run(void) D:\src\godot\gd4\thirdparty\doctest\doctest.h:6291
    #3 0x7ff74da277f8 in test_main(int, char **const) D:\src\godot\gd4\tests\test_main.cpp:139
    #4 0x7ff74d9d1548 in Main::test_entrypoint(int, char **const, bool &) D:\src\godot\gd4\main\main.cpp:481
    #5 0x7ff74d9024bb in widechar_main(int, wchar_t **) D:\src\godot\gd4\platform\windows\godot_windows.cpp:149
    #6 0x7ff74d902962 in _main(void) D:\src\godot\gd4\platform\windows\godot_windows.cpp:185
    #7 0x7ff74d9029d1 in main D:\src\godot\gd4\platform\windows\godot_windows.cpp:199
    #8 0x7ff7575035e7 in __scrt_common_main_seh d:\agent\_work\63\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
    #9 0x7fff24887c23  (C:\WINDOWS\System32\KERNEL32.DLL+0x180017c23)
    #10 0x7fff24e4d720  (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18006d720)

SUMMARY: AddressSanitizer: heap-buffer-overflow D:\src\godot\gd4\tests\test_array.h:130 in TestArray::_DOCTEST_ANON_FUNC_314
Shadow bytes around the buggy address:
  0x04a6d7b400a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x04a6d7b400b0: 00 00 00 00 00 00 00 00 00 00 fa fa fa fa fa fa
  0x04a6d7b400c0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
  0x04a6d7b400d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x04a6d7b400e0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
=>0x04a6d7b400f0: fd fd fd fd fd fd fd fd fd fd[fa]fa fa fa fa fa
  0x04a6d7b40100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x04a6d7b40110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x04a6d7b40120: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x04a6d7b40130: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x04a6d7b40140: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==8148==ABORTING

With bogus code:
int *i = new int[100];
delete[] i;
print_line(itos(i[101]));

Thanks!

Cherry-picked for 3.2.4.

authors: Xrayez akien-mga


text:
class reference proofreading

Hi 🙂
I was looking for something utterly specific in the docs earlier and saw a few typos/weird things. So I made a dirty script to send all the XML content through my local LanguageTool server and quickly proofread the errors that made the most sense fixing.
I'm not used to PR-ing the class reference, so I hope I didn't make a mistake in the process of updating this.

I was looking for something utterly specific in the docs earlier and saw a few typos/weird things. So I made a dirty script to send all the XML content through my local LanguageTool server and quickly proofread the errors that made the most sense fixing.

I've been there too :eyes:

Thanks!

As a side note, one thing LanguageTool suggested I didn't end up doing (I wasn't sure it was necessary) was removing "of" in every construction like "inside/outside of the ...". Here's the rule details.
E.g.

This container fits controls inside of the delimited area.
Clips the area outside of the region.
Attenuates the frequencies inside of a range around the AudioEffectFilter.cutoff_hz and cuts frequencies outside of this band.

Cherry-picked for 3.3.

@akien-mga The documentation here is incorrect in 3.3 and 3.x, as the default FOV is 70, but it says 75 in this cherry-picked doc.

@akien-mga The documentation here is incorrect in 3.3 and 3.x, as the default FOV is 70, but it says 75 in this cherry-picked doc.

PR welcome to fix it :)

authors: Calinou aaronfranke akien-mga paulloz


text:
Remove alloca from loop and use a single fixed size array declaration

As identified by lgtm, #38645 introduced alloca in a loop. Unlike memory allocated to a variable, which is reused on every iteration, memory allocated by alloca is not freed until the calling function returns. Not only does this run the risk of causing a stack overflow, but it neither needs alloca nor be inside the loop. First, the memory can be allocated using a standard fixed size array, and second, the array can be reused.
This PR changes the declaration of argptrs to a fixed size array of const Variant pointers and moves the declaration outside the loop.

Thanks!

authors: akien-mga madmiraal


text:
Let var2str display StringName with correct sigil

Documentation shows that @"string" literals don't exist anymore. but var2str(&"AStringName") prints @"AStringName".
This PR fixes var2str()'s output to match the new sigil for StringNames.

I want to PR this change from its own branch instead of my master branch.  Gotta redo the PR i guess


text:
Quickhull - reduce warning spam and make hideable

Added one more warning to the hideable warnings. These seem to be benign warnings and are hidden during use in rooms and portals. When used from other areas, only one warning is displayed per run, instead of for every occurrence.
Fixes warning reported by @timothyqiu
Notes

I just missed one of the warnings when doing this originally (this warning occurs more rarely).

Not sure what the CI failure is about. Has something been merged that hasn't updated the docs?

Not sure what the CI failure is about. Has something been merged that hasn't updated the docs?

Something was merged that had updated the docs properly, but we since changed the docs formatting :D

Something was merged that had updated the docs properly, but we since changed the docs formatting :D

Fixed.

Thanks!

authors: akien-mga lawnjelly


text:
Streamline the project import workflow.

The goal of this PR is to ease the steps required to import a project.

After clicking Import, the file selection dialog is immediately shown (previously one needed an extra button click).
The project file selection dialog now also supports selecting a directory, similar to Scan mode. Changes to Any mode of the selection dialog are because I wanted it to offer full functionality of both File and Directory selection modes.
Notes:

I had to still show the original dialog together in the background of file selection dialog, because otherwise the content of file selection dialog isn't rendered. The drawback is that when hitting Cancel in the file selection dialog, we see the original dialog, while ideally it shouldn't be shown on the first Cancel after clicking Import.

Maybe we should change the hierarchy of the dialogs to be siblings?

I was going to also merge Import and Scan, but not sure about the best approach to show Scan option in the UI of Import. Maybe it's for after this PR is merged.

The lines below are because in the original PR there was no issue described in 1). If we decide to ignore 1), then I think they can be removed:

// if not already shown
show_dialog();

Relaled: https://github.com/godotengine/godot-proposals/issues/2483

Closes https://github.com/godotengine/godot-proposals/issues/2483

@LightningAA I linked the proposal, but are you sure the PR fully solves it? Importing a project also shouldn't force you to edit it - this part isn't addressed here.

@LightningAA I linked the proposal, but are you sure the PR fully solves it? Importing a project also shouldn't force you to edit it - this part isn't addressed here.

Huh, I guess maybe it only partially addresses it. It probably wouldn't be too much work to add that to this PR, but it could be done in a follow-up PR as well.

@Calinou Thank you for visiting, I'm going to do it myself!

Rebased, updated the original post.

Thanks for your contribution, and for keeping up with a long and slow review cycle.

authors: KoBeWi LightningAA akien-mga starry-abyss


text:
Occlusion culling fixes

Fixes some issues found by UBSAN and other misc things:

Fixed memory leak on exit.
Fixed ray masks.
Properly align ray packet buffer to 64 bytes.
I added a local hack to get an aligned buffer while using Godot's memalloc (as opposed to using aligned_alloc directly). We might want to eventually add some aligned_memalloc() function if we need aligned allocations in more places. Alignment could even be a template parameter in LocalVector if we want to go overboard :P
Added some compiler flags from Embree's build system.
I'm not a 100% sure of the impact of most of those flags and everything seemed to work fine without them, but I have to assume they are there for a good reason and it's better to have them.

@akien-mga On my end this looks great, feel free to merge when you feel its ready.

Thanks!

authors: JFonS akien-mga reduz


text:
Add advanced tag to class, hide visual nodes classes under it

My attempt to fix https://github.com/godotengine/godot/issues/55267

The idea is good, but I wonder if it can be done simpler. Right now it modifies every single class.
Also not sure if "Advanced" is a proper name for this. The hidden classes aren't really advanced, they are just not important and cause clutter.

The idea is good, but I wonder if it can be done simpler. Right now it modifies every single class.

I can remove the generating doc part and it will not add this extra string to the doc header.

I like the use of "Advanced", we used this in the settings menu.

But it's completely unrelated here.

First question, what are the criteria for being an advanced Class?
It seems real subjective to me.

Since it isn't exactly obvious what "Advanced Items" means, a tooltip should be added to the button with a short explanation of what an advanced item is.
Also, if they aren't already, the "GLTF..." resources should be included in Advanced Items. They don't have any documentation, and if I'm not mistaken, they don't have any use outside of the GLTF importer and exporter.

First question, what are the criteria for being an advanced Class?
Since it isn't exactly obvious what "Advanced Items" means

This is why the option was renamed to "Hidden Items". The GIF is outdated.

I whas tinking of filtering these items insider visualscriptpropertyselector. Not as a marker insider the class itself.
For visual script and visual shader these will be different.

Ok, I will remake it using the "hack" inside the document viewer.

authors: Chaosus Gallilus KoBeWi fire fire540


text:
Add pack Manager to easy Update patches "multiple pck files editor "

Add pack Manager to easy Update patches "multiple pck files editor "

You're now trying to merge 3.4 into master, that's still not possible.
When you are on the page to open a PR, please review the list of commits included and only press Create if you recognize the commits as your own.

@djnx7r If you are trying to request a feature, you want an issue or a discussion, not a PR, and this is the wrong repository for feature requests, which go in the proposals repository: https://github.com/godotengine/godot-proposals/discussions

authors: aaronfranke akien-mga djnx7r


text:
Fix scroll_offset_changed signal emitting every time graph is re-drawn

This fix ensures GraphEdit's scroll_offset_changed signal is fired only when the scroll values are actually changed.
Contains a small related fix to prevent regression of the issue with AnimationNodeBlendTreeEditor resetting scroll view when a connection is made.
Bugsquad edit: Fixes #76270

Note that we have set_value_no_signal() method now, which sets the value without emitting the signal. I think setting_scroll_ofs could be removed entirely now (perhaps).

authors: KoBeWi ParanoidHawk