@musclemap/core 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -0
- package/dist/heat-colors.d.ts +18 -0
- package/dist/heat-colors.d.ts.map +1 -1
- package/dist/heat-colors.js +27 -0
- package/dist/heat-colors.js.map +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# @musclemap/core
|
|
2
|
+
|
|
3
|
+
**Headless core for [MuscleMap](https://github.com/Jsplice/MuscleMap).** Muscle-group
|
|
4
|
+
types, color scales and region/visibility rules — **zero UI**, usable from any
|
|
5
|
+
framework. The React component ([`@musclemap/react`](https://www.npmjs.com/package/@musclemap/react))
|
|
6
|
+
is built on top of this.
|
|
7
|
+
|
|
8
|
+
## Install
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
pnpm add @musclemap/core
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## What's inside
|
|
15
|
+
|
|
16
|
+
Feed a normalized `score` (0–100) per muscle; the core turns it into colors and
|
|
17
|
+
tells you which groups belong to a given view/region.
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
import {
|
|
21
|
+
getMuscleHeatColor,
|
|
22
|
+
getColorScaleCss,
|
|
23
|
+
getVisibleMuscleGroups,
|
|
24
|
+
} from "@musclemap/core";
|
|
25
|
+
import type { MuscleMapValues } from "@musclemap/core";
|
|
26
|
+
|
|
27
|
+
// Continuous heatmap color for a score (drives the body fills).
|
|
28
|
+
getMuscleHeatColor(72, "LOAD"); // "#f9a..." smooth interpolation
|
|
29
|
+
|
|
30
|
+
// Matching CSS gradient for a legend (same stops → never drifts apart).
|
|
31
|
+
getColorScaleCss("LOAD", "90deg"); // "linear-gradient(90deg, …)"
|
|
32
|
+
|
|
33
|
+
// Which muscle groups to render for a view + region.
|
|
34
|
+
getVisibleMuscleGroups("FRONT", "UPPER_BODY"); // ["CHEST", "SHOULDERS_FRONT", …]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Color models
|
|
38
|
+
|
|
39
|
+
`LOAD` · `FREQUENCY` · `BALANCE` · `RECOVERY_RISK` — each a continuous scale via
|
|
40
|
+
`getMuscleHeatColor` / `getColorScaleStops`, with a stepped variant
|
|
41
|
+
`getMuscleColor` for discrete buckets.
|
|
42
|
+
|
|
43
|
+
### Key exports
|
|
44
|
+
|
|
45
|
+
- `getMuscleHeatColor`, `getColorScaleCss`, `getColorScaleStops`, `getMuscleColor`
|
|
46
|
+
- `getVisibleMuscleGroups`, `MUSCLE_GROUP_META`, `ALL_MUSCLE_GROUPS`
|
|
47
|
+
- Types: `MuscleGroup`, `MuscleMapValue`, `MuscleMapValues`, `MuscleColorModel`,
|
|
48
|
+
`MuscleMapView`, `MuscleMapRegion`, `MuscleMapSex`, …
|
|
49
|
+
|
|
50
|
+
Full docs: **https://github.com/Jsplice/MuscleMap**
|
|
51
|
+
|
|
52
|
+
## License
|
|
53
|
+
|
|
54
|
+
MIT
|
package/dist/heat-colors.d.ts
CHANGED
|
@@ -17,4 +17,22 @@ export declare function getColorScaleStops(model?: MuscleColorModel): ColorStop[
|
|
|
17
17
|
export declare function getMuscleHeatColor(score: number, model?: MuscleColorModel): string;
|
|
18
18
|
/** CSS `linear-gradient(...)` string for a model, for legend bars in any framework. */
|
|
19
19
|
export declare function getColorScaleCss(model?: MuscleColorModel, angle?: string): string;
|
|
20
|
+
/** Default "empty" color at score 0 for the monochrome scale (a neutral grey). */
|
|
21
|
+
export declare const DEFAULT_MONOCHROME_BASE = "#6b7280";
|
|
22
|
+
/**
|
|
23
|
+
* Single-color (monochrome) scale: linearly interpolates `baseColor` (score 0,
|
|
24
|
+
* a neutral grey by default) → `color` (score 100). Use it to tint the body in
|
|
25
|
+
* one brand color, e.g. grey → blue.
|
|
26
|
+
*
|
|
27
|
+
* ```ts
|
|
28
|
+
* getMonochromeColor(0, "#2f7bff"); // "#6b7280" (grey)
|
|
29
|
+
* getMonochromeColor(100, "#2f7bff"); // "#2f7bff" (full color)
|
|
30
|
+
* getMonochromeColor(50, "#2f7bff"); // halfway blend
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare function getMonochromeColor(score: number, color: string, baseColor?: string): string;
|
|
34
|
+
/** Gradient stops for a monochrome scale (base grey → `color`). */
|
|
35
|
+
export declare function getMonochromeScaleStops(color: string, baseColor?: string): ColorStop[];
|
|
36
|
+
/** CSS `linear-gradient(...)` for a monochrome scale (base grey → `color`). */
|
|
37
|
+
export declare function getMonochromeScaleCss(color: string, angle?: string, baseColor?: string): string;
|
|
20
38
|
//# sourceMappingURL=heat-colors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heat-colors.d.ts","sourceRoot":"","sources":["../src/heat-colors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,SAAS,GAAG;IACtB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA2EF,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,KAAK,GAAE,gBAAyB,GAAG,SAAS,EAAE,CAEhF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,gBAAyB,GAAG,MAAM,CAmB1F;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,gBAAyB,EAAE,KAAK,SAAU,GAAG,MAAM,CAK1F"}
|
|
1
|
+
{"version":3,"file":"heat-colors.d.ts","sourceRoot":"","sources":["../src/heat-colors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,SAAS,GAAG;IACtB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA2EF,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,KAAK,GAAE,gBAAyB,GAAG,SAAS,EAAE,CAEhF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,gBAAyB,GAAG,MAAM,CAmB1F;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,gBAAyB,EAAE,KAAK,SAAU,GAAG,MAAM,CAK1F;AAED,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,YAAY,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,MAAgC,GAC1C,MAAM,CAER;AAED,mEAAmE;AACnE,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,MAAgC,GAC1C,SAAS,EAAE,CAKb;AAED,+EAA+E;AAC/E,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,SAAU,EACf,SAAS,GAAE,MAAgC,GAC1C,MAAM,CAER"}
|
package/dist/heat-colors.js
CHANGED
|
@@ -104,4 +104,31 @@ export function getColorScaleCss(model = "LOAD", angle = "90deg") {
|
|
|
104
104
|
.join(", ");
|
|
105
105
|
return `linear-gradient(${angle}, ${stops})`;
|
|
106
106
|
}
|
|
107
|
+
/** Default "empty" color at score 0 for the monochrome scale (a neutral grey). */
|
|
108
|
+
export const DEFAULT_MONOCHROME_BASE = "#6b7280";
|
|
109
|
+
/**
|
|
110
|
+
* Single-color (monochrome) scale: linearly interpolates `baseColor` (score 0,
|
|
111
|
+
* a neutral grey by default) → `color` (score 100). Use it to tint the body in
|
|
112
|
+
* one brand color, e.g. grey → blue.
|
|
113
|
+
*
|
|
114
|
+
* ```ts
|
|
115
|
+
* getMonochromeColor(0, "#2f7bff"); // "#6b7280" (grey)
|
|
116
|
+
* getMonochromeColor(100, "#2f7bff"); // "#2f7bff" (full color)
|
|
117
|
+
* getMonochromeColor(50, "#2f7bff"); // halfway blend
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
export function getMonochromeColor(score, color, baseColor = DEFAULT_MONOCHROME_BASE) {
|
|
121
|
+
return mix(baseColor, color, clampScore(score) / 100);
|
|
122
|
+
}
|
|
123
|
+
/** Gradient stops for a monochrome scale (base grey → `color`). */
|
|
124
|
+
export function getMonochromeScaleStops(color, baseColor = DEFAULT_MONOCHROME_BASE) {
|
|
125
|
+
return [
|
|
126
|
+
{ offset: 0, color: baseColor },
|
|
127
|
+
{ offset: 1, color },
|
|
128
|
+
];
|
|
129
|
+
}
|
|
130
|
+
/** CSS `linear-gradient(...)` for a monochrome scale (base grey → `color`). */
|
|
131
|
+
export function getMonochromeScaleCss(color, angle = "90deg", baseColor = DEFAULT_MONOCHROME_BASE) {
|
|
132
|
+
return `linear-gradient(${angle}, ${baseColor} 0%, ${color} 100%)`;
|
|
133
|
+
}
|
|
107
134
|
//# sourceMappingURL=heat-colors.js.map
|
package/dist/heat-colors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heat-colors.js","sourceRoot":"","sources":["../src/heat-colors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"heat-colors.js","sourceRoot":"","sources":["../src/heat-colors.ts"],"names":[],"mappings":"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"}
|