From 6dd8ba8df1adb50e3bbc75577f7231701c5f844a Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Tue, 30 Jun 2026 18:00:16 +0100 Subject: [PATCH 01/20] Add files via upload --- addons/dreadpon.spatial_gardener/utility/fun_lib.gd | 8 ++++---- .../utility/project_settings_manager.gd | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/dreadpon.spatial_gardener/utility/fun_lib.gd b/addons/dreadpon.spatial_gardener/utility/fun_lib.gd index 91e49ca..db9a257 100644 --- a/addons/dreadpon.spatial_gardener/utility/fun_lib.gd +++ b/addons/dreadpon.spatial_gardener/utility/fun_lib.gd @@ -6,7 +6,7 @@ #------------------------------------------------------------------------------- -const Logger = preload("logger.gd") +const CustomLogger = preload("logger.gd") const Globals = preload("globals.gd") enum TimeTrimMode {NONE, EXACT, EXTRA_ONE, KEEP_ONE, KEEP_TWO, KEEP_THREE} @@ -303,7 +303,7 @@ static func get_setting_safe(setting:String, default_value = null): static func save_res(res:Resource, dir:String, res_name:String): assert(res) - var logger = Logger.get_for_string("FunLib") + var logger = CustomLogger.get_for_string("FunLib") var full_path = combine_dir_and_file(dir, res_name) if !is_dir_valid(dir): logger.warn("Unable to save '%s', directory is invalid!" % [full_path]) @@ -332,7 +332,7 @@ static func save_res(res:Resource, dir:String, res_name:String): static func load_res(dir:String, res_name:String, no_cache: bool = true, silent: bool = false) -> Resource: var full_path = combine_dir_and_file(dir, res_name) var res = null - var logger = Logger.get_for_string("FunLib") + var logger = CustomLogger.get_for_string("FunLib") if ResourceLoader.exists(full_path): res = ResourceLoader.load(full_path, "", ResourceLoader.CacheMode.CACHE_MODE_REPLACE if no_cache else ResourceLoader.CacheMode.CACHE_MODE_REUSE) @@ -351,7 +351,7 @@ static func remove_res(dir:String, res_name:String): var full_path = combine_dir_and_file(dir, res_name) var abs_path = ProjectSettings.globalize_path(full_path) var err = DirAccess.remove_absolute(abs_path) - var logger = Logger.get_for_string("FunLib") + var logger = CustomLogger.get_for_string("FunLib") if err != OK: logger.error("Could not remove '%s', error %s!" % [abs_path, Globals.get_err_message(err)]) diff --git a/addons/dreadpon.spatial_gardener/utility/project_settings_manager.gd b/addons/dreadpon.spatial_gardener/utility/project_settings_manager.gd index af98cc4..fef323b 100644 --- a/addons/dreadpon.spatial_gardener/utility/project_settings_manager.gd +++ b/addons/dreadpon.spatial_gardener/utility/project_settings_manager.gd @@ -8,7 +8,7 @@ const Globals = preload("globals.gd") const FunLib = preload("fun_lib.gd") -const Logger = preload("logger.gd") +const CustomLogger = preload("logger.gd") @@ -143,7 +143,7 @@ static func add_plugin_project_settings(): # Saving settings var err: int = ProjectSettings.save() if err: - var logger = Logger.get_for_string("ProjectSettingsManager") + var logger = CustomLogger.get_for_string("ProjectSettingsManager") logger.error("Encountered error %s when saving project settings" % [Globals.get_err_message(err)]) From 6ac94a44d081569dbf9b8178b1c24acac5984db0 Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Tue, 30 Jun 2026 18:01:08 +0100 Subject: [PATCH 02/20] Add files via upload From fc9954c316e52dbf7cae49b98155acd608750bc3 Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Tue, 30 Jun 2026 18:01:50 +0100 Subject: [PATCH 03/20] Add files via upload --- .../input_field_resource/input_field_resource.gd | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/dreadpon.spatial_gardener/utility/input_field_resource/input_field_resource.gd b/addons/dreadpon.spatial_gardener/utility/input_field_resource/input_field_resource.gd index 7e7da3f..44d5805 100644 --- a/addons/dreadpon.spatial_gardener/utility/input_field_resource/input_field_resource.gd +++ b/addons/dreadpon.spatial_gardener/utility/input_field_resource/input_field_resource.gd @@ -16,7 +16,7 @@ extends Resource enum PropActionLifecycle {BEFORE_DO, AFTER_DO, AFTER_UNDO} -const Logger = preload("../logger.gd") +const CustomLogger = preload("../logger.gd") const FunLib = preload("../fun_lib.gd") const PropAction = preload("prop_action.gd") @@ -77,7 +77,7 @@ signal prop_list_changed(prop_names) func _init(): set_meta("class", "InputFieldResource") resource_name = "InputFieldResource" - logger = Logger.get_for(self) + logger = CustomLogger.get_for(self) FunLib.ensure_signal(self.prop_action_executed, _on_prop_action_executed) @@ -428,12 +428,12 @@ func _filter_prop_dictionary(prop_dict: Dictionary) -> Dictionary: return prop_dict -func _set(property, val): - pass +func _set(property, val)->bool: + return false -func _get(property): - pass +func _get(property)->Variant: + return null # Default functionality for _get_property_list(): From 68552e1cd3aec16d4a2c67de8dccb599bef962bf Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Tue, 30 Jun 2026 18:02:39 +0100 Subject: [PATCH 04/20] Add files via upload From 5e4d23e70786a4637db4c11bef136d923f2eab37 Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Tue, 30 Jun 2026 18:03:08 +0100 Subject: [PATCH 05/20] Add files via upload --- addons/dreadpon.spatial_gardener/toolshed/toolshed_brush.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/dreadpon.spatial_gardener/toolshed/toolshed_brush.gd b/addons/dreadpon.spatial_gardener/toolshed/toolshed_brush.gd index 3e3c900..9015f07 100644 --- a/addons/dreadpon.spatial_gardener/toolshed/toolshed_brush.gd +++ b/addons/dreadpon.spatial_gardener/toolshed/toolshed_brush.gd @@ -152,7 +152,7 @@ func _set(prop, val): return return_val -func _get(prop): +func _get(prop)->Variant: match prop: "behavior/behavior_brush_type": return behavior_brush_type From db6be56db7b25021c066bd4806ed3f7b2093f499 Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Tue, 30 Jun 2026 18:03:47 +0100 Subject: [PATCH 06/20] Add files via upload --- .../scene_converter/scene_converter.gd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/dreadpon.spatial_gardener/scene_converter/scene_converter.gd b/addons/dreadpon.spatial_gardener/scene_converter/scene_converter.gd index badf1eb..56b676a 100644 --- a/addons/dreadpon.spatial_gardener/scene_converter/scene_converter.gd +++ b/addons/dreadpon.spatial_gardener/scene_converter/scene_converter.gd @@ -45,7 +45,7 @@ const C_1_To_2 = preload('converters/c_1_to_2.gd') const C_3_To_4 = preload('converters/c_3_to_4.gd') const FunLib = preload("../utility/fun_lib.gd") const Gardener = preload("../gardener/gardener.gd") -const Logger = preload('../utility/logger.gd') +const CustomLogger = preload('../utility/logger.gd') const ConvertDialog_SCN = preload("convert_dialog.tscn") const number_char_list = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', '-'] @@ -209,7 +209,7 @@ func add_scene_file(file_path: String, scenes: Array): func _run_conversion(in_filepaths: Array, mk_backups: bool = true, out_base_dir: String = '') -> bool: var timestamp = Time.get_datetime_string_from_system(false, true).replace(' ', '_').replace(':', '.') - logger = Logger.get_for(self, '', 'user://sg_tscn_conversion_%s.txt' % [timestamp]) + logger = CustomLogger.get_for(self, '', 'user://sg_tscn_conversion_%s.txt' % [timestamp]) logger.info('Found %d valid scenes for conversion' % [in_filepaths.size()]) From 869b6af087fa2b55b948bc430d46848461ba8067 Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Tue, 30 Jun 2026 18:04:24 +0100 Subject: [PATCH 07/20] Add files via upload --- .../scene_converter/converters/base_ver_converter.gd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/dreadpon.spatial_gardener/scene_converter/converters/base_ver_converter.gd b/addons/dreadpon.spatial_gardener/scene_converter/converters/base_ver_converter.gd index e583c88..698736d 100644 --- a/addons/dreadpon.spatial_gardener/scene_converter/converters/base_ver_converter.gd +++ b/addons/dreadpon.spatial_gardener/scene_converter/converters/base_ver_converter.gd @@ -3,7 +3,7 @@ extends RefCounted enum RunMode {RECREATE, DRY, CONVERT} const Types = preload('../converter_types.gd') -var Logger = preload('../../utility/logger.gd') +var CustomLogger = preload('../../utility/logger.gd') var logger @@ -11,7 +11,7 @@ var logger func _init(): - logger = Logger.get_for(self) + logger = CustomLogger.get_for(self) func convert_gardener(parsed_scene: Array, run_mode: int, ext_res: Dictionary, sub_res: Dictionary): From 1963c78dce81fe9782ec918b1cf72ea8a77ae082 Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Tue, 30 Jun 2026 18:05:18 +0100 Subject: [PATCH 08/20] Add files via upload From 7c6e79a867c956407deb117c315aeeaea223ddec Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Tue, 30 Jun 2026 18:05:53 +0100 Subject: [PATCH 09/20] Add files via upload --- .../gardener/data_import_export.gd | 4 ++-- addons/dreadpon.spatial_gardener/gardener/gardener.gd | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/addons/dreadpon.spatial_gardener/gardener/data_import_export.gd b/addons/dreadpon.spatial_gardener/gardener/data_import_export.gd index 8b56ce8..49f1867 100644 --- a/addons/dreadpon.spatial_gardener/gardener/data_import_export.gd +++ b/addons/dreadpon.spatial_gardener/gardener/data_import_export.gd @@ -1,6 +1,6 @@ extends RefCounted -const Logger = preload("../utility/logger.gd") +const CustomLogger = preload("../utility/logger.gd") const Globals = preload("../utility/globals.gd") const FunLib = preload("../utility/fun_lib.gd") const Defaults = preload("../utility/defaults.gd") @@ -25,7 +25,7 @@ var toolshed: Toolshed = null func _init(_arborist: Arborist, _greenhouse: Greenhouse, _toolshed: Toolshed = null): - logger = Logger.get_for(self) + logger = CustomLogger.get_for(self) arborist = _arborist greenhouse = _greenhouse toolshed = _toolshed diff --git a/addons/dreadpon.spatial_gardener/gardener/gardener.gd b/addons/dreadpon.spatial_gardener/gardener/gardener.gd index 8b8990e..7b8d17b 100644 --- a/addons/dreadpon.spatial_gardener/gardener/gardener.gd +++ b/addons/dreadpon.spatial_gardener/gardener/gardener.gd @@ -14,7 +14,7 @@ extends Node3D const FunLib = preload("../utility/fun_lib.gd") -const Logger = preload("../utility/logger.gd") +const CustomLogger = preload("../utility/logger.gd") const Defaults = preload("../utility/defaults.gd") const Greenhouse = preload("../greenhouse/greenhouse.gd") const Toolshed = preload("../toolshed/toolshed.gd") @@ -113,7 +113,7 @@ static func get_storage_ver(): func _ready(): update_plugin_ver() - logger = Logger.get_for(self, name) + logger = CustomLogger.get_for(self, name) painting_node = Node3D.new() add_child(painting_node, true, Node.INTERNAL_MODE_FRONT) @@ -232,7 +232,7 @@ func propagate_camera(camera:Camera3D): # This is supposed to address a problem decribed in "start_gardener_edit()" of "plugin.gd" # Instead of recalculating everything, we hope it's enough to just restore the member references func restore_references(): - logger = Logger.get_for(self, name) + logger = CustomLogger.get_for(self, name) if !Engine.is_editor_hint(): return init_painter() @@ -769,6 +769,7 @@ func _get(property): return plugin_version "storage_version": return storage_version + return null func _set(property, val): From aab01ddcf5adbfa8f39dd3a90bba3f44522c936a Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Tue, 30 Jun 2026 18:08:13 +0100 Subject: [PATCH 10/20] Add files via upload --- .../controls/extensions/ui_drop_button.gd | 1 + .../controls/input_fields/ui_input_field.gd | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/dreadpon.spatial_gardener/controls/extensions/ui_drop_button.gd b/addons/dreadpon.spatial_gardener/controls/extensions/ui_drop_button.gd index a831a60..e8c3fc9 100644 --- a/addons/dreadpon.spatial_gardener/controls/extensions/ui_drop_button.gd +++ b/addons/dreadpon.spatial_gardener/controls/extensions/ui_drop_button.gd @@ -25,6 +25,7 @@ func _init(): func _can_drop_data(position, data): if typeof(data) == TYPE_DICTIONARY && data.has("files") && data["files"].size() == 1: return true + return false func _drop_data(position, data): diff --git a/addons/dreadpon.spatial_gardener/controls/input_fields/ui_input_field.gd b/addons/dreadpon.spatial_gardener/controls/input_fields/ui_input_field.gd index 22eccbd..07df90f 100644 --- a/addons/dreadpon.spatial_gardener/controls/input_fields/ui_input_field.gd +++ b/addons/dreadpon.spatial_gardener/controls/input_fields/ui_input_field.gd @@ -15,7 +15,7 @@ extends PanelContainer const ThemeAdapter = preload("../theme_adapter.gd") const FunLib = preload("../../utility/fun_lib.gd") -const Logger = preload("../../utility/logger.gd") +const CustomLogger = preload("../../utility/logger.gd") const PropAction = preload("../../utility/input_field_resource/prop_action.gd") const PA_PropSet = preload("../../utility/input_field_resource/pa_prop_set.gd") const PA_PropEdit = preload("../../utility/input_field_resource/pa_prop_edit.gd") @@ -71,7 +71,7 @@ signal prop_action_requested(prop_action) func _init(__init_val, __labelText:String = "NONE", __prop_name:String = "", settings:Dictionary = {}, tooltip:String = ""): set_meta("class", "UI_InputField") - logger = Logger.get_for(self) + logger = CustomLogger.get_for(self) init_val = __init_val prop_name = __prop_name From 38a2742582df6cd5f5fbc98e7dcbbf77b25a1719 Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Tue, 30 Jun 2026 18:09:21 +0100 Subject: [PATCH 11/20] Add files via upload --- .../arborist/mmi_octree/mmi_octree_node.gd | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/addons/dreadpon.spatial_gardener/arborist/mmi_octree/mmi_octree_node.gd b/addons/dreadpon.spatial_gardener/arborist/mmi_octree/mmi_octree_node.gd index 0974dec..cc8d69e 100644 --- a/addons/dreadpon.spatial_gardener/arborist/mmi_octree/mmi_octree_node.gd +++ b/addons/dreadpon.spatial_gardener/arborist/mmi_octree/mmi_octree_node.gd @@ -13,7 +13,7 @@ extends Resource const FunLib = preload("../../utility/fun_lib.gd") -const Logger = preload("../../utility/logger.gd") +const CustomLogger = preload("../../utility/logger.gd") const Placeform = preload("../placeform.gd") const OctreeLeaf = preload("octree_leaf.gd") const Greenhouse_LODVariant = preload("../../greenhouse/greenhouse_LOD_variant.gd") @@ -69,7 +69,7 @@ func _init(__parent:Resource = null, __max_members:int = 0, __extent:float = 0.0 set_meta("class", "MMIOctreeNode") resource_name = "MMIOctreeNode" - logger = Logger.get_for(self) + logger = CustomLogger.get_for(self) max_members = __max_members child_nodes.clear() @@ -138,24 +138,33 @@ func restore_after_load(__gardener_root:Node3D, LOD_variants:Array): gardener_root = __gardener_root shared_LOD_variants = LOD_variants - # NOTE: Theoretically this would not be needed if we could be sure no outdated OctreeNodes were used - # We can't be because of different Storage Versions max_bounds_to_center_dist = sqrt(pow(extent, 2) * 3) min_bounds_to_center_dist = extent + # FIX: Recalculate is_leaf based on actual child_nodes state + var should_be_leaf = child_nodes.is_empty() + if is_leaf != should_be_leaf: + print("FIXING is_leaf corruption at ", get_address(), ": was ", is_leaf, ", should be ", should_be_leaf) + set_is_leaf(should_be_leaf) + if !is_instance_valid(leaf): leaf = OctreeLeaf.new() + leaf.set_octree_node(self) if shared_LOD_variants.size() <= active_LOD_index: _set_active_LOD_index_skip_leaf(shared_LOD_variants.size() - 1) - # No need to explicitly call on_active_lod_index_changed, since it's accounted for in restore_after_load leaf.restore_after_load() _set_active_LOD_index(0, false) - for child in child_nodes: - child.parent = self - child.restore_after_load(__gardener_root, LOD_variants) + # FIX: Restore child octant values (they're getting corrupted on save) + for i in range(child_nodes.size()): + child_nodes[i].parent = self + # Fix corrupted octant index (should be 0-7, but might be -1 or 255) + if child_nodes[i].octant < 0 or child_nodes[i].octant > 7: + child_nodes[i].octant = i + print("FIXING octant corruption: child ", i, " had invalid octant ", child_nodes[i].octant) + child_nodes[i].restore_after_load(__gardener_root, LOD_variants) print_address("", "restored after load") From a35697d5cf0b5f45de6a4cccddf9be59623d87e9 Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Tue, 30 Jun 2026 18:10:00 +0100 Subject: [PATCH 12/20] Add files via upload --- .../arborist/stroke_handler/stroke_handler.gd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/dreadpon.spatial_gardener/arborist/stroke_handler/stroke_handler.gd b/addons/dreadpon.spatial_gardener/arborist/stroke_handler/stroke_handler.gd index 9246ded..da7ce10 100644 --- a/addons/dreadpon.spatial_gardener/arborist/stroke_handler/stroke_handler.gd +++ b/addons/dreadpon.spatial_gardener/arborist/stroke_handler/stroke_handler.gd @@ -7,7 +7,7 @@ extends RefCounted #------------------------------------------------------------------------------- -const Logger = preload("../../utility/logger.gd") +const CustomLogger = preload("../../utility/logger.gd") const FunLib = preload("../../utility/fun_lib.gd") const DponDebugDraw = preload("../../utility/debug_draw.gd") const Greenhouse_Plant = preload("../../greenhouse/greenhouse_plant.gd") @@ -58,7 +58,7 @@ func _init(_brush:Toolshed_Brush, _plant_states:Array, _octree_managers:Array, _ randomizer = RandomNumberGenerator.new() randomizer.seed = Time.get_ticks_msec() - logger = Logger.get_for(self) + logger = CustomLogger.get_for(self) debug_draw_enabled = FunLib.get_setting_safe("dreadpons_spatial_gardener/debug/stroke_handler_debug_draw", true) simplify_projection_frustum = FunLib.get_setting_safe("dreadpons_spatial_gardener/painting/simplify_projection_frustum", true) From 25440a5fe66cc64420e1ee8d5f20c39dd00f777e Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Tue, 30 Jun 2026 18:10:32 +0100 Subject: [PATCH 13/20] Add files via upload --- addons/dreadpon.spatial_gardener/arborist/arborist.gd | 4 ++-- .../arborist/brush_placement_area.gd | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/dreadpon.spatial_gardener/arborist/arborist.gd b/addons/dreadpon.spatial_gardener/arborist/arborist.gd index 6843edb..55da98d 100644 --- a/addons/dreadpon.spatial_gardener/arborist/arborist.gd +++ b/addons/dreadpon.spatial_gardener/arborist/arborist.gd @@ -15,7 +15,7 @@ extends Resource # However, these functions are very closely related, so maybe I'm overthinking this -const Logger = preload("../utility/logger.gd") +const CustomLogger = preload("../utility/logger.gd") const Globals = preload("../utility/globals.gd") const FunLib = preload("../utility/fun_lib.gd") const Greenhouse_Plant = preload("../greenhouse/greenhouse_plant.gd") @@ -84,7 +84,7 @@ signal transplanted_member(plant_index: int, new_address: PackedByteArray, new_i func _init(): set_meta("class", "Arborist") resource_local_to_scene = true - logger = Logger.get_for(self) + logger = CustomLogger.get_for(self) mutex_octree = Mutex.new() mutex_LOD_update_meta = Mutex.new() thread_LOD_update = Thread.new() diff --git a/addons/dreadpon.spatial_gardener/arborist/brush_placement_area.gd b/addons/dreadpon.spatial_gardener/arborist/brush_placement_area.gd index 1a92840..a236924 100644 --- a/addons/dreadpon.spatial_gardener/arborist/brush_placement_area.gd +++ b/addons/dreadpon.spatial_gardener/arborist/brush_placement_area.gd @@ -55,7 +55,7 @@ extends RefCounted const Globals = preload("../utility/globals.gd") const FunLib = preload("../utility/fun_lib.gd") -const Logger = preload("../utility/logger.gd") +const CustomLogger = preload("../utility/logger.gd") const MMIOctreeManager = preload("mmi_octree/mmi_octree_manager.gd") const MMIOctreeNode = preload("mmi_octree/mmi_octree_node.gd") @@ -91,7 +91,7 @@ var logger = null func _init(__sphere_pos:Vector3,__sphere_radius:float,__plane_normal:Vector3,__jitter_fraction:float = 0.6): - logger = Logger.get_for(self) + logger = CustomLogger.get_for(self) sphere_pos = __sphere_pos sphere_radius = __sphere_radius sphere_diameter = sphere_radius * 2.0 From 9df9ffb5f7370cffc5e78d325d78ef94c4930fde Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Tue, 30 Jun 2026 18:18:35 +0100 Subject: [PATCH 14/20] Add files via upload --- addons/dreadpon.spatial_gardener/plugin.gd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/dreadpon.spatial_gardener/plugin.gd b/addons/dreadpon.spatial_gardener/plugin.gd index cd1ac8f..a03912b 100644 --- a/addons/dreadpon.spatial_gardener/plugin.gd +++ b/addons/dreadpon.spatial_gardener/plugin.gd @@ -9,7 +9,7 @@ extends EditorPlugin #------------------------------------------------------------------------------- -const Logger = preload("utility/logger.gd") +const CustomLogger = preload("utility/logger.gd") const Globals = preload("utility/globals.gd") const FunLib = preload("utility/fun_lib.gd") const ProjectSettingsManager = preload("utility/project_settings_manager.gd") @@ -74,7 +74,7 @@ func _ready(): if !Engine.is_editor_hint(): return - logger = Logger.get_for(self) + logger = CustomLogger.get_for(self) if Engine.is_editor_hint(): undo_redo = get_undo_redo() From e573c59eaad5392b3e3dab8da054075cb6c25ea3 Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Mon, 6 Jul 2026 13:47:24 +0100 Subject: [PATCH 15/20] Update addons/dreadpon.spatial_gardener/plugin.gd Co-authored-by: rphcos <91429946+RphCos@users.noreply.github.com> --- addons/dreadpon.spatial_gardener/plugin.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/dreadpon.spatial_gardener/plugin.gd b/addons/dreadpon.spatial_gardener/plugin.gd index a03912b..7fc1f03 100644 --- a/addons/dreadpon.spatial_gardener/plugin.gd +++ b/addons/dreadpon.spatial_gardener/plugin.gd @@ -235,7 +235,7 @@ func _forward_3d_gui_input(camera, event): if !handled: plugin_input(event) - return handled + return EditorPlugin.AFTER_GUI_INPUT_STOP if handled else EditorPlugin.AFTER_GUI_INPUT_PASS func plugin_input(event): From bb888f7759471197024acd637e6a3fc0cf6d089f Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Mon, 6 Jul 2026 13:47:36 +0100 Subject: [PATCH 16/20] Update addons/dreadpon.spatial_gardener/arborist/arborist.gd Co-authored-by: rphcos <91429946+RphCos@users.noreply.github.com> --- addons/dreadpon.spatial_gardener/arborist/arborist.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/dreadpon.spatial_gardener/arborist/arborist.gd b/addons/dreadpon.spatial_gardener/arborist/arborist.gd index 55da98d..5a47c94 100644 --- a/addons/dreadpon.spatial_gardener/arborist/arborist.gd +++ b/addons/dreadpon.spatial_gardener/arborist/arborist.gd @@ -662,7 +662,7 @@ func _set(property, val): func _get_property_list(): - var props := [ + var props: Array[Dictionary] = [ { "name": "octree_managers", "type": TYPE_ARRAY, From 13ae23bc9ab30692ebd074448a7ae907053e974e Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Mon, 6 Jul 2026 13:47:47 +0100 Subject: [PATCH 17/20] Update addons/dreadpon.spatial_gardener/gardener/gardener.gd Co-authored-by: rphcos <91429946+RphCos@users.noreply.github.com> --- addons/dreadpon.spatial_gardener/gardener/gardener.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/dreadpon.spatial_gardener/gardener/gardener.gd b/addons/dreadpon.spatial_gardener/gardener/gardener.gd index 7b8d17b..cc00440 100644 --- a/addons/dreadpon.spatial_gardener/gardener/gardener.gd +++ b/addons/dreadpon.spatial_gardener/gardener/gardener.gd @@ -787,7 +787,7 @@ func _set(property, val): func _get_property_list(): - return [ + var props: Array[Dictionary] = [ { "name": "file_management/garden_work_directory", "type": TYPE_STRING, From d7eec0a1999dc1806f3633887032f6555219ca0a Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Mon, 6 Jul 2026 13:47:59 +0100 Subject: [PATCH 18/20] Update addons/dreadpon.spatial_gardener/gardener/gardener.gd Co-authored-by: rphcos <91429946+RphCos@users.noreply.github.com> --- addons/dreadpon.spatial_gardener/gardener/gardener.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/dreadpon.spatial_gardener/gardener/gardener.gd b/addons/dreadpon.spatial_gardener/gardener/gardener.gd index cc00440..82eb093 100644 --- a/addons/dreadpon.spatial_gardener/gardener/gardener.gd +++ b/addons/dreadpon.spatial_gardener/gardener/gardener.gd @@ -818,7 +818,7 @@ func _get_property_list(): "usage": PROPERTY_USAGE_NO_EDITOR, }, ] - +return props # Warning to be displayed in editor SceneTree func _get_configuration_warnings(): From 2c04eb67fe43881a7262b897552f023b50b45942 Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Mon, 6 Jul 2026 13:48:09 +0100 Subject: [PATCH 19/20] Update addons/dreadpon.spatial_gardener/utility/input_field_resource/input_field_resource.gd Co-authored-by: rphcos <91429946+RphCos@users.noreply.github.com> --- .../utility/input_field_resource/input_field_resource.gd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/dreadpon.spatial_gardener/utility/input_field_resource/input_field_resource.gd b/addons/dreadpon.spatial_gardener/utility/input_field_resource/input_field_resource.gd index 44d5805..cf59926 100644 --- a/addons/dreadpon.spatial_gardener/utility/input_field_resource/input_field_resource.gd +++ b/addons/dreadpon.spatial_gardener/utility/input_field_resource/input_field_resource.gd @@ -443,7 +443,9 @@ func _get(property)->Variant: func _get_property_list(): var prop_dict = _get_prop_dictionary() _filter_prop_dictionary(prop_dict) - return prop_dict.values() + var props: Array[Dictionary] = [] + props.assign(prop_dict.values()) + return props # A wrapper around built-in notify_property_list_changed() From cc55982a51f5b0e154d84d760302c1314ff663b9 Mon Sep 17 00:00:00 2001 From: DarkGrey456 Date: Mon, 6 Jul 2026 14:39:24 +0100 Subject: [PATCH 20/20] Add files via upload --- addons/dreadpon.spatial_gardener/gardener/gardener.gd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/dreadpon.spatial_gardener/gardener/gardener.gd b/addons/dreadpon.spatial_gardener/gardener/gardener.gd index 82eb093..7b8d17b 100644 --- a/addons/dreadpon.spatial_gardener/gardener/gardener.gd +++ b/addons/dreadpon.spatial_gardener/gardener/gardener.gd @@ -787,7 +787,7 @@ func _set(property, val): func _get_property_list(): - var props: Array[Dictionary] = [ + return [ { "name": "file_management/garden_work_directory", "type": TYPE_STRING, @@ -818,7 +818,7 @@ func _get_property_list(): "usage": PROPERTY_USAGE_NO_EDITOR, }, ] -return props + # Warning to be displayed in editor SceneTree func _get_configuration_warnings():