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 || {};