Files
stickman/stickmen/break.stk
T
ryan ab5c79ab6a feat: Implement draggable torso and head IK targets in the test harness
- Added draggable handles for the torso and head to the test harness.
- Updated `IK_HANDLE_PATHS` to include new entries for "Head" and "Torso".
- Implemented distinct colors for the torso (magenta) and head (yellow) markers.
- Added a visual aid (aim line) to indicate the head's LookAt target direction.
- Ensured that dragging the torso moves only the torso marker, allowing for limb stretching towards stationary targets.
2026-08-21 12:39:31 -04:00

773 lines
12 KiB
Plaintext

{
"version": "1.5",
"stickman_name": "",
"part_order": [
"torso",
"head",
"left_upper_arm",
"left_lower_arm",
"right_upper_arm",
"right_lower_arm",
"left_upper_leg",
"left_lower_leg",
"right_upper_leg",
"right_lower_leg"
],
"proportions": {
"upper_arm_length": 168.0,
"lower_arm_length": 200.0,
"upper_leg_length": 200.0,
"lower_leg_length": 200.0,
"torso_length": 391.5
},
"body_parts": {
"head": {
"shapes": [
{
"shape_type": "circle",
"points": [
{
"x": 490.08984375,
"y": 153.165756225586
},
{
"x": 510.089874267578,
"y": 158.52473449707
},
{
"x": 524.730834960938,
"y": 173.165756225586
},
{
"x": 528.949584960938,
"y": 196.245040893555
},
{
"x": 524.730834960938,
"y": 213.165756225586
},
{
"x": 510.089874267578,
"y": 227.806777954102
},
{
"x": 490.08984375,
"y": 233.165756225586
},
{
"x": 470.08984375,
"y": 227.806777954102
},
{
"x": 455.448852539063,
"y": 213.165756225586
},
{
"x": 450.08984375,
"y": 193.165756225586
},
{
"x": 455.448852539063,
"y": 173.165756225586
},
{
"x": 470.08984375,
"y": 158.52473449707
}
],
"color": "d5ab46ff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
},
{
"shape_type": "rectangle",
"points": [
{
"x": 465.580932617188,
"y": 174.753814697266
},
{
"x": 481.539428710938,
"y": 174.596008300781
},
{
"x": 485.394866943359,
"y": 185.210296630859
},
{
"x": 467.937316894531,
"y": 184.475402832031
}
],
"color": "0800ffff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0
]
},
{
"shape_type": "rectangle",
"points": [
{
"x": 495.061004638672,
"y": 184.940002441406
},
{
"x": 511.019500732422,
"y": 185.097808837891
},
{
"x": 514.874938964844,
"y": 174.483520507813
},
{
"x": 497.417388916016,
"y": 175.218414306641
}
],
"color": "0800ffff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0
]
},
{
"shape_type": "line",
"points": [
{
"x": 472.353759765625,
"y": 209.281051635742
},
{
"x": 482.79736328125,
"y": 216.509994506836
},
{
"x": 494.642913818359,
"y": 219.182510375977
},
{
"x": 506.417205810547,
"y": 214.363220214844
},
{
"x": 511.039215087891,
"y": 208.229568481445
}
],
"color": "#000000",
"closed": false,
"vertex_flags": [
0,
1,
1,
1,
0
]
},
{
"shape_type": "line",
"points": [
{
"x": 504.248718261719,
"y": 201.570190429688
},
{
"x": 487.282531738281,
"y": 202.095932006836
},
{
"x": 487.490539550781,
"y": 195.261291503906
},
{
"x": 504.379791259766,
"y": 201.570190429688
}
],
"color": "#000000",
"closed": false,
"vertex_flags": [
0,
1,
1,
0
]
},
{
"shape_type": "rectangle",
"points": [
{
"x": 451.902404785156,
"y": 159.194290161133
},
{
"x": 557.651245117188,
"y": 160.326751708984
},
{
"x": 558.352966308594,
"y": 168.776214599609
},
{
"x": 452.383483886719,
"y": 169.722885131836
}
],
"color": "ff0000ff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0
]
},
{
"shape_type": "circle",
"points": [
{
"x": 490.218383789063,
"y": 122.896606445313
},
{
"x": 510.218383789063,
"y": 128.255599975586
},
{
"x": 524.859375,
"y": 142.896606445313
},
{
"x": 530.218383789063,
"y": 162.896606445313
},
{
"x": 450.218383789063,
"y": 162.896606445313
},
{
"x": 455.577392578125,
"y": 142.896606445313
},
{
"x": 470.218383789063,
"y": 128.255599975586
}
],
"color": "be0000ff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0,
0,
0,
0
]
}
],
"position": {
"x": 408.278564453125,
"y": 381.460693359375
},
"rotation": -360.0,
"scale": {
"x": 1.98590219020844,
"y": 1.98590219020844
},
"pivot": {
"x": 504.221405029297,
"y": 178.031181335449
},
"length": 110.269149780273,
"guide_offset": {
"x": 30.5,
"y": -78.7581176757813
}
},
"torso": {
"shapes": [
{
"shape_type": "rectangle",
"points": [
{
"x": 283.0,
"y": 209.0
},
{
"x": 318.0,
"y": 210.0
},
{
"x": 317.0,
"y": 308.0
},
{
"x": 286.0,
"y": 299.0
}
],
"color": "ec1c00ff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0
]
}
],
"position": {
"x": 579.5,
"y": 569.0
},
"rotation": 180.0,
"scale": {
"x": 0.857142865657806,
"y": 3.9898989200592
},
"pivot": {
"x": 300.5,
"y": 258.5
},
"length": 99.0,
"guide_offset": {
"x": -2.0,
"y": -202.25
}
},
"left_upper_arm": {
"shapes": [
{
"shape_type": "rectangle",
"points": [
{
"x": 436.0,
"y": 158.0
},
{
"x": 543.0,
"y": 160.0
},
{
"x": 536.0,
"y": 181.0
},
{
"x": 436.0,
"y": 181.0
}
],
"color": "ea0000ff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0
]
}
],
"position": {
"x": 306.5,
"y": 604.5
},
"rotation": 0.0,
"scale": {
"x": 1.6074765920639,
"y": 0.782608687877655
},
"pivot": {
"x": 489.5,
"y": 169.5
},
"length": 107.0,
"guide_offset": {
"x": -86.0,
"y": -7.75
}
},
"left_lower_arm": {
"shapes": [
{
"shape_type": "rectangle",
"points": [
{
"x": 427.114593505859,
"y": 127.010650634766
},
{
"x": 533.026489257813,
"y": 127.221878051758
},
{
"x": 532.166625976563,
"y": 142.74137878418
},
{
"x": 426.973449707031,
"y": 142.989349365234
}
],
"color": "f4bd53ff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0
]
}
],
"position": {
"x": 234.999969482422,
"y": 535.000061035156
},
"rotation": 90.0,
"scale": {
"x": 1.88584887981415,
"y": 1.25166654586792
},
"pivot": {
"x": 479.999969482422,
"y": 135.0
},
"length": 106.053039550781,
"guide_offset": {
"x": 0.99993896484375,
"y": -103.749938964844
}
},
"right_upper_arm": {
"shapes": [
{
"shape_type": "rectangle",
"points": [
{
"x": 275.5,
"y": 169.5
},
{
"x": 382.5,
"y": 167.5
},
{
"x": 375.5,
"y": 146.5
},
{
"x": 275.5,
"y": 146.5
}
],
"color": "ea0000ff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0
]
}
],
"position": {
"x": 641.0,
"y": 617.0
},
"rotation": -180.0,
"scale": {
"x": 1.6822429895401,
"y": 0.869565904140472
},
"pivot": {
"x": 329.0,
"y": 158.0
},
"length": 107.0,
"guide_offset": {
"x": 88.0,
"y": -6.75
}
},
"right_lower_arm": {
"shapes": [
{
"shape_type": "rectangle",
"points": [
{
"x": 360.026885986328,
"y": 151.67024230957
},
{
"x": 465.938812255859,
"y": 151.459014892578
},
{
"x": 465.078887939453,
"y": 135.939514160156
},
{
"x": 359.8857421875,
"y": 135.691543579102
}
],
"color": "fbab3aff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0
]
}
],
"position": {
"x": 637.087707519531,
"y": 529.335083007813
},
"rotation": 90.0,
"scale": {
"x": 1.9427238702774,
"y": 1.25166583061218
},
"pivot": {
"x": 412.91227722168,
"y": 143.680892944336
},
"length": 106.053070068359,
"guide_offset": {
"x": 0.0,
"y": -100.734008789063
}
},
"left_upper_leg": {
"shapes": [
{
"shape_type": "rectangle",
"points": [
{
"x": 486.0,
"y": 140.0
},
{
"x": 583.0,
"y": 142.0
},
{
"x": 587.0,
"y": 168.0
},
{
"x": 487.0,
"y": 168.0
}
],
"color": "0000c8ff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0
]
}
],
"position": {
"x": 296.208190917969,
"y": 959.632446289063
},
"rotation": -60.0,
"scale": {
"x": 2.07383060455322,
"y": 0.853155195713043
},
"pivot": {
"x": 536.5,
"y": 154.0
},
"length": 28.0,
"guide_offset": {
"x": -49.2918090820313,
"y": 83.8824462890625
}
},
"left_lower_leg": {
"shapes": [
{
"shape_type": "rectangle",
"points": [
{
"x": 464.0,
"y": 158.0
},
{
"x": 560.0,
"y": 158.0
},
{
"x": 562.0,
"y": 184.0
},
{
"x": 462.0,
"y": 184.0
}
],
"color": "0000cdff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0
]
}
],
"position": {
"x": 275.5,
"y": 1129.0
},
"rotation": 90.0,
"scale": {
"x": 2.09999990463257,
"y": 0.961538791656494
},
"pivot": {
"x": 512.0,
"y": 171.0
},
"length": 26.0,
"guide_offset": {
"x": 0.5,
"y": 94.25
}
},
"right_upper_leg": {
"shapes": [
{
"shape_type": "rectangle",
"points": [
{
"x": 413.5,
"y": 177.0
},
{
"x": 510.5,
"y": 175.0
},
{
"x": 514.5,
"y": 149.0
},
{
"x": 414.5,
"y": 149.0
}
],
"color": "0000c8ff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0
]
}
],
"position": {
"x": 473.218627929688,
"y": 957.340148925781
},
"rotation": 60.0,
"scale": {
"x": 2.10031747817993,
"y": 0.757614314556122
},
"pivot": {
"x": 464.0,
"y": 163.0
},
"length": 28.0,
"guide_offset": {
"x": 55.2186279296875,
"y": 90.590087890625
}
},
"right_lower_leg": {
"shapes": [
{
"shape_type": "rectangle",
"points": [
{
"x": 371.0,
"y": 176.0
},
{
"x": 467.0,
"y": 176.0
},
{
"x": 469.0,
"y": 150.0
},
{
"x": 369.0,
"y": 150.0
}
],
"color": "0000cdff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0
]
}
],
"position": {
"x": 558.5,
"y": 1139.5
},
"rotation": 90.0,
"scale": {
"x": 2.05000042915344,
"y": 0.961539387702942
},
"pivot": {
"x": 419.0,
"y": 163.0
},
"length": 26.0,
"guide_offset": {
"x": 0.5,
"y": 96.75
}
}
},
"metadata": {
"created_at": "2026-08-21T01:09:20",
"modified_at": "2026-08-21T01:09:20"
}
}