Two related findings from marketplace-thumbnail debugging (split from #933)
1. Deformed import (all versions, deterministic)
quaternius-fruits/Avocado.fbx (and siblings) import with mangled geometry — legs sunk into the body, parts displaced (marketplace thumbnails show "only some parts"). Verified identical on 3.27.0, 3.27.1, and master. These rigs differ from the working Quaternius packs in that the MESH NODE carries a translation (fruits are authored side by side in one scene, e.g. X=34.7) on top of the usual armature ×100/−90°X, and the skin bind appears to diverge from the node pose.
Not a framing/centering issue — --padding 3 shows the whole (deformed) object.
2. Assimp-version-dependent garbage vertices (local builds, nondeterministic)
Built against a newer local assimp, the same file imports 1966 vertices instead of 1760 (CI assimp) for the same 1028 triangles, and qtmesh convert produces nondeterministic bounds across identical runs (occasionally ±2e38 float garbage — uninitialized memory in the extra vertices). Reproduced on a clean master build with the local toolchain; the CI-assimp release binaries are deterministic. Suggests our import path mishandles something newer assimp emits for this file (points/lines primitives? split meshes?) and reads uninitialized data.
Repro:
qtmesh info qtmesh-marketplace-seed/quaternius-fruits/Avocado.fbx # vertex count differs by assimp version
for i in 1 2 3; do qtmesh convert Avocado.fbx -o /tmp/a.stl && qtmesh info /tmp/a.stl | grep Bounding; done
Related: #933 (shaded thumbnails — PR #945 fixes the lying-down/white-silhouette/crash classes; this asset class remains).
🤖 Generated with Claude Code
Two related findings from marketplace-thumbnail debugging (split from #933)
1. Deformed import (all versions, deterministic)
quaternius-fruits/Avocado.fbx(and siblings) import with mangled geometry — legs sunk into the body, parts displaced (marketplace thumbnails show "only some parts"). Verified identical on 3.27.0, 3.27.1, and master. These rigs differ from the working Quaternius packs in that the MESH NODE carries a translation (fruits are authored side by side in one scene, e.g. X=34.7) on top of the usual armature ×100/−90°X, and the skin bind appears to diverge from the node pose.Not a framing/centering issue —
--padding 3shows the whole (deformed) object.2. Assimp-version-dependent garbage vertices (local builds, nondeterministic)
Built against a newer local assimp, the same file imports 1966 vertices instead of 1760 (CI assimp) for the same 1028 triangles, and
qtmesh convertproduces nondeterministic bounds across identical runs (occasionally ±2e38 float garbage — uninitialized memory in the extra vertices). Reproduced on a clean master build with the local toolchain; the CI-assimp release binaries are deterministic. Suggests our import path mishandles something newer assimp emits for this file (points/lines primitives? split meshes?) and reads uninitialized data.Repro:
Related: #933 (shaded thumbnails — PR #945 fixes the lying-down/white-silhouette/crash classes; this asset class remains).
🤖 Generated with Claude Code