fix(M03): support cold rendered ground sample startup

This commit is contained in:
2026-07-16 00:51:52 +04:00
parent 0773de5977
commit 9408d887ba
5 changed files with 57 additions and 4 deletions
@@ -0,0 +1,45 @@
extends SceneTree
## Cold-start contract for the renderer-owned ground query result value.
const SAMPLE_SCRIPT := preload("res://src/render/terrain/rendered_ground_sample.gd")
func _initialize() -> void:
var failures: Array[String] = []
var available_sample: RefCounted = SAMPLE_SCRIPT.available(42.25)
_expect_true(bool(available_sample.get("is_available")), "available sample", failures)
_expect_near(float(available_sample.get("height_units")), 42.25, "available height", failures)
var non_finite_sample: RefCounted = SAMPLE_SCRIPT.available(INF)
_expect_true(not bool(non_finite_sample.get("is_available")), "non-finite unavailable", failures)
_expect_true(
StringName(non_finite_sample.get("failure_code")) == &"render_terrain_height_not_finite",
"non-finite failure code",
failures
)
var unavailable_sample: RefCounted = SAMPLE_SCRIPT.unavailable(&"")
_expect_true(
StringName(unavailable_sample.get("failure_code")) == &"render_terrain_unavailable",
"empty failure code normalization",
failures
)
if not failures.is_empty():
for failure in failures:
push_error("RENDERED_GROUND_SAMPLE: %s" % failure)
quit(1)
return
print("RENDERED_GROUND_SAMPLE PASS contract=3")
quit(0)
func _expect_near(actual_value: float, expected_value: float, label: String, failures: Array[String]) -> void:
if not is_equal_approx(actual_value, expected_value):
failures.append("%s expected %.3f, got %.3f" % [label, expected_value, actual_value])
func _expect_true(actual_value: bool, label: String, failures: Array[String]) -> void:
if not actual_value:
failures.append("%s expected true" % label)