@welcome-back/brand 0.1.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 +60 -0
- package/dist/cjs/RunnerLoader.js +24 -0
- package/dist/cjs/index.js +5 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/runnerArt.js +22 -0
- package/dist/cjs/runnerCss.js +31 -0
- package/dist/esm/RunnerLoader.d.ts +15 -0
- package/dist/esm/RunnerLoader.js +21 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/runnerArt.d.ts +16 -0
- package/dist/esm/runnerArt.js +19 -0
- package/dist/esm/runnerCss.d.ts +1 -0
- package/dist/esm/runnerCss.js +28 -0
- package/package.json +45 -0
package/README.md
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# @welcome-back/brand
|
|
2
|
+
|
|
3
|
+
WelcomeBack brand assets for React apps. For now: `RunnerLoader`, the isotipo W
|
|
4
|
+
running left with its legs crossing under the body.
|
|
5
|
+
|
|
6
|
+
## Install
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npm i @welcome-back/brand
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
React 18 or 19. No CSS import and no bundler setup: the animation ships inside
|
|
13
|
+
the SVG. ESM and CommonJS builds, so Jest suites can load it too.
|
|
14
|
+
|
|
15
|
+
## Use
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
import { RunnerLoader } from "@welcome-back/brand";
|
|
19
|
+
|
|
20
|
+
// Decorative (aria-hidden) — the surrounding element owns the label:
|
|
21
|
+
<div role="status" aria-label={t("loading")}>
|
|
22
|
+
<RunnerLoader className="w-28" />
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
// Standalone, with its own accessible name:
|
|
26
|
+
<RunnerLoader className="w-16" label={t("loading")} />
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Size it with a width; the height follows the art.
|
|
30
|
+
|
|
31
|
+
## Theme
|
|
32
|
+
|
|
33
|
+
| Set on the runner or an ancestor | Controls | Default |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| `color` | Ink | `currentColor` |
|
|
36
|
+
| `--wb-runner-pants` | Pants fill: set it to the background behind the runner | `Canvas` (the page background) |
|
|
37
|
+
| `--wb-runner-step` | One step; a stride is two steps | `0.32s` |
|
|
38
|
+
|
|
39
|
+
Example for a shadcn/Tailwind 3 app on a tinted surface: put
|
|
40
|
+
`style={{ "--wb-runner-pants": "hsl(var(--background))" }}` on the wrapping element.
|
|
41
|
+
|
|
42
|
+
With `prefers-reduced-motion: reduce`, the runner holds one pose.
|
|
43
|
+
|
|
44
|
+
## Release
|
|
45
|
+
|
|
46
|
+
1. Bump `version` in `package.json` in a PR, and merge it to `main`.
|
|
47
|
+
2. Tag the merge commit: `git tag v0.2.0 && git push origin v0.2.0`.
|
|
48
|
+
3. The Publish workflow checks the tag against the version, runs typecheck,
|
|
49
|
+
tests and build, and publishes to npm.
|
|
50
|
+
|
|
51
|
+
Publishing uses npm trusted publishing (GitHub OIDC): no npm token is stored.
|
|
52
|
+
The trusted publisher is set on npmjs.com → `@welcome-back/brand` → Settings:
|
|
53
|
+
GitHub Actions, `WelcomeBackLoyalty/brand`, workflow `publish.yml`.
|
|
54
|
+
|
|
55
|
+
## Source art
|
|
56
|
+
|
|
57
|
+
`src/runnerArt.ts` comes from page 1 of `KitDeMarca/Isotipo/Ai PDF/Orig_Isotipo.pdf`
|
|
58
|
+
(converted with `pdftocairo -svg`, 1-decimal paths). The source draws both pants
|
|
59
|
+
tops into the W and merges the ground line into the front shoe, so hand-traced
|
|
60
|
+
clip polygons trim them. The comments in that file explain each one.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RunnerLoader = RunnerLoader;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const runnerCss_js_1 = require("./runnerCss.js");
|
|
7
|
+
const runnerArt_js_1 = require("./runnerArt.js");
|
|
8
|
+
/**
|
|
9
|
+
* The isotipo W running left: the legs swing on their hips and cross under the
|
|
10
|
+
* body while it bobs. Size it with width (height follows the viewBox).
|
|
11
|
+
*
|
|
12
|
+
* Theming, all optional CSS custom properties on the runner or an ancestor:
|
|
13
|
+
* - color: ink (currentColor)
|
|
14
|
+
* - --wb-runner-pants: pants fill; default Canvas (the page background)
|
|
15
|
+
* - --wb-runner-step: one step; default 0.32s (a stride is two steps)
|
|
16
|
+
*/
|
|
17
|
+
function RunnerLoader({ className, label }) {
|
|
18
|
+
// url(#…) references break on the colons React puts in useId values.
|
|
19
|
+
const id = (0, react_1.useId)().replace(/:/g, "");
|
|
20
|
+
const a11y = label
|
|
21
|
+
? { role: "img", "aria-label": label }
|
|
22
|
+
: { "aria-hidden": true };
|
|
23
|
+
return ((0, jsx_runtime_1.jsxs)("svg", { viewBox: runnerArt_js_1.RUNNER_VIEWBOX, className: className ? `wb-runner ${className}` : "wb-runner", fill: "currentColor", ...a11y, children: [(0, jsx_runtime_1.jsx)("style", { children: runnerCss_js_1.RUNNER_CSS }), (0, jsx_runtime_1.jsxs)("defs", { children: [(0, jsx_runtime_1.jsx)("clipPath", { id: `${id}-body`, clipPathUnits: "userSpaceOnUse", children: (0, jsx_runtime_1.jsx)("polygon", { points: runnerArt_js_1.BODY_CLIP }) }), (0, jsx_runtime_1.jsx)("clipPath", { id: `${id}-legs`, clipPathUnits: "userSpaceOnUse", children: (0, jsx_runtime_1.jsx)("polygon", { points: runnerArt_js_1.LEGS_CLIP }) }), (0, jsx_runtime_1.jsx)("clipPath", { id: `${id}-front`, clipPathUnits: "userSpaceOnUse", children: (0, jsx_runtime_1.jsx)("polygon", { points: runnerArt_js_1.FRONT_CLIP }) })] }), (0, jsx_runtime_1.jsxs)("g", { className: "wb-runner-bob", children: [(0, jsx_runtime_1.jsxs)("g", { clipPath: `url(#${id}-legs)`, children: [(0, jsx_runtime_1.jsx)("g", { className: "wb-runner-hip-back", children: (0, jsx_runtime_1.jsx)("g", { className: "wb-runner-swing-back", children: (0, jsx_runtime_1.jsxs)("g", { transform: "scale(1.1) translate(-800 -840)", children: [(0, jsx_runtime_1.jsx)("polygon", { className: "wb-runner-pants", points: runnerArt_js_1.BACK_PANTS }), (0, jsx_runtime_1.jsx)("path", { d: runnerArt_js_1.BACK_LEG_PATH })] }) }) }), (0, jsx_runtime_1.jsx)("g", { className: "wb-runner-hip-front", children: (0, jsx_runtime_1.jsx)("g", { className: "wb-runner-swing-front", children: (0, jsx_runtime_1.jsxs)("g", { transform: "scale(1.1) translate(-700 -810)", children: [(0, jsx_runtime_1.jsx)("polygon", { className: "wb-runner-pants", points: runnerArt_js_1.FRONT_PANTS }), (0, jsx_runtime_1.jsx)("path", { clipPath: `url(#${id}-front)`, d: runnerArt_js_1.FRONT_LEG_PATH })] }) }) })] }), (0, jsx_runtime_1.jsx)("path", { clipPath: `url(#${id}-body)`, d: runnerArt_js_1.BODY_PATH })] })] }));
|
|
24
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RunnerLoader = void 0;
|
|
4
|
+
var RunnerLoader_js_1 = require("./RunnerLoader.js");
|
|
5
|
+
Object.defineProperty(exports, "RunnerLoader", { enumerable: true, get: function () { return RunnerLoader_js_1.RunnerLoader; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Vector art for RunnerLoader, from the brand kit: page 1 of
|
|
3
|
+
// KitDeMarca/Isotipo/Ai PDF/Orig_Isotipo.pdf (pdftocairo -svg), 1 decimal.
|
|
4
|
+
// Coordinates are the PDF's 1500x1500 page. The "TM" and ground shadow are dropped.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FRONT_CLIP = exports.LEGS_CLIP = exports.BODY_CLIP = exports.BACK_PANTS = exports.FRONT_PANTS = exports.BACK_LEG_PATH = exports.FRONT_LEG_PATH = exports.BODY_PATH = exports.RUNNER_VIEWBOX = void 0;
|
|
7
|
+
exports.RUNNER_VIEWBOX = "250 390 840 720";
|
|
8
|
+
/** The W. Clipped by BODY_CLIP: the source draws both pants tops into it. */
|
|
9
|
+
exports.BODY_PATH = "M701.8 722.5C698.5 704.1 696.8 681.3 696.8 654.1C696.8 641.6 697.4 629 698.5 616.5C704 561.3 718 533.8 740.4 533.8C747.4 533.8 752.5 536.1 755.9 540.9C759.2 545.7 760.8 552.3 760.8 560.8C760.8 575.1 756.4 595 747.6 620.4C741.3 638.8 733.8 657.5 725 676.4C716.1 695.4 708.4 710.7 701.8 722.5M796.5 894.3C800.5 892.4 804.4 890.4 808.3 888.2C802.3 881.7 796.7 875.8 791.6 871C808.8 867.8 824.6 859.6 839.1 846.4L848.5 859.4C851.9 856.5 855.2 853.6 858.5 850.5L848.2 837.3C863.9 820.4 877.1 799.2 887.8 773.5C900.3 743.6 909.3 710.5 914.8 674.5C918.5 648.7 920.3 625.4 920.3 604.4C920.3 560.3 912.9 528 910.7 518.3C909.1 511.6 904.7 493.9 896 472C882.5 438.1 871.3 426.9 863.6 420.6C850.3 409.5 836.4 406.6 821.9 411.7C813.8 414.6 805.1 420.8 801.9 427.2C798.7 433.6 798.5 440.6 801.2 448.4C803.7 455.5 808.3 461.5 814.9 466.4C821.6 471.3 828.1 475 834.7 477.6C834.7 477.6 834.7 477.6 834.8 477.6C838.8 479.2 842.1 482.3 844.3 486C851.2 497.8 856.7 513.1 860.7 531.8C865.5 554.1 867.9 578.5 867.9 604.9C867.9 621.5 867.1 636.4 865.7 649.6C861.6 697.5 851.5 738.1 835.3 771.6C819.1 805.1 798.7 821.8 774.1 821.8C752.7 821.8 735.1 809.5 721.1 784.8C734 766.8 746.6 745.9 758.9 722.2C771.2 698.5 781.6 674.5 790.1 650.2C801.8 616.7 807.7 586.9 807.7 560.8C807.7 514.8 788.6 489.1 750.3 483.5C744.4 482.8 740.2 482.4 737.6 482.4C712.6 482.4 692.9 493.7 678.3 516.1C663.8 538.5 653.9 568 648.8 604.4C646.6 621.3 645.5 638.8 645.5 656.8C645.5 678.9 647 700.4 650.2 721.4C653.3 742.4 657.6 761.1 663.1 777.7C653.2 789.8 641.2 801 627 811.3C612.8 821.6 600.2 826.8 589.2 826.8C577.1 826.8 567.7 819.4 561.1 804.7C554.4 790 551.1 770.7 551.1 746.8C551.1 726.2 553.7 702.6 558.8 676.1C565.5 643 576 609.8 590.3 576.5C600.6 552.6 612.5 530.5 625.9 510.3L656.1 468.2C660.3 462.3 658 457.1 649.1 452.6L607.5 432C603 429.9 599.5 430.6 596.9 434.1L596.2 435.2C595 436.8 595.1 441.4 596.5 448.9C597.9 456.5 596.7 462.9 592.8 468.4L592.7 468.6C592.4 469 592.1 469.4 591.8 469.8C591.8 469.8 576.7 491.8 576.9 491.9C565.4 510.6 554.6 531.5 544.5 554.7C527.9 593 516 632 508.6 671.7C503.5 699.3 500.9 724.9 500.9 748.4C500.9 787.4 508.3 818.8 523.2 842.5C538.2 866.2 561.2 878.1 592.5 878.1C597.6 878.1 602.7 877.6 607.9 876.5C606.6 879.7 605.5 882.4 604.6 884.3L602.8 889.3C608.6 889.2 614.3 889 620.1 888.8C620.6 888.7 621 888.7 621.5 888.7L628.2 870.1C647.2 861.8 666.9 847.2 687.4 826.2C692.7 833.2 698.2 839.3 704 844.6C700.8 853.2 697.5 860.8 695.7 863.1C692.6 870.1 689.5 877 686.6 883.9C691.3 883.6 696 883.3 700.8 883.5C701 883.5 701.3 883.6 701.5 883.6C702.2 881.7 702.9 879.8 703.6 877.9L713.8 852.7C719 856.4 724.4 859.6 729.9 862.1C744.4 868.7 758.4 872.1 771.9 872.5ZM796.5 894.3";
|
|
10
|
+
/** Front leg, straight, hip at (700, 810). Its sole merges with the ground line, so FRONT_CLIP trims it. */
|
|
11
|
+
exports.FRONT_LEG_PATH = "M601.9 1043.7L599.8 1048.3C599.1 1052.4 596.8 1056.2 595.3 1059.7C592.4 1059.9 590.4 1058.4 588.2 1057.8L581.7 1055.9L547.8 1043.6L540.5 1040.7C537.4 1039.4 534.9 1038.4 532 1037C529.8 1036 527.3 1035.5 525 1034.4L507.3 1026C506.1 1025.5 504.9 1024.8 503.7 1024.3C503.5 1024.3 503.3 1024.3 503.1 1024.3C498 1022.9 493.7 1020 489.4 1017.1L489.4 1017.1L479.2 1011.8L463.4 1002.6L456.9 998L455.2 998.3L454.4 996C452.3 995 449.8 993.6 448.5 991.5L446.6 990.6C445.8 990.2 454.1 977.1 468.7 977.3C475.6 977.4 482.3 981.7 487.9 985.8C490.5 987.1 493.2 988.1 495.8 989.3C497.6 990.2 499.3 991.1 500.7 992.4L509.9 995.9L509.4 1004.6C509.2 1010.4 509.1 1017.3 515.1 1016.8C520.2 1016.4 522 1005.3 520 998L529.5 999L529.1 1007.5L529.6 1012C529.9 1013.9 528.5 1015.6 530.2 1017.5C531.1 1018.5 532.3 1020.5 534.8 1020.1C536.6 1019.9 540.1 1017.1 539.8 1015.3C539.4 1013.1 540.5 1012.7 540.4 1011L539.8 999.3L548.4 998.7C547.9 1001.8 549.1 1004.6 549.2 1007.7L549.5 1015.2C549.5 1017 551.5 1020.8 553.6 1021.1C558.2 1021.5 560.5 1016.5 560.5 1012.6C560.4 1010.2 559.9 1008.6 559.6 1006.3L558.5 997.1L566.5 994.9C567.4 998.5 569.4 1000.3 571.5 1002.7C581.3 1013.7 593.9 1021 608.6 1023.9C606.9 1026.3 605.8 1028.7 606.9 1031.5C604.5 1032.8 603.4 1035.5 605 1038.4C602.3 1039.5 602.8 1041.7 601.9 1043.7M588.2 1074.7C582.3 1074.7 577.1 1072.3 571.6 1070.5L560.3 1066.9L552.4 1064.1L538.9 1058.8L532.1 1056.2L523.4 1052.3C521.4 1051.4 519.9 1050.8 518.2 1050.1L495.2 1039.4L485.9 1034.6L481.4 1032.5C478.9 1031.3 477.5 1030.2 475.1 1028.8L468.7 1025L459.4 1018.7C453.2 1014.6 447 1010 442.3 1004.2C442.2 1001.8 442.6 999.4 443.5 996.7L448.5 1002C457.8 1009.5 467.1 1016.4 477.7 1021.9L504.2 1035.8L522 1043.9L551.7 1056C565.1 1061.4 578.4 1065.3 592 1068ZM735.1 1077.9C733.7 1075.9 732.4 1076.9 730.7 1077.1C729.7 1077.3 727.8 1075.6 726.6 1077.1C726.7 1076 726.7 1075.6 726.5 1075.3C726.4 1074.9 725.4 1074.7 724.8 1074.8L717.6 1076.9C718.3 1071.4 713 1079.2 707.5 1076.4L712.6 1075.7C710.8 1072.7 707.9 1075.4 706.4 1075.2C700 1072.9 699.2 1076.7 696.9 1076.7C696.5 1076.8 695.9 1076.1 696.4 1075.8L698.2 1074.8C695.2 1074.1 692.1 1074.1 689 1074.1L689 1075.1C689.9 1075.2 690.6 1074.7 692.3 1075.6C691.3 1076.4 690.6 1076.5 688.7 1076.2C688.2 1076.4 687.6 1075.4 687.7 1074L680.6 1074C681 1074.7 681.7 1075.1 681.3 1076.4C679.7 1073.6 677.8 1074.2 675.3 1074.2L667.5 1074.1L661.3 1073.6C665 1071.8 669.1 1073 673.3 1073C675.3 1073 677.2 1072.1 679.4 1072.6C680.5 1072.8 681.6 1071.5 682.2 1070.7C684.1 1070.5 683.9 1072.1 682.1 1072C683 1072.7 684.5 1072.8 685.9 1072.2C685.4 1070.1 682.5 1068.5 680.5 1069.8C678.4 1071.1 676.2 1069.3 674.9 1069.5C671.1 1070.1 668.5 1070 664.9 1069.9L656.1 1069.9L649.8 1069.8L640.6 1070.4C637.7 1070.6 634.4 1069.4 631.6 1070.6C630.4 1070.5 628.5 1069.1 627.1 1069.9C624.8 1071.1 618 1070.6 612.1 1071.2L603.6 1071.9C606.3 1068.9 606.5 1065.1 608.1 1062.3C609.4 1060.1 609.5 1057.7 610.5 1055.7C612.8 1051 615.1 1043.5 615.9 1038.5C616.1 1036.9 617 1035.6 617.4 1033.7L619.3 1025.7C619.9 1023.2 620.4 1021 622 1018.9C620.2 1018 619.5 1016.5 618 1015.8L614.6 1014.3C617.6 1012.6 617.2 1010 618.2 1008.2C619.8 1005.5 621.9 1003.1 621.2 999.7C622.3 999.2 623.8 998.5 623.8 997.9L623.8 995C623.8 994 626.1 993.2 626.1 991.7C626.1 990 627.7 988.9 628.3 987.8C627.9 978.5 634.2 988.7 640.8 986.9C641.5 986.8 642.5 985.7 643.1 985.8C644.9 986 645.3 989.5 647.3 987.8C647.8 987.4 648.8 986.8 648.5 985.7C648.4 985 647.2 984.3 646.8 984C646.6 982.6 647.9 981.5 648.3 983.3C650.5 983.3 650.1 981.4 650.7 979.9L655.1 969.1L659.3 959.2C660.3 957 662 956.4 663.9 955.4C665.4 954.5 665.9 951.8 666.9 950.3C665.3 949.2 665.2 948 665.9 946.5L670.1 938.2C671.8 939 672.9 938.4 673.7 937.4C674.5 936.4 675.2 935.1 673.9 933.9C672.6 934.1 672.4 932.8 673.5 932.5C676.5 931.8 678.1 929.7 677.4 926.7C680.1 925.1 681.4 922.8 681 919.6C683.7 917.9 685.5 915.5 686 912.4C685.2 911.9 684.9 911.4 684.8 911C684.7 908.8 688.2 909.2 689 907.9C689.6 906.9 690 905.6 689.2 904.4L686.6 906.2C687.5 903.6 688.2 902 689.4 900C689.8 901 689.5 901.6 688.8 902.8C690.1 903.1 691.4 902 692.2 901.3C693.3 900.3 692.2 898.3 692.3 897.1L695.9 893.9C695.9 890.3 698.4 888.7 699.5 886.3C700.6 884.1 700.5 882.5 702.3 880.5L705.1 875.1C705.6 874.1 705.5 871.5 706.6 870.9C707.9 870.2 708.3 869.6 708.7 868.8C709.2 867.7 709.1 866.4 708.1 865.8L702.4 875.9C702.2 876.1 701.8 876.2 701.6 875.9L712.6 854.2C713.1 853.9 713.4 853.9 713.7 854L708.4 865.1C711.7 864.6 712.3 861.7 712.7 858.9C713.4 858.2 715.1 857.3 715.1 856.4C715.2 853.7 712 851.6 716.6 847.9L714.9 853C717.9 852.5 718.1 850.7 718.5 848.2L720.6 845.9C721.2 845.2 720.5 843.7 719.2 842.5C720.3 841.9 720.8 842.4 721.7 842.7L726.1 834.3C726.3 833.9 726.4 833.1 726.3 832.8C726.2 832.6 725.9 832.3 725 832.7C724.5 832.2 725.2 831.1 725.6 830.5C725.7 830.3 726.1 830.2 726.5 830.3C721.7 827.5 717.6 823.9 714 819.8L713.2 821.3C710.3 826.4 707.9 830.7 705.3 835.9L702.6 841.3L694.9 855.4L691.7 861.8L688.6 867.1L686.1 873.2C683.6 876 681.8 877.5 682 881.5C680.8 883.4 678.6 886 677.4 888.4L676.1 890.8C675.6 891.7 677.2 892.7 677.5 893.4C677.7 895.2 675.4 897.2 674.1 897.6C671.5 898.4 672.1 901.1 671.3 902C668.9 904.8 667.9 907.4 666.5 910.7C665.8 912.4 664.7 913.4 664.1 915.9C663.7 917.8 660.4 920 661.9 923.3C658.5 924.5 657.3 926.9 658 930.1C655.3 932.2 653.9 935 654.4 938.4C651.7 940.1 650.8 942.4 651.1 945.5C649.1 945.8 647.8 947.7 648.2 949.3C648.8 951.8 646.3 952.5 645.8 953.6C644.9 956.1 644.2 957.2 643.2 959.6L640.4 966.7C639.5 969 638.3 970 638.3 972.5L618.3 963C615.6 961.7 613.2 961.2 610.5 959.8L603.2 956.1L591.7 951L596.2 941.5L603 925.4L607.8 914.6C608.8 912.3 609.4 911.1 610.6 909.1C612.1 906.5 612.3 902.8 614.7 900.3L615.8 897.1C617.3 896 617.1 893.4 617.8 892.3C620.6 887.7 623 881.9 625.4 876.6L628 871.1C629.2 868.5 630.2 866.7 630.9 864.1C631.8 863 632.8 861.1 633.6 859.5L639.3 847.4L653.7 818.4C654.7 816.2 655.1 814.8 656.5 812.4L663.1 801.2L671.1 796.6C673.3 795.4 674.4 794.1 676.7 792.9C677.2 792.6 677.9 792.2 678.7 791.8C675.1 791.9 671.6 792.2 668 792.7C663.4 793.4 658.8 794.5 654.4 796C650.2 797.5 646.1 799.5 642.4 802.1C638.7 804.6 635.5 807.7 632.7 811.2C635 811.1 637.4 810.7 639.9 809.8L637.3 814.9C636.3 816.9 635.8 818.8 634.8 820.6L632.1 826.1C629.9 830.5 627.1 836.4 626.1 837.8C624.4 840.1 624.3 842 623.3 844.2C621.2 848.7 618.6 852.7 617.4 857.6C616.9 859.4 615 860.8 614 862.3L614.2 866.2C610.9 867.6 609.5 870.4 610.1 873.9L606.1 878.6C607.5 885.9 600.2 885.9 602.5 891.3C598.3 894.6 597.5 900 595.5 904.5C593.6 908.8 590.4 914.3 590.1 917C589.9 918.2 588.9 920.7 588.2 921.8C586.9 923.6 586.6 926 585.6 928.1L582.9 933.7L581.1 939.2C580.3 941.6 579.1 942.7 578.7 945.3L574.9 953.1C574.6 956.4 578.5 959.4 581.1 960.2C582.1 962.4 579.3 963.9 579.1 965.2C578.5 967.8 577.5 969 576.6 971.1C575.4 973.8 575 976.4 573.1 978.9L569.6 986.3C564.8 980.4 565.7 990 558.9 988.3L563.9 986.2C560.9 985.2 557.9 986.7 554.8 987.1L551.5 985.7C550.5 985.2 549.6 986.9 548.6 987.9C547.3 989.3 544.9 988.2 543.2 988.4L537.9 989.2L534.9 987.4C533.6 986.7 532.5 988.2 531.4 988.6C527.7 989.5 524.2 988.2 520.5 987.9L518.6 988.5C517.7 988.8 516.7 985.9 514.8 985.4C514.1 985.2 512.8 986.3 511.9 986.9C509.6 985.9 506.6 984.9 504.5 986.7C504 986.2 503.4 985.8 503.4 985.5C503.4 985.3 504.5 985 505 984.9C504.5 983.8 503.3 983.4 502 983.3C498.9 983 493.6 978.4 490 975.2C489.3 974.8 487.5 974.7 486.5 974.6C485.6 971.8 483.4 971.6 481.4 970.6C477.1 968.5 469 966 466.4 966.8C464.8 967.2 462.7 966.1 460.8 966C455.2 970.4 449.9 968 446.6 972.7C444.8 972.9 443.5 973.3 443.4 975.4C443.3 976 443.1 976.7 442.7 977.1C442.3 977.6 441.2 977.4 440.6 977.3C437.3 977.1 438.1 981.5 436.9 982.8C435.4 984.3 432.7 984.9 433.1 988.2C433.3 990.2 432.3 992.5 430.3 993.5L430.1 999.2C430 1000.3 429.1 1001.3 429.6 1002.5C429.9 1003.2 430.8 1003.9 432.1 1004.1L431.9 1007.2L430.4 1004.4C428.5 1005.1 428.4 1006.3 428.8 1007.7C429.2 1008.8 429.7 1010.6 431.7 1010.2C432.2 1010.1 432.8 1009.7 433.3 1010.1C434 1010.7 433.9 1011.1 433.1 1011.8C431.8 1012.9 432.6 1014.1 433.2 1014.6C434.3 1015.8 435.2 1016.4 437.1 1015.5C436.8 1014.3 436.2 1013.9 435.5 1012.8C436.9 1012.8 437.2 1013.6 437.8 1014.4C438.4 1015.3 437.5 1016.5 437.3 1017.3C436.8 1020.5 440.5 1020.2 441.9 1020.8C443.6 1023 445.3 1026 448.8 1027.1L455.7 1032C456.9 1034.1 458.8 1035 461.1 1034.8C463.1 1037.3 465.5 1039.1 468.8 1039.2C470.6 1042.4 474 1044.6 477.7 1043.6C478.1 1045 478.5 1045.9 479 1046.5C479.8 1047.5 481.6 1046.7 482.5 1047.2L491.6 1052.6C492.2 1053 494.6 1052.1 494.9 1052.9C496.2 1056.2 499.2 1055.1 501.2 1056C503.3 1057.1 504.4 1060.3 507.6 1058.3C509.4 1061.8 513.4 1062.4 516.9 1062.5L522.9 1066.3C524 1066.9 525.7 1066.7 527 1066.5C527.6 1069.9 530.4 1068.6 532 1069.3L538.9 1072L545.9 1074.7L555 1077.1C552 1079.4 548.4 1076.6 543.8 1079C540.2 1077.8 537.5 1078.7 534.1 1079.2L528.2 1080.1C525.4 1080.5 522 1079.9 519.6 1081.8C520.8 1082.1 521.7 1082.4 521.9 1083.4L514.5 1084.1L514.6 1083.2C515.6 1083 516.7 1083.3 517.9 1082.2C517.2 1081.2 515.8 1081.1 515.1 1081.5C514.5 1081.7 514 1082.4 513.5 1083.6C512.1 1081.6 509.1 1081.4 507.2 1083.1L502.5 1087.2L507.6 1087.3C509.9 1087.3 512.1 1086.1 513.9 1088C515.7 1090 517.7 1088.1 519 1087.3C522.9 1087.4 527.4 1088 531.4 1089.1L538.5 1088.8C540.1 1088.7 541.2 1088.9 542.9 1088.6C544.1 1088.3 545.9 1091.6 547.9 1090.1C549.9 1088.5 552.2 1088.6 554.4 1090C557.1 1091.8 560.3 1089.8 563 1089.7C564.6 1089.7 566.5 1090.9 568 1088.9C571.8 1091.3 576.5 1090.2 580.7 1090C583.2 1089.8 585.6 1090.8 588 1089.3C591.6 1087.1 598.3 1093.3 605.4 1087.9C606.2 1089 607.4 1089.8 608.1 1089.8C609.4 1089.8 610.5 1089.3 611.7 1087.6C613.7 1090.9 616.5 1089 618.8 1089.3C621.5 1089.5 622.7 1089 625 1088.7C626.7 1088.6 629.7 1090.4 632.3 1089.4C641 1086.2 647.9 1091.8 655.5 1087.6C657 1088.2 658.9 1088.3 660.8 1088.4L668.7 1088.6C670.6 1088.7 672.6 1087.6 674 1087C675.8 1088.3 677.8 1087.3 679.2 1087.1C682.3 1087.9 685.6 1089.3 688.4 1086.2C684.9 1084.1 680 1087.9 681.3 1084.7L695.3 1084.1C697.5 1086.7 700.9 1088 704 1086.3C704.6 1086 706.4 1086.9 706.1 1084.8C703.1 1085.1 700 1086.6 696.9 1084.4L713 1083.3C712.3 1085.7 710.2 1085.4 708.3 1084.9C706.5 1084.7 706.8 1086.5 708.1 1086.4L714.2 1085.9C716.3 1085.7 724.4 1087.9 726.4 1084.1C722 1084 718.5 1085.4 714.1 1084.1C716.2 1082.8 718.5 1083.3 721.1 1082.9L724.7 1081.2C725.4 1082.1 726.1 1082.7 726.7 1083C727.5 1083.2 729.3 1082.8 729 1082.1L728.6 1080.9C728.5 1080.7 729.9 1080.3 730.3 1080.5C730.6 1080.7 730.5 1081.3 730.3 1081.9C731.2 1082.3 732 1082.5 733.1 1081.8C732.8 1081.5 732.3 1081.2 732.1 1081.2C731.5 1081.1 731.3 1080.6 731.5 1080.2C731.9 1079.6 732.4 1079.8 732.7 1079.8C733.4 1080 734.5 1083.7 734.7 1081.5C734.8 1081 735 1080.6 735.2 1080.2C735.3 1080 735.9 1080 736 1080.2C736 1080.5 735.7 1081.3 735.4 1081.9L739.7 1081.8C741.6 1080.3 743 1079.1 746.2 1079.3C742.6 1076.9 739 1076.8 735.1 1077.9";
|
|
12
|
+
/** Back leg, bent, hip at (800, 840). */
|
|
13
|
+
exports.BACK_LEG_PATH = "M1057.4 874.6C1057.3 881.2 1053.3 886.9 1048.4 890.3C1046.9 888.1 1048.8 886.2 1048.9 885.1C1049.2 882.6 1049.9 878.5 1049.3 875.5L1046.2 860.7L1045.1 856.1C1040.2 836.2 1030.7 818.1 1020 800.8L1016.4 795.5C1014.3 792.6 1011.8 790.3 1010.1 788C1008.8 786.2 1007.9 784.1 1006.2 782.1C1001.4 776.8 997 771.5 991.4 767.1L980.5 758.5C975.6 754.7 970.5 752.2 964.2 750.3L970.2 742.5C978.7 744.6 985.8 748.7 991.9 754.4L1004.8 766.5L1009.4 771.5L1018.6 782.6L1023.7 789.6L1027.2 794.9L1030.6 800.5L1034.4 806.1C1036 808.5 1036.3 810.3 1037.6 812.9L1041.2 819.8C1042.3 821.9 1043.1 824.1 1045.1 825.5C1044.7 827 1045.6 828.5 1046.2 830.1L1052.4 846.3L1054.4 852.2C1055 854 1053.7 857.3 1056.8 859.1C1055.6 863.1 1056.1 866.6 1058.5 869.7C1055.9 871.1 1057.4 873 1057.4 874.6M1045.6 891.4C1043.5 893.8 1033 890 1030 887.4L1025.8 883.7C1021.3 879.9 1018.5 873.6 1015.3 868.5L1020.8 863.3L1027.7 858C1029.4 856.6 1032.8 856.4 1034.1 854.3L1033.6 852.9C1033.5 852.7 1034.4 852.4 1034.7 852.4C1035.2 852.5 1036.9 857.4 1038.1 861.5L1040.9 871.1C1041.3 872.8 1043.9 873.6 1042.1 876.1C1040.5 878.2 1045.4 882.1 1044.3 885.6C1045.1 887.1 1047 889.7 1045.6 891.4M1010.4 859.9L1004.2 850.3L1009.9 843.9C1009.7 843.4 1009.4 842.8 1009.4 842.5C1009.4 842.2 1010.2 841.2 1010.4 841.4L1011.5 842.7C1013.6 840.7 1015.9 837.6 1017 834.7C1017.8 832.7 1016.1 831.7 1015.2 830.5C1010.4 824.8 1003.7 835.4 997.4 842L993.5 836.5C992.2 834.6 1000.3 830.3 999.9 822.9C1001.4 823.3 1002.4 823.6 1003.1 823.3C1003.8 823.1 1007.3 817 1003.1 813.4C1002.4 812.9 1001.7 811.9 1000.7 811.9C1000.9 811.9 995.1 813.8 994 815.7L987.3 826.7C986.9 827.4 986.8 829.1 985.8 829.6C985.1 829.9 983.8 828.8 982.8 828C980.5 825.8 982.7 821 979.7 814.3L976.6 807.6L972 801.1C969.6 797.7 966.2 794.6 962.7 792.7L957.8 790L951.6 787.6L943 786.2L947.4 778.7L951 772.4L954.5 767.1L959.8 757.7C967.9 761.8 975.7 765.4 981.9 771.8L1000.6 790.9L1007.3 799.5C1011.5 804.9 1013.9 810.1 1017.4 813.1C1017.8 814.4 1018.5 816.5 1019.4 818.2L1029.8 838.5C1031 840.8 1032.2 842.4 1031.9 845.5C1028.5 844 1026.6 846 1024.2 847.2C1021.1 848.8 1019 850.2 1016.6 852.8C1014.5 855.1 1011.6 856.7 1010.4 859.9M1071.4 871.7C1067.8 867.2 1073.1 864 1067.4 858.4C1069.7 855 1068 852.6 1065.8 850.1C1066.8 848 1066 846.3 1065 844.4C1064 842.1 1064.6 838.5 1060.5 837.4C1061.7 835.6 1061.8 834.5 1061.7 833C1061.7 831.8 1060 830.6 1059 829.8C1060.2 825.9 1054.8 821.7 1054.5 818.9C1054.2 816.3 1052 814.2 1051.5 812.4C1050.5 808.7 1048.7 806.6 1046.1 804.4C1045.8 802.5 1046.3 798.1 1043.3 797.7C1042.9 797.6 1042.3 798.6 1042.3 798.9C1042.2 799.4 1040.8 799 1041.6 797.9C1039.6 796.2 1040.3 794 1040 792.1C1039.3 788.2 1035.3 786.1 1033.5 783.2C1032.2 781.3 1032 780 1030.4 778L1025.2 771.2C1024.4 770.2 1021 770 1021.1 768.5C1021.2 766.5 1021.4 765.5 1020 763.9C1018.8 762.6 1017.4 762.4 1015.2 762.4C1014.7 760.8 1014.5 757.1 1012.7 756.3C1011.8 755.9 1009.2 756.4 1008.9 755.1C1008.4 752.8 1008 750.3 1005.5 749.5C1005.3 750.2 1004.3 750.7 1003.6 750L999 745.2C997 743.1 996 742.9 994.1 741.7L985 736.2C981.7 734.1 978.7 733.4 974.6 732.7C973.5 732.5 972.2 730.8 970.6 732.7C970.5 732.9 969.5 732.8 969.6 732.6L970.1 731.1C970.5 730.2 968 729.8 967.1 730.1C966 730.6 965.4 732.2 965.1 733.6C961.4 733.2 960 736.2 958 738.2C955.5 740.9 954.4 743.2 952.7 746.1L946 757.1L941.9 764.4L936.7 774.4C933.1 781.5 926.8 792.2 930.2 794.3C933.8 796.5 937.9 797.9 942.3 797.7C943.5 797.2 944 798.5 942.8 798.9L937.2 806.3L935.7 808.6C935 809.6 933.2 808.6 932.3 808.3C929.4 809.1 927.2 810.9 924.6 812.5L923 816.5C920.3 817.6 919.7 819.9 917.9 821.9L911.7 828.6L907 833.5L901.6 839.4C898.7 842.6 896.3 845.3 893.5 848.3L888.1 854.3L881.8 860.6L873 870.4C870.5 865.4 865.9 860.7 862.6 856.3L845.6 833.6L841.3 827.9C840.5 826.7 837.9 826.1 837.9 823.6C837.8 821 834.9 821 833.5 820.6C832.3 818.6 831.6 815.5 827.7 814.7C830.6 812.4 832.1 810.4 833.5 807.9C831.4 809 829.3 810.3 827.4 811.7C823.7 814.6 820.6 818.2 818.1 822.2C817.3 823.4 816.6 824.6 816 825.9C817.1 825.3 818.3 824.6 818.9 823.6C820.1 823.7 822 824.6 823.3 823.7C823.6 824.9 822.8 825.8 822.5 826.5C823 829 825.9 829.8 826.9 831.3C827.5 833.5 827.8 836.6 830.3 836.9C830.5 836.7 830.9 835.6 831.2 835.7C831.4 835.8 831.8 836.2 832 836.4C832.2 836.8 831.8 837.2 831.7 837.6C831 840.4 833.2 842.7 836.2 843.1C835.8 846.1 836.8 848.5 840 849C839.5 852.1 842.1 852.8 843.4 854.4C844.8 856.1 845.1 858.2 847 859.8C851.6 863.5 851.8 868.6 855.9 869.5C856 872.8 857.8 874.3 860.5 876.4C862.1 877.6 863 881.3 866.4 880.6C867.7 880.4 869.1 880.4 870.1 881.8C870.4 879.2 871.6 878 873.4 876.8C874 878.9 875.4 879.9 877.2 880.3C877.2 880.9 877.1 881.5 877.3 881.8C877.6 882.7 878.6 882.1 879 881.9C882.7 880.1 879.9 876.7 885.5 874.5C884.9 875.5 883.9 876.3 884 877.5C886.9 876.8 888.1 873.8 889.7 872.3L895.6 866.6C899.8 862.5 903.3 858.2 907.2 853.9C909.3 851.6 913 849.1 912 845.5C912 845.2 913.5 843.7 913.5 844C913.4 844.4 915.1 845.6 915.4 845.2L921.2 839L926.1 833.2L933.8 824.6C940.5 829.7 946 836.2 952.2 842.9L942.3 855.2L938.5 860.3L931.8 868.8L927.4 874.2L922.8 880L916.5 887.5L901.8 904.2C895 912 887 918.2 878.1 923.2C874.7 925.1 871.5 925.8 867.9 926.9C861.5 928.8 860.9 925 858.6 925.9C857.9 926.1 857.6 926.9 856.1 928.2C855.9 924.7 854.2 924.6 852.1 923.1L846.9 919.5L834.6 908.5L823 897.3L774.8 848.7C776.2 848.5 777.5 848.3 778.7 848C778.2 848 777.7 848 777.3 848C772.6 848.1 767.8 848.4 763.2 849.4C759.3 850.2 755.3 851.5 752.2 854.1C752 854.3 751.8 854.4 751.6 854.6C753.3 854.3 754.9 853.6 756.6 852.9C761.8 853.5 760.8 860.8 765.9 861.2C766.8 863.6 768 865.9 770.6 867.5L772.5 870L776.1 869.9C776.2 871.8 775.9 873.1 777.2 874.2C778.4 875.3 779.3 875.9 781.2 875.1C781.3 879 783.7 881.4 786.9 882.8C787.9 885 789.4 886.8 792.2 887.1C792.2 889.7 793.4 891.5 796 892.1C797.3 895.1 800.2 896.1 801.8 898.4L804 901.5L807.5 901.6L807.9 904.9L811.1 907.1C812.3 909.9 815.8 911.4 817.9 913C819.4 914.1 819 919.6 822.6 918.5C824.1 918.1 823.9 917.1 825.6 918.7C827.2 920.1 825.5 920.4 825.4 921.7C825.2 923.5 827.8 924.8 829.1 925.4C829.9 924.7 830 923.9 830.4 923.1L838.1 930.6C840.1 932.6 839.7 933.8 842.6 934.8C845.1 935.7 847.8 940.4 850.8 940L855.4 939.3C857.9 943.2 862.4 943.6 866.3 940.8C870.3 943.4 875.4 943.3 877.9 939.1C884.3 938.6 885.4 933.3 887.7 936.5L898.1 929C900.2 927.4 901.7 926.3 903.6 924.5L911 917.6L921.5 906.3C922.3 905.4 923.8 904.7 923.7 903.8L923.4 901C924.1 899.2 925.4 898 926.8 896.4C927.8 896 928 897.5 927.1 898C926.3 898.9 927.2 899.7 927.9 899.1L932.4 893.7L933.9 892.3C934.6 891.7 934.8 890.4 933.7 890C933.3 890.2 932.4 890.3 932.5 890.1L933.1 888.5L937 888.7C937.2 885.8 939.6 884.6 940.9 882.9L945.5 876.9L948.4 870.9C952.6 871.1 952.6 866.2 954.2 864.6C956.3 862.7 957.1 861.2 959 858.7L964.6 851.4C966 849.5 969.1 847.9 967.2 844.5C967.6 843.5 969.6 843.2 970.1 842.6L975.6 835.7C977.5 836.1 980.3 837.4 981.3 839.1C981.3 840.1 980.4 841.9 981.3 842.9C983.7 846 986.3 842.5 989.5 846.5L992.9 850.7C991.9 852.4 991.8 853.8 992.5 855.8C993 857.2 995.2 856.9 996.7 857L1003.6 866.2C1003.8 866.5 1005.2 866.5 1005.3 866.8C1005.5 867.2 1004.3 868 1004.1 868.4C1003.3 871.3 1007.5 872.5 1008.5 874.1L1012.7 880.7L1015.5 885.1C1016.8 887.2 1018.1 888.5 1020.1 890.2L1027 896.1L1031.3 899.2C1036.1 902.8 1043.2 903.3 1049 902.2L1051 900.5L1053.1 901.6C1054.4 902.4 1057.4 900.6 1057.3 899.2L1057.2 896.9L1059.1 895.2C1061 893.5 1058.9 897.3 1059.9 897.6C1060.3 897.8 1061 897.8 1061.4 897.3L1066.2 890.4C1068.8 888.3 1067.7 886.6 1068.2 884.2C1068.6 882.2 1071.6 880.1 1069.1 877.2ZM1071.4 871.7";
|
|
14
|
+
/** Pants interiors, so the near leg hides the far one where they cross. */
|
|
15
|
+
exports.FRONT_PANTS = "668,800 712,826 645,975 585,948";
|
|
16
|
+
exports.BACK_PANTS = "760,855 862,935 958,832 935,797 875,878 818,818";
|
|
17
|
+
/** Keeps the W above its real bottom edge (hand-traced), dropping the pants-top stubs. */
|
|
18
|
+
exports.BODY_CLIP = "410,390 410,1110 560,1110 560,871 592,878 607,877 627,871 660,851 687,827 704,845 714,853 735,866 760,872 772,873 810,866 837,848 849,838 866,813 880,787 880,1110 1090,1110 1090,390";
|
|
19
|
+
/** Hides the legs behind the W: they show only below its bottom edge. */
|
|
20
|
+
exports.LEGS_CLIP = "200,390 530,390 530,846 560,856 592,863 607,862 627,856 660,836 714,838 735,851 760,857 772,858 810,851 837,833 849,823 866,798 880,772 884,390 1090,390 1090,1110 200,1110";
|
|
21
|
+
/** Cuts the ground line off the front shoe. */
|
|
22
|
+
exports.FRONT_CLIP = "0,0 1500,0 1500,1067 606,1067 602,1078 0,1078";
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RUNNER_CSS = void 0;
|
|
4
|
+
/*
|
|
5
|
+
* RunnerLoader cycle, shipped inside the SVG as a <style> element so apps need
|
|
6
|
+
* no CSS import. One step = --wb-runner-step; a full stride is two steps.
|
|
7
|
+
* Each leg keeps its own drawing and swings through the other: they meet under
|
|
8
|
+
* the body at 25% / 75%, overlap, then separate. Rotations are about each hip.
|
|
9
|
+
* Swing from vertical: front leg 66° forward / 66° back, back leg 84° / 84°.
|
|
10
|
+
* Every instance repeats the same rules; the duplicates are identical.
|
|
11
|
+
*/
|
|
12
|
+
exports.RUNNER_CSS = `
|
|
13
|
+
.wb-runner{--wb-runner-step-default:0.32s}
|
|
14
|
+
.wb-runner-pants{fill:var(--wb-runner-pants,Canvas)}
|
|
15
|
+
.wb-runner-bob{animation:wb-runner-bob var(--wb-runner-step,var(--wb-runner-step-default)) ease-in-out infinite}
|
|
16
|
+
.wb-runner-hip-front{animation:wb-runner-hip-front calc(var(--wb-runner-step,var(--wb-runner-step-default)) * 2) linear infinite}
|
|
17
|
+
.wb-runner-hip-back{animation:wb-runner-hip-back calc(var(--wb-runner-step,var(--wb-runner-step-default)) * 2) linear infinite}
|
|
18
|
+
.wb-runner-swing-front{animation:wb-runner-swing-front calc(var(--wb-runner-step,var(--wb-runner-step-default)) * 2) linear infinite}
|
|
19
|
+
.wb-runner-swing-back{animation:wb-runner-swing-back calc(var(--wb-runner-step,var(--wb-runner-step-default)) * 2) linear infinite}
|
|
20
|
+
@keyframes wb-runner-hip-front{0%,100%{animation-timing-function:ease-in;transform:translate(700px,780px)}25%,75%{animation-timing-function:ease-out;transform:translate(750px,795px)}50%{animation-timing-function:ease-in;transform:translate(790px,805px)}}
|
|
21
|
+
@keyframes wb-runner-hip-back{0%,100%{animation-timing-function:ease-in;transform:translate(800px,810px)}25%,75%{animation-timing-function:ease-out;transform:translate(750px,795px)}50%{animation-timing-function:ease-in;transform:translate(710px,785px)}}
|
|
22
|
+
@keyframes wb-runner-swing-front{0%,100%{animation-timing-function:ease-in;transform:rotate(30deg) scale(1,1)}25%,75%{animation-timing-function:ease-out;transform:rotate(-36deg) scale(1,.82)}50%{animation-timing-function:ease-in;transform:rotate(-102deg) scale(.85,.85)}}
|
|
23
|
+
@keyframes wb-runner-swing-back{0%,100%{animation-timing-function:ease-in;transform:rotate(-45deg)}25%,75%{animation-timing-function:ease-out;transform:rotate(39deg)}50%{animation-timing-function:ease-in;transform:rotate(123deg)}}
|
|
24
|
+
@keyframes wb-runner-bob{0%,100%{transform:translateY(-14px)}50%{transform:translateY(6px)}}
|
|
25
|
+
@media (prefers-reduced-motion:reduce){
|
|
26
|
+
.wb-runner *{animation:none!important}
|
|
27
|
+
.wb-runner-hip-front{transform:translate(700px,780px)}
|
|
28
|
+
.wb-runner-hip-back{transform:translate(800px,810px)}
|
|
29
|
+
.wb-runner-swing-front{transform:rotate(30deg)}
|
|
30
|
+
.wb-runner-swing-back{transform:rotate(-45deg)}
|
|
31
|
+
}`;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface RunnerLoaderProps {
|
|
2
|
+
className?: string;
|
|
3
|
+
/** Accessible name. Without it the runner is decorative (aria-hidden). */
|
|
4
|
+
label?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* The isotipo W running left: the legs swing on their hips and cross under the
|
|
8
|
+
* body while it bobs. Size it with width (height follows the viewBox).
|
|
9
|
+
*
|
|
10
|
+
* Theming, all optional CSS custom properties on the runner or an ancestor:
|
|
11
|
+
* - color: ink (currentColor)
|
|
12
|
+
* - --wb-runner-pants: pants fill; default Canvas (the page background)
|
|
13
|
+
* - --wb-runner-step: one step; default 0.32s (a stride is two steps)
|
|
14
|
+
*/
|
|
15
|
+
export declare function RunnerLoader({ className, label }: RunnerLoaderProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from "react";
|
|
3
|
+
import { RUNNER_CSS } from "./runnerCss.js";
|
|
4
|
+
import { RUNNER_VIEWBOX, BODY_PATH, FRONT_LEG_PATH, BACK_LEG_PATH, FRONT_PANTS, BACK_PANTS, BODY_CLIP, LEGS_CLIP, FRONT_CLIP, } from "./runnerArt.js";
|
|
5
|
+
/**
|
|
6
|
+
* The isotipo W running left: the legs swing on their hips and cross under the
|
|
7
|
+
* body while it bobs. Size it with width (height follows the viewBox).
|
|
8
|
+
*
|
|
9
|
+
* Theming, all optional CSS custom properties on the runner or an ancestor:
|
|
10
|
+
* - color: ink (currentColor)
|
|
11
|
+
* - --wb-runner-pants: pants fill; default Canvas (the page background)
|
|
12
|
+
* - --wb-runner-step: one step; default 0.32s (a stride is two steps)
|
|
13
|
+
*/
|
|
14
|
+
export function RunnerLoader({ className, label }) {
|
|
15
|
+
// url(#…) references break on the colons React puts in useId values.
|
|
16
|
+
const id = useId().replace(/:/g, "");
|
|
17
|
+
const a11y = label
|
|
18
|
+
? { role: "img", "aria-label": label }
|
|
19
|
+
: { "aria-hidden": true };
|
|
20
|
+
return (_jsxs("svg", { viewBox: RUNNER_VIEWBOX, className: className ? `wb-runner ${className}` : "wb-runner", fill: "currentColor", ...a11y, children: [_jsx("style", { children: RUNNER_CSS }), _jsxs("defs", { children: [_jsx("clipPath", { id: `${id}-body`, clipPathUnits: "userSpaceOnUse", children: _jsx("polygon", { points: BODY_CLIP }) }), _jsx("clipPath", { id: `${id}-legs`, clipPathUnits: "userSpaceOnUse", children: _jsx("polygon", { points: LEGS_CLIP }) }), _jsx("clipPath", { id: `${id}-front`, clipPathUnits: "userSpaceOnUse", children: _jsx("polygon", { points: FRONT_CLIP }) })] }), _jsxs("g", { className: "wb-runner-bob", children: [_jsxs("g", { clipPath: `url(#${id}-legs)`, children: [_jsx("g", { className: "wb-runner-hip-back", children: _jsx("g", { className: "wb-runner-swing-back", children: _jsxs("g", { transform: "scale(1.1) translate(-800 -840)", children: [_jsx("polygon", { className: "wb-runner-pants", points: BACK_PANTS }), _jsx("path", { d: BACK_LEG_PATH })] }) }) }), _jsx("g", { className: "wb-runner-hip-front", children: _jsx("g", { className: "wb-runner-swing-front", children: _jsxs("g", { transform: "scale(1.1) translate(-700 -810)", children: [_jsx("polygon", { className: "wb-runner-pants", points: FRONT_PANTS }), _jsx("path", { clipPath: `url(#${id}-front)`, d: FRONT_LEG_PATH })] }) }) })] }), _jsx("path", { clipPath: `url(#${id}-body)`, d: BODY_PATH })] })] }));
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RunnerLoader } from "./RunnerLoader.js";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const RUNNER_VIEWBOX = "250 390 840 720";
|
|
2
|
+
/** The W. Clipped by BODY_CLIP: the source draws both pants tops into it. */
|
|
3
|
+
export declare const BODY_PATH = "M701.8 722.5C698.5 704.1 696.8 681.3 696.8 654.1C696.8 641.6 697.4 629 698.5 616.5C704 561.3 718 533.8 740.4 533.8C747.4 533.8 752.5 536.1 755.9 540.9C759.2 545.7 760.8 552.3 760.8 560.8C760.8 575.1 756.4 595 747.6 620.4C741.3 638.8 733.8 657.5 725 676.4C716.1 695.4 708.4 710.7 701.8 722.5M796.5 894.3C800.5 892.4 804.4 890.4 808.3 888.2C802.3 881.7 796.7 875.8 791.6 871C808.8 867.8 824.6 859.6 839.1 846.4L848.5 859.4C851.9 856.5 855.2 853.6 858.5 850.5L848.2 837.3C863.9 820.4 877.1 799.2 887.8 773.5C900.3 743.6 909.3 710.5 914.8 674.5C918.5 648.7 920.3 625.4 920.3 604.4C920.3 560.3 912.9 528 910.7 518.3C909.1 511.6 904.7 493.9 896 472C882.5 438.1 871.3 426.9 863.6 420.6C850.3 409.5 836.4 406.6 821.9 411.7C813.8 414.6 805.1 420.8 801.9 427.2C798.7 433.6 798.5 440.6 801.2 448.4C803.7 455.5 808.3 461.5 814.9 466.4C821.6 471.3 828.1 475 834.7 477.6C834.7 477.6 834.7 477.6 834.8 477.6C838.8 479.2 842.1 482.3 844.3 486C851.2 497.8 856.7 513.1 860.7 531.8C865.5 554.1 867.9 578.5 867.9 604.9C867.9 621.5 867.1 636.4 865.7 649.6C861.6 697.5 851.5 738.1 835.3 771.6C819.1 805.1 798.7 821.8 774.1 821.8C752.7 821.8 735.1 809.5 721.1 784.8C734 766.8 746.6 745.9 758.9 722.2C771.2 698.5 781.6 674.5 790.1 650.2C801.8 616.7 807.7 586.9 807.7 560.8C807.7 514.8 788.6 489.1 750.3 483.5C744.4 482.8 740.2 482.4 737.6 482.4C712.6 482.4 692.9 493.7 678.3 516.1C663.8 538.5 653.9 568 648.8 604.4C646.6 621.3 645.5 638.8 645.5 656.8C645.5 678.9 647 700.4 650.2 721.4C653.3 742.4 657.6 761.1 663.1 777.7C653.2 789.8 641.2 801 627 811.3C612.8 821.6 600.2 826.8 589.2 826.8C577.1 826.8 567.7 819.4 561.1 804.7C554.4 790 551.1 770.7 551.1 746.8C551.1 726.2 553.7 702.6 558.8 676.1C565.5 643 576 609.8 590.3 576.5C600.6 552.6 612.5 530.5 625.9 510.3L656.1 468.2C660.3 462.3 658 457.1 649.1 452.6L607.5 432C603 429.9 599.5 430.6 596.9 434.1L596.2 435.2C595 436.8 595.1 441.4 596.5 448.9C597.9 456.5 596.7 462.9 592.8 468.4L592.7 468.6C592.4 469 592.1 469.4 591.8 469.8C591.8 469.8 576.7 491.8 576.9 491.9C565.4 510.6 554.6 531.5 544.5 554.7C527.9 593 516 632 508.6 671.7C503.5 699.3 500.9 724.9 500.9 748.4C500.9 787.4 508.3 818.8 523.2 842.5C538.2 866.2 561.2 878.1 592.5 878.1C597.6 878.1 602.7 877.6 607.9 876.5C606.6 879.7 605.5 882.4 604.6 884.3L602.8 889.3C608.6 889.2 614.3 889 620.1 888.8C620.6 888.7 621 888.7 621.5 888.7L628.2 870.1C647.2 861.8 666.9 847.2 687.4 826.2C692.7 833.2 698.2 839.3 704 844.6C700.8 853.2 697.5 860.8 695.7 863.1C692.6 870.1 689.5 877 686.6 883.9C691.3 883.6 696 883.3 700.8 883.5C701 883.5 701.3 883.6 701.5 883.6C702.2 881.7 702.9 879.8 703.6 877.9L713.8 852.7C719 856.4 724.4 859.6 729.9 862.1C744.4 868.7 758.4 872.1 771.9 872.5ZM796.5 894.3";
|
|
4
|
+
/** Front leg, straight, hip at (700, 810). Its sole merges with the ground line, so FRONT_CLIP trims it. */
|
|
5
|
+
export declare const FRONT_LEG_PATH = "M601.9 1043.7L599.8 1048.3C599.1 1052.4 596.8 1056.2 595.3 1059.7C592.4 1059.9 590.4 1058.4 588.2 1057.8L581.7 1055.9L547.8 1043.6L540.5 1040.7C537.4 1039.4 534.9 1038.4 532 1037C529.8 1036 527.3 1035.5 525 1034.4L507.3 1026C506.1 1025.5 504.9 1024.8 503.7 1024.3C503.5 1024.3 503.3 1024.3 503.1 1024.3C498 1022.9 493.7 1020 489.4 1017.1L489.4 1017.1L479.2 1011.8L463.4 1002.6L456.9 998L455.2 998.3L454.4 996C452.3 995 449.8 993.6 448.5 991.5L446.6 990.6C445.8 990.2 454.1 977.1 468.7 977.3C475.6 977.4 482.3 981.7 487.9 985.8C490.5 987.1 493.2 988.1 495.8 989.3C497.6 990.2 499.3 991.1 500.7 992.4L509.9 995.9L509.4 1004.6C509.2 1010.4 509.1 1017.3 515.1 1016.8C520.2 1016.4 522 1005.3 520 998L529.5 999L529.1 1007.5L529.6 1012C529.9 1013.9 528.5 1015.6 530.2 1017.5C531.1 1018.5 532.3 1020.5 534.8 1020.1C536.6 1019.9 540.1 1017.1 539.8 1015.3C539.4 1013.1 540.5 1012.7 540.4 1011L539.8 999.3L548.4 998.7C547.9 1001.8 549.1 1004.6 549.2 1007.7L549.5 1015.2C549.5 1017 551.5 1020.8 553.6 1021.1C558.2 1021.5 560.5 1016.5 560.5 1012.6C560.4 1010.2 559.9 1008.6 559.6 1006.3L558.5 997.1L566.5 994.9C567.4 998.5 569.4 1000.3 571.5 1002.7C581.3 1013.7 593.9 1021 608.6 1023.9C606.9 1026.3 605.8 1028.7 606.9 1031.5C604.5 1032.8 603.4 1035.5 605 1038.4C602.3 1039.5 602.8 1041.7 601.9 1043.7M588.2 1074.7C582.3 1074.7 577.1 1072.3 571.6 1070.5L560.3 1066.9L552.4 1064.1L538.9 1058.8L532.1 1056.2L523.4 1052.3C521.4 1051.4 519.9 1050.8 518.2 1050.1L495.2 1039.4L485.9 1034.6L481.4 1032.5C478.9 1031.3 477.5 1030.2 475.1 1028.8L468.7 1025L459.4 1018.7C453.2 1014.6 447 1010 442.3 1004.2C442.2 1001.8 442.6 999.4 443.5 996.7L448.5 1002C457.8 1009.5 467.1 1016.4 477.7 1021.9L504.2 1035.8L522 1043.9L551.7 1056C565.1 1061.4 578.4 1065.3 592 1068ZM735.1 1077.9C733.7 1075.9 732.4 1076.9 730.7 1077.1C729.7 1077.3 727.8 1075.6 726.6 1077.1C726.7 1076 726.7 1075.6 726.5 1075.3C726.4 1074.9 725.4 1074.7 724.8 1074.8L717.6 1076.9C718.3 1071.4 713 1079.2 707.5 1076.4L712.6 1075.7C710.8 1072.7 707.9 1075.4 706.4 1075.2C700 1072.9 699.2 1076.7 696.9 1076.7C696.5 1076.8 695.9 1076.1 696.4 1075.8L698.2 1074.8C695.2 1074.1 692.1 1074.1 689 1074.1L689 1075.1C689.9 1075.2 690.6 1074.7 692.3 1075.6C691.3 1076.4 690.6 1076.5 688.7 1076.2C688.2 1076.4 687.6 1075.4 687.7 1074L680.6 1074C681 1074.7 681.7 1075.1 681.3 1076.4C679.7 1073.6 677.8 1074.2 675.3 1074.2L667.5 1074.1L661.3 1073.6C665 1071.8 669.1 1073 673.3 1073C675.3 1073 677.2 1072.1 679.4 1072.6C680.5 1072.8 681.6 1071.5 682.2 1070.7C684.1 1070.5 683.9 1072.1 682.1 1072C683 1072.7 684.5 1072.8 685.9 1072.2C685.4 1070.1 682.5 1068.5 680.5 1069.8C678.4 1071.1 676.2 1069.3 674.9 1069.5C671.1 1070.1 668.5 1070 664.9 1069.9L656.1 1069.9L649.8 1069.8L640.6 1070.4C637.7 1070.6 634.4 1069.4 631.6 1070.6C630.4 1070.5 628.5 1069.1 627.1 1069.9C624.8 1071.1 618 1070.6 612.1 1071.2L603.6 1071.9C606.3 1068.9 606.5 1065.1 608.1 1062.3C609.4 1060.1 609.5 1057.7 610.5 1055.7C612.8 1051 615.1 1043.5 615.9 1038.5C616.1 1036.9 617 1035.6 617.4 1033.7L619.3 1025.7C619.9 1023.2 620.4 1021 622 1018.9C620.2 1018 619.5 1016.5 618 1015.8L614.6 1014.3C617.6 1012.6 617.2 1010 618.2 1008.2C619.8 1005.5 621.9 1003.1 621.2 999.7C622.3 999.2 623.8 998.5 623.8 997.9L623.8 995C623.8 994 626.1 993.2 626.1 991.7C626.1 990 627.7 988.9 628.3 987.8C627.9 978.5 634.2 988.7 640.8 986.9C641.5 986.8 642.5 985.7 643.1 985.8C644.9 986 645.3 989.5 647.3 987.8C647.8 987.4 648.8 986.8 648.5 985.7C648.4 985 647.2 984.3 646.8 984C646.6 982.6 647.9 981.5 648.3 983.3C650.5 983.3 650.1 981.4 650.7 979.9L655.1 969.1L659.3 959.2C660.3 957 662 956.4 663.9 955.4C665.4 954.5 665.9 951.8 666.9 950.3C665.3 949.2 665.2 948 665.9 946.5L670.1 938.2C671.8 939 672.9 938.4 673.7 937.4C674.5 936.4 675.2 935.1 673.9 933.9C672.6 934.1 672.4 932.8 673.5 932.5C676.5 931.8 678.1 929.7 677.4 926.7C680.1 925.1 681.4 922.8 681 919.6C683.7 917.9 685.5 915.5 686 912.4C685.2 911.9 684.9 911.4 684.8 911C684.7 908.8 688.2 909.2 689 907.9C689.6 906.9 690 905.6 689.2 904.4L686.6 906.2C687.5 903.6 688.2 902 689.4 900C689.8 901 689.5 901.6 688.8 902.8C690.1 903.1 691.4 902 692.2 901.3C693.3 900.3 692.2 898.3 692.3 897.1L695.9 893.9C695.9 890.3 698.4 888.7 699.5 886.3C700.6 884.1 700.5 882.5 702.3 880.5L705.1 875.1C705.6 874.1 705.5 871.5 706.6 870.9C707.9 870.2 708.3 869.6 708.7 868.8C709.2 867.7 709.1 866.4 708.1 865.8L702.4 875.9C702.2 876.1 701.8 876.2 701.6 875.9L712.6 854.2C713.1 853.9 713.4 853.9 713.7 854L708.4 865.1C711.7 864.6 712.3 861.7 712.7 858.9C713.4 858.2 715.1 857.3 715.1 856.4C715.2 853.7 712 851.6 716.6 847.9L714.9 853C717.9 852.5 718.1 850.7 718.5 848.2L720.6 845.9C721.2 845.2 720.5 843.7 719.2 842.5C720.3 841.9 720.8 842.4 721.7 842.7L726.1 834.3C726.3 833.9 726.4 833.1 726.3 832.8C726.2 832.6 725.9 832.3 725 832.7C724.5 832.2 725.2 831.1 725.6 830.5C725.7 830.3 726.1 830.2 726.5 830.3C721.7 827.5 717.6 823.9 714 819.8L713.2 821.3C710.3 826.4 707.9 830.7 705.3 835.9L702.6 841.3L694.9 855.4L691.7 861.8L688.6 867.1L686.1 873.2C683.6 876 681.8 877.5 682 881.5C680.8 883.4 678.6 886 677.4 888.4L676.1 890.8C675.6 891.7 677.2 892.7 677.5 893.4C677.7 895.2 675.4 897.2 674.1 897.6C671.5 898.4 672.1 901.1 671.3 902C668.9 904.8 667.9 907.4 666.5 910.7C665.8 912.4 664.7 913.4 664.1 915.9C663.7 917.8 660.4 920 661.9 923.3C658.5 924.5 657.3 926.9 658 930.1C655.3 932.2 653.9 935 654.4 938.4C651.7 940.1 650.8 942.4 651.1 945.5C649.1 945.8 647.8 947.7 648.2 949.3C648.8 951.8 646.3 952.5 645.8 953.6C644.9 956.1 644.2 957.2 643.2 959.6L640.4 966.7C639.5 969 638.3 970 638.3 972.5L618.3 963C615.6 961.7 613.2 961.2 610.5 959.8L603.2 956.1L591.7 951L596.2 941.5L603 925.4L607.8 914.6C608.8 912.3 609.4 911.1 610.6 909.1C612.1 906.5 612.3 902.8 614.7 900.3L615.8 897.1C617.3 896 617.1 893.4 617.8 892.3C620.6 887.7 623 881.9 625.4 876.6L628 871.1C629.2 868.5 630.2 866.7 630.9 864.1C631.8 863 632.8 861.1 633.6 859.5L639.3 847.4L653.7 818.4C654.7 816.2 655.1 814.8 656.5 812.4L663.1 801.2L671.1 796.6C673.3 795.4 674.4 794.1 676.7 792.9C677.2 792.6 677.9 792.2 678.7 791.8C675.1 791.9 671.6 792.2 668 792.7C663.4 793.4 658.8 794.5 654.4 796C650.2 797.5 646.1 799.5 642.4 802.1C638.7 804.6 635.5 807.7 632.7 811.2C635 811.1 637.4 810.7 639.9 809.8L637.3 814.9C636.3 816.9 635.8 818.8 634.8 820.6L632.1 826.1C629.9 830.5 627.1 836.4 626.1 837.8C624.4 840.1 624.3 842 623.3 844.2C621.2 848.7 618.6 852.7 617.4 857.6C616.9 859.4 615 860.8 614 862.3L614.2 866.2C610.9 867.6 609.5 870.4 610.1 873.9L606.1 878.6C607.5 885.9 600.2 885.9 602.5 891.3C598.3 894.6 597.5 900 595.5 904.5C593.6 908.8 590.4 914.3 590.1 917C589.9 918.2 588.9 920.7 588.2 921.8C586.9 923.6 586.6 926 585.6 928.1L582.9 933.7L581.1 939.2C580.3 941.6 579.1 942.7 578.7 945.3L574.9 953.1C574.6 956.4 578.5 959.4 581.1 960.2C582.1 962.4 579.3 963.9 579.1 965.2C578.5 967.8 577.5 969 576.6 971.1C575.4 973.8 575 976.4 573.1 978.9L569.6 986.3C564.8 980.4 565.7 990 558.9 988.3L563.9 986.2C560.9 985.2 557.9 986.7 554.8 987.1L551.5 985.7C550.5 985.2 549.6 986.9 548.6 987.9C547.3 989.3 544.9 988.2 543.2 988.4L537.9 989.2L534.9 987.4C533.6 986.7 532.5 988.2 531.4 988.6C527.7 989.5 524.2 988.2 520.5 987.9L518.6 988.5C517.7 988.8 516.7 985.9 514.8 985.4C514.1 985.2 512.8 986.3 511.9 986.9C509.6 985.9 506.6 984.9 504.5 986.7C504 986.2 503.4 985.8 503.4 985.5C503.4 985.3 504.5 985 505 984.9C504.5 983.8 503.3 983.4 502 983.3C498.9 983 493.6 978.4 490 975.2C489.3 974.8 487.5 974.7 486.5 974.6C485.6 971.8 483.4 971.6 481.4 970.6C477.1 968.5 469 966 466.4 966.8C464.8 967.2 462.7 966.1 460.8 966C455.2 970.4 449.9 968 446.6 972.7C444.8 972.9 443.5 973.3 443.4 975.4C443.3 976 443.1 976.7 442.7 977.1C442.3 977.6 441.2 977.4 440.6 977.3C437.3 977.1 438.1 981.5 436.9 982.8C435.4 984.3 432.7 984.9 433.1 988.2C433.3 990.2 432.3 992.5 430.3 993.5L430.1 999.2C430 1000.3 429.1 1001.3 429.6 1002.5C429.9 1003.2 430.8 1003.9 432.1 1004.1L431.9 1007.2L430.4 1004.4C428.5 1005.1 428.4 1006.3 428.8 1007.7C429.2 1008.8 429.7 1010.6 431.7 1010.2C432.2 1010.1 432.8 1009.7 433.3 1010.1C434 1010.7 433.9 1011.1 433.1 1011.8C431.8 1012.9 432.6 1014.1 433.2 1014.6C434.3 1015.8 435.2 1016.4 437.1 1015.5C436.8 1014.3 436.2 1013.9 435.5 1012.8C436.9 1012.8 437.2 1013.6 437.8 1014.4C438.4 1015.3 437.5 1016.5 437.3 1017.3C436.8 1020.5 440.5 1020.2 441.9 1020.8C443.6 1023 445.3 1026 448.8 1027.1L455.7 1032C456.9 1034.1 458.8 1035 461.1 1034.8C463.1 1037.3 465.5 1039.1 468.8 1039.2C470.6 1042.4 474 1044.6 477.7 1043.6C478.1 1045 478.5 1045.9 479 1046.5C479.8 1047.5 481.6 1046.7 482.5 1047.2L491.6 1052.6C492.2 1053 494.6 1052.1 494.9 1052.9C496.2 1056.2 499.2 1055.1 501.2 1056C503.3 1057.1 504.4 1060.3 507.6 1058.3C509.4 1061.8 513.4 1062.4 516.9 1062.5L522.9 1066.3C524 1066.9 525.7 1066.7 527 1066.5C527.6 1069.9 530.4 1068.6 532 1069.3L538.9 1072L545.9 1074.7L555 1077.1C552 1079.4 548.4 1076.6 543.8 1079C540.2 1077.8 537.5 1078.7 534.1 1079.2L528.2 1080.1C525.4 1080.5 522 1079.9 519.6 1081.8C520.8 1082.1 521.7 1082.4 521.9 1083.4L514.5 1084.1L514.6 1083.2C515.6 1083 516.7 1083.3 517.9 1082.2C517.2 1081.2 515.8 1081.1 515.1 1081.5C514.5 1081.7 514 1082.4 513.5 1083.6C512.1 1081.6 509.1 1081.4 507.2 1083.1L502.5 1087.2L507.6 1087.3C509.9 1087.3 512.1 1086.1 513.9 1088C515.7 1090 517.7 1088.1 519 1087.3C522.9 1087.4 527.4 1088 531.4 1089.1L538.5 1088.8C540.1 1088.7 541.2 1088.9 542.9 1088.6C544.1 1088.3 545.9 1091.6 547.9 1090.1C549.9 1088.5 552.2 1088.6 554.4 1090C557.1 1091.8 560.3 1089.8 563 1089.7C564.6 1089.7 566.5 1090.9 568 1088.9C571.8 1091.3 576.5 1090.2 580.7 1090C583.2 1089.8 585.6 1090.8 588 1089.3C591.6 1087.1 598.3 1093.3 605.4 1087.9C606.2 1089 607.4 1089.8 608.1 1089.8C609.4 1089.8 610.5 1089.3 611.7 1087.6C613.7 1090.9 616.5 1089 618.8 1089.3C621.5 1089.5 622.7 1089 625 1088.7C626.7 1088.6 629.7 1090.4 632.3 1089.4C641 1086.2 647.9 1091.8 655.5 1087.6C657 1088.2 658.9 1088.3 660.8 1088.4L668.7 1088.6C670.6 1088.7 672.6 1087.6 674 1087C675.8 1088.3 677.8 1087.3 679.2 1087.1C682.3 1087.9 685.6 1089.3 688.4 1086.2C684.9 1084.1 680 1087.9 681.3 1084.7L695.3 1084.1C697.5 1086.7 700.9 1088 704 1086.3C704.6 1086 706.4 1086.9 706.1 1084.8C703.1 1085.1 700 1086.6 696.9 1084.4L713 1083.3C712.3 1085.7 710.2 1085.4 708.3 1084.9C706.5 1084.7 706.8 1086.5 708.1 1086.4L714.2 1085.9C716.3 1085.7 724.4 1087.9 726.4 1084.1C722 1084 718.5 1085.4 714.1 1084.1C716.2 1082.8 718.5 1083.3 721.1 1082.9L724.7 1081.2C725.4 1082.1 726.1 1082.7 726.7 1083C727.5 1083.2 729.3 1082.8 729 1082.1L728.6 1080.9C728.5 1080.7 729.9 1080.3 730.3 1080.5C730.6 1080.7 730.5 1081.3 730.3 1081.9C731.2 1082.3 732 1082.5 733.1 1081.8C732.8 1081.5 732.3 1081.2 732.1 1081.2C731.5 1081.1 731.3 1080.6 731.5 1080.2C731.9 1079.6 732.4 1079.8 732.7 1079.8C733.4 1080 734.5 1083.7 734.7 1081.5C734.8 1081 735 1080.6 735.2 1080.2C735.3 1080 735.9 1080 736 1080.2C736 1080.5 735.7 1081.3 735.4 1081.9L739.7 1081.8C741.6 1080.3 743 1079.1 746.2 1079.3C742.6 1076.9 739 1076.8 735.1 1077.9";
|
|
6
|
+
/** Back leg, bent, hip at (800, 840). */
|
|
7
|
+
export declare const BACK_LEG_PATH = "M1057.4 874.6C1057.3 881.2 1053.3 886.9 1048.4 890.3C1046.9 888.1 1048.8 886.2 1048.9 885.1C1049.2 882.6 1049.9 878.5 1049.3 875.5L1046.2 860.7L1045.1 856.1C1040.2 836.2 1030.7 818.1 1020 800.8L1016.4 795.5C1014.3 792.6 1011.8 790.3 1010.1 788C1008.8 786.2 1007.9 784.1 1006.2 782.1C1001.4 776.8 997 771.5 991.4 767.1L980.5 758.5C975.6 754.7 970.5 752.2 964.2 750.3L970.2 742.5C978.7 744.6 985.8 748.7 991.9 754.4L1004.8 766.5L1009.4 771.5L1018.6 782.6L1023.7 789.6L1027.2 794.9L1030.6 800.5L1034.4 806.1C1036 808.5 1036.3 810.3 1037.6 812.9L1041.2 819.8C1042.3 821.9 1043.1 824.1 1045.1 825.5C1044.7 827 1045.6 828.5 1046.2 830.1L1052.4 846.3L1054.4 852.2C1055 854 1053.7 857.3 1056.8 859.1C1055.6 863.1 1056.1 866.6 1058.5 869.7C1055.9 871.1 1057.4 873 1057.4 874.6M1045.6 891.4C1043.5 893.8 1033 890 1030 887.4L1025.8 883.7C1021.3 879.9 1018.5 873.6 1015.3 868.5L1020.8 863.3L1027.7 858C1029.4 856.6 1032.8 856.4 1034.1 854.3L1033.6 852.9C1033.5 852.7 1034.4 852.4 1034.7 852.4C1035.2 852.5 1036.9 857.4 1038.1 861.5L1040.9 871.1C1041.3 872.8 1043.9 873.6 1042.1 876.1C1040.5 878.2 1045.4 882.1 1044.3 885.6C1045.1 887.1 1047 889.7 1045.6 891.4M1010.4 859.9L1004.2 850.3L1009.9 843.9C1009.7 843.4 1009.4 842.8 1009.4 842.5C1009.4 842.2 1010.2 841.2 1010.4 841.4L1011.5 842.7C1013.6 840.7 1015.9 837.6 1017 834.7C1017.8 832.7 1016.1 831.7 1015.2 830.5C1010.4 824.8 1003.7 835.4 997.4 842L993.5 836.5C992.2 834.6 1000.3 830.3 999.9 822.9C1001.4 823.3 1002.4 823.6 1003.1 823.3C1003.8 823.1 1007.3 817 1003.1 813.4C1002.4 812.9 1001.7 811.9 1000.7 811.9C1000.9 811.9 995.1 813.8 994 815.7L987.3 826.7C986.9 827.4 986.8 829.1 985.8 829.6C985.1 829.9 983.8 828.8 982.8 828C980.5 825.8 982.7 821 979.7 814.3L976.6 807.6L972 801.1C969.6 797.7 966.2 794.6 962.7 792.7L957.8 790L951.6 787.6L943 786.2L947.4 778.7L951 772.4L954.5 767.1L959.8 757.7C967.9 761.8 975.7 765.4 981.9 771.8L1000.6 790.9L1007.3 799.5C1011.5 804.9 1013.9 810.1 1017.4 813.1C1017.8 814.4 1018.5 816.5 1019.4 818.2L1029.8 838.5C1031 840.8 1032.2 842.4 1031.9 845.5C1028.5 844 1026.6 846 1024.2 847.2C1021.1 848.8 1019 850.2 1016.6 852.8C1014.5 855.1 1011.6 856.7 1010.4 859.9M1071.4 871.7C1067.8 867.2 1073.1 864 1067.4 858.4C1069.7 855 1068 852.6 1065.8 850.1C1066.8 848 1066 846.3 1065 844.4C1064 842.1 1064.6 838.5 1060.5 837.4C1061.7 835.6 1061.8 834.5 1061.7 833C1061.7 831.8 1060 830.6 1059 829.8C1060.2 825.9 1054.8 821.7 1054.5 818.9C1054.2 816.3 1052 814.2 1051.5 812.4C1050.5 808.7 1048.7 806.6 1046.1 804.4C1045.8 802.5 1046.3 798.1 1043.3 797.7C1042.9 797.6 1042.3 798.6 1042.3 798.9C1042.2 799.4 1040.8 799 1041.6 797.9C1039.6 796.2 1040.3 794 1040 792.1C1039.3 788.2 1035.3 786.1 1033.5 783.2C1032.2 781.3 1032 780 1030.4 778L1025.2 771.2C1024.4 770.2 1021 770 1021.1 768.5C1021.2 766.5 1021.4 765.5 1020 763.9C1018.8 762.6 1017.4 762.4 1015.2 762.4C1014.7 760.8 1014.5 757.1 1012.7 756.3C1011.8 755.9 1009.2 756.4 1008.9 755.1C1008.4 752.8 1008 750.3 1005.5 749.5C1005.3 750.2 1004.3 750.7 1003.6 750L999 745.2C997 743.1 996 742.9 994.1 741.7L985 736.2C981.7 734.1 978.7 733.4 974.6 732.7C973.5 732.5 972.2 730.8 970.6 732.7C970.5 732.9 969.5 732.8 969.6 732.6L970.1 731.1C970.5 730.2 968 729.8 967.1 730.1C966 730.6 965.4 732.2 965.1 733.6C961.4 733.2 960 736.2 958 738.2C955.5 740.9 954.4 743.2 952.7 746.1L946 757.1L941.9 764.4L936.7 774.4C933.1 781.5 926.8 792.2 930.2 794.3C933.8 796.5 937.9 797.9 942.3 797.7C943.5 797.2 944 798.5 942.8 798.9L937.2 806.3L935.7 808.6C935 809.6 933.2 808.6 932.3 808.3C929.4 809.1 927.2 810.9 924.6 812.5L923 816.5C920.3 817.6 919.7 819.9 917.9 821.9L911.7 828.6L907 833.5L901.6 839.4C898.7 842.6 896.3 845.3 893.5 848.3L888.1 854.3L881.8 860.6L873 870.4C870.5 865.4 865.9 860.7 862.6 856.3L845.6 833.6L841.3 827.9C840.5 826.7 837.9 826.1 837.9 823.6C837.8 821 834.9 821 833.5 820.6C832.3 818.6 831.6 815.5 827.7 814.7C830.6 812.4 832.1 810.4 833.5 807.9C831.4 809 829.3 810.3 827.4 811.7C823.7 814.6 820.6 818.2 818.1 822.2C817.3 823.4 816.6 824.6 816 825.9C817.1 825.3 818.3 824.6 818.9 823.6C820.1 823.7 822 824.6 823.3 823.7C823.6 824.9 822.8 825.8 822.5 826.5C823 829 825.9 829.8 826.9 831.3C827.5 833.5 827.8 836.6 830.3 836.9C830.5 836.7 830.9 835.6 831.2 835.7C831.4 835.8 831.8 836.2 832 836.4C832.2 836.8 831.8 837.2 831.7 837.6C831 840.4 833.2 842.7 836.2 843.1C835.8 846.1 836.8 848.5 840 849C839.5 852.1 842.1 852.8 843.4 854.4C844.8 856.1 845.1 858.2 847 859.8C851.6 863.5 851.8 868.6 855.9 869.5C856 872.8 857.8 874.3 860.5 876.4C862.1 877.6 863 881.3 866.4 880.6C867.7 880.4 869.1 880.4 870.1 881.8C870.4 879.2 871.6 878 873.4 876.8C874 878.9 875.4 879.9 877.2 880.3C877.2 880.9 877.1 881.5 877.3 881.8C877.6 882.7 878.6 882.1 879 881.9C882.7 880.1 879.9 876.7 885.5 874.5C884.9 875.5 883.9 876.3 884 877.5C886.9 876.8 888.1 873.8 889.7 872.3L895.6 866.6C899.8 862.5 903.3 858.2 907.2 853.9C909.3 851.6 913 849.1 912 845.5C912 845.2 913.5 843.7 913.5 844C913.4 844.4 915.1 845.6 915.4 845.2L921.2 839L926.1 833.2L933.8 824.6C940.5 829.7 946 836.2 952.2 842.9L942.3 855.2L938.5 860.3L931.8 868.8L927.4 874.2L922.8 880L916.5 887.5L901.8 904.2C895 912 887 918.2 878.1 923.2C874.7 925.1 871.5 925.8 867.9 926.9C861.5 928.8 860.9 925 858.6 925.9C857.9 926.1 857.6 926.9 856.1 928.2C855.9 924.7 854.2 924.6 852.1 923.1L846.9 919.5L834.6 908.5L823 897.3L774.8 848.7C776.2 848.5 777.5 848.3 778.7 848C778.2 848 777.7 848 777.3 848C772.6 848.1 767.8 848.4 763.2 849.4C759.3 850.2 755.3 851.5 752.2 854.1C752 854.3 751.8 854.4 751.6 854.6C753.3 854.3 754.9 853.6 756.6 852.9C761.8 853.5 760.8 860.8 765.9 861.2C766.8 863.6 768 865.9 770.6 867.5L772.5 870L776.1 869.9C776.2 871.8 775.9 873.1 777.2 874.2C778.4 875.3 779.3 875.9 781.2 875.1C781.3 879 783.7 881.4 786.9 882.8C787.9 885 789.4 886.8 792.2 887.1C792.2 889.7 793.4 891.5 796 892.1C797.3 895.1 800.2 896.1 801.8 898.4L804 901.5L807.5 901.6L807.9 904.9L811.1 907.1C812.3 909.9 815.8 911.4 817.9 913C819.4 914.1 819 919.6 822.6 918.5C824.1 918.1 823.9 917.1 825.6 918.7C827.2 920.1 825.5 920.4 825.4 921.7C825.2 923.5 827.8 924.8 829.1 925.4C829.9 924.7 830 923.9 830.4 923.1L838.1 930.6C840.1 932.6 839.7 933.8 842.6 934.8C845.1 935.7 847.8 940.4 850.8 940L855.4 939.3C857.9 943.2 862.4 943.6 866.3 940.8C870.3 943.4 875.4 943.3 877.9 939.1C884.3 938.6 885.4 933.3 887.7 936.5L898.1 929C900.2 927.4 901.7 926.3 903.6 924.5L911 917.6L921.5 906.3C922.3 905.4 923.8 904.7 923.7 903.8L923.4 901C924.1 899.2 925.4 898 926.8 896.4C927.8 896 928 897.5 927.1 898C926.3 898.9 927.2 899.7 927.9 899.1L932.4 893.7L933.9 892.3C934.6 891.7 934.8 890.4 933.7 890C933.3 890.2 932.4 890.3 932.5 890.1L933.1 888.5L937 888.7C937.2 885.8 939.6 884.6 940.9 882.9L945.5 876.9L948.4 870.9C952.6 871.1 952.6 866.2 954.2 864.6C956.3 862.7 957.1 861.2 959 858.7L964.6 851.4C966 849.5 969.1 847.9 967.2 844.5C967.6 843.5 969.6 843.2 970.1 842.6L975.6 835.7C977.5 836.1 980.3 837.4 981.3 839.1C981.3 840.1 980.4 841.9 981.3 842.9C983.7 846 986.3 842.5 989.5 846.5L992.9 850.7C991.9 852.4 991.8 853.8 992.5 855.8C993 857.2 995.2 856.9 996.7 857L1003.6 866.2C1003.8 866.5 1005.2 866.5 1005.3 866.8C1005.5 867.2 1004.3 868 1004.1 868.4C1003.3 871.3 1007.5 872.5 1008.5 874.1L1012.7 880.7L1015.5 885.1C1016.8 887.2 1018.1 888.5 1020.1 890.2L1027 896.1L1031.3 899.2C1036.1 902.8 1043.2 903.3 1049 902.2L1051 900.5L1053.1 901.6C1054.4 902.4 1057.4 900.6 1057.3 899.2L1057.2 896.9L1059.1 895.2C1061 893.5 1058.9 897.3 1059.9 897.6C1060.3 897.8 1061 897.8 1061.4 897.3L1066.2 890.4C1068.8 888.3 1067.7 886.6 1068.2 884.2C1068.6 882.2 1071.6 880.1 1069.1 877.2ZM1071.4 871.7";
|
|
8
|
+
/** Pants interiors, so the near leg hides the far one where they cross. */
|
|
9
|
+
export declare const FRONT_PANTS = "668,800 712,826 645,975 585,948";
|
|
10
|
+
export declare const BACK_PANTS = "760,855 862,935 958,832 935,797 875,878 818,818";
|
|
11
|
+
/** Keeps the W above its real bottom edge (hand-traced), dropping the pants-top stubs. */
|
|
12
|
+
export declare const BODY_CLIP = "410,390 410,1110 560,1110 560,871 592,878 607,877 627,871 660,851 687,827 704,845 714,853 735,866 760,872 772,873 810,866 837,848 849,838 866,813 880,787 880,1110 1090,1110 1090,390";
|
|
13
|
+
/** Hides the legs behind the W: they show only below its bottom edge. */
|
|
14
|
+
export declare const LEGS_CLIP = "200,390 530,390 530,846 560,856 592,863 607,862 627,856 660,836 714,838 735,851 760,857 772,858 810,851 837,833 849,823 866,798 880,772 884,390 1090,390 1090,1110 200,1110";
|
|
15
|
+
/** Cuts the ground line off the front shoe. */
|
|
16
|
+
export declare const FRONT_CLIP = "0,0 1500,0 1500,1067 606,1067 602,1078 0,1078";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Vector art for RunnerLoader, from the brand kit: page 1 of
|
|
2
|
+
// KitDeMarca/Isotipo/Ai PDF/Orig_Isotipo.pdf (pdftocairo -svg), 1 decimal.
|
|
3
|
+
// Coordinates are the PDF's 1500x1500 page. The "TM" and ground shadow are dropped.
|
|
4
|
+
export const RUNNER_VIEWBOX = "250 390 840 720";
|
|
5
|
+
/** The W. Clipped by BODY_CLIP: the source draws both pants tops into it. */
|
|
6
|
+
export const BODY_PATH = "M701.8 722.5C698.5 704.1 696.8 681.3 696.8 654.1C696.8 641.6 697.4 629 698.5 616.5C704 561.3 718 533.8 740.4 533.8C747.4 533.8 752.5 536.1 755.9 540.9C759.2 545.7 760.8 552.3 760.8 560.8C760.8 575.1 756.4 595 747.6 620.4C741.3 638.8 733.8 657.5 725 676.4C716.1 695.4 708.4 710.7 701.8 722.5M796.5 894.3C800.5 892.4 804.4 890.4 808.3 888.2C802.3 881.7 796.7 875.8 791.6 871C808.8 867.8 824.6 859.6 839.1 846.4L848.5 859.4C851.9 856.5 855.2 853.6 858.5 850.5L848.2 837.3C863.9 820.4 877.1 799.2 887.8 773.5C900.3 743.6 909.3 710.5 914.8 674.5C918.5 648.7 920.3 625.4 920.3 604.4C920.3 560.3 912.9 528 910.7 518.3C909.1 511.6 904.7 493.9 896 472C882.5 438.1 871.3 426.9 863.6 420.6C850.3 409.5 836.4 406.6 821.9 411.7C813.8 414.6 805.1 420.8 801.9 427.2C798.7 433.6 798.5 440.6 801.2 448.4C803.7 455.5 808.3 461.5 814.9 466.4C821.6 471.3 828.1 475 834.7 477.6C834.7 477.6 834.7 477.6 834.8 477.6C838.8 479.2 842.1 482.3 844.3 486C851.2 497.8 856.7 513.1 860.7 531.8C865.5 554.1 867.9 578.5 867.9 604.9C867.9 621.5 867.1 636.4 865.7 649.6C861.6 697.5 851.5 738.1 835.3 771.6C819.1 805.1 798.7 821.8 774.1 821.8C752.7 821.8 735.1 809.5 721.1 784.8C734 766.8 746.6 745.9 758.9 722.2C771.2 698.5 781.6 674.5 790.1 650.2C801.8 616.7 807.7 586.9 807.7 560.8C807.7 514.8 788.6 489.1 750.3 483.5C744.4 482.8 740.2 482.4 737.6 482.4C712.6 482.4 692.9 493.7 678.3 516.1C663.8 538.5 653.9 568 648.8 604.4C646.6 621.3 645.5 638.8 645.5 656.8C645.5 678.9 647 700.4 650.2 721.4C653.3 742.4 657.6 761.1 663.1 777.7C653.2 789.8 641.2 801 627 811.3C612.8 821.6 600.2 826.8 589.2 826.8C577.1 826.8 567.7 819.4 561.1 804.7C554.4 790 551.1 770.7 551.1 746.8C551.1 726.2 553.7 702.6 558.8 676.1C565.5 643 576 609.8 590.3 576.5C600.6 552.6 612.5 530.5 625.9 510.3L656.1 468.2C660.3 462.3 658 457.1 649.1 452.6L607.5 432C603 429.9 599.5 430.6 596.9 434.1L596.2 435.2C595 436.8 595.1 441.4 596.5 448.9C597.9 456.5 596.7 462.9 592.8 468.4L592.7 468.6C592.4 469 592.1 469.4 591.8 469.8C591.8 469.8 576.7 491.8 576.9 491.9C565.4 510.6 554.6 531.5 544.5 554.7C527.9 593 516 632 508.6 671.7C503.5 699.3 500.9 724.9 500.9 748.4C500.9 787.4 508.3 818.8 523.2 842.5C538.2 866.2 561.2 878.1 592.5 878.1C597.6 878.1 602.7 877.6 607.9 876.5C606.6 879.7 605.5 882.4 604.6 884.3L602.8 889.3C608.6 889.2 614.3 889 620.1 888.8C620.6 888.7 621 888.7 621.5 888.7L628.2 870.1C647.2 861.8 666.9 847.2 687.4 826.2C692.7 833.2 698.2 839.3 704 844.6C700.8 853.2 697.5 860.8 695.7 863.1C692.6 870.1 689.5 877 686.6 883.9C691.3 883.6 696 883.3 700.8 883.5C701 883.5 701.3 883.6 701.5 883.6C702.2 881.7 702.9 879.8 703.6 877.9L713.8 852.7C719 856.4 724.4 859.6 729.9 862.1C744.4 868.7 758.4 872.1 771.9 872.5ZM796.5 894.3";
|
|
7
|
+
/** Front leg, straight, hip at (700, 810). Its sole merges with the ground line, so FRONT_CLIP trims it. */
|
|
8
|
+
export const FRONT_LEG_PATH = "M601.9 1043.7L599.8 1048.3C599.1 1052.4 596.8 1056.2 595.3 1059.7C592.4 1059.9 590.4 1058.4 588.2 1057.8L581.7 1055.9L547.8 1043.6L540.5 1040.7C537.4 1039.4 534.9 1038.4 532 1037C529.8 1036 527.3 1035.5 525 1034.4L507.3 1026C506.1 1025.5 504.9 1024.8 503.7 1024.3C503.5 1024.3 503.3 1024.3 503.1 1024.3C498 1022.9 493.7 1020 489.4 1017.1L489.4 1017.1L479.2 1011.8L463.4 1002.6L456.9 998L455.2 998.3L454.4 996C452.3 995 449.8 993.6 448.5 991.5L446.6 990.6C445.8 990.2 454.1 977.1 468.7 977.3C475.6 977.4 482.3 981.7 487.9 985.8C490.5 987.1 493.2 988.1 495.8 989.3C497.6 990.2 499.3 991.1 500.7 992.4L509.9 995.9L509.4 1004.6C509.2 1010.4 509.1 1017.3 515.1 1016.8C520.2 1016.4 522 1005.3 520 998L529.5 999L529.1 1007.5L529.6 1012C529.9 1013.9 528.5 1015.6 530.2 1017.5C531.1 1018.5 532.3 1020.5 534.8 1020.1C536.6 1019.9 540.1 1017.1 539.8 1015.3C539.4 1013.1 540.5 1012.7 540.4 1011L539.8 999.3L548.4 998.7C547.9 1001.8 549.1 1004.6 549.2 1007.7L549.5 1015.2C549.5 1017 551.5 1020.8 553.6 1021.1C558.2 1021.5 560.5 1016.5 560.5 1012.6C560.4 1010.2 559.9 1008.6 559.6 1006.3L558.5 997.1L566.5 994.9C567.4 998.5 569.4 1000.3 571.5 1002.7C581.3 1013.7 593.9 1021 608.6 1023.9C606.9 1026.3 605.8 1028.7 606.9 1031.5C604.5 1032.8 603.4 1035.5 605 1038.4C602.3 1039.5 602.8 1041.7 601.9 1043.7M588.2 1074.7C582.3 1074.7 577.1 1072.3 571.6 1070.5L560.3 1066.9L552.4 1064.1L538.9 1058.8L532.1 1056.2L523.4 1052.3C521.4 1051.4 519.9 1050.8 518.2 1050.1L495.2 1039.4L485.9 1034.6L481.4 1032.5C478.9 1031.3 477.5 1030.2 475.1 1028.8L468.7 1025L459.4 1018.7C453.2 1014.6 447 1010 442.3 1004.2C442.2 1001.8 442.6 999.4 443.5 996.7L448.5 1002C457.8 1009.5 467.1 1016.4 477.7 1021.9L504.2 1035.8L522 1043.9L551.7 1056C565.1 1061.4 578.4 1065.3 592 1068ZM735.1 1077.9C733.7 1075.9 732.4 1076.9 730.7 1077.1C729.7 1077.3 727.8 1075.6 726.6 1077.1C726.7 1076 726.7 1075.6 726.5 1075.3C726.4 1074.9 725.4 1074.7 724.8 1074.8L717.6 1076.9C718.3 1071.4 713 1079.2 707.5 1076.4L712.6 1075.7C710.8 1072.7 707.9 1075.4 706.4 1075.2C700 1072.9 699.2 1076.7 696.9 1076.7C696.5 1076.8 695.9 1076.1 696.4 1075.8L698.2 1074.8C695.2 1074.1 692.1 1074.1 689 1074.1L689 1075.1C689.9 1075.2 690.6 1074.7 692.3 1075.6C691.3 1076.4 690.6 1076.5 688.7 1076.2C688.2 1076.4 687.6 1075.4 687.7 1074L680.6 1074C681 1074.7 681.7 1075.1 681.3 1076.4C679.7 1073.6 677.8 1074.2 675.3 1074.2L667.5 1074.1L661.3 1073.6C665 1071.8 669.1 1073 673.3 1073C675.3 1073 677.2 1072.1 679.4 1072.6C680.5 1072.8 681.6 1071.5 682.2 1070.7C684.1 1070.5 683.9 1072.1 682.1 1072C683 1072.7 684.5 1072.8 685.9 1072.2C685.4 1070.1 682.5 1068.5 680.5 1069.8C678.4 1071.1 676.2 1069.3 674.9 1069.5C671.1 1070.1 668.5 1070 664.9 1069.9L656.1 1069.9L649.8 1069.8L640.6 1070.4C637.7 1070.6 634.4 1069.4 631.6 1070.6C630.4 1070.5 628.5 1069.1 627.1 1069.9C624.8 1071.1 618 1070.6 612.1 1071.2L603.6 1071.9C606.3 1068.9 606.5 1065.1 608.1 1062.3C609.4 1060.1 609.5 1057.7 610.5 1055.7C612.8 1051 615.1 1043.5 615.9 1038.5C616.1 1036.9 617 1035.6 617.4 1033.7L619.3 1025.7C619.9 1023.2 620.4 1021 622 1018.9C620.2 1018 619.5 1016.5 618 1015.8L614.6 1014.3C617.6 1012.6 617.2 1010 618.2 1008.2C619.8 1005.5 621.9 1003.1 621.2 999.7C622.3 999.2 623.8 998.5 623.8 997.9L623.8 995C623.8 994 626.1 993.2 626.1 991.7C626.1 990 627.7 988.9 628.3 987.8C627.9 978.5 634.2 988.7 640.8 986.9C641.5 986.8 642.5 985.7 643.1 985.8C644.9 986 645.3 989.5 647.3 987.8C647.8 987.4 648.8 986.8 648.5 985.7C648.4 985 647.2 984.3 646.8 984C646.6 982.6 647.9 981.5 648.3 983.3C650.5 983.3 650.1 981.4 650.7 979.9L655.1 969.1L659.3 959.2C660.3 957 662 956.4 663.9 955.4C665.4 954.5 665.9 951.8 666.9 950.3C665.3 949.2 665.2 948 665.9 946.5L670.1 938.2C671.8 939 672.9 938.4 673.7 937.4C674.5 936.4 675.2 935.1 673.9 933.9C672.6 934.1 672.4 932.8 673.5 932.5C676.5 931.8 678.1 929.7 677.4 926.7C680.1 925.1 681.4 922.8 681 919.6C683.7 917.9 685.5 915.5 686 912.4C685.2 911.9 684.9 911.4 684.8 911C684.7 908.8 688.2 909.2 689 907.9C689.6 906.9 690 905.6 689.2 904.4L686.6 906.2C687.5 903.6 688.2 902 689.4 900C689.8 901 689.5 901.6 688.8 902.8C690.1 903.1 691.4 902 692.2 901.3C693.3 900.3 692.2 898.3 692.3 897.1L695.9 893.9C695.9 890.3 698.4 888.7 699.5 886.3C700.6 884.1 700.5 882.5 702.3 880.5L705.1 875.1C705.6 874.1 705.5 871.5 706.6 870.9C707.9 870.2 708.3 869.6 708.7 868.8C709.2 867.7 709.1 866.4 708.1 865.8L702.4 875.9C702.2 876.1 701.8 876.2 701.6 875.9L712.6 854.2C713.1 853.9 713.4 853.9 713.7 854L708.4 865.1C711.7 864.6 712.3 861.7 712.7 858.9C713.4 858.2 715.1 857.3 715.1 856.4C715.2 853.7 712 851.6 716.6 847.9L714.9 853C717.9 852.5 718.1 850.7 718.5 848.2L720.6 845.9C721.2 845.2 720.5 843.7 719.2 842.5C720.3 841.9 720.8 842.4 721.7 842.7L726.1 834.3C726.3 833.9 726.4 833.1 726.3 832.8C726.2 832.6 725.9 832.3 725 832.7C724.5 832.2 725.2 831.1 725.6 830.5C725.7 830.3 726.1 830.2 726.5 830.3C721.7 827.5 717.6 823.9 714 819.8L713.2 821.3C710.3 826.4 707.9 830.7 705.3 835.9L702.6 841.3L694.9 855.4L691.7 861.8L688.6 867.1L686.1 873.2C683.6 876 681.8 877.5 682 881.5C680.8 883.4 678.6 886 677.4 888.4L676.1 890.8C675.6 891.7 677.2 892.7 677.5 893.4C677.7 895.2 675.4 897.2 674.1 897.6C671.5 898.4 672.1 901.1 671.3 902C668.9 904.8 667.9 907.4 666.5 910.7C665.8 912.4 664.7 913.4 664.1 915.9C663.7 917.8 660.4 920 661.9 923.3C658.5 924.5 657.3 926.9 658 930.1C655.3 932.2 653.9 935 654.4 938.4C651.7 940.1 650.8 942.4 651.1 945.5C649.1 945.8 647.8 947.7 648.2 949.3C648.8 951.8 646.3 952.5 645.8 953.6C644.9 956.1 644.2 957.2 643.2 959.6L640.4 966.7C639.5 969 638.3 970 638.3 972.5L618.3 963C615.6 961.7 613.2 961.2 610.5 959.8L603.2 956.1L591.7 951L596.2 941.5L603 925.4L607.8 914.6C608.8 912.3 609.4 911.1 610.6 909.1C612.1 906.5 612.3 902.8 614.7 900.3L615.8 897.1C617.3 896 617.1 893.4 617.8 892.3C620.6 887.7 623 881.9 625.4 876.6L628 871.1C629.2 868.5 630.2 866.7 630.9 864.1C631.8 863 632.8 861.1 633.6 859.5L639.3 847.4L653.7 818.4C654.7 816.2 655.1 814.8 656.5 812.4L663.1 801.2L671.1 796.6C673.3 795.4 674.4 794.1 676.7 792.9C677.2 792.6 677.9 792.2 678.7 791.8C675.1 791.9 671.6 792.2 668 792.7C663.4 793.4 658.8 794.5 654.4 796C650.2 797.5 646.1 799.5 642.4 802.1C638.7 804.6 635.5 807.7 632.7 811.2C635 811.1 637.4 810.7 639.9 809.8L637.3 814.9C636.3 816.9 635.8 818.8 634.8 820.6L632.1 826.1C629.9 830.5 627.1 836.4 626.1 837.8C624.4 840.1 624.3 842 623.3 844.2C621.2 848.7 618.6 852.7 617.4 857.6C616.9 859.4 615 860.8 614 862.3L614.2 866.2C610.9 867.6 609.5 870.4 610.1 873.9L606.1 878.6C607.5 885.9 600.2 885.9 602.5 891.3C598.3 894.6 597.5 900 595.5 904.5C593.6 908.8 590.4 914.3 590.1 917C589.9 918.2 588.9 920.7 588.2 921.8C586.9 923.6 586.6 926 585.6 928.1L582.9 933.7L581.1 939.2C580.3 941.6 579.1 942.7 578.7 945.3L574.9 953.1C574.6 956.4 578.5 959.4 581.1 960.2C582.1 962.4 579.3 963.9 579.1 965.2C578.5 967.8 577.5 969 576.6 971.1C575.4 973.8 575 976.4 573.1 978.9L569.6 986.3C564.8 980.4 565.7 990 558.9 988.3L563.9 986.2C560.9 985.2 557.9 986.7 554.8 987.1L551.5 985.7C550.5 985.2 549.6 986.9 548.6 987.9C547.3 989.3 544.9 988.2 543.2 988.4L537.9 989.2L534.9 987.4C533.6 986.7 532.5 988.2 531.4 988.6C527.7 989.5 524.2 988.2 520.5 987.9L518.6 988.5C517.7 988.8 516.7 985.9 514.8 985.4C514.1 985.2 512.8 986.3 511.9 986.9C509.6 985.9 506.6 984.9 504.5 986.7C504 986.2 503.4 985.8 503.4 985.5C503.4 985.3 504.5 985 505 984.9C504.5 983.8 503.3 983.4 502 983.3C498.9 983 493.6 978.4 490 975.2C489.3 974.8 487.5 974.7 486.5 974.6C485.6 971.8 483.4 971.6 481.4 970.6C477.1 968.5 469 966 466.4 966.8C464.8 967.2 462.7 966.1 460.8 966C455.2 970.4 449.9 968 446.6 972.7C444.8 972.9 443.5 973.3 443.4 975.4C443.3 976 443.1 976.7 442.7 977.1C442.3 977.6 441.2 977.4 440.6 977.3C437.3 977.1 438.1 981.5 436.9 982.8C435.4 984.3 432.7 984.9 433.1 988.2C433.3 990.2 432.3 992.5 430.3 993.5L430.1 999.2C430 1000.3 429.1 1001.3 429.6 1002.5C429.9 1003.2 430.8 1003.9 432.1 1004.1L431.9 1007.2L430.4 1004.4C428.5 1005.1 428.4 1006.3 428.8 1007.7C429.2 1008.8 429.7 1010.6 431.7 1010.2C432.2 1010.1 432.8 1009.7 433.3 1010.1C434 1010.7 433.9 1011.1 433.1 1011.8C431.8 1012.9 432.6 1014.1 433.2 1014.6C434.3 1015.8 435.2 1016.4 437.1 1015.5C436.8 1014.3 436.2 1013.9 435.5 1012.8C436.9 1012.8 437.2 1013.6 437.8 1014.4C438.4 1015.3 437.5 1016.5 437.3 1017.3C436.8 1020.5 440.5 1020.2 441.9 1020.8C443.6 1023 445.3 1026 448.8 1027.1L455.7 1032C456.9 1034.1 458.8 1035 461.1 1034.8C463.1 1037.3 465.5 1039.1 468.8 1039.2C470.6 1042.4 474 1044.6 477.7 1043.6C478.1 1045 478.5 1045.9 479 1046.5C479.8 1047.5 481.6 1046.7 482.5 1047.2L491.6 1052.6C492.2 1053 494.6 1052.1 494.9 1052.9C496.2 1056.2 499.2 1055.1 501.2 1056C503.3 1057.1 504.4 1060.3 507.6 1058.3C509.4 1061.8 513.4 1062.4 516.9 1062.5L522.9 1066.3C524 1066.9 525.7 1066.7 527 1066.5C527.6 1069.9 530.4 1068.6 532 1069.3L538.9 1072L545.9 1074.7L555 1077.1C552 1079.4 548.4 1076.6 543.8 1079C540.2 1077.8 537.5 1078.7 534.1 1079.2L528.2 1080.1C525.4 1080.5 522 1079.9 519.6 1081.8C520.8 1082.1 521.7 1082.4 521.9 1083.4L514.5 1084.1L514.6 1083.2C515.6 1083 516.7 1083.3 517.9 1082.2C517.2 1081.2 515.8 1081.1 515.1 1081.5C514.5 1081.7 514 1082.4 513.5 1083.6C512.1 1081.6 509.1 1081.4 507.2 1083.1L502.5 1087.2L507.6 1087.3C509.9 1087.3 512.1 1086.1 513.9 1088C515.7 1090 517.7 1088.1 519 1087.3C522.9 1087.4 527.4 1088 531.4 1089.1L538.5 1088.8C540.1 1088.7 541.2 1088.9 542.9 1088.6C544.1 1088.3 545.9 1091.6 547.9 1090.1C549.9 1088.5 552.2 1088.6 554.4 1090C557.1 1091.8 560.3 1089.8 563 1089.7C564.6 1089.7 566.5 1090.9 568 1088.9C571.8 1091.3 576.5 1090.2 580.7 1090C583.2 1089.8 585.6 1090.8 588 1089.3C591.6 1087.1 598.3 1093.3 605.4 1087.9C606.2 1089 607.4 1089.8 608.1 1089.8C609.4 1089.8 610.5 1089.3 611.7 1087.6C613.7 1090.9 616.5 1089 618.8 1089.3C621.5 1089.5 622.7 1089 625 1088.7C626.7 1088.6 629.7 1090.4 632.3 1089.4C641 1086.2 647.9 1091.8 655.5 1087.6C657 1088.2 658.9 1088.3 660.8 1088.4L668.7 1088.6C670.6 1088.7 672.6 1087.6 674 1087C675.8 1088.3 677.8 1087.3 679.2 1087.1C682.3 1087.9 685.6 1089.3 688.4 1086.2C684.9 1084.1 680 1087.9 681.3 1084.7L695.3 1084.1C697.5 1086.7 700.9 1088 704 1086.3C704.6 1086 706.4 1086.9 706.1 1084.8C703.1 1085.1 700 1086.6 696.9 1084.4L713 1083.3C712.3 1085.7 710.2 1085.4 708.3 1084.9C706.5 1084.7 706.8 1086.5 708.1 1086.4L714.2 1085.9C716.3 1085.7 724.4 1087.9 726.4 1084.1C722 1084 718.5 1085.4 714.1 1084.1C716.2 1082.8 718.5 1083.3 721.1 1082.9L724.7 1081.2C725.4 1082.1 726.1 1082.7 726.7 1083C727.5 1083.2 729.3 1082.8 729 1082.1L728.6 1080.9C728.5 1080.7 729.9 1080.3 730.3 1080.5C730.6 1080.7 730.5 1081.3 730.3 1081.9C731.2 1082.3 732 1082.5 733.1 1081.8C732.8 1081.5 732.3 1081.2 732.1 1081.2C731.5 1081.1 731.3 1080.6 731.5 1080.2C731.9 1079.6 732.4 1079.8 732.7 1079.8C733.4 1080 734.5 1083.7 734.7 1081.5C734.8 1081 735 1080.6 735.2 1080.2C735.3 1080 735.9 1080 736 1080.2C736 1080.5 735.7 1081.3 735.4 1081.9L739.7 1081.8C741.6 1080.3 743 1079.1 746.2 1079.3C742.6 1076.9 739 1076.8 735.1 1077.9";
|
|
9
|
+
/** Back leg, bent, hip at (800, 840). */
|
|
10
|
+
export const BACK_LEG_PATH = "M1057.4 874.6C1057.3 881.2 1053.3 886.9 1048.4 890.3C1046.9 888.1 1048.8 886.2 1048.9 885.1C1049.2 882.6 1049.9 878.5 1049.3 875.5L1046.2 860.7L1045.1 856.1C1040.2 836.2 1030.7 818.1 1020 800.8L1016.4 795.5C1014.3 792.6 1011.8 790.3 1010.1 788C1008.8 786.2 1007.9 784.1 1006.2 782.1C1001.4 776.8 997 771.5 991.4 767.1L980.5 758.5C975.6 754.7 970.5 752.2 964.2 750.3L970.2 742.5C978.7 744.6 985.8 748.7 991.9 754.4L1004.8 766.5L1009.4 771.5L1018.6 782.6L1023.7 789.6L1027.2 794.9L1030.6 800.5L1034.4 806.1C1036 808.5 1036.3 810.3 1037.6 812.9L1041.2 819.8C1042.3 821.9 1043.1 824.1 1045.1 825.5C1044.7 827 1045.6 828.5 1046.2 830.1L1052.4 846.3L1054.4 852.2C1055 854 1053.7 857.3 1056.8 859.1C1055.6 863.1 1056.1 866.6 1058.5 869.7C1055.9 871.1 1057.4 873 1057.4 874.6M1045.6 891.4C1043.5 893.8 1033 890 1030 887.4L1025.8 883.7C1021.3 879.9 1018.5 873.6 1015.3 868.5L1020.8 863.3L1027.7 858C1029.4 856.6 1032.8 856.4 1034.1 854.3L1033.6 852.9C1033.5 852.7 1034.4 852.4 1034.7 852.4C1035.2 852.5 1036.9 857.4 1038.1 861.5L1040.9 871.1C1041.3 872.8 1043.9 873.6 1042.1 876.1C1040.5 878.2 1045.4 882.1 1044.3 885.6C1045.1 887.1 1047 889.7 1045.6 891.4M1010.4 859.9L1004.2 850.3L1009.9 843.9C1009.7 843.4 1009.4 842.8 1009.4 842.5C1009.4 842.2 1010.2 841.2 1010.4 841.4L1011.5 842.7C1013.6 840.7 1015.9 837.6 1017 834.7C1017.8 832.7 1016.1 831.7 1015.2 830.5C1010.4 824.8 1003.7 835.4 997.4 842L993.5 836.5C992.2 834.6 1000.3 830.3 999.9 822.9C1001.4 823.3 1002.4 823.6 1003.1 823.3C1003.8 823.1 1007.3 817 1003.1 813.4C1002.4 812.9 1001.7 811.9 1000.7 811.9C1000.9 811.9 995.1 813.8 994 815.7L987.3 826.7C986.9 827.4 986.8 829.1 985.8 829.6C985.1 829.9 983.8 828.8 982.8 828C980.5 825.8 982.7 821 979.7 814.3L976.6 807.6L972 801.1C969.6 797.7 966.2 794.6 962.7 792.7L957.8 790L951.6 787.6L943 786.2L947.4 778.7L951 772.4L954.5 767.1L959.8 757.7C967.9 761.8 975.7 765.4 981.9 771.8L1000.6 790.9L1007.3 799.5C1011.5 804.9 1013.9 810.1 1017.4 813.1C1017.8 814.4 1018.5 816.5 1019.4 818.2L1029.8 838.5C1031 840.8 1032.2 842.4 1031.9 845.5C1028.5 844 1026.6 846 1024.2 847.2C1021.1 848.8 1019 850.2 1016.6 852.8C1014.5 855.1 1011.6 856.7 1010.4 859.9M1071.4 871.7C1067.8 867.2 1073.1 864 1067.4 858.4C1069.7 855 1068 852.6 1065.8 850.1C1066.8 848 1066 846.3 1065 844.4C1064 842.1 1064.6 838.5 1060.5 837.4C1061.7 835.6 1061.8 834.5 1061.7 833C1061.7 831.8 1060 830.6 1059 829.8C1060.2 825.9 1054.8 821.7 1054.5 818.9C1054.2 816.3 1052 814.2 1051.5 812.4C1050.5 808.7 1048.7 806.6 1046.1 804.4C1045.8 802.5 1046.3 798.1 1043.3 797.7C1042.9 797.6 1042.3 798.6 1042.3 798.9C1042.2 799.4 1040.8 799 1041.6 797.9C1039.6 796.2 1040.3 794 1040 792.1C1039.3 788.2 1035.3 786.1 1033.5 783.2C1032.2 781.3 1032 780 1030.4 778L1025.2 771.2C1024.4 770.2 1021 770 1021.1 768.5C1021.2 766.5 1021.4 765.5 1020 763.9C1018.8 762.6 1017.4 762.4 1015.2 762.4C1014.7 760.8 1014.5 757.1 1012.7 756.3C1011.8 755.9 1009.2 756.4 1008.9 755.1C1008.4 752.8 1008 750.3 1005.5 749.5C1005.3 750.2 1004.3 750.7 1003.6 750L999 745.2C997 743.1 996 742.9 994.1 741.7L985 736.2C981.7 734.1 978.7 733.4 974.6 732.7C973.5 732.5 972.2 730.8 970.6 732.7C970.5 732.9 969.5 732.8 969.6 732.6L970.1 731.1C970.5 730.2 968 729.8 967.1 730.1C966 730.6 965.4 732.2 965.1 733.6C961.4 733.2 960 736.2 958 738.2C955.5 740.9 954.4 743.2 952.7 746.1L946 757.1L941.9 764.4L936.7 774.4C933.1 781.5 926.8 792.2 930.2 794.3C933.8 796.5 937.9 797.9 942.3 797.7C943.5 797.2 944 798.5 942.8 798.9L937.2 806.3L935.7 808.6C935 809.6 933.2 808.6 932.3 808.3C929.4 809.1 927.2 810.9 924.6 812.5L923 816.5C920.3 817.6 919.7 819.9 917.9 821.9L911.7 828.6L907 833.5L901.6 839.4C898.7 842.6 896.3 845.3 893.5 848.3L888.1 854.3L881.8 860.6L873 870.4C870.5 865.4 865.9 860.7 862.6 856.3L845.6 833.6L841.3 827.9C840.5 826.7 837.9 826.1 837.9 823.6C837.8 821 834.9 821 833.5 820.6C832.3 818.6 831.6 815.5 827.7 814.7C830.6 812.4 832.1 810.4 833.5 807.9C831.4 809 829.3 810.3 827.4 811.7C823.7 814.6 820.6 818.2 818.1 822.2C817.3 823.4 816.6 824.6 816 825.9C817.1 825.3 818.3 824.6 818.9 823.6C820.1 823.7 822 824.6 823.3 823.7C823.6 824.9 822.8 825.8 822.5 826.5C823 829 825.9 829.8 826.9 831.3C827.5 833.5 827.8 836.6 830.3 836.9C830.5 836.7 830.9 835.6 831.2 835.7C831.4 835.8 831.8 836.2 832 836.4C832.2 836.8 831.8 837.2 831.7 837.6C831 840.4 833.2 842.7 836.2 843.1C835.8 846.1 836.8 848.5 840 849C839.5 852.1 842.1 852.8 843.4 854.4C844.8 856.1 845.1 858.2 847 859.8C851.6 863.5 851.8 868.6 855.9 869.5C856 872.8 857.8 874.3 860.5 876.4C862.1 877.6 863 881.3 866.4 880.6C867.7 880.4 869.1 880.4 870.1 881.8C870.4 879.2 871.6 878 873.4 876.8C874 878.9 875.4 879.9 877.2 880.3C877.2 880.9 877.1 881.5 877.3 881.8C877.6 882.7 878.6 882.1 879 881.9C882.7 880.1 879.9 876.7 885.5 874.5C884.9 875.5 883.9 876.3 884 877.5C886.9 876.8 888.1 873.8 889.7 872.3L895.6 866.6C899.8 862.5 903.3 858.2 907.2 853.9C909.3 851.6 913 849.1 912 845.5C912 845.2 913.5 843.7 913.5 844C913.4 844.4 915.1 845.6 915.4 845.2L921.2 839L926.1 833.2L933.8 824.6C940.5 829.7 946 836.2 952.2 842.9L942.3 855.2L938.5 860.3L931.8 868.8L927.4 874.2L922.8 880L916.5 887.5L901.8 904.2C895 912 887 918.2 878.1 923.2C874.7 925.1 871.5 925.8 867.9 926.9C861.5 928.8 860.9 925 858.6 925.9C857.9 926.1 857.6 926.9 856.1 928.2C855.9 924.7 854.2 924.6 852.1 923.1L846.9 919.5L834.6 908.5L823 897.3L774.8 848.7C776.2 848.5 777.5 848.3 778.7 848C778.2 848 777.7 848 777.3 848C772.6 848.1 767.8 848.4 763.2 849.4C759.3 850.2 755.3 851.5 752.2 854.1C752 854.3 751.8 854.4 751.6 854.6C753.3 854.3 754.9 853.6 756.6 852.9C761.8 853.5 760.8 860.8 765.9 861.2C766.8 863.6 768 865.9 770.6 867.5L772.5 870L776.1 869.9C776.2 871.8 775.9 873.1 777.2 874.2C778.4 875.3 779.3 875.9 781.2 875.1C781.3 879 783.7 881.4 786.9 882.8C787.9 885 789.4 886.8 792.2 887.1C792.2 889.7 793.4 891.5 796 892.1C797.3 895.1 800.2 896.1 801.8 898.4L804 901.5L807.5 901.6L807.9 904.9L811.1 907.1C812.3 909.9 815.8 911.4 817.9 913C819.4 914.1 819 919.6 822.6 918.5C824.1 918.1 823.9 917.1 825.6 918.7C827.2 920.1 825.5 920.4 825.4 921.7C825.2 923.5 827.8 924.8 829.1 925.4C829.9 924.7 830 923.9 830.4 923.1L838.1 930.6C840.1 932.6 839.7 933.8 842.6 934.8C845.1 935.7 847.8 940.4 850.8 940L855.4 939.3C857.9 943.2 862.4 943.6 866.3 940.8C870.3 943.4 875.4 943.3 877.9 939.1C884.3 938.6 885.4 933.3 887.7 936.5L898.1 929C900.2 927.4 901.7 926.3 903.6 924.5L911 917.6L921.5 906.3C922.3 905.4 923.8 904.7 923.7 903.8L923.4 901C924.1 899.2 925.4 898 926.8 896.4C927.8 896 928 897.5 927.1 898C926.3 898.9 927.2 899.7 927.9 899.1L932.4 893.7L933.9 892.3C934.6 891.7 934.8 890.4 933.7 890C933.3 890.2 932.4 890.3 932.5 890.1L933.1 888.5L937 888.7C937.2 885.8 939.6 884.6 940.9 882.9L945.5 876.9L948.4 870.9C952.6 871.1 952.6 866.2 954.2 864.6C956.3 862.7 957.1 861.2 959 858.7L964.6 851.4C966 849.5 969.1 847.9 967.2 844.5C967.6 843.5 969.6 843.2 970.1 842.6L975.6 835.7C977.5 836.1 980.3 837.4 981.3 839.1C981.3 840.1 980.4 841.9 981.3 842.9C983.7 846 986.3 842.5 989.5 846.5L992.9 850.7C991.9 852.4 991.8 853.8 992.5 855.8C993 857.2 995.2 856.9 996.7 857L1003.6 866.2C1003.8 866.5 1005.2 866.5 1005.3 866.8C1005.5 867.2 1004.3 868 1004.1 868.4C1003.3 871.3 1007.5 872.5 1008.5 874.1L1012.7 880.7L1015.5 885.1C1016.8 887.2 1018.1 888.5 1020.1 890.2L1027 896.1L1031.3 899.2C1036.1 902.8 1043.2 903.3 1049 902.2L1051 900.5L1053.1 901.6C1054.4 902.4 1057.4 900.6 1057.3 899.2L1057.2 896.9L1059.1 895.2C1061 893.5 1058.9 897.3 1059.9 897.6C1060.3 897.8 1061 897.8 1061.4 897.3L1066.2 890.4C1068.8 888.3 1067.7 886.6 1068.2 884.2C1068.6 882.2 1071.6 880.1 1069.1 877.2ZM1071.4 871.7";
|
|
11
|
+
/** Pants interiors, so the near leg hides the far one where they cross. */
|
|
12
|
+
export const FRONT_PANTS = "668,800 712,826 645,975 585,948";
|
|
13
|
+
export const BACK_PANTS = "760,855 862,935 958,832 935,797 875,878 818,818";
|
|
14
|
+
/** Keeps the W above its real bottom edge (hand-traced), dropping the pants-top stubs. */
|
|
15
|
+
export const BODY_CLIP = "410,390 410,1110 560,1110 560,871 592,878 607,877 627,871 660,851 687,827 704,845 714,853 735,866 760,872 772,873 810,866 837,848 849,838 866,813 880,787 880,1110 1090,1110 1090,390";
|
|
16
|
+
/** Hides the legs behind the W: they show only below its bottom edge. */
|
|
17
|
+
export const LEGS_CLIP = "200,390 530,390 530,846 560,856 592,863 607,862 627,856 660,836 714,838 735,851 760,857 772,858 810,851 837,833 849,823 866,798 880,772 884,390 1090,390 1090,1110 200,1110";
|
|
18
|
+
/** Cuts the ground line off the front shoe. */
|
|
19
|
+
export const FRONT_CLIP = "0,0 1500,0 1500,1067 606,1067 602,1078 0,1078";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const RUNNER_CSS = "\n.wb-runner{--wb-runner-step-default:0.32s}\n.wb-runner-pants{fill:var(--wb-runner-pants,Canvas)}\n.wb-runner-bob{animation:wb-runner-bob var(--wb-runner-step,var(--wb-runner-step-default)) ease-in-out infinite}\n.wb-runner-hip-front{animation:wb-runner-hip-front calc(var(--wb-runner-step,var(--wb-runner-step-default)) * 2) linear infinite}\n.wb-runner-hip-back{animation:wb-runner-hip-back calc(var(--wb-runner-step,var(--wb-runner-step-default)) * 2) linear infinite}\n.wb-runner-swing-front{animation:wb-runner-swing-front calc(var(--wb-runner-step,var(--wb-runner-step-default)) * 2) linear infinite}\n.wb-runner-swing-back{animation:wb-runner-swing-back calc(var(--wb-runner-step,var(--wb-runner-step-default)) * 2) linear infinite}\n@keyframes wb-runner-hip-front{0%,100%{animation-timing-function:ease-in;transform:translate(700px,780px)}25%,75%{animation-timing-function:ease-out;transform:translate(750px,795px)}50%{animation-timing-function:ease-in;transform:translate(790px,805px)}}\n@keyframes wb-runner-hip-back{0%,100%{animation-timing-function:ease-in;transform:translate(800px,810px)}25%,75%{animation-timing-function:ease-out;transform:translate(750px,795px)}50%{animation-timing-function:ease-in;transform:translate(710px,785px)}}\n@keyframes wb-runner-swing-front{0%,100%{animation-timing-function:ease-in;transform:rotate(30deg) scale(1,1)}25%,75%{animation-timing-function:ease-out;transform:rotate(-36deg) scale(1,.82)}50%{animation-timing-function:ease-in;transform:rotate(-102deg) scale(.85,.85)}}\n@keyframes wb-runner-swing-back{0%,100%{animation-timing-function:ease-in;transform:rotate(-45deg)}25%,75%{animation-timing-function:ease-out;transform:rotate(39deg)}50%{animation-timing-function:ease-in;transform:rotate(123deg)}}\n@keyframes wb-runner-bob{0%,100%{transform:translateY(-14px)}50%{transform:translateY(6px)}}\n@media (prefers-reduced-motion:reduce){\n.wb-runner *{animation:none!important}\n.wb-runner-hip-front{transform:translate(700px,780px)}\n.wb-runner-hip-back{transform:translate(800px,810px)}\n.wb-runner-swing-front{transform:rotate(30deg)}\n.wb-runner-swing-back{transform:rotate(-45deg)}\n}";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* RunnerLoader cycle, shipped inside the SVG as a <style> element so apps need
|
|
3
|
+
* no CSS import. One step = --wb-runner-step; a full stride is two steps.
|
|
4
|
+
* Each leg keeps its own drawing and swings through the other: they meet under
|
|
5
|
+
* the body at 25% / 75%, overlap, then separate. Rotations are about each hip.
|
|
6
|
+
* Swing from vertical: front leg 66° forward / 66° back, back leg 84° / 84°.
|
|
7
|
+
* Every instance repeats the same rules; the duplicates are identical.
|
|
8
|
+
*/
|
|
9
|
+
export const RUNNER_CSS = `
|
|
10
|
+
.wb-runner{--wb-runner-step-default:0.32s}
|
|
11
|
+
.wb-runner-pants{fill:var(--wb-runner-pants,Canvas)}
|
|
12
|
+
.wb-runner-bob{animation:wb-runner-bob var(--wb-runner-step,var(--wb-runner-step-default)) ease-in-out infinite}
|
|
13
|
+
.wb-runner-hip-front{animation:wb-runner-hip-front calc(var(--wb-runner-step,var(--wb-runner-step-default)) * 2) linear infinite}
|
|
14
|
+
.wb-runner-hip-back{animation:wb-runner-hip-back calc(var(--wb-runner-step,var(--wb-runner-step-default)) * 2) linear infinite}
|
|
15
|
+
.wb-runner-swing-front{animation:wb-runner-swing-front calc(var(--wb-runner-step,var(--wb-runner-step-default)) * 2) linear infinite}
|
|
16
|
+
.wb-runner-swing-back{animation:wb-runner-swing-back calc(var(--wb-runner-step,var(--wb-runner-step-default)) * 2) linear infinite}
|
|
17
|
+
@keyframes wb-runner-hip-front{0%,100%{animation-timing-function:ease-in;transform:translate(700px,780px)}25%,75%{animation-timing-function:ease-out;transform:translate(750px,795px)}50%{animation-timing-function:ease-in;transform:translate(790px,805px)}}
|
|
18
|
+
@keyframes wb-runner-hip-back{0%,100%{animation-timing-function:ease-in;transform:translate(800px,810px)}25%,75%{animation-timing-function:ease-out;transform:translate(750px,795px)}50%{animation-timing-function:ease-in;transform:translate(710px,785px)}}
|
|
19
|
+
@keyframes wb-runner-swing-front{0%,100%{animation-timing-function:ease-in;transform:rotate(30deg) scale(1,1)}25%,75%{animation-timing-function:ease-out;transform:rotate(-36deg) scale(1,.82)}50%{animation-timing-function:ease-in;transform:rotate(-102deg) scale(.85,.85)}}
|
|
20
|
+
@keyframes wb-runner-swing-back{0%,100%{animation-timing-function:ease-in;transform:rotate(-45deg)}25%,75%{animation-timing-function:ease-out;transform:rotate(39deg)}50%{animation-timing-function:ease-in;transform:rotate(123deg)}}
|
|
21
|
+
@keyframes wb-runner-bob{0%,100%{transform:translateY(-14px)}50%{transform:translateY(6px)}}
|
|
22
|
+
@media (prefers-reduced-motion:reduce){
|
|
23
|
+
.wb-runner *{animation:none!important}
|
|
24
|
+
.wb-runner-hip-front{transform:translate(700px,780px)}
|
|
25
|
+
.wb-runner-hip-back{transform:translate(800px,810px)}
|
|
26
|
+
.wb-runner-swing-front{transform:rotate(30deg)}
|
|
27
|
+
.wb-runner-swing-back{transform:rotate(-45deg)}
|
|
28
|
+
}`;
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@welcome-back/brand",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "WelcomeBack brand assets for React apps: the running-W loader.",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/WelcomeBackLoyalty/brand.git"
|
|
9
|
+
},
|
|
10
|
+
"type": "module",
|
|
11
|
+
"sideEffects": false,
|
|
12
|
+
"main": "./dist/cjs/index.js",
|
|
13
|
+
"module": "./dist/esm/index.js",
|
|
14
|
+
"types": "./dist/esm/index.d.ts",
|
|
15
|
+
"exports": {
|
|
16
|
+
".": {
|
|
17
|
+
"types": "./dist/esm/index.d.ts",
|
|
18
|
+
"import": "./dist/esm/index.js",
|
|
19
|
+
"require": "./dist/cjs/index.js"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"dist"
|
|
24
|
+
],
|
|
25
|
+
"scripts": {
|
|
26
|
+
"build": "rm -rf dist && tsc -p tsconfig.build.json && tsc -p tsconfig.cjs.json && node scripts/mark-cjs.mjs",
|
|
27
|
+
"typecheck": "tsc --noEmit",
|
|
28
|
+
"test": "vitest run",
|
|
29
|
+
"prepublishOnly": "npm run typecheck && npm test && npm run build"
|
|
30
|
+
},
|
|
31
|
+
"peerDependencies": {
|
|
32
|
+
"react": ">=18"
|
|
33
|
+
},
|
|
34
|
+
"publishConfig": {
|
|
35
|
+
"access": "public"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/react": "^19.3.0",
|
|
39
|
+
"@types/react-dom": "^19.3.0",
|
|
40
|
+
"react": "^19.3.0",
|
|
41
|
+
"react-dom": "^19.3.0",
|
|
42
|
+
"typescript": "^5.9.3",
|
|
43
|
+
"vitest": "^3.2.7"
|
|
44
|
+
}
|
|
45
|
+
}
|