diff --git a/client/tests/test_character_visual_sprint28.gd b/client/tests/test_character_visual_sprint28.gd index 94e184b81..ef049d8a9 100644 --- a/client/tests/test_character_visual_sprint28.gd +++ b/client/tests/test_character_visual_sprint28.gd @@ -21,6 +21,43 @@ class_name TestCharacterVisualSprint28 extends GdUnitTestSuite + +## ============================================================================ +## SKIPPED 2026-07-27 — 3D character representation is not under active work. +## ============================================================================ +## +## Jeroen's call, during the Phase-4 Atlas work: nothing in this suite's subject +## (the CharacterVisual 3D compositor) is being changed, and it is by a wide +## margin the most expensive thing in the client suite. +## +## THE NUMBERS, measured 2026-07-27 across all 86 suites: +## this suite 50.0s / 26 tests (~1.9s per test) <- 37% of the whole run +## all 86 suites 127.1s / 3660 tests +## the other 78 ~33s / 3450 tests +## Every test here instantiates a fresh CharacterVisual Node3D and loads the +## skeleton .glb plus body/skin-tone assets, so the cost is asset loading per +## test, not assertion count. +## +## WHY `__is_skipped` AND NOT A HARDCODED PASS. A test that returns success +## without exercising anything reports as COVERAGE — it inflates the pass count +## and reads, to anyone scanning the summary, exactly like a suite that ran and +## was fine. gdUnit4's own suite-skip reports these 26 as SKIPPED in the +## statistics line instead, so the number stays honest and the omission stays +## visible in every run. It also short-circuits before before()/the test bodies +## (GdUnitTestSuiteExecutionStage: `if __is_skipped: fire_test_suite_skipped`), +## so the 50s is genuinely reclaimed rather than merely hidden. +## +## TO RE-ENABLE: delete this `_init()`. Nothing else was changed — every test +## below is intact and was passing when skipped. Do that the moment 3D +## character work resumes (Phase 5 player rendering at the latest), and prefer +## fixing the per-test compositor rebuild over leaving it skipped for cost. +func _init() -> void: + __is_skipped = true + __skip_reason = ( + "3D character representation is not under active development" + + " (skipped 2026-07-27, ~50s of the client suite; delete _init() to restore)" + ) + const COMPOSITOR_PATH := "res://scripts/rendering/character_visual.gd" const SKIN_TONES_DIR := "res://assets/characters/skin_tones/" const BODIES_DIR := "res://assets/characters/bodies/"