Files
stuttlepress-ComfyUI-Wan-VA…/__init__.py
T
stuttlepress c630f2ecae Migrate VACEOutpaint to V3 and rewrite its resize handling
Migrate the last remaining V1 node (VACEOutpaint) to the V3 io.ComfyNode
API and register it in get_node_list(). The Python change is mechanical;
the stdlib io import is aliased to _io to avoid clashing with comfy's io.

Rewrite the JS node-sizing for Nodes 2.0. The old onResize/computeSize
hack inverted the V3 sizing model and caused runaway vertical growth on
horizontal drag. Drive height via the getMinHeight option with a flex
column that lets the canvas absorb extra height. There is no working
min-width channel for DOM widgets in Nodes 2.0, so contain the controls
with CSS (overflow:hidden, wrap/scroll rows) instead of forcing a floor.

Add V3_DOC_GAPS.md documenting the V3/Nodes 2.0 gaps hit during migration.
2026-06-28 10:23:51 -05:00

44 lines
1.3 KiB
Python

"""
Wan VACE Prep - Custom nodes for preparing videos for Wan VACE generation
"""
from comfy_api.latest import ComfyExtension, io
from .vace_join import WanVACEPrep, WanVACEPrepBatch
from .vace_extend import WanVACEExtend
from .load_videos_from_folder import LoadVideosFromFolderSimple
from .vace_batch_context import WanVACEBatchContext
from .frame_number_overlay import FrameNumberOverlay
from .vace_inpaint import WanVACEInpaint
from .wan_first_middle_last_frame import WanFirstMiddleLastFrameToVideo
from .vace_first_middle_last import WanVACEFirstMiddleLast
from .vace_outpaint import VACEOutpaint
# Node display names come from each node's Schema.display_name, so no
# NODE_DISPLAY_NAME_MAPPINGS is needed here.
class WanVacePrepExtension(ComfyExtension):
async def get_node_list(self) -> list[type[io.ComfyNode]]:
return [
WanVACEPrep,
WanVACEPrepBatch,
WanVACEExtend,
LoadVideosFromFolderSimple,
WanVACEBatchContext,
FrameNumberOverlay,
WanVACEInpaint,
WanFirstMiddleLastFrameToVideo,
WanVACEFirstMiddleLast,
VACEOutpaint,
]
async def comfy_entrypoint() -> WanVacePrepExtension:
return WanVacePrepExtension()
WEB_DIRECTORY = "./web"
__all__ = ["comfy_entrypoint", "WEB_DIRECTORY"]