fix: preserve zero denoise metadata

This commit is contained in:
LuqP2
2026-08-20 19:16:46 -03:00
parent 7764c6db12
commit 3742f284a7
2 changed files with 27 additions and 1 deletions
+2 -1
View File
@@ -313,6 +313,7 @@ def _build_metadata(
loras = extracted.get("lora_list") or utils.extract_loras_from_workflow(workflow_json)
model_name = extracted.get("model_name") or ""
steps = int(extracted.get("steps") or 0)
denoise = extracted.get("denoise")
elapsed = time.time() - generation_time_override if generation_time_override and generation_time_override > 0 else 0.0
generation_time_ms = int(elapsed * 1000) if elapsed > 0 else None
gpu = utils.collect_gpu_metrics()
@@ -330,7 +331,7 @@ def _build_metadata(
"model_name": model_name,
"model_hash": utils.calculate_model_hash(model_name, model_type="checkpoint") if model_name else "",
"vae_name": extracted.get("vae_name") or "",
"denoise": float(extracted.get("denoise") or 1.0),
"denoise": float(denoise) if denoise is not None else 1.0,
"width": 0,
"height": 0,
"lora_list": loras,
+25
View File
@@ -92,6 +92,31 @@ def test_texture_without_usable_uvs_is_not_reported_as_embedded(tmp_path):
assert "textures" not in gltf
def test_build_metadata_preserves_zero_denoise(monkeypatch):
class FakeExtractor:
def __init__(self, _prompt):
pass
def extract(self, save_node_id):
assert save_node_id == "3"
return {"denoise": 0.0, "lora_list": []}, set()
monkeypatch.setattr(node3d, "WorkflowExtractor", FakeExtractor)
monkeypatch.setattr(node3d.utils, "get_workflow_json", lambda _info: {})
monkeypatch.setattr(node3d.utils, "ensure_prompt_in_workflow", lambda workflow, _prompt: workflow)
monkeypatch.setattr(node3d.utils, "ensure_metahub_save_node", lambda *args, **kwargs: None)
monkeypatch.setattr(node3d.utils, "extract_loras_from_workflow", lambda _workflow: [])
monkeypatch.setattr(node3d.utils, "collect_gpu_metrics", lambda: {})
monkeypatch.setattr(node3d.utils, "collect_version_info", lambda: {})
monkeypatch.setattr(node3d.utils, "build_metadata_sources", lambda *args: {})
monkeypatch.setattr(node3d.utils, "extract_workflow_attribution", lambda *args: {})
monkeypatch.setattr(node3d.utils, "build_imh_metadata", lambda params, _workflow: params)
metadata = node3d._build_metadata({}, {}, "3", "", "", "", None)
assert metadata["denoise"] == 0.0
def test_textured_unlit_mesh_preserves_unlit_and_transparency(tmp_path):
mesh = _mesh()
mesh.unlit = True