Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
groups:
actions:
patterns: ["*"]
8 changes: 8 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,14 @@ jobs:
run: |
xcodebuild -project Example/MuscleMapDemoApp.xcodeproj -scheme MuscleMapDemoApp \
-destination 'generic/platform=iOS Simulator' build
- name: Build documentation
run: |
set -o pipefail
xcodebuild docbuild -scheme MuscleMap -destination 'generic/platform=iOS Simulator' | tee docbuild.log
if grep -E '\.md:[0-9]+:[0-9]+: warning' docbuild.log; then
echo "::error::The documentation has warnings"
exit 1
fi

podspec:
name: CocoaPods lint
Expand Down
4 changes: 4 additions & 0 deletions .spi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
version: 1
builder:
configs:
- documentation_targets: [MuscleMap]
2 changes: 1 addition & 1 deletion MuscleMap.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "MuscleMap"
s.version = "1.8.0"
s.version = "1.9.0"
s.summary = "A SwiftUI SDK for rendering interactive human body muscle maps."
s.description = <<-DESC
MuscleMap provides a declarative way to display a human body and visualize
Expand Down
15 changes: 11 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Add to your `Package.swift`:

```swift
dependencies: [
.package(url: "https://github.com/melihcolpan/MuscleMap.git", from: "1.8.0")
.package(url: "https://github.com/melihcolpan/MuscleMap.git", from: "1.9.0")
]
```

Expand All @@ -56,7 +56,7 @@ Or in Xcode: **File > Add Package Dependencies** and paste the repository URL.
Add to your `Podfile`:

```ruby
pod 'MuscleMap', '~> 1.8.0'
pod 'MuscleMap', '~> 1.9.0'
```

Then run `pod install`.
Expand Down Expand Up @@ -411,7 +411,12 @@ Button("Redo") { if let state = history.redo() { selectedMuscles = state } }

### Muscle Sub-Groups

Sub-groups provide finer control over muscle regions. They inherit the parent muscle's highlight when no specific highlight is set, and take priority in hit testing.
<p align="center">
<img src="https://raw.githubusercontent.com/melihcolpan/MuscleMap/main/Screenshots/front_subgroups.png" width="180" alt="Front Sub-Groups">
<img src="https://raw.githubusercontent.com/melihcolpan/MuscleMap/main/Screenshots/back_regions.png" width="180" alt="Back Sub-Groups">
</p>

Sub-groups provide finer control over muscle regions. Each one is cut from its parent muscle's artwork: the upper and lower chest, the front deltoid, the upper and lower abs, the serratus slips on the ribs, the top of the quadriceps (hip flexors) and the inner and outer quadriceps heads. They inherit the parent muscle's highlight when no specific highlight is set, and take priority in hit testing.

**Always-visible sub-groups** (ankles, adductors, neck) are rendered by default but return their parent muscle on tap — so tapping the ankle area returns `.feet`, tapping the neck returns `.head`, etc.

