Skip to content

fix(content): 4.5 node-group API, Unreal location scale, export-preset apply, version facts - #309

Merged
TMHSDigital merged 1 commit into
mainfrom
fix/content-version-facts-and-export-presets
Oct 3, 2026
Merged

TMHSDigital merged 1 commit into
mainfrom
fix/content-version-facts-and-export-presets

Conversation

@TMHSDigital

Copy link
Copy Markdown
Owner

Summary

Proven by live run

.scratch Blender 5.2.1 LTS and 4.5.11 LTS (versions reported by the binaries), probe script:

  • Unreal: 3 cubes 3 m apart -> distance 300.0, width 300.0, scale identity (was 3.0 / 400.0)
  • Unity/Godot presets leave identity scale on all selected meshes
  • selected_editable_objects=[obj] narrows the operator (scales [1.0, 1.5, 1.5]); falsifier: old selected_objects=[obj] applies to all three ([1.0, 1.0, 1.0])
  • Node group builds with interface.new_socket on both versions (Color/Strength/Result)
  • CI static checks run locally: import/export rules, exit-code README, engine-id, falsifier targets

Established by inspection only

Release-note citations in #287 rows 1-2 (4.0 notes), Extensions-primary-since-4.2 wording. examples/ that still use selected_objects=[obj] (export-preset-axis, bake-normal-high-to-low) were left alone; they are smoke-gated and out of this issue's scope.

Closes #286, closes #297, closes #298, closes #287

🤖 Generated with Claude Code

…rt-preset apply, version facts

- shader-node-group snippet and procedural-materials skill: group.inputs/outputs.new
  were removed in 4.0; use interface.new_socket on every supported version (#286)
- export_preset_unreal: scale object locations with scale so spacing grows 100x (#297)
- export presets, engine-export-presets skill, pipeline template, rules: one
  transform_apply call; override selected_editable_objects, not selected_objects (#298)
- version-fact fixes: context-dict override removed in 4.0, Specular rename in 4.0,
  5.2 LTS is current stable, Extensions primary since 4.2, vse Strip link and
  hasattr guidance, dangling import comment, add-on template license/maintainer (#287)

Closes #286, closes #297, closes #298, closes #287

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@TMHSDigital
TMHSDigital merged commit fefd033 into main Oct 3, 2026
12 checks passed
@TMHSDigital
TMHSDigital deleted the fix/content-version-facts-and-export-presets branch October 3, 2026 15:05
TMHSDigital added a commit that referenced this pull request Oct 4, 2026
…rule, example

PR #309 fixed the snippets only. The same two defects remained elsewhere:

- templates/ai-asset-pipeline-template/pipeline.py: the Unreal path scaled
  obj.scale x100 but not obj.location, so node translations stayed in meters
  under centimeter geometry (origin_to_base always moves location.z, so every
  LOD was affected). apply_selected_mesh_transforms looped transform_apply per
  object. Both now match snippets/export_preset_unreal.py / _unity.py.
- skills/ai-mesh-cleanup/SKILL.md: apply_object_transform overrode
  selected_objects=[obj] (does not narrow transform_apply) and was called in a
  loop. Now apply_transforms(objs): one call, selected_editable_objects.
- rules/validate-imported-mesh-scale.mdc: the "required pattern" looped
  transform_apply per object, against prefer-data-over-ops-in-loops. Now one
  call over the scaled meshes.
- examples/export-preset-axis: per-object loop with selected_objects=[obj]
  replaced by the snippet body.

Proof (local, .scratch/blender-5.2.1-windows-x64/blender.exe, 5.2.1 LTS):
- pipeline --preset unreal on tests/smoke/make_pipeline_glb.py fixture:
  lod0 node translation before [0, -1, 0] (m), after [0, -100, 0] (cm),
  matching the cm POSITION data.
- export-preset-axis: happy path exit 0 ("export-preset-axis OK");
  falsifier --same-axis still exits 9.
- check_import_export_rules, check_exit_code_readme, build_claude_rules --check pass.

Closes #326

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment