mirror of
https://github.com/Comfy-Org/comfy-remote-nodes.git
synced 2026-11-04 23:37:22 +00:00
[PR #21] [MERGED] Map MODEL_3D input type to MultiType socket (mirror upstream union) #22
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/comfy-remote-nodes#22
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Comfy-Org/comfy-remote-nodes/pull/21
Author: @Kosinkadink
Created: 5/17/2026
Status: ✅ Merged
Merged: 5/17/2026
Merged by: @Kosinkadink
Base:
main← Head:feat/model3d-input-multitype-mapping📝 Commits (1)
197e7baMap "MODEL_3D" input type to MultiType socket (mirror upstream union)📊 Changes
1 file changed (+24 additions, -0 deletions)
View changed files
📝
proxy_node.py(+24 -0)📄 Description
Follow-up to PR #20: the
MODEL_3Dinput wire type now resolves to anIO.MultiType.Input(types=[IO.File3DGLB, IO.File3DOBJ, IO.File3DFBX, IO.File3DAny])socket — symmetric counterpart of the existing"MODEL_3D"entry in_OUTPUT_CLASSESthat maps toIO.File3DGLB.Output.Previously the descriptor wire type
"MODEL_3D"fell through to the opaqueIO.Custom("MODEL_3D").Input(...)socket, which is a single-comfytype socket the frontend only allows connections from identically-tagged outputs. Real upstream 3D sources expose different comfytypes:Load3DoutputsIO.File3DAny(comfytypeFILE_3D).IO.File3DGLB(comfytypeFILE_3D_GLB) via the existing_OUTPUT_CLASSES["MODEL_3D"]mapping.FILE_3D_FBXoutput socket emitsFILE_3D_FBX.None of these connect to
IO.Custom("MODEL_3D"). The upstream Tencent Hunyuan3D MODEL_3D-input nodes (TencentModelTo3DUVNode/Tencent3DTextureEditNode/Tencent3DPartNode/TencentSmartTopologyNode) all useIO.MultiType.Input(types=[...])to accept the union; mirroring that union here keeps the proxy socket compatible with every existing 3D-emitting node.get_io_type()onIO.MultiType.Inputreturns the comma-joined inner type IDs (e.g."FILE_3D_GLB,FILE_3D_OBJ,FILE_3D_FBX,FILE_3D") — matches the convention SxS workflows already use for theirSaveGLBconnector inputs.Per-node format validation (e.g. 3DTextureEdit's FBX-only enforcement, 3DPart's FBX-only enforcement) is done server-side in each provider's
execute()against the inline envelope'sformatextra; this socket-level filter is purely about frontend connection validity.Unblocks the paired comfy-rnp-server PR (
TencentModelTo3DUVNode_RNP+Tencent3DPartNode_RNP) which uses the["MODEL_3D", {}]wire shape.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.