Surface machine settings in the exercise library and refine machine rigs
Library detail screens now lead with the user's recorded machine settings (per-split when they disagree, empty-state card for machine-based entries) and append the weight progression chart. Starter seeds mark machine exercises with an empty machineSettings list so the settings UI lights up before first use. The figure rig gains a frontal body profile for face-on machines, props that can ride mid joints (knees/elbows), and an alternating four-frame Bird Dog loop. Claude-Session: https://claude.ai/code/session_01LEoff8bXGBS83tK1c55Mf7
@@ -3,15 +3,14 @@
|
||||
<line x1="16" y1="156" x2="304" y2="156" stroke="#b9bec9" stroke-width="3" stroke-linecap="round"/>
|
||||
<rect x="152" y="56" width="16" height="72" rx="5" fill="#c5cad4"/>
|
||||
<rect x="130" y="126" width="60" height="10" rx="3" fill="#c5cad4"/>
|
||||
<path d="M 136.0 78.0 L 136.0 108.0" stroke="#6b7180" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 188.0 78.0 L 188.0 108.0" stroke="#6b7180" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 197.0 110.0 L 197.0 132.0" stroke="#6b7180" stroke-width="9" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 123.0 110.0 L 123.0 132.0" stroke="#6b7180" stroke-width="9" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 160.0 136.0 L 160.0 150.0" stroke="#c5cad4" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 166.0 33.0 L 145.9 55.3 L 141.8 85.0" stroke="#a9afba" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 166.0 118.0 L 120.0 119.3 L 104.0 156.0" stroke="#86cfc5" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 166.0 118.0 L 146.9 129.0 L 146.9 155.0" stroke="#86cfc5" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 116.0 Q 160.0 72.5 160.0 31.0" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 160.0 31.0 L 180.1 53.3 L 184.2 83.0" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 160.0 116.0 L 206.0 117.3 L 216.0 156.0" stroke="#0d9488" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 160.0 116.0 L 179.1 127.0 L 179.1 153.0" stroke="#0d9488" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 179.1 140.0 L 179.1 114.0" stroke="#6b7180" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 146.9 142.0 L 146.9 116.0" stroke="#6b7180" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="160.0" cy="11.0" r="10" fill="white" stroke="#3a3f4b" stroke-width="6"/>
|
||||
<g font-family="-apple-system, Helvetica, sans-serif" font-size="11" fill="#6b7180">
|
||||
<line x1="242" y1="16" x2="258" y2="16" stroke="#3a3f4b" stroke-width="4" stroke-linecap="round"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 1.9 KiB |
@@ -3,15 +3,14 @@
|
||||
<line x1="16" y1="156" x2="304" y2="156" stroke="#b9bec9" stroke-width="3" stroke-linecap="round"/>
|
||||
<rect x="152" y="56" width="16" height="72" rx="5" fill="#c5cad4"/>
|
||||
<rect x="130" y="126" width="60" height="10" rx="3" fill="#c5cad4"/>
|
||||
<path d="M 136.0 78.0 L 136.0 108.0" stroke="#6b7180" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 188.0 78.0 L 188.0 108.0" stroke="#6b7180" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 197.0 110.0 L 197.0 132.0" stroke="#6b7180" stroke-width="9" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 123.0 110.0 L 123.0 132.0" stroke="#6b7180" stroke-width="9" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 160.0 136.0 L 160.0 150.0" stroke="#c5cad4" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 166.0 33.0 L 145.9 55.3 L 141.8 85.0" stroke="#a9afba" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 166.0 118.0 L 120.1 121.3 L 140.0 156.0" stroke="#86cfc5" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 166.0 118.0 L 160.3 139.3 L 160.3 165.3" stroke="#86cfc5" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 116.0 Q 160.0 72.5 160.0 31.0" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 160.0 31.0 L 180.1 53.3 L 184.2 83.0" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 160.0 116.0 L 205.1 124.9 L 180.0 156.0" stroke="#0d9488" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 160.0 116.0 L 165.7 137.3 L 165.7 163.3" stroke="#0d9488" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 165.7 150.3 L 165.7 124.3" stroke="#6b7180" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 160.3 152.3 L 160.3 126.3" stroke="#6b7180" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="160.0" cy="11.0" r="10" fill="white" stroke="#3a3f4b" stroke-width="6"/>
|
||||
<g font-family="-apple-system, Helvetica, sans-serif" font-size="11" fill="#6b7180">
|
||||
<line x1="242" y1="16" x2="258" y2="16" stroke="#3a3f4b" stroke-width="4" stroke-linecap="round"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 1.9 KiB |
@@ -1,17 +1,17 @@
|
||||
{
|
||||
"name": "Adductor",
|
||||
"primary": 2,
|
||||
"figure": "frontal",
|
||||
"working": ["leg_r", "leg_l"],
|
||||
"hide": [],
|
||||
"props": [
|
||||
{"type": "scene", "shapes": [
|
||||
{"kind": "rect", "x": 152, "y": 56, "w": 16, "h": 72, "r": 5},
|
||||
{"kind": "rect", "x": 130, "y": 126, "w": 60, "h": 10, "r": 3},
|
||||
{"kind": "line", "pts": [[136, 78], [136, 108]], "w": 4, "color": "prop"},
|
||||
{"kind": "line", "pts": [[188, 78], [188, 108]], "w": 4, "color": "prop"},
|
||||
{"kind": "line", "pts": [[197, 110], [197, 132]], "w": 9, "color": "prop"},
|
||||
{"kind": "line", "pts": [[123, 110], [123, 132]], "w": 9, "color": "prop"}
|
||||
]}
|
||||
{"kind": "line", "pts": [[160, 136], [160, 150]], "w": 6}
|
||||
]},
|
||||
{"type": "pad", "at": ["knee_r"], "angle": 90, "halfLen": 13, "w": 6},
|
||||
{"type": "pad", "at": ["knee_l"], "angle": 90, "halfLen": 13, "w": 6}
|
||||
],
|
||||
"frames": [
|
||||
{
|
||||
@@ -19,16 +19,14 @@
|
||||
"root": [160, 116],
|
||||
"spine": [90, 90], "neck": 90,
|
||||
"arm_r": [-48, -82], "arm_l": [-132, -98],
|
||||
"leg_r": [-22, 0], "leg_l": [-158, 0],
|
||||
"pins": {"foot_r": [216, 156], "foot_l": [104, 156]}
|
||||
"leg_r": [-30, -90], "leg_l": [-150, -90]
|
||||
},
|
||||
{
|
||||
"hold": 0.5, "tween": 1.1,
|
||||
"root": [160, 116],
|
||||
"spine": [90, 90], "neck": 90,
|
||||
"arm_r": [-48, -82], "arm_l": [-132, -98],
|
||||
"leg_r": [-22, 0], "leg_l": [-158, 0],
|
||||
"pins": {"foot_r": [180, 156], "foot_l": [140, 156]}
|
||||
"leg_r": [-75, -90], "leg_l": [-105, -90]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 196 KiB After Width: | Height: | Size: 165 KiB |
@@ -3,15 +3,14 @@
|
||||
<line x1="16" y1="156" x2="304" y2="156" stroke="#b9bec9" stroke-width="3" stroke-linecap="round"/>
|
||||
<rect x="152" y="56" width="16" height="72" rx="5" fill="#c5cad4"/>
|
||||
<rect x="130" y="126" width="60" height="10" rx="3" fill="#c5cad4"/>
|
||||
<path d="M 136.0 78.0 L 136.0 108.0" stroke="#6b7180" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 188.0 78.0 L 188.0 108.0" stroke="#6b7180" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 197.0 110.0 L 197.0 132.0" stroke="#6b7180" stroke-width="9" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 123.0 110.0 L 123.0 132.0" stroke="#6b7180" stroke-width="9" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 160.0 136.0 L 160.0 150.0" stroke="#c5cad4" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 166.0 33.0 L 145.9 55.3 L 141.8 85.0" stroke="#a9afba" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 166.0 118.0 L 120.1 121.3 L 140.0 156.0" stroke="#86cfc5" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 166.0 118.0 L 160.3 139.3 L 160.3 165.3" stroke="#86cfc5" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 116.0 Q 160.0 72.5 160.0 31.0" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 160.0 31.0 L 180.1 53.3 L 184.2 83.0" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 160.0 116.0 L 205.1 124.9 L 180.0 156.0" stroke="#0d9488" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 160.0 116.0 L 165.7 137.3 L 165.7 163.3" stroke="#0d9488" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 165.7 150.3 L 165.7 124.3" stroke="#6b7180" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M 160.3 152.3 L 160.3 126.3" stroke="#6b7180" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="160.0" cy="11.0" r="10" fill="white" stroke="#3a3f4b" stroke-width="6"/>
|
||||
<g font-family="-apple-system, Helvetica, sans-serif" font-size="11" fill="#6b7180">
|
||||
<line x1="242" y1="16" x2="258" y2="16" stroke="#3a3f4b" stroke-width="4" stroke-linecap="round"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 1.9 KiB |