Files
stickman/stickmen/break.stk
T
ryan 1252728c06 feat: Implement Stickman Factory and Test Harness for runtime rigging
- Added StickmanFactory to load and instantiate .stk files into master_rig.tscn.
- Created a Test Harness scene for debugging bone scales, vector drawing offsets, and IK limits.
- Updated stk_rig_adapter to fit head bone and mount head shapes as full geometry.
- Enhanced README and PROJECT documentation to reflect new features and usage.
- Introduced UI elements for file selection and visual debugging in the Test Harness.
- Refactored code to improve clarity and maintainability, including removal of unused functions.
2026-08-18 21:44:56 -04:00

733 lines
11 KiB
Plaintext

{
"version": "1.4",
"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.448852539062,
"y": 213.165756225586
},
{
"x": 450.08984375,
"y": 193.165756225586
},
{
"x": 455.448852539062,
"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.483520507812
},
{
"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.218383789062,
"y": 122.896606445312
},
{
"x": 510.218383789062,
"y": 128.255599975586
},
{
"x": 524.859375,
"y": 142.896606445312
},
{
"x": 530.218383789062,
"y": 162.896606445312
},
{
"x": 450.218383789062,
"y": 162.896606445312
},
{
"x": 455.577392578125,
"y": 142.896606445312
},
{
"x": 470.218383789062,
"y": 128.255599975586
}
],
"color": "be0000ff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0,
0,
0,
0
]
}
],
"position": {
"x": 248.278564453125,
"y": 126.460693359375
},
"rotation": -360.0,
"scale": {
"x": 1.98590219020844,
"y": 1.98590219020844
},
"pivot": {
"x": 504.221405029297,
"y": 178.031181335449
},
"length": 110.269149780273
},
"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": 419.5,
"y": 344.0
},
"rotation": 0.0,
"scale": {
"x": 0.857142865657806,
"y": 3.9898989200592
},
"pivot": {
"x": 300.5,
"y": 258.5
},
"length": 99.0
},
"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": 136.5,
"y": 364.5
},
"rotation": 0.0,
"scale": {
"x": 1.6074765920639,
"y": 0.782608687877655
},
"pivot": {
"x": 489.5,
"y": 169.5
},
"length": 107.0
},
"left_lower_arm": {
"shapes": [
{
"shape_type": "rectangle",
"points": [
{
"x": 427.114593505859,
"y": 127.010650634766
},
{
"x": 533.026489257812,
"y": 127.221878051758
},
{
"x": 532.166625976562,
"y": 142.74137878418
},
{
"x": 426.973449707031,
"y": 142.989349365234
}
],
"color": "f4bd53ff",
"closed": true,
"vertex_flags": [
0,
0,
0,
0
]
}
],
"position": {
"x": 70.0000305175781,
"y": 295.0
},
"rotation": 90.0,
"scale": {
"x": 1.88584887981415,
"y": 1.25166654586792
},
"pivot": {
"x": 479.999969482422,
"y": 135.0
},
"length": 106.053039550781
},
"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": 481.0,
"y": 377.0
},
"rotation": -180.0,
"scale": {
"x": 1.6822429895401,
"y": 0.869565904140472
},
"pivot": {
"x": 329.0,
"y": 158.0
},
"length": 107.0
},
"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": 482.087707519531,
"y": 289.335083007812
},
"rotation": 90.0,
"scale": {
"x": 1.9427238702774,
"y": 1.25166583061218
},
"pivot": {
"x": 412.91227722168,
"y": 143.680892944336
},
"length": 106.053070068359
},
"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": 141.208190917969,
"y": 714.632446289062
},
"rotation": -60.0,
"scale": {
"x": 2.07383060455322,
"y": 0.853155195713043
},
"pivot": {
"x": 536.5,
"y": 154.0
},
"length": 28.0
},
"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": 115.5,
"y": 879.0
},
"rotation": 90.0,
"scale": {
"x": 2.09999990463257,
"y": 0.961538791656494
},
"pivot": {
"x": 512.0,
"y": 171.0
},
"length": 26.0
},
"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": 318.218627929688,
"y": 727.340270996094
},
"rotation": 60.0,
"scale": {
"x": 2.10031747817993,
"y": 0.757614314556122
},
"pivot": {
"x": 464.0,
"y": 163.0
},
"length": 28.0
},
"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": 403.5,
"y": 899.5
},
"rotation": 90.0,
"scale": {
"x": 2.05000042915344,
"y": 0.961539387702942
},
"pivot": {
"x": 419.0,
"y": 163.0
},
"length": 26.0
}
},
"metadata": {
"created_at": "2026-08-18T21:39:41",
"modified_at": "2026-08-18T21:39:41"
}
}