From f5ff0b8dc3c2fcfc5c7205c35d9eae18b11ced86 Mon Sep 17 00:00:00 2001 From: VinPropane Date: Mon, 25 May 2026 13:42:33 -0400 Subject: [PATCH 1/2] NEO-85: Drop dead emission props on unshaded dummy highlight. Bugbot: emission_* on SHADING_MODE_UNSHADED materials has no visible effect without glow; lock highlight is albedo-only. Add GdUnit coverage for albedo brightening without emission. --- client/scripts/prototype_target_markers.gd | 4 --- client/test/prototype_target_markers_test.gd | 25 +++++++++++++++++++ .../test/prototype_target_markers_test.gd.uid | 1 + 3 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 client/test/prototype_target_markers_test.gd create mode 100644 client/test/prototype_target_markers_test.gd.uid diff --git a/client/scripts/prototype_target_markers.gd b/client/scripts/prototype_target_markers.gd index 3d7d8d9..a8e73ae 100644 --- a/client/scripts/prototype_target_markers.gd +++ b/client/scripts/prototype_target_markers.gd @@ -91,15 +91,11 @@ func _apply_highlight_states() -> void: var highlighted: bool = target_id == _locked_target_id and not _locked_target_id.is_empty() if highlighted: body_mat.albedo_color = tint.lightened(0.25) - body_mat.emission_enabled = true - body_mat.emission = tint - body_mat.emission_energy_multiplier = 1.4 var ring_c := tint ring_c.a = 0.78 ring_mat.albedo_color = ring_c else: body_mat.albedo_color = Color(tint.r, tint.g, tint.b, 0.88) - body_mat.emission_enabled = false var ring_c2 := tint ring_c2.a = 0.45 ring_mat.albedo_color = ring_c2 diff --git a/client/test/prototype_target_markers_test.gd b/client/test/prototype_target_markers_test.gd new file mode 100644 index 0000000..db9beb5 --- /dev/null +++ b/client/test/prototype_target_markers_test.gd @@ -0,0 +1,25 @@ +extends GdUnitTestSuite + +## NEO-85: lock highlight uses albedo-only tuning on unshaded dummy materials. + +const Markers := preload("res://scripts/prototype_target_markers.gd") + +const ALPHA_ID := "prototype_target_alpha" + + +func test_set_locked_target_brightens_body_albedo_without_emission() -> void: + # Arrange + var markers: Node3D = Markers.new() + auto_free(markers) + add_child(markers) + await get_tree().process_frame + var body: MeshInstance3D = markers.get_node( + "Marker_%s/DummyBody" % ALPHA_ID + ) as MeshInstance3D + var body_mat: StandardMaterial3D = body.material_override as StandardMaterial3D + var idle_color: Color = body_mat.albedo_color + # Act + markers.set_locked_target(ALPHA_ID) + # Assert + assert_that(body_mat.albedo_color).is_not_equal(idle_color) + assert_that(body_mat.emission_enabled).is_false() diff --git a/client/test/prototype_target_markers_test.gd.uid b/client/test/prototype_target_markers_test.gd.uid new file mode 100644 index 0000000..5fb8310 --- /dev/null +++ b/client/test/prototype_target_markers_test.gd.uid @@ -0,0 +1 @@ +uid://cneo85ptgtmarkers1 From 652a6459a866846fe0937b2e57566a07cfa48944 Mon Sep 17 00:00:00 2001 From: VinPropane Date: Mon, 25 May 2026 13:43:07 -0400 Subject: [PATCH 2/2] NEO-85: gdformat prototype target markers test. --- client/test/prototype_target_markers_test.gd | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/client/test/prototype_target_markers_test.gd b/client/test/prototype_target_markers_test.gd index db9beb5..0d734cd 100644 --- a/client/test/prototype_target_markers_test.gd +++ b/client/test/prototype_target_markers_test.gd @@ -13,9 +13,7 @@ func test_set_locked_target_brightens_body_albedo_without_emission() -> void: auto_free(markers) add_child(markers) await get_tree().process_frame - var body: MeshInstance3D = markers.get_node( - "Marker_%s/DummyBody" % ALPHA_ID - ) as MeshInstance3D + var body: MeshInstance3D = markers.get_node("Marker_%s/DummyBody" % ALPHA_ID) as MeshInstance3D var body_mat: StandardMaterial3D = body.material_override as StandardMaterial3D var idle_color: Color = body_mat.albedo_color # Act