Skip to content

fix(skills): name the silent bake failure and check the bake result - #429

Merged
TMHSDigital merged 1 commit into
mainfrom
fix/bake-result-check
Oct 5, 2026
Merged

TMHSDigital merged 1 commit into
mainfrom
fix/bake-result-check

Conversation

@TMHSDigital

Copy link
Copy Markdown
Owner

Closes #356.

Measured

Live run, --factory-startup, Cycles CPU, 1 sample, a cube bake set up as the skill describes. Binaries report 5.2.1 LTS and 4.5.11 LTS; results are identical on both:

Setup bpy.ops.object.bake(...)
Correct {'FINISHED'}; image written (blue mean 1.0)
Low has no UV layer raises RuntimeError: Error: No active UV layer found in the object "Low"
Lone Image Texture node, not nodes.active {'FINISHED'}; still baked into it (blue mean 1.0)
Material has no Image Texture node {'CANCELLED'}, no exception, nothing written

The skill had claimed the UV and non-active-node cases "finish without error". The truly silent one is the missing image node, which nothing checked.

Change

  • Skill: the misunderstanding paragraph now carries the measured table and says to check the returned set. The canonical call raises if result != {'FINISHED'}.
  • snippets/bake_normal_high_to_low.py: raises on a non-FINISHED result and returns it otherwise (36 lines).

Evidence for the snippet change (live, both versions)

  • Correct setup: {'FINISHED'}.
  • Same setup without the image node: RuntimeError bake did not finish: {'CANCELLED'}. Before this change it returned {'CANCELLED'} silently.

check_frontmatter passes.

🤖 Generated with Claude Code

bake-high-to-low said a missing UV layer or a non-active image node
"finishes without error". Measured on 4.5.11 LTS and 5.2.1 LTS: a
missing UV layer raises RuntimeError, a lone Image Texture node that is
not nodes.active is baked into anyway, and the case that really is
silent is a material with no Image Texture node, which returns
{'CANCELLED'} and raises nothing. The canonical call assigned `result`
and never looked at it.

The skill now tabulates the three measured behaviours, and both the
skill's canonical call and snippets/bake_normal_high_to_low.py raise
when the result is not {'FINISHED'}.

Closes #356

Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@TMHSDigital

Copy link
Copy Markdown
Owner Author

CI evidence before merge: all checks pass ( 13 pass ). Blender Smoke on PR head: Blender 5.2.2 LTS / Blender 4.5.14 LTS. Summaries (happy path; falsifiers) per leg: 143 passed, 1 skipped, 0 failed;143 passed, 0 skipped, 0 failed;141 passed, 3 skipped, 0 failed;136 passed, 7 skipped, 0 failed;

@TMHSDigital
TMHSDigital merged commit 0471ac6 into main Oct 5, 2026
13 checks passed
@TMHSDigital
TMHSDigital deleted the fix/bake-result-check branch October 5, 2026 01:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

skills: bake-high-to-low misstates which failures are silent, and the canonical call never checks its result

1 participant