Skip to content

v0.43.1: ShapERuntime API fix (hotfix)

Choose a tag to compare

@queelius queelius released this 10 May 23:05
· 548 commits to main since this release

Summary

Hotfix for v0.43.0. The ShapERuntime introduced in v0.43.0 was broken on every real invocation: the code accessed result.meshes[0] and .vertices, but the actual diffusers ShapEPipeline returns .images[0] with .verts (and requires output_type="mesh" to produce a mesh at all). Unit tests passed because the mocks were written to match the incorrect mental model rather than the real diffusers API. Caught by post-release code review before any GPU user could verify.

Fixes

  • Pipeline now called with output_type="mesh".
  • result.images[0] (not result.meshes[0]).
  • mesh_data.verts.cpu().numpy() (not .vertices).
  • Mocks rewritten to match the real diffusers API.

Cleanup (co-located with the fix)

  • Removed frame_size constructor kwarg. It is silently ignored when output_type="mesh"; exposing it was misleading.
  • Parametrized the three test_raises_when_* missing-deps tests (DRY).
  • Hoisted module-level imports out of test bodies.
  • Removed stale "v0.43.0" version string from the NotImplementedError message.

Migration

None. The runtime is internal to the 3d/generation modality. Anyone who pulled shap-e between v0.43.0 release and this hotfix would have hit the AttributeError on first probe; rerun muse models probe shap-e after this release.

Tests

Full fast lane: 11 ShapERuntime tests passing (3 missing-deps tests collapsed to 1 parametrized × 3 cases). Full 3D suite: 125 passing. Meta-test: 148 passing.