diff --git a/examples/ttm_ref_cutout/ttm_ref_cutout_example.json b/examples/ttm_ref_cutout/ttm_ref_cutout_example.json index 89043ed..de242ea 100644 --- a/examples/ttm_ref_cutout/ttm_ref_cutout_example.json +++ b/examples/ttm_ref_cutout/ttm_ref_cutout_example.json @@ -1,8 +1,8 @@ { "id": "f9768f12-3619-4fb7-bb3b-7f2ae9d3f244", "revision": 0, - "last_node_id": 206, - "last_link_id": 508, + "last_node_id": 207, + "last_link_id": 518, "nodes": [ { "id": 92, @@ -1076,7 +1076,7 @@ ], "size": [ 698.6392211914062, - 572.0459624861828 + 334 ], "flags": {}, "order": 49, @@ -1158,7 +1158,7 @@ ], "size": [ 220.16401189974135, - 480.1082478538293 + 334 ], "flags": {}, "order": 35, @@ -1282,7 +1282,7 @@ ], "size": [ 220.16401189974135, - 480.1082478538293 + 334 ], "flags": {}, "order": 40, @@ -1464,8 +1464,8 @@ "name": "IMAGE", "type": "IMAGE", "links": [ - 492, - 501 + 501, + 509 ] }, { @@ -1506,7 +1506,8 @@ "0, 0, 0", "center", 16, - "cpu" + "cpu", + "Output: 1 x 800 x 528 | 4.83MB" ] }, { @@ -1521,7 +1522,7 @@ 258 ], "flags": {}, - "order": 26, + "order": 25, "mode": 0, "inputs": [ { @@ -1586,7 +1587,7 @@ ], "size": [ 361.54983971357797, - 573.032837292987 + 334 ], "flags": {}, "order": 46, @@ -1755,13 +1756,13 @@ { "name": "ref_images", "type": "IMAGE", - "link": 466 + "link": 515 }, { "name": "ref_masks", "shape": 7, "type": "MASK", - "link": 467 + "link": 518 } ], "outputs": [ @@ -2240,7 +2241,7 @@ { "name": "images", "type": "IMAGE", - "link": 497 + "link": 513 } ], "outputs": [], @@ -2274,7 +2275,7 @@ { "name": "images", "type": "IMAGE", - "link": 461 + "link": 514 } ], "outputs": [], @@ -2290,1373 +2291,6 @@ }, "widgets_values": [] }, - { - "id": 197, - "type": "PrepareRefs", - "pos": [ - -695.6841096506113, - -15.722771174798734 - ], - "size": [ - 789, - 760 - ], - "flags": {}, - "order": 25, - "mode": 0, - "inputs": [ - { - "name": "bg_image", - "shape": 7, - "type": "IMAGE", - "link": 492 - }, - { - "name": "extra_refs", - "shape": 7, - "type": "IMAGE", - "link": 506 - }, - { - "name": "extra_masks", - "shape": 7, - "type": "MASK", - "link": 507 - } - ], - "outputs": [ - { - "name": "bg_image", - "type": "IMAGE", - "links": [ - 472, - 497 - ] - }, - { - "name": "ref_images", - "type": "IMAGE", - "links": [ - 461, - 466, - 473 - ] - }, - { - "name": "ref_masks", - "type": "MASK", - "links": [ - 462, - 467 - ] - } - ], - "properties": { - "cnr_id": "wanvideowrapper_qq", - "ver": "ebda7b2a2086e4483e4ba32f24c94c50dff89e4d", - "Node name for S&R": "PrepareRefs", - "userAdjustedDims": true, - "userAdjustedSize": true, - "ue_properties": { - "widget_ue_connectable": {}, - "input_ue_unconnectable": {}, - "version": "7.2.2" - }, - "bg_image_path": "ref/bg_image.png", - "uuid": "3d12f379-b548-45a8-b5a5-25c2a25b30b9" - }, - "widgets_values": [ - 744, - 584, - {}, - "", - [ - { - "on": true, - "name": "ref_1", - "lassoShape": { - "additivePaths": [ - [ - { - "x": 0.521875, - "y": 0.29375 - }, - { - "x": 0.5260416666666666, - "y": 0.29375 - }, - { - "x": 0.5302083333333333, - "y": 0.29375 - }, - { - "x": 0.534375, - "y": 0.29375 - }, - { - "x": 0.5385416666666667, - "y": 0.29375 - }, - { - "x": 0.5416666666666666, - "y": 0.2984375 - }, - { - "x": 0.5447916666666667, - "y": 0.3046875 - }, - { - "x": 0.546875, - "y": 0.3109375 - }, - { - "x": 0.5489583333333333, - "y": 0.3171875 - }, - { - "x": 0.55, - "y": 0.3234375 - }, - { - "x": 0.5510416666666667, - "y": 0.3296875 - }, - { - "x": 0.553125, - "y": 0.3359375 - }, - { - "x": 0.553125, - "y": 0.3421875 - }, - { - "x": 0.5541666666666667, - "y": 0.3484375 - }, - { - "x": 0.5541666666666667, - "y": 0.3546875 - }, - { - "x": 0.5541666666666667, - "y": 0.3609375 - }, - { - "x": 0.5541666666666667, - "y": 0.3671875 - }, - { - "x": 0.553125, - "y": 0.3734375 - }, - { - "x": 0.5520833333333334, - "y": 0.3796875 - }, - { - "x": 0.5552083333333333, - "y": 0.3859375 - }, - { - "x": 0.5583333333333333, - "y": 0.390625 - }, - { - "x": 0.5614583333333333, - "y": 0.3953125 - }, - { - "x": 0.5645833333333333, - "y": 0.4 - }, - { - "x": 0.5677083333333334, - "y": 0.40625 - }, - { - "x": 0.56875, - "y": 0.4125 - }, - { - "x": 0.5697916666666667, - "y": 0.41875 - }, - { - "x": 0.5708333333333333, - "y": 0.425 - }, - { - "x": 0.571875, - "y": 0.43125 - }, - { - "x": 0.5729166666666666, - "y": 0.4375 - }, - { - "x": 0.575, - "y": 0.44375 - }, - { - "x": 0.5770833333333333, - "y": 0.45 - }, - { - "x": 0.5791666666666667, - "y": 0.45625 - }, - { - "x": 0.5822916666666667, - "y": 0.4609375 - }, - { - "x": 0.5854166666666667, - "y": 0.465625 - }, - { - "x": 0.5875, - "y": 0.471875 - }, - { - "x": 0.590625, - "y": 0.478125 - }, - { - "x": 0.59375, - "y": 0.4828125 - }, - { - "x": 0.5979166666666667, - "y": 0.4859375 - }, - { - "x": 0.6020833333333333, - "y": 0.4890625 - }, - { - "x": 0.60625, - "y": 0.490625 - }, - { - "x": 0.6104166666666667, - "y": 0.4921875 - }, - { - "x": 0.6145833333333334, - "y": 0.49375 - }, - { - "x": 0.6177083333333333, - "y": 0.4984375 - }, - { - "x": 0.621875, - "y": 0.503125 - }, - { - "x": 0.625, - "y": 0.5078125 - }, - { - "x": 0.6291666666666667, - "y": 0.5109375 - }, - { - "x": 0.6333333333333333, - "y": 0.5140625 - }, - { - "x": 0.6375, - "y": 0.5171875 - }, - { - "x": 0.6416666666666667, - "y": 0.5203125 - }, - { - "x": 0.6458333333333334, - "y": 0.525 - }, - { - "x": 0.65, - "y": 0.528125 - }, - { - "x": 0.6541666666666667, - "y": 0.53125 - }, - { - "x": 0.6583333333333333, - "y": 0.534375 - }, - { - "x": 0.6625, - "y": 0.5375 - }, - { - "x": 0.6666666666666666, - "y": 0.5390625 - }, - { - "x": 0.6708333333333333, - "y": 0.5421875 - }, - { - "x": 0.675, - "y": 0.54375 - }, - { - "x": 0.6791666666666667, - "y": 0.546875 - }, - { - "x": 0.6833333333333333, - "y": 0.5484375 - }, - { - "x": 0.6864583333333333, - "y": 0.553125 - }, - { - "x": 0.6885416666666667, - "y": 0.559375 - }, - { - "x": 0.6885416666666667, - "y": 0.565625 - }, - { - "x": 0.6885416666666667, - "y": 0.571875 - }, - { - "x": 0.6864583333333333, - "y": 0.578125 - }, - { - "x": 0.6822916666666666, - "y": 0.578125 - }, - { - "x": 0.678125, - "y": 0.578125 - }, - { - "x": 0.6739583333333333, - "y": 0.578125 - }, - { - "x": 0.6697916666666667, - "y": 0.578125 - }, - { - "x": 0.665625, - "y": 0.578125 - }, - { - "x": 0.6614583333333334, - "y": 0.575 - }, - { - "x": 0.6572916666666667, - "y": 0.571875 - }, - { - "x": 0.653125, - "y": 0.56875 - }, - { - "x": 0.6489583333333333, - "y": 0.565625 - }, - { - "x": 0.6447916666666667, - "y": 0.5609375 - }, - { - "x": 0.640625, - "y": 0.559375 - }, - { - "x": 0.6364583333333333, - "y": 0.5578125 - }, - { - "x": 0.6322916666666667, - "y": 0.55625 - }, - { - "x": 0.628125, - "y": 0.5546875 - }, - { - "x": 0.6239583333333333, - "y": 0.553125 - }, - { - "x": 0.6197916666666666, - "y": 0.5515625 - }, - { - "x": 0.615625, - "y": 0.5515625 - }, - { - "x": 0.6114583333333333, - "y": 0.55 - }, - { - "x": 0.6072916666666667, - "y": 0.55 - }, - { - "x": 0.603125, - "y": 0.5484375 - }, - { - "x": 0.5989583333333334, - "y": 0.5484375 - }, - { - "x": 0.5947916666666667, - "y": 0.546875 - }, - { - "x": 0.590625, - "y": 0.5453125 - }, - { - "x": 0.5864583333333333, - "y": 0.5421875 - }, - { - "x": 0.5822916666666667, - "y": 0.540625 - }, - { - "x": 0.578125, - "y": 0.5375 - }, - { - "x": 0.5739583333333333, - "y": 0.534375 - }, - { - "x": 0.5697916666666667, - "y": 0.53125 - }, - { - "x": 0.565625, - "y": 0.528125 - }, - { - "x": 0.5614583333333333, - "y": 0.525 - }, - { - "x": 0.5572916666666666, - "y": 0.521875 - }, - { - "x": 0.553125, - "y": 0.5171875 - }, - { - "x": 0.5510416666666667, - "y": 0.5109375 - }, - { - "x": 0.5479166666666667, - "y": 0.5046875 - }, - { - "x": 0.54375, - "y": 0.5015625 - }, - { - "x": 0.5395833333333333, - "y": 0.5046875 - }, - { - "x": 0.5354166666666667, - "y": 0.509375 - }, - { - "x": 0.5322916666666667, - "y": 0.515625 - }, - { - "x": 0.5302083333333333, - "y": 0.521875 - }, - { - "x": 0.528125, - "y": 0.528125 - }, - { - "x": 0.5270833333333333, - "y": 0.534375 - }, - { - "x": 0.528125, - "y": 0.540625 - }, - { - "x": 0.5291666666666667, - "y": 0.546875 - }, - { - "x": 0.53125, - "y": 0.553125 - }, - { - "x": 0.534375, - "y": 0.559375 - }, - { - "x": 0.5375, - "y": 0.565625 - }, - { - "x": 0.5395833333333333, - "y": 0.571875 - }, - { - "x": 0.540625, - "y": 0.578125 - }, - { - "x": 0.5427083333333333, - "y": 0.584375 - }, - { - "x": 0.5458333333333333, - "y": 0.590625 - }, - { - "x": 0.5479166666666667, - "y": 0.596875 - }, - { - "x": 0.5489583333333333, - "y": 0.603125 - }, - { - "x": 0.5510416666666667, - "y": 0.609375 - }, - { - "x": 0.5520833333333334, - "y": 0.615625 - }, - { - "x": 0.5520833333333334, - "y": 0.621875 - }, - { - "x": 0.5520833333333334, - "y": 0.628125 - }, - { - "x": 0.5520833333333334, - "y": 0.634375 - }, - { - "x": 0.5520833333333334, - "y": 0.640625 - }, - { - "x": 0.5520833333333334, - "y": 0.646875 - }, - { - "x": 0.5520833333333334, - "y": 0.653125 - }, - { - "x": 0.5520833333333334, - "y": 0.659375 - }, - { - "x": 0.5520833333333334, - "y": 0.665625 - }, - { - "x": 0.5520833333333334, - "y": 0.671875 - }, - { - "x": 0.553125, - "y": 0.678125 - }, - { - "x": 0.553125, - "y": 0.684375 - }, - { - "x": 0.553125, - "y": 0.690625 - }, - { - "x": 0.553125, - "y": 0.696875 - }, - { - "x": 0.553125, - "y": 0.703125 - }, - { - "x": 0.553125, - "y": 0.709375 - }, - { - "x": 0.553125, - "y": 0.715625 - }, - { - "x": 0.5520833333333334, - "y": 0.721875 - }, - { - "x": 0.5479166666666667, - "y": 0.7265625 - }, - { - "x": 0.54375, - "y": 0.728125 - }, - { - "x": 0.5395833333333333, - "y": 0.728125 - }, - { - "x": 0.5354166666666667, - "y": 0.728125 - }, - { - "x": 0.53125, - "y": 0.728125 - }, - { - "x": 0.5270833333333333, - "y": 0.728125 - }, - { - "x": 0.5229166666666667, - "y": 0.728125 - }, - { - "x": 0.51875, - "y": 0.725 - }, - { - "x": 0.5145833333333333, - "y": 0.7203125 - }, - { - "x": 0.5145833333333333, - "y": 0.7140625 - }, - { - "x": 0.5145833333333333, - "y": 0.7078125 - }, - { - "x": 0.5145833333333333, - "y": 0.7015625 - }, - { - "x": 0.5145833333333333, - "y": 0.6953125 - }, - { - "x": 0.5145833333333333, - "y": 0.6890625 - }, - { - "x": 0.5145833333333333, - "y": 0.6828125 - }, - { - "x": 0.5145833333333333, - "y": 0.6765625 - }, - { - "x": 0.5145833333333333, - "y": 0.6703125 - }, - { - "x": 0.5145833333333333, - "y": 0.6640625 - }, - { - "x": 0.5145833333333333, - "y": 0.6578125 - }, - { - "x": 0.5145833333333333, - "y": 0.6515625 - }, - { - "x": 0.5145833333333333, - "y": 0.6453125 - }, - { - "x": 0.5145833333333333, - "y": 0.6390625 - }, - { - "x": 0.5145833333333333, - "y": 0.6328125 - }, - { - "x": 0.5145833333333333, - "y": 0.6265625 - }, - { - "x": 0.5125, - "y": 0.6203125 - }, - { - "x": 0.5104166666666666, - "y": 0.6140625 - }, - { - "x": 0.5083333333333333, - "y": 0.6078125 - }, - { - "x": 0.50625, - "y": 0.6015625 - }, - { - "x": 0.5041666666666667, - "y": 0.5953125 - }, - { - "x": 0.5010416666666667, - "y": 0.590625 - }, - { - "x": 0.496875, - "y": 0.590625 - }, - { - "x": 0.49270833333333336, - "y": 0.59375 - }, - { - "x": 0.48854166666666665, - "y": 0.596875 - }, - { - "x": 0.484375, - "y": 0.6 - }, - { - "x": 0.48020833333333335, - "y": 0.603125 - }, - { - "x": 0.47604166666666664, - "y": 0.6078125 - }, - { - "x": 0.471875, - "y": 0.6125 - }, - { - "x": 0.46770833333333334, - "y": 0.6171875 - }, - { - "x": 0.4635416666666667, - "y": 0.621875 - }, - { - "x": 0.459375, - "y": 0.6265625 - }, - { - "x": 0.45625, - "y": 0.63125 - }, - { - "x": 0.453125, - "y": 0.6359375 - }, - { - "x": 0.45, - "y": 0.640625 - }, - { - "x": 0.4479166666666667, - "y": 0.646875 - }, - { - "x": 0.44583333333333336, - "y": 0.653125 - }, - { - "x": 0.44479166666666664, - "y": 0.659375 - }, - { - "x": 0.44479166666666664, - "y": 0.665625 - }, - { - "x": 0.44479166666666664, - "y": 0.671875 - }, - { - "x": 0.44479166666666664, - "y": 0.678125 - }, - { - "x": 0.44479166666666664, - "y": 0.684375 - }, - { - "x": 0.44479166666666664, - "y": 0.690625 - }, - { - "x": 0.44479166666666664, - "y": 0.696875 - }, - { - "x": 0.44479166666666664, - "y": 0.703125 - }, - { - "x": 0.44375, - "y": 0.709375 - }, - { - "x": 0.4427083333333333, - "y": 0.715625 - }, - { - "x": 0.44166666666666665, - "y": 0.721875 - }, - { - "x": 0.440625, - "y": 0.728125 - }, - { - "x": 0.43854166666666666, - "y": 0.734375 - }, - { - "x": 0.434375, - "y": 0.7375 - }, - { - "x": 0.43020833333333336, - "y": 0.7375 - }, - { - "x": 0.42604166666666665, - "y": 0.7375 - }, - { - "x": 0.421875, - "y": 0.7375 - }, - { - "x": 0.41770833333333335, - "y": 0.7359375 - }, - { - "x": 0.4166666666666667, - "y": 0.7296875 - }, - { - "x": 0.4166666666666667, - "y": 0.7234375 - }, - { - "x": 0.4166666666666667, - "y": 0.7171875 - }, - { - "x": 0.4166666666666667, - "y": 0.7109375 - }, - { - "x": 0.4166666666666667, - "y": 0.7046875 - }, - { - "x": 0.4166666666666667, - "y": 0.6984375 - }, - { - "x": 0.4166666666666667, - "y": 0.6921875 - }, - { - "x": 0.4166666666666667, - "y": 0.6859375 - }, - { - "x": 0.4166666666666667, - "y": 0.6796875 - }, - { - "x": 0.4166666666666667, - "y": 0.6734375 - }, - { - "x": 0.4166666666666667, - "y": 0.6671875 - }, - { - "x": 0.4166666666666667, - "y": 0.6609375 - }, - { - "x": 0.41770833333333335, - "y": 0.6546875 - }, - { - "x": 0.41875, - "y": 0.6484375 - }, - { - "x": 0.41770833333333335, - "y": 0.6421875 - }, - { - "x": 0.4166666666666667, - "y": 0.6359375 - }, - { - "x": 0.4166666666666667, - "y": 0.6296875 - }, - { - "x": 0.4166666666666667, - "y": 0.6234375 - }, - { - "x": 0.41631944444444446, - "y": 0.6151171875 - }, - { - "x": 0.41055555555555556, - "y": 0.6151171875 - }, - { - "x": 0.41055555555555556, - "y": 0.6151171875 - }, - { - "x": 0.4125, - "y": 0.603125 - }, - { - "x": 0.41354166666666664, - "y": 0.596875 - }, - { - "x": 0.41458333333333336, - "y": 0.590625 - }, - { - "x": 0.415625, - "y": 0.584375 - }, - { - "x": 0.4166666666666667, - "y": 0.578125 - }, - { - "x": 0.41770833333333335, - "y": 0.571875 - }, - { - "x": 0.4242447916666666, - "y": 0.566484375 - }, - { - "x": 0.4242447916666666, - "y": 0.5578385416666667 - }, - { - "x": 0.4242447916666666, - "y": 0.553515625 - }, - { - "x": 0.4242447916666666, - "y": 0.5448697916666667 - }, - { - "x": 0.4242447916666666, - "y": 0.540546875 - }, - { - "x": 0.42352430555555554, - "y": 0.5362239583333334 - }, - { - "x": 0.428125, - "y": 0.528125 - }, - { - "x": 0.42916666666666664, - "y": 0.521875 - }, - { - "x": 0.43125, - "y": 0.515625 - }, - { - "x": 0.434375, - "y": 0.5109375 - }, - { - "x": 0.4375, - "y": 0.50625 - }, - { - "x": 0.4395833333333333, - "y": 0.5 - }, - { - "x": 0.44166666666666665, - "y": 0.49375 - }, - { - "x": 0.4444184027777778, - "y": 0.48542968750000004 - }, - { - "x": 0.4415364583333333, - "y": 0.4832682291666667 - }, - { - "x": 0.4357725694444444, - "y": 0.47894531249999994 - }, - { - "x": 0.432890625, - "y": 0.47678385416666663 - }, - { - "x": 0.4300086805555556, - "y": 0.4746223958333333 - }, - { - "x": 0.4239583333333333, - "y": 0.48125 - }, - { - "x": 0.4197916666666667, - "y": 0.4828125 - }, - { - "x": 0.415625, - "y": 0.4828125 - }, - { - "x": 0.40695312499999997, - "y": 0.48434895833333336 - }, - { - "x": 0.40695312499999997, - "y": 0.48434895833333336 - }, - { - "x": 0.4062326388888889, - "y": 0.48002604166666674 - }, - { - "x": 0.4076736111111111, - "y": 0.47570312500000006 - }, - { - "x": 0.39895833333333336, - "y": 0.471875 - }, - { - "x": 0.39479166666666665, - "y": 0.46875 - }, - { - "x": 0.390625, - "y": 0.465625 - }, - { - "x": 0.38645833333333335, - "y": 0.4625 - }, - { - "x": 0.38229166666666664, - "y": 0.459375 - }, - { - "x": 0.378125, - "y": 0.45625 - }, - { - "x": 0.37395833333333334, - "y": 0.4546875 - }, - { - "x": 0.3697916666666667, - "y": 0.453125 - }, - { - "x": 0.365625, - "y": 0.4515625 - }, - { - "x": 0.3614583333333333, - "y": 0.45 - }, - { - "x": 0.3572916666666667, - "y": 0.446875 - }, - { - "x": 0.3490560619212963, - "y": 0.4469197048611111 - }, - { - "x": 0.3490560619212963, - "y": 0.4469197048611111 - }, - { - "x": 0.3450693721064815, - "y": 0.4439296875 - }, - { - "x": 0.3450693721064815, - "y": 0.4439296875 - }, - { - "x": 0.346875, - "y": 0.43125 - }, - { - "x": 0.3458333333333333, - "y": 0.425 - }, - { - "x": 0.34479166666666666, - "y": 0.41875 - }, - { - "x": 0.34479166666666666, - "y": 0.4125 - }, - { - "x": 0.34791666666666665, - "y": 0.4078125 - }, - { - "x": 0.35208333333333336, - "y": 0.4078125 - }, - { - "x": 0.35625, - "y": 0.4078125 - }, - { - "x": 0.36041666666666666, - "y": 0.4078125 - }, - { - "x": 0.3645833333333333, - "y": 0.409375 - }, - { - "x": 0.36875, - "y": 0.4125 - }, - { - "x": 0.3729166666666667, - "y": 0.4140625 - }, - { - "x": 0.3770833333333333, - "y": 0.415625 - }, - { - "x": 0.38125, - "y": 0.415625 - }, - { - "x": 0.3854166666666667, - "y": 0.415625 - }, - { - "x": 0.38958333333333334, - "y": 0.415625 - }, - { - "x": 0.39375, - "y": 0.415625 - }, - { - "x": 0.39791666666666664, - "y": 0.415625 - }, - { - "x": 0.40208333333333335, - "y": 0.415625 - }, - { - "x": 0.40625, - "y": 0.415625 - }, - { - "x": 0.41041666666666665, - "y": 0.4140625 - }, - { - "x": 0.41458333333333336, - "y": 0.409375 - }, - { - "x": 0.41770833333333335, - "y": 0.4046875 - }, - { - "x": 0.421875, - "y": 0.4 - }, - { - "x": 0.425, - "y": 0.3953125 - }, - { - "x": 0.43072916666666666, - "y": 0.384921875 - }, - { - "x": 0.43072916666666666, - "y": 0.384921875 - }, - { - "x": 0.43072916666666666, - "y": 0.384921875 - }, - { - "x": 0.4375, - "y": 0.375 - }, - { - "x": 0.44166666666666665, - "y": 0.371875 - }, - { - "x": 0.44583333333333336, - "y": 0.36875 - }, - { - "x": 0.45, - "y": 0.365625 - }, - { - "x": 0.45416666666666666, - "y": 0.3625 - }, - { - "x": 0.4583333333333333, - "y": 0.3609375 - }, - { - "x": 0.4625, - "y": 0.3578125 - }, - { - "x": 0.4666666666666667, - "y": 0.35625 - }, - { - "x": 0.4708333333333333, - "y": 0.353125 - }, - { - "x": 0.4739583333333333, - "y": 0.3484375 - }, - { - "x": 0.47604166666666664, - "y": 0.3421875 - }, - { - "x": 0.47708333333333336, - "y": 0.3359375 - }, - { - "x": 0.47708333333333336, - "y": 0.3296875 - }, - { - "x": 0.48020833333333335, - "y": 0.3234375 - }, - { - "x": 0.4822916666666667, - "y": 0.3171875 - }, - { - "x": 0.484375, - "y": 0.3109375 - }, - { - "x": 0.4864583333333333, - "y": 0.3046875 - }, - { - "x": 0.48854166666666665, - "y": 0.2984375 - }, - { - "x": 0.49270833333333336, - "y": 0.2953125 - }, - { - "x": 0.496875, - "y": 0.2953125 - }, - { - "x": 0.5010416666666667, - "y": 0.2953125 - }, - { - "x": 0.5052083333333334, - "y": 0.2953125 - }, - { - "x": 0.509375, - "y": 0.2953125 - }, - { - "x": 0.5135416666666667, - "y": 0.2953125 - }, - { - "x": 0.5177083333333333, - "y": 0.2953125 - }, - { - "x": 0.5208333333333334, - "y": 0.2953125 - } - ] - ], - "subtractivePaths": [] - } - } - ] - ] - }, { "id": 190, "type": "LoadImage", @@ -3808,7 +2442,7 @@ { "name": "mask", "type": "MASK", - "link": 462 + "link": 517 } ], "outputs": [], @@ -3867,14 +2501,14 @@ "name": "images", "type": "IMAGE", "links": [ - 506 + 510 ] }, { "name": "masks", "type": "MASK", "links": [ - 507 + 511 ] } ], @@ -4218,13 +2852,13 @@ "name": "bg_image", "shape": 7, "type": "IMAGE", - "link": 472 + "link": 512 }, { "name": "ref_images", "shape": 7, "type": "IMAGE", - "link": 473 + "link": 516 }, { "name": "frames", @@ -4274,7 +2908,7 @@ } }, "widgets_values": [ - "[{\"on\":true,\"name\":\"Box 2\",\"type\":\"box_layer\",\"interpolation\":\"box\",\"repeat\":1,\"offset\":0,\"a_pause\":0,\"z_pause\":0,\"easing\":\"in_out\",\"easingConfig\":{\"path\":\"full\",\"strength\":1,\"acceleration\":0},\"driven\":false,\"_drivenConfig\":{\"driver\":\"\",\"rotate\":0,\"d_scale\":1},\"scale\":1,\"points_store\":\"[{\\\"x\\\":0.19474985445912227,\\\"y\\\":1.4324736224170969,\\\"highlighted\\\":false,\\\"boxScale\\\":1.4676860073357434,\\\"pointScale\\\":1.4676860073357434,\\\"scale\\\":1.4676860073357434,\\\"rotation\\\":0,\\\"boxRotation\\\":0,\\\"uid\\\":12958}]\",\"coordinates\":\"[]\",\"box_keys\":[{\"frame\":1,\"x\":0.19474985445912227,\"y\":1.4324736224170969,\"scale\":1.4676860073357434,\"rotation\":0},{\"frame\":11,\"x\":0.2430592279774051,\"y\":0.7954297453266818,\"scale\":1.4676860073357434,\"rotation\":0},{\"frame\":15,\"x\":0.23456527397428611,\"y\":0.8782454323375225,\"scale\":1.4676860073357434,\"rotation\":0},{\"frame\":25,\"x\":0.22819492997846996,\"y\":0.7763184703261872,\"scale\":1.1730565234680108,\"rotation\":0},{\"frame\":31,\"x\":0.4713335330231763,\"y\":0.4068329292687888,\"scale\":0.8643096610357012,\"rotation\":0},{\"frame\":36,\"x\":0.5679519560423468,\"y\":0.6855399748270994,\"scale\":0.5640772111211846,\"rotation\":0},{\"frame\":41,\"x\":0.6125450120478496,\"y\":0.41240740553795885,\"scale\":0.5640772111211846,\"rotation\":0},{\"frame\":48,\"x\":0.6778421315636727,\"y\":0.6449286065809405,\"scale\":0.5640772111211846,\"rotation\":0},{\"frame\":52,\"x\":0.5684828585441722,\"y\":0.6497064860843257,\"scale\":0.659617600026653,\"rotation\":0}],\"box_timeline_point\":1,\"box_interpolation\":\"linear\",\"ref_attachment\":{\"entries\":[{\"path\":\"ref/ref_1.png\",\"type\":\"image/png\",\"width\":768,\"height\":768,\"name\":\"ref_1.png\"},{\"path\":\"ref/ref_2.png\",\"type\":\"image/png\",\"width\":768,\"height\":768,\"name\":\"ref_2.png\"},{\"path\":\"ref/ref_3.png\",\"type\":\"image/png\",\"width\":768,\"height\":768,\"name\":\"ref_3.png\"}]},\"ref_selection\":\"ref_2\"},{\"on\":true,\"name\":\"Box 1\",\"type\":\"box_layer\",\"interpolation\":\"box\",\"repeat\":1,\"offset\":0,\"a_pause\":0,\"z_pause\":0,\"easing\":\"in_out\",\"easingConfig\":{\"path\":\"full\",\"strength\":1,\"acceleration\":0},\"driven\":false,\"_drivenConfig\":{\"driver\":\"\",\"rotate\":0,\"d_scale\":1},\"scale\":1,\"points_store\":\"[{\\\"x\\\":0.5161057691644593,\\\"y\\\":0.5398726487931662,\\\"highlighted\\\":false,\\\"boxScale\\\":0.8343136359359863,\\\"pointScale\\\":0.8343136359359863,\\\"scale\\\":0.8343136359359863,\\\"rotation\\\":0,\\\"boxRotation\\\":0,\\\"uid\\\":12633}]\",\"coordinates\":\"[]\",\"box_keys\":[{\"frame\":1,\"x\":0.5161057691644593,\"y\":0.5398726487931662,\"scale\":0.8343136359359863,\"rotation\":0},{\"frame\":6,\"x\":0.47196181617198085,\"y\":0.3200405737945352,\"scale\":0.8638012601583803,\"rotation\":0},{\"frame\":9,\"x\":0.4121032246565662,\"y\":0.4875365628862209,\"scale\":0.8638012601583803,\"rotation\":0},{\"frame\":13,\"x\":0.5464192690612396,\"y\":0.31302040644093265,\"scale\":0.8638012601583803,\"rotation\":0},{\"frame\":18,\"x\":0.6453590434050553,\"y\":0.4971136690326087,\"scale\":0.8638012601583803,\"rotation\":0.23479580735769545},{\"frame\":25,\"x\":0.7168682514234606,\"y\":0.35450195124745715,\"scale\":0.7461923590357786,\"rotation\":-0.016700184308297006},{\"frame\":37,\"x\":0.47055937054419356,\"y\":0.4622461834574322,\"scale\":0.7806450202697814,\"rotation\":0.05307419243868908},{\"frame\":44,\"x\":0.2878140070688762,\"y\":0.5826695013311077,\"scale\":0.8453363141905476,\"rotation\":0.18892915642895014},{\"frame\":47,\"x\":0.4384937844591473,\"y\":0.571815564606569,\"scale\":0.7716734139120516,\"rotation\":0.07775397895785918}],\"box_timeline_point\":1,\"box_interpolation\":\"linear\",\"ref_attachment\":{\"entries\":[{\"path\":\"ref/ref_1.png\",\"type\":\"image/png\",\"width\":768,\"height\":768,\"name\":\"ref_1.png\"},{\"path\":\"ref/ref_2.png\",\"type\":\"image/png\",\"width\":768,\"height\":768,\"name\":\"ref_2.png\"},{\"path\":\"ref/ref_3.png\",\"type\":\"image/png\",\"width\":768,\"height\":768,\"name\":\"ref_3.png\"}]},\"ref_selection\":\"ref_1\"}]", + "[{\"on\":true,\"name\":\"Box 2\",\"type\":\"box_layer\",\"interpolation\":\"box\",\"repeat\":1,\"offset\":0,\"a_pause\":0,\"z_pause\":0,\"easing\":\"in_out\",\"easingConfig\":{\"path\":\"full\",\"strength\":1,\"acceleration\":0},\"driven\":false,\"_drivenConfig\":{\"driver\":\"\",\"rotate\":0,\"d_scale\":1},\"scale\":1,\"points_store\":\"[{\\\"x\\\":0.1947498544591223,\\\"y\\\":1.4324736224170969,\\\"highlighted\\\":false,\\\"boxScale\\\":1.4676860073357434,\\\"pointScale\\\":1.4676860073357434,\\\"scale\\\":1.4676860073357434,\\\"rotation\\\":0,\\\"boxRotation\\\":0,\\\"uid\\\":12958}]\",\"coordinates\":\"[]\",\"box_keys\":[{\"frame\":1,\"x\":0.19474985445912227,\"y\":1.4324736224170969,\"scale\":1.4676860073357434,\"rotation\":0},{\"frame\":11,\"x\":0.2430592279774051,\"y\":0.7954297453266818,\"scale\":1.4676860073357434,\"rotation\":0},{\"frame\":15,\"x\":0.23456527397428611,\"y\":0.8782454323375225,\"scale\":1.4676860073357434,\"rotation\":0},{\"frame\":25,\"x\":0.22819492997846996,\"y\":0.7763184703261872,\"scale\":1.1730565234680108,\"rotation\":0},{\"frame\":31,\"x\":0.4713335330231763,\"y\":0.4068329292687888,\"scale\":0.8643096610357012,\"rotation\":0},{\"frame\":36,\"x\":0.5679519560423468,\"y\":0.6855399748270994,\"scale\":0.5640772111211846,\"rotation\":0},{\"frame\":41,\"x\":0.6125450120478496,\"y\":0.41240740553795885,\"scale\":0.5640772111211846,\"rotation\":0},{\"frame\":48,\"x\":0.6778421315636727,\"y\":0.6449286065809405,\"scale\":0.5640772111211846,\"rotation\":0},{\"frame\":52,\"x\":0.5684828585441722,\"y\":0.6497064860843257,\"scale\":0.659617600026653,\"rotation\":0}],\"box_timeline_point\":1,\"box_interpolation\":\"linear\"},{\"on\":true,\"name\":\"Box 1\",\"type\":\"box_layer\",\"interpolation\":\"box\",\"repeat\":1,\"offset\":0,\"a_pause\":0,\"z_pause\":0,\"easing\":\"in_out\",\"easingConfig\":{\"path\":\"full\",\"strength\":1,\"acceleration\":0},\"driven\":false,\"_drivenConfig\":{\"driver\":\"\",\"rotate\":0,\"d_scale\":1},\"scale\":1,\"points_store\":\"[{\\\"x\\\":0.5161057691644593,\\\"y\\\":0.5398726487931662,\\\"highlighted\\\":false,\\\"boxScale\\\":0.8343136359359863,\\\"pointScale\\\":0.8343136359359863,\\\"scale\\\":0.8343136359359863,\\\"rotation\\\":0,\\\"boxRotation\\\":0,\\\"uid\\\":12633}]\",\"coordinates\":\"[]\",\"box_keys\":[{\"frame\":1,\"x\":0.5161057691644593,\"y\":0.5398726487931662,\"scale\":0.8343136359359863,\"rotation\":0},{\"frame\":6,\"x\":0.47196181617198085,\"y\":0.3200405737945352,\"scale\":0.8638012601583803,\"rotation\":0},{\"frame\":9,\"x\":0.4121032246565662,\"y\":0.4875365628862209,\"scale\":0.8638012601583803,\"rotation\":0},{\"frame\":13,\"x\":0.5464192690612396,\"y\":0.31302040644093265,\"scale\":0.8638012601583803,\"rotation\":0},{\"frame\":18,\"x\":0.6453590434050553,\"y\":0.4971136690326087,\"scale\":0.8638012601583803,\"rotation\":0.23479580735769545},{\"frame\":25,\"x\":0.7168682514234606,\"y\":0.35450195124745715,\"scale\":0.7461923590357786,\"rotation\":-0.016700184308297006},{\"frame\":37,\"x\":0.47055937054419356,\"y\":0.4622461834574322,\"scale\":0.7806450202697814,\"rotation\":0.05307419243868908},{\"frame\":44,\"x\":0.2878140070688762,\"y\":0.5826695013311077,\"scale\":0.8453363141905476,\"rotation\":0.18892915642895014},{\"frame\":47,\"x\":0.4384937844591473,\"y\":0.571815564606569,\"scale\":0.7716734139120516,\"rotation\":0.07775397895785918}],\"box_timeline_point\":1,\"box_interpolation\":\"linear\"}]", null, "[{\"x\":200,\"y\":240},{\"x\":304,\"y\":240}]", 640, @@ -4306,7 +2940,7 @@ "d_scale": 1 }, "scale": 1, - "points_store": "[{\"x\":0.19474985445912227,\"y\":1.4324736224170969,\"highlighted\":false,\"boxScale\":1.4676860073357434,\"pointScale\":1.4676860073357434,\"scale\":1.4676860073357434,\"rotation\":0,\"boxRotation\":0,\"uid\":12958}]", + "points_store": "[{\"x\":0.1947498544591223,\"y\":1.4324736224170969,\"highlighted\":false,\"boxScale\":1.4676860073357434,\"pointScale\":1.4676860073357434,\"scale\":1.4676860073357434,\"rotation\":0,\"boxRotation\":0,\"uid\":12958}]", "coordinates": "[]", "box_keys": [ { @@ -4374,33 +3008,7 @@ } ], "box_timeline_point": 1, - "box_interpolation": "linear", - "ref_attachment": { - "entries": [ - { - "path": "ref/ref_1.png", - "type": "image/png", - "width": 768, - "height": 768, - "name": "ref_1.png" - }, - { - "path": "ref/ref_2.png", - "type": "image/png", - "width": 768, - "height": 768, - "name": "ref_2.png" - }, - { - "path": "ref/ref_3.png", - "type": "image/png", - "width": 768, - "height": 768, - "name": "ref_3.png" - } - ] - }, - "ref_selection": "ref_2" + "box_interpolation": "linear" }, { "on": true, @@ -4492,33 +3100,7 @@ } ], "box_timeline_point": 1, - "box_interpolation": "linear", - "ref_attachment": { - "entries": [ - { - "path": "ref/ref_1.png", - "type": "image/png", - "width": 768, - "height": 768, - "name": "ref_1.png" - }, - { - "path": "ref/ref_2.png", - "type": "image/png", - "width": 768, - "height": 768, - "name": "ref_2.png" - }, - { - "path": "ref/ref_3.png", - "type": "image/png", - "width": 768, - "height": 768, - "name": "ref_3.png" - } - ] - }, - "ref_selection": "ref_1" + "box_interpolation": "linear" } ] }, @@ -4707,6 +3289,580 @@ -1, "" ] + }, + { + "id": 207, + "type": "PrepareRefs", + "pos": [ + -695.6841096506113, + -15.722771174798734 + ], + "size": [ + 685, + 656 + ], + "flags": {}, + "order": 26, + "mode": 0, + "inputs": [ + { + "name": "bg_image", + "shape": 7, + "type": "IMAGE", + "link": 509 + }, + { + "name": "extra_refs", + "shape": 7, + "type": "IMAGE", + "link": 510 + }, + { + "name": "extra_masks", + "shape": 7, + "type": "MASK", + "link": 511 + } + ], + "outputs": [ + { + "name": "bg_image", + "type": "IMAGE", + "links": [ + 512, + 513 + ] + }, + { + "name": "ref_images", + "type": "IMAGE", + "links": [ + 514, + 515, + 516 + ] + }, + { + "name": "ref_masks", + "type": "MASK", + "links": [ + 517, + 518 + ] + } + ], + "properties": { + "cnr_id": "wanvideowrapper_qq", + "ver": "5835ca3f25d40e86ad7402406fdd7939f25b0d6c", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {} + }, + "Node name for S&R": "PrepareRefs", + "userAdjustedDims": false, + "userAdjustedSize": false, + "bg_image_path": "ref/bg_image.png", + "uuid": "80eb5047-6b3c-42ae-8124-6e2d5be8394a" + }, + "widgets_values": [ + 640, + 480, + {}, + "", + [ + { + "on": true, + "name": "ref_1", + "lassoShape": { + "additivePaths": [ + [ + { + "x": 0.3994641785631863, + "y": 0.42462735044896877 + }, + { + "x": 0.41026764696185425, + "y": 0.42462735044896877 + }, + { + "x": 0.4210711153605223, + "y": 0.42462735044896877 + }, + { + "x": 0.43187458375919036, + "y": 0.41808629062219255 + }, + { + "x": 0.44051735847812473, + "y": 0.4082747008820281 + }, + { + "x": 0.44916013319705916, + "y": 0.39519258122847556 + }, + { + "x": 0.45780290791599365, + "y": 0.382110461574923 + }, + { + "x": 0.466445682634928, + "y": 0.37229887183475857 + }, + { + "x": 0.47292776367412886, + "y": 0.359216752181206 + }, + { + "x": 0.477249151033596, + "y": 0.3428641026142653 + }, + { + "x": 0.477249151033596, + "y": 0.3265114530473247 + }, + { + "x": 0.4837312320727969, + "y": 0.31342933339377205 + }, + { + "x": 0.4923740067917313, + "y": 0.3036177436536077 + }, + { + "x": 0.5053381688701328, + "y": 0.30034721374021955 + }, + { + "x": 0.5161416372688009, + "y": 0.30034721374021955 + }, + { + "x": 0.526945105667469, + "y": 0.30034721374021955 + }, + { + "x": 0.537748574066137, + "y": 0.30688827356699583 + }, + { + "x": 0.548552042464805, + "y": 0.31342933339377205 + }, + { + "x": 0.5593555108634731, + "y": 0.32324092313393654 + }, + { + "x": 0.5658375919026739, + "y": 0.33632304278748903 + }, + { + "x": 0.5679982855824075, + "y": 0.3526756923544298 + }, + { + "x": 0.5679982855824075, + "y": 0.36902834192137046 + }, + { + "x": 0.5701589792621411, + "y": 0.3853809914883111 + }, + { + "x": 0.5744803666216083, + "y": 0.4017336410552518 + }, + { + "x": 0.5809624476608092, + "y": 0.41808629062219255 + }, + { + "x": 0.58744452870001, + "y": 0.4311684102757451 + }, + { + "x": 0.5939266097392109, + "y": 0.44425052992929764 + }, + { + "x": 0.5960873034189443, + "y": 0.46060317949623825 + }, + { + "x": 0.6025693844581451, + "y": 0.47368529914979085 + }, + { + "x": 0.6112121591770796, + "y": 0.48349688888995523 + }, + { + "x": 0.6220156275757476, + "y": 0.49657900854350784 + }, + { + "x": 0.6306584022946821, + "y": 0.5063905982836723 + }, + { + "x": 0.6436225643730837, + "y": 0.5162021880238367 + }, + { + "x": 0.6544260327717517, + "y": 0.5227432478506129 + }, + { + "x": 0.6652295011704197, + "y": 0.5292843076773891 + }, + { + "x": 0.6760329695690878, + "y": 0.5358253675041654 + }, + { + "x": 0.6868364379677558, + "y": 0.5390958974175536 + }, + { + "x": 0.6954792126866901, + "y": 0.5521780170711061 + }, + { + "x": 0.6954792126866901, + "y": 0.5718011965514349 + }, + { + "x": 0.6933185190069566, + "y": 0.5881538461183756 + }, + { + "x": 0.6846757442880222, + "y": 0.59796543585854 + }, + { + "x": 0.6738722758893542, + "y": 0.6012359657719283 + }, + { + "x": 0.6609081138109526, + "y": 0.6012359657719283 + }, + { + "x": 0.6479439517325509, + "y": 0.6012359657719283 + }, + { + "x": 0.6371404833338828, + "y": 0.5881538461183756 + }, + { + "x": 0.6220156275757476, + "y": 0.5783422563782114 + }, + { + "x": 0.6068907718176124, + "y": 0.5619896068112705 + }, + { + "x": 0.5960873034189443, + "y": 0.5489074871577181 + }, + { + "x": 0.5852838350202764, + "y": 0.5423664273309418 + }, + { + "x": 0.5744803666216083, + "y": 0.5358253675041654 + }, + { + "x": 0.5615162045432066, + "y": 0.5358253675041654 + }, + { + "x": 0.5507127361445386, + "y": 0.5325548375907774 + }, + { + "x": 0.5442306551053377, + "y": 0.5194727179372247 + }, + { + "x": 0.5399092677458706, + "y": 0.5358253675041654 + }, + { + "x": 0.537748574066137, + "y": 0.5521780170711061 + }, + { + "x": 0.537748574066137, + "y": 0.5685306666380467 + }, + { + "x": 0.537748574066137, + "y": 0.5848833162049876 + }, + { + "x": 0.5442306551053377, + "y": 0.59796543585854 + }, + { + "x": 0.5507127361445386, + "y": 0.6110475555120926 + }, + { + "x": 0.5528734298242722, + "y": 0.6274002050790334 + }, + { + "x": 0.5550341235040058, + "y": 0.643752854645974 + }, + { + "x": 0.5550341235040058, + "y": 0.6601055042129147 + }, + { + "x": 0.5550341235040058, + "y": 0.6764581537798555 + }, + { + "x": 0.5550341235040058, + "y": 0.6928108033467961 + }, + { + "x": 0.5550341235040058, + "y": 0.7124339828271248 + }, + { + "x": 0.5550341235040058, + "y": 0.7287866323940657 + }, + { + "x": 0.548552042464805, + "y": 0.7418687520476182 + }, + { + "x": 0.5355878803864034, + "y": 0.7451392819610063 + }, + { + "x": 0.526945105667469, + "y": 0.7353276922208419 + }, + { + "x": 0.5183023309485346, + "y": 0.7222455725672892 + }, + { + "x": 0.5161416372688009, + "y": 0.7058929230003486 + }, + { + "x": 0.5139809435890673, + "y": 0.689540273433408 + }, + { + "x": 0.5118202499093337, + "y": 0.6699170939530791 + }, + { + "x": 0.5096595562296001, + "y": 0.6535644443861385 + }, + { + "x": 0.5053381688701328, + "y": 0.6372117948191978 + }, + { + "x": 0.5010167815106658, + "y": 0.6208591452522569 + }, + { + "x": 0.4945347004714648, + "y": 0.6077770255987045 + }, + { + "x": 0.4837312320727969, + "y": 0.6045064956853163 + }, + { + "x": 0.47292776367412886, + "y": 0.6045064956853163 + }, + { + "x": 0.4642849889551944, + "y": 0.6175886153388689 + }, + { + "x": 0.45780290791599365, + "y": 0.6339412649058096 + }, + { + "x": 0.44916013319705916, + "y": 0.6502939144727503 + }, + { + "x": 0.44483874583759186, + "y": 0.6666465640396909 + }, + { + "x": 0.44483874583759186, + "y": 0.6829992136066317 + }, + { + "x": 0.44483874583759186, + "y": 0.6993518631735723 + }, + { + "x": 0.44483874583759186, + "y": 0.7157045127405129 + }, + { + "x": 0.44483874583759186, + "y": 0.7320571623074539 + }, + { + "x": 0.44051735847812473, + "y": 0.7484098118743944 + }, + { + "x": 0.42971389007945665, + "y": 0.7516803417877825 + }, + { + "x": 0.4210711153605223, + "y": 0.7418687520476182 + }, + { + "x": 0.41458903432132144, + "y": 0.7287866323940657 + }, + { + "x": 0.41242834064158784, + "y": 0.7124339828271248 + }, + { + "x": 0.41026764696185425, + "y": 0.6960813332601842 + }, + { + "x": 0.41026764696185425, + "y": 0.6797286836932436 + }, + { + "x": 0.41026764696185425, + "y": 0.6633760341263029 + }, + { + "x": 0.41026764696185425, + "y": 0.6470233845593621 + }, + { + "x": 0.41026764696185425, + "y": 0.6306707349924215 + }, + { + "x": 0.41026764696185425, + "y": 0.6143180854254807 + }, + { + "x": 0.41242834064158784, + "y": 0.59796543585854 + }, + { + "x": 0.41458903432132144, + "y": 0.5816127862915994 + }, + { + "x": 0.4189104216807886, + "y": 0.5619896068112705 + }, + { + "x": 0.4232318090402559, + "y": 0.5456369572443298 + }, + { + "x": 0.4253925027199895, + "y": 0.5292843076773891 + }, + { + "x": 0.42755319639972306, + "y": 0.5129316581104485 + }, + { + "x": 0.4189104216807886, + "y": 0.49984953845689595 + }, + { + "x": 0.4081069532821207, + "y": 0.49984953845689595 + }, + { + "x": 0.39730348488345263, + "y": 0.49330847863011973 + }, + { + "x": 0.3886607101645182, + "y": 0.48349688888995523 + }, + { + "x": 0.3778572417658502, + "y": 0.47695582906317896 + }, + { + "x": 0.36705377336718215, + "y": 0.47041476923640274 + }, + { + "x": 0.35625030496851406, + "y": 0.4638737094096264 + }, + { + "x": 0.34544683656984604, + "y": 0.45733264958285014 + }, + { + "x": 0.3324826744914444, + "y": 0.45079158975607386 + }, + { + "x": 0.32816128713197723, + "y": 0.4344389401891332 + }, + { + "x": 0.334643368171178, + "y": 0.42135682053558066 + }, + { + "x": 0.3432861428901125, + "y": 0.4115452307954162 + }, + { + "x": 0.35408961128878047, + "y": 0.40500417096864 + }, + { + "x": 0.36489307968744855, + "y": 0.39846311114186367 + }, + { + "x": 0.3756965480861165, + "y": 0.3919220513150874 + }, + { + "x": 0.3865000164847846, + "y": 0.3919220513150874 + } + ] + ], + "subtractivePaths": [] + } + } + ] + ] } ], "links": [ @@ -5054,22 +4210,6 @@ 18, "INT" ], - [ - 461, - 197, - 1, - 191, - 0, - "IMAGE" - ], - [ - 462, - 197, - 2, - 192, - 0, - "MASK" - ], [ 463, 198, @@ -5094,38 +4234,6 @@ 2, "INT" ], - [ - 466, - 197, - 1, - 193, - 3, - "IMAGE" - ], - [ - 467, - 197, - 2, - 193, - 4, - "MASK" - ], - [ - 472, - 197, - 0, - 198, - 0, - "IMAGE" - ], - [ - 473, - 197, - 1, - 198, - 1, - "IMAGE" - ], [ 474, 190, @@ -5190,22 +4298,6 @@ 2, "INT" ], - [ - 492, - 126, - 0, - 197, - 0, - "IMAGE" - ], - [ - 497, - 197, - 0, - 201, - 0, - "IMAGE" - ], [ 499, 199, @@ -5254,22 +4346,6 @@ 3, "IMAGE" ], - [ - 506, - 205, - 0, - 197, - 1, - "IMAGE" - ], - [ - 507, - 205, - 1, - 197, - 2, - "MASK" - ], [ 508, 206, @@ -5277,6 +4353,86 @@ 205, 1, "IMAGE" + ], + [ + 509, + 126, + 0, + 207, + 0, + "IMAGE" + ], + [ + 510, + 205, + 0, + 207, + 1, + "IMAGE" + ], + [ + 511, + 205, + 1, + 207, + 2, + "MASK" + ], + [ + 512, + 207, + 0, + 198, + 0, + "IMAGE" + ], + [ + 513, + 207, + 0, + 201, + 0, + "IMAGE" + ], + [ + 514, + 207, + 1, + 191, + 0, + "IMAGE" + ], + [ + 515, + 207, + 1, + 193, + 3, + "IMAGE" + ], + [ + 516, + 207, + 1, + 198, + 1, + "IMAGE" + ], + [ + 517, + 207, + 2, + 192, + 0, + "MASK" + ], + [ + 518, + 207, + 2, + 193, + 4, + "MASK" ] ], "groups": [ @@ -5297,10 +4453,10 @@ "config": {}, "extra": { "ds": { - "scale": 0.6115909044841574, + "scale": 0.7400249944258311, "offset": [ - 1389.127270314667, - 532.1560205605163 + 1449.2687524232492, + 580.8795288483947 ] }, "frontendVersion": "1.33.5", diff --git a/nodes/prepare_refs.py b/nodes/prepare_refs.py index dc436b9..c5fdfaf 100644 --- a/nodes/prepare_refs.py +++ b/nodes/prepare_refs.py @@ -528,6 +528,9 @@ class PrepareRefs: "required": { "mask_width": ("INT", {"default": 640, "min": 8, "max": 4096, "step": 8}), "mask_height": ("INT", {"default": 480, "min": 8, "max": 4096, "step": 8}), + "internal_state": ("STRING", {"default": "{}", "multiline": False}), # Internal canvas state + "export_filename": ("STRING", {"default": "", "multiline": False}), # Export path (hidden in UI) + "ref_layer_data": ("STRING", {"default": "[]", "multiline": False}), # Ref layer data for persistence }, "optional": { "bg_image": ("IMAGE", {"forceInput": True}), @@ -549,7 +552,9 @@ class PrepareRefs: Can export ref images with lasso shapes as masks. """ - def prepare(self, mask_width: int, mask_height: int, bg_image: Optional[torch.Tensor] = None, + def prepare(self, mask_width: int, mask_height: int, internal_state: str = "{}", + export_filename: str = "", ref_layer_data: str = "[]", + bg_image: Optional[torch.Tensor] = None, extra_refs: Optional[torch.Tensor] = None, extra_masks: Optional[torch.Tensor] = None, unique_id: Optional[str] = None, prompt: Optional[Dict] = None): """ @@ -573,7 +578,18 @@ class PrepareRefs: width, height, output_bg_image, internal_processing_image = self._resolve_base_images(mask_width, mask_height, bg_image) # Parse and validate ref_layer_data early - raw_ref_data = parse_ref_layer_data_from_prompt(prompt, unique_id) + # ref_layer_data is now a direct parameter (JSON string), parse it + raw_ref_data = [] + if ref_layer_data: + try: + import json + raw_ref_data = json.loads(ref_layer_data) if isinstance(ref_layer_data, str) else ref_layer_data + if not isinstance(raw_ref_data, list): + raw_ref_data = [] + except (json.JSONDecodeError, ValueError) as e: + print(f"[PrepareRefs WARNING] Failed to parse ref_layer_data: {e}") + raw_ref_data = [] + valid_ref_layers = filter_layers_with_shapes(raw_ref_data) # EARLY GUARD: if no valid layers AND no extra_refs, warn and return empty outputs (no further processing) diff --git a/web/power_spline_editor/prepare_refs.js b/web/power_spline_editor/prepare_refs.js index 69abb43..9795e04 100644 --- a/web/power_spline_editor/prepare_refs.js +++ b/web/power_spline_editor/prepare_refs.js @@ -82,9 +82,12 @@ app.registerExtension({ this.uuid = this.properties.uuid || this.uuid || makeUUID(); console.log('[PrepareRefs onNodeCreated] Using UUID:', this.uuid); - // Hide original dimension widgets + // Hide widgets that shouldn't be visible in UI const widthWidget = this.widgets.find(w => w.name === 'mask_width'); const heightWidget = this.widgets.find(w => w.name === 'mask_height'); + const internalStateWidget = this.widgets.find(w => w.name === 'internal_state'); + const exportFilenameWidget = this.widgets.find(w => w.name === 'export_filename'); + const refLayerDataWidget = this.widgets.find(w => w.name === 'ref_layer_data'); const markUserAdjusted = () => { this.properties.userAdjustedDims = true; }; @@ -96,6 +99,11 @@ app.registerExtension({ } }); + // Hide the persistence widgets (they're managed by the node, not user-editable) + [internalStateWidget, exportFilenameWidget, refLayerDataWidget].forEach(w => { + if (w) hideWidgetForGood(this, w); + }); + // Size manager for consistent canvas/node sizing this.sizeManager = new NodeSizeManager(this, { spacingAfterCanvas: 36, @@ -267,23 +275,20 @@ app.registerExtension({ this.refLayers = []; this.selectedRefLayer = null; - this.addSerializedRefDataWidget(); - }; - - nodeType.prototype.addSerializedRefDataWidget = function () { - const widget = { - type: "custom", - name: "ref_layer_data", - value: [], - serialize: true, - callback: () => { widget.value = this.getRefLayerData(); } - }; - this.widgets.push(widget); + // ref_layer_data widget is now created by Python INPUT_TYPES, not here + // Just ensure its callback updates the layer data + const refDataWidget = this.widgets?.find(w => w.name === 'ref_layer_data'); + if (refDataWidget) { + const origCallback = refDataWidget.callback; + refDataWidget.callback = () => { + origCallback?.call(refDataWidget); + this.updateRefDataWidget(); + }; + } }; nodeType.prototype.getRefLayerData = function () { return (this.refLayers || []) - .filter(l => l.value?.lassoShape?.additivePaths?.length > 0) .map(l => ({ ...l.value })); }; @@ -464,13 +469,15 @@ app.registerExtension({ if (w) { const layerData = this.getRefLayerData(); console.log('[PrepareRefs updateRefDataWidget] Layer data from getRefLayerData():', layerData); - w.value = layerData; + + // Widget is STRING type in Python, so serialize to JSON + w.value = JSON.stringify(layerData); // Also save to sessionStorage for quick restore on page refresh try { const sessionKey = `prepare-refs-layers-${this.uuid}`; console.log('[PrepareRefs updateRefDataWidget] Saving to session storage with key:', sessionKey); - safeSetSessionItem(sessionKey, JSON.stringify(w.value)); + safeSetSessionItem(sessionKey, JSON.stringify(layerData)); console.log('[PrepareRefs updateRefDataWidget] Saved to session storage successfully'); } catch (e) { console.warn('[PrepareRefs] Failed to save layers to session:', e); @@ -687,6 +694,8 @@ app.registerExtension({ console.log('[PrepareRefs onConfigure] Starting configuration restore'); console.log('[PrepareRefs onConfigure] Current UUID:', this.uuid); console.log('[PrepareRefs onConfigure] Properties UUID:', this.properties?.uuid); + console.log('[PrepareRefs onConfigure] Info object:', info); + console.log('[PrepareRefs onConfigure] All widgets:', this.widgets?.map(w => ({name: w.name, value: w.value}))); // CRITICAL: Restore UUID from properties if available // onConfigure runs AFTER onNodeCreated, so we need to update UUID here @@ -695,26 +704,54 @@ app.registerExtension({ this.uuid = this.properties.uuid; } - // Restore ref layers from widget data + // Find the ref_layer_data widget const refDataWidget = this.widgets?.find(w => w.name === 'ref_layer_data'); - console.log('[PrepareRefs onConfigure] ref_layer_data widget:', refDataWidget); - console.log('[PrepareRefs onConfigure] widget value:', refDataWidget?.value); + console.log('[PrepareRefs onConfigure] ref_layer_data widget found:', !!refDataWidget); - if (refDataWidget && Array.isArray(refDataWidget.value) && refDataWidget.value.length > 0) { - console.log('[PrepareRefs onConfigure] Restoring from widget data:', refDataWidget.value.length, 'layers'); - this.restoreRefLayers(refDataWidget.value); + // ComfyUI's configure applies widget values from widgets_values array to widgets BEFORE onConfigure runs + // The widget value is a JSON string (STRING type in Python), so parse it + let layerData = null; + if (refDataWidget && refDataWidget.value) { + try { + // Parse JSON string to get layer data array + layerData = typeof refDataWidget.value === 'string' ? JSON.parse(refDataWidget.value) : refDataWidget.value; + console.log('[PrepareRefs onConfigure] Parsed layer data from widget:', layerData); + } catch (e) { + console.warn('[PrepareRefs onConfigure] Failed to parse ref_layer_data:', e); + layerData = []; + } + } + console.log('[PrepareRefs onConfigure] Layer data:', layerData); + + // If we have layer data from the workflow (even empty array), use it and DON'T restore from session + // This ensures loading a workflow with no layers doesn't restore old session data + if (layerData !== null && layerData !== undefined && Array.isArray(layerData)) { + if (layerData.length > 0) { + console.log('[PrepareRefs onConfigure] Restoring from workflow data:', layerData.length, 'layers'); + this.restoreRefLayers(layerData); + } else { + console.log('[PrepareRefs onConfigure] Workflow has empty layer array - clearing existing layers'); + // Clear existing layers since the workflow has none + this.refLayers?.forEach(layer => { + if (layer.domElement?.parentNode) { + layer.domElement.parentNode.removeChild(layer.domElement); + } + }); + this.refLayers = []; + this.selectedRefLayer = null; + } } else { - console.log('[PrepareRefs onConfigure] No widget data, trying session storage...'); - // Try to restore from session storage as fallback + // Only restore from session if no workflow data exists (undefined/null) + console.log('[PrepareRefs onConfigure] No workflow layer data, trying session storage...'); const sessionLayers = safeGetSessionItem(`prepare-refs-layers-${this.uuid}`); console.log('[PrepareRefs onConfigure] Session storage data:', sessionLayers); if (sessionLayers) { try { - const layerData = JSON.parse(sessionLayers); - console.log('[PrepareRefs onConfigure] Parsed session data:', layerData); - if (Array.isArray(layerData) && layerData.length > 0) { - console.log('[PrepareRefs onConfigure] Restoring from session:', layerData.length, 'layers'); - this.restoreRefLayers(layerData); + const parsedData = JSON.parse(sessionLayers); + console.log('[PrepareRefs onConfigure] Parsed session data:', parsedData); + if (Array.isArray(parsedData) && parsedData.length > 0) { + console.log('[PrepareRefs onConfigure] Restoring from session:', parsedData.length, 'layers'); + this.restoreRefLayers(parsedData); } } catch (e) { console.warn('[onConfigure] Failed to restore layers from session:', e); @@ -763,7 +800,8 @@ app.registerExtension({ if (refWidget) { const layerData = this.getRefLayerData(); console.log('[PrepareRefs onSerialize] Saving layers:', layerData); - refWidget.value = layerData; + // Widget is STRING type in Python, so serialize to JSON + refWidget.value = JSON.stringify(layerData); } o.properties = o.properties || {};