Summary
Running "Texture Mesh with Trellis2" produces a correct, fully-textured mesh and correctly records it as an Asset in the local database — but the resulting asset is never linked to the card it belongs to, so the UI falls back to displaying the original source image instead of the generated mesh.
Steps to reproduce
- Have a card with a source image and (optionally) a prior mesh output.
- Run the "Texture Mesh with Trellis2" action on it.
- Wait for completion.
- Open the card — the newest item shows the source PNG again instead of the new textured mesh.
What I found investigating app.db
The generation actually succeeded completely:
- A correct
Assets row was created (e.g. id 53, name "Laughing Crying Emoji Mesh", assetTypeId=2), with fully accurate metadata:
{
"resolution": "Unknown",
"format": "GLB",
"source": "COMFYUI",
"provider": "ComfyUI",
"workflowId": 5,
"workflowName": "Texture Mesh with Trellis2",
"promptId": "cb3b0dda-6b22-41d1-a305-d7408bf0e5f2",
"outputNodeId": "12",
"outputFilename": "3DGenStudioTexturedMesh_00001_.glb",
"savedOutputs": 1,
"cardId": "2a54d580-3a70-49c3-b167-fbce15b62e93"
}
- The
promptId matches ComfyUI's own /history exactly, and node 12 is Preview3D — the correct output node.
- The referenced file (
data/assets/meshes/<...>.glb) exists on disk and is byte-identical to ComfyUI's own output file for that prompt (21,276,048 bytes, verified).
But: there was no corresponding row in Cards_Assets linking this new asset to its card (cardId from the metadata, id 8 in this case). The card's Cards_Assets entries stopped at the prior two items (source image + earlier mesh); the newly generated, correctly-recorded textured mesh was simply never appended.
Fix applied locally as a workaround
INSERT INTO Cards_Assets (cardId, assetId, position) VALUES (8, 53, 2);
After this, the card correctly shows the textured mesh.
Suggested fix
Whatever step creates the Assets row and its metadata.cardId after a workflow finalization succeeds should also insert the corresponding Cards_Assets row (at MAX(position)+1 for that card) in the same transaction/step — right now that step appears to be silently skipped or failing independently of the (otherwise fully successful) asset creation.
Environment
Summary
Running "Texture Mesh with Trellis2" produces a correct, fully-textured mesh and correctly records it as an Asset in the local database — but the resulting asset is never linked to the card it belongs to, so the UI falls back to displaying the original source image instead of the generated mesh.
Steps to reproduce
What I found investigating
app.dbThe generation actually succeeded completely:
Assetsrow was created (e.g. id 53, name "Laughing Crying Emoji Mesh",assetTypeId=2), with fully accuratemetadata:{ "resolution": "Unknown", "format": "GLB", "source": "COMFYUI", "provider": "ComfyUI", "workflowId": 5, "workflowName": "Texture Mesh with Trellis2", "promptId": "cb3b0dda-6b22-41d1-a305-d7408bf0e5f2", "outputNodeId": "12", "outputFilename": "3DGenStudioTexturedMesh_00001_.glb", "savedOutputs": 1, "cardId": "2a54d580-3a70-49c3-b167-fbce15b62e93" }promptIdmatches ComfyUI's own/historyexactly, and node12isPreview3D— the correct output node.data/assets/meshes/<...>.glb) exists on disk and is byte-identical to ComfyUI's own output file for that prompt (21,276,048 bytes, verified).But: there was no corresponding row in
Cards_Assetslinking this new asset to its card (cardIdfrom the metadata, id 8 in this case). The card'sCards_Assetsentries stopped at the prior two items (source image + earlier mesh); the newly generated, correctly-recorded textured mesh was simply never appended.Fix applied locally as a workaround
After this, the card correctly shows the textured mesh.
Suggested fix
Whatever step creates the
Assetsrow and itsmetadata.cardIdafter a workflow finalization succeeds should also insert the correspondingCards_Assetsrow (atMAX(position)+1for that card) in the same transaction/step — right now that step appears to be silently skipped or failing independently of the (otherwise fully successful) asset creation.Environment
glb_pathissue reported in Texture Mesh MultiView with Trellis2:glb_pathnever gets populated when a Source Mesh is selected #23 — that one is about a load failing before generation; this one is about a successful generation's result never getting attached to its card.