Expand Down Expand Up @@ -643,7 +648,9 @@ swift run --package-path Tools/ScreenshotGenerator ScreenshotGenerator Screensho
# regenerate the README screenshots
```

Every push and pull request runs the tests, an iOS build, the demo app build and `pod lib lint` on GitHub Actions.
Every push and pull request runs the tests, an iOS build, the demo app build, the documentation build and `pod lib lint` on GitHub Actions. Dependabot keeps the workflow's actions up to date.

The API documentation is on the [Swift Package Index](https://swiftpackageindex.com/melihcolpan/MuscleMap/documentation/musclemap).

## License

Expand Down
Binary file added Screenshots/front_subgroups.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
52 changes: 30 additions & 22 deletions Sources/MuscleMap/Data/FemaleFrontPaths.swift
Original file line number Diff line number Diff line change
Expand Up @@ -266,102 +266,110 @@ enum FemaleFrontPaths {
BodyPartPathData(
slug: .serratus,
left: [
"M226.5 432.2c-2.1-1.3-3.4-3.6-2.9-6.1q1.1-4.8 4.4-7.6c2.2-1.9 5.1-1.6 7.5-.4q3.9 2.1 5.5 6.4c1.1 2.9-.3 6.2-2.8 7.7q-5.3 3.1-11.7-.0z",
"M221.3 449.5c-1.6-1.5-2.6-3.8-1.9-6.1q1.3-4.4 4.9-6.5c2.4-1.5 5.3-.7 7.4 1.0q3.4 2.8 3.8 7.5c.3 3.1-1.4 5.7-4.2 6.7q-5.1 1.8-10-.6z",
"M217.8 468.3c-1.4-1.7-2.0-4.2-1.0-6.4q1.8-3.9 5.5-5.5c2.5-1.1 5.4.1 7.1 2.2q2.8 3.4 2.5 8.1c-.2 3.2-2.1 5.4-5.1 5.9q-4.8 1.1-9-4.3z"
"m 234.32,446.92 c -0.55,-2.95 -0.73,-5.84 -1.94,-8.63 q -4.84,-11.24 -8.61,-21.89 -1.12,-3.17 1.19,-0.73 c 6.09,6.44 10.93,13.52 16.12,20.74 a 1.71,1.68 28.7 0 1 0.33,1.09 q -0.53,11.15 -1.88,22.64 -0.27,2.38 -1.24,0.18 -2.52,-5.75 -3.97,-13.4 z",
"m 242.67,456.5 c 3.65,1.14 7.61,3.78 10.54,6.08 q 2.32,1.82 2.25,4.78 l -0.21,8.13 q -0.04,1.79 -1.45,0.68 -5.7,-4.52 -10.18,-10.21 c -1.95,-2.48 -2.49,-5.57 -2.19,-8.64 a 0.96,0.96 0 0 1 1.24,-0.82 z",
"m 246.6,490.48 c -6.03,-4.05 -7.7,-15.15 -7.34,-21.92 a 0.29,0.29 0 0 1 0.5,-0.19 c 4.79,4.87 9.23,10.01 14.82,13.93 a 1.71,1.7 17.7 0 1 0.72,1.39 l -0.03,11.84 a 0.6,0.6 0 0 1 -0.96,0.47 q -4.04,-3.05 -7.71,-5.52 z",
"m 252.02,456.3 c -3.08,-1.43 -6.59,-6.27 -8.84,-9.51 q -1.03,-1.49 -0.89,-3.31 a 1.39,1.38 -88.2 0 1 1.35,-1.28 q 2.27,-0.04 4.18,0.73 4.36,1.77 9.23,3.14 0.54,0.15 0.58,0.71 0.4,6.12 -1.21,11.67 a 0.35,0.35 0 0 1 -0.56,0.18 q -1.73,-1.34 -3.84,-2.33 z",
"m 259.53,441.27 c -6.09,-0.94 -15.24,-7.47 -17.83,-12.96 a 1.96,1.95 -46.6 0 1 -0.04,-1.54 c 0.68,-1.67 2.51,-1.45 3.82,-0.88 q 8.66,3.77 17.36,6.42 a 0.45,0.45 0 0 1 0.31,0.35 q 0.79,4.96 -2.71,8.32 -0.38,0.37 -0.91,0.29 z"
],
right: [
"M422.8 432.2c2.1-1.3 3.4-3.6 2.9-6.1q-1.1-4.8-4.4-7.6c-2.2-1.9-5.1-1.6-7.5-.4q-3.9 2.1-5.5 6.4c-1.1 2.9.3 6.2 2.8 7.7q5.3 3.1 11.7-.0z",
"M428.0 449.5c1.6-1.5 2.6-3.8 1.9-6.1q-1.3-4.4-4.9-6.5c-2.4-1.5-5.3-.7-7.4 1.0q-3.4 2.8-3.8 7.5c-.3 3.1 1.4 5.7 4.2 6.7q5.1 1.8 10-.6z",
"M432.4 468.3c1.4-1.7 2.0-4.2 1.0-6.4q-1.8-3.9-5.5-5.5c-2.5-1.1-5.4.1-7.1 2.2q-2.8 3.4-2.5 8.1c.2 3.2 2.1 5.4 5.1 5.9q4.8 1.1 9-4.3z"
"m 384.22,445.83 c 4.32,-0.61 8.05,-3.04 12.37,-3.63 q 1.44,-0.19 1.87,1.19 0.52,1.66 -0.54,3.18 c -4.17,5.96 -7.23,9.14 -12.91,11.89 a 0.38,0.38 0 0 1 -0.53,-0.24 q -1.53,-5.28 -1.13,-11.45 a 1.03,1.01 88.3 0 1 0.87,-0.94 z",
"m 393.51,426.7 q 1.7,-0.72 3.57,-1.16 a 1.83,1.83 0 0 1 1.91,0.73 c 0.66,0.94 0.41,2.29 -0.25,3.15 q -6.32,8.23 -15.71,11.52 -3.03,1.06 -4.1,-1.97 -1.12,-3.14 -1.26,-3.53 -1.02,-2.87 1.9,-3.71 6.45,-1.87 13.94,-5.03 z",
"m 398.41,456.38 a 0.8,0.8 0 0 1 1.09,0.63 c 0.86,5.62 -1.96,9.16 -5.73,13.05 q -3.65,3.78 -7.3,6.56 a 0.41,0.41 0 0 1 -0.66,-0.3 q -0.29,-4.61 -0.24,-8.98 0.03,-3.34 2.9,-5.44 4.69,-3.42 9.94,-5.52 z",
"m 401.76,469.17 c 0.19,6.21 -1.1,14.25 -5.22,19.11 -2.62,3.1 -6.7,5.34 -10.07,7.78 q -0.73,0.53 -0.74,-0.38 l -0.07,-12.12 q 0,-0.59 0.46,-0.96 8.07,-6.31 14.53,-13.82 1.06,-1.24 1.11,0.39 z",
"m 417.44,415.21 c -2.14,7.47 -5.47,14.6 -8.52,22.06 q -1.36,3.31 -1.79,6.59 -1.11,8.53 -4.58,16.68 -0.79,1.86 -1.07,-0.14 -1.42,-10.38 -1.9,-22.98 a 1.58,1.57 -28.9 0 1 0.29,-1 q 6.57,-9.46 12.8,-17.21 1.87,-2.32 4.3,-4.31 0.73,-0.59 0.47,0.31 z"
]
),

// Hip Flexors
BodyPartPathData(
slug: .hipFlexors,
left: [
"M273.2 675.5c-3.5-1.9-6.5-5.7-7.3-9.7q-1.3-6.2 1.1-11.9c1.6-3.9 5.3-6.4 9.4-7.1q5.6-.8 10.4 2.5c3.2 2.3 4.7 6.3 4.4 10.2q-.5 6.1-4.8 10.8c-2.8 3.1-7.4 8.0-13.2 5.2z"
"M234 689.9L223.6 656.6L213.5 623.3L213 622.2L212.5 622.1L210.6 629.6L208.7 637.8L207.2 646L205.9 654.8L204.2 671.9L203.7 689.9Z"
],
right: [
"M375.5 675.5c3.5-1.9 6.5-5.7 7.3-9.7q1.3-6.2-1.1-11.9c-1.6-3.9-5.3-6.4-9.4-7.1q-5.6-.8-10.4 2.5c-3.2 2.3-4.7 6.3-4.4 10.2q.5 6.1 4.8 10.8c2.8 3.1 7.4 8.0 13.2 5.2z"
"M437.2 689.9L436.6 671.4L435.8 662.5L434.8 653.6L433.3 644.2L431.5 634.8L428.7 623L428.5 622.5L428.1 622.1L427.6 622.4L417.4 656.2L406.9 689.9Z"
]
),

// Upper Chest
BodyPartPathData(
slug: .upperChest,
left: [
"M244.5 325.1c4.7-4.3 12.8-7.4 19.4-8.5q11.5-1.6 22.1.5c5.8 1.1 10.1 5.7 12.1 11.3q2.9 8.2 1.6 17.0c-.8 5.6-4.6 9.4-9.8 11.7q-7.7 3.4-16.8 2.2c-6.1-.8-11.9-2.8-16.6-7.1q-7.0-6.3-12.0-27.1z"
"M315.7 365.4L313.5 325.7L312.9 324L311.3 323.2L299.6 320.8L290.8 319.7L283.4 319.2L279.2 319.5L275.1 320.2L269.8 321.6L265.2 323.2L260.9 325L256.7 327.2L252.7 329.7L248.9 332.5L245.8 335.2L242.4 338.5L239.2 342.2L236.6 345.7L230.9 354.9L225.8 365.4Z"
],
right: [
"M404.8 325.1c-4.7-4.3-12.8-7.4-19.4-8.5q-11.5-1.6-22.1.5c-5.8 1.1-10.1 5.7-12.1 11.3q-2.9 8.2-1.6 17.0c.8 5.6 4.6 9.4 9.8 11.7q7.7 3.4 16.8 2.2c6.1-.8 11.9-2.8 16.6-7.1q7.0-6.3 12.0-27.1z"
"M363.4 319.7L360.1 319.3L355.9 319.3L346.7 320L339.6 321.1L333 322.4L329.4 323.2L327.9 324.2L327.5 325.3L325.2 365.4L415.1 365.4L410.7 356.2L405.5 347.5L399.8 340.1L394.4 334.4L387.7 329.3L384.2 327.1L379.9 325L372.1 321.9Z"
]
),

// Lower Chest
BodyPartPathData(
slug: .lowerChest,
left: [
"M248.2 370.2c2.8-2.5 8.1-4.6 12.0-5.4q8.9-1.6 17.9.3c5.1 1.1 9.2 4.4 11.6 9.2q3.4 6.8 2.2 14.4c-1.0 5.5-5.3 8.9-10.2 10.7q-6.9 2.5-14.6 1.0c-5.2-1.0-9.8-3.5-13.2-7.7q-5.0-6.4-5.7-22.5z"
"M215.3 403.4L216.1 404.3L225.2 409.5L241.1 417.8L254.7 423.8L267.7 428.7L277.4 431.4L286.6 432.8L290.5 433L294.1 432.9L297.7 432.4L300.6 431.6L302.8 430.7L304.9 429.4L308.5 426.3L311.3 423.7L314.2 419.9L315.1 418L315.9 415.4L316.9 408.6L317.2 397.3L316.9 385.5L315.9 368.6L224.5 368.6L221.5 376.9L219 385.6L216.6 395.6Z"
],
right: [
"M401.1 370.2c-2.8-2.5-8.1-4.6-12.0-5.4q-8.9-1.6-17.9.3c-5.1 1.1-9.2 4.4-11.6 9.2q-3.4 6.8-2.2 14.4c1.0 5.5 5.3 8.9 10.2 10.7q6.9 2.5 14.6 1.0c5.2-1.0 9.8-3.5 13.2-7.7q5.0-6.4 5.7-22.5z"
"M325 368.6L323.9 387.4L323.7 398.4L324.1 408.9L325.2 416L326.1 418.5L327 420.4L330.5 424.7L332.9 427L335.6 429L338.3 430.7L340.9 431.8L343.4 432.4L347.5 432.9L351.6 432.9L355.8 432.6L364.8 431.1L374.8 428.3L387.6 423.3L401.4 417L417.7 408.4L425 404.2L425.5 403.8L425.7 403.3L424.1 394.4L421.8 385L419.4 376.8L416.4 368.6Z"
]
),

// Inner Quad
BodyPartPathData(
slug: .innerQuad,
left: [
"M284.5 755.2c-2.5-1.3-3.7-4.4-3.8-7.4q-.3-11.6 1.9-23.0c1.5-7.5 4.4-14.3 8.4-20.5q5.2-8.0 11.9-14.4c2.2-2.1 5.3-1.1 6.5 1.6q2.9 6.7 3.5 14.2c.7 10.2-.4 20.4-2.9 30.3q-2.5 9.8-7.4 16.7c-3.1 4.4-11.6 5.6-16.1 2.5z"
"m 301.11,919.16 c -0.02,16.26 -1.13,34.39 -10.87,47.81 -1.99,2.73 -6.98,1.8 -10.02,1.14 -1.09,-0.24 -1.35,-1.1 -1.62,-2.04 -3.49,-11.83 -3.03,-24.65 -1.79,-37.03 q 1.41,-14.09 3.35,-26.37 1.6,-10.13 1.54,-18.61 -0.09,-12.6 -1.48,-24.36 c -1.65,-13.85 -3.88,-27.85 -2.4,-41.77 a 0.32,0.32 0 0 1 0.4,-0.28 q 0.4,0.1 0.57,0.48 c 14.17,32.12 22.37,65.88 22.32,101.03 z"
],
right: [
"M364.8 755.2c2.5-1.3 3.7-4.4 3.8-7.4q.3-11.6-1.9-23.0c-1.5-7.5-4.4-14.3-8.4-20.5q-5.2-8.0-11.9-14.4c-2.2-2.1-5.3-1.1-6.5 1.6q-2.9 6.7-3.5 14.2c-.7 10.2.4 20.4 2.9 30.3q2.5 9.8 7.4 16.7c3.1 4.4 11.6 5.6 16.1 2.5z"
"m 350.02,966.12 c -9.24,-14.15 -10.21,-31.4 -10.24,-48.19 -0.07,-33.99 8.51,-69.02 22.57,-100.06 a 0.51,0.49 -76.6 0 1 0.45,-0.29 q 0.28,0 0.31,0.28 c 0.83,7.48 0.62,15.88 -0.25,23.21 -1.72,14.59 -3.74,28.99 -3.61,44.11 q 0.06,8 1.44,16.9 1.82,11.87 3.26,24.93 c 1.49,13.54 2.18,28.24 -1.97,40.04 a 1.57,1.55 2.7 0 1 -1.11,1 q -3.84,0.9 -7.13,0.61 -2.19,-0.19 -3.72,-2.54 z"
]
),

// Outer Quad
BodyPartPathData(
slug: .outerQuad,
left: [
"M222.4 785.5c-2.9-5.3-4.4-12.0-3.7-18.0q1.1-10.7 5.3-20.7c2.8-6.7 7.1-12.8 12.3-18.0q6.5-6.5 14.6-11.3c2.5-1.5 5.5.2 6.2 3.2q1.6 7.6 1.1 15.6c-.7 11.0-3.5 21.9-7.6 32.0q-4.2 10.1-10.7 18.0c-4.2 5.0-13.2 6.5-17.5-0.8z"
"m 237.75,955.7 c -18.56,-47.89 -33.57,-96.23 -39.84,-146.62 -3.58,-28.72 -3.69,-58.65 1.76,-86.95 q 0.62,-3.18 0.81,0.06 0.5,8.53 1.83,17.04 3.42,21.88 10.35,47.5 6.6,24.41 13.5,49.26 2.72,9.81 5.92,19.09 4.05,11.74 7.55,25.02 1.76,6.7 2.16,12.33 2,28.5 1.14,55.08 c -0.12,3.52 -0.98,6.35 -3.98,8.55 a 0.79,0.79 0 0 1 -1.2,-0.36 z"
],
right: [
"M427.9 785.5c2.9-5.3 4.4-12.0 3.7-18.0q-1.1-10.7-5.3-20.7c-2.8-6.7-7.1-12.8-12.3-18.0q-6.5-6.5-14.6-11.3c-2.5-1.5-5.5.2-6.2 3.2q-1.6 7.6-1.1 15.6c.7 11.0 3.5 21.9 7.6 32.0q4.2 10.1 10.7 18.0c4.2 5.0 13.2 6.5 17.5-0.8z"
"m 441.32,723.15 q 5.4,27.88 3.91,59.43 c -1.5,31.66 -7.16,62.78 -15.56,93.66 q -10.93,40.18 -26.56,79.46 a 0.8,0.8 0 0 1 -1.23,0.34 c -4.09,-3.18 -3.84,-7.55 -3.96,-12.09 q -0.59,-24.2 1.07,-50.23 0.42,-6.4 2.05,-12.77 3.38,-13.22 8.06,-26.98 3.21,-9.44 5.93,-19.09 c 7.96,-28.15 15.34,-53.97 20.99,-81.11 q 3.3,-15.87 4.53,-32.62 0.01,-0.1 0.11,-0.14 l 0.25,-0.09 q 0.11,-0.04 0.12,0.07 0.06,0.98 0.29,2.16 z"
]
),

// Upper Abs
BodyPartPathData(
slug: .upperAbs,
left: [
"M283.5 425.2c-1.9-1.6-2.9-4.6-2.5-7.4q.7-5.6 3.7-10.4c2.0-3.1 5.3-4.6 8.7-4.8q5.6-.3 10.7 1.9c3.5 1.5 5.3 4.9 4.9 8.7q-.5 6.2-4.4 11.0c-2.5 3.2-6.2 4.4-10.1 3.8q-6.5-.9-11.0-2.8z"
"m 261.73,482.62 c 0.12,-10.88 -0.33,-22.8 7.93,-31.04 10.43,-10.39 25.75,-12.91 39.95,-10.63 q 0.47,0.08 0.45,0.54 l -0.87,24.33 a 0.96,0.95 88.3 0 1 -0.86,0.92 q -8.51,0.88 -17.53,2.35 c -11.22,1.83 -20.06,5.16 -28.09,13.92 q -1,1.08 -0.98,-0.39 z",
"m 283.92,476.78 q 12.55,-5.43 25.84,-3.32 0.36,0.06 0.36,0.42 0.41,19.6 -0.86,38.86 a 0.91,0.91 0 0 1 -1,0.85 c -13.44,-1.32 -28.43,-1.82 -41.54,1.88 q -1.32,0.37 -1.93,-0.86 c -9,-18.41 3.35,-31 19.13,-37.83 z",
"m 300.31,556.68 q -4.15,-2.21 -8.98,-2.91 -13.66,-2 -27.37,-1.31 a 0.95,0.95 0 0 1 -0.97,-0.72 q -2.73,-10.93 -1.37,-23.2 0.2,-1.78 1.77,-2.92 c 6.36,-4.65 14.69,-8.3 22.33,-8.94 q 12.38,-1.05 23.44,4.26 a 2.06,2.06 0 0 1 1.17,1.89 q -0.3,18.75 -1.38,35.86 -0.03,0.52 -0.55,0.61 c -2.7,0.45 -5.69,-1.34 -8.09,-2.62 z"
],
right: [
"M365.8 425.2c1.9-1.6 2.9-4.6 2.5-7.4q-.7-5.6-3.7-10.4c-2.0-3.1-5.3-4.6-8.7-4.8q-5.6-.3-10.7 1.9c-3.5 1.5-5.3 4.9-4.9 8.7q.5 6.2 4.4 11.0c2.5 3.2 6.2 4.4 10.1 3.8q6.5-.9 11.0-2.8z"
"m 349.65,553.77 c -5.34,0.78 -9.22,3.16 -13.94,5.24 q -1.59,0.69 -3.28,0.24 a 0.64,0.63 -83.8 0 1 -0.47,-0.59 q -1.23,-19.64 -1.28,-36.09 a 1.7,1.68 -13.4 0 1 0.95,-1.53 c 15.64,-7.64 31.83,-5.42 45.86,4.48 0.94,0.67 1.65,1.44 1.78,2.61 q 1.39,12.16 -1.2,23.23 -0.25,1.07 -1.34,1.03 -13.86,-0.54 -27.08,1.38 z",
"m 354.08,475.63 c 16.7,6.15 32.39,19.94 21.71,39.55 a 0.9,0.9 0 0 1 -1.05,0.43 c -13.38,-3.92 -27.7,-3.22 -41.96,-2.05 a 0.9,0.9 0 0 1 -0.97,-0.78 c -1.62,-12.74 -1.1,-26.27 -1.03,-38.85 a 0.48,0.47 86.4 0 1 0.4,-0.46 q 11.86,-1.91 22.9,2.16 z",
"m 378.34,483.09 c -8.04,-8.87 -17.3,-12.26 -29.19,-14.16 q -8.48,-1.35 -16.49,-2.17 a 1.05,1.04 2.2 0 1 -0.93,-1 l -0.83,-24.24 q -0.02,-0.53 0.51,-0.61 18.35,-2.62 31.52,4.43 14.18,7.59 15.53,22.29 0.76,8.32 0.7,15.15 -0.01,1.2 -0.82,0.31 z"
]
),

// Lower Abs
BodyPartPathData(
slug: .lowerAbs,
left: [
"M288.1 595.5c-2.8-2.2-4.4-6.2-3.8-9.8q1.0-6.5 4.6-12.0c2.4-3.5 5.8-5.3 9.8-4.9q6.2.5 11.0 4.4c3.1 2.5 4.4 6.5 3.5 10.4q-1.5 6.2-6.2 10.1c-3.1 2.5-7.1 3.5-11.0 2.8q-4.6-.7-7.9-1z"
"m 263.89,560.38 c 18.37,-2.6 32.63,0.35 44.32,15.16 q 0.72,0.91 0.91,2.02 0.98,5.72 1.19,10.92 2.01,48.7 2.07,81.21 0.01,2.91 -2.63,5.03 c -2.77,2.21 -10.61,5.88 -13.52,2.38 -6.1,-7.32 -10.49,-16.08 -14.05,-25.36 q -14.5,-37.75 -18.65,-78.2 -0.6,-5.83 -0.33,-12.39 0.03,-0.68 0.69,-0.77 z"
],
right: [
"M361.2 595.5c2.8-2.2 4.4-6.2 3.8-9.8q-1.0-6.5-4.6-12.0c-2.4-3.5-5.8-5.3-9.8-4.9q-6.2.5-11.0 4.4c-3.1 2.5-4.4 6.5-3.5 10.4q1.5 6.2 6.2 10.1c3.1 2.5 7.1 3.5 11.0 2.8q4.6-.7 7.9-1z"
"m 362.23,642.32 c -4.21,12.26 -9.35,24.52 -17.49,34.79 q -0.9,1.12 -2.2,1.22 -6.54,0.54 -11.69,-3.91 c -1.34,-1.16 -2.37,-2.61 -2.35,-4.44 q 0.27,-32.33 1.7,-73.01 0.36,-10.37 1.51,-19.31 0.12,-0.89 0.67,-1.6 c 11.52,-15 26.64,-18.71 44.72,-15.65 a 0.85,0.84 -86 0 1 0.71,0.83 q 0.06,12.43 -1.93,25.22 -4.56,29.34 -13.65,55.86 z"
]
),

// Front Deltoid
BodyPartPathData(
slug: .frontDeltoid,
left: [
"M222.2 310.5c-2.9-1.6-4.6-4.9-4.4-8.3q.5-5.6 3.8-10.1c2.3-3.0 5.6-4.4 9.2-3.7q5.3 1.0 8.9 4.9c2.5 2.6 3.1 6.5 1.9 9.8q-1.9 5.3-6.7 8.0c-3.2 1.8-8.4 1.9-12.7-.6z"
"m 233,326.79 c -5.53,27.66 -26.78,45.52 -55.22,43.68 a 0.54,0.54 0 0 1 -0.5,-0.61 c 4.48,-32.74 28.09,-58.38 54.53,-76.41 q 2.3,-1.57 4.86,-0.86 a 1.61,1.61 0 0 1 1.18,1.72 Q 236,311.81 233,326.79 Z"
],
right: [
"M427.1 310.5c2.9-1.6 4.6-4.9 4.4-8.3q-.5-5.6-3.8-10.1c-2.3-3.0-5.6-4.4-9.2-3.7q-5.3 1.0-8.9 4.9c-2.5 2.6-3.1 6.5-1.9 9.8q1.9 5.3 6.7 8.0c3.2 1.8 8.4 1.9 12.7-.6z"
"m 463.02,370.48 c -23.85,1.37 -44.22,-11.24 -52.35,-33.91 q -2.31,-6.45 -3.64,-14.34 -2.64,-15.63 -3.89,-27.26 -0.28,-2.56 2.36,-2.63 1.96,-0.05 4.36,1.61 c 25.95,18.03 49.33,43.22 53.78,75.78 q 0.1,0.71 -0.62,0.75 z"
]
),

Expand Down
Loading
Loading