Repository navigation
v0.43.1: ShapERuntime API fix (hotfix)
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](notresult.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_sizeconstructor kwarg. It is silently ignored whenoutput_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